Build LPs Using UoM Structure interface for JD Edwards
About the Build LPs Using UoM Structure interface
The Build LPs Using UoM Structure interface allows Advanced Inventory to create license plates base on the unit of measure structure for the item being processed.
The result of calling this business function is that one or more license plates will be created. Because of the variable number of license plates that maybe created, none of the actual license plate numbers that are created as a result of this call are reported back in the data structure.
Name | Function name | Description |
---|---|---|
DD3N6L3A | dcLINK Interface: Build Structure | |
ND3N6L3A | dcLINKInterfaceAutoBuildLPN | dcLINK Interface: Build LPN Structure |
This interface guide applies to the following JDE versions.
-
EnterpriseOne Xe through 9.1
Corresponding EnterpriseOne application
In EnterpriseOne, the application you would run to create LPNs based on the unit of measure structure is P46L30 and can be accessed from the menu G46L10.
When you look at P46L30, you will notice there are several options for building LPNs based on the unit of measure structure.
After you select the Build Structure button, you are presented with a screen that shows the unit of measure structure and the various options. The only option this NER supports is the processing that takes place when the Build Auto button is selected.
Think of the difference between build auto, and build manual functionality, as the difference between processing “blind” (accepting defaults), and “non-blind” (the ability to override defaults). When we work through the examples, you will see how a single transaction can generate many, many license plates, so the auto build logic should be used.
The difference between build auto, and build manual is that only build manual supports dual unit of measure items. Only build auto is supported with this NER.
Processing options
There are no processing options that are used to control the processing of this NER.
Processing
This interface can be used to build a license plate in EnterpriseOne using the unit of measure structure.
It is essential to understand what a unit of measure structure is to understand how this program works. In a license plate sense, part of the structure comes from the item master. This shows the conversion from one level to the next. Part of it comes from the unit of measure definition by item (P46011), which is used to define the process rules and capacity requirements for the item.
The example shown below illustrates the unit of measure conversion for an item. In this example, the primary unit of measure is bottles (BT). There are 30 bottles to a box (BX). There are 4 boxes to a case (CA), and 27 cases to a pallet (PL).
The UoM structure is often referred to in levels. Level 1 is the highest UoM, and level 5 is the lowest. The names we used in our data structure use the level designations.
In the example, we have used BX as level 3. If you want to change any information for the BX UoM, then those changes must be put in the level 3 variables. For example, to change the create LPN flag for BX, a “Y” would need to be put in the cL3CreateLPN_CHAR field.
This NER mimics the functionality of this grid. There is a maximum of five UoMs per item. The item shown above has four. Each line is identified by the unit of measure (PL, CA, BX, and BT). There are three fields that can be overridden on each line. Those fields are: conversion to next level, create LPN, and container code. The conversion to next level, and the quantity being processed control how many license plates would be created at each level. The create LPN flag is very simple, if it is a “Y”, then license plates will be created; if it is a “N”, then they won't. The container code tells the system when a license plate is created, then creates it using this container code. Like this application, our NER allows for 5 unit of measures. For each unit of measure, the same three fields can be overridden.
In the example above 28 license plates will be created, 1 at the pallet level and 27 at the carton level. Below is the same example, but now we have enabled license plating at the box level. All that was changed was the create LPN flag on the BX line (changed to a “Y”) and the valid container code for that line. The number of license plates created at the box level is 108 (we already knew we were creating 27 cartons, and there are 4 boxes in each carton which makes 108). The total number of license plates has now jumped to 136 (1 PL, 27 CA, and 108 BX).
Required fields
-
The branch/plant must be supplied. It does not need to be right justified.
-
The item number that is being placed on the license plate(s) must be supplied.
-
The location for this item must be supplied. Like all license plate interfaces the license plate will be created in the same location as the item number.
-
The total quantity that will be used to build the license plate(s) must be entered.
Optional fields
-
The lot number is optional if the item number is a non-lot controlled item. If the item is lot controlled, then the lot number becomes a required field.
-
The UoM is optional for all levels (L1 to L5).
-
The conversion to next level is optional for all levels (L1 to L5).
-
The create LPN is optional for all levels (L1 to L5)
-
The container code is optional for all levels (L1 to L5)
Verify the processing
Use the EnterpriseOne License Plate Workbench application on the G46L10 menu to verify the transaction.
To verify the transaction, complete the following steps in JDE.
-
In EnterpriseOne, from the menu G46L10, select License Plate Workbench.
-
Use this application to verify that the build LPN using UoM structure worked correctly.Step InformationFor the example used in the processing, the single transaction created multiple license plates, and the box LPs, case LPs, and a pallet LP.
Input data structure
Input data structure for Build LPs Using UoM Structure DD3N6L3A
Name | Default value | R/O | Alias | Notes |
---|---|---|---|---|
cdcLINKActionCode_EV01 | 0 | X | EV01 | Always defaults to a 0. No different action takes place based on this code. |
cActionCode_ACTION | 0 | X | ACTION | |
jdDateUpdated_UPMJ | Current Date | X | UPMJ | Retrieved from GetAuditInfo. |
mnTimeUpdated_TDAY | Current Time | X | TDAY | Retrieved from GetAuditInfo. |
szUserId_USER | Current User | X | USER | Retrieved from GetAuditInfo. |
szWorkStationId_JOBN | Current Workstation | X | JOBN | Retrieved from GetAuditInfo. |
mnJobNumber_JOBS | O | JOBS | ||
szProgramId_PID | ND3N6L3A | X | PID | Defaulted in program if not passed in. |
szVersion_VERS | X | VERS | This NER has no processing options. | |
cSuppressErrMsg_EV01 | O | EV01 | ||
cErrorCode_ERRC | Blanks | X | ERRC | Defaulted in program. |
szErrorMessageKey_EKEY | Blanks | X | EKEY | Defaulted in program. |
iDebugLevel_INT01 | O | INT01 | Displays M&D Debug statements if the value is greater than 0. | |
szGuidUniqueID_GUID | Automatically generated by dcLINK | O | CFRGUID | If generate GUIDs is turned on in the dcLINK configuration utility this field will contain a GUID (guaranteed unique identifier). The GUID is used to tie database changes in PeopleSoft to the transactions that triggered those changes to occur. |
szGuidApprover1_USR1 | O, R | USR1 | An entry in this field, or the Approver 2 field, will cause a signature capture record to be written. Signature capture records are part of the GUID processing and should not be used unless a GUID is being created by dcLINK. The value of this field is a User ID, not an address book entry. There must be a value passed in to either this field, or the approver 2 field, otherwise it is an error. | |
szGuidFullName1_FULLNAME1 | O | FULLNAME1 | This field is the full name of the GUID Approver 1. | |
szGuidApprover2_USR2 | O, R | USR2 | GUID processing supports up to two approvers. If two approvers are required, this is the user ID of the second approver. There must be a value passed in to either this field, or the approver 1 field, otherwise it is an error. | |
szGuidFullName2_FULLNAME2 | O | FULLNAME2 | This field is the full name of the GUID Approver 2. | |
mnGuidReasonCode1_REASON1 | O, R | REASON1 | If either of the approver fields contain a value, but no value is entered into one of the reason code fields, then an error will be returned. Reason codes must match the valid reason codes setup for GUID processing, otherwise it is an error. | |
szGuidCommentField_COMMENTS | O | COMMENTS | This is a free form entry field that is used to further explain the reason code entered into the previous field. | |
mnGuidReasonCode2_REASON2 | O, R | REASON2 | If either of the approver fields contains a value, but no value is entered into one of the reason code fields, then an error will be returned. Reason codes must match the valid reason codes setup for GUID processing, otherwise it is an error. | |
szGuidCommentField2_2COMMENTS | O | 2COMMENTS | This is a free form entry field that is used to further explain the reason code entered in the previous field. | |
szGuidScriptID_FMNMVERS | O | FMNMVERS | In PeopleSoft the screen ID where the change was made is captured. dcLINK captures the script ID. | |
cCreateOrUseLP_EV01 | R | EV01 | Valid values are ‘N' for create and ‘E' for existing. | |
szBranchPlant_MCU | R | MCU | Valid branch/plant that is setup with license plating on must be passed in. | |
szUnknownItemNo_UITM | R | UITM | The item number must be entered. Even though the next two fields are optional, they very may well be required in order for this interface to differentiate which group of this item number is being license plated. | |
szLocation_LOCN | O | LOCN | The location is optional, but if it is not entered it will default to blank – which may or may not be a valid default. | |
szLot_LOTN | O | LOTN | The lot is optional unless the item is lot controlled, in which case the lot needs to be supplied. | |
mnPrimaryQuantity_PQOH | R | PQOH | This field must be supplied. The interface has to know how much of the item is being used in order to build the correct number of license plates. | |
szGuidTextMessage_TEXTMES | O | TEXTMES | This is a free form entry field. | |
szLicnesePlateNumber_LPNU | O | LPNU | This field not used by the interface. | |
szL1UoM_UOM | O | UOM | If entered, this field must be a valid unit of measure. If nothing is entered, then this field will default to the level one value in the unit of measure item definition file. | |
mnL1ConversionToNxtLvl_CONV | O | CONV | This field is used to determine how many license plates should be created. If not overridden, it defaults to the value in the unit of measure item definition file. | |
cL1CreateLPN_CHAR | O | CHAR | This field controls if license plates will be created at this unit of measure level. Valid values are “Y” or “N”. | |
szL1ContainerCode_EQTY | O | EQTY | If a license plate is created for this unit of measure level, its container code can be overridden by entering a new value here. If nothing is entered, it will use the value in the unit of measure item definition file. | |
szL2UoM_UOM | O | UOM | If entered, this field must be a valid unit of measure. If nothing is entered, then this field defaults to the level two value in the unit of measure item definition file. | |
mnL2ConversionToNxtLvl_CONV | O | CONV | This field is used to determine how many license plates should be created. If not overridden, it defaults to the value in the unit of measure item definition file. | |
cL2CreateLPN_CHAR | O | CHAR | This field controls if license plates will be created at this unit of measure level. Valid values are “Y” or “N”. | |
szL2ContainerCode_EQTY | O | EQTY | If a license plate is created for this unit of measure level, its container code can be overridden by entering a new value here. If nothing is entered, it will use the value in the unit of measure item definition file. | |
szL3UoM_UOM | O | UOM | If entered, this field must be a valid unit of measure. If nothing is entered, then this field will default to the level three value in the unit of measure item definition file. | |
mnL3ConversionToNxtLvl_CONV | O | CONV | This field is used to determine how many license plates should be created. If not overridden, it defaults to the value in the unit of measure item definition file. | |
cL3CreateLPN_CHAR | O | CHAR | This field controls if license plates will be created at this unit of measure level. Valid values are “Y” or “N”. | |
szL3ContainerCode_EQTY | O | EQTY | If a license plate is created for this unit of measure level, its container code can be overridden by entering a new value here. If nothing is entered, it will use the value in the unit of measure item definition file. | |
szL4UoM_UOM | O | UOM | If entered, this field must be a valid unit of measure. If nothing is entered, then this field will default to the level four value in the unit of measure item definition file. | |
mnL4ConversionToNxtLvl_CONV | O | CONV | This field is used to determine how many license plates should be created. If not overridden, it defaults to the value in the unit of measure item definition file. | |
cL4CreateLPN_CHAR | O | CHAR | This field controls if license plates will be created at this unit of measure level. Valid values are “Y” or “N”. | |
szL4ContainerCode_EQTY | O | EQTY | If a license plate is created for this unit of measure level, its container code can be overridden by entering a new value here. If nothing is entered, it will use the value in the unit of measure item definition file. | |
szL5UoM_UOM | O | UOM | If entered, this field must be a valid unit of measure. If nothing is entered, then this field will default to the level five value in the unit of measure item definition file. | |
mnL5ConversionToNxtLvl_CONV | O | CONV | This field is used to determine how many license plates should be created. If not overridden, it defaults to the value in the unit of measure item definition file. | |
cL5CreateLPN_CHAR | O | CHAR | This field controls if license plates will be created at this unit of measure level. Valid values are “Y” or “N”. | |
szL5ContainerCode_EQTY | O | EQTY | If a license plate is created for this unit of measure level, its container code can be overridden by entering a new value here. If nothing is entered, it will use the value in the unit of measure item definition file. |
R = Required
X = Required but will default in if not passed
O = Optional
Transaction test scenarios
The following test scenarios demonstrate a variety of ways in which this interface could be used, and the fields that would be passed for each scenario.
The data structure fields are in the left column, and the corresponding values for each scenario are listed by column.
Field name | Build UoM structure |
---|---|
cdcLINKActionCode_EV01 | 0 |
cActionType_ACTION | |
jdDateUpdated_UPMJ | |
mnTimeUpdated_TDAY | |
szUserId_USER | Elvis |
szWorkStationId_JOBN | |
mnJobNumber_JOBS | |
szProgramId_PID | |
szVersion_VERS | |
cSuppressErrMsg_EV01 | |
cErrorCode_ERRC | |
szErrorMessageKey_EKEY | |
iDebugLevel_INT01 | |
szGuidUniqueID_GUID | |
szGuidApprover1_USR1 | |
szGuidFullName1_FULLNAME1 | |
szGuidApprover2_USR2 | |
szGuidFullName2_FULLNAME2 | |
mnGuidReasonCode1_REASON1 | |
szGuidCommentField_COMMENTS | |
mnGuidReasonCode2_REASON2 | |
szGuidCommentField2_2COMMENTS | |
szGuidScriptID_FMNMVERS | |
cCreateOrUseLP_EV01 | |
szBranchPlant_MCU | W30 |
szUnknownItemNo_UITM | VIT |
szLocation_LOCN | . . . |
szLot_LOTN | 2.006E+11 |
mnPrimaryQuantity_PQOH | 3240 |
szGuidTextMessage_TEXTMES | |
szLicnesePlateNumber_LPNU | |
szL1UoM_UOM | PL |
mnL1ConversionToNxtLvl_CONV | |
cL1CreateLPN_CHAR | Y |
szL1ContainerCode_EQTY | |
szL2UoM_UOM | CA |
mnL2ConversionToNxtLvl_CONV | |
cL2CreateLPN_CHAR | Y |
szL2ContainerCode_EQTY | |
szL3UoM_UOM | BX |
mnL3ConversionToNxtLvl_CONV | |
cL3CreateLPN_CHAR | Y |
szL3ContainerCode_EQTY | BOX1 |
szL4UoM_UOM | |
mnL4ConversionToNxtLvl_CONV | |
cL4CreateLPN_CHAR | |
szL4ContainerCode_EQTY | |
szL5UoM_UOM | |
mnL5ConversionToNxtLvl_CONV | |
cL5CreateLPN_CHAR | |
szL5ContainerCode_EQTY |
Common error messages
The following are common error messages that can be generated by this BF, and what those error messages mean.
Error message | Meaning |
---|---|
144LPN |
Branch Plant: Error. The branch/plant entered doesn't have license plating turned on. |
129LPN |
Auto Generation method is not provided by the system for the LP Numbering method of 01. This is an intrinsic system setup problem that needs to be addressed by the client. Running the same data through EnterpriseOne should generate the same error. |
128X |
Invalid UDC value. One of the unit of measures entered (L1 through L5) is not a valid unit of measure setup in the 00/UM UDC table. |
104LPN |
Branch Plant required. The branch/plant can not be blank on any transaction. |
424B |
Enter item number and transaction quantity. Either the item number was not entered, or the quantity was not entered. Both are required fields. |
031Q |
Field Invalid. The create or use field is blank. |
139LPN |
Invalid Stocking type for License Plates. The item entered is setup in the item master as either a bulk or stocked item. |
005B |
Invalid Item Number. The item number entered is setup in the item master as a dual unit of measure item number. This interface cannot process dual unit of measure items. |
4077 |
Lot number invalid or not found. The lot number entered does not exist in the F4108 Lot Master file. |
0002 |
Record Invalid. In the context of this BF, this error is returned when an error has been detected from one of these three business functions: dcLINK Set User ID, dcLINK Utility Set Audit Info, or dcLINK Utility Write Signature Capture Record. |
027Z |
Item Location Record Not Found. No record exists in the F41021 file for the item number entered. |
Loading...
There was a problem loading this topic