메뉴 건너뛰기

SAP 한국 커뮤니티

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

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


 


 


도움이 되시길...

번호 제목 글쓴이 날짜 조회 수
653 <b>[완료]</b>운영자님 여줘볼게 있습니다.. ^^ [6] 비안개 2007.09.21 1787
652 [BC] 테이블 생성시 해당 필드의 길이가 CHAR 1000 인 경우 [8] GG 2007.09.21 3192
651 [re] [BC] 테이블 생성시 해당 필드의 길이가 CHAR 1000 인 경우 file 지의 2007.09.21 2901
650 selet-options 질문입니다. [8] ccc 2007.09.21 1744
649 [re] selet-options 질문입니다. [4] file bd 2007.09.21 1687
648 SM37에서 배치관련된 질문입니다. 백그라운드 잡과 포그라운드 잡의 차이를 알려주십시오. [2] 나도아밥퍼 2007.09.20 2137
647 테이블에 대한 질문입니다. [3] bd 2007.09.20 1893
646 <b>[완료]</b>ALV Class 구현 중에.. 여줘볼께 있습니다. [5] file 비안개 2007.09.20 2039
645 <b>[완료]</b>[re] ALV Class 구현 중에.. 여줘볼께 있습니다. 비안개 2007.09.20 2750
644 BC영역일수도 있는데. 테이블에 대한 날짜별 쿼리목록을 볼수 있을까요? 윤군친구(bsp개발자) 2007.09.19 1854
643 [문의] alv 출력시 컬럼수를 dynamic하게하는 방법 [2] GG 2007.09.19 1835
» [re] alv 출력시 컬럼수를 dynamic하게하는 방법 현군친구 2007.09.19 3862
641 sap 내에 유지보수 뷰 리스트를 알고 싶은데요....혹시 볼수 있는 t-code나 다른 방법이 있는지 알려주십시오. [6] 나도아밥퍼 2007.09.19 3024
640 <b>[완료]</b> [2] bd 2007.09.18 1714
639 internal 테이블에 값 넣는 질문입니다. [5] ccc 2007.09.18 1753
638 sql 질문입니다.. 뭔가가 잘 못된거 같은데.. 뭔지 잘.. [11] 달이랑 2007.09.17 3422
637 BDC 프로그램에서 에러메시지 [8] 이지연 2007.09.17 3783
636 필드 체크에 관한 질문입니다. [3] 이지연 2007.09.17 1985
635 [re] 필드 체크에 관한 질문입니다. [1] file sapjoy 2007.09.17 1716
634 BAPI_PO_CREATE1을 사용해서 PO생성시 납품일이 지정된 값으로 안됩니다. [1] 노력&성장 2007.09.15 2737