You are on page 1of 2

*&---------------------------------------------------------------------*

*& Report ZB90_SELECT_WA


*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT zb90_select_wa LINE-SIZE 80.


* Type Groups
TYPE-POOLS ztg90 .
* Types
TYPES: BEGIN OF typ_vbap,
vbeln TYPE vbap-vbeln,
posnr TYPE vbap-posnr,
matnr TYPE vbap-matnr,
kwmeng TYPE vbap-kwmeng,
netpr TYPE vbap-netpr,
END OF typ_vbap.
*Field String
DATA: BEGIN OF gs_vbap_1 OCCURS 0,
vbeln TYPE vbap-vbeln,
posnr TYPE vbap-posnr,
matnr TYPE vbap-matnr,
kwmeng TYPE vbap-kwmeng,
netpr TYPE vbap-netpr,
END OF gs_vbap_1.
* Declarations
* varaibles
DATA:gv_tot_q TYPE vbap-kwmeng,
gv_tot_p TYPE vbap-netpr.

* Work areas
DATA:
* gs_vbap TYPE zb89_so_str."vbap.
* gs_vbap TYPE typ_vbap. "Advisable
gs_vbap TYPE ztg90_vbap.
* Field Symbol
FIELD-SYMBOLS:<fs_vbap> TYPE typ_vbap,
<fs_any> TYPE any.

* Input
PARAMETERS:p_so TYPE vbap-vbeln OBLIGATORY,
p_col DEFAULT '6'.

* Clear Varaibles
CLEAR:gv_tot_q,
gv_tot_p,
gs_vbap.

* Display Column Headings


ULINE.
FORMAT COLOR = p_col.
WRITE:/'|','Order No', 11'|','Item No',20'|','Material No',
40'|','Quantity',60'|','Price',80'|'.
ULINE.
FORMAT COLOR = p_col INVERSE.
* Extract data from DB Table
*SELECT * "Not Aviable
SELECT vbeln
posnr
matnr
kwmeng
netpr
FROM vbap
* into(gv_vbeln,gv_posnr...)
INTO gs_vbap
WHERE vbeln = p_so.
* Fill Field Symbols
ASSIGN gs_vbap TO <fs_vbap>.
* Totals
gv_tot_q = gv_tot_q + gs_vbap-kwmeng.
gv_tot_p = gv_tot_p + gs_vbap-netpr.
* Display data
WRITE:/'|',gs_vbap-vbeln, 11'|',gs_vbap-posnr,20'|',gs_vbap-matnr,
40'|',<fs_vbap>-kwmeng LEFT-JUSTIFIED DECIMALS 2,60'|',gs_vbap-netpr LEFT-
JUSTIFIED,80'|'.
ENDSELECT.
ULINE.
FORMAT COLOR = p_col INVERSE OFF.
* Display Totals
WRITE:/ '|','Totals',40 '|',gv_tot_q LEFT-JUSTIFIED,60 '|',gv_tot_p LEFT-
JUSTIFIED,80'|'.
ULINE.

You might also like