Troubleshoot F41021WF in Inventory Transaction

Purpose of Document

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.

table of Contents

Question 1: What's table F41021WF (F41021 Transaction Workfile) for?

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:-


Question 2: What is the relationship between F41021WF and F41021 (Item Location File)?

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:


Question 3: What is a transaction and commit fail error and rollback?

Answer 3: For detail, refer to

Development Tools
JD Edwards EnterpriseOne Tools Form Design Aid Guide
4 Working with Transaction Processing


Question 4: What is rollback process in system level and user interface level?

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.


Question 5: What is a typical auto-rollback routine?

Answer 5: Typically auto rollback is handled as below,

EVENT: Post Commit

If SV TP_Commit_Status is equal to CO TP_ACTION_FAIL
Process F41021WF Records /* B4101810, ProcessF41021WFRecords */
VA frm_szComputerID_CTID -> BF szComputerID
VA frm_mnJobNumber_JOBS -> BF mnJobnumberA
VA frm_mnF41021WFUniqueKey_UKID -> BF mnUniqueKeyIDInternal
End If

Note:


Question 6: Is growing data from F41021WF normal?

Answer 6: In case

then you can assume that the data from F41021WF are orphaned data.


Question 7: How to handle it when we determine it is 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:


Question 8: History of auto-rollback routine and it's considerations?

Answer 8: Related bugs are,


Question 9: Can data from F41021WF are purged? Any concerns?

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:


Question 10: Example of actual transactions which affects F41021WF?

Answer 10: Actual implementation in EnterpriceOne interactive applications

: Note that below tables only contain associated master/major business functions only.



P31113 (Work Order Inventory Issues) - No actual implementation of F41021WF

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:

P4112 (Inventory Issue)

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

P4113 (Inventory Transfers)

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

P4114 (Inventory Adjustments)

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

P4116 (Item Reclassifications)

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

P4210 (Sales Order Entry)

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:

P42117 (Backorder Release)

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:

P4205 (Shipment Confirmation)

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:

P4312 (Purchase Order Receipt)**

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

P43250 (Receipt Routing Movement and Disposition)**

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






Question 11: Business Functions related?

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
  • GetAuditInfo (B9800100, Get Audit Information)
  • or GetLocalComputerId (B9800181, Get Local Computer ID)
which are running in client (machine which request a server to do something)
mnUniqueKeyIDInternal UKID MATH_NUMERIC OPT IN GetNextUniqueKeyID.mnUniqueKeyID on F41021WF
szCacheActionCode CACTN char OPT IN
  • CACHE_GET 1
  • CACHE_ADD 2
  • CACHE_UPDATE 3
  • CACHE_DELETE 4
  • CACHE_DELETE_ALL 5
  • CACHE_GET_NEXT 6
  • CACHE_ADD_UPDATE 7
  • CACHE_END 8
  • CACHE_CLOSE_CURSOR 9

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
  • ERR_NULL_POINTER _J("4363")
  • ERR_INIT_BEHAVIORAL _J("078S")
  • ERR_INIT_CACHE _J("078L")
  • ERR_FETCH_RECORD _J("078N")
  • ERR_ADD_RECORD _J("078O")
  • ERR_UPDATE_RECORD _J("078P")
  • ERR_DELETE_RECORD _J("078Q")
  • ERR_END_CACHE _J("032E")
  • ERR_CACHE_ACTION _J("032E")
  • ERR_OPEN_CURSOR _J("078M")

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:


Question 12: What are applications which access F41021WF directly?

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>