This note is to explain how ALKY is handled in EnterpriseOne Sales and Procurement.
Across Sales and Procurement product family, form control 'ALKY - AlternateAddressKey, Long Address Number' are implemented for easier search of Customer, Ship To, or Supplier search. This note is to answer, or possibly provide help with debugging issues specific to this form control ALKY. Since this control is a string (or character array), data dictionary item both String and Math Numeric data type can be stored.
Note that this document may not guide you to the best practice in your population of ALPH (NameAlpha, Name - Alpha), ALKY (AlternateAddressKey - Long Address Number), ALP1 (Kanjialpha, Secondary Alpha Name) and DC (DescriptionCompressed, Description -Compressed) in F0101 (Address Book Master File). Rather this document focuses on how to get data based on as-is value
Business Function can be used to Validate/Edit/Return ALKY control:-
Currently there are two different business functions to scrub user input value and return valid customer/supplier information:
Example of Data from F0101 (Address Book Master) for Language CS - Chinese Simplified:
Address Number (AN8) | Long Address (ALKY) |
Tax ID (TAX) |
Alpha Name (ALPH) |
Description Compressed (DC) |
Alternate Char Set Name (ALP1) |
---|---|---|---|---|---|
8625 | 甲骨文公司 | 8529634 | Oracle Corp - Alha Name | CAPITALSYSTEM | |
8626 | ALKY - 2 * A | 8529635 | Oracle Corp - Alha Name2 | ORACLECORPALHANAME2 | |
8627 | 甲骨文 | 8529635 | Oracle Corp - Alha Name3 | 甲骨文公司 | 甲骨文公司 |
8628 | 甲骨文公司-ALKY | 8529635 | 甲骨文公司 - ALPH | 甲骨文公司ALPH | 甲骨文公司 |
8629 | 甲骨文公司 - ALKY# | 8529635 | 甲骨文公司 - ALPH& | 甲骨文公司-alp1% | 甲骨文公司 - alp1% |
Table (F0101) Column Explanation:
Col | Description | Usage | How to Populate |
---|---|---|---|
AN8 | AddressNumber (Address Number) | Primary Key for table F0101 This value can be entered in ALKY control which will return TAX, ALPH |
Either system assign based on next number 01/1 - Address Book Number Or user can override to have meaningful numbers |
ALPH | NameAlpha (Name - Alpha) | This column stored legal entity name | Manual population which will be appeared reports and associated AN8 description |
ALKY | AlternateAddressKey (Long Address Number) | Alternative Unique information to make entity meaningful if needed | (optional) Different language (code set/page) can be entered if needed |
TAX | TaxId (Tax ID) | Unique Tax ID | (optional) this has to be valid entry and this can trigger localization code |
DC | DescripCompressed (Description - Compressed) | All address book search is handled by this column value | This column is populated by system If ALP1 is not blank then DC = ALP1 after removing spaces If ALP1 is blank then DC = ALPH. For this example
|
ALP1 | Kanjialpha (Secondary Alpha Name) | To store different language description for double byte Asian languages | This column will be populated only when preference lanague (F00921.LNGP) is not blank (e.g., CS, CT, KO, J and so on) AND Special Handling Code is defined 2 (for boule byte language) and 3 (3 byte language) |
Table (F0009) Columns:
Col | Description | Default Value | Usage |
---|---|---|---|
SYMA | SymboltoIdentifyABAltern (Symbol to Identify A/B Alternate Key) | * | In ALKY control, if you type "*ALKY" which is to return Address Book Number |
SYMT | SymbolUsedtodefineABTaxI (Symbol Used to define A/B Tax ID) | / | In ALKY control, if you typ "/TaxId" which returns Address Book Number |
SYMN | SymbolUsedtodefineABShor (Symbol Used to define A/B Short Number) | If you specify address book number which will return necessary information |
Business Function: N0100061 - ScrubAddressNumberNER (Scrub Address Number)
Structure Member Name | Data Type | Req | I/O | Alias | Used For |
---|---|---|---|---|---|
szAlternateAddressKey[21] | JCHAR | <> | ALKY | Actual value to returned however ALKY Input value can be, AN8 - AddressNumber (Address Number) TAX - TaxId (Tax ID) ALPH - NameAlpha (Name - Alpha) ALP1 - Kanjialpha (Secondary Alpha Name) |
|
mnAddressNumber | MATH_NUMERIC | <- | AN8 | Output value to store back to control (hidden control) | |
szTaxid[21] | JCHAR | TAX | Not used for cInputSelection 5 | ||
cInputSelection | JCHAR | -> | EV01 | Valid Values are, 1 - I0100016_ScrubValidate
2 - I0100016_ScrubByAN8 3 - I0100016_ScrubByALKY 4 - I0100016_ScrubByTAX 5 - I0100016_ScrubValidate |
|
cSuccessFlag | JCHAR | <- | EV02 | Return values are, 0 - Success 1 - Fail 4 - Wrong cInputSelection |
|
szNameAlpha[41] | JCHAR | <> | ALPH | To show Alpha description which is same with Associated Description | |
szLongAddressKey[41] | JCHAR | MLNM |
Detail routine:
Refer below flow chart for validation and getting value
Internal functions: List of internal functions to indicate the functionality of this business function's N0100061 and B0100016
This information may provide easier understanding on what is internal routine which can be scrub input value and fetch data from F0101
Internal function | Used For | Others |
---|---|---|
I0100016_RetrieveF0009 | This function retrieves the F0009 record and saves it in the output param. All error conditions are set here for F0009 fetch failures 078D - Failed to open table F0009 4430 - JDB_FetchKeyed failed |
To check leading character in F0009 |
I0100016_ScrubValidate | This function scrubs and validates the input Alternate Address Key Value. If the Selection Flag is '5', it will also perform Alpha Name search.This function is called when Selection is '1' or '5' 078D - Failed to open table F0101 |
N0100061 is specific to this functionality |
I0100016_SearchByALPH | This function searches F0101 by Alpha Name. The SQL query will retrieve records by Compressed Desc. If there are multiple matches, P0101SL will be started. This function is only called when Selection Mode is '5' 1. Convert Alternate Key to a compressed description form.
2. Issue LIKE query to database. 3. If multiple records are found, start P0101SL to enable users to select Address Book Records |
Unlike the description of function, it searches based on F0101.DC |
I0100016_ScrubByALKY | This function scrubs and validates the input Tax Key | |
I0100016_FetchByALKY | This function fetches from F0101 by ALKY | |
I0100016_ScrubByAN8 | This function scrubs and validates the input Address Number | |
I0100016_FetchByAN8 | This function fetches from F0101 by AN8 | |
I0100016_ScrubByTAX | This function scrubs and validates the input Tax Key | |
I0100016_FetchByTAX | This function fetches from F0101 by TAX | |
I0100016_CheckDataPrivacy | Check Data Privacy | Implemented through SAR 7285985 |
Below flow chart may give you how cInputSelection = '5' (where most of Sales and Purchase application is making use of),<
Error Codes:
Error Code | Description | Condition to Issue Error |
---|---|---|
0038 | Characters Invalid | failed to get data from F0101 based on AN8 |
078D | Open for table &1 failed | |
4430 | Constants not set up | when it fails to get information from F0009 |
496Z | Invalid Tax ID | failed to return based on TAX |
799L | Invalid Long Address Number | failed to get based on ALKY |
Reference:
<Document 643400.1> E1: 42: Address Invalid Error message upon exiting from ALKY exiting on P4210