Translate

Friday, May 23, 2014

FRM-40212: Invalid value for field ORDERED_ITEM_DSP order Management

SYMPTOMS

On :  12.1.1 version, Transaction Entry

When attempting to enter a new item in Orders Workbench, the following error occurs.

ERROR
-----------------------
FRM-40212: Invalid value for field ORDERED_ITEM_DSP


STEPS
-----------------------
The issue can be reproduced at will with the following steps:
1. Responsibility: Order Management Super User
2. Navigate: Master Items > Entered Item in Item Master with correct parameters for Order Management tab:
Customer Ordered
Internal Ordered
Customer Orders enabled
Internal Orders Enabled
Shippable
OE Transactable
Returnable

3. Assigned to All Orgs
4. Add Item to Sales Order Line
5. Enter an order for the item and receive error:
FRM-40212: Invalid value for field ORDERED_ITEM_DSP

CAUSE

The issue is caused by the following setup: profile "OM: Use Materialized View for Items LOV (Honors Item Orderability Rules)" to "Yes" at site level.

SOLUTION

To implement the solution, please execute the following steps:

From the Diagnostics Apps Check output customer has set the profile "OM: Use
Materialized View for Items LOV (Honors Item Orderability Rules)" to "Yes" at
site level.

That means when ever customer does any changes to the Items Master or adds
new Items, they have to run the "Refresh Order Management Materialized Views"
concurrent programs for the Items to be available in the Items LOV of Sales
Order form.

Alternatively, customer can set the profile "OM: Use Materialized View for
Items LOV (Honors Item Orderability Rules)" to "No", then the Items will be
immediately be available in the LOV.

Please refer to 12.1 user guide for complete details on this profile usage.

1. Go into the responsibility: Order Management Super User.

2. Navigate to Setup > Profiles > set the profile "OM: Use Materialized View for Items LOV to "No" at the site level.

3. If changing the profile is not preferred, please run the "Refresh Order Management Materialized Views" concurrent programs for the Items to
be available in the Items LOV of Sales Order form.

4. Retest the issue.

5. Migrate the solution as appropriate to other environments.

Thursday, May 22, 2014

change from Standard to Actual Costing in OPM

change from Standard to Actual Costing in OPM

To change from Standard to Actual in OPM you will need:
  • New Cost Method Code
  • New Cost Calendar for the company, linking to the new cost method code
  • Make sure that the first period in the new actual cost calendar has the same end date as the last period in the standard cost calendar (particularly if you are using PMAC)
  • Copy the standard cost for the last standard cost calendar period to the first period in the new actual cost calendar
  • Close out the last period of standard costing by sending all the outstanding inventory transactions to GL, and close the OPM inventory period 
  • Change the MAC fiscal policy to point to the new cost method code
  • Change the event fiscal policy for PORC to book at PO Price
  • Perform inventory transactions as normal during the new cost and inventory period
  • Then when you run Actual Cost process for the first period of going live with actual costing (which will be the second period in the new actual cost calendar), you will have a prior period cost to value the period end inventory within the PMAC calculation.

Wednesday, May 21, 2014

Restrict planner in ASCP

The condition query should look something like: 
Trigger Event: WHEN-NEW-RECORD-INSTANCE 
Trigger Object: MRP_ORDERS 
Condition: 
FND_GLOBAL.USER_ID != (SELECT FU.USER_ID FROM MSC_PLANNERS MP, FND_USER FU WHERE MP.EMPLOYEE_ID = FU.EMPLOYEE_ID AND MP.PLANNER_CODE = :MRP_ORDERS.PLANNER_CODE AND ORGANIZATION_ID = :MRP_ORDERS.ORGANIZATION_ID) 
Processing Mode: Not in Enter-Query Mode 
On the Actions Tab: 
Set the Type to Property (Description to something like "Disable Release") 
Object Type: Item 
Target Object: MRP_ORDERS.RELEASE_STATUS 
Property Name: UPDATE_ALLOWED 
Value: FALSE 

Tuesday, May 20, 2014

Query to Find Pegging in ASCP

SELECT mso.sales_order_number, md1.*,
MSI1.ITEM_NAME||' ('||MSI1.INVENTORY_ITEM_ID||')' "COMPONENT (ID)"
, substr( md1.order_number,1,22) order_num
, MS1.NEW_ORDER_QUANTITY COMP_QTY -- this is the pegged or previously pegged column
, decode (ms1.order_type,'1','Purchase order'
,'11','Intransit shipment'
,'12','Intransit receipt'
,'13','Suggested repetitive schedule'
,'14','Discrete job co-product/by-product'
,'15','Nonstandard job by-product'
,'16','Repetitive schedule by-product'
,'17','Planned order co-product/by-product'
,'18','On Hand'
,'2','Purchase requisition'
,'27','Flow schedule'
,'28','Flow schedule by-product'
,'29','Payback Supply'
,'3','Discrete job'
,'30','Current repetitive schedule'
,'32','Returns'
,'4','Suggested aggregate repetitive schedule'
,'41','User Supply'
,'45','Demand Class Consumption'
,'46','Supply Due To Stealing'
,'47','Demand Due To Stealing'
,'48','Supply Adjustment'
,'49','PO Acknowledgment'
,'5','Planned order'
,'50','ATP Aggregate Supply'
,'51','Planned inbound shipment'
,'52','Requested inbound shipment'
,'53','Internal requisition'
,'60','Order Rescheduling Adjustment'
,'7','Non-standard job'
,'70','Maintenance Work Order'
,'8','PO in receiving') Order_type
-- , decode (MFP1.supply_type, 1, 'Purchase Order', 2, 'Purchase Requisition', 3, 'Work Order', 11, 'Intransit Shipment', 12, 'Intransit receipt') Supply_type
-- ,decode (MFP2.supply_type, 1, 'Purchase Order', 2, 'Purchase Requisition', 3, 'Work Order', 11, 'Intransit Shipment', 12, 'Intransit receipt') Supply_type2
, MFP1.demand_quantity
--, MFP1.supply_quantity
, MFP1.demand_date
, MFP1.supply_date
, ROUND(MFP1.ALLOCATED_QUANTITY,1) COMP_ALLOC
, decode(MD1.origination_type, '29','Peg_Fcast','30','Peg_Sales') Pegged_To
, decode (MFP1.DEMAND_ID, -1,'peg_Excess',-2,'Peg_SS') Pegged_To_1
, MFP2.ORGANIZATION_ID
,MFP1.ORGANIZATION_ID
, decode(MD2.origination_type, '29','Peg_Fcast','30','Peg_Sales') Pegged_To_2
, TRUNC(MS1.NEW_SCHEDULE_DATE) COMP_SUP_DUE
, 'X'
, DECODE(MD2.ORDER_NUMBER,NULL
,TO_CHAR(MD2.DEMAND_ID)
,(SUBSTR(MD2.ORDER_NUMBER,1,14)||SUBSTR(MD2.ORDER_NUMBER,42,5))) SO_NUM
, MSI2.ITEM_NAME||' ('||MSI2.INVENTORY_ITEM_ID||')' "ASSEMBLY (ID)"
-- , MSI2.DESCRIPTION
, TO_CHAR(MD2.REQUEST_SHIP_DATE,'DD/MM/YYYY') RDATE
, TRUNC(MD2.USING_ASSEMBLY_DEMAND_DATE) SSDATE
, MD1.Creation_date
, ROUND((MD2.DMD_SATISFIED_DATE-MD2.USING_ASSEMBLY_DEMAND_DATE),1) LATE
, MD2.DEMAND_PRIORITY PRIORITY
, ROUND(MFP2.DEMAND_QUANTITY,1) so_QTY
, ROUND(MFP2.ALLOCATED_QUANTITY,1) WIP_QTY
, TRUNC(MD1.OLD_DEMAND_DATE) ULSD
, TRUNC(MD1.USING_ASSEMBLY_DEMAND_DATE) COMP_DEM_DUE
FROM APPS.MSC_SUPPLIES MS1 -- COMP
, APPS.MSC_SYSTEM_ITEMS MSI1 -- COMP
, APPS.MSC_FULL_PEGGING MFP1 -- COMP
, apps.msc_sales_orders mso
, (SELECT *
FROM APPS.MSC_DEMANDS
WHERE SR_INSTANCE_ID =&1
AND ORGANIZATION_ID =&2
AND PLAN_ID =&3) MD1 -- COMP
, (SELECT *
FROM APPS.MSC_FULL_PEGGING
WHERE SR_INSTANCE_ID =&1
AND ORGANIZATION_ID =&2
AND PLAN_ID =&3) MFP2 -- FG
, (SELECT *
FROM APPS.MSC_DEMANDS
WHERE SR_INSTANCE_ID =&1
AND ORGANIZATION_ID =&2
AND PLAN_ID =&3) MD2 -- FG
, (SELECT *
FROM APPS.MSC_SYSTEM_ITEMS
WHERE SR_INSTANCE_ID = &1
AND ORGANIZATION_ID =&2
AND PLAN_ID =&3) MSI2 -- FG LEVEL
WHERE 1=1
AND MS1.SR_INSTANCE_ID =&1
AND MS1.ORGANIZATION_ID =&2
AND MS1.PLAN_ID =&3
and mso.demand_id=md1.demand_id
AND MSI1.SR_INSTANCE_ID = MS1.SR_INSTANCE_ID
AND MSI1.ORGANIZATION_ID = MS1.ORGANIZATION_ID
AND MSI1.PLAN_ID = MS1.PLAN_ID
AND MSI1.INVENTORY_ITEM_ID = MS1.INVENTORY_ITEM_ID
AND MFP1.SR_INSTANCE_ID = MS1.SR_INSTANCE_ID
AND MFP1.ORGANIZATION_ID = MS1.ORGANIZATION_ID
AND MFP1.PLAN_ID = MS1.PLAN_ID
AND MFP1.TRANSACTION_ID = MS1.TRANSACTION_ID
AND MD1.DEMAND_ID (+) = MFP1.DEMAND_ID
AND MFP2.PEGGING_ID (+) = MFP1.PREV_PEGGING_ID
AND MD2.DEMAND_ID (+) = MFP2.DEMAND_ID
AND MSI2.INVENTORY_ITEM_ID (+) = MFP2.INVENTORY_ITEM_ID
AND MSI1.ITEM_NAME = 'item'
and md1.order_number='ord'
ORDER BY MS1.OLD_SCHEDULE_DATE, MD2.REQUEST_SHIP_DATE