Önceki Sayfa

SAP ABAP Programming, Functional and Basis Component Reference Books

Inner Join to retrieve the Material Valuation Class

*

* 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.

*

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.

Copyright © 2010. KM Group. All Rights Reserved.