Академический Документы
Профессиональный Документы
Культура Документы
MONTH END CLOSING as VIEWED FROM THE INVENTORY ACCOUNTING PERIOD->Pending Transa
ctions
- The key steps to resolving pending transactions are
* Typical SQL that can be ran proactively:
Resolution Required Transactions:
UNPROCESSED MATERIAL TRANSACTIONS
PENDING MATERIAL TRANSACTIONS
UNCOSTED MATERIAL TRANSACTIONS EXIST for this PERIOD
PENDING WIP COSTING TRANSACTIONS EXIST in this PERIOD
PENDING RESOURCE TRANSACTIONS
PENDING MOVE TRANSACTIONS for this PERIOD
WIP Month End Uncosted Transactions mtl_material_transactions
RETURN MATERIAL AUTHORIZATIONS
* RECEIVING TRANSACTIONS
Uncosted WSM Transaction
Pending WSM Interface
Workflow PO Processes
SPECIAL CHARACTERS During ITEM IMPORT PROCESSES
- PO INVESTIGATION SQL
- For PO in WF
- PO as related to MTL_SUPPLY
- GENERAL PO INVESTIGATION
- Autocreate Purchase Orders from Requistions WF Investigation
- Currency mismatch in blanket PO
MFG mtl_supply table mismatch
SHIPPING TRANSACTION WF (extent issues)
OM WFt.
Inventory Transaction Interface Internal Sales Orders Stuck
MRP_SALES_ORDER_UPDATES
SALES ORDER DEMAND NOT PROCESSED MRP_RELIEF_INTERFACE
AP Distribution Related Errors Prevent Closing
Sourcing Rules Investigation
END TOPICS COVERED IN THIS DOCUMENT
===================================
where
and
and
and
and
and
and
a.picking_line_id = b.picking_line_id
a.trx_source_line_id = b.trx_source_line_id
a.inventory_item_id = b.inventory_item_id
b.transaction_type_id = a.transaction_type_id
b.transaction_source_type_id in (2,8)
b.transaction_quantity <0
b.picking_line_id is not null;
NEGATIVE BALANCES/AVAILABILITY
-----------------------------Please run the following script to check for the correct on hand quantity
for the item. This procedure works on 11i or higher. (The package used
does not exist in 11.0.3 or 10.7)
set serveroutput on
prompt Enter Organization_id
accept org_id
prompt Enter Inventory_item_id
accept item_id
prompt Enter Subinventory Code
accept subinventory
DECLARE
L_api_return_status VARCHAR2(1);
l_qty_oh NUMBER;
l_qty_res_oh NUMBER;
l_qty_res NUMBER;
l_qty_sug NUMBER;
l_qty_att NUMBER;
l_qty_atr NUMBER;
l_msg_count NUMBER;
l_msg_data VARCHAR2(1000);
BEGIN inv_quantity_tree_grp.clear_quantity_cache;
dbms_output.put_line( Transaction Mode );
apps.INV_Quantity_Tree_PUB.Query_Quantities (
p_api_version_number => 1.0,
p_init_msg_lst => apps.fnd_api.g_false,
x_return_status => L_api_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
p_organization_id => &org_id,
p_inventory_item_id => &item_id,
p_tree_mode => apps.INV_Quantity_Tree_PUB.g_transaction_mode,
p_onhand_source => NULL,
p_is_revision_control=> false,
p_is_lot_control => FALSE,
p_is_serial_control => FALSE, p_revision => NULL,
p_lot_number => NULL,
p_subinventory_code => &Subinventory ,
p_locator_id => NULL,
x_qoh => l_qty_oh,
x_rqoh => l_qty_res_oh,
x_qr => l_qty_res,
x_qs => l_qty_sug,
x_att => l_qty_att,
x_atr => l_qty_atr ); dbms_output.put_line( Quantity on hand ||to_char(l_q
ty_oh));
dbms_output.put_line( Quantity res oh ||to_char(l_qty_res_oh));
dbms_output.put_line( Quantity res ||to_char(l_qty_res));
dbms_output.put_line( Quantity sug ||to_char(l_qty_sug));
dbms_output.put_line( Quantity ATT ||to_char(l_qty_att));
dbms_output.put_line( Quantity ATR ||to_char(l_qty_atr));
end; /
71362.sql)
available from patch: <<2471362>>.
5) You can request/search for the script, Cancelorderline1.sql. Use cancel the
order line for
which we need to pass the Order Line Id as the parameter. This script helps
you to cancel
the order line when User wishes to cancel order lines and encounter errors.
6) To discover stuck deliveries:
The navigation to find out the stuck deliveries:
Shipping>Interfaces>Run>Interface Trip Stop - SRS.
In this program there is a parameter for Delivery Id. The LOV for this retri
eves all
deliveries(stuck as well as delivery which has not yet been picked up). As
this program
is running at scheduled intervals it is most likely that only stuck records a
re in the LOV.
User would need to find out whether the Delivery belongs to their sales order
by querying
on the delivery from shipping transactions form.
To get the stuck deliveries in the ITS log, set the OM debug to 5 and run ITS
and the log
will contain all the stuck delivery numbers. However , depending on the natu
re of the problem
reported please check the data from back end before suggesting any scripts.
MONTH END CLOSING as VIEWED FROM THE INVENTORY
ctions
If there are errors, sometimes the transaction
tting it.
Select the lines to be re-submitted. Or go to
ines selected
for re-submission will show up in blue and the
the record
this will re-submit the items.
------------------------- CMCTCM is the Cost Manager for the records to be costed in this table.
- CMCCCM is the Cost Collection Manager for the records to be imported to Projec
t Mfg.
select count(*) from mtl_material_transactions
where costed_flag in ( N , E ) and acct_period_id = &acct_period_id;
MTL_TRANSACTIONS_INTERFACE
-------------------------- INCTCM is the Transaction Manager for this Table.
select count(*) from mtl_transactions_interface
where acct_period_id = &acct_period_id;
WIP_COST_TXN_INTERFACE
---------------------- Resource Cost Worker processes records in this table.
select count(*) from WIP_COST_TXN_INTERFACE
where acct_period_id = &acct_period_id;
WIP_MOVE_TXN_INTERFACE
---------------------- Wip Move Transaction Worker processes records in this table (WICTCM)
select count(*) from WIP_MOVE_TXN_INTERFACE
where acct_period_id = &acct_period_id;
Resolution Required Transactions
-------------------------------- Unprocessed Material indicates that there are unprocessed material transactions
in the MTL_MATERIAL_TRANSACTONS_TEMP table.
- Uncosted Material indicate there are material transactions in the MTL_MATERIAL_
TRANSACTIONS
table with unprocessed accounting entries.
- Pending WIP Costing transactions indicate there are unprocessed resource and ov
erhead
accounting transactions in the
UNPROCESSED MATERIAL TRANSACTIONS
--------------------------------Unprocessed material transactions exist for this period. This message indicates
you have
unprocessed material transactions in the MTL_MATERIAL_TRANSACTIONS_TEMP table. Y
ou are unable
to close the period with this condition. Please see your system administrator. I
nventory considers
entries in this table as part of the quantity movement. Closing the period in t
his situation
is not allowed because the resultant accounting entries would have a transaction
date for a
closed period, and never be picked up by the period close or general ledger tran
sfer process.
- Is the Cost Manager down?
- If the Costed = Error, then the transaction has failed costing
If there are rows, as verified by Pending Transaction screen:
- How to find the WIP_Entity_Id run this script:
select wip_entity_id
from wip_entities
where wip_entity_name = < Wip job or repetitive assembly>
and organization_id=
select transaction_header_id,
organization_id,
transaction_date,
transaction_mode,
error_code
from mtl_material_transactions_temp
where error_code is not null
order by transaction_date;
Fix the problem for the transaction_header_id with error code specified.
Resubmit the records via the following SQL statement:
Update TL_MATERIAL_TRANSACTIONS_TEMP
Set POCESS_FLAG = Y ,
LOCK_FLAG
= N ,
RANSACTION_MODE = 3,
ERROR_CODE = NULL
where TRANSACTION_HEADER_ID = &TRANSACTION_HEADER_ID ;
If there are Pending Transactions that are stuck in the MTL_MATERIAL_TRANSACTION
S_TEMP table
with transaction_type_id=5 (backflush/wip transactions) with proces_flag =E, the
y need to
be submitted.
------------------------------------------------------------------------------------------To investigate why the Transactions are Failing, run the following SQL Script:
select transaction_source_id,
inventory_item_id,
process_flag,
error_code,
error_explanation,
transaction_source_type_id,
organization_id
from mtl_material_transactions_temp
where process_flag = E
and transaction_source_id= ;
To resubmit the transactions use this script:
Update mtl_material_transactions_temp
set process_flag = Y ,
lock_flag = N ,
transaction_mode= 3,
error_code = NULL,
error_explaination = NULL
where process_flag = E
and transaction_source_id= ;
PENDING MATERIAL TRANSACTIONS
----------------------------- The erred records can be resubmitted via the following SQL statement:
Update MTL_TRANSACTIONS_INTERFACE
Set PROCESS_FLAG = 1,
LOCK_FLAG = 2,
TRANSACTION_MODE = 3,
ERROR_CODE = NULL
Where PROCESS_FLAG = 3;
- The Process transaction interface (short name INCTCM) is the manager that will l
aunch
the Inventory transaction worker (short name INCTCW) to process the transactions
in the
MTL_TRANSACTIONS_INTERFACE table. If the error message in the Transactions Int
erface window
is not clear reviewing the log file of the Inventory transactions Worker may pro
vide more
information that could help in resolving the error.
UNCOSTED MATERIAL TRANSACTIONS EXIST for this PERIOD
---------------------------------------------------- This message indicates you have material transactions in the MTL_MATERIAL_TRAN
SACTIONS
table with no accounting entries (Standard Costing) and no accounting entries
and no costs
(Average Costing). You are unable to close the period with this condition. The
se transactions
are part of your inventory value. Closing the period in this situation is not
allowed because
the resultant accounting entries would have a transaction date for a closed pe
riod, and never
be picked up by the period close or general ledger transfer process. Generall
y these
are Resource transactions which cannot be processed
Return the number of MMT rows with costed_flag =
E ;
select count(*),
transaction_type_id TxnTyp,
transaction_action_id TxnAct,
transaction_source_type_id TxnSrsTyp
from mtl_material_transactions
where costed_flag = E
and error_explanation is null
group by transaction_type_id, transaction_action_id,
transaction_source_type_id;
At this point check the "Material costs transaction worker".
If unable to locate the worker with the error info you should attempt to
resubmit the rows via SQL Plus as follows:
!FIRST SHUT DOWN THE COST MANAGER!
update mtl_material_transactions
set costed_flag = N ,
transaction_group_id = null
where costed_flag is not null;
commit;
Then locate the latest request for the worker. The correct worker request shoul
d be the
one that completes with warning. This worker will contain the error reason for
each failed
transaction by transaction id #.
Problem 1
--------If the following error message appears in the Material Transaction
Cost Worker:
APP-00001 cannot find message name inv_no_update.
Uncosted material transactions in mtl_material_transactions
table with costed_flag = E.
The transactions are WIP component transactions that do not corresponding
rows in the MTL_MATERIAL_TXN_ALLOCATIONS and/or WIP_PERIOD_BALANCES tables.
If these rows are missing you will need to run one of the following two
scripts depending on the type of job the client using in WIP.
- Discrete Jobs
- Repetitive Jobs
The script will recreate the necessary rows in the tables. Then reset flags and
rerun the cost manager. (See Problem 2)
Problem 2
--------The cost manager or cost worker did not finish processing
all the transactions. Use the following sql script to reset
transaction flags. The next time the cost manager runs the stuck rows
will be processed.
update mtl_material_transactions
set costed_flag = N ,
transaction_group_id = NULL
where costed_flag = E or costed_flag = N
ll simply be processed
Process_phase = 3 is error
update wip_cost_txn_interface
set process_phase = 2,
process_status = 1,
group_id = null
where process_status = 3
and basis_type = 1
(depending on your txn)
and transaction_type = 2; (depending on your txn)
commit;
PENDING MOVE TRANSACTIONS for this PERIOD
----------------------------------------This message indicates you have unprocessed shop floor move transactions in the
WIP_MOVE_TXN_INTERFACE
table. If this condition exists, you will receive a warning but will be able to
close the accounting
period. These transactions are not in your work in process value. However, aft
er you close the period,
these transactions cannot be processed because they have a transaction date for
a closed period.
- Navigate Work in Process Responsibility -> Move Transactions -> Pending Move T
ransactions
* This form queries the WIP_MOVE_TXN_INTERFACE table
* Records can be updated, deleted, and resubmitted via the form.
The following updated statement will reset flags for any WIP move transactions t
hat are stuck in the
WIP Move Interface. wip_move_txn_interface
select count(*)
from wip_move_txn_interface
where process_status = 3 ;
Update WIP_MOVE_TXN_INTERFACE
Set GROUP_ID = NULL,
TRANSACTION_ID = NULL,
PROCESS_STATUS = 1
Where TRANSACTION_ID = &TRANSACTION_ID;
Pending WIP Move Transactions?
-----------------------------Restart the interface managers (Move & Cost Manager).
Launch the Move Transaction Manager even if the TP:WIP Move Transaction Profile
Option =
on-line processing. (Navigation -> Inventory/Setup/Transactions/Interface Manage
rs), use the
"Launch Manager" button under the special option on the tool bar.
WIP Month End Uncosted Transacitons mtl_material_transactions
------------------------------------------------------------When Closing the Inventory Period End, you may receive a message saying that you
cannot close
the Period End because a specified number of Uncosted Transactions exist. This c
an happen when
the Cost Manager job comes down or is taken down during run time, leaving some T
ransactions in an
N .
While in Standard Costing the error message is listed in the log file of the cos
t worker. In Average
Costing the error is detailed in the MMT table itself (error_code, error_explana
tion).
There must be no Uncosted Transactions for the Job in MTL_MATERIAL_TRANSACTIONS
(WHERE COSTED_FLAG IN ( N , E ))
------------------------------------------------------------------------------select request_id, costed_flag, transaction_id,
transaction_group_id, inventory_item_id, transaction_source_id
from mtl_material_transactions
where costed_flag in ( N , E )
and transaction_source_type_id=5
and organization_id = < org. id > ;
IMPORTANT: Ensure that your Cost Manager is NOT running against this Schema.
Create a backup table for the records you are updating (always a good practice);
create table mtl_material_txn_bkup as
(select * from mtl_material_transactions
where costed_flag in ( N , E );
Update the records for re-submission to the Cost Manager.
update mtl_material_transactions
set costed_flag = N ,
request_id = NULL,
transaction_group_id = NULL,
error_code = NULL,
error_explanation = NULL
where costed_flag in ( N , E );
- Re-start the Cost Manager to run against this schema .
RETURN MATERIAL AUTHORIZATIONS
-----------------------------RMA s have been known to create errors. The following update statement will cor
rect t
he transactions:
update mtl_material_transactions_temp
set primary_quantity = transaction_quantity
where transaction_quantity > 0 and process_flag <>
4 ;
Then run the update to reset the flags to reprocess the transactions.
This update statement will reset the flags so that the next time
the Material Transaction manager run it will process the transactions
Note: records with a process flag of 4 are OE transactions and should
not be updated.
update mtl_material_transactions_temp
set process_flag = Y ,
lock_flag = N ,
transaction_mode = 3,
error_code = NULL,
error_explanation = NULL
where process_flag in ( Y , E )
RECEIVING TRANSACTIONS
---------------------The following are used to investigate receiving transactions. Followed by an up
date statement.
select * from rcv_transactions_interface
where source_document_code = RMA ;
select * from po_interface_errors where interface_transaction_id in
(select interface_transaction_id from rcv_transactions_interface
where source_document_code = RMA );
select * from rcv_lots_interface where interface_transaction_id in
(select interface_transaction_id from rcv_transactions_interface
where source_document_code = RMA );
select * from rcv_serials_interface where interface_transaction_id in
(select interface_transaction_id from rcv_transactions_interface
where source_document_code = RMA );
select rsi.*
from rcv_serials_interface rsi,
rcv_transactions_interface rti,
mtl_transaction_lots_temp mtlt,
mtl_serial_numbers_temp mtst
WHERE rti.interface_transaction_id = rsi.interface_transaction_id
AND
mtlt.transaction_temp_id = rti.interface_transaction_id
AND
mtlt.SERIAL_TRANSACTION_TEMP_ID =
mtst.transaction_temp_id
update RCV_TRANSACTIONS_INTERFACE
set PROCESSING_STATUS_CODE= PENDING ,
PROCESSING_MODE_CODE= BATCH ,
TRANSACTION_STATUS_CODE = PENDING
where RECEIPT_SOURCE_CODE = CUSTOMER ;
- Then launch the Receiving Transaction Processor to process the records.
Uncosted WSM Transaction
-----------------------This message indicates you have unprocessed transactions in the WSM_SPLIT_MERGE_
TRANSACTIONS
table. You cannot close the period with this condition. These can be viewed t
hrough the WIP
Lot Transactions form: Shop Floor Manager > Lot Transactions > WIP Lot Transact
ions Clicking
on the Flash Light icon will bring up the find window. Selecting Null in the Transa
ction Type
field will select all WIP Lot Transactions, selecting something other than compl
ete in the Costed
field and the Transaction Dates for the period to query uncosted transactions.
Resubmitting Uncosted WSM transactions
-------------------------------------Running the "WIP Lot transactions Processor" (short name WSMPJUPD) will automati
cally pick up
C) Verify that the document is not waiting for the background processor:
SQL> $FND_TOP/sql/wfbkgchk.sql
D) If the wfstatus showed an error, use wfretry to restart the approval:
SQL> $FND_TOP/sql/wfretry.sql <itemtype> <itemkey>
E) If all else fails, use the wf_engine to send the approval through.
SQL> exec wf_engine.startprocess( <itemtype> , <itemkey> );
F) Run wfstatus again to see where the document is.
Another tool that can be
of In Process is
the wfstatus.sql script;
n the directory
$FND_TOP/sql residing on
SQL*Plus using your APPS
ds:
The wfstatus.sql script requires two values, the wf_item_type and the
wf_item_key. To locate the values please perform the following:
* For Reqs: select wf_item_type, wf_item_key
from po_requisition_headers_all
where segment1 = <insert req number here>
and
org_id = <insert org_id here>;
* For POs: select wf_item_type, wf_item_key
from po_headers_all
where segment1 = <insert PO number here>
and
org_id = <insert org_id here>;
Then, for both document types, perform the following commands. When running
the wfstatus.sql script, you will be prompted for two (2) parameters; the first
value should be
that of wf_item_type returned from the above statement, and the second value sho
uld be that of wf_item_key:
SQL> spool filename.lst
SQL> wfstatus.sql
SQL> spool off
Once the script has completed, the spool file results should be reviewed.
SELECT itemkey, execution_sequence, itemtype, authorization_status, debug_mess
age
FROM po_wf_debug
WHERE itemkey = &item_key and itemtype = &item_type
ORDER BY execution_sequence;
* For buyers who are no longer part of the company:
select substr(segment1,1,15),
substr(item_description,1,18),
quantity "QTY",
need_by_Date,
suggested_buyer_id "Buyer",
preparer_id,
org_id
from po_interface_errors c,
mtl_system_items a,
po_requisitions_interface_all b
FROM po_distributions_all
WHERE po_header_id = &po_header_id;
For PO in WF
-----------Please get us the output of the following sqls:
select wf_item_key from po_requisition_headers
where segment1 in (ENTER YOUR HEADER_IDS HERE);
For each of the wf_item_key, execute the below sql:.
select wias.ACTIVITY_STATUS_CODE
from
WF_ITEM_ACTIVITY_STATUSES_V WIAS,
WF_ITEMS_V WI
where WIAS.ITEM_TYPE = REQAPPRV
and
WIAS.ITEM_KEY = &x_item_key
and
WIAS.ITEM_TYPE = WI.ITEM_TYPE
and
WIAS.ITEM_KEY = WI.ITEM_KEY
and
WIAS.ACTIVITY_NAME= WI.ROOT_ACTIVITY ;
PO as related to MTL_SUPPLY
--------------------------select requisition_header_id
from po_requisition_headers_all
where segment1 in (ENTER YOUR HEADER_IDS HERE);
REQUISITION_HEADER_ID
--------------------202969
select count (*) from mtl_supply
where req_header_id = &req_header_id;
Enter value for req_header_id: 202969
old 2: where req_header_id = &req_header_id
new 2: where req_header_id = 202969
COUNT(*)
---------0
GENERAL PO INVESTIGATION
------------------------- Start of script
set lines 132
SELECT delivery_detail_id, source_line_id,
source_document_type_id,
source_document_id,
source_document_line_id
FROM oe_order_lines_all ol,
wsh_delivery_details wdd
where wdd.source_code = OE
and
wdd.source_line_id = ol.line_id
and
wdd.source_header_id in (51439,45620)
and
wdd.inv_interfaced_flag = P ;
select wdd.delivery_detail_id,
wdd.source_line_id,
pl.requisition_line_id
FROM po_requisition_lines_all pl,
po_req_distributions_all pd,
oe_order_lines_all ol,
wsh_delivery_details wdd
WHERE pl.requisition_line_id = ol.source_document_line_id
AND
pl.requisition_header_id = ol.source_document_id
AND
pl.requisition_line_id = pd.requisition_line_id
and
ol.line_id = wdd.source_line_id
and
ol.source_document_type_id = 10
and
wdd.source_code = OE
and
wdd.source_header_id in (51439,45620)
and
wdd.inv_interfaced_flag = P ;
-- End of script
MRP_TO_ORGANIZATION_ID
MRP_EXPECTED_DELIVERY_DATE
MRP_PRIMARY_QUANTITY
MRP_DESTINATION_TYPE_CODE
Please check whether the POs that are NOT missing from the plan have a value
in the above colums.
The above fields are populated during the MPS relief as part of the planning
manager, if your planning manager is up while creating the PO, the relief occurs
inventory_item_id,
compile_designator,
order_type,
substr(po_number,1,15) po,
line_id,
revision
from mrp_item_purchase_orders
where inventory_item_id = (select inventory_item_id
from mtl_system_items
where segment1 = &youritem
and organization_id = mrp_item_purchase_orders.organization_id);
8) Once you ensure that there are no such records
9) IF you still find some missing POs, please create a SR and upload the DAT fil
es and
the plan log files the location of the DAT files can be found at
select file_name from mrp_files where compile_Designator=
&Plan_name
count(*)
oe_order_lines_all oel
oel.open_flag= Y
oel.shipping_interfaced_Flag= Y
and
exists ( select 1
from wsh_delivery_details wsh
where wsh.source_code= OE
and wsh.source_line_id = oel.line_id
and wsh.oe_interfaced_flag= N )
and not exists (select 1
from wf_process_activities wpa,
wf_item_activity_statuses st
where wpa.activity_name= SHIP_LINE
and
st.item_type= OEOL
and
st.activity_status= NOTIFIED
and
st.item_key = to_char(oel.line_id));
This query retrieves the count of problem lines where the order line has been in
terfaced
to Shipping, delivery details are ready for ship confirm/oe interface, but the W
F is not
at Ship Line Notified.
This query can also be used for monitoring the problem lines in future. For cu
stomer s
instant reference, DEV has created a SQL script find_stuck_ship_lines.sql. You
can request
a copy from Oracle Support. To start your investigation you can use the followi
ng to determine
issues with WF:
select
from
where
and
and
and
oel.line_id -- count(*)
oe_order_lines_all oel
oel.open_flag= Y
oel.shipping_interfaced_Flag= Y
exists ( select 1
from wsh_delivery_details wsh
where wsh.source_code= OE
and wsh.source_line_id = oel.line_id
and wsh.released_status= C
and wsh.oe_interfaced_flag= N )
not exists (select 1
from wf_process_activities wpa,
wf_item_activity_statuses st
where wpa.activity_name= SHIP_LINE
and
st.item_type= OEOL
and
st.activity_status= NOTIFIED
and
st.item_key = to_char(oel.line_id))
FROM mtl_transactions_interface
WHERE transaction_source_type_id = 8
GROUP BY organization_id, transaction_type_id, transaction_mode,
process_flag, lock_flag, error_code, error_explanation;
1) Transactions with a transaction_type_id of 50 (Subinventory Transfer sourced
by internal order)
are transactions where the transfer_subinventory field is null. Use the foll
owing update script
to provide the transfer_subinventory:
select transfer_subinventory
from mtl_transactions_interface
where transaction_interface_id = &ID_FROM_SQL_ABOVE;
If there is a problem with the subinventory problem use the update statement
below. Where
transfer_subinventory is a valid subinventory in org with org id that matches
your org that has
the error.
update mtl_transactions_interface
set transfer_subinventory = &transfer_subinventory
where transaction_interface_id = &ID_FROM_SQL_ABOVE;
commit;
Now resubmit this transaction and let the transaction manager process the same
.
2) Transactions with transaction_type_id of 54 (Direct xfer between 2 orgs on a
Internal Order)
are transactions where the transfer subinventory is null.
Please update the records with valid subinventory in org with org id that ma
tches your
organization with the errors:
update mtl_transactions_interface
set transfer_subinventory = &transfer_subinventory
where transaction_interface_id in (8410340 ,8410429);
l sql above
commit;
MRP_SALES_ORDER_UPDATES
----------------------MRP_Sales_Order_Updates Process_Status Codes
PROCESS STATUS-Description
Action
------------------------------------ -------------------------------------2- Waiting to be Processed
Make sure planning manager is running.
3- In Process
These rows are being processed by the
planning manager.
4- Error
Check ERROR_MESSAGE in the
MRP_SALES_ORDER_UPDATES table.
5- Successful completion.
The following query will reveal ALL open order lines with cooresponding rows stu
ck
SET process_status = 5,
request_id = -1
WHERE
process_status = 2
and error_message is null
and request_id is null
and new_schedule_date = old_schedule_date
and new_schedule_quantity= old_schedule_quantity
and current_customer_id = previous_customer_id
and current_bill_id = previous_bill_id
and current_ship_id = previous_ship_id
and current_available_to_mrp = previous_available_to_mrp
and nvl(current_demand_class,-1) = nvl(previous_demand_class, -1);
commit;
** Restart the Planning Manager
SALES ORDER DEMAND NOT PROCESSED MRP_RELIEF_INTERFACE
----------------------------------------------------Verify that your order relieved the Master Demand Schedule. For a relief to occ
ur, the profile
option, MRP: Consume MDS must be set to Yes, and the relief checkbox to the righ
t of your MDS
Name must also be checked. The following query will reveal if the sales order s
hipment triggered
the creation of a relief entry in MRP_RELIEF_INTERFACE. If your sales order shi
pment did not create
a record in this table, MDS consumption would not have occurred for this shipmen
t:
select
substr(mdo.demand_id,1,10) dmd_id,
substr(ola.line_number,1,4)|| . ||substr(ola.shipment_number,1,4) line_num,
substr(mri.transaction_id,1,10) tran_id,
substr(mri.last_update_date,1,10) ls_update,
substr(mri.new_order_quantity,1,10) relief_qty,
substr(mri.relief_type,1,8) rel_type,
substr(mri.process_status,1,8) proc_stat,
substr(mri.error_message,1,200) error_msg
from
mrp_relief_interface mri,
mtl_sales_orders mso,
mtl_demand_omoe mdo,
oe_order_headers_all oha,
oe_order_lines_all ola
where mso.sales_order_id = mdo.demand_source_header_id
and mri.disposition_id = mdo.demand_id
and mso.segment1 = oha.order_number
and oha.header_id = ola.header_id
and mdo.demand_source_line = ola.line_id
and mdo.demand_source_header_id =
(select sales_order_id
from mtl_sales_orders
where segment1 = &&your_sales_order_number );
If you can see a record in mrp_relief_interface for your sales order shipment, t
hen what
is the process_status? If the process_status is 4, that means that the record h
as errored
in the interface. MDS relief would not have occurred for that record.
Fix the error and run the following update script to reset the record so it can
be
processed by the Planning Manager (Errors in this tableare usually due to
tablespace issues or a Planning Manager Crash):
**Deactivate the Planning Manager before running this script!
update mrp_relief_interface
set process_status = 2,
error_message = NULL,
request_id = NULL
where transaction_id = &transaction_id;
commit;
**Restart the Planning Manager after running this script
AP Distribution Related Errors Prevent Closing
---------------------------------------------You have a cancelled invoice that is preventing the month-end close from complet
ing. The invoice
shows that it is partially posted. The invoice has a rate and period exception.
The rate exception is caused because there is a NULL value for the base_amount
in the
ap_invoice_distributions_all table. The period exception is caused because the
period_date is
in a closed period.
Determine the invoice_id:
SELECT invoice_id
FROM ap_invoices_all
WHERE invoice_num = <invoice number in question> ;
SELECT distribution_line_number, period_name, accounting_date,
base_amount
FROM ap_invoice_distributions_all
WHERE invoice_id = <results from 1 above>;
If this returns row(s) with a base_amount of null and a period_name/accounting_d
ate in a
period that is closed, consider the following updates:
UPDATE ap_invoice_distributions_all
SET base_amount = 0
WHERE invoice_id = <invoice in question>
AND distribution_line_number = <line number(s) from 2 above with null
base amount(s)>;
UPDATE ap_invoice_distributions_all
SET period_ name = < open period >,
accounting_date = < date in open period >
WHERE invoice_id = <invoice in question>
AND distribution_line_number = line number(s) from sql above;
You should then be able to successfully complete the Accounts Payable Transfer
to GL, the Invoice Sweep, and close the period.
SOURCING RULES INVESTIGATION
---------------------------Check for duplicate names by running the following sql:
select autosource_rule_name
from po_autosource_rules group
by autosource_rule_name
having count(*) > 1;
Check for orphaned rows in mrp_sr_assignments
select assignment_set_id, assignment_id, assignment_type, sourcing_rule_id
from mrp_sr_assignments a
where sourcing_rule_type = 1
and not exists (select x from mrp_sourcing_rules b
where a.sourcing_rule_id = b.sourcing_rule_id);