메뉴 건너뛰기

SAP 한국 커뮤니티

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

쌥존 2023.08.10 03:36 조회 수 : 468

가장 기본적인 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.

번호 제목 글쓴이 날짜 조회 수
6527 sapnwrfc.dll 사용중이신분 계신가요? alarm 2022.02.21 209
6526 Dictionary Search help 정렬 문의 repairbalm 2020.09.01 214
6525 SD_SALESDOCUMENT_CHANGE 오류 file 유반장 2022.12.01 215
6524 메일 발송 복수 IP 설정 가능한지 궁금합니다. 안셀몽 2022.01.26 218
6523 OQN6 BAPI 아바뻐 2025.01.07 220
6522 z07_05 예제인것가튼데요 오류나옵니다 ㅜㅜ [1] 리얼오버 2022.01.08 223
6521 (해결 시, 기프티콘 원하시는 거 사례)KKPAN Background Batch Job 오류 // Panthera 2024.06.05 230
6520 DROPDOWN과 register_edit_event를 동시사용 문제 jolion 2020.08.27 231
6519 Function Group: EINR 관련 문의 드립니다. [4] 쌥맨 2022.01.07 231
6518 FI 자산 클래스 생성 중 문의가 있습니다 [1] file fidifficult 2024.07.08 232
6517 디버거 질문 입니다. 십년만에 2020.09.18 233
6516 스마트폼 프린트 관련질문이요. 바둥바둥 2021.06.30 234
6515 public method 호출 시 오류 [1] wid5785 2024.02.10 234
6514 submit with~ 사용시 백그라운드 잡이 끝나고 나서 다음 코드가 도나요? 로우랜즈 2022.03.14 236
6513 BABI_PR_CREATE 문의 [1] NS1100 2019.01.10 237
6512 빌링 시 가격 재결정 기능 관련 문의 드립니다 ㅠ 샙초보임 2022.02.19 241
6511 RROCEDURE 가 뭔가요? racooooo 2020.01.29 247
6510 혹시 IRR 계산 로직 알고 계신분 있으실까요? 초밥 2023.08.09 251
6509 SQL NTILE과 같은 구문을 아밥에서는 어떻게 구현해줄수있나요? hyui 2021.01.14 252
6508 임시전표 생성시 ZERO 등록 방법 문의 드립니다. [1] 프린스 2021.05.28 252