Information on Business Function B0100067-Formatted Address With Who's Who

Purpose of Document
Summary
Setup Considerations
D0100067 - Data Structure of BSFN B0100067
Tables accessed by business function to return formatted address lines
How it determines szMailingSalutation which is to be used for 2nd portion of address lines?
Logic to get data from above listed tables?
Can Address Format ID be added?
How it handles mailing address?

Purpose of Document

This document explains in detail the usage of business function B0100067 – FormattedAddressWithWhosWho (Formatted Address With Who's Who) which can be used to return mailing address lines in applications. It provide detail information on the business function usage, its data structure input/output parameters, as well as the tables accessed by this function.

Summary

Currently Address by Date (F0116) contains only 4 mailing address lines whereas a number of EnterpriseOne applications show Formatted Address Lines up to 9 lines including Who’s who information. Depending on some settings made, the output is vary.

EnterpriseOne enables you to print out country specific address format based on Address Format ID (F0070.ADID) which can be accessed through 'Address Book Constant > Country Constants'

Note:
The output of this business function consists of 2 parts mainly:

• 1st part - output of  "Name Mailing" through "AddressLine05". This is the first 5 address lines outputted. 
• 2nd part - output of the "AddressLine06" and "AddressLine07".

Set Up Considerations

The following are some set up to take note of before using the B0100067.

Note: Type Code is to get valid information from F0111. If needed you can define your own code.

D0100067 - Data Structure of BSFN B0100067

Input and output parameters for the business function data structure.

Structure Member NameDirDD AliasDescription
szNameMailing (40) IN/OUT MLNM Mailing Name
szNameAlpha (40) IN/OUT ALPH Constant Mailing Name
szAddressLine1 (40) IN/OUT ADD1 Address Line 1
szAddressLine2 (40) IN/OUT ADD2 Address Line 2
szAddressLine3 (40) IN/OUT ADD3 Address Line 3
szAddressLine4 (40) IN/OUT ADD4 Address Line 4
szAddressLine5 (40) IN/OUT ADD5 Address Line 5
szAddressLine6 (40) IN/OUT ADD6 Address Line 6
szAddressLine7 (40) IN/OUT ADD7 Address Line 7
mnAddressNumber (8) IN AN8  
szCity (25) IN CTY1  
szState (3) IN ADDS UDC (00/S) State & Province Code
szZipCodePostal (12) IN ADDZ  
szCountry (3) IN CTR UDC (00/CN) Country Code
szCountyAddress (25) IN COUN  
szContactTitle (40) IN ATTL  
cTypeCode (1) IN TYC UDC (01/W0) Type Code
cWhosWhoInformation (1) IN EV01  
szSalutationName (40) IN SLNM  
mnWhosWhoLineID (5) IN IDLN  
szConstMailingName (40) IN MLNM  
Note:

Tables accessed by business function to return formatted address lines

F0116 - Address by Date

ColumnDescriptionRemark
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 UDC (00/CN)
COUN County Address  
Note: This table is to be read only when mnAddressNumber is specified otherwise same columns ADD1 through COUN have to be specified as input parameter.



• F0111 – Address Book – Who’s Who

ColumnDescriptionRemark
AN8* Address Number Input mnAddressNumber (primary key)
IDLN* Who's Who Line Number - ID To determine which row information to read. 0 is default value
MLNM Name - Mailing  
ATTL Professional Title  
SLNM Salutation Name  
ALPH Name - Alpha  
TYC Type Code This value can be specified in case a specific row is required
Note: To get MailingName and other Who’s Who information
  1. mnWhosWhoLineID is not specified and cTypeCode is Blank: szNameAlpha = F0101.ALPH then exit from routine
  2. mnWhosWhoLineID is specified and cTypeCode is Blank: Get data from F0111 where F0111.IDLN = Input mnWhosWhoLineID with zero and szNameAlpha = F0111.MLNM
  3. mnWhosWhoLineID is not specified and cTypeCode is not Blank: Get data from F0111 where F0111.TYC = input mnTypeCode and assign and szNameAlpha = F0111.MLNM
  4. mnWhosWhoLineID is specified and cTypeCode is not Blank: Get data from F0111 where F0111.IDLN = input mnWhosWhoLineID with non-zero value and assign and szNameAlpha = F0111.MLNM



F0070 – Country Constant Master

ColumnDescriptionRemarks
CTR* Country Code Country Code from F0116.CTR
ADID Address Format ID Depends on this setting the output can be adjusted
POSC Postal Code Sign A prefix that precedes the postal code. This prefix is required by some countries. You can enter up to four alphanumeric characters. When you enter the prefix, include a separator, such as a blank space or a hyphen, after the prefix. The system prints the prefix and the separator before the postal code. For example, if you enter CH- for the prefix and 88023 for the postal code, the system prints CH-88023. If you leave this field blank, the system prints only the postal code.
SSAL Standard Salutation  
ATTN Attention Abbreviation To indicate attention name (e.g., ATTN: )
SSPL Standard Salutation Placement • SSPL (Standard Salutation Placement) is a code that indicates where the salutation should appear with the name.
Blank - the Standard Salutation will appear before the name
0 - the Standard Salutation will appear before the name
1 - the Standard Salutation will appear after the name
2 - the Standard Salutation will appear at the end of the attention name if one exists
ATTP Attention Name Placement • ATTP (Attention Name Placement) indicates where the attention name line should appear in the formatted mailing address
0 - Insert attention line after Address Line 1
1 - Insert attention line after Address Line 2
2 - Insert attention line after last non-blank address line
3 - Insert attention line on first line (before street address)
TPL Placement of Attention Title 1 (ON) - The Title is placed before the Who’s Who Attention Name
0 (OFF) – The Title is not used with the Who’s Who attention name
CTRP Print Country Code By turning on the description of country code will be printed based on language preference

How it determines szMailingSalutation which is to be used for 2nd portion of address lines?

SSPLTPLSSAL
(Blank?)
szMailingSalutation
0 1 False F0070.SSAL + ‘ ‘ + F0111.ATTL + ‘ ‘ + F0111.MLNM
  1 True F0111.ATTL + ‘ ‘ + F0111.MLNM
  0 False F0070.SSAL + ‘ ‘ + F0111.MLNM
  0 True F0111.MLNM
1 1 False F0111.ATTL + ‘ ‘ + F0111.MLNM + ‘ ‘ + F0070.SSAL
  1 True F0111.ATTL + ‘ ‘ + F0111.MLNM
  0 False F0111.MLNM + ‘ ‘ + F0070.SSAL
  0 True F0111.MLNM
2 1 False F0111.ATTL + ‘ ‘ + F0111.MLNM + ‘ ‘ + F0070.SSAL
  1 True F0111.MLNM + ‘ ‘ + F0070.SSAL
  0 False F0111.MLNM + ‘ ‘ + F0070.SSAL
  0 True F0111.MLNM
Blank     same with '0'

 
How it arranges 2nd to 6th lines are dependent on F0070.ATTP value as follows:

ATTPOutput
0 • szNameMailing = F0116.ADD1
• szAddressLine1 = szMailingSalutation
• szAddressLine2 = F0116.ADD2
• szAddressLine3 = F0116.ADD3
• szAddressLine4 = F0116.ADD4
1 • szNameMailing = F0116.ADD1
• szAddressLine1 = F0116.ADD2
• szAddressLine2 = szMailingSalutation
• szAddressLine3 = F0116.ADD3
• szAddressLine4 = F0116.ADD4
2 • szNameMailing = szMailingSalutation
• szAddressLine1 = F0116.ADD1
• szAddressLine2 = F0116.ADD2
• szAddressLine3 = F0116.ADD3
• szAddressLine4 = F0116.ADD4
3 szAddressLine7 = szMailingSalutation
• szAddressLine1 = F0116.ADD1
• szAddressLine2 = F0116.ADD2
• szAddressLine3 = F0116.ADD3
• szAddressLine4 = F0116.ADD4

Logic to get data from above listed tables?

1. ENTER: FormattedAddressWithWhosWho (B0100067 - Formatted Address With Who's Who)
2. ENTER: GetABEffectiveDate (B0100019 - F0101 Get Effective Date, to get F0101.EFTB)
sql> SELECT ABAN8, ABEFTB FROM PRODDTA.F0101 WHERE ( ABAN8 = 4242.000000 ) ORDER BY ABAN8 ASC

2. ENTER: 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. ENTER: GetMailingName (B0100031 - F0111 Get Mailing Name)
sql> SELECT WWAN8, WWIDLN, WWMLNM FROM PRODDTA.F0111 WHERE ( WWAN8 = 4242.000000 AND WWIDLN = 0.000000 )
2. ENTER: GetUserLanguagePreference (B0000148 - Get User Language Preference, this is to translate Country to specific language)

sql> SELECT CKCTR, CKADID, CKCTRP,CKPOSC, CKSSAL, CKATTN, CKATTP, CKSSPL, CKTPL FROM PRODDTA.F0070 WHERE ( CKCTR = 'CA' )

2. ENTER: GetUDC (X0005 - Get UDC, to get description for country code)
1. Exit: FormattedAddressWithWhosWho

Can Address Format ID be added?

No, all the formats are hard coded. You can change Address Format to meet your business requirement.

How it handles mailing address?

If F0070 does not contain your own country code, Format ID ‘04’ will be used. Below are a list of Format ID available:

IDCTRDescriptionFormat
Description
Assignment
01 BE Belgium Postal Code / City - No State • ADD5 = (posc + ZipCodePostal )+ ‘ ‘ + City1
• ADD6 = Country Description
01 CH Switzerland    
  ...     Refer full list through Address Book Constant > Country Master
02       If ADD4 is Blank
• ADD4 = City1
• ADD5 = State
• ADD6 = POSC + ZipCodePostal
• If F0070.ctrp = '1'
• ADD7 = Country Description

If ADD4 is Not Blank
• ADD4 = AddressLine4
• ADD5 = City1
• ADD6 = State
• ADD7 = POSC + ZipCodePostal

If F0070.ctrp = '1'
• 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
07 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 + ZipCodePostal + 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:



For your information, below are two other business functions which can return mailing address as well:

• B0100021 – FormattedAddress (F0116 Get Mailing Address Format) in Sales Module
• B4305231 – F0116GetMailingAddressFormatLang (F0116 Get Mailing Address Format – Language) in Procurement Module

And below 3 UBEs are calling different business function to represent Formatted address:-