메뉴 건너뛰기

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).


 


 


도움이 되시길...

번호 제목 글쓴이 날짜 조회 수
6247 [요청]ecc6.0 (unicode) 스마트 폼 pdf 처리 문제 양파 2008.06.23 4092
6246 <b>[완료]</b>sap에서 엑셀매크로 연동할때 궁금한 것이 있습니다. [4] mean 2008.01.10 4091
6245 <img src=2.gif>BDC FBV1 임시전표 생성하는데... [1] 파이냥 2010.04.12 4089
6244 <b>[완료]</b>[re] 개인pc에 SAP NetWeaver 2004s 설치방법에 질문입니다. [7] 로미오 2006.12.26 4087
6243 sy-dynnr이 몬가여? [6] 정미영 2007.04.19 4078
6242 <b>[완료]</b>OBLIGATORY가 정확히 어디에쓰이는지.. 어떤것인지 궁금합니다.. 허접한 질문임다...^^ [5] 아밥입문자 2008.01.17 4074
6241 <b>[완료]</b>smartform에서 새로운 page로 찍으려면 [7] file w 2007.12.04 4064
6240 BDC 프로그램에서 에러메시지 [8] 이지연 2007.09.17 4058
6239 고객 위탁 재고 Table에 대한 질문 [1] 소주와 막걸리 2007.03.05 4056
6238 <img src=3.gif border=0>RSQL 덤프(Error in module RSQL of the database interface) [3] file 스땐 2009.05.08 4046
6237 PS모듈 예산 관련 function 이 있나요? [4] 한마크 2011.04.02 4045
6236 [요청]Splitter container 어떻게 사용?? [4] Gwang Chul 2009.02.07 4044
6235 <img src=3.gif>KRW(통화)로 값이 보이게 하려면 어떻게 해야 하나요? [5] honey 2010.04.22 4042
6234 <img src=2.gif>[DBlink 한글깨짐] SAP에서 legacy DB의 data를 dblink로 select시 한글이 깨지네요.해결방법? [1] Happy~ 2011.02.17 4038
6233 GUI_DOWNLOAD 펀션을 사용하여, 엑셀파일 생성시 파일타입을 뭐로 줘야하나요? [2] 노력&성장 2007.07.10 4030
6232 [요청]수불부 관련 질문입니다. MLIT테이블에서 사용자정의한 이동유형그룹값이 들어오지 않습니다. 리브레 2009.03.06 4028
6231 [요청]SAP 프린터시 에러가 뜹니다. 무엇이 문제인가요? [2] file 양키 2009.02.03 4020
6230 <img src=3.gif>숫자와문자로 조합된 text를 넣으면 숫자만 나오게 하는 펑션 있나요? [5] 기쁨 2010.10.07 3999
6229 [요청]ALV 필드 사이즈 조정에 관한 질문입니다. [4] file SAP아가씨 2008.07.01 3996
6228 [요청]like line of과 type line of 차이는? [5] 로미오 2008.09.01 3989