메뉴 건너뛰기

SAP 한국 커뮤니티

ALV 기본 템플릿 질문드립니다.

쌥존 2023.08.09 18:36 조회 수 : 343

가장 기본적인 ALV 템플릿으로 데이터 조회할 수 있는 프로그램을 만들었는데, 아예 빈화면으로 실행이 안되네요.

제가 놓친 부분이 있는지 확인해 주실 수 있으실까요 ㅜㅜ

 

*&---------------------------------------------------------------------*
*& Report  ZEX1_3_ABAP_A01
*&
*&---------------------------------------------------------------------*

REPORT z_alv_templete.
INCLUDE z_alv_templete_top.
INCLUDE z_alv_templete_pbo.
INCLUDE z_alv_templete_pai.

INITIALIZATION.

AT SELECTION-SCREEN.

START-OF-SELECTION.

  PERFORM get_data.

END-OF-SELECTION.

  IF sy-subrc EQ 0.
    CALL SCREEN 100.
  ELSE.
    WRITE : '오류 수정 필요'.
  ENDIF.

 

&---------------------------------------------------------------------*
*&  Include           Z_ALV_TEMPLETE_TOP
*&---------------------------------------------------------------------*

*TYPE-POOLS : slis. <-- 왜 들어가야하는지 이유를 모르겠습니다.

TABLES : ekko.

TYPES : BEGIN OF ty_str,
  ebeln TYPE ekko-ebeln,
  bukrs TYPE ekko-bukrs,
  bsart TYPE ekko-bsart,
  END OF ty_str.

DATA : gs_disp type ty_str.
DATA : gt_disp TYPE TABLE OF ty_str.

DATA : con1_ref TYPE REF TO cl_gui_custom_container.
DATA : g_grid TYPE REF TO cl_gui_alv_grid.

DATA : ok_code TYPE sy-ucomm.

DATA : gt_fieldcat TYPE lvc_t_fcat.
DATA : gs_fieldcat TYPE lvc_s_fcat.

DATA : gs_layout TYPE lvc_s_layo.

 

*&---------------------------------------------------------------------*
*&  Include           Z_ALV_TEMPLETE_PBO
*&---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS '0100'.
  SET TITLEBAR '0100'.
ENDMODULE.                    "status_0100 OUTPUT


*----------------------------------------------------------------------*
*  MODULE set_alv_0100 OUTPUT
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
MODULE set_alv_0100 OUTPUT.
  PERFORM setting_alv_0100.
ENDMODULE.                    "set_alv_0100 OUTPUT
*&---------------------------------------------------------------------*
*&      Form  SETTING_ALV_100
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM setting_alv_0100 .

  IF g_grid IS INITIAL.

    "인스턴스 생성
    PERFORM create_object.

    "필드카탈로그 생성
    PERFORM set_fieldcatalog.

    "레이아웃 세팅
    PERFORM set_layout.

    "ALV 호출
    PERFORM display_alv.

  ELSE.
    PERFORM refresh_data.

  ENDIF.

ENDFORM.                    " SETTING_ALV_100
*&---------------------------------------------------------------------*
*&      Form  CREATE_OBJECT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM create_object .

CREATE OBJECT con1_ref
  EXPORTING
    container_name              = 'con1'.

CREATE OBJECT g_grid
  EXPORTING

    i_parent          = con1_ref.



ENDFORM.                    " CREATE_OBJECT
*&---------------------------------------------------------------------*
*&      Form  SET_FIELDCATALOG
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM set_fieldcatalog .

  CLEAR : gs_fieldcat.
  CLEAR : gt_fieldcat.

  gs_fieldcat-fieldname = 'EBELN'.
  gs_fieldcat-coltext = '구매문서'.
  gs_fieldcat-key = 'X'.
  APPEND gs_fieldcat TO gt_fieldcat.

  CLEAR : gs_fieldcat.
  gs_fieldcat-fieldname = 'BUKRS'.
  gs_fieldcat-coltext = '회사코드'.
  APPEND gs_fieldcat TO gt_fieldcat.

  CLEAR : gs_fieldcat.
  gs_fieldcat-fieldname = 'BSART'.
  gs_fieldcat-coltext = '문서유형'.
  APPEND gs_fieldcat TO gt_fieldcat.

ENDFORM.                    " SET_FIELDCATALOG
*&---------------------------------------------------------------------*
*&      Form  SET_LAYOUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM set_layout.

  CLEAR : gs_layout.

  gs_layout-zebra = 'X'.
  gs_layout-cwidth_opt = 'A'.
  gs_layout-sel_mode = 'D'.

ENDFORM.                    " SET_LAYOUT
*&---------------------------------------------------------------------*
*&      Form  DISPLAY_ALV
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM display_alv .

  CALL METHOD g_grid->set_table_for_first_display
  EXPORTING
      is_layout                     = gs_layout
    CHANGING

      it_outtab                     = gt_disp
      it_fieldcatalog             = gt_fieldcat.

ENDFORM.                    " DISPLAY_ALV
*&---------------------------------------------------------------------*
*&      Form  REFRESH_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM refresh_data .

CALL METHOD g_grid->refresh_table_display.

ENDFORM.                    " REFRESH_DATA


*&---------------------------------------------------------------------*
*&      Form  get_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM get_data.

  CLEAR gt_disp.

  SELECT ebeln bukrs bsart
    INTO CORRESPONDING FIELDS OF TABLE gt_disp
    FROM ekko UP TO 10 ROWS.

ENDFORM.                    " GET_DATA

 

*&---------------------------------------------------------------------*
*&  Include           Z_ALV_TEMPLETE_PAI
*&---------------------------------------------------------------------*


MODULE exit_0100 input.

  CASE ok_code.
    WHEN 'back' or 'exit' or 'canc'.
      LEAVE PROGRAM.
  ENDCASE.
  ENDMODULE.

번호 제목 글쓴이 날짜 조회 수
6487 <b>[완료]</b>테이블 유지보수 뷰 관련 질문 입니다. [4] 안면도 2007.12.06 14245
6486 parameter ID 확인하는 방법? [2] dhs 2019.11.22 13482
6485 <b>[완료]</b>CBO의 약자가 무엇인가요?(CUSTOMER BOLT ON) [6] sapjoy 2008.11.21 13061
6484 [요청]T-CODE KO02 내부오더변경에서 문의사항이 있습니다. [2] 이쁜진. 2007.12.07 12886
6483 <b>[완료]</b>dataset에 관한 질문입니다. [5] FIFIFI 2007.12.04 12808
6482 <b>[완료]</b>라디오 버튼 입고구분 어떻게 해야하나요? [4] hogun 2008.02.29 12063
6481 <b>[완료]</b>관계연산자의 의미를 알고싶습니다. [3] 다급 2008.06.30 11399
6480 <b>[완료]</b>Internal table을 만든 table로 데이터를 옮기려고 하는데 잘 안되네요. [10] 행복한외계인 2008.01.22 10915
6479 <b>[완료]</b>"DESCRIBE TABLE ~~~ LINES " 관련 질문입니다. [2] tenyearsago 2009.01.04 10529
6478 <b>[완료]</b>call transaction 사용하는 방법 좀 가르쳐주세요. [8] 행복한외계인 2007.11.22 10507
6477 <b>[완료]</b>sy-index와 sy-tabix의 차이가 궁금합니다. [7] kkk 2008.02.26 10348
6476 [요청]Modify 와 Modify Table 의 차이좀 알고싶어요~ [4] 아밥걸 2008.07.10 10288
6475 [요청]인터널테이블 끼리 move-corresponding 안될까요~~ [5] genius 2008.03.14 10122
6474 <b>[완료]</b>오라클의 CASE WHEN과 같은 기능.. [8] 풍뎅이 2007.12.06 9989
6473 [요청] 변경된 내용이 없는데도 CHECK_CHANGED_DATA 메소드가 'X'을 내어서 계속 팝업메시지가 뜹니다. [3] 하오 2008.07.02 9495
6472 <b>[완료]</b>cursor 프로그램 관련 질문입니다. [4] order001 2007.12.04 9465
6471 <b>[완료]</b>Gui->WEB 호출시 파라미터 문제 [2] 윤군친구(bsp개발자) 2007.12.07 9457
6470 [요청]GETWA_NOT_ASSIGNED 이 오류에 대해서 아시는 분? [7] 나도아밥퍼 2008.01.07 9169
6469 <img src=3.gif>숫자 세자리마다 콤마 붙여주는 펑션이 있나요 [7] 아밥맨 2009.10.02 9017
6468 [요청]at first, at last, at new, at end 정확한 개념좀 갈켜주세여.. 휴... [5] 아밥입문자 2008.08.25 9000