10-25-2011 6:29 AM
Dear All,
Happpy Diwali.
I want BSEG-BELNR based on Invoice no(VBRK-VBELN).
Please tale me another way to get same data as per below code.
DATA : V_BELNR TYPE BKPF-BELNR.
LOOP AT IT_DATA .
SELECT SINGLE BELNR
INTO V_BELNR
FROM BSEG
WHERE VBELN = IT_DATA-INVNO
AND SHKZG = 'S'.
if sy-subrc = 0.
iT_DATA-BELNR = V_BELNR .
MODIFY IT_DATA TRANSPORTING BELNR.
endif.
CLEAR V_BELNR.
ENDLOOP.
Kindly advice another select query for above query.
Regards,
Parshuram.
10-25-2011 7:41 AM
As BSEG is a cluster your program performance will be very bad (full table scan). To get link between SD invoice (VBRK-VBELN) and FI accounting document (BKPF-BUKRSBELNRGJAHR) use the link to original document which is stored in FI :
- BKPF-AWTYP = 'VBRK'
- BKPF-AWKEY = VBRK-VBELN (*)
Regards,
Raymond
(*) field to map before statement SELECT, look a TTYP table with key 'VBRK'.
10-25-2011 7:41 AM
As BSEG is a cluster your program performance will be very bad (full table scan). To get link between SD invoice (VBRK-VBELN) and FI accounting document (BKPF-BUKRSBELNRGJAHR) use the link to original document which is stored in FI :
- BKPF-AWTYP = 'VBRK'
- BKPF-AWKEY = VBRK-VBELN (*)
Regards,
Raymond
(*) field to map before statement SELECT, look a TTYP table with key 'VBRK'.
10-25-2011 8:27 AM
10-25-2011 8:34 AM
Hi Parsuram ,
Please close the thread if your Qtn answered .
Regards,
Maruthi
10-25-2011 8:11 AM
Hi Parshuram,
Please Select the BKPF-BELNR where BKPF-AWKEY = VBRK-VBELN And BKPF-AWTYP = 'VBRK' .
Select BSEG-BELNR from BSEG WHERE BUKRS = BKPF-BUKRS
BELNR = BKPF-BELNR
GJAHR = BKPF-GJAHR.
This Solution will work fast and efficiently.
Regards ,
Maruthi