The primary purpose of the workfile F41021WF is it enables user/application to rollback a certain transaction when hitting a Commit Fail error. This document is intended for the environment where you hit frequent Commit Fail error and/or discrepancy between F4111 (Item Ledger File) and F41021 (Item Location File) or growing orphaned data from F41021WF (F41021 Transaction Workfile). This document is to analyze as-is configuration and possible way to debug when you have this type of issue.
Answer 1: The primary purpose of workfile F41021WF enables user/application to rollback a certain transaction in hitting Commit Fail error. Commit fail which are related with this table can be come when,
In current release, to minimize possible database blocking (Blocking happens when one connection from an application holds a lock and a second connection requires a conflicting lock type. This forces the second connection to wait, blocked on the first. One connection can block another connection, regardless of whether they emanate from the same application or separate applications on different client computers.) tables F41021, F41021WF (and commonly F4102) are sitting outside Transaction Processing Boundaries (A transaction boundary encompasses all of the database operations that comprise a transaction. In interactive applications, a transaction boundary might include only the database operations on a single form. When a transaction includes data operations from another form, the transaction boundary must be extended to include that form.) In EnterpriseOne, the blocking persists from ODBC issues BEGING TRANSACTION through COMMIT/ROLLBACK TRANSACTIONS, so if multiple users are performing inventory transaction through various applications, there is high chance of Deadlock or Blocking, in return, which resulted in Time Out error or Commit Fail error.
Refer to below documents for additional information:-
Answer 2: The table F41021WF contains all the columns defined in F41021. Plus, to set a certain record from this table as transaction specific, additional key columns are included. As shown below, the primary key of F41021WF contains the primary key of F41021 with addition columns JOBS, CTID, UKID and PIDP which makes a single records unique and transaction specific.
Primary Key of F41021WF (F41021 Transaction Workfile)
Alias | Data Item (Description) | From | Others |
JOBS | JobnumberA (Job Number) | Assigned by calling routine - same with mnInvJobNumber in Master BSFN | Same Job Number is used to handle Cache |
CTID | ComputerID (Computer ID) | Assigned by calling rougine - sames with szComputerID | Machine Key, which is used to handle Cache in MBF |
UKID | UniqueKeyIDInternal (Unique Key ID (Internal)) | 1. CacheProcessUniqueF41021WF 2. GetNextUniqueKeyID |
See if there is already a unique ID in the Unique Key ID Cache. If not, retrieve a unique ID from the F00022 for the F41021WF file. |
PIDP | ProgramIdPost (Program ID - Post) | Hard coded value from calling routine | Example: EP4114, EP4205, EP42117, EP42800, EP4312, EP43250, TP4210 |
ITM | IdentifierShortItem (Item Number - Short) | From Detail line of inventory transaction | Primary Key of F41021 |
MCU | CostCenter (Business Unit) | Detail Branch Plant | Primary Key of F41021 |
LOCN | Location (Location) | Primary Key of F41021 | |
LOTN | Lot (Lot/Serial Number) | Primary Key of F41021 |
Note:
Answer 3: For detail, refer to
Development Tools
JD Edwards EnterpriseOne Tools Form Design Aid Guide
4 Working with Transaction Processing
Answer 4: Refer to Auto-Rollback and Manual-Rollback in <Document 625445.1> E1: 40: Manual Rollback Process of Item Location (F41021) File
For the application which has transaction processing ON (or, MANUAL Commit is ON) it handles ODBC level message (for the same reason Begin/Commit/Rollback Transaction gets handled by ODBC level) which returns message on so SV TP_Commit_Status either CO TP_ACTION_SUCCESS or CO TP_ACTION_FAIL to the calling application.
The reason for this configuration is that update of table F41021 is sitting outside Transaction Processing boundaries. So though a certain transaction has failed, database level rollback may not take place. So you have to implement Auto Rollback or you may perform manual rollback through P42210/R42210. In case R41544 (Item Balance\Ledger Integrity) shows discrepancy between F41021 and F4111 you may check whether F41021WF contains any data.
Answer 5: Typically auto rollback is handled as below,
EVENT: Post Commit
Note:
Answer 6: In case
then you can assume that the data from F41021WF are orphaned data.
Answer 7: Possibly,
1. Go to databrowser and open up F41021WF and verify the audit information
2. Check e1root_*.log in JAS and jde_*.logs in EnterpriseOne to determine whether Commit Fail took place or not
3. If it does not have transaction failure message then try to simulate issue by running application with logging on
4. When log is traced user action, verify whether there is any missing bugs or similar
Or,
1. Issue query as below,
sql> select distinct (LWPIDP) from proddta.f41021wf;
2. Review User ID (F41021WF.LWUSER)
3. Inquire e1root_*.log whether it contains any commit fail error
4. If not, try to simulate the routine which leaves orphaned data from F41021WF
3. Are they the outcome of Commit Fail error or simply orphaned data
4. Check integrity between F4111 and F41021 (e.g., integrity check)
5. If needed, rollback it through P42210/R42210 or when there is no discrepancy between F4111 and F41021 truncate table F41021WF through query tool
6. In case you want to debug it further, capture both jasdebug.log and jdedebug.log to determine possible cause of orphaned data
Note:
Answer 8: Related bugs are,
Answer 9: Commonly as a month-end processing, you run R41544 (Item Balance\Ledger Integrity) [Refer to <Document 625402.1> - E1: 41: As Of Processing (P4111 / P41112 / R41760 / R41540 / R41542)] and if there is no discrepancy between F41021 and F4111, you may purge data in F41021WF either through query tool or through Generate Table option in OMW (Object Management Workbench).
Any date which is specific to CTID (szComputerID, commonly it records client's machine name, which is, JAS machine name) and JOBS (mnJObNumberA) is specific a certain transaction. Then if this transaction was not ended in Commit Fail error and it does not disrupt the integrity between F4111 and F41021, i tis safe for you to delete it.
Some example of known issues:
Note:
Answer 10: Actual implementation in EnterpriceOne interactive applications
: Note that below tables only contain associated master/major business functions only.
Application | Hook Up | Simplified Routine | F41021 | F41021WF | Delete | Auto Rollback |
P31113 | FORM: Inventory Issue Revisions (W31113A) | N/A | ||||
Post Dialog is Initialized | 1. F3111WOIssuesBeginDocument | |||||
Post Dialog is Initialized | 1. F3111WOIssuesEditDocument | |||||
Get Custom Grid Row | 1. F3111WOIssuesGetCacheRow | |||||
Row Exit & Changed - Asynch | 1. F3111WOIssuesEditLine | |||||
OK Button Clicked | 1. F3111WOIssuesEditDocument | |||||
Post OK button clicked | 1. CacheProcessUniqueF41021WF | |||||
Post OK button clicked | 1. GetNextUniqueKeyID | |||||
Post OK button clicked | 1. CacheProcessUniqueF41021WF | |||||
Post OK button clicked | 1. F3111WOIssuesEndDocument 2. F4111EndDocument UPDATE PRODDTA.F41021 3. InventoryCardexShell 4. WriteCardexRecord |
Update | N/A | N/A | ||
Post OK button clicked | |--- F3111WOIssuesReleaseAllocatedRes (B3102270) |
Note:
Application | Hook Up | Simplified Routine | F41021 | F41021WF | Delete | Auto Rollback |
P4112 | P4112 (Inventory Issue) | Yes | ||||
Row Exit & Changed - Inline | 1. F4114BeginDocument | |||||
Row Exit & Changed - Asynch | 1. F4114EditLine 2. F4111EditLine 3. F0911FSEditLine |
|||||
1. GetNextUniqueKeyID | ||||||
1. CacheProcessUniqueF41021WF | ||||||
1. F4114EndDocument 2. F0911FSEditDoc 2. F4111EndDocument 3. F0911FSEndDoc 3. CacheProcessUniqueF41021WF UPDATE PRODDTA.F41021 3. InventoryRealTimeWrapperFunction INSERT INTO PRODDTA.F41021WF 3. InventoryCardexShell 4. WriteCardexRecord 3. CacheProcessUniqueF41021WF DELETE FROM PRODDTA.F41021WF 3. CacheProcessUniqueF41021WF 3. CacheProcessUniqueF41021WF |
||||||
Application | Hook Up | Simplified Routine | F41021 | F41021WF | Delete | Auto Rollback |
P4113 | P4113 (Inventory Transfers) | Yes | ||||
1. F4113FSBeginDoc | ||||||
1. F4113FSEditLine 2. F4111EditLine 3. FSOpenBatch 3. F0911FSBeginDoc 3. RetrieveDistAAIwF4095Cache 3. F0911FSEditLine 2. F4111EditLine 3. RetrieveDistAAIwF4095Cache 3. F0911FSEditLine |
||||||
1. GetNextUniqueKeyID | ||||||
1. CacheProcessUniqueF41021WF | ||||||
1. F4113FSEndDoc 2. F0911FSEditDoc 2. F4111EndDocument 3. F0911FSEndDoc 3. CacheProcessUniqueF41021WF UPDATE PRODDTA.F41021 3. InventoryRealTimeWrapperFunction INSERT INTO PRODDTA.F41021WF 3. InventoryCardexShell 4. WriteCardexRecord 3. CacheProcessUniqueF41021WF UPDATE PRODDTA.F41021 3. InventoryRealTimeWrapperFunction INSERT INTO PRODDTA.F41021WF 3. InventoryCardexShell 4. WriteCardexRecord 3. CacheProcessUniqueF41021WF DELETE FROM PRODDTA.F41021WF 3. CacheProcessUniqueF41021WF 3. CacheProcessUniqueF41021WF |
||||||
1. F4113FSClearWorkFile 2. F4111ClearDetailStack 3. F0911FSClearStack 3. BatchReviseOnExit |
Application | Hook Up | Simplified Routine | F41021 | F41021WF | Delete | Auto Rollback |
P4114 | P4114 (Inventory Adjustments) | Yes | ||||
1. F4114BeginDocument | ||||||
1. F4114EditLine 2. F4111EditLine 3. FSOpenBatch 3. F0911FSBeginDoc 3. RetrieveDistAAIwF4095Cache 3. F0911FSEditLine |
||||||
1. F4111GetNextNumber | ||||||
1. F0911FSGetNextDocNumber | ||||||
1. F0911FSBeginDoc | ||||||
1. GetNextUniqueKeyID | ||||||
1. CacheProcessUniqueF41021WF | ||||||
1. F4114EndDocument 2. F0911FSEditDoc 2. F4111EndDocument 3. F0911FSEndDoc 3. CacheProcessUniqueF41021WF UPDATE PRODDTA.F41021 3. InventoryRealTimeWrapperFunction INSERT INTO PRODDTA.F41021WF 3. InventoryCardexShell 4. WriteCardexRecord 3. CacheProcessUniqueF41021WF DELETE FROM PRODDTA.F41021WF 3. CacheProcessUniqueF41021WF 3. CacheProcessUniqueF41021WF 3. BatchReviseOnExit |
Application | Hook Up | Simplified Routine | F41021 | F41021WF | Delete | Auto Rollback |
P4116 | P4116 (Item Reclassifications) | Yes | ||||
1. F4116FSBeginDoc | ||||||
1. F4116FSEditLine 2. F4111EditLine 3. F0911FSBeginDoc 3. RetrieveDistAAIwF4095Cache 3. F0911FSEditLine |
||||||
1. F4116FSEditDoc | ||||||
1. F4111GetNextNumber | ||||||
1. F0911FSBeginDoc | ||||||
1. GetNextUniqueKeyID | ||||||
1. CacheProcessUniqueF41021WF | ||||||
1. F4116FSEndDoc 2. F0911FSEditDoc 2. F4111EndDocument 3. F0911FSEndDoc UPDATE PRODDTA.F41021 3. InventoryRealTimeWrapperFunction INSERT INTO PRODDTA.F41021WF 3. InventoryCardexShell 4. WriteCardexRecord 3. CacheProcessUniqueF41021WF UPDATE PRODDTA.F41021 3. InventoryRealTimeWrapperFunction INSERT INTO PRODDTA.F41021WF 3. InventoryCardexShell 4. WriteCardexRecord 3. CacheProcessUniqueF41021WF DELETE FROM PRODDTA.F41021WF 3. CacheProcessUniqueF41021WF 3. CacheProcessUniqueF41021WF |
Application | Hook Up | Simplified Routine | F41021 | F41021WF | Delete | Auto Rollback |
P4210 | P4210 (Sales Order Entry) | Yes | ||||
1. F4211FSBeginDoc | ||||||
1. F4211FSEditLine 2. DetermineSOMBFAvailability 3. CalculateAvailability 2. ProcessSOMBFCommitment_Commit 3. CommitSalesOrderToInventory SELECT * FROM PRODDTA.F41021 UPDATE PRODDTA.F41021 4. CacheProcessUniqueF41021WF 4. GetNextUniqueKeyID 4. CacheProcessUniqueF41021WF INSERT INTO PRODDTA.F41021WF |
||||||
1. F4211EditDoc | ||||||
1. CacheProcessUniqueF41021WF | ||||||
1. F4211FSEndDoc 2. F41021DeleteCache 3. GetLocalComputerId 3. CacheProcessUniqueF41021WF DELETE FROM PRODDTA.F41021WF 3. CacheProcessUniqueF41021WF 3. CacheProcessUniqueF41021WF 2. F41021WFDelete 3. CacheProcessUniqueF41021WF DELETE FROM PRODDTA.F41021WF |
Note:
Application | Hook Up | Simplified Routine | F41021 | F41021WF | Delete | Auto Rollback |
P42117 | P42117 (Backorder Release) | Yes | ||||
1. BackorderReleaseEditLine 2. CommitSalesOrderToInventory UPDATE PRODDTA.F41021 3. GetLocalComputerId 3. CacheProcessUniqueF41021WF 3. GetNextUniqueKeyID 3. CacheProcessUniqueF41021WF INSERT INTO PRODDTA.F41021WF |
||||||
1. CacheProcessUniqueF41021WF | ||||||
1. BackorderReleaseEndDoc | ||||||
1. F41021DeleteCache 2. GetLocalComputerId 2. CacheProcessUniqueF41021WF DELETE FROM PRODDTA.F41021WF 2. CacheProcessUniqueF41021WF 2. CacheProcessUniqueF41021WF |
Note:
Application | Hook Up | Simplified Routine | F41021 | F41021WF | Delete | Auto Rollback |
P4205 | P4205 (Shipment Confirmation) | Yes | ||||
1. F42UI05EditLine 2. CalculateAvailability 2. F4111EditLine 2. CommitSalesOrderToInventory UPDATE PRODDTA.F41021 3. CacheProcessUniqueF41021WF 3. GetNextUniqueKeyID 3. CacheProcessUniqueF41021WF INSERT INTO PRODDTA.F41021WF 2. CommitSalesOrderToInventory UPDATE PRODDTA.F41021 3. CacheProcessUniqueF41021WF UPDATE PRODDTA.F41021WF |
||||||
1. CacheProcessUniqueF41021WF | ||||||
1. ShipConfirmEndDoc 2. F4111EndDocument 3. CacheProcessUniqueF41021WF UPDATE PRODDTA.F41021 UPDATE PRODDTA.F41021WF 3. InventoryCardexShell 4. WriteCardexRecord 3. CacheProcessUniqueF41021WF DELETE FROM PRODDTA.F41021WF 3. CacheProcessUniqueF41021WF 3. CacheProcessUniqueF41021WF 2. F42UI05DeleteCache 3. F41021DeleteCache 4. GetLocalComputerId 4. CacheProcessUniqueF41021WF |
Note:
Application | Hook Up | Simplified Routine | F41021 | F41021WF | Delete | Auto Rollback |
P4312 | P4312 (Purchase Order Receipt) | N/A | ||||
1. F4312BeginDoc | ||||||
1. F4312EditLine | ||||||
1. GetNextUniqueKeyID | ||||||
1. F43121ZGetReceiverCache | ||||||
1. GetNextUniqueKeyID | ||||||
1. CacheProcessUniqueF41021WF | ||||||
1. F4312EndDoc 2. F0911FSEndDoc 2. F4111EndDocument 3. CacheProcessUniqueF41021WF UPDATE PRODDTA.F41021 3. InventoryRealTimeWrapperFunction INSERT INTO PRODDTA.F41021WF 3. InventoryCardexShell 4. WriteCardexRecord DELETE FROM PRODDTA.F41021WF 3. CacheProcessUniqueF41021WF 3. CacheProcessUniqueF41021WF |
||||||
1. ProcessF41021WFRecords |
Application | Hook Up | Simplified Routine | F41021 | F41021WF | Delete | Auto Rollback |
P43250 | P43250 (Receipt Routing Movement and Disposition) | Yes | ||||
1. F0911FSBeginDoc | ||||||
1. F43092EditLine | ||||||
1. GetNextUniqueKeyID | ||||||
1. CacheProcessUniqueF41021WF | ||||||
1. F43092EndDoc 2. F43092ZReceiptRoutingCache 2. GetPurchaseOrderReceipt 2. F43121GetReceiverDetails 2. UpdateRoutingQuantity 2. F43092GetRowInformation 2. UpdateF41021SecondaryLocationQty UPDATE PRODDTA.F41021 3. InventoryRealTimeWrapperFunction 3. GetLocalComputerId 3. CacheProcessUniqueF41021WF INSERT INTO PRODDTA.F41021WF 2. UpdateF41021SecondaryLocationQty UPDATE PRODDTA.F41021 3. InventoryRealTimeWrapperFunction 3. GetLocalComputerId 3. CacheProcessUniqueF41021WF UPDATE PRODDTA.F41021WF |
||||||
1. F41021WFDelete 2. CacheProcessUniqueF41021WF DELETE FROM PRODDTA.F41021WF |
||||||
1. ProcessF41021WFRecords 1. ProcessF41021WFRecords |
Answer 11: Commonly business functions listed below performs F41021WF related transactions:-
CacheProcessUniqueF41021WF (B4902110, Cache Process Unique F41021WF)
Parameter Name | Data Item | Data Type | Req/Opt | I/O | Others |
mnJobnumber | JOBS | MATH_NUMERIC | OPT | IN | Job Number which was used for calling MBF (Master Business Function) which is unique for a certain transaction along with Machine Name. Commonly returned by function GetInternalNextNumber (B0000564, Get Internal Next NUmber) |
szComputerID | CTID | char | OPT | IN | Computer ID - machine name where request is performed. Coomonly returned by
|
mnUniqueKeyIDInternal | UKID | MATH_NUMERIC | OPT | IN | GetNextUniqueKeyID.mnUniqueKeyID on F41021WF |
szCacheActionCode | CACTN | char | OPT | IN |
Refer detail routine to check the sequence of cache action. |
mnNumberKeys | NKEYS | MATH_NUMERIC | OPT | IN | Commonly mnJobNumber, szComputerID and mnUniqueKeyIDInternal makes key, so this value can be 3 for this example. |
idCacheCursor | GENLNG | ID | OPT | IN/OUT | |
cSuppressErrorMessage | SUPPS | char | OPT | IN | 0 - Do not Suppress 1 - Suppress Error (though this function ends in error, calling routine continue proceed) |
szErrorMessageID | DTAI | char | OPT | OUT |
|
GetNextUniqueKeyID (X00022, Get Next Unique Key ID)
Parameter Name | Data Item | Data Type | Req/Opt | I/O | Others |
szObjectName | OBNM | char | OPT | IN | This value is hard coded from calling routine (e.g., F41021WF) |
mnUniqueKeyID | UKID | MATH_NUMERIC | OPT | OUT | As-is value from F00022 |
--------------------------------------------
Business Function which manipulates data from F41021WF
Application (s)
|--- ProcessF41021WFRecords (B4101810, Process F41021WF Records)
|--- RollbackF41021Commitment (B4101810, Rollback F41021 Commitment)
ProcessF41021WFRecords (B4101810, Process F41021WF Records)
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both | Others |
szComputerID | CTID | char | REQ | IN | Upper Case only. The szComputerID is same with F41021WF cache function and Master Business Function associated. |
mnJobnumberA | JOBS | MATH_NUMERIC | REQ | IN | mnJobNumberA is same with job number in master business function. This way cache can be handled form level event Post Commit event. |
szUserId | USER | char | OPT | NONE | |
szProgramId | PID | char | OPT | NONE | |
cSuppressError | EV01 | char | OPT | NONE | |
cErrorCode | ERRC | char | OPT | NONE | |
mnUniqueKeyIDInternal | UKID | MATH_NUMERIC | OPT | IN | mnUniqueKeyIDInternal for detail lines |
RollbackF41021Commitment (B4101810, Rollback F41021 Commitment)
Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both | |
mnJobnumberA | JOBS | MATH_NUMERIC | REQ | INPUT | |
szProgramIdPost | PIDP | char | REQ | INPUT | |
szComputerID | CTID | char | REQ | INPUT | |
mnIdentifierShortItem | ITM | MATH_NUMERIC | REQ | INPUT | Primary Key of F41021 |
szBranchPlant | MCU | char | REQ | INPUT | Primary Key of F41021 |
szLocation | LOCN | char | REQ | INPUT | Primary Key of F41021 |
szLot | LOTN | char | REQ | INPUT | Primary Key of F41021 |
mnQtyBackorderedInPri | PBCK | MATH_NUMERIC | OPT | INPUT | New F41021.PBCK = Old F41021.PBCK - F41012WF.PBCK |
mnQtyOnPurchaseOrderPr | PREQ | MATH_NUMERIC | OPT | INPUT | |
mnQuantityOnWoReceipt | QWBO | MATH_NUMERIC | OPT | INPUT | |
mnQty1OtherPrimaryUn | OT1P | MATH_NUMERIC | OPT | INPUT | |
mnQty2OtherPrimaryUn | OT2P | MATH_NUMERIC | OPT | INPUT | |
mnQtyOtherPurchasing1 | OT1A | MATH_NUMERIC | OPT | INPUT | |
mnQtyHardCommitted | HCOM | MATH_NUMERIC | OPT | INPUT | |
mnQuantitySoftCommitted | PCOM | MATH_NUMERIC | OPT | INPUT | |
mnQtyOnFutureCommit | FCOM | MATH_NUMERIC | OPT | INPUT | |
mnWorkOrderSoftCommit | FUN1 | MATH_NUMERIC | OPT | INPUT | |
mnQtyInTranPrimaryUn | QTTR | MATH_NUMERIC | OPT | INPUT | |
mnQtyInInspPrimaryUn | QTIN | MATH_NUMERIC | OPT | INPUT | |
mnQuantityOnLoanToMa | QONL | MATH_NUMERIC | OPT | INPUT | |
mnQuantityInboundWareh | QTRI | MATH_NUMERIC | OPT | INPUT | |
mnQuantityOutboundWare | QTRO | MATH_NUMERIC | OPT | INPUT | |
mnUnitsTransactionQty01 | QT01 | MATH_NUMERIC | OPT | INPUT | |
mnUnitsTransactionQty02 | QT02 | MATH_NUMERIC | OPT | INPUT | |
mnFutureUseQuantity | QTY1 | MATH_NUMERIC | OPT | INPUT | |
mnFutureUseQuantity2 | QTY2 | MATH_NUMERIC | OPT | INPUT | |
mnQtyOnHandPrimaryUn | PQOH | MATH_NUMERIC | OPT | INPUT | |
mnQuantityOnWorkorder | QOWO | MATH_NUMERIC | OPT | INPUT | |
cSuppressErrorMessage | SUPPS | char | OPT | INPUT | |
szErrorMessageID | DTAI | char | OPT | OUTPUT | |
cModeProcessing | MODE | char | OPT | INPUT | |
mnProjectHardCommitted | PJCM | MATH_NUMERIC | OPT | NONE | |
mnSecondaryQtyHardCommitted | HCMS | MATH_NUMERIC | OPT | NONE | |
mnSecondaryProjectHardCommit | PJDM | MATH_NUMERIC | OPT | NONE | |
mnSecondaryQtySoftCommitted | SCMS | MATH_NUMERIC | OPT | NONE | |
mnSecondaryQtyInbound | SIBW | MATH_NUMERIC | OPT | NONE | |
mnSecondaryQtyOutbound | SOBW | MATH_NUMERIC | OPT | NONE | |
mnSecondaryQtyOnHand | SQOH | MATH_NUMERIC | OPT | NONE | |
mnSecondaryQtyOnWOReceipt | SQWO | MATH_NUMERIC | OPT | NONE | |
mnSecondaryQtyOnPO | SREQ | MATH_NUMERIC | OPT | NONE | |
mnSecondaryQtyWOHardCommitted | SWHC | MATH_NUMERIC | OPT | NONE | |
mnSecondaryQtyWOSoftCommitted | SWSC | MATH_NUMERIC | OPT | NONE | |
szWorkStationId | JOBN | char | OPT | NONE | Do not copy audit information |
szProgramId | PID | char | OPT | NONE | |
jdDateUpdated | UPMJ | JDEDATE | OPT | NONE | |
szUserId | USER | char | OPT | NONE | |
mnTimeOfDay | TDAY | MATH_NUMERIC | OPT | NONE | |
mnUniqueKeyIDInternal | UKID | MATH_NUMERIC | OPT | NONE |
-------------------------------------------------------------------------------------------------
Business functions to rollback when F41021WF records for commit fail
Objects calling CommitSalesOrderToInventory (B4200370, F41021 Update Order Commitment to Inventory)
Object Name | Description | Comments |
N3201630 | Process Component Commitment | |
N4200790 | Shipment Confirmation | |
N4200860 | Backorder Release MBF | |
N4201130 | Commitments, Kit Balancing | |
N4201360 | Pick Slips Inventory Commitmen | |
N4900960 | Transportation Adjust Order Li | |
P42117 | Backorder Release | |
PCW61 | Sales Order - Mass Update for | |
R42995 | Repost Active Sales Orders |
Note:
Application ID is TP4210 or EP43250
Special Handling code of value ROLL in UDC 00/AT is 1 (TRUE)
UpdateF41021PrimaryLocationQtyOT (XF41021P, F41021 Update Primary Location Quantities for OT orders): same with UpdateF41021PrimaryLocationQty which can be called in your handling ST/OT.
Answer 12: List of applications which is referencing F41021WF directly:
Application ID | F41021 Commitments Recovery | Used for |
---|---|---|
P42210 | F41021 Commitments Recovery | Represent data from F41021WF and enables you to rollback it manually |
R42210 | F41021 Commitments Recovery | Batch application for P42210 |
: Do NOT run these applications when you have implemented Auto-Rollback because it may cause discrepancy between F41021 and F4111.
<Internal_Only>(this information can be beneficial for some client - and i have seen lots of similar complaint (no Commit Fail error but F41021WF is growing) I have set visibility to external though some information is not completed, which can be refined along the way. </Internal_Only>