메뉴 건너뛰기

SAP 한국 커뮤니티

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

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


 


 


도움이 되시길...

번호 제목 글쓴이 날짜 조회 수
650 [re] 외래키 질문임당.. [3] file sapjoy 2007.10.11 2969
649 <img src=2.gif>alv 화면에서 금액필드 sum 해서 보여줄때 마지막 sum값 보여줄때. [3] 태사성 2010.07.26 2971
648 [re] 고객 위탁 재고 Table에 대한 질문 [2] file sapjoy 2007.03.05 2973
647 OK만 있는 confirm(Popup)창을 만들려고 합니다. [6] file 김지성 2007.06.13 2973
646 <img src=3.gif>alv 그리드에서 라인에 색으로 강조할 수 있는지요... (field 가 아닌) [9] 태사성 2011.01.12 2973
645 <b>[완료]</b>테이블 컨트롤에서 신호등 어찌하면 되는건가요? [3] KAMEL 2008.10.06 2974
644 <img src=3.gif>조회화면에서의 특정 필드의 SCREEN-INPUT을 비활성 방법 문의 [4] 까마귀 2010.03.26 2974
643 <b>[완료]</b>db 테이블 삭제후 재생성시 오류.. [4] file 쭈삣 2008.03.12 2975
642 sap 내에 유지보수 뷰 리스트를 알고 싶은데요....혹시 볼수 있는 t-code나 다른 방법이 있는지 알려주십시오. [6] 나도아밥퍼 2007.09.18 2977
641 <img src=2.gif border=0>백그라운드 잡 생성 후 즉시 실행하는 방법. 병렬실행방법..? [5] sincere 2009.05.27 2978
640 CALL METHOD CL_ABAP_LIST_UTILITIES=>MEMORY_TO_DISPLAY 질문입니다. [4] bd 2007.05.28 2979
639 <img src=3.gif>Internal Table Delete에 관한 질문입니다. [3] Chaconne 2010.06.21 2985
638 [요청]인터널 테이블 선언시 헤더(header)가 없이 사용하는 경우는 어떨때 인가요? [7] okay맨 2009.02.10 2987
637 [요청]CALL FUNCTION Z_FS_B_test' DESTINATION 'local' 뜻이 궁금 합니다. [2] 별나라대마왕 2009.03.03 2987
636 질문이 있습니다. 프로그램 BC_ALVEXCEL처럼 SAP에 EXCEL을 연동시켜 데이터를 수정하고 싶은데 방법이.. [1] 초보보초보 2007.01.31 2989
635 <b>[완료]</b>abap에서는 2~3개 테이블조인을 권장하는데요..여러개일 경우에는? [5] 태양의맛썬칲 2007.12.29 2996
634 5. controls: tc_input type tableview using screen 100 sapjoy 2007.02.27 2997
633 <img src=3.gif>또다른 질문 엑셀 파일 컨트롤.... 선긋기 가능한가요? [7] 돌맹이 2010.04.21 2997
632 [re] loop at문과 cursor문에 관해.. file sapjoy 2007.03.22 2998
631 <b>[완료]</b>지수문자를 정수문자로 변경하는 함수에 관하여 문의드립니다. [2] 풍뎅이 2008.03.06 2998