메뉴 건너뛰기

SAP 한국 커뮤니티

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

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


 


 


도움이 되시길...

번호 제목 글쓴이 날짜 조회 수
686 <b>[완료]</b>ALV에서 CheckBox로된 필드 선택시 Refresh 문의 [4] file 김지성 2007.10.15 2833
685 AT PF<NN>에 대한 질문입니다. [2] kms 2007.10.15 1442
684 Unix에서 파일을 읽어올때 에러가 나요... 정일환 2007.10.15 2114
683 SMARTFORMS - 미리보기에서 '아카이브' 버튼 [2] file 현군친구 2007.10.12 2229
682 <b>[완료]</b>Func ALV에서 라인별 control 질문 [5] w 2007.10.11 4126
681 SCREEN 질문입니다. [2] ccc 2007.10.11 1859
680 외래키 질문임당.. [3] order001 2007.10.11 1900
679 [re] 외래키 질문임당.. [3] file sapjoy 2007.10.11 2986
678 SCREEN-EXIT 문의(SD 판매오더 헤더) [3] GG 2007.10.11 2023
677 [filed] 금액필드인 curr을 사용했는데..소숫점 2자리까지 .. [3] 나도아밥퍼 2007.10.11 2517
676 현재 내가 사용중인 프로그램 목록을 볼 수 있는 티코드 좀 알려주세요. [1] happy~ 2007.10.11 1790
675 [쿼리]space값은 어떻게 커리로 하는지 알고 싶습니다. [2] 나도아밥퍼 2007.10.11 1926
674 DELETE ADJACENT DUPLICATES FROM이 안먹어요. [2] kms 2007.10.10 3333
673 SAVE_TEXT [1] 벤벤토 2007.10.09 1807
672 <b>[완료]</b>TYPE P 에 대한 질문입니다. [4] SSong 2007.10.09 1738
671 입력받은 숫자만큼 인터널 테이블의 필드수를 정의하는 방법 [5] GG 2007.10.09 2016
670 소계에 대해 문의한게 없네요.. 하나있던데.. 원하는 답변이 아니라 질문합니다. [2] 비안개 2007.10.08 2426
669 Layout screen에서 Input field에 강제로 search help를 달고 싶은데... [2] 기절하고파 2007.10.09 2084
668 FTP연동에관한 file uplode [1] 윤군친구(bsp개발자) 2007.10.06 2025
667 LIST_TOO_MANY_LPROS Runtime Error 질문입니다. [2] 이상현 2007.10.05 2888