0% found this document useful (0 votes)
2 views4 pages

Multi - Sales Table Report

This document is an ABAP report that retrieves sales order data from the VBAK and VBAP tables based on user input. It defines several data types and structures to hold the retrieved information, processes the data to combine relevant fields, and prepares it for display in an ALV grid format. The report includes field catalog definitions for the ALV output and handles potential errors during execution.

Uploaded by

tlninfo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views4 pages

Multi - Sales Table Report

This document is an ABAP report that retrieves sales order data from the VBAK and VBAP tables based on user input. It defines several data types and structures to hold the retrieved information, processes the data to combine relevant fields, and prepares it for display in an ALV grid format. The report includes field catalog definitions for the ALV output and handles potential errors during execution.

Uploaded by

tlninfo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

REPORT ztrk_mul_tab_report_vbak.

TABLES : vbak,
vbap.

TYPES : BEGIN OF type_vbak,

vbeln TYPE vbak-vbeln,


ernam TYPE vbak-ernam,
auart TYPE vbak-auart,
netwr TYPE vbak-netwr,
END OF type_vbak.

TYPES : BEGIN OF type_vbap,


vbeln TYPE vbap-vbeln,
posnr TYPE vbap-posnr,
matnr TYPE vbap-matnr,
kwmeng TYPE vbap-kwmeng,
netpr TYPE vbap-netpr,
END OF type_vbap.

TYPES : BEGIN OF type_final,


vbeln TYPE vbak-vbeln,
ernam TYPE vbak-ernam,
auart TYPE vbak-auart,
netwr TYPE vbak-netwr,
posnr TYPE vbap-posnr,
matnr TYPE vbap-matnr,
kwmeng TYPE vbap-kwmeng,
netpr TYPE vbap-netpr,
END OF type_final.

DATA : lt_type_vbak TYPE TABLE OF type_vbak.


DATA : lw_type_vbak TYPE type_vbak.
DATA : lt_type_vbap TYPE TABLE OF type_vbap.
DATA : lw_type_vbap TYPE type_vbap.
DATA : lt_type_final TYPE TABLE OF type_final.
DATA : lw_type_final TYPE type_final.
DATA : lt_fieldcat TYPE slis_t_fieldcat_alv.
DATA : lw_fieldcat TYPE slis_fieldcat_alv.

DATA : in_put TYPE vbeln_va.

SELECT-OPTIONS : s_vb FOR in_put.

SELECT vbeln posnr matnr kwmeng netpr


FROM vbap INTO TABLE lt_type_vbap
WHERE vbeln IN s_vb.

IF lt_type_vbap IS NOT INITIAL.


SELECT vbeln ernam auart netwr
FROM vbak INTO TABLE lt_type_vbak
FOR ALL ENTRIES IN lt_type_vbap
WHERE vbeln = lt_type_vbap-vbeln.
ENDIF.

LOOP AT lt_type_vbap INTO lw_type_vbap.


LOOP AT lt_type_vbak INTO lw_type_vbak WHERE vbeln = lw_type_vbap-vbeln.
lw_type_final-vbeln = lw_type_vbap-vbeln.
lw_type_final-posnr = lw_type_vbap-posnr.
lw_type_final-matnr = lw_type_vbap-matnr.
lw_type_final-kwmeng = lw_type_vbap-kwmeng.
lw_type_final-netpr = lw_type_vbap-netpr.
lw_type_final-ernam = lw_type_vbak-ernam.
lw_type_final-auart = lw_type_vbak-auart.
lw_type_final-netwr = lw_type_vbak-netwr.
APPEND lw_type_final TO lt_type_final.
CLEAR lw_type_final.
ENDLOOP.
ENDLOOP.

lw_fieldcat-col_pos = 1.
lw_fieldcat-fieldname = 'vbeln'.
lw_fieldcat-tabname = 'lt_type_finaL'.
lw_fieldcat-seltext_l = 'Document Number'.
append lw_fieldcat to lt_fieldcat.
clear lw_fieldcat.

lw_fieldcat-col_pos = 2.
lw_fieldcat-fieldname = 'posnr'.
lw_fieldcat-tabname = 'lt_type_finaL'.
lw_fieldcat-seltext_l = 'Sales Item'.
append lw_fieldcat to lt_fieldcat.
clear lw_fieldcat.

lw_fieldcat-col_pos = 3.
lw_fieldcat-fieldname = 'matnr'.
lw_fieldcat-tabname = 'lt_type_finaL'.
lw_fieldcat-seltext_l = 'Material No'.
append lw_fieldcat to lt_fieldcat.
clear lw_fieldcat.

lw_fieldcat-col_pos = 4.
lw_fieldcat-fieldname = 'kwmeng'.
lw_fieldcat-tabname = 'lt_type_finaL'.
lw_fieldcat-seltext_l = 'Order Qty'.
append lw_fieldcat to lt_fieldcat.
clear lw_fieldcat.

lw_fieldcat-col_pos = 5.
lw_fieldcat-fieldname = 'netpr'.
lw_fieldcat-tabname = 'lt_type_finaL'.
lw_fieldcat-seltext_l = 'Net Price'.
append lw_fieldcat to lt_fieldcat.
clear lw_fieldcat.

lw_fieldcat-col_pos = 6.
lw_fieldcat-fieldname = 'ernam'.
lw_fieldcat-tabname = 'lt_type_finaL'.
lw_fieldcat-seltext_l = 'Creator'.
append lw_fieldcat to lt_fieldcat.
clear lw_fieldcat.

lw_fieldcat-col_pos = 7.
lw_fieldcat-fieldname = 'auart'.
lw_fieldcat-tabname = 'lt_type_finaL'.
lw_fieldcat-seltext_l = 'Sales Doc Type'.
append lw_fieldcat to lt_fieldcat.
clear lw_fieldcat.

lw_fieldcat-col_pos = 8.
lw_fieldcat-fieldname = 'netwr'.
lw_fieldcat-tabname = 'lt_type_finaL'.
lw_fieldcat-seltext_l = 'Net Value'.
append lw_fieldcat to lt_fieldcat.
clear lw_fieldcat.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
* I_CALLBACK_PROGRAM = ' '
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
* IS_LAYOUT =
IT_FIELDCAT = lt_fieldcat
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = lt_type_final
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.

You might also like