Speed Status Update interface for JD Edwards
About the Speed Status Update interface guide
Speed status update is used to advance the status of a sales order line.
The only thing the interface updates is the status code. The status the user passes in to update the line “to” must be a valid status, and must be setup in the order activity rules as a valid status for the “from” status. This NER can update a single line, or an entire order, depending on what is passed in. The dcLINK version is called ND3N4240. This interface was written in NER and calls ‘C' business function, BD3N4202, to retrieve the processing options.
Name | Function Name | Description |
---|---|---|
DD3N42040 | dcLINK Interface – Speed Status Update | |
ND3N4240 | dcLINKSpeedStatusUpdate | dcLINK Interface – Speed Status Update |
DD3N4202 | PO Retrieval – Speed Status Update | |
BD3N4202 | PORetrieveSpeedStatusUpdate | PO Retrieval – Speed Status Update |
This guide applies to the newest version of the ERP.
Corresponding EnterpriseOne application
In EnterpriseOne, the application you would run to perform a speed status update is P42040 and can be accessed from the menu G4212.
Processing options
This interface utilizes the following processing options.
The dream writer version will default to ZJDE0001 if not otherwise specified in the parameter list on the call.
Several of the following processing options can be defaulted from the processing options, or they can be passed in on the interface call. The choice is ultimately the client's. If the data is static, and the sales orders are always being updated to a certain status, then it makes sense to default them in the processing options. It reduces the amount of data being passed on the call from several items, and replaces them with just the version. However, if the user has orders to update that are at a variety of statuses, it would make more sense to keep the processing options blank and pass in the information required to find each order on the interface call.
Defaults tab
-
Status Code (From) (szFromStatusCode_LTT2) – Users have the choice of either passing this value in when the call to the interface is made, or it can default from the processing options. Either way this value is used to select records in the F4211 that are at the correct status to change.
-
Status Code (Thru) (szThruStatusCode_NXT2) – Users have the choice of either passing this value in when the call to the interface is made, or it can default from the processing options. Either way this value is used to select records in the F4211 that are at the correct status to change.
-
Based on Status (cBasedOnStatus_EV01) – The F4211 record has two status codes in each record, commonly referred to as the last status and next status. This interface will compare status codes to see if they fall in the range to be processed. This field tells the interface which status in the F4211 is used to compare against – the last status or the next status. The next status is the default.
-
Default Next Status Code (szNextStatusCode_NXTR) – This field can either come from the processing options, or it can be passed into the interface. This is the status code the F4211 record will be updated to. If this field is blank in the processing options, and not passed into the interface,e then the order activity rules will be used to determine the next status.
-
Document Type (szOrderType_DCTO) – Again this field can be defaulted in the processing options, or it can be passed into the interface. It is used to find the correct F4211 records to update.
Processing options data structure
Our interface retrieves these parameters by calling BD3N4202 and is passed back in the following data structure.
Type | Description | Parameter |
---|---|---|
String | szPOVersion_VERS | Input |
Char | cBasedOnStatus_EV01 | Output |
String | szNextStatusCode_NXTR | Output |
String | szOrderType_DCTO | Output |
String | szFromStatusCode_LTT2 | Output |
String | szThruStatusCode_NXT2 | Output |
Char | cProtectNextStatus_SELC | Output |
String | szSOEVersion_VE | Output |
Char | cWhseRequestMode_PRSU | Output |
String | szWhseVersion_VL13 | Output |
String | szWhseOverNextStat_NXTEV1 | Output |
Processing
The purpose of this interface is update the status of a sales order. To do that it must first select the sales order and determine the lines to update.
If this interface is called, and the order number and line number is passed in, then only that line will be considered for updating. If the order number and item number is passed in, then only the first line found on the order with that item number will be considered for updating. If only the order number is passed in, then all the lines on the order will be considered for updating. For a line to be update it must first be selected using one of the methods listed above, but it must also be at the correct status.
The correct status is determined by first determining which status on the sales order line to use: the last status or the next status. This is determined by how the processing option, cBasedOnStatus_EV01, is set. The default is the next status. Once that is determined, then that status is compared to make sure it is in the range of the from and thru statuses, which could either be defined in the processing options or passed in on the call to the interface.
Required fields
This interface is unusual because so many of the “required” fields don't have to be passed if they are defined in the processing options. Therefore this section will list what values must be present in order to update the status of a sales order. Whether these values are predefined in the processing options, or are passed in on each call, will need to be determined on a site-by-site basis. The order number and order type are required to find an order in the F4211. If only one line is to be processed, then either the line number or the item number must be supplied (if the item number is being used then the branch/plant also must be supplied). That information will find a record in the F4211. To insure the record is at the correct status to be processed, the from status and thru status must be passed in. Assuming the F4211 record passes that test, then we need to have the status that the record is being updated to: the next status code.
About verifying the processing
The verification to make sure the transaction worked is really simple. Use the customer service inquiry to view the order being changed. Scroll until you can see the status fields. After each call, the sales line being processed will be updated to the new status.
Input data structure
The following table describes the input data structure for DD3N4220.
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 |
mnTimeOfDay_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 | ND3N4240 | x | PID | Defaulted in program if not passed in |
szVersion_VERS | ZJDE0001 | x | VERS | Defaulted in program if not passed in |
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 | |
szBranchPlant_MCU | r | MCU | This field is required IF you are using the order number and item number to select the record from the F4211. | |
mnSalesOrder_DOCO | r | DOCO | This field is required in all cases to find the record in the F4211 file. | |
szOrderType_DCTO | Processing Options | o | DCTO | The order type is needed to read the F4211 file. However this field maybe defaulted in the processing options. If there is a value in the processing options, then this value isn't required. Otherwise it is. |
mnLineNumber_LNID | o | LNID | This field is required if a single line is being selected from the F4211 and the item number is NOT being used to find that line. | |
szItemNoUnknownFormat_UITM | o | UITM | This field is required if a single line is being selected from the F4211 and the line number is NOT being used to find that line. | |
szFromStatusCode_LTT2 | Processing Options | o | LTT2 | This value can come from the processing options or be passed in. It is used to qualify selected records from the F4211 file. |
szThruStatusCode_NXT2 | Processing Options | o | NXT2 | This value can come from the processing options or be passed in. It is used to qualify selected records from the F4211 file. |
cBasedOnStatus_EV01 | Processing Options | o | EV01 | This value can come from the processing options or be passed in. This code tells the interface to use the last status code or the next status code from the selected F4211 records, when comparing against the from/thru status codes above. |
szNextStatusCode_NXTR | Processing Options | r | NXTR | This value can come from the processing options or be passed in. This is the status that the selected records will be updated to. Note – order activity rules apply here. If a status is used that isn't setup in order activity rules, an error will be recorded. |
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 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 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. | |
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. | |
szGuidTextMessage_TEXTMES | o | TEXTMES | This is a free form entry field. |
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 | Update Using Order/Line # | Update Using Order/Line # | Update all the Lines on the Order |
---|---|---|---|
cdcLINKActionCode_EV01 | 0 | 0 | 0 |
cActionCode_ACTION | |||
jdDateUpdated_UPMJ | |||
mnTimeOfDay_TDAY | |||
szUserId_USER | |||
szWorkStationId_JOBN | |||
mnJobNumber_JOBS | |||
szProgramId_PID | |||
szVersion_VERS | ZDBK0001 | ZDBK0001 | |
cSuppressErrMsg_EV01 | |||
cErrorCode_ERRC | |||
szErrorMessageKey_EKEY | |||
iDebugLevel_INT01 | |||
szBranchPlant_MCU | 30 | 30 | 30 |
mnSalesOrder_DOCO | 1042687 | 913310 | 594574 |
szOrderType_DCTO | SO | SO | SO |
mnLineNumber_LNID | 1 | ||
szItemNoUnknownFormat_UITM | 220 | ||
szFromStatusCode_LTT2 | 520 | 520 | 520 |
szThruStatusCode_NXT2 | 540 | 540 | 535 |
cBasedOnStatus_EV01 | |||
szNextStatusCode_NXTR | 560 | 560 | 545 |
szGuidUniqueID_GUID | |||
szGuidApprover1_USR1 | |||
szGuidFullName1_FULLNAME1 | |||
szGuidApprover2_USR2 | |||
szGuidFullName2_FULLNAME2 | |||
mnGuidReasonCode1_REASON1 | |||
szGuidCommentField_COMMENTS | |||
mnGuidReasonCode2_REASON2 | |||
szGuidCommentField2_2COMMENTS | |||
szGuidScriptID_FMNMVERS | |||
szGuidTextMessage_TEXTMES |
Common error messages
The following table describes common error messages that can be generated by this BF and what those error messages mean.
Error Message | Description |
---|---|
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. This message is also generated if the sales order number is zero or null. This message can also be generated if the fetch on the F4211 fails. |
2681 | Status ‘999' Not Allowed The next status passed in was ‘999', which is not a valid next status. |
0243 | Status Not in Status Flow The next status, if not passed in, will default to what's setup in the processing options. But even after that, if the next status is equal to blank or null, then this message will be generated. |
4320 | Order Status not in Range The NER reads the F4211 file and can use a status range to select a record to update. If it fails to find a F4211 record whose current status is in the range to update, then this message is displayed. |
Loading...
There was a problem loading this topic