Program Hari Ke Empat
Program Hari Ke Empat
Program Hari Ke Empat
REPORT zgld3_alv_notombol.
TYPE-POOLS: vrm .
**Deklarasi variable terkait Container dan ALV Class
DATA : gr_table TYPE REF TO cl_salv_table,
gr_container TYPE REF TO cl_gui_custom_container,
gv_grid TYPE REF TO cl_gui_alv_grid,
"DATA O_CUST AND O_ALV
o_cust100 TYPE REF TO cl_gui_custom_container,
o_alv100 TYPE REF TO cl_gui_alv_grid,
i_fieldcat100 TYPE lvc_t_fcat,
wa_fieldcat100 LIKE LINE OF i_fieldcat100,
i_layout TYPE lvc_s_layo,
i_variant LIKE disvariant,
i_print TYPE lvc_s_prnt,
e_ucomm TYPE sy-ucomm,
i_selfield TYPE slis_selfield,
i_save VALUE 'A',
i_events TYPE slis_t_event,
ls_stable TYPE lvc_s_stbl.
DATA : ok_code LIKE sy-ucomm.
DATA : irec TYPE i.
DATA xmode TYPE char1 VALUE 'E'.
SELECT-OPTIONS :
p_matnr FOR mara-matnr,
p_resvdt FOR resb-bdter." DEFAULT '20230101' to sy-datum.
SELECTION-SCREEN END OF SCREEN 110 .
INITIALIZATION.
p_resvdt-sign = 'I'.
p_resvdt-option = 'BT'.
p_resvdt-low = sy-datum - 60.
p_resvdt-high = sy-datum.
APPEND p_resvdt.
* PERFORM get_data.
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
FORM get_data .
LOOP AT it_print INTO wa_print. " baca setiap record dari itab IT_Print
dan di tampung di wa WA_PRINT
wa_print-diff = wa_print-bdmng - wa_print-enmng." isi nilai pada wa_pri
nt-diff dengan rumus BDMNG - ENMNG
MODIFY it_print FROM wa_print TRANSPORTING diff." Update data pada fiel
d DIFF pada itab IT_PRINT sesuai nilai pada WA_PRINT-DIFF
CLEAR wa_print. " Kosongkan data pada WA_PRINT
ENDLOOP.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Module PBO_S100 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE pbo_s100 OUTPUT.
SET PF-STATUS 'S0100'.
IF xmode = 'E'.
SET TITLEBAR 'T0100' WITH 'List Reservation - Edit mode'.
ELSEIF xmode = 'D'.
SET TITLEBAR 'T0100' WITH 'List Reservation - Display mode'.
ENDIF.
PERFORM show100.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Form show100
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM show100 .
PERFORM get_data.
*** Persipkan kolom yang akan ditampilkan dan di simpan di itab i_fieldcat10
0
PERFORM set_fieldcat100.
*** Seting ALV sesuai data dr itab IT_print pada alv class
CALL METHOD o_alv100->set_table_for_first_display
EXPORTING
is_layout = i_layout
is_variant = i_variant
i_save = i_save
CHANGING
it_outtab = it_print
it_fieldcatalog = i_fieldcat100.
DATA:
lr_tabdescr TYPE REF TO cl_abap_structdescr, "Description of data object
type
lr_data TYPE REF TO data,
it_dfies TYPE ddfields, " DD: Field List
wa_dfies TYPE dfies. "DD Interface: Table Fields for DDIF_FIELDINFO_GE
T
"Create data LR_DATA sesuai struktur IT_PRINT
CREATE DATA lr_data LIKE LINE OF it_print.
lr_tabdescr ?= cl_abap_structdescr=>describe_by_data_ref( lr_data ).
IF wa_dfies-fieldname = 'DIFF'.
wa_fieldcat100-coltext =
wa_fieldcat100-scrtext_s =
wa_fieldcat100-scrtext_m =
wa_fieldcat100-scrtext_l = 'Selisih'.
wa_fieldcat100-qfieldname = 'MEINS'.
wa_fieldcat100-do_sum = 'X'.
ELSEIF wa_dfies-fieldname = 'BDMNG' OR
wa_dfies-fieldname = 'ENMNG'.
wa_fieldcat100-qfieldname = 'MEINS'.
wa_fieldcat100-do_sum = 'X'.
ENDIF.