ABAP ALV Report Template

Program No Comments »

*&———————————————————————*
*& Report  ZJACKTEST
*&
*&———————————————————————*
*&
*&
*&———————————————————————*

REPORT  ZJACKTEST.

TYPE-POOLS: slis.

* >> field catalog 사용을 위한 data 선언
DATA: fieldcat TYPE slis_t_fieldcat_alv,
      fieldcat_ln LIKE LINE OF fieldcat.

DATA: col_pos TYPE i.

* >> t_outtab internal table 정의
DATA: BEGIN OF alv_it_mara OCCURS 0,
      matnr LIKE mara-matnr,
      ersda LIKE mara-ersda,
      ernam LIKE mara-ernam,
     END OF alv_it_mara.

* >> selection : ALV 초기화면에 보일 해당 필드만 지정해서 넣는다.
SELECT matnr ersda ernam
       INTO CORRESPONDING FIELDS OF TABLE alv_it_mara
       FROM mara.

* >> 구조화 프로그래밍을 위한 PERFORM 문 들….
PERFORM build_fieldcat.
PERFORM build_fieldcat2.
PERFORM build_fieldcat3.
PERFORM start_list_viewer.

*—————————————————————-*
*       FORM build_fieldcat1                                     *
*—————————————————————-*
*       첫번째 보여줄 필드                                       *
*—————————————————————-*
FORM build_fieldcat.
  ADD 1 TO col_pos.
  fieldcat_ln-ref_tabname = ‘MARA’.
  fieldcat_ln-fieldname = ‘MATNR’.
  fieldcat_ln-key = space.
  fieldcat_ln-do_sum = space.
  fieldcat_ln-col_pos = col_pos.
  fieldcat_ln-no_out = space.
  fieldcat_ln-qfieldname = space.
  fieldcat_ln-hotspot = space.
*—————————————————————-*
* 칼라지정시에는 ‘Cxyz’순으로 쓰임, 여기서 C는 Default이고
* x : color number
* y,z : 0 = ‘off’, 1 = ‘on’ 의 의미를 가집니다.
* y : intensified display on/off, z : inverse display on / off
*—————————————————————-*
  fieldcat_ln-emphasize = ‘C300′.
  APPEND fieldcat_ln TO fieldcat.
ENDFORM.

*—————————————————————-*
*       FORM build_fieldcat2                                     *
*—————————————————————-*
*      두번째 보여줄 필드                                        *
*—————————————————————-*
FORM build_fieldcat2.
  ADD 2 TO col_pos.
  fieldcat_ln-ref_tabname = ‘MARA’.
  fieldcat_ln-fieldname = ‘ERSDA’.
  fieldcat_ln-key = space.
  fieldcat_ln-do_sum = space.
  fieldcat_ln-col_pos = col_pos.
  fieldcat_ln-no_out = space.
  fieldcat_ln-qfieldname = space.
  fieldcat_ln-hotspot = space.
  fieldcat_ln-emphasize = ‘C600′.
  APPEND fieldcat_ln TO fieldcat.
ENDFORM.

*—————————————————————-*
*       FORM build_fieldcat3                                     *
*—————————————————————-*
*       세번째 보여줄 필드                                       *
*—————————————————————-*
FORM build_fieldcat3.
  ADD 3 TO col_pos.
  fieldcat_ln-ref_tabname = ‘MARA’.
  fieldcat_ln-fieldname = ‘ERNAM’.
  fieldcat_ln-key = space.
  fieldcat_ln-do_sum = space.
  fieldcat_ln-col_pos = col_pos.
  fieldcat_ln-no_out = space.
  fieldcat_ln-qfieldname = space.
  fieldcat_ln-hotspot = space.
  fieldcat_ln-emphasize = ‘C701′.
  APPEND fieldcat_ln TO fieldcat.
ENDFORM.

*—————————————————————-*
*       FORM START_LIST_VIEWER                                   *
*—————————————————————-*
*       ……..                                                 *
*—————————————————————-*
FORM start_list_viewer.
  DATA: pgm LIKE sy-repid.
  pgm = sy-repid.

  CALL FUNCTION ‘REUSE_ALV_LIST_DISPLAY’
      EXPORTING
         i_callback_program       = pgm
*        I_CALLBACK_USER_COMMAND  = ‘USER_COMMAND’
         it_fieldcat              = fieldcat
*        IT_SORT                  = SORTCAT
         i_save                   = ‘A’    "select & save layout

      TABLES
         t_outtab                 = alv_it_mara.
*        EXCEPTIONS
*           program_error            = 1
*           OTHERS                   = 2.

 

Result

alv_template

SAP ABAP ALV Knowledge

ABAP Tips No Comments »

Below Word document is SAP ABAP ALV Knowledge. I got this document from web. In my opinion this document is very useful for someone who wants to know about ALV.

Download ABAP ALV Knowledge(Chinese Version)

SAP ABAP ALV OO

Program No Comments »

This program  is for abap alv oo . You can check below program. Use alv oo.

Result screen.

alv_oo_1

There are five steps.

*&———————————————————————*
*& Report  ZALVOOTEST
*&
*&———————————————————————*
*&
*&
*&———————————————————————*

REPORT  ZALVOOTEST.
INCLUDE ZALVOOTESTTOP.
INCLUDE ZALVOOTESTO01.
INCLUDE ZALVOOTESTI01.
INCLUDE ZALVOOTESTMAIN.
INCLUDE ZALVOOTESTF01.

*&———————————————————————*
*&  Include           ZALVOOTESTTOP
*&———————————————————————*
TYPES: BEGIN OF TY_COSP.
INCLUDE STRUCTURE COSP.
TYPES: END OF TY_COSP.

DATA: G_PGM LIKE SY-REPID.
DATA: OK_CODE(10).

TYPEs: SLIS.

DATA: IT_COSP TYPE STANDARD TABLE OF TY_COSP.
DATA: WA_COSP TYPE TY_COSP.

DATA: G_CONTAINER TYPE scrfname VALUE ‘CONTAINER’,
GT_FIELDCAT TYPE LVC_T_FCAT,
WA_FILEDCAT TYPE LVC_S_FCAT,
WA_STBL TYPE LVC_S_STBL.
DATA: G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
GRID TYPE REF TO CL_GUI_ALV_GRID.

PARAMETERS: P_BUKRS LIKE COSP-BUKRS OBLIGATORY,
P_GJAHR LIKE COSP-GJAHR OBLIGATORY.

*&———————————————————————*
*&  Include           ZALVOOTESTO01
*&———————————————————————*
*&———————————————————————*
*&      Module  STATUS_9000  OUTPUT
*&———————————————————————*
*       text
*———————————————————————-*
MODULE STATUS_9000 OUTPUT.
SET PF-STATUS ‘ZALVOOTEST’.
*  SET TITLEBAR ‘xxx’.
IF g_custom_container IS INITIAL OR grid IS INITIAL.
CREATE OBJECT g_custom_container
EXPORTING
container_name = g_container.

CREATE OBJECT grid
EXPORTING
i_parent = g_custom_container.

PERFORM build_alv.
PERFORM display.
ELSE.
*   set row/col
wa_stbl-row = ‘X’.
wa_stbl-col = ‘X’.

*   화면을 refresh했을때 현재 위치에서 움직이지 않음
CALL METHOD grid->refresh_table_display
EXPORTING
is_stable = wa_stbl.

ENDIF.

ENDMODULE.                 ” STATUS_9000  OUTPUT

*&———————————————————————*
*&  Include           ZALVOOTESTI01
*&———————————————————————*
*&———————————————————————*
*&      Module  USER_COMMAND_9000  INPUT
*&———————————————————————*
*       text
*———————————————————————-*
MODULE USER_COMMAND_9000 INPUT.
CASE OK_CODE.
WHEN ‘BACK’.
LEAVE TO SCREEN 0.
ENDCASE.

ENDMODULE.                 ” USER_COMMAND_9000  INPUT

*&———————————————————————*
*&  Include           ZALVOOTESTMAIN
*&———————————————————————*

START-OF-SELECTION.

PERFORM GET_COSP.

IF IT_COSP[] IS INITIAL.
MESSAGE ‘NO RECORDS’ TYPE ‘S’.
ELSE.
CALL SCREEN 9000.
ENDIF.

*&———————————————————————*
*&  Include           ZALVOOTESTF01
*&———————————————————————*
*&———————————————————————*
*&      Form  GET_COSP
*&———————————————————————*
*       text
*———————————————————————-*
*  –>  p1        text
*  <–  p2        text
*———————————————————————-*
FORM GET_COSP .
SELECT * INTO TABLE IT_COSP
FROM COSP
WHERE GJAHR = P_GJAHR
AND BUKRS = P_BUKRS.

ENDFORM.                    ” GET_COSP
*&———————————————————————*
*&      Form  build_alv
*&———————————————————————*
*       text
*———————————————————————-*
*  –>  p1        text
*  <–  p2        text
*———————————————————————-*
FORM build_alv .
PERFORM build_alv_fieldcat USING:
‘GJAHR’ ‘년도’,
‘VERSN’ ‘버전’,
‘KSTAR’ ‘원가요소’,
‘OBJNR’ ‘오브젝트번호’.

ENDFORM.                    ” build_alv
*&———————————————————————*
*&      Form  display
*&———————————————————————*
*       text
*———————————————————————-*
*  –>  p1        text
*  <–  p2        text
*———————————————————————-*
FORM display .
CALL METHOD grid->set_table_for_first_display
EXPORTING
i_save               = ‘X’
i_bypassing_buffer   = ‘X’
CHANGING
it_outtab            = IT_COSP
it_fieldcatalog      = gt_fieldcat[].

ENDFORM.                    ” display
*&———————————————————————*
*&      Form  build_alv_fieldcat
*&———————————————————————*
*       text
*———————————————————————-*
*      –>P_0023   text
*      –>P_0024   text
*———————————————————————-*
FORM build_alv_fieldcat  USING p_fieldname  TYPE c
p_seltext_m  TYPE c.
WA_FILEDCAT-fieldname = p_fieldname.
WA_FILEDCAT-scrtext_m = p_seltext_m.

APPEND WA_FILEDCAT TO gt_fieldcat.
CLEAR WA_FILEDCAT.

ENDFORM.                    ” build_alv_fieldcat

Technorati Tags: ,,,,
WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in