Display the data using factory method in full screen
1. Goto SE38.
2. Give program name and click on create.
3. Give title and click on save.
4. Write code.
REPORT zab_rp_oops_factory.
TABLES: ekko,ekpo.
TYPES: BEGIN OF ty_ekko,
ebeln TYPE ekko-ebeln,
bukrs TYPE ekko-bukrs,
bstyp TYPE ekko-bstyp,
bsart TYPE ekko-bsart,
END OF ty_ekko.
TYPES: BEGIN OF ty_ekpo,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
matnr TYPE ekpo-matnr,
werks TYPE ekpo-werks,
END OF ty_ekpo.
TYPES: BEGIN OF ty_final,
ebeln TYPE ekko-ebeln,
bukrs TYPE ekko-bukrs,
bstyp TYPE ekko-bstyp,
bsart TYPE ekko-bsart,
ebelp TYPE ekpo-ebelp,
matnr TYPE ekpo-matnr,
werks TYPE ekpo-werks,
END OF ty_final.
DATA: lt_ekko TYPE TABLE OF ty_ekko,
lr_ekko TYPE ty_ekko,
lt_ekpo TYPE TABLE OF ty_ekpo,
lr_ekpo TYPE ty_ekpo,
lt_final TYPE TABLE OF ty_final,
lr_final TYPE ty_final.
DATA: lo_salv TYPE REF TO cl_salv_table.
SELECT-OPTIONS: s_ebeln FOR ekko-ebeln.
IF s_ebeln IS INITIAL.
MESSAGE 'Pls enter purchasing doc number' TYPE 'E'.
ELSE.
SELECT ebeln
bukrs
bstyp
bsart
FROM ekko
INTO TABLE lt_ekko
WHERE ebeln IN s_ebeln.
ENDIF.
IF lt_ekko IS NOT INITIAL.
SELECT ebeln
ebelp
matnr
werks
FROM ekpo
INTO TABLE lt_ekpo
FOR ALL ENTRIES IN lt_ekko
WHERE ebeln = lt_ekko-ebeln.
ENDIF.
LOOP AT lt_ekko INTO lr_ekko.
lr_final-ebeln = lr_ekko-ebeln.
lr_final-bukrs = lr_ekko-bukrs.
lr_final-bstyp = lr_ekko-bstyp.
lr_final-bsart = lr_ekko-bsart.
LOOP AT lt_ekpo INTO lr_ekpo WHERE ebeln = lr_ekko-ebeln.
lr_final-ebelp = lr_ekpo-ebelp.
lr_final-matnr = lr_ekpo-matnr.
lr_final-werks = lr_ekpo-werks.
APPEND lr_final TO lt_final.
CLEAR lr_final.
ENDLOOP.
ENDLOOP.
TRY.
CALL METHOD cl_salv_table=>factory
* EXPORTING
* list_display = IF_SALV_C_BOOL_SAP=>FALSE
* r_container =
* container_name =
IMPORTING
r_salv_table = lo_salv
CHANGING
t_table = lt_final.
CATCH cx_salv_msg.
ENDTRY.
CALL METHOD lo_salv->if_salv_gui_om_table_action~display.
Input
Output
Comments
Post a Comment