Inventory Transfer interface for JD Edwards
About the Inventory Transfer interface
The Inventory Transfer interface is used to move material from one inventory location to a different inventory location. The MEP version is called ND3N4113. This interface was written in NER, and calls a ‘C' business function, BD3N4101, to retrieve the processing options from the interactive program P4113.
The Inventory Transfer interface includes the following functions:
Name | Function name | Description |
---|---|---|
DD3N4113 | dcLINK Interface – Inventory Transfers | |
ND3N4113 | dcLINKInventoryTransfers | dcLINK Interface – Inventory Transfers |
DD3N4101 | PO Retrieval – Inventory Transfer | |
BD3N4101 | PORetrievalInventoryTransfer | PO Retrieval – Inventory Transfer |
This interface is written to support single-line transactions. A single-line transaction creates an EnterpriseOne batch for each transaction with a separate document number, and performs a Begin Document, Edit Line, End Document, and Clear Cache. This function also supports Quality Management for Test Results and Production Number functionality.
In EnterpriseOne, the application that you would run to perform an inventory issue is P4113 Inventory Issues. This can be accessed from the G4111 menu (Inventory Master/Transactions).
This guide applies to the newest version of the ERP.
Processing options
Processing options control certain aspects of how the interface functions, both within EnterpriseOne, and through the interface. It is important, when testing the interface, when the transaction is run through the corresponding EnterpriseOne application utilizing the same version, that you receive the identical result.
Defaults tab
Document Type – This is the document type that will default for the transaction if one is not passed into the interface. This is validated against the UDC 00/DT. Typically you allow the document type to default from this value into the interface and not be manually entered. szDocumentType_DCT.
From Location/Lot – If there is a value of 1 in this field, and no “from” lot or “from” location is passed in the interface, it will use the location and lot from the primary location. DefaultFROMPrimLocation_EV01.
To Location/Lot – If there is a value of 1 in this field, and no “to” lot or “to” location is passed in the interface, it will use the location and lot from the primary location. cDefaultTOPrimLocation_EV01.
Versions tab
Journal Entries – This value is used to look up the general ledger MBF version, which in turn is passed into the Edit Line. szJournalEntriesVersion_VL01
Process tab
Cost Entry – used to specify whether the interface will allow changes to the unit cost and extended amount fields. Valid values are: 1 – do not allow entry and use the default values from the Cost Ledger Table F4105; and blank – allows entry into the cost fields. cProtectCosts_EV03.
Journal Entries – used to specify whether the journal entry that is created should be summarized or not. This field is passed into the End Doc MBF. cSummaryMode_EV04
Lots on Hold – used to specify whether the interface will allow a transfer if the lot is on hold. Valid values are: 1 – allow transfers from/to lots on hold; and blank – do not allow transfers from/to lots on hold unless the lot status is defined in a lot group. cAllowHeldLots_EV05 and PO_szLotGroup_LOTGRP.
Transfer Quantity – a value of blank disallows transferring if the is a negative quantity available. A 1 allows transferring if there is a negative quantity available. A 2 disallows transfers if the quantity on hand is negative. The option is passed into the Edit Line MBF. cAllowOverQtyAvailable_EV06.
Lot Status Default – a value of 1 says to not default the lot status from the “from” location. A value of blanks does default the lot status from the “from” location. cPODefaultLotStatus_Ev07
Warehouse tab
License Plate Number Generation Method – there are four different methods for creating license plates. Use 01 if you are planning on calling the MEP interface ND3N6L30 to build your license plates. If you want to let the system create the license plate, then choose one of the other methods that best suits your needs. PO_szLPNGenerationMethod_LPNG
Build default UOM structure – a 1 says to use the transaction UOM structure. A blank says to use the default structure. This processing option only has meaning in this NER if the license plate generation method is something other than 01. PO_cBuildStructure_EV01 Processing option data structure - DD3N4101
The interface retrieves these parameters by calling BD3N4101 and is passed back in the following data structure.
Type | Description | Parameter |
---|---|---|
String | szVersion_VERS | Input |
String | szDocumentType_DCT | Output |
Char | cDefaultFROMPrimLocation_EV01 | Output |
Char | cDefaultTOPrimLocation_EV02 | Output |
Char | cProtectCosts_EV03 | Output |
Char | cSummaryMode_EV04 | Output |
Char | cAllowHeldLots_EV05 | Output |
Char | cAllowOverQtyAvailable_EV06 | Output |
String | szJournalEntriesVersion_VL01 | Output |
String | szItemLedgerVersion_VL03 | Output |
String | szOutInteroperabilityType_TYTN | Output |
Char | cAgreementAssignProcess_EV01 | Output |
Char | cPODefaultLotStatus_Ev07 | Output |
String | PO_szLotGroup_LOTGRP | Output |
String | PO_szLPNGenerationMethod_LPNG | Output |
Char | PO_cBuildStructure_EV01 | Output |
Char | PO_cLicensePlateWindow_EV01 | Output |
Processing
Required fields
The dcLINK Action Code, “from” branch/plant, item, “to” branch/plant, and quantity are required fields. These are the minimum requirements. If you are adjusting a specific location and/or lot, these fields would need to be entered.
The characteristics of an item determine which fields are required by the interface. Some characteristics are set at the item level, and some are set at the item/branch level. The item/branch level always takes precedence over the item master.
Lot / serial control
Determined at the branch level. The Lot Process Type SRCE determines if a lot or serial number is required and how it is assigned. Valid values are:
Blank or 0 – lots are optional
1 – lots are assigned using the date
2 – lots are assigned with next number
3 – lots must be assigned manually
4 – serial number is optional
5 – serial number assigned using date
6 – serial number assigned manually.
The Serial Number Required NR works in conjunction with the lot process type to determine whether a serial number is required, or if additional lot fields are required. Valid values are:
Blank – serial number not required
3 – Supplier lot required
4 – Supplier lot, memo lot 1 required
5 – Supplier lot, memo lot 1, and memo lot 2 are required
6 – CSMS Non-serialized item
N – Serial number not required
Y – Serial number required (if the item is serialized the quantity must be 1).
This is dependent on the lot process type flag having a value of 5, 6, or 7. Because you are transferring inventory the lot must already exist for lot controlled items. The only information needed is the combination of item/location and lot number and the quantity.
Dual unit of measure
Determined at the item master level. When this is turned on for an item, a primary quantity and secondary quantity are required. All inventory transactions must be entered with primary and secondary quantities. The dual unit of measure process uses principals based upon catch weight. The primary characteristics of these items are that there is a variable quantity for the unit of measure conversion, not a static conversion factor. Examples are food and roll goods. For example, if you were dealing with chickens, the weight per chicken varies, so a standard unit of measure conversion will not work because it is not consistent. The item setup could be Primary Unit of Measure Each, Secondary Unit of Measure LB. A unit of measure conversion needs to exist with a baseline conversion of LB to each. The weight in lbs of an individual chicken will vary and needs to be input for all transactions.
The Dual Unit of Measure Item DUAL controls whether the item is a dual unit of measure item, and whether tolerance checking is used. The valid values are:
Blank – the item does not utilize dual unit of measure functionality.
1 – The item utilizes the dual unit of measure functionality without tolerance checking.
2 – The item utilizes the dual unit of measure functionality with tolerance checking for all transactions, except for inventory issues and adjustments.
If you do not pass the secondary quantity in this transaction it will not default to the standard unit of measure conversion. It will pass a 0 into the secondary quantity. Best practice
The minimum fields that you should be passing in are the dcLINK Action Code, Item Number, “from” Branch/Plant, Quantity, “from” Location, “from” lot number if required, “to” Branch/Plant, “to” location, and “to” lot number, if required. Typically the document type is retrieved from the processing options of the version being used.
Action code usage
The Inventory Transfer interface can be used two different ways, either single-line transaction, or multi-line transaction.
The valid action codes (cdcLINKActionCode_EV01) for this interface are:
Action code | Description |
---|---|
0 | Used to process a single-line transaction. Performs Begin Document, Edit Line, End Document, and Clear Cache. |
L, S | Calls the dcLINK Serial Number Lookup business function to determine the “from” location. After the call is made, the action code is changed to a 0 and processed normally. |
Verifying the processing
There should be an entry in the Item Ledger (Cardex, menu G41112), a journal entry in Inventory Journal Review (menu G41), and the inventory quantity should change in the Summary Availability (menu G41112). Inventory Issues decrease inventory, however the transaction quantity is entered as a positive value.
As an example we are transferring 5 Touring Bikes from location 1.B.1 to location 1.A.1. This is all within the same branch/plant, 30. In the summary availability before the transfer is run. There are currently 5.0060 bikes on hand in location 1.B.1 and we are transferring 5 of those to 1.A.1.
Any time you affect inventory you will get a CARDEX entry and a journal entry. In the CARDEX entry that was created when the transfer ran. In the details of the entry, you will see a batch number that can be used to look up the journal entry that was created, and a document number that can be used to review the transfer using the E1 application, Inventory Transfers.
Summary availability should change also. Summary availability just shows a snapshot of how inventory looks at the moment, so anytime you want to use summary availability to verify an activity occurred you really need to have both the before look, and the after look, to see the difference. In the before look when there was 5.0060 bikes in location 1.B.1. In the after look. Note that location 1.B.1 has 5 fewer bikes, and location 1.A.1 has five more, showing the transfer worked. License plates
Inventory transfers will transfer a license plate if, 1) the entire amount on the license plate is transferred, and 2) the license plate consists of just one item – the one being transferred. If the transfer is not the full amount on the license plate, or the license plate has other times on the license plate when the transfer is performed, the item being transferred is taken off the license plate and moved as loose stock. The license plate stays in the location where it is.
Advanced Inventory has a business function, ND3N6L10, that can be used to transfer entire license plates (single item or mixed items).
Input data structure - DD3N4113
Name | Default value | R/O | Alias | Notes |
---|---|---|---|---|
mnJobNumber_JOBS | o,r | JOBS | If not doing Multi-line transactions, this field normally should be blank. EnterpriseOne will return this field. In multi-line transactions, all transactions after the initial one must return the job number from the initial transaction. | |
mnDocNo_DOC | x,r | DOC | If not doing Multi-line transactions, this field normally should be blank. EnterpriseOne will return this field. In multi-line transactions, all transactions after the initial one must return the document number from the initial transaction. | |
jdGLDate_DGL | Today's Date | x | DGL | |
jdTranDate_TRDJ | Today's Date | x | TRDJ | |
szDocType_DCT | Processing Options | x,r | DCT | Required field. If the version does not have a default value, then the transaction must include the document type. |
szPrimaryItemNo_UITM | r | UITM | The item number of the stock that is being transferred. | |
szBranchPlantFrom_MCUF | r | MCUF | The branch/plant where the item is before it is transferred. | |
szLocFrom_LOCF | o | LOCF | Can be unformatted but must have separators. If the processing option is set to default from primary, and no location is entered, the primary location will default into the transaction. | |
szLotNoFrom_LOTF | o,r | LOTF | If the item is lot controlled, and the lot number is assigned manually, this becomes a required field. | |
szBranchPlantTo_MCU | r | MCU | The branch/plant where the item is being transferred too. | |
szLocTo_LOCN | o | LOCN | Can be unformatted but must have separators. If the processing option is set to default from primary, and no location is entered, the primary location will default into the transaction. | |
szLotNoTo_LOTN | o,r | LOTN | If the item is lot controlled, and the lot number is assigned manually, this becomes a required field. | |
szTransUOM_TRUM | o | TRUM | If no value is passed, the primary unit of measure will be used. | |
mnTransQty_TRQT | r | TRQT | Enter the quantity of the item that is being transferred. | |
mnFromUnitCost_UNCS | o | UNCS | ||
mnFromExtCost_PAID | o | PAID | ||
szProgramId_PID | ND3N4113 | x | PID | Defaulted in program if not passed in |
szReasonCode_RCD | o | RCD | ||
cdcLINKActionCode_EV01 | 0 | r | EV01 | 0 – Single-line Transaction L – Looks up the current location of the lot number and uses that in the “from” location. It then processes just like an action code of “0”. S – Looks up the current location of the serial number and uses that in the “from” location. It then processes just like an action code of “0”. |
mnToExtCost_PAID | o | PAID | ||
jdDateUpated_UPMJ | Current Date | x | UPMJ |
Retrieved from GetAuditInfo
|
mnTimeUpdated_TDAY | Current Time | x | TDAY |
Retrieved from GetAuditInfo
|
szUserId_USER | Current User | x | USER |
If not passed in, a value will be retrieved from GetAuditInfo. The value of this field will be used for typical user related updates (user ID of who updated a database record, user ID in CARDEX, user ID for GL batches, etc.)
|
szWorkStationId_JOBN | Current Workstation | x | JOBN |
Retrieved from GetAuditInfo
|
szVersion_VERS | ZJDE0001 | x | VERS |
If not passed in the ZJDE0001, version will be used. The processing options of this version will be used for error checking.
|
cSuppressErrMsg_EV01 | o | EV01 |
This field is not used in this NER.
|
|
cErrorCode_ERRC | Blank | x | ERRC |
This is a return value. 1 = warning, 2 = error
|
szErrMsgID_EKEY | Blank | x | EKEY |
This value is returned and will contain the alias of the error message.
|
iDebugLevel_INT01 | o | INT01 |
Displays M&D Debus statements if the value is greater than zero.
|
|
mnToUnitCost_UNCS | o | UNCS | ||
cActionCode_ACTION | 0 | x | ACTION |
This field is not used in this NER.
|
szExplanationTransaction | o | TREX | ||
mnBatchNumber_ICU | x,r | ICU |
If not doing Multi-line transactions, this field normally should be blank. EnterpriseOne will return this field. In multi-line transactions, all transactions after the initial one must return the batch number from the initial transaction.
|
|
cBatchStatus_IST | x.r | IST |
If not doing Multi-line transaction,s this field normally should be blank. EnterpriseOne will return this field. In multi-line transactions, all transactions after the initial one must return the batch status from the initial transaction.
|
|
mnInvJobNumber_JOBS | x,r | JOBS |
If not doing Multi-line transactions, this field normally should be blank. EnterpriseOne will return this field. In multi-line transactions, all transactions after the initial one must return the Inv job number from the initial transaction.
|
|
mnPreviousLineNumber_LNID | x,r | LNID |
If not doing Multi-line transactions, this field normally should be blank. EnterpriseOne will return this field. In multi-line transactions, all transactions after the initial one must return the previous line number from the previous transaction.
|
|
mnLastJournalEntryLineNo_JELN | x,r | JELN |
If not doing Multi-line transactions, this field normally should be blank. EnterpriseOne will return this field. In multi-line transactions, all transactions after the initial one must return the previous line number from the previous transaction.
|
|
cToLotStatusCode_LOTS | o | LOTS | ||
szGuidUniqueID_GUID | Automatically generated by MEP | o | CFRGUID |
If generate GUIDs is turned on in the MEP configuration utility, this field will contain a GUID (guaranteed unique identifier). The GUID is used to tie database changes in EnterpriseOne 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 MEP. 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 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.
|
|
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 EnterpriseOne the screen ID where the change was made is captured. MEP captures the script ID.
|
|
szGuidTextMessage_TEXTMES | o | TEXTMES |
This is a free form entry field.
|
|
mnSecondaryQty_SQOR | o,r | SQOR |
If the item is a DUAL unit of measure item, this is the secondary quantity.
|
|
szSecondaryUoM_UOM2 | o,r | UOM2 |
If this item is a DUAL unit of measure item, this is the secondary unit of measure.
|
|
szFromLicensePlateNumber_LPNU | o | LPNU |
The value in this field indicates the license plate that is being transferred.
|
|
szFromProductionNumber_PMPN | o | PMPN |
The value in this field indicates the From production number.
|
|
szToProductionNumber_PMPN | o | PMPN |
The value in this field indicates the To production number.
|
r = Required
x = Required but will default in if not passed
o = Optional Transaction test scenarios
Field name | Transfer within the warehouse | Transfer to a different warehouse | Transfer using lot lookup | Transfer using existing batch number |
---|---|---|---|---|
jdGLDate_DGL | 03/25/2016 | |||
jdTranDate_TRDJ | 03/25/2016 | |||
szDocType_DCT | IT | |||
szPrimaryItemNo_UITM | 210 | 210 | 210 | 210 |
szBranchPlantFrom_MCUF | M30 | M30 | M30 | M30 |
szLocFrom_LOCF | 1.A.4 | 1.A.4 | 1.A.4 | 1.A.4 |
szLotNoFrom_LOTF | DLOT123 | DLOT123 | ||
szBranchPlantTo_MCU | M30 | 30 | 30 | 30 |
szLocTo_LOCN | 1.A.2 | 1.A.5 | 1.A.4 | 1.B.6 |
szLotNoTo_LOTN | DLOT123 | DLOT123 | ||
mnTransQty_TRQT | 2 | 1 | 1 | 1 |
cdcLINKActionCode_EV01 | 0 | 0 | 0 | 0 |
szUserId_USER | Elvis | Elvis | Elvis | Elvis |
szWorkStationId_JOBN | ||||
szVersion_VERS | ZJDE0001 | |||
mnBatchNumber_ICU | 9210 |
Common error messages
The following table outlines common error messages this NER can generate.
Error message | Meaning | Description |
---|---|---|
0002 | Record Invalid | In the context of this NER, 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. |
010U | Invalid Item Number | The item number cannot be left blank. |
0133 | Negative Amount Invalid | The quantity passed in is less than zero. |
110H | Lot/Serial Number Required | The dcLINK action code is equal to “L” or “S”, but the “from” lot number (szLotNoFrom_LOTF) is empty or blank. |
144LPN | Branch Plant-Error | The branch /plant does not have license plating turned on. |
Business service
Name | Function name | Description |
---|---|---|
JD3N4113 | dsi Interface Inventory Transfer Processor | |
JPD3N410 | dsi Interface Inventory Transfer Manager |
References
The following table outlines any D3N objects used to support this NER.
Object name | Description |
---|---|
BD3N0009 | dcLINK Utility – Turn Debug On and Off |
DD3N0009 | dcLINK Utility – Turn Debug On and Off |
BD3NSETU | dcLINK Set User ID |
DD3NSETUSR | dcLINK Set User ID |
BD3N4101 | PO Retrieval – Inventory Transfer |
DD3N4101 | PO Retrieval – Inventory Transfer |
ND3N0004 | dcLINK Interface Serial Number Lookup |
DD3N004A | dcLINK Interface Serial Number Lookup |
ND3NGUID | dcLINK Utility Write Signature Capture |
DD3NGUID | dcLINK Utility Write Signature Capture |
Loading...
There was a problem loading this topic