Segments E1EDKA1 and E1IDB02 are evaluated to determine the company code, customer or vendor. The address is contained in segment E1EDKA1, and the bank details of the customer/vendor resp. of our company (our company code) is contained in segment E1IDB02.
Segment E1EDKA1 ('Partner information of sender and receiver') is evaluated first to determine the company code, customer or vendor for a received payment advice note. This segment should be contained twice in the IDOC.
The following values are supported as qualifiers for the partner function of this segment:
AG - Payer
BE - Payee
PA - Partner
Segments with other partner functions are ignored completely.
2. Partner function = 'BE', 'PA'
2.a Element 'PARTN' - our number at the vendor or customer or
element 'NAME1' - name of the vendor
Table T076B (' Assign name <-> Company code') is read to determine the current company code. You can store the actual company code for a business partner (partner category, partner number) and their company code ID in the table.
Caution: If the 'PARTN' field is filled, table T076B is read with this value. Only if the 'PARTN' field is empty, the field contents of 'NAME1' is used for reading.
Important: Only the first 20 characters of the company name are output with the error message. However, the complete name (up to 35 characters) must be specified in table T076B. Please refer to the 'NAME1' field of the segment 'E1EDKA1' for the complete name.
Example:
Our vendor 'KAISER' sends us payment advice notes, where we are identified as the receiver with the name 'SAP DEUTSCHLAND'. To assign all payment advice notes of this type to our company code 'DE01', maintain the following entry in table T076B:
Key: 'LI' 'KAISER' 'SAP DEUTSCHLAND'
Attribute : 'DE01'
* Insert new segment
loop at edidd_table where segnam = 'E1IDKU3'.
if reguh_data-zland eq 'ES'.
else.
l_e1idt01 = edidd_table-sdata.
l_e1idt01-txtvw = l_payment_reason.
concatenate l_city l_slash
l_fiscal_code_nr l_slash into l_e1idt01-txt01.
edidd_table-sdata = l_e1idt01.
edidd_table-segnam = 'E1IDT01'.
insert edidd_table.
endif.
endloop.
* Modify existed segment
loop at edidd_table where segnam = 'E1EDKA1'.
if edidd_table-sdata+0(2) eq 'BE' and reguh_data-zland eq 'IT'.
edidd_table-sdata+37(35) = 'Company name'.
edidd_table-sdata+177(35) = 'company address'.
edidd_table-sdata+282(35) = 'city'.
edidd_table-sdata+326(9) = 'postal code'.
modify edidd_table.
endif.
endloop.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
6 | |
2 | |
2 | |
2 | |
2 | |
2 | |
2 | |
1 | |
1 | |
1 |