Showing posts with label Inner Join to retrieve the Material Valuation Class. Show all posts
Showing posts with label Inner Join to retrieve the Material Valuation Class. Show all posts

Friday, November 23, 2007

Inner Join to retrieve the Material Valuation Class in sap abap programming

Inner Join to retrieve the Material Valuation Class pointing to
* which General Ledger.
*
* Based on transaction OBYC - Inventory Posting - BSX
*
* If you use inner join to read data from several logically
* connected tables instead of nested Select statements.
* It will reduce your network load.
*
* Written by : SAP Basis, ABAP Programming and Other IMG Stuff
*
REPORT ZVALGL.

TABLES: MARA, "General Material Data
MAKT, "Material Descriptions
MBEW, "Material Valuation
SKAT, "G/L Account Master Record
T025T, "Valuation Class Descriptions
T030. "Standard Accounts Table

DATA: BEGIN OF WA,
BKLAS TYPE MBEW-BKLAS,
BKBEZ TYPE T025T-BKBEZ,
MTART TYPE MARA-MTART,
MATNR TYPE MARA-MATNR,
MAKTX TYPE MAKT-MAKTX,
END OF WA,
ITAB LIKE SORTED TABLE OF WA
WITH NON-UNIQUE KEY BKLAS MATNR.

SELECT-OPTIONS: PLANT FOR MBEW-BWKEY MEMORY ID PLT,
MATLTYPE FOR MARA-MTART MEMORY ID TYP,
MATERIAL FOR MBEW-MATNR MEMORY ID MAT,
CHARTACC FOR T030-KTOPL MEMORY ID KTO.

SELECT P~BKLAS
F~MATNR F~MTART
G~MAKTX
T~BKBEZ
INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM ( ( ( ( MBEW AS P
INNER JOIN MARA AS F ON P~MATNR = F~MATNR )
INNER JOIN MAKT AS G ON P~MATNR = G~MATNR )
INNER JOIN T025T AS T ON P~BKLAS = T~BKLAS ) )
WHERE P~BWKEY IN PLANT
AND F~MTART IN MATLTYPE
AND P~MATNR IN MATERIAL
AND G~SPRAS = 'E'.

LOOP AT ITAB INTO WA.
CLEAR: T030, SKAT.
SELECT SINGLE * FROM T030 WHERE BKLAS = WA-BKLAS
AND KTOSL = 'BSX'.
SELECT SINGLE * FROM SKAT WHERE SAKNR = T030-KONTS
AND SPRAS = 'E'.
WRITE: / WA, T030-KONTS, SKAT-TXT20.
ENDLOOP.

Blog Archive