*&---------------------------------------------------------------------*
*& Include ZC3R13_036TOP - Report ZC3R13_036
*&---------------------------------------------------------------------*
REPORT zc3r13_036 MESSAGE-ID k5.
**********************************************************************
* TABELS
**********************************************************************
TABLES : zc3t26002.
**********************************************************************
* Class Instance
**********************************************************************
**DATA : go_container TYPE REF TO cl_gui_docking_container,
go_alv_grid TYPE REF TO cl_gui_alv_grid.**
**********************************************************************
* Internal Table and Work Area
**********************************************************************
DATA : BEGIN OF gs_docu,
icon TYPE icon-id.
INCLUDE STRUCTURE zc3t26002.
DATA : txt50 TYPE skat-txt50,
END OF gs_docu.
DATA : gt_docu LIKE TABLE OF gs_docu.
**DATA : gs_layout TYPE lvc_s_layo,
gs_fcat TYPE lvc_s_fcat,
gt_fcat TYPE lvc_t_fcat.**
**********************************************************************
* Common Variables
**********************************************************************
DATA : gv_okcdoe TYPE sy-ucomm.
*&---------------------------------------------------------------------*
*& Include ZC3R13_036S01
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK pa1 WITH FRAME TITLE TEXT-t01.
PARAMETERS : pa_com TYPE zc3t26002-bukrs MODIF ID mdf,
pa_fy TYPE zc3t26002-gjahr MODIF ID mdf.
SELECTION-SCREEN END OF BLOCK pa1.
START-OF-SELECTION.
**PERFORM get_base_data.**
**PERFORM make_result_data.**
CALL SCREEN 100.
*&---------------------------------------------------------------------*
*& Form get_base_data
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM get_base_data .
DATA : lv_cnt TYPE i.
**SELECT bukrs gjahr belnr saknr bktxt wrbtr waers
FROM zc3t26002
INTO CORRESPONDING FIELDS OF TABLE gt_docu
WHERE bukrs EQ pa_com
AND gjahr EQ pa_fy.
IF gt_docu IS INITIAL.
MESSAGE s037 DISPLAY LIKE 'E'.
STOP.
ENDIF**.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form make_result_data
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM make_result_data .
DATA : lt_skat TYPE TABLE OF skat,
ls_skat TYPE skat,
lv_tabix TYPE sy-tabix,
lv_cnt TYPE i.
**" 텍스트 테이블 데이터 SELECT**
**SELECT saknr txt50
FROM skat
INTO CORRESPONDING FIELDS OF TABLE lt_skat
WHERE spras EQ sy-langu
AND ktopl EQ 'BKMG'
ORDER BY saknr.**
LOOP AT gt_docu INTO gs_docu.
lv_tabix = sy-tabix.
CLEAR ls_skat.
**" 텍스트테이블 데이터 추가**
READ TABLE lt_skat INTO ls_skat WITH KEY saknr = gs_docu-saknr BINARY SEARCH.
IF sy-subrc EQ 0.
gs_docu-txt50 = ls_skat-txt50.
ENDIF.
**" ICON 추가**
CASE gs_docu-waers.
WHEN 'KRW'.
gs_docu-icon = icon_sum.
ENDCASE.
MODIFY gt_docu FROM gs_docu INDEX lv_tabix
TRANSPORTING icon txt50.
CLEAR gs_docu.
ENDLOOP.
IF gt_docu IS NOT INITIAL.
lv_cnt = lines( gt_docu ).
MESSAGE s001 WITH lv_cnt TEXT-i01.
ENDIF.
ENDFORM.
START-OF-SELECTION.
PERFORM get_base_data.
PERFORM make_result_data.
**CALL SCREEN 100.**
Short Description 추가

okcode 저장할 변수 지정

Flow Logic
PROCESS BEFORE OUTPUT.
**MODULE status_0100.**
**MODULE init_process_control.**
PROCESS AFTER INPUT.
**MODULE exit AT EXIT-COMMAND.**
PBO
MODULE status_0100
*&---------------------------------------------------------------------*
*& Include ZC3R13_036O01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS 'MENU100'.
SET TITLEBAR 'TITLE100'.
ENDMODULE.
MENU100


TITLE100

MODULE init_process_control
*&---------------------------------------------------------------------*
*& Module INIT_PROCESS_CONTROL OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE init_process_control OUTPUT.
**PERFORM display_screen.**
ENDMODULE.
*&---------------------------------------------------------------------*
*& Form display_screen
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM **display_screen** .
IF go_container IS NOT BOUND. " Key Field Name Table Just Emphasis
PERFORM **set_field_catalog** USING : 'X' 'ICON' '' 'C' '',
'X' 'BUKRS' 'ZC3T26002' 'C' '',
'X' 'GJAHR' 'ZC3T26002' 'C' '',
'X' 'BELNR' 'ZC3T26002' 'C' '',
'' 'SAKNR' 'ZC3T26002' 'C' '',
'' 'TXT50' 'SKAT' '' 'X',
'' 'BKTXT' 'ZC3T26002' 'C' '',
'' 'WRBTR' 'ZC3T26002' '' '',
'' 'WAERS' 'ZC3T26002' '' ''.
PERFORM **create_object.**
CALL METHOD go_alv_grid->set_table_for_first_display
EXPORTING
i_save = 'A'
i_default = 'X'
is_layout = gs_layout
CHANGING
it_outtab = gt_docu
it_fieldcatalog = gt_fcat.
ELSE.
CALL METHOD go_alv_grid->refresh_table_display.
ENDIF.
ENDFORM.
set_field_catalog
*&---------------------------------------------------------------------*
*& Form set_field_catalog
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> P_
*& --> P_
*& --> P_
*& --> P_
*& --> P_
*&---------------------------------------------------------------------*
FORM **set_field_catalog** USING pv_key pv_field pv_table pv_just pv_emph.
gs_fcat-key = pv_key.
gs_fcat-fieldname = pv_field.
gs_fcat-ref_table = pv_table.
gs_fcat-just = pv_just.
gs_fcat-emphasize = pv_emph.
CASE pv_field.
WHEN 'WRBTR'.
gs_fcat-cfieldname = 'WAERS'.
WHEN 'ICON'.
gs_fcat-coltext = 'Status'.
ENDCASE.
APPEND gs_fcat TO gt_fcat.
CLEAR gs_fcat.
CLEAR gs_layout.
gs_layout-cwidth_opt = 'A'.
gs_layout-sel_mode = 'D'.
ENDFORM.
create_object
*&---------------------------------------------------------------------*
*& Form create_object
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM **create_object** .
CREATE OBJECT go_container
EXPORTING
side = go_container->dock_at_left
extension = 5000.
CREATE OBJECT go_alv_grid
EXPORTING
i_parent = go_container.
ENDFORM.
PAI
exit
MODULE exit INPUT.
CALL METHOD : go_alv_grid->free,
go_container->free.
FREE: go_alv_grid, go_container.
LEAVE TO SCREEN 0.
ENDMODULE.
결과값

