Saturday, March 7, 2009

ABAP Sub Query Report

 *&---------------------------------------------------------------------*
*& Report ZITABGA8
*& Excercise for 5th Mar,09, Sub Query
*&---------------------------------------------------------------------*
*& _______ ________
*& / / /
*& / ___ /_______/
*& / / /
*& /______/ A U R A V / A T W A R I
*& gaurav_patwari@yahoo.co.in
*& ---------------------------------------------------------------------
*& Create a report that accepts the Purchasing organization (Default ‘0001’) as input
*& and generates the list of purchase requisitions.
*& Declare an internal table with following fields from table EBAN. (Report: ZITAB??8)
*& BANFN - P.R. No.
*& ERDAT - Date last changed
*& WERKS - Plant
*& EKGRP - Purchasing group
*& BADAT - Requisition date
*& MATNR - Material no
*& MENGE - P.R. quantity
*& MEINS - Unit of measure
*& Hints:
*& 1. Purchasing group always belongs to Purchase organization.
*& 2. Table T026Z stores the assignment of Purchasing group to Purchase organization.
*& 3. Use sub query to find the Purchasing group for the given Purchase organization.
*&---------------------------------------------------------------------*

REPORT ZITABGA8.
TABLES: EBAN, T026Z.

DATA: BEGIN OF IT_EBAN OCCURS 0,
BANFN TYPE EBAN-BANFN, " P.R. No.
ERDAT TYPE EBAN-ERDAT, " Date last changed
WERKS TYPE EBAN-WERKS, " Plant
EKGRP TYPE EBAN-EKGRP, " Purchasing group
BADAT TYPE EBAN-BADAT, " Requisition date
MATNR TYPE EBAN-MATNR, " Material no
MENGE TYPE EBAN-MENGE, " P.R. quantity
MEINS TYPE EBAN-MEINS, " Unit of measure
END OF IT_EBAN.

PARAMETERS P_EKORG TYPE EBAN-EKORG DEFAULT '0001'.

START-OF-SELECTION.
SELECT BANFN
ERDAT
WERKS
EKGRP
BADAT
MATNR
MENGE
MEINS
FROM EBAN
INTO CORRESPONDING FIELDS OF TABLE IT_EBAN
WHERE EKGRP IN ( SELECT EKGRP FROM T026Z WHERE EKORG = P_EKORG ).

END-OF-SELECTION.
LOOP AT IT_EBAN.
WRITE: /
SY-VLINE, 2 IT_EBAN-BANFN, " UNDER '|P.R. No.',
13 SY-VLINE,14 IT_EBAN-ERDAT , "UNDER '|Date changed',
25 SY-VLINE,26 IT_EBAN-WERKS , "UNDER '|Plant',
30 SY-VLINE,31 IT_EBAN-EKGRP , "UNDER '|Pur. Group',
34 SY-VLINE,35 IT_EBAN-BADAT , "UNDER '|Req. date',
45 SY-VLINE,46 IT_EBAN-MATNR , "UNDER '|Mat. no',
64 SY-VLINE,65 IT_EBAN-MENGE ,"UNDER '|P.R. Qty',
81 SY-VLINE,82 IT_EBAN-MEINS , "UNDER '|UoM'.
SY-VLINE.
PERFORM DRAWLINE.
ENDLOOP.

TOP-OF-PAGE.
PERFORM GAURAVHEADER.
PERFORM TABLEHEADER.

*&---------------------------------------------------------------------*
*& Form DRAWLINE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM DRAWLINE.
NEW-LINE.
DO 86 TIMES.
WRITE : '-' NO-GAP.
ENDDO.
ENDFORM. "DRAWLINE
*&---------------------------------------------------------------------*
*& Form GAURAVHEADER
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GAURAVHEADER .
WRITE:/' _______ ________'.
WRITE:/' / / /'.
WRITE:/' / ___ /_______/'.
WRITE:/' / / /'.
WRITE:/' /______/ A U R A V / A T W A R I'.
WRITE:/' gaurav_patwari@yahoo.co.in '.
WRITE:/ SY-ULINE.
ENDFORM. " GAURAVHEADER
*&---------------------------------------------------------------------*
*& Form TABLEHEADER
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM TABLEHEADER .
WRITE : /.
PERFORM DRAWLINE.
NEW-LINE.
WRITE: 1 '|P.R. No.',
13 '|Date changed',
25 '|Plant',
30 '|Pur. Group',
34 '|Req. date',
45 '|Mat. no',
64 '|P.R. Qty',
81 '|UoM',
86 '|'.
PERFORM DRAWLINE.
ENDFORM. " TABLEHEADER

No comments:

Post a Comment