*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
AT SELECTION-SCREEN ON key_date.
MESSAGE: 'PLEASE ENTER THE KEY DATE' TYPE 'E'.
DATA: dummy_std_am TYPE STANDARD TABLE OF ztransaction_am,
dummy_tab_am TYPE STANDARD TABLE OF zproduct_am,
it_ztransaction TYPE STANDARD TABLE OF ztransaction_am,
it_zproduct TYPE STANDARD TABLE OF zproduct_am.
IF key_date IS NOT INITIAL.
SELECT zburks, zsgsart, zsfhart, zrfha, ztpm_amount, zst_date, zen_date
ORDER BY zst_date ASCENDING
INTO CORRESPONDING FIELDS OF TABLE @dummy_std_am.
SELECT zburks, zsgsart, zsfhart, zrfha, ztpm_amount, zst_date, zen_date
ORDER BY zst_date ASCENDING
INTO CORRESPONDING FIELDS OF TABLE @dummy_std_am.
SELECT zsgsart, zsfhart, zltx, ztext, ztype
INTO CORRESPONDING FIELDS OF TABLE @it_zproduct.
SELECT zburks, zsgsart, zsfhart, zrfha, ztpm_amount, zst_date, zen_date
INTO CORRESPONDING FIELDS OF TABLE @it_ztransaction.
SELECT zsgsart, zsfhart, zltx, ztext, ztype
INTO CORRESPONDING FIELDS OF TABLE @dummy_tab_am
FOR ALL ENTRIES IN @it_ztransaction
WHERE zsgsart = @it_ztransaction-zsgsart AND zsfhart = @it_ztransaction-zsfhart.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
SELECT * FROM ztransaction_am INTO TABLE lt_transaction.
SELECT * FROM zproduct_am INTO TABLE lt_product.
LOOP AT lt_transaction INTO lw_transaction.
READ TABLE lt_product INTO lw_product WITH KEY zsgsart = lw_transaction-zsgsart zsfhart = lw_transaction-zsfhart.
MOVE-CORRESPONDING lw_transaction TO lw_final.
MOVE-CORRESPONDING lw_product TO lw_final.
APPEND lw_final TO gt_final1.
COLLECT lw_final INTO gt_final2.
lw_final-zburks = '1001'.
lw_final-zrfha ='100001'.
lw_final-ztpm_amount ='1300'.
lw_final-zst_date ='120323'.
lw_final-zen_date ='140223'.
lw_final-ztext ='BORROWING'.
APPEND lw_final TO gt_final1.
lw_final-zburks = '1002'.
lw_final-zrfha ='100002'.
lw_final-ztpm_amount ='1200'.
lw_final-zst_date ='120323'.
lw_final-zen_date ='140223'.
lw_final-ztext ='BORROWING'.
APPEND lw_final TO gt_final1.
lw_final-zburks = '1003'.
lw_final-zrfha ='100031'.
lw_final-ztpm_amount ='2200'.
lw_final-zst_date ='120323'.
lw_final-zen_date ='140223'.
lw_final-ztext ='BORROWING'.
APPEND lw_final TO gt_final1.
lw_final-zburks = '1004'.
lw_final-zrfha ='100001'.
lw_final-ztpm_amount ='1300'.
lw_final-zst_date ='120323'.
lw_final-zen_date ='140223'.
lw_final-ztext ='BORROWING'.
COLLECT lw_final INTO gt_final2.
lw_final-zburks = '1005'.
lw_final-zrfha ='100002'.
lw_final-ztpm_amount ='1200'.
lw_final-zst_date ='120323'.
lw_final-zen_date ='140223'.
lw_final-ztext ='BORROWING'.
COLLECT lw_final INTO gt_final2.
lw_final-zburks = '1006'.
lw_final-zrfha ='100031'.
lw_final-ztpm_amount ='2200'.
lw_final-zst_date ='120323'.
lw_final-zen_date ='140223'.
lw_final-ztext ='BORROWING'.
COLLECT lw_final INTO gt_final2.
lw_final-zburks = '1007'.
lw_final-zrfha ='100003'.
lw_final-ztpm_amount ='1200'.
lw_final-zst_date ='120323'.
lw_final-zen_date ='140223'.
lw_final-ztext ='BORROWING'.
INSERT ztransaction_am FROM lw_final.
lw_final-zburks = '1008'.
lw_final-zrfha ='100002'.
lw_final-ztpm_amount ='1200'.
lw_final-zst_date ='120323'.
lw_final-zen_date ='140223'.
lw_final-ztext ='BORROWING'.
INSERT ztransaction_am FROM lw_final.
*cl_demo_output=>display( ztransaction_am ).
*lw_final-zburks = '1008'.
*lw_final-zsgsart ='10A'.
*lw_final-zsfhart ='10B'.
*lw_final-zrfha ='100002'.
*lw_final-ztpm_amount ='2500'.
*lw_final-zst_date ='120323'.
*lw_final-zen_date ='140223'.
*lw_final-ztext ='BORROWING'.
*INSERT lw_final into gt_final2 index 1 .
UPDATE zproduct_am SET ztext = 'LOAN' WHERE zltx = 'TL'.
lw_final-zburks = '1002'.
lw_final-zrfha ='100002'.
lw_final-ztpm_amount ='1600'.
lw_final-zst_date ='120323'.
lw_final-zen_date ='140223'.
lw_final-ztext ='BORROWING'.
MODIFY gt_final1 FROM lw_final INDEX 2 TRANSPORTING ztpm_amount.
lw_final-zburks = '1002'.
lw_final-zrfha ='100002'.
lw_final-ztpm_amount ='1600'.
lw_final-zst_date ='120323'.
lw_final-zen_date ='140223'.
MODIFY gt_final1 FROM lw_final INDEX 2 TRANSPORTING ztext.
DELETE gt_final2 WHERE zburks = '1005' .
DELETE gt_final2 WHERE zburks = '1006' .
DELETE FROM ztransaction_am WHERE ztpm_amount = '300'.
*DELETE FROM ztransaction_am WHERE zrfha = '100003'.
*cl_demo_output=>display( lw_final ).
*LOOP AT ztransaction_am INTO ty_final_am.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
gw_fcat_AM-fieldname = 'ZBURKS'.
gw_fcat_AM-seltext_L = 'Company Code'.
gw_fcat_AM-tabname = 'gt_final1'.
APPEND gw_fcat_AM TO gt_fCAt_AM.
gw_fcat_AM-fieldname = 'ZSGSART'.
gw_fcat_AM-seltext_L = 'Txn Code'.
gw_fcat_AM-tabname = 'gt_final1'.
APPEND gw_fcat_AM TO gt_fcAt_AM.
gw_fcat_AM-fieldname = 'ZSFHART'.
gw_fcat_AM-seltext_L = 'Txn TYPE'.
gw_fcat_AM-tabname = 'gt_final1'.
APPEND gw_fcat_AM TO gt_fcAt_AM.
gw_fcat_AM-fieldname = 'ZSrfha'.
gw_fcat_AM-seltext_L = 'Txn no'.
gw_fcat_AM-tabname = 'gt_final1'.
APPEND gw_fcat_AM TO gt_fcAt_AM.
gw_fcat_AM-fieldname = 'Ztpm_amount'.
gw_fcat_AM-seltext_L = 'Amount'.
gw_fcat_AM-tabname = 'gt_final1'.
APPEND gw_fcat_AM TO gt_fcAt_AM.
gw_fcat_AM-fieldname = 'Zst_date'.
gw_fcat_AM-seltext_L = 'Start date'.
gw_fcat_AM-tabname = 'gt_final1'.
APPEND gw_fcat_AM TO gt_fcAt_AM.
gw_fcat_AM-fieldname = 'Zen_date'.
gw_fcat_AM-seltext_L = 'End date'.
gw_fcat_AM-tabname = 'gt_final1'.
APPEND gw_fcat_AM TO gt_fcAt_AM.
gw_fcat_AM-fieldname = 'Zltx'.
gw_fcat_AM-seltext_L = 'Prdt Desc.'.
gw_fcat_AM-tabname = 'gt_final1'.
APPEND gw_fcat_AM TO gt_fcAt_AM.
gw_fcat_AM-fieldname = 'Ztext'.
gw_fcat_AM-seltext_L = 'Text.'.
gw_fcat_AM-tabname = 'gt_final1'.
APPEND gw_fcat_AM TO gt_fcAt_AM.
gw_fcat_AM-fieldname = 'Ztype'.
gw_fcat_AM-seltext_L = 'Type.'.
gw_fcat_AM-tabname = 'gt_final1'.
APPEND gw_fcat_AM TO gt_fcAt_AM.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
IF gt_final1 IS NOT INITIAL.
gw_layout_am-colwidth_optimize = 'X'.
gw_layout_am-zebra = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
i_callback_program = sy-cprog
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
i_callback_top_of_page = 'TOP_PAGE'
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_GRID_TITLE = 'BASIC ALV REPORT'
* IS_VARIANT = 'zfs_prog_am_va'
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
* Implement suitable error handling here
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
DATA: comp TYPE t001-butxt.
DATA : heading TYPE slis_t_listheader WITH HEADER LINE.
SELECT SINGLE butxt FROM t001 INTO comp.
heading-info = 'Basic ALV Report'.
heading-info = 'Report Short Desc'.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
it_list_commentary = heading[]