메뉴 건너뛰기

SAP 한국 커뮤니티

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

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


 


 


도움이 되시길...

번호 제목 글쓴이 날짜 조회 수
327 <b>[완료]</b>데이터베이스 테이블의 엔트리 삭제는 어떻게하죠? [7] bizarre 2008.03.28 3688
326 RFC로 접속시 해당 사용자의 로컬 아이피 가져오는 방법.. [5] 하얀콩 2007.03.09 3689
325 <b>[완료]</b>펑션을 이용해 환율 정보를 알수 있는 방법에 대해 드립니다. [6] 열심히 2008.11.03 3692
324 <b>[완료]</b>Cluster tables은 INNER JOIN 이 안되는가요? [3] ABAP짱! 2008.02.27 3699
323 <b>[완료]</b>Number RANGE OBJEC 삭제는 어디서 하나요? [3] 예슬짱 2008.12.09 3701
322 <img src=3.gif>매크로 연동 워드 파일 PDF 파일로 변환하여 저장하기 [4] 고담 2010.07.23 3704
321 <b>[완료]</b>BATCH-JOB 돌린 결과를 SAP WORKPLACE 에 멜로 보내주기 [2] chanmaniac 2008.06.04 3715
320 <img src=3.gif border=0>다운로드 받는 파일에 공백 자리수 채우는 방법 [9] hccpi 2009.06.24 3716
319 <img src=3.gif>KRW(통화)로 값이 보이게 하려면 어떻게 해야 하나요? [5] honey 2010.04.21 3716
318 <img src=2.gif>[SAP 메뉴] 세팅관련 질문 드립니다. ^^ [6] file Jam 2010.11.30 3718
317 CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD [3] file bd 2007.07.18 3719
316 PS모듈 예산 관련 function 이 있나요? [4] 한마크 2011.04.01 3720
315 <b>[완료]</b>ALV Grid에서 Toolbar만 refresh 시키는 방법은 뭔가요? [2] 궁금해요. 2007.06.07 3722
314 <img src=3.gif>BAPI_INCOMINGINVOICE_CREATE 사용해 보신분요.. [2] 지니 2011.01.19 3729
313 <b>[완료]</b>OOP를 쓰는 이유와 ABAP에서도 OOP을 권장하는 이유는 무엇인가요? 또한 공부순서에 대한 질문.. [14] 카츠 2009.02.23 3730
312 <img src=3.gif>RFC Function을 사용하여 BDC 실행을 하는 도중 에러 문제.. [7] 파초선 2010.07.27 3734
311 <img src=3.gif>엑셀 업로드 시 이런경우가 발생할 수 있는지요. [7] 열공합시다 2010.12.29 3750
310 <img src=1.gif>bsp PCUI 상에서의 디버깅 질문드려요 슈릉 2011.04.01 3757
309 [re] <img src=2.gif>소수점 이하 0 지우기 (소수점 값이 없는 부분만 ) kkamui 2009.11.09 3760
» [re] alv 출력시 컬럼수를 dynamic하게하는 방법 현군친구 2007.09.19 3761