메뉴 건너뛰기

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


 


 


도움이 되시길...

번호 제목 글쓴이 날짜 조회 수
687 [요청]se11 table에서 일련번호 자동증가 속성이 있는지? [2] 김화영 2008.02.22 3071
686 <b>[완료]</b>[왕초보]data 선언과 tables선언의 차이? [6] 해물파전 2008.11.20 3072
685 <b>[완료]</b><b>[완료]</b>Smartform으로 작성된 발주서를 멜로 전송시 본문 내용 입력방법.. [2] 김화영 2007.08.23 3073
684 [요청]if문에서 or 조건을 대신할 방안은?.. [3] sagar 2008.04.18 3073
683 엑셀파일 업로드 샘플 소스 좀 부탁드립니다. [5] 나도아밥퍼 2007.07.25 3077
682 ABAP 프로그램 다운로드(Backup?) 김지성 2007.04.20 3078
681 <img src=3.gif>또다른 질문 엑셀 파일 컨트롤.... 선긋기 가능한가요? [7] 돌맹이 2010.04.22 3079
680 <img src=2.gif>엑셀파일 첨부해서 메일 보내기 (255 byte이상) [1] 둥맘 2011.03.29 3079
679 공장달력과 일반달력의 차이점? [2] 이종원 2007.05.01 3080
678 ..in update task 에 관한 질문입니다. bd 2007.05.18 3082
677 <img src=2.gif>SELECTION-SCREEN 에서 PARAMETER 로 입력한 값을 자동으로 읽는방법 질문 [2] 초보생 2010.09.08 3082
676 부과세 계산방법을 잘 모르겠습니다. [3] 신정일 2007.06.12 3086
675 [요청]alv 에서 수량 필드 질문입니다. [3] ccc 2007.11.29 3088
674 <img src=3.gif border=0>bdc프로그램 에러에 대한 문제입니다. [10] 아밥고지를 찾아서 2009.05.12 3088
673 <img src=2.gif>RFC로 데이터 전송하고 바로 결과값 받아올수 있나요? [5] dusrude 2010.09.14 3088
672 <b>[완료]</b>엑셀파일 업로드(GUI_UPLOAD) 질문 [8] 예슬짱 2008.12.04 3092
671 <img src=3.gif>[MM] 구매 송장 검증 처리 시 이동평균가 마이너스 오류 질문 [3] file 아바뻐 2010.12.29 3093
670 <img src=2.gif>SAP BOM, 라우팅, 생산버전, 인포레코드, 원가추정 생성 시점 파악 [2] Dave 2010.05.11 3097
669 [요청]ABAP New Editor 글꼴 변경 관련. 삐러 2008.05.27 3102
668 Char 형을 가공하여 Currency Type으로 데이타를 넣을려면? [3] file 김지성 2007.06.26 3105