Local multiple inheritance using parameters.
1. Goto SE38.
2. Give program name and click on create.
3. Give description and select type executable program.
4. Write code.
REPORT zab_rp_mi_local.
DATA: lv_erzet TYPE erzet,
lv_erdat TYPE erdat,
lv_vbtyp TYPE vbtyp,
lv_ernam TYPE ernam.
PARAMETERS: p_vbeln TYPE vbeln.
PARAMETERS: p_r1 TYPE c RADIOBUTTON GROUP g1,
p_r2 TYPE c RADIOBUTTON GROUP g1.
INTERFACE if_sale.
METHODS sale
IMPORTING pvbeln TYPE vbeln
EXPORTING perzet TYPE erzet
perdat TYPE erdat
pvbtyp TYPE vbtyp
pernam TYPE ernam.
ENDINTERFACE.
INTERFACE if_delivery.
METHODS delivery
IMPORTING pvbeln TYPE vbeln
EXPORTING perzet TYPE erzet
perdat TYPE erdat
pvbtyp TYPE vbtyp
pernam TYPE ernam.
ENDINTERFACE.
CLASS sale_del DEFINITION.
PUBLIC SECTION.
INTERFACES if_sale.
INTERFACES if_delivery.
ENDCLASS.
CLASS sale_del IMPLEMENTATION.
METHOD if_sale~sale.
SELECT SINGLE erzet
erdat
vbtyp
ernam
FROM vbak
INTO ( perzet,perdat, pvbtyp, pernam )
WHERE vbeln EQ p_vbeln.
ENDMETHOD.
METHOD if_delivery~delivery.
SELECT SINGLE erzet
erdat
vbtyp
ernam
FROM likp
INTO ( perzet,perdat, pvbtyp, pernam )
WHERE vbeln EQ p_vbeln.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
DATA: obj TYPE REF TO sale_del.
CREATE OBJECT obj.
IF p_r1 = 'X'.
obj->if_sale~sale(
EXPORTING
pvbeln = p_vbeln
IMPORTING
perzet = lv_erzet
perdat = lv_erdat
pvbtyp = lv_vbtyp
pernam = lv_ernam
).
WRITE: 'Sale order details', / p_vbeln ,
/ lv_erzet,
/ lv_erdat,
/ lv_vbtyp,
/ lv_ernam.
ELSEIF p_r2 = 'X'.
obj->if_delivery~delivery(
EXPORTING
pvbeln = p_vbeln
IMPORTING
perzet = lv_erzet
perdat = lv_erdat
pvbtyp = lv_vbtyp
pernam = lv_ernam
).
WRITE: 'Delivery order details', / p_vbeln ,
/ lv_erzet,
/ lv_erdat,
/ lv_vbtyp,
/ lv_ernam.
ENDIF.
Case1- Sale
* Input
* Output
Case2- Delivery
* Input
* Output
Comments
Post a Comment