The objective of this white paper is to assist users in better understanding and troubleshooting of discrete job closure issues. Additionally, common month end issues are addressed. When material and/or resource transactions are stuck, discrete job closure cannot be accomplished.
Diamond Application Development Crafting Solutions with Precision
Oracle Discrete Job Closure Process Guide
1. Oracle Work in Process
Discrete Job Closure Process
An Oracle White Paper. June, 2014
Edited by: Eng. Baker Khader Abdallah, PMP, MBA
ERP Consultant
Technical Overview
The objective of this white paper is to assist users in better understanding and troubleshooting of
discrete job closure issues. Additionally, common month end issues are addressed. When
material and/or resource transactions are stuck, discrete job closure cannot be accomplished.
The following topics will be discussed:
Program Definition
Business Need to Close Jobs
Costing Implications
Closure Options
Close / Unclose Requirements
Program Definition
WICDCL module (Close Discrete Jobs)
This program is called when closing discrete jobs via Form or SRS.
EAMCDCL module (Close EAM Work Orders)
This program isonly usedto close EAM Maintenance Work Orders. This program doesnot
close WIP discrete jobs.Thisprogramcalls the WIP concurrentrequestto close EAM Work
Orders.
2. 2
Business Need to Close Jobs
Closing a Job will prevent Cost Update transaction from updating items/resources in a job.
Closing a Job writes off any balance remaining in WIP elemental valuation accounts
Closing a Job will prevent any transactions from occurring.
All variances are computed at job close.
Costing Implications
Closinga jobcalculatesfinal costsandvariances.The actual close date that youspecifydetermines
the accountingperiodthat WIP usesto recognize variances.Youcan back date the close to a prior
open period if desired.
The close processwritesoff the balancesremaininginthe WIPelemental valuationaccountstothe
elementalvariance accountsthatyoudefinedby accountingclass,leavingazerobalance remaining
in the closed job.
Closure Options
Two Ways to Close Discrete Jobs
- Close Discrete Jobs (FORM)
- Close Discrete Jobs (SRS)
There is no automated way or public API to process the job closure.
You can manually close nonstandard jobs whenever you choose.
The job status is set to Closed Jobs with asset type class are costed in the same way as standard
jobs, and all variances are computed at job close.
For jobs with expense type class, an accounting close is performed on a periodic basis.
Information associated with a job is not deleted when job is closed.
3. 3
You can view information for closed discrete jobs. You also can print reports on closed jobs and
closed job values.
You can close jobs of any status exceptjobsthat are Closed,PendingClose,PendingBill Load,and
Pending Routing Load.
Prior to closing discrete jobs, you can review job value information using the Discrete Job Value
Report, which lists standard and non-standard assetjobs, or the Expense Job Value Report, which
lists non-standard expense jobs.
Discrete JobClosure Flow
N: Work in Process -> Discrete -> Close Discrete Job (Form)
The Close Discrete Jobs (Form) enables you to:
1. Submit and immediately process job close requests
2. Specify a close date other than the system date
3. Unclose discrete jobs
4. Check and resubmit failed job close requests
5. View discrete jobs before closing them
N: Work in Process -> Discrete -> Close Discrete Job (SRS)
The Close Discrete Jobs (SRS) enables you to:
1. Specify when to submit the close request (concurrent or scheduled processing)
2. Specify a close date other than the system date
3. Use criteria for closing jobs based on a range of accounting classes, job numbers, and dates -
including release, start, and completion dates
4. Exclude or include jobs linked to sales orders from the processing
5. Exclude or include uncompleted jobs from the processing Exclude or include jobs with pending
4. 4
transactions
Close Requirements
1. In the Close Discrete Jobs (Form), you cannot close a job that has pending material, resource, or
move transactions including those that the concurrent manager has not processed.
2. You alsocannotclose ajobthathas uncostedmaterial transactions.If you attempttoclose ajobfor
whichpendingor uncostedtransactionsexist,the close processfailsandthe job statuschanges to
Failed Close.
3. Whena jobwithoutside processingoperationsischangedtocomplete,closed,orcanceledstatus -
an informational warningmessage displaysif openpurchase ordersor requisitionsexistforany of
the operations.
4. Changing a job status to completed, closed, or canceled is prevented if open reservations exist.
5. If you attemptone of these transactionsforajoblinkedtoasalesorder,anerrormessage displays.
You have two options in order to continue:
a. Unlink the sales order reserved to this job
b. Reduce the job quantity of the job to equal the completed quantity
6. If you close a job for an MPS-planned item with a quantity complete different from the quantity
originally scheduled, the MPS for the actual quantity is automatically updated.
7. In Oracle Warehouse Management organizations, open move orders for a job are cancelled when
the job is closed. However, you must perform an unload task transaction to delete material
requirement and move order record.
Unclose Requirements
1. You cannot unclose a job that does not have a status of Closed.
2. You cannot unclose a job that is linked to a sales order.
3. You also cannot unclose a job that was closed in a now closed accounting period.
5. 5
4. The form function parameter WIP_WIPDJMDF_CLOSE enables the Unclose option in the Tools
menu. See Figure 1.
5. If you do not want Unclose to display in the menu, set the parameter to No. The default for this
option is Yes. See Figure 2
N: Work in Process -> Discrete Jobs -> Close Discrete Jobs (Form)
Figure 1
N: System Administrator -> Application -> Function
Figure 2
To Re-Open Closed Jobs
6. 6
1. From the queriedjobsdisplayed,select whichjobstoreopen.
2. Whenyoureopena job,it revertstoitspre-close status. Forexample,reopeningajobthat had a
pre-close statusof CompletechangesitsstatusfromClosedbacktoComplete.
3. Choose Unclosefromthe Toolsmenuto submitthe request.
4. Whenyouchoose Unclose,jobstatusesare immediatelychangedtotheirpre-close status.
Troubleshooting
Check for Stuck Records via Application or SQL*PLUS:
At the ApplicationLevel
1. PendingTransactions form
N: Inventory ->Transactions ->PendingTransactions
Resubmiterroredtransactionsif anyexistsunderErrortab.
2. PendingMove Transactions form
N: Work inProcess -> Move Transactions -> PendingMove Transactions
Resubmiterroredtransactionsif anyexistsunderErrorbutton
3. PendingResource Transactions form
N:Work in Process ->Resource Transactions -> PendingResource Transactions
Resubmiterroredtransactionsif anyexists underErrorbutton
4. ViewMaterial Transactions form
N:Work in Process ->Material Transactions -> View Material Transactions
Resubmiterroredtransactionsif anyexistsunderTools ->SubmitAll
7. 7
At the Table Level
1. PendingMaterial Transactions:
select* frommtl_material_transactions_tempwhere transaction_source_type_id=5;
2. UncostedMaterial Transactions:
select* fromMTL_MATERIAL_TRANSACTIONSwhere costed_flagin('N','E') and
transaction_source_type_id=5;
3. Pendingor Errored Move Transactions:
select* fromWIP_MOVE_TXN_INTERFACEwhere process_statusin(1,3);
4. Pendingor Errored Resource Transactions:
select* fromWIP_COST_TXN_INTERFACEwhere process_statusin(1,3);
5. Error Associatedwith Resource Transactions:
select* fromWIP_TXN_INTERFACE_ERRORSwhere TRANSACTION_IDin(select TRANSACTION_ID
fromWIP_COST_TXN_INTERFACEwhere process_status=3);
6. Error Associatedwith Move Transactions:
select* fromWIP_TXN_INTERFACE_ERRORS where TRANSACTION_IDin(selectTRANSACTION_ID
fromWIP_MOVE_TXN_INTERFACEwhere process_status=3);
Note:
To identifywip_entity_idwhichissystemgeneratedfordiscretejobname or number,youcan run
thisquery:
8. 8
selectwip_entity_id fromwip_entities where wip_entity_name like‘xyz’;
-- Value ‘xyz’representsthe jobname ornumber
UnwantedRecords in wip_dj_close_temp
In some cases,the concurrentprocessisinterruptedorterminated.This,inturn,causes
recordsto get strandedinWIP_DJ_CLOSE_TEMP. If records inthistable have statusof
'PendingClose',noclose routineshave beencalledandcommitted.
a) Create backuptablesforfrom wip_dj_close_tempandwip_discrete_jobs.
b) Datafix toset all the jobswithPendingClose orFailedClosedtoComplete status:
delete wip_dj_close_tempwhere1=1;
update wip_discrete_jobs setstatus_type =4 where status_type in(14, 15) and
date_closedisnull;
commit;
c) Resubmitthe jobsforclosure.
To obtain list of the jobs which are in PendingClose status:
selectwip_entity_nameJob_Number,wip_entity_idJob_id fromwip_entities where
wip_entity_idin (selectwip_entity_idfromwip_discrete_jobswherestatus_type =14);
To obtain list of the jobs which are in FailedClose status
selectwip_entity_nameJob_Number,wip_entity_idJob_id fromwip_entities where
wip_entity_idin (selectwip_entity_idfromwip_discrete_jobswherestatus_type =15);
Resubmitjobs with a ‘PendingClose’or ‘FailedClose’status,where there are no pending
transactions.
9. 9
1. Responsibility:Work inProcess
2. Navigation:Discrete ->Close DiscreteJobs(Form)
3. Querya discrete jobwithstats‘PendingClose’
4. Go to Tools -> CheckRequests1
You can use the Check Requestsoptionfromthe Toolsmenutomanuallyresubmitjobsthathave
failedtoclose andhave a PendingClose status.ResubmittingajobwithCheckRequest setsthe
job'sstatus back to itsoriginal status.Resubmittingjobsthathave PendingClosestatusesbecause
the processhas not yetconcludeddoesnotinterruptthe close process.
If Job has Date Closedin a period whichis closed,then there is nothingto do further.
1. No data fix canbe provided.
2. The two optionsare to re-openthe closedjobswhichwouldrequirere-openingthe closed
inventoryperiodsORcreate new jobsforthe remainingquantityof the jobsthatwere closed.
3. If you wishtore-openthe Inventoryperiodtoallow youre-openthe jobs,refertothe
followingnote: Re-OpenaClosedInventoryAccounting Period(Doc ID 472631.1)
If the Inventoryperiodis still open,then followingstepscan be done.
1. Go to WIP > Discrete >Close Discrete Jobs(Form)
2. Querythe problematicclosedjob(s)
3. Menu > Tools> Unclose
Error APP-WIP-25309
Whenthe error APP-WIP-25309: There isan openRequisitionorPurchase Orderattachedto this
job/schedule’occurswhenclosingadiscrete job,there couldbe several possible reasons:
1. PO/RequisitionIncorrectStatus: The associatedPO/Requisitionmustbe instatus FinallyClosed
to enable jobsto close successfully.
10. 10
2. UndeliveredPOQuantity: POs mustbe deliveredtothe shop floor.Usersneedtoperform
transactionsof type DeliverfromReceivingTransactionsform.
3. Code Issue: If jobscannot be closedeventhoughthe associatedPurchase Order isclosed,this
couldbe a bugin the pertinentfile(e.g.wicdcl.opp).
4. Data Corruption: Example:If cancel_flag=NULL inPO_REQUISITION_LINES_ALL.
5. Purchase RequisitionStatus(cancel_flag) showsasNULL where thisshouldbe cancelledinstead.
Please loganSR to obtaina data fix.
Diagnostics
WIPDiagnostic wipjob11i (see Doc ID 1476250.1)
Thisis SQL scriptthat capturesthe job informationfromvarioustables.The outputwillbe namedafterthe
wip_entity_idandwill be called<wip_entity_id>.lst. The scripttakesjob_name (wip_entity_name) and
job_id(wip_entity_id) asinputsandgeneratesareport. WIPDiagnosticwipjob11i showsimportant
information todiagnose jobclosure data, suchas:
1. Discrete JobStatus
2. Pendingorerrorredtransactions
3. Resource andmaterial records
The collectorscript wipjob11i is part of R12 and can be run via the Application
Instructions forrunningthe collectorscriptsare inthe followingdocuments:
Doc ID 732341.1: Work OrderCollectorScript
Doc ID 732343.1: FlowCollectorscript
Doc ID 732342.1: Repetitive Collectorscript
11. 11
Output of Diagnostics: AppsCheck for Work in Process& Inventory
Diagnostic:AppsCheckConcurrentRequest
Thiscan be run fromeitherOrderManagementorPurchasingResponsibility
Use View/Requests/Submitanewrequest
Thentype Diag andhit to bringup the reportparameter
Up to 5 Applicationscanbe enteredintothisrequest.
WIPDebug Log for Close Discrete Job concurrent program while closingjobs
Stepsto obtainWIPDebuglogare:
1. FND:DebugLog Filename=(Make sure thisisnull)
2. FND:DebugLog Enabled= Yes
3. FND:DebugLog Level =Statement
4. FND:DebugLog Module = WIP%
5. Remember:selectmax(log_sequence) fromfnd_log_messages;
6. Nowdo the testcase
7. Get the logby:
select* fromfnd_log_messageswhere log_sequence >&max_log_sequence;
8. getthisfrom Step 5.
GeneratingTrace and DetailedLog
1. Enable profile optionMRP:DEBUG to YES
2. Enable the level 12trace withwaitsand bindsforthe Job Close Concurrentprogram
3. Provide the unsortedtrace aswell asthe tkprof
4. Also,provide the logfile of the concurrentprogram
12. 12
Note:
For guidelinesongeneratinglevel12 trace filessee DOCID 726039.1. If usingthismethod,ensure thatthe
concurrentprogram definitiondoesnothave the trace optionchecked.Alsobe sure tologout of the
applicationbeforerunningtkprof toensure thatall the informationisdumpedtothe trace file.
Resources
Oracle® Work in Process User's Guide, Release 12, Section ‘Discrete Job Close’
Oracle® Cost Management User’s Guide, Release 12, Section ‘Job Close Costing’
Information Center: Using Oracle Work in Process (Doc ID 1417745.2)
Work in Process - Discrete / Lot Based Job Data Collection Script (Doc ID 1476250.1)
Discrete Job or EAMWork Order remain stuck in Pending Close Status (Doc ID 158674.1)
ClosingWIPJobsCauses(WICDCL- Close Discrete Jobs) CausesWIP_PO_NOT_DELIVEREDMessage
(Doc ID 1352980.1)
Closing 'Failed Close' Discrete Jobs Using the Application (Not A Data Fix). Try this first (Doc ID
422245.1)
WIP Close Discrete Job Program (WICDCL) Ends in "Error" Status (Doc ID 1394986.1)
WIP Jobs Are Closed but Need to Perform Further Transactions Against Them (Doc ID 1302257.1)
How to Close Outside Processing (OSP) Discrete Jobs (Doc ID 1279878.1)
How to Get Level 12 Trace and FND Debug File for Concurrent Programs (Doc ID 726039.1)