Mailing Address in R43500

Purpose of Document

This document is to explain how to print out valid mailing name in R43500 (Purchase Order Print) to meet your business requirement.

--- Questions and Answers ---

Summary:

To understand mailing address printing in Purchase Order Print (R43500) one main Business Function B4305231 - F0116GetMailingAddressFormatLang (Formatted Address - Language) has to be understood. This business function is cloned based on BSFN B0100021- FormattedAddress (Formatted Addresses Source File).
Refer to <Document 1157643.1> E1: 40: Labeling/Formatting Mailing Address in EnterpriseOne to have better understanding on how B4305231 (F0116GetMailingAddressFormatLang, F0116 Get Mailing Address Format - Langauge) returns output based on a certain value determined.

Note:

What are the report variables in printing Purchase Order?

Currently below report variable can be printed through R43500 (Print Purchase Order),

Column Report Variable Column Report Variable
Shipped From Sold To Ship To Ship To
RV Sold To Address Line 1 RV Ship To Address Line 1
RV Sold To Address Line 2 RV Ship To Address Line 2
RV Sold To Address Line 3 RV Ship To Address Line 3
RV Sold To Address Line 4 RV Ship To Address Line 4
RV Sold To Address Line 5 RV Ship To Address Line 5
RV Sold To Address Line 6 RV Ship To Address Line 6
RV Sold To Address Line 7 RV Ship To Address Line 7

Note: Report Variables written above is to show relationship with various variables to be handled in below routine

Pre-process Mailing Address

Formatted Address can be acquired either through F4006 (Order Address Information) or through F0116 (Address By Date). In printing Purchase Order, data from F4006/F0116 will be used before it calls B4305231. Unlike Print Invoice in Sales Order, Salutation, Attention is not to be utilized as only BSFN 0100067 has routine to print out these information. For further detail, please refer <Document 1173464.1> E1: BSFN: Information on Business Function B0100067-Formatted Address With Who's Who

In case you need to override Shipped From and Ship To mailing address for a specific order you have to override it through Purchase Order Header > (Form Exit) Order Addresses by specifying Address Type either Supplier (F4006.ANTY ='1') or Ship To (F4006.ANTY ='2')

Only two ANTY (Type- Address Number) are used in Procurement module, whereas in Sales, below types can be used,

Note:


Then there are two different way to print out address one is based on order level (overridden) data from F4006 and the other one is based on F0116. For both cases, the way it calls B4305231 - F0116GetMailingAddressFormatLang (Formatted Address - Language) are same.


When F4006 is populated per specific Purchase Order how it prints output value?

  1. Get it through B4006 - GetOrderAddress (F4006 Get Order Address) which returns MLNM, ADD1, ADD2, ADD3, ADD4, ADDZ, CTY1, COUN, ADDS and CTR
  2. Assign it and let B4305231 return formatted data
1st., Get Order Address
F4006 Get Order Address (B4006 - GetOrderAddress)
BC Document (Order No, Invoice, etc.) (F4301)(DOCO) -> BF mnDocumentNumber
BC Order Type (F4301)(DCTO) -> BF szDocumentType
BC Order Company (Order Number) (F4301)(KCOO) -> BF szDocumentCompany
"1" -> BF cAddressNumberType /* To indicate Supplier Number */
RV Sold To (#1) <- BF szMailingName
RV Sold To Address Line 1 (#2) <- BF szAddressLine1
RV Sold To Address Line 2 (#3) <- BF szAddressLine2
RV Sold To Address Line 3 (#4) <- BF szAddressLine3
RV Sold To Address Line 4 (#5) <- BF szAddressLine4
VA sec_ADDZ_PostalCode (#6) <- BF szPostalCode
VA sec_CTY1_City (#7) <- BF szCity
VA sec_COUN_County (#8) <- BF szCounty
VA sec_ADDS_State (#9) <- BF szState
VA sec_CTR_Country (#10) <- BF szCountry


2nd., Mailing Address Format
F0116 Get Mailing Address Format - Langauge (B4305231 - F0116GetMailingAddressFormatLang)
RV Sold To (#1) <> BF szNameMailing_MLNM
RV Sold To Address Line 1 (#2) <> BF szAddressLine1_ADD1
RV Sold To Address Line 2 (#3) <> BF szAddressLine2_ADD2
RV Sold To Address Line 3 (#4) <> BF szAddressLine3_ADD3
RV Sold To Address Line 4 (#5) <> BF szAddressLine4_ADD4
RV Sold To Address Line 5 <> BF szAddressLine5_ADD5
RV Sold To Address Line 6 <> BF szAddressLine6_ADD6
RV Sold To Address Line 7 <> BF szAddressLine7_ADD7
VA sec_CTY1_City (#7) -> BF szCity_CTY1
VA sec_ADDS_State (#9) -> BF szState_ADDS
VA sec_ADDZ_PostalCode (#6) -> BF szZipCodePostal_ADDZ
VA sec_CTR_Country (#10) -> BF szCountry_CTR
VA sec_COUN_County (#8) -> BF szCountyAddress_COUN
VA rpt_szLanguagePreference_LNGP -> BF szLanguagePreference_LNGP
-> BF mnAddressNumber_AN8

Note: Same routine will be used when in printing Ship To. In this case, only difference is F4006.ANTY which is to be '2 - Ship To'

When F4006 is NOT populated how it prints output value?

  1. Get MLNM, ADD1, ADD2, ADD3, ADD4, ADDZ, CTY1, COUN, ADDS and CTR through table I/O from F0111 - Address Book - Who's Who and F0116 - Address By Date
  2. Assign it and let B4305231 return formatted data

Note: F0009.EFS (Date Effective Addresses 0/1): Through Address Book Constants (P0000) Mailing Address can be maintained per effective date. At once you turn on this parameter, F0101.EFTB (Date - Beginning Effective) is to be populated which can retrieve data from Address By Date (F0116) based on this date

Detail Routine:

Note: