Insert Modify Delete Record form DDIC Table

*&---------------------------------------------------------------------*
*& 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.
Scroll to Top