*&---------------------------------------------------------------------*
*& Report ZTABLEENTRY
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ztableentry.
TYPES: BEGIN OF ty_order,
ordernumber TYPE zordernumber,
zcreatedby1 TYPE zcreatedby1,
zcreatedtime TYPE zcreatedtime,
ztotalprice TYPE ztotalprice,
currency TYPE zcurrency,
END OF ty_order.
DATA:it_order TYPE TABLE OF ty_order,
wa_order TYPE zorder_p.
TYPES: BEGIN OF ty_item,
ordernumber TYPE zordernumber,
itemnumber TYPE zitemnumbefr,
itemname TYPE zitemname,
itemprice TYPE zitemprice1,
currency TYPE zcurrency,
priceband TYPE zpriceband,
END OF ty_item.
DATA:it_item TYPE TABLE OF ty_item,
wa_item TYPE zitem_p.
*INput parameter for Order details
PARAMETERS p_onum TYPE zordernumber.
PARAMETERS p_crby TYPE zcreatedby1.
PARAMETERS p_ctime TYPE zcreatedtime.
PARAMETERS p_tprice TYPE ztotalprice.
*INput parameter for Item details
PARAMETERS p_inum TYPE zitemnumbefr.
PARAMETERS p_iname TYPE zitemname.
PARAMETERS p_iprice TYPE zitemprice1.
PARAMETERS p_curr TYPE zcurrency.
PARAMETERS p_pband TYPE zpriceband.
*Group check box to select create Modify or edit operation
PARAMETERS p_ins TYPE c RADIOBUTTON GROUP r1 DEFAULT 'X'.
PARAMETERS p_del TYPE c RADIOBUTTON GROUP r1.
PARAMETERS p_mod TYPE c RADIOBUTTON GROUP r1.
* filling work area for creat and modify operation
wa_order-createdby = p_crby.
wa_order-createdtime = p_ctime.
wa_order-currency = p_curr.
wa_order-ordernumber = p_onum.
wa_order-totalprice = p_tprice.
wa_item-itemname = p_iname.
wa_item-itemprice = p_iprice.
wa_item-itemnumber = p_inum.
wa_item-priceband = p_pband.
IF p_ins = 'X'.
INSERT zorder_p FROM wa_order.
IF sy-subrc = 0.
WRITE 'Record inserted successfully'.
ELSE.
WRITE 'Record insert is unsuccessful'.
ENDIF.
ELSEIF p_mod = 'X'.
SELECT SINGLE * FROM zorder_p INTO wa_order WHERE ordernumber = p_onum.
wa_order-createdby = p_crby.
MODIFY zorder_p FROM wa_order.
IF sy-subrc = 0.
WRITE 'Record Modified successfully'.
ELSE.
WRITE 'Record Modified unsuccessful'.
ENDIF.
ELSEIF p_del = 'X'.
DELETE FROM zorder_p WHERE ordernumber = p_onum.
IF sy-subrc = 0.
WRITE 'Record Deleted successfully'.
ELSE.
WRITE 'Record Deleted unsuccessful'.
ENDIF.
IF sy-subrc = 0.
WRITE 'Record inserted successfully'.
ELSE.
WRITE 'Record insert is unsuccessful'.
ENDIF.
ENDIF.