메뉴 건너뛰기

SAP 한국 커뮤니티

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

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


 


 


도움이 되시길...

번호 제목 글쓴이 날짜 조회 수
6214 [Function] CONVERT_STRING_TO_TABLE 문의드립니다.(프린터기) [4] 아좀더 2019.06.19 542
6213 cbo테이블 구조변경후 운영적용시 자동 DB조정 실패하는 케이스에는 어떤게 있나요? [2] 로우랜즈 2022.07.22 542
6212 cbo table에 데이터 넣을 때 [1] kyj 2020.10.21 543
6211 테이블명 앞에 * 를 쓰는 이유가 궁금합니다. [2] 마리 2022.02.22 547
6210 이클립스용 ADT로 개발하면 더 편한가요? [1] 로우랜즈 2020.04.01 552
6209 type ~ 과 type table of ~ 의 차이점에 대해 설명이 필요해요 [2] ektkdwk1234 2023.07.05 556
6208 alv화면에서 중복데이터 입력시 [1] 초보초보왕초보 2020.09.18 557
6207 이지아밥 z03_24 예제 질문드립니다. [3] file 리얼오버 2021.10.31 557
6206 생산지시 생성시 BOM 버튼 비활성화 시키기 file 먼지 2020.03.18 558
6205 데이터 추출 [3] 블랙 2022.04.27 561
6204 PARAMETER ID 관련 문의 드립니다. [2] 닌자부기 2020.06.18 562
6203 SAP ABAP 자격증 공부 관련 질문 [1] 호치쿠 2019.04.16 563
6202 인터널 테이블에 cbo 테이블 left join 하여 조건 처리 가능할까요? [1] 깻잎만두 2023.01.18 564
6201 GUI_DOWNLOAD xls 파일 라인 수 제한 현상이 발생했습니다. [2] HANAHR 2020.03.31 569
6200 로컬 인터널 테이블을 서브루틴으로 주고받을 경우 선언방법관련 문의 [3] 로우랜즈 2022.02.22 572
6199 ERP전체적흐름도 [1] 1년차 2019.02.12 573
6198 인쇄시 SAP spool error 발생 모포 2020.02.19 574
6197 인터널 테이블 3줄을 1줄로 변경하고 싶은데.. [4] file 죠죠 2020.04.22 574
6196 이제 막 easy abap 2.0 책 사서 공부하고 있는데 open sql 관련 이해가 안가는 내용이 있습니다.. [2] newenw 2022.09.12 574
6195 loop at into, loop at assigning <fs> 구문의 차이점! [3] 아밥자 2018.12.29 576