Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

VBPA-ADRDA

Former Member
0 Likes
2,430

Hi guys,

Can you please confirm if the logic below is correct for SD documents (sales, delivery and invoices)? We are in 4.7.

if vbpa-adrda = 'A'.

read address from KNA1.

else.

read from ADRC using vbpa-adrnr.

endif.

Additional questions:

1. what is the difference between B,C and E,F adrda values?

2. what about the diff between A and D?

3. follow-up on #2, if adrda = 'A', can i still use adrnr value to get to ADRC?

Thanks in advance,

John

1 ACCEPTED SOLUTION
Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
1,468

I think no matter what the value is for ADRDA, you should always get the address from ADRC using ADRNR. Why, because this represents the address assocatied with the sales document. When you create the sales document addresses are copied from the customer master into the sales document, the user is allow to modify the address at time of creation, this is stored in ADRC and the ADRNR in VBPA will give you that address. The address which was copied and possibly modified.

Of course, if this is not your business process, then you can get it directly from the customer master, but this may not be the "true" address as it could have been modified. Make sense?

Regards,

Rich Heilman

I think no matter what the value is for ADRDA, you should always get the address from ADRC using ADRNR. Why, because this represents the address assocatied with the sales document. When you create the sales document addresses are copied from the customer master into the sales document, the user is allow to modify the address at time of creation, this is stored in ADRC and the ADRNR in VBPA will give you that address. The address which was copied and possibly modified.

Of course, if this is not your business process, then you can get it directly from the customer master, but this may not be the "true" address as it could have been modified. Make sense?

Regards,

Rich Heilman

3 REPLIES 3
Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
1,469

I think no matter what the value is for ADRDA, you should always get the address from ADRC using ADRNR. Why, because this represents the address assocatied with the sales document. When you create the sales document addresses are copied from the customer master into the sales document, the user is allow to modify the address at time of creation, this is stored in ADRC and the ADRNR in VBPA will give you that address. The address which was copied and possibly modified.

Of course, if this is not your business process, then you can get it directly from the customer master, but this may not be the "true" address as it could have been modified. Make sense?

Regards,

Rich Heilman

Read only

suresh_datti
Active Contributor
0 Likes
1,468

Hi John,

Yes you are correct as can be seen from the following are the domain values for the field ADRDA.


	A	Address from master data
	B	Address entered in document manually
	C	Address entered in document manually / dependent on 'B'
	D	ADRC address from master data
	E	ADRC address entered in document manually
	F	ADRC address entered in document manually / dep. on 'E' doc.
	G	Private address from master data

~Suresh

Read only

Former Member
0 Likes
1,468

Hi John,

Actually theres a concept of 1-time customer where in u wont maintain any customer Master for that.U will directly put the name,address,etc in the SD Document.

In this case a ADRNR ic created in the VBPA Table and the corresponding record is inserted in ADRC.

Please check the XCPDK flag for 1 - time customer.

As Rich has suggested always pick the ADRNR number and find the data from ADRC Table.

I dont ADRDA will make much difference here if u check the ADRNR Table.But if u want 2 pick data from KNA1 then check the XCPDK.

eg.

IF VBPA-XCPDK EQ 'X'.

GET VBPA-ADRNR.

READ DATA FROM ADRC.

ELSE.

READ FROM KNA1.

ENDIF.

Hope it helps.

Regards,

samson