메뉴 건너뛰기

SAP 한국 커뮤니티

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

현군친구 2007.09.19 09:52 조회 수 : 3769 추천: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).


 


 


도움이 되시길...

번호 제목 글쓴이 날짜 조회 수
328 DB테이블의 자료건수를 받을수 있는지.. [7] 아밥초보~ 2007.06.08 1964
327 code page 변환에 대한 질문과 정보?? 입니다. [1] bd 2007.06.07 2347
326 부탁드립니다. [2] 김태은 2007.06.07 1940
325 data type 에대한 질문 입니다. (Xstring , x) [1] bd 2007.06.07 2838
324 SET/GET Cursor에 대해 문의드립니다. [6] file 김지성 2007.06.07 3427
323 SE80에서 스탠다드 프로그램을 부른다는 것은?ㅠㅠ 알려주세용~ [1] 정미영 2007.06.07 1960
322 <b>[완료]</b>ALV Grid에서 Toolbar만 refresh 시키는 방법은 뭔가요? [2] 궁금해요. 2007.06.07 3726
321 ALV GRID가 아니라 LIST에서 CHECKBOX FIELD- Single로 check될 수 있도록 하는 방법 [3] 김화영 2007.06.07 2515
320 급합니다..스탠다드화면 카피 어떻게 하나요 [2] 정미영 2007.06.07 2011
319 web dynpro 한글 자료 없으시나요?? ㅠ.ㅠ [2] 기절하고파 2007.06.07 2021
318 [re] value테이블과 check테이블 차이가 뭔가요? [4] file sapjoy 2007.06.07 3665
317 value테이블과 check테이블 차이가 뭔가요? kyeinho 2007.06.07 2013
316 테이블 만들 때 에러 [4] file mean 2007.06.05 2429
315 [질문]select-option에 관련된 질문입니다. [1] 나도아밥퍼 2007.06.05 1739
314 [re] CALL METHOD cl_gui_frontend_services 에 관해서 [1] 하늘만 2007.06.05 1685
313 4.6와 ECC6.0 다른 문법 정리자료 요청 [1] BlackBean 2007.06.05 1968
312 [질문] class alv로 이렇게 표현이 가능합니까? [1] 나도아밥퍼 2007.06.04 1695
311 CALL METHOD cl_gui_frontend_services 에 관해서 [3] file 하늘만 2007.06.04 2149
310 assign 질문입니다. bd 2007.06.04 1896
309 BDC 생성시 수량필드 입력에 대해.. [2] file 김지성 2007.06.04 2207