03-12-2007 2:52 PM
Hi,
I have a situation where I need to PULL Salesman(PERNR) from VBPA and if not available i should got to VBRK where we have a Z field for Salesman.
How do we acheive this?
VBPA is not having any Sales org,Dist channel,Division data?
I need to pull following details from this table
bukrs, vkorg, spart, vtweg, vbeln, zsalesman,kunag, knumv ,waerk & fkart.
Any ideas?
Regards
Praveen
03-12-2007 2:57 PM
Hi,
You can link the VBRP-AUBEL (sales Order) number to this VBPA to get the PERNR and other fields.
VBRK and VBRP you can link together through VBELn field.
Take bukrs, vkorg, spart, vtweg, vbeln, zsalesman,kunag, knumv ,waerk & fkart from VBRK and AUBEL from VBRP and pass that AUBEL to VBPA and Get PERNR.
Regards,
Anji
Message was edited by:
Anji Reddy Vangala
03-12-2007 6:55 PM
Hi,
Check this code.
REPORT zrs_getpernr.
CONSTANTS: c_order LIKE vbfa-vbtyp_v VALUE 'C',
c_billing LIKE vbfa-vbtyp_n VALUE 'M'.
DATA: l_billdoc LIKE vbrk-vbeln,
l_pernr LIKE vbpa-pernr.
DATA: BEGIN OF lst_vbrk,
vbeln LIKE vbrk-vbeln,
fkart LIKE vbrk-fkart,
waerk LIKE vbrk-waerk,
vkorg LIKE vbrk-vkorg,
vtweg LIKE vbrk-vtweg,
knumv LIKE vbrk-knumv,
kunag LIKE vbrk-kunag,
spart LIKE vbrk-spart,
zsalesman like vbrk-salesman
END OF lst_vbrk.
PARAMETERS: p_vbeln LIKE vbak-vbeln.
** get sales person from VBPA
SELECT SINGLE
pernr FROM vbpa
INTO l_pernr
WHERE vbeln = p_vbeln.
** see value is initial
IF l_pernr IS INITIAL.
** get the subsequent billing document
SELECT SINGLE
vbeln FROM vbfa
INTO l_billdoc
WHERE vbelv = p_vbeln AND
vbtyp_v = c_order AND
vbtyp_n = c_billing.
** get billing document data
IF sy-subrc = 0.
SELECT SINGLE
vbeln
fkart
waerk
vkorg
vtweg
knumv
kunag
spart
zsalesman FROM vbrk
INTO lst_vbrk
WHERE vbeln = l_billdoc.
ENDIF.
ENDIF.