Global Location Number, Global Locator Number(GLN) Related Business Functions For EDI

Purpose of Document

The purpose of this document is to explain business functions related with GLN and new Data Dictionary Items and Tables altered.

History of Global Locator Number (GLN)

EnterpriseOne application release 9.1 provides GLN support for EnterpriseOne. GLN is a 13 digit number assigned to a location. A location can be a building or an area within a building. It is used to represent the mailing or physical address of the location. In E1 Distribution terms a GLN could be assigned to a Sold to, Ship to, Deliver to, B/P, Supplier, Origin, or Destination. The first 7 digits are assigned by the GS1 organization that represents the company, the next 5 are assigned by the company, and the last digit is a check digit.

Note:
Global Location Number:
The Global Location Number (GLN) is part of the GS1 (www.gs1.org) systems of standards. It is a simple tool used to identify a location and can identify locations uniquely where required.
The GS1 Identification Key is used to identify physical locations or legal entities. The key comprises a GS1 Company Prefix, Location Reference, and Check Digit.
Location identified with GLN could be a physical location such as a warehouse or a legal entity such as a company or customer or a function that takes place within a legal entity. It can also be used to identify something as specific as a particular shelf in a store. Being able to identify locations with a unique number is a key to many business processes. The GLN is used in electronic messaging between customers and suppliers, where location advice is important. GLN is also used within companies to identify specific locations both electronically in a database and physically where the GLN can be produced in a bar code or GS1 EPC tag.

GS1 (www.gs1.org)
Founded in 1977, GS1 is an international not-for-profit association dedicated to the development and implementation of global standards and solutions to improve the efficiency and visibility of supply and demand chains globally and across multiple sectors. The GS1 System of standards is the most widely used supply-chain standards system in the world.


New Data Dictionary Items for EDI

Data dictionary item added in the 9.1 release.

DD Alias DD Item Glossary Others
GAN8 GlobalLocationNumber Global Location Number

The GLN has a 13 digit numeric data structure and is composed of
1) GS1 company prefix - assigned by GS1 member organization
2) Location Reference - allocated by the company for a specific location
3) Check Digit - Calculated according to standard algorithm
  • Edit Rule: *RAZ (Right Adjust Zero Fill)
  • Value range 0 through 9999999999999
  • List of tables with this DD item
GLNAN8 GlobalLocatorNumberString GlobalLocatorNumberString

A unique number that can identify a physical location or legal entity

The GLN has a 13 digit numeric data structure and is composed of
1) GS1 company prefix - assigned by GS1 member organization
2) Location Reference - allocated by the company for a specific location
3) Check Digit - Calculated according to standard algorithm

Business Functions for GLN

The Business functions listed below are edited/validated for GLN for EnterpriseOne EDI:

Function Description Data Structure Purpose Others
B4701061 EvaluateCheckDigit (Evaluate Check Digit) D4701061B The purpose of this business function is to validate whether given check digit (13th digit) Refer below algorithm
B4701061 GenerateGLN (Generate GLN) D4701061A This business function generate GLN number based on UDC 47/LN per company and NN 47/4 (47|4) with check digit. Refer check digit algorithm
B4701060 GetGLNorABNumber (Get GLN or Addressbook Number) D4701060A To get GLN or Address Book Number when GLN is given based on F0101G table Refer enhancement feature for EnterpriseOne release 9.1

B4701061 - EvaluateCheckDigit (Evaluate Check Digit)

Parameter Name Data Item Data Type Req I/O Others
mnGLN GAN8 MATH_NUMERIC I Value from business partner or F0101G
cSuppressErr SUPPS char I 1 - to suppress error
szErrorItem DTAI char O Error codes 088R, 164L and 47E09 can be issued
cErrorFlag EV01 char O When it hits error, return 1
  1. Check input mnGLN (If input mnGLN is zero set error "088R"
  2. Convert input mnGLN into String value by calling business function B0000083 (MathNumericToStringZeroPad) to handle check digit. If failed to convert then set error "164L"
  3. Check "Check Digit". If check digit is not valid then set error "47E09"

Below is to explain Check Digit. Supposed that Glocal Locator Number is 301256798014:

GLN 3 0 1 2 5 6 7 9 8 0 1 4 2
iLoop 0 1 2 3 4 5 6 7 8 9 10 11 12
iOdd 0 2 6 9 0 4
iEven 3 1 5 7 8 1


Check Digit Calculation:

Check Digit Algorithm

#1. Add all of the digits in the odd positions (iLoop = 11, 9, 7, 5, 3 and 1).
iOddTot = 4 + 0 + 9 + 6 + 2 + 0 = 21

#2. Multiply iOddTot by 3.
iSum = 21 * 3 = 63

#3. Add all of the digits in even positions (iLoop = 10, 8, 6, 4, 2 and 0).
iEvenTot = 1 + 8 + 7 + 5 + 1 + 3 = 25

#4. Sum the results of steps 3 and 2.
iSum = iSum (#2 = iSum) + (#3 = iEvenTot) = 63 + 25 = 98

#5. Determine what number needs to be added to the result of step 4 in order to create a multiple of 10.
iChkDigit = 10 - { 8 (=remainder when 98 was divided by 10 (modulo)) } = 2

So for this example, check digit (iChkDigit = 2)


B4701061 - GenerateGLN (Generate GLN)

Parameter Name Data Item Data Type Req I/O Others
szCompany[6] CO char I Company where entity belongs to
mnGLN GAN8 MATH_NUMERIC I/O Output numeric value based on defined values
cSuppressErr SUPPS char I 1 to suppress error
szErrorItem[11] DTAI char O Error 47E06, 47E07, 47E08 and 164L can be issued
cErrorFlag EV01 char O 1 when it faces error
  1. Check input szCompany. If input value is Blank then set error "47E06"
  2. Read F0005.DL02 based on UDC 47/LN (Company Prefix for GLN) where szUserDefinedCode = input szCompany. If no code exist, then set error "47E07"
  3. If szDescription002 is blank OR the the length of szDescription002 is not 6 then set error "47E07"
  4. Set szGLN (String value for mnGLN) = UDC.szDescription002
  5. Get Next Number NN 47|4 through BSFN X0010 (X0010GetNextNumber). No definition then set error "47E08"
  6. Convert numeric value of mnNextNumber001 into 7 digit strings by calling B0000083 (MathNumericToStringZeroPad). If failed to convert then set error "164L"
  7. Concat UDC.szDescription002 with mnNextNumber001
  8. Validate check digit (I4701061_EvaluateCheckDigit). If fail, then set error "47E09"
  9. Convert back to Numeric value

B4701060 - GetGLNorABNumber (Get GLN or Address book Number)

Parameter Name Data Item Data Type Req I/O Others
mnAddressNumber AN8 MATH_NUMERIC I/O Address Book Number for both
mnGLN GAN8 MATH_NUMERIC I/O This value can be used in getting data from F0101G
idHandleF0101 GENLNG ID I/O If cReturnPtr is Y then return pointer
idHandleF0101G GENLNG ID I/O If cReturnPtr is Y then return pointer
cReturnPtr EV01 char I Y - to return pointer (*lpHTable)
cCloseTable EV01 char I Y - To remove data pointer against F0101G and Close Table F0101 and F0101G. If the value is Y, routine does not get data from F0101G.
cErrorFlag EV01 char O If it faces errors, return this value 1
szErrorItem DTAI char O Error 078S, 138H, 47E01, 47E02, 47E03, 47E04 and E47E05 can be issue. For the routine refer how error gets issued
cSuppressErr SUPPS char I 1 to suppress error
  1. Initialize Environment Handle through JDB_InitBhvr. If failed, set error "078S"
  2. Input cCloseTable = Y and idHandleF0101 is NULL then issue error "138H" (below routines handled only when cCloseTable is not Y)
Input parameters Detail
mnAddressNumber = 0
mnGLN = 0
Set Error "47E01"
mnAddressNumber != 0
mnGLN = 0
Set Error "47E03" when it fails to get data from F0101 (JDB_FetchKeyed)
Set Error "47E05" when it fails to get data from F0101G on mnAddressNumber (JDB_FetchKeyed)
mnAddressNumber = 0
mnGLN != 0
Set Error "47E02" when it fails to get data from F0101G on mnGLN
mnAddressNumber != 0
mnGLN != 0
Set Error "47E04" when it fails to get data from F0101G on mnAddressNumber and mnGLN (JDB_SetSelection and JDB_Fetch)

List of EDI tables with a column GAN8

The following tables were updated for the GLN enhancement

Table ID Description Seq SQL Col SY Rpt Trigger Others
F47011 EDI Purchase Order Header - Inbound 203 SYGAN8 47 42B
F47012 EDI Purchase Order Detail - Inbound 261 SZGAN8 47 42B
F47016 EDI Purchase Order Header - Outbound 149 SYGAN8 47 43 Y
F470161 EDI Purchase Order Additional Header - Outbound 77 S3GAN8 47 43 Y
F47017 EDI Purchase Order Detail - Outbound 230 SZGAN8 47 43 Y
F470171 EDI Purchase Order Additional Detail - Outbound 58 S4GAN8 47 43 Y
F47021 EDI P.O. Acknowledgment Header - Inbound 111 SYGAN8 47 43
F47022 EDI P.O. Acknowledgment Detail - Inbound 222 SZGAN8 47 43
F47026 EDI P.O. Acknowledgment Header - Outbound 144 SYGAN8 47 42 Y
F47027 EDI P.O. Acknowledgment Detail - Outbound 253 SZGAN8 47 42 Y
F47031 EDI Shipping Notice Header - Inbound 106 SYGAN8 47 43A
F47032 EDI Shipping Notice Detail - Inbound 176 SZGAN8 47 43A
F47036 EDI Shipping Notice Header - Outbound N/A 47 42 Y No GAN8 column
F47037 EDI Shipping Notice Detail - Outbound 214 SZGAN8 47 42 Y
F470371 EDI Shipping Notice Detail - Outbound 253 SZGAN8 47 49 Y
F47041 EDI Invoice Header - Inbound 66 SYGAN8 47 43
F47042 EDI Invoice Detail - Inbound 110 SZGAN8 47 43
F47044 EDI Invoice Summary - Inbound 56 SWGAN8 47 43
F47046 EDI Invoice Header (Sales) - Outbound 149 SYGAN8 47 42 Y Not available for grid control These values can be viewed only through databrowser (or UTB).
F470461 EDI Invoice Additional Header - Outbound 67 S3GAN8 47 42 Y Not available for grid control These values can be viewed only through databrowser (or UTB).
F470462 EDI Invoice Expanded Header (Sales) 55 S5GAN8 47 42 Y Not available for grid control These values can be viewed only through databrowser (or UTB).
F47047 EDI Invoice Detail (Sales) - Outbound 255 SZGAN8 47 42 Y Not available for grid control These values can be viewed only through databrowser (or UTB).
F470471 EDI Invoice Additional Detail - Outbound 50 S4GAN8 47 42 Y Not available for grid control These values can be viewed only through databrowser (or UTB).
F470472 EDI Invoice Expanded Detail (Sales) N/A 47 42 Y

No GAN8 column

Not available for grid control These values can be viewed only through databrowser (or UTB).

F4706 EDI Order Address Information 34 ZAGAN8 47 47
F47061 EDI Planning Schedule Header - Inbound 42 MJGAN8 47 34
F47066 EDI Planning Schedule Header - Outbound 42 MJGAN8 47 34 Y
F47071 EDI Receiving Advice Header - Inbound 112 SYGAN8 47 43
F47072 EDI Receiving Advice Detail - Inbound 254 SZGAN8 47 43
F47076 EDI Receiving Advice Header - Outbound 111 SYGAN8 47 43 Y
F47077 EDI Receiving Advice Detail - Outbound 240 SZGAN8 47 43 Y
F47091 EDI Request for Quote Header - Inbound 141 SYGAN8 47 42B
F47092 EDI Request for Quote Detail - Inbound 253 SZGAN8 47 42B
F47096 EDI Request for Quote Header - Outbound 110 SYGAN8 47 43 Y
F47097 EDI Request for Quote Detail - Outbound 222 SZGAN8 47 43 Y
F47098 EDI RFQ Detail Quantity - Outbound 23 SZGAN8 47 43 Y
F47106 EDI Response to RFQ Header - Outbound 144 SYGAN8 47 42 Y
F471061 EDI Response to RFQ Additional Header - Outbound 67 S3GAN8 47 42 Y
F47107 EDI Response to RFQ Detail - Outbound 253 SZGAN8 47 42 Y
F471071 EDI Response to RFQ Additional Detail - Outbound 50 S4GAN8 47 42 Y
F47121 EDI Product Activity Data Header - Inbound 31 M1GAN8 47 41
F47122 EDI Product Activity Data Detail - Inbound 87 MJGAN8 47 41
F47126 EDI Product Activity Data Header - Outbound 31 M1GAN8 47 41 Y
F47127 EDI Product Activity Data Detail - Outbound 89 MJGAN8 47 41 Y
F47131 EDI Purchase Order Change Header - Inbound 163 SYGAN8 47 42B
F47132 EDI Purchase Order Change Detail - Inbound 254 SZGAN8 47 42B
F47136 EDI Purchase Order Change Header - Outbound 112 SYGAN8 47 43 Y
F47137 EDI Purchase Order Change Detail - Outbound 190 SZGAN8 47 43 Y
F47141 EDI P.O. Change Acknowledgment Header - Inbound 112 SYGAN8 47 43
F47142 EDI P.O. Change Acknowledgment Detail - Inbound 224 SZGAN8 47 43
F47146 EDI P.O. Change Acknowledgment Header - Outbound 144 SYGAN8 47 42 Y
F47147 EDI P.O. Change Acknowledgment Detail - Outbound 255 SZGAN8 47 42 Y
F47156 EDI Shipping Schedule Header - Outbound 105 SYGAN8 47 31 Y
F47157 EDI Shipping Schedule Detail - Outbound 219 SZGAN8 47 31 Y
F47171 EDI Demand Header 40 EHGAN8 40R 40R
F471721 EDI Demand Supplemental Data 37 EUGAN8 40R 40R
F47191 EDI Acknowledgement Header 57 AHGAN8 47 47 Y
F4720 EDI Time Zone 9 TMGAN8 40R 40R
F4722 EDI Tolerance Rules 12 PZGAN8 47 47
F47UI002 ASN Extract Packaging Work File 59 SPGAN8 40R 40R Y
F0101G Global location number for address book 3 GLGAN8 47 47
F49110 Transportation Bill of Lading Workfile 84 BWGAN8 49 49 Not for EDI

Note:


New Data Dictionary Items Added for GLN

Data Item Item Size Data Item Edit Rule Edit Rules Specification Dsply Rule
GAN8J 13 AlternatePayeeGLN RANGE 9999999999999 *RAZ
GAN8R 13 RelatedAddressGLN RANGE 9999999999999 *RAZ
GANS8 13 SecondaryAddressGLN RANGE 9999999999999 *RAZ
GAUFI 13 TransportationAddressGLN RANGE 9999999999999 *RAZ
GAUFT 13 TaxAddressGLN RANGE 9999999999999 *RAZ
GBTAN 13 BillToAddressGLN RANGE 9999999999999 *RAZ
GCARS 13 CarrierNumberGLN RANGE 9999999999999 *RAZ
GDVAN 13 DeliverToAddressGLN RANGE 9999999999999 *RAZ
GEXRA 13 ExternalAddressGLN RANGE 9999999999999 *RAZ
GFTAN 13 ForwardToAddressGLN RANGE 9999999999999 *RAZ
GITAN 13 InvoicedToAddressGLN RANGE 9999999999999 *RAZ
GLC01 13 GLNShipToLocation1 RANGE 9999999999999 *RAZ
GLC02 13 GLNShipToLocation2 RANGE 9999999999999 *RAZ
GLC03 13 GLNShipToLocation3 RANGE 9999999999999 *RAZ
GLC04 13 GLNShipToLocation4 RANGE 9999999999999 *RAZ
GLC05 13 GLNShipToLocation5 RANGE 9999999999999 *RAZ
GLC06 13 GLNShipToLocation6 RANGE 9999999999999 *RAZ
GLC07 13 GLNShipToLocation7 RANGE 9999999999999 *RAZ
GLC08 13 GLNShipToLocation8 RANGE 9999999999999 *RAZ
GLC09 13 GLNShipToLocation9 RANGE 9999999999999 *RAZ
GLC10 13 GLNShipToLocation10 RANGE 9999999999999 *RAZ
GMKFR 13 MarkForAddressGLN RANGE 9999999999999 *RAZ
GPA8 13 ParentAddressGLN RANGE 9999999999999 *RAZ
GPBAN 13 PaidByAddressGLN RANGE 9999999999999 *RAZ
GPRAN8 13 TradingPartnerAddressGLN RANGE 9999999999999 *RAZ
GSHAN 13 ShipToGLN RANGE 9999999999999 *RAZ
GVEND 13 VendorGLN RANGE 9999999999999 *RAZ


Note: If you leave the value blank 0000000000 is to be populated.


Global Location Number Functional Training

This training provides a functional overview of the JD Edwards EnterpriseOne 9.1 Global Location Number enhancement.

Refer to the Oracle Learning Library (OLL) Tutorial available here. There is no audio in this self-paced training enabling you to view the content at your own pace.