메뉴 건너뛰기

SAP 한국 커뮤니티

[re] alv 출력시 컬럼수를 dynamic하게하는 방법

현군친구 2007.09.19 18:52 조회 수 : 3896 추천:30

안녕하세요, 좋은 아침입니다.


 


제 생각으로는 두가지 정도의 방법이 있을거 같아요.


1. Max 값이 정해져 있을경우 전체 fieldcatalog를 생성한 뒤 fieldcat 옵션에서 no_out 을 이용하여 제어하는 방법


2. fieldcatalog 생성시부터 정해준 수만큼 생성하는 방법


 


경우에 따라 각각 장단점이 있겠습니다만... 아래는  2번 방법을 간단하게 구현해 봤습니다.


참조하세요.


 


 


 


 


DATA: lv_field01(10),
      lv_text01(20),
      lv_idx  TYPE i.     
     
DO gv_time TIMES.  "gv_times : 입력받은 col 수


  CLEAR : lv_field01, lv_text01, lv_idx.


  lv_idx = sy-index.



  CONCATENATE 'FIELD' lv_idx INTO lv_field01.  "필드명
  CONCATENATE '필드'  lv_idx INTO lv_text01.   "필드텍스트


 


  PERFORM set_fieldcat
   TABLES gt_fieldcat
    USING : lv_field01    lv_text01  'X' ''  '' '12' '' '' '' '' 'EA'.
   
ENDDO.


 


*&---------------------------------------------------------------------*
*&      Form  set_fieldcat
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*

FORM set_fieldcat  TABLES pt_fieldcat
                    USING value(p_field) value(p_text)  value(p_just)
                          value(p_key)   value(p_exit)  value(p_outlen)
                          value(p_noout) value(p_sum)   value(p_zero)
                          value(p_icon)  value(p_unit).


 


* COLUMN 위치
  STATICS  lv_pos TYPE i.
  IF gt_fieldcat[] IS INITIAL.
    CLEAR lv_pos.
  ENDIF.
  lv_pos = lv_pos + 1.


 


  CLEAR gs_fieldcat.



  gs_fieldcat-col_pos   = lv_pos.
  gs_fieldcat-fieldname = p_field.
  gs_fieldcat-seltext_m = p_text.
  gs_fieldcat-just      = p_just.
  gs_fieldcat-key       = p_key.
  gs_fieldcat-outputlen = p_outlen.
  gs_fieldcat-no_out    = p_noout.
  gs_fieldcat-do_sum    = p_sum.
  gs_fieldcat-no_zero   = p_zero.
  gs_fieldcat-icon      = p_icon.
  gs_fieldcat-quantity  = p_unit.


 


  APPEND gs_fieldcat TO pt_fieldcat.


 


ENDFORM.                    " set_fieldcat


 


 


실제 출력될 itab에 data를 넣는 과정은 아래처럼 field-symbol을 이용하시면 될거 같습니다.


 


CONCATENATE 'GT_ITAB-FIELD' lv_idx INTO fieldname01.
ASSIGN (fieldname01) TO < fs01 >.
< fs01 > = (Data Value).


 


 


도움이 되시길...

번호 제목 글쓴이 날짜 조회 수
367 <b>[완료]</b><b>[완료]</b><b>[완료]</b>리포트에서 프로그램 호출 [1] 아밥초보 2007.06.18 1780
366 Progress에 대해 문의 드립니다.^^ [4] 김지성 2007.06.18 1678
365 vmi실행하는 mrko 송장전기일 추가 user-exit을 못찾겠습니다. [1] 노력&성장 2007.06.16 2396
364 BDC중에서 테이블 컨트롤에 데이터 삽입하는 방법. [7] file 하늘만 2007.06.16 1812
363 <b>[완료]</b>ALV실행시 SELECT-OPTIONS에서 범위를 인식하지 않습니다. [1] 아법연수생 2007.06.15 1995
362 [BDC] Table Control에서의 스크롤 문제 [8] file 김지성 2007.06.15 3173
361 ALV 에 레코드 입력 및 삭제 에 대한 질문입니다. [2] 삽질인 2007.06.15 1762
360 module pool 프로그램에서 검색조건 varient 저장기능 구현방법 나침반친구 2007.06.15 2097
359 BDC 데이타 만드는 것에 대해 궁금합니다. [2] file 김지성 2007.06.15 1741
358 <img src=3.gif><b>[완료]</b>sql where절에 관한 질문좀 ^^ 할까 합니다. [4] 배우미 2007.06.15 1679
357 <b>[완료]</b><b>[완료]</b><b>[완료]</b><b>[완료]</b><b>[완료]</b><b>[완료]</b>VMI EXIT 편집해야하는 INCLUDE문 질문~ [2] 미랭 2007.06.14 1839
356 [re] 구매처 등록시 우편번호 필드에 팝업창 뛰우는 방법?? [6] file sapjoy 2007.06.14 1722
355 구매처 등록시 우편번호 필드에 팝업창 뛰우는 방법?? 왕초~삽질맨 2007.06.14 2997
354 MRKO(파이프라인 정산처리) EXIT찾는 방법 [1] 노력&성장 2007.06.14 1929
353 OK만 있는 confirm(Popup)창을 만들려고 합니다. [6] file 김지성 2007.06.14 3204
352 [re] [질문] transporting의 역활 좀 알고 싶습니다. [2] file sapjoy 2007.06.13 1902
351 스탠다드 화면 카피한 그대로 활성화 시켰는데 GUI쪽에서 에러가 납니다. [10] 정미영 2007.06.13 3027
350 [질문] transporting의 역활 좀 알고 싶습니다. [3] 나도아밥퍼 2007.06.13 5745
349 [re] context menu 관련 질문 입니다. [3] file sapjoy 2007.06.13 1789
348 Report 타입의 프로그램에 include문을 사용하면 M-type으로 변경되나요? [1] 정미영 2007.06.13 1798