*&---------------------------------------------------------------------*
*& Report ZINVOICES_DISPLAY
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zinvoices_display.
TYPE-POOLS slis.
TABLES :rbkp.
TYPES : BEGIN OF invoices,
belnr TYPE re_belnr,
gjahr TYPE gjahr,
blart TYPE blart,
bldat TYPE bldat,
budat TYPE budat,
usnam TYPE usnam,
bukrs TYPE bukrs,
END OF invoices.
DATA : i_invoices TYPE TABLE OF invoices,
i_fieldcat TYPE TABLE OF slis_fieldcat_alv,
wa_fieldcat TYPE slis_fieldcat_alv,
wa_invoices TYPE invoices,
wa_rbkp TYPE rbkp.
FIELD-SYMBOLS : <fs_invoices> TYPE invoices.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS s_belnr FOR rbkp-belnr.
SELECTION-SCREEN END OF BLOCK b1.
START-OF-SELECTION.
SELECT belnr
gjahr
blart
bldat
budat
usnam
bukrs
FROM rbkp
INTO TABLE i_invoices
WHERE belnr IN s_belnr.
IF sy-subrc IS INITIAL.
PERFORM build_fieldcat.
PERFORM display_output.
ENDIF.
*&---------------------------------------------------------------------*
*&
Form build_fieldcat
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&
Form user_command
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->R_UCOMM
text
*
-->RS_SELFIELD text
*----------------------------------------------------------------------*
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
DATA : lv_belnr TYPE re_belnr,
lv_gjahr TYPE gjahr.
CASE sy-ucomm.
WHEN 'SAVE'.
READ TABLE i_invoices ASSIGNING <fs_invoices> INDEX rs_selfield-tabindex.
IF sy-subrc IS INITIAL.
<fs_invoices>-usnam = rs_selfield-value.
SELECT SINGLE * FROM rbkp
INTO wa_rbkp
WHERE belnr EQ <fs_invoices>-belnr
AND gjahr EQ <fs_invoices>-gjahr.
IF sy-subrc IS INITIAL.
wa_rbkp-usnam = <fs_invoices>-usnam.
UPDATE rbkp FROM wa_rbkp.
IF sy-subrc IS INITIAL.
COMMIT WORK.
ENDIF.
ENDIF.
ENDIF.
ENDCASE.
SELECT SINGLE belnr
gjahr
FROM rbkp
INTO (lv_belnr, lv_gjahr)
WHERE belnr EQ rs_selfield-value.
IF sy-subrc IS INITIAL.
CASE rs_selfield-fieldname.
WHEN 'BELNR'.
SET PARAMETER ID : 'RBN' FIELD lv_belnr.
SET PARAMETER ID : 'GJR' FIELD lv_gjahr.
CALL TRANSACTION 'MIR4' AND SKIP FIRST SCREEN.
ENDCASE.
ENDIF.
ENDFORM.
*&
Form set_pf_status
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->RT_EXTAB text
*----------------------------------------------------------------------*
FORM set_pf_status USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'ZSTANDARD_FULLSCREEN'.
ENDFORM. "Set_pf_status