The audience for this note is someone with developer level knowledge.
Report Variables Used in Printing an Invoice
Below is a listing of report variables that can be printed through Invoice Print (R42565):
Column
Report Variable
Column
Report Variable
Sold To
Sold To Addr Alpha Name
Ship To
Ship To Addr Alpha Name
Sold To Addr Line 1
Ship To Addr Line 1
Sold To Addr Line 2
Ship To Addr Line 2
Sold To Addr Line 3
Ship To Addr Line 3
Sold To Addr Line 4
Ship To Addr Line 4
Sold To Addr Line 5
Ship To Addr Line 5
Sold To Addr Line 6
Ship To Addr Line 6
Sold To Addr Line 7
Ship To Addr Line 7
Sold To Addr Line 8
Ship To Addr Line 8
Sold To Addr Line 9
Ship To Addr Line 9
Note: Currently 'RV Sold To Addr Line 9' is not implemented.
Address Type Used in Printing Invoices
The Address Type will indicate the address number that is associated with the order address information. The possible values are defined in UDC (40|AN) - "Type - Address Number"
Most commonly used codes are:
1 Sold-to Address Number (Sales Orders) Supplier Address Number (Purchase Orders)
2 Ship-to Address Number
5 Deliver To
6 Forward To
7 Invoice To
Note:
Actual code and description in UDC (40|AN) may be different from actual implementation.
New definition may not take effect as all the codes are hard coded through event rule of R42565 and BSFN B4006.
Currently 1, 2, 6 and 7 are supported.
Printing 'Invoice To' and/or 'Forward To' in the Sold To Position in R42565
First of all, you have to turn on 'Customer Set' . For more information on Customer Sets see E1: 42: Date Sensitive Customer Sets (P4210/P42101/R42565/R0018I1) (Doc ID 625649.1):
Customer Set is ON.
Address Number - Invoiced To (F4201.ITAN - AddressNumberInvoicedTo) can be populated through Order Header.
Address Number - Forwarded To (F4201.FTAN - AddressNumberForwardedTo) can be populated same manner.
To print another set of invoice to Forward To address "item #23. Print copy for Fowarded To address (1 = Print, Blank = Do not Print) in Print Tab" of Processing Option has to be set '1'.
So The Hierarchy in printing sold to on invoice print with Customer Sets on:
If customer sets is on and invoiced to is not blank , then verify the existence of override order address for invoice to and use it.
Else if invoice to is blank then use sold to logic.
Forwarded to copy (when processing option to print forwarded to copy is on).
If customer sets is on and invoiced to is not equal to Forwarded to (and forwarded to is not blank), then verify the existence of override order address for forwarded to and use it.
Else if forwarded to is blank then use Sold To logic.
Note: Internally this routine will be specified by setting 'Addres Type' (F4006.ANTY) and F4201.SHAN (or F42019.SHAN) will not be affected by Customer Set parameter.
Settings from the Customer Master Table (F03012) Affecting the Mailing Address in R42565
SendInvoiceTo (F03012.SITO)
cInvoiceConsolidation (F03012.ICON)
Country Specific Address Type Printing
Yes. Country specific address format will be handled through B0100067 (refer below question). But note that the value returned by this BSFN will be overridden again. Currently only Address Format ID '15' which is meant for Japan has output which meets country requirement
Mailing Address of the Sold To When Override Address (F4006) is Populated
<Internal_Only>Refer detail routine for this in E1: 40: Labeling/Formatting Mailing Address in EnterpriseOne (R42565/R43500/R47011) (Doc ID 1157643.1) which is referring BSFN B0100021 - FormattedAddress (F0116 Get Mailing Address Format). </Internal_Only> Simplified routines are:
Get data from F4006 through BSFN B4006 - GetOrderAddress (F4006 Get Order Address).
Format Address Lines through BSFN B0100021 - FormattedAddress (F0116 Get Mailing Address Format).
F4006 Get Order Address BC Document (Order No, Invoice, etc.) (F42565)(DOCO) -> BF mnDocumentNumber BC Order Type (F42565)(DCTO) -> BF szDocumentType BC Order Company (Order Number) (F42565)(KCOO) -> BF szDocumentCompany VA evt_cTypeAddressNumber_ANTY -> BF cAddressNumberType RV Sold To Addr Alpha Name <- BF szMailingName(#1) RV Sold To Addr Line 1 <- BF szAddressLine1 (#2) RV Sold To Addr Line 2 <- BF szAddressLine2 (#3) RV Sold To Addr Line 3 <- BF szAddressLine3 (#4) RV Sold To Addr Line 4 <- BF szAddressLine4 (#5) RV Zip Code WF <- BF szPostalCode (#6) RV City (WF) <- BF szCity (#7) RV State WF <- BF szState (#8) RV Country WF <- BF szCountry (#9)
F0116 Get Mailing Address Format RV Sold To Addr Alpha Name <> BF szNameMailing (#1) RV Sold To Addr Line 1 <> BF szAddressLine1 (#2) RV Sold To Addr Line 2 <> BF szAddressLine2 (#3) RV Sold To Addr Line 3 <> BF szAddressLine3 (#4) RV Sold To Addr Line 4 <> BF szAddressLine4 (#5) RV Sold To Addr Line 5 <> BF szAddressLine5 RV Sold To Addr Line 6 <> BF szAddressLine6 RV Sold To Addr Line 7 <> BF szAddressLine7 RV City (WF) -> BF szCity (#7) RV State WF -> BF szState (#8) RV Zip Code WF -> BF szZipCodePostal (#6) RV Country WF -> BF szCountry (#9)
Mailing Address of the Sold To when the Override Address (F4006) is not Populated
A. Determine which address number to be used to pull out mailing address (F03012.SITO: Send Invoice to C/P):
Case (SITO = 'R') (F03012.arpy)
Case (SITO = '1') F0101.an81
Case (SITO = '2') F0101.an82
Case (SITO = '3') F0101.an83
Case (SITO = '5') F0101.an86
Case (SITO = '6') F0101.an85
Case (SITO = '1') F0101.an81
Case (SITO = 'P') F4201.pa8
Default AN8 - Sold To Address Number
Note: This value will be used in calling B0100067 by assigning above return value to RV AN8 For Address Lines WF (Refer B)
B. Get AddressLine 1 through 7 through BSFN B0100067 - FormattedAddressWithWhosWho (Formatted Address With Who's Who)
Refer to E1: BSFN: Information on Business Function B0100067-Formatted Address With Who's Who (Doc ID 1173464.1) which make use of B0100067 - FormattedAddressWithWhosWho (Formatted Address With Who's Who).
Formatted Address With Who's Who VA sec_szWhosWhoMailingName_ALPH <- BF szNameMailing RV Sold To Addr Alpha Name <- BF szNameAlpha VA sec_szAddressLine1_ADD1 <- BF szAddressLine1 VA sec_szAddressLine2_ADD2 <- BF szAddressLine2 VA sec_szAddressLine3_ADD3 <- BF szAddressLine3 VA sec_szAddressLine4_ADD4 <- BF szAddressLine4 VA sec_szAddressLine5_ADD5 <- BF szAddressLine5 VA sec_szAddressLine6_ADD6 <- BF szAddressLine6 VA sec_szAddressLine7_ADD7 <- BF szAddressLine7 RV AN8 For Address Lines WF -> BF mnAddressNumber (Ref #1) VA evt_szSoldToCountry_CTR <- BF szCountry VA sec_szWhoWhoTitle_ALPH <- BF szContactTitle VA sec_cWhoWhoType_EV01 -> BF cTypeCode (Ref #2) VA sec_cWhosWhoInfoFlag_EV01 <- BF cWhosWhoInformation VA sec_szWhoWhoName_DESC <- BF szSalutationName BC Customer Contact Line Number ID (F4201)(CCIDLN) -> BF mnWhosWhoLineID (Ref #3)
Note:
Input parameter Ref #1, Ref #2 and Ref #3 affects the output
Ref #1 is to determine which address number to use in searching data from F0116 and F0111 (Refer A)
Ref #2 and Ref #3 is to be used which row to fetch in accessing F0111
To analyze return value refer E1: BSFN: Information on Business Function B0100067-Formatted Address With Who's Who (Doc ID 1173464.1)
Ref #2 VA sec_cWhoWhoType_EV01 (or F0111.TYC) is to be determined as below
If customer set is ON then B - A/R Billing Name is to be used
If evt_cTypeAddressNumber_ANTY is not 7 - Invoice To and F4201.IDLN is greater than 0 then get F4201.TYC where (F0111.AN8 = F4201.AN8 AND F0111.IDLN = F4201.IDLN)
Ref #3 BC Customer Contact Line Number ID (F4201)(CCIDLN) is to be overridden to 0 if CustomerSet is ON and ANTY is 6 or 7
C. Read F0070 - Country Constant to get F0070.ADID (Address Format ID) based on F0116.CTR then assign variables returned from B0100067 to Report Variables as below.
If F0070.ADID = 15 which is F0116.CTR = JP - Japan then:
Case (F0111 do not have data met)
RV Sold To Addr Line 1 = VA sec_szWhosWhoMailingName_ALPH
RV Sold To Addr Line 2 = VA sec_szAddressLine1_ADD1
RV Sold To Addr Line 3 = VA sec_szAddressLine2_ADD2
RV Sold To Addr Line 4 = VA sec_szAddressLine3_ADD3
RV Sold To Addr Line 5 = VA sec_szAddressLine4_ADD4
RV Sold To Addr Line 6 = VA sec_szAddressLine5_ADD5
RV Sold To Addr Line 7 = VA sec_szAddressLine6_ADD6
RV Sold To Addr Line 8 = VA sec_szAddressLine7_ADD7
Case (F0111 has data and VA sec_szWhoWhoTitle_ALPH(szSalutationName) not blank)
RV Sold To Addr Line 1 = VA sec_szWhosWhoMailingName_ALPH
RV Sold To Addr Line 2 = VA sec_szWhoWhoTitle_ALPH
RV Sold To Addr Line 3 = VA sec_szAddressLine2_ADD1
RV Sold To Addr Line 4 = VA sec_szAddressLine3_ADD2
RV Sold To Addr Line 5 = VA sec_szAddressLine4_ADD3
RV Sold To Addr Line 6 = VA sec_szAddressLine5_ADD4
RV Sold To Addr Line 7 = VA sec_szAddressLine6_ADD5
RV Sold To Addr Line 8 = VA sec_szAddressLine7_ADD6
Case (F0111 has data and VA sec_szWhoWhoTitle_ALPH(szSalutationName) blank)
RV Sold To Addr Line 1 = VA sec_szWhosWhoMailingName_ALPH
RV Sold To Addr Line 2 = VA sec_szAddressLine2_ADD1
RV Sold To Addr Line 3 = VA sec_szAddressLine2_ADD2
RV Sold To Addr Line 4 = VA sec_szAddressLine3_ADD3
RV Sold To Addr Line 5 = VA sec_szAddressLine4_ADD4
RV Sold To Addr Line 6 = VA sec_szAddressLine5_ADD5
RV Sold To Addr Line 7 = VA sec_szAddressLine6_ADD6
If F0070.ADID <> 15 (which is other than Japan),
Case (F0111 do not have data met)
RV Sold To Addr Alpha Name = VA sec_szWhosWhoMailingName_ALPH
RV Sold To Addr Line 1 = VA sec_szAddressLine1_ADD1
RV Sold To Addr Line 2 = VA sec_szAddressLine2_ADD2
RV Sold To Addr Line 3 = VA sec_szAddressLine3_ADD3
RV Sold To Addr Line 4 = VA sec_szAddressLine4_ADD4
RV Sold To Addr Line 5 = VA sec_szAddressLine5_ADD5
RV Sold To Addr Line 6 = VA sec_szAddressLine6_ADD6
RV Sold To Addr Line 7 = VA sec_szAddressLine7_ADD7
Case (F0111 has data and VA sec_szWhoWhoTitle_ALPH(szSalutationName) not blank)
RV Sold To Addr Alpha Name = VA sec_szWhosWhoMailingName_ALPH
RV Sold To Addr Line 1 = VA sec_szWhoWhoTitle_ALPH
RV Sold To Addr Line 2 = VA sec_szWhoWhoName_DESC
RV Sold To Addr Line 3 = VA sec_szAddressLine1_ADD1
RV Sold To Addr Line 4 = VA sec_szAddressLine2_ADD2
RV Sold To Addr Line 5 = VA sec_szAddressLine3_ADD3
RV Sold To Addr Line 6 = VA sec_szAddressLine4_ADD4
RV Sold To Addr Line 7 = VA sec_szAddressLine5_ADD5
RV Sold To Addr Line 8 = VA sec_szAddressLine6_ADD6
Case (F0111 has data and VA sec_szWhoWhoTitle_ALPH(szSalutationName) blank)
RV Sold To Addr Line 1 = VA sec_szWhoWhoName_DESC
RV Sold To Addr Line 2 = VA sec_szAddressLine2_ADD1
RV Sold To Addr Line 3 = VA sec_szAddressLine2_ADD2
RV Sold To Addr Line 4 = VA sec_szAddressLine3_ADD3
RV Sold To Addr Line 5 = VA sec_szAddressLine4_ADD4
RV Sold To Addr Line 6 = VA sec_szAddressLine5_ADD5
RV Sold To Addr Line 7 = VA sec_szAddressLine6_ADD6
Mailing Address of the Ship To when the Override Address (F4006) is Populated
This routine is same with routine to print Sold To address. For this case, it is not affected by SITO (Send Invoice To) value from F03012 - Customer Master.
Get data from F4006 through BSFN B4006 - GetOrderAddress (F4006 Get Order Address)
Format Address Lines through BSFN B0100021 - FormattedAddress (F0116 Get Mailing Address Format)
Mailing Address of the Ship To when the Override Address (F4006) is Not Populated
Same routine with Sold To address printing.
For this case:
Get VA sec_cWhoWhoType_EV01 (CTY - Type Code) from F0111 ON (F0111.AN8 = F4201.SHAN AND F0111.IDLN = F4201.CCIDLN)
Get variable through BSFN B0100067 based on F4201.SHAN
Format it with above routine for Sold To
Note:
Variable define above are coming from B0100067
F4006 can be populated through R47011 and R4311Z1I
To discuss information further with Oracle experts and industry peers, we encourage you to review, join or start a discussion in the JDE1 Distribution Community.
To look at upcoming or archived Advisor Webcasts please see Advisor Webcast Details (Doc ID 548764.1) if your topic is not currently scheduled please suggest it.