Labeling Mailing Address

Purpose of Document

Table of Contents

Purpose
Question and Answer

Simplified routine
What are the tables which contain mailing addresses?
When F0116 gets read where MLNM is coming from?
When Address by Effective Date is on through Address Book Constant, where is the Effective Date defaulting from?
What are the business function which handles a specific address format?
Which table stores a specific Address Format?
Can Address Format ID (ADID) be added?
How B010021 handles Mailing Address?
Is the same business function, B0100021, used when printing purchase orders using R43500?
What are the differences between B0100021 and B4205231?
Why Mailing Address Label in R42565 is different from R42520? It shows F0111.MLNM for address line 1 and F0116.ADD1 for the first line.

Purpose

Currently Address by Date (F0116) contains only four mailing address lines whereas Print Invoice (R42565) or Print Purchase Order (R43500) contains 7 or 9 formatted address lines that can be printed. So the purpose of this document is how EnterpriseOne supports output per Address Format ID (F0070.ADID) which can be accessed through 'Address Book Constant > Country Constants'

There are two ways to get the first five lines (MLNM, ADD1, ADD2, ADD3 and ADD5) through FormattedAddress (B0100021 - F0116 Get Mailing Address Format):

For both implementations the internal routine is same and this document will cover how it describes Mailing Name and Address Lines in Distribution Module.

It is important to understand that below 3 UBEs are calling different business functions to represent/label Formatted address:-

: So if possible, try to print out 3 different reports and verify whether there is any change made based on business function associated.

Note: Above routine is determined whether AN8 - Address Book Number is handed over or not. In other words, B0100021 can be called directly or can be called after calling B4006 (F4006 Get Order Address) which returns Mailing Name and Address Lines when mailing address is to be overridden for a specific order per request from Business Parties.

Questions and Answers

Below question and answer will take you to the sequence of events.

Simplified routine:

b0100021



Below Question and Answer are detailed information on above routine.,

What are the tables which contain mailing addresses?

For generic usage F0116 is to be used and for a specific transaction F4006 can be used. So F4006 is overridden addresses to meet requirement from business parties.

Column Description Remark
AN8* Address Number Customer, Supplier, Invoice To, Forward To (Primary Key)
EFTB* Date - Beginning Effective Address by Effective Date can be turned on through Address Book Constants. If this flag (F0009.EFS) is on a certain entity can have mailing address per date (Primary Key)
ADD1 Address Line1
ADD2 Address Line2
ADD3 Address Line3
ADD4 Address Line4
ADDZ (Zip) Postal Code
CTY1 City
ADDS State
CTR Country

Column Description Remark
DOCO* Order Number For both Sales Order and Purchase Order (Primary Key)
DCTO* Order Type
KCOO* Order Company
ANTY* Type - Address Number UDC (40/AN)
1: Sold-to or Purchased-from
2: Ship-to
6: Forwarded To
7: Invoice To
MLNM Mailing Name Note that F0116 does not contain this column
ADD1 Address Line1
ADD2 Address Line2
ADD3 Address Line3
ADD4 Address Line4
ADDZ (Zip) Postal Code
CTY1 City
ADDS State
CTR Country

Note:



When F0116 gets read where MLNM is coming from?
Currently mailing name is stored at F0111 (Address Book Who's Who) where IDLN (Who's Who Line Number - ID) is '0'. For example,
sql> SELECT WWAN8, WWIDLN, WWMLNM FROM PRODDTA.F0111 WHERE ( WWAN8 = 4242.000000 AND WWIDLN = 0.000000 )





When Address by Effective Date is on through Address Book Constant, where is the Effective Date defaulting from?
Effective From date is coming from F0101 (Address Book Master) for example:
sql> SELECT ABAN8, ABEFTB FROM PRODDTA.F0101 WHERE ( ABAN8 = 4242.000000 ) ORDER BY ABAN8 ASC
The above SELECT query is to be issued through business function GetABEffectiveDate. So based on F0101.EFTB it constructs how to get address lines from F0116.

Therefore, the sequence of event will be:

1. FormattedAddress (B0100021 - F0116 Get Mailing Address Format)
2. GetABEffectiveDate (B0100019 - F0101 Get Effective Date)
sql> SELECT ABAN8, ABEFTB FROM PRODDTA.F0101 WHERE ( ABAN8 = 4242.000000 ) ORDER BY ABAN8 ASC

2. GetEffectiveAddress (B0100033 - F0116 Get Effective Address)
sql> SELECT ABAN8, ABALPH FROM PRODDTA.F0101 WHERE ( ABAN8 = 4242.000000 )
sql> SELECT * FROM PRODDTA.F0116 WHERE ( ALAN8 = 4242.000000 ) ORDER BY ALAN8 ASC,ALEFTB ASC
Or, sql> SELECT * FROM PRODDTA.F0116 WHERE ( ALAN8 = 4242.000000 AND ALEFTB = F0101.ABEFTB) ORDER BY ALAN8 ASC,ALEFTB ASC

2. GetMailingName (B0100031 - F0111 Get Mailing Name)
sql> SELECT WWAN8, WWIDLN, WWMLNM FROM PRODDTA.F0111 WHERE ( WWAN8 = 4242.000000 AND WWIDLN = 0.000000 )

2. GetUserLanguagePreference (B0000148 - Get User Language Preference)

(Then read F0070 - Country Constants Master Files)
sql> SELECT CKCTR, CKADID, CKPOSC, CKCTRP FROM PRODDTA.F0070 WHERE ( CKCTR = 'CA' )

2. GetUDC (to get the description of Country)
(Now Set output values based on Address Format required)

Note:




What are the business function which handles a specific address format?
It is handled by the business function B0100021 as below,

Parameter Alias Dir Remark
szNameMailing (40) MLNM IN/OUT RV Sold To Addr Alpha Name
szAddressLine1 (40) ADD1 IN/OUT
szAddressLine2 (40) ADD2 IN/OUT
szAddressLine3 (40) ADD3 IN/OUT
szAddressLine4 (40) ADD4 IN/OUT
szAddressLine5 (40) ADD5 IN/OUT
szAddressLine6 (40) ADD6 IN/OUT
szAddressLine7 (40) ADD7 IN/OUT
szAddressNumber (8) AN8 This parameter determines whether to read F0116 or not. Only when this value is specified then it goes the routine to read F0101/F0116/F0111.
szCity (25) CTY1 IN
szState (3) ADDS IN
szZipCodePostal (12) ADDZ IN
szCountry (3) CTR IN
szCountryAddresss (25) COUN

So this business function can be called:


Which table stores a specific Address Format?
Country Constants Master File (F0070) determines how to format address based on input information. If language you are printing is not English (Default Language) F0116 has to be written in specific language preference you are using and in case country description is to be printed you need to override UDC (00/CN) - Country which writes data into F0005D.

For example, F0116.CTR is 'CA' = Canada.
sql> SELECT CKCTR, CKADID, CKPOSC, CKCTRP FROM PRODDTA.F0070 WHERE ( CKCTR = 'CA' )

Return columns:


Based on these value combination (alone with 5 values returned from above) 5th, 6th, 7th and 8th address will be determined.





Can Address format ID (ADID) can be added?
No, all the formats are hard coded. You can change Address Format to meet your business requirement




How B010021 handles Mailing Address?
General routine can be,
F0070 does not have your own country code format ID '04' will be used. Below are list of Format ID available:

ID CTR Description Format Description How to assign
01 BE Belgium Postal Code / City - No State
  • ADD5 = (posc + ZipCodePostal )+ A Space + City1
  • ADD6 = Country Description
01 CH Switzerland
...
02 If ADD4 is Blank:
  • ADD4 = City1
  • ADD5 = State
  • ADD6 = POSC + ZipCodePostal (if f0070.ctrp ='1' then ADD7 = Country Description)
If ADD4 is Not Blank:
  • ADD4 = AddressLine4
  • ADD5 = City1
  • ADD6 = State
  • ADD7 = POSC + ZipCodePostal (if f0070.ctrp ='1' then ADD7 = POSC + ZipCodePostal + A Space + Country Description)
03 CN China City / Postal Code
  • ADD5 = City1 + A Space + POSC + ZipCodePostal
  • ADD6 = State (if ctrp ='1' then ADD7 = Country Description)
04 Default
Country
City / State / Postal One Line
  • ADD5= City1 + A Space + State + A Space + posc + ZipCodePostal (if ctrp='1' then ADD6 = Country Description
04 AU Australia
...
05 CR Costa Rica No Postal Code
  • ADD5 = City1
  • ADD6 = State (if ctrp ='1' then ADD7 = Country Description)
06
  • ADD5 = POSC + ZipCodePostal + A Space + State + A Space + City1 (if ctrp ='1' then ADD6 = Country Description)
7 CL Chile No State or Postal Code
  • ADD5 = City1 (if ctrp='1' then ADD6 = Country Description)
...
08 AR Argentina Postal / City / State One Line
  • ADD5 = POSC + ZipCodePostal + A Space + City1 + A Space + State (if ctrp ='1' then ADD6 = Country Description)
...
09
  • ADD5 = City1 + A Space + State
  • ADD6 = posc + ZipCodePostal (if ctrp ='1' then ADD7= Country Description)
10 GB United
Kingdom
City / Postal Code - No State
  • ADD5 = City1 + A Space + posc + ZipCodePostal (if ctrp ='1' then ADD7 = Country Description)
*Note: it does not print ADD6
...
11
  1. ADD1 = posc + ZipCodePotal + A Space + City1
  2. ADD2 = AddressLine1
  3. ADD3 = AddressLine2
  4. ADD4 = AddressLine3
  5. ADD5 = AddressLine4 (if ctrp ='1' then ADD6 = Country Description)
12
  • ADD5 = City1 + A Space + State
  • ADD6 = posc + ZipCodePostal (if ctrp = '1' then ADD7= Country Description)
13
  • MLNM = posc + ZipCodePostal
  • ADD1 = MailingName
  • ADD2 = AddressLine1
  • ADD3 = AddressLine2
  • ADD4 = AddressLine3
  • ADD5 = AddressLine4
  • ADD6 = City1 (if ctrp='1' then ADD7 = Country Description)
14 If AddressLine4 is Blank, then
  • ADD4 = City1
  • ADD5 = CountyAddress
  • ADD6 = posc + ZipCodePostal (if ctrp ='1' then ADD7 = Country Description)
if ADD4 is Not Blank, then
  • ADD4 = AddressLine4
  • ADD5 = City1
  • ADD6 = CountyAddress
  • ADD7 = posc + ZipCodePostal + A Space + Country Description
15 JP Japan Mailing Name Last
  • MLNM = posc + ZipCodePostal
  • ADD1 = AddressLine1
  • ADD2 = AddressLine2
  • ADD3 = AddressLine3
  • ADD4 = AddressLine4
  • ADD5 = City1
  • ADD6 = MailingName (if ctrp = '1' then ADD7 = Country Description)
Else
  • ADD5 = posc + ZipCodePostal + A Space + City1 (if ctrp = '1' then ADD6 = Country Description)

Note:

Is the same business function, B0100021, used when printing purchase orders using R43500?
No. R43500 uses business function F0116 Get Mailing Address Form -Language (B4305231 - F0116GetMailingAddressFormatLang).


What are the differences between B0100021 and B4305231?
The functionality for the two business functions is nearly the same. B4305231 contains additional functionality. In B4305231, the state code is replace by description of status as defined in UDC 00/C (State & Province Codes). In B4305231, the language can be overridden rather than retrieving the language in the user profile.


Why Mailing Address Label in R42565 is different from R42520? It shows F0111.MLNM for address line 1 and F0116.ADD1 for the first line?

Currently R42520 (Print Pick Slip) and R42565 (Print Invoice) are calling different business function. The former is calling FormattedAddress (B0100021, F0116 Get Mailing Address Format) like wise P01012 (Address Book Master) whereas the latter is calling FormattedAddressWithWhosWho (B0100067). This is why the outcome between R42520 and R42565 can be different from each other.

If you had implemented <Bug 17312000> - ATTENTION NAME PLACEMENT OPTION NOT WORKING CORRECTLY and F0070.ATTP (Attention Name Placement) is remained blank, you may experience the issue reported here. So to overcome this issue,

  1. (Fast Path) P0070 (Work with Country Constant)
  2. Select the country you want to print
  3. Set FC Attention Name Placement = 3 (Ins att. In before Add Line 1, to put mailing name in front of address line 1). Repeat this change for all countries you are in use in case you have more than one country codes from F0116.CTR.

Example:

setup



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.