Translate

Sunday, April 30, 2017

How To Know If We Have A GOP ( Global Order Promising ) ATP ( Available To Promise ) License


How To Know If We Have A GOP ( Global Order Promising ) ATP  ( Available To Promise )  License


Basic GOP

–Basic features available as part of Oracle Order Management product
Advanced GOP
–Advanced features that require GOP and ASCP licenses


GOP is not listed as a product in the FND Product List. It gets listed under Advanced Supply Chain Planning ASCP (MSC) product only.
In order to license Global Order Promising you should license the product 'Advanced Supply Chain Planning'  (MSC) in License Manager.
However when you buy licenses you have to select the products you need individually i.e. You have a separate ASCP license and GOP license



You can run the below SQL query to get the output shown below :
select
  fav.application_name app_name
, fav.application_short_name app_s_name
, decode(fpi.status, 'I', 'Yes',
                     'S', 'Shared',
                     'N', 'No', fpi.status) inst_status
, fpi.product_version
, nvl(fpi.patch_level, 'Not Available') patchset
, fav.application_id app_id
from fnd_application_vl fav, fnd_product_installations fpi
where fav.application_id = fpi.application_id
order by 3;

 Alternatively If you run APSCHECK Diagnostic script you will have the same information listed :
Application Name                  Name     Installed?   Prod Version   Patchset        Appl Id
====================== ======== ========== ========================== ============================
Order Management                    ONT      Yes          12.0.0       R12.ONT.B.3         660
Advanced Supply Chain Planning      MSC      Shared       12.0.0       R12.MSC.B.3         724

Monday, July 11, 2016

Pegging Details 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

Thursday, January 21, 2016

ERR_GET_INSTANCES (ERROR_MSG=No Free partitions available. Contact DBA to create partitions.)



ERR_GET_INSTANCES (ERROR_MSG=No Free partitions available. Contact DBA to create partitions.)

Through System Administrator responsibility > Security > Responsibility Request >Select the group, All MSC Reports
Place cursor in the name column > Click the Green X on the toolbar > In the name  column select, CREATE APS PARTITIONS  (Make sure to select the  correct one)
Save.

Go the Advanced supply chain planner responsibility > other > request > submit a new request > single request
select CREATE APS PARTITIONS
(Make sure to select the correct one NOT Create ATP Partitions)

Use parameters
plan_partition_count = 0
inst_partition_count = 1

This will create the instance partition and allow continued setup.

Concurrent Request/Program tables in Oracle

Tables Used by Concurrent Request Concurrent Program

FND_CONCURRENT_REQUESTS

Contains a complete history of all concurrent requests (both past history and those scheduled to run in the future).

FND_RUN_REQUESTS

Stores information about the reports in a report set that a user submits including the report set’s parameter values.

FND_CONC_REQUEST_ARGUMENTS

Records all arguments passed by Concurrent Managers to concurrent requests as those requests are running.

FND_DUAL

Records when a request does not update any database tables.

FND_CONCURRENT_PROCESSES

Records information about Oracle Applications processes and OS processes.

FND_CONC_STAT_LIST

Collects runtime performance statistics for concurrent requests.

FND_CONC_STAT_SUMMARY

Contains Concurrent Program performance statistics generated by the Purge Concurrent Request program or the manager data program. These programs use the data in FND_CONC_STAT_LIST to compute these statistics।

Wednesday, December 30, 2015

Unable to Update Invoice Amounts after Running Create Accounting in DRAFT

Qn1:

Invoice Amount field is available for update before "Draft Accounting" but is “greyed out” after running:
Invoice Workbench form>Invoice>Actions>Run Draft Accounting.
Is this the correct functionality?

An1:

The correct functionality is to be able to adjust adjust accounting entries in Payables after the Create Accounting program is run in Draft mode.
To adjust accounting entries, adjust the transaction details and rerun the Create Accounting program.
See more details in the Oracle Payables User Guide.

Qn2:

For non-matched invoices, the invoice distributions appear to be update-able after Draft accounting.
Is it correct, that you update first the invoice distributions and then invoice line?
The invoice header amount can then be updated?

An2:

First, the amount in invoice distributions must be modified (in fact this is the information that will go into accounting entries)
and right after correct the lines or invoice header amounts.

Qn3:

For matched invoices, nothing appears to be update-able after Draft accounting has been run.
Is this correct?


An3:

Since the invoice is matched, distributions of the invoice contain PO information that cannot be changed in this way.
(the matched lines must be discarded to be able to change/modify the amounts)

Friday, November 13, 2015

Resource requirement outside the resource available time (shift) in constrained plans

Resource Requirement Start Date is outside the resource availability (shift times) in an Enforce Demand Capacity Constrained or Enforce Due Date plan with seemingly no resource constraint


1. Go into the responsibility: Process Engineer

2. Navigate to Process Operations > Activity

3. Check the Breakable checkbox against the resource that is seen as causing the problem. 

4. Go into the responsibility: System Administrator

5. Navigate to Profiles > System Profiles

6. Set the profiles as below:

MSO: Schedule across breaks = Yes
MSO: Schedule simultaneous resources across breaks = Yes
MSO: Respect Activity Contiguity Flag for Process Supplies = No

4. Retest the issue by running the ASCP Standard Collection, complete refresh and the ASCP Plan

5. Migrate the solution as appropriate to other environments.

OPM/ASCP such that multiple recipe capacities are respected (production lines)

1) Establish the Recipe Validity Rule Quantities (Minimum, Maximum and Standard) to be all the same for the quantity that can be made by that recipe. So, for the first recipe, all three quantities can be set to 10500, the second as 3500 and the third as 2600. All of the preferences should be the same (1) initially for testing and then can subsequently be different if you prefer making in one line over another

2) Set up the Inventory > Items > Organization Items > General Planning tab > minimum and maximum quantities to the smallest and largest recipe validity rule quantities, so in this example the minimum quantity would be 2600 and the maximum quantity would be 10500. Fixed Days of Supply can be set but all the other order modifiers (e.g. Fixed Lot Multiple) must be unset.

3) The profile MSO: Enable Decision Rules must be set to Yes

4) The ASCP plan needs to be constrained (classic constrained, Enforce Capacity Constraint preferred or With Detailed Scheduling), a manufacturing plan, the Scheduling Zone Minutes Bucket Size in Days must be set to a value within which you want to see change over between recipes, the Use Alternate BOM/ROUTING must be checked in the Decision Rules tab.

If you set up as above and run the ASCP Standard Collection, complete refresh the results in ASCP will allocate the demand quantity to the recipes based on the preferences and the availability of resources and materials and will be correct nine times out of ten (roughly).



The WORKAROUND for this problem is to :

5) Establish a 'planning recipe'. For this you need a formula that includes the product and at least the key ingredients from the existing recipes. You should also establish a route with at least a dummy resource. The recipe validity rule should have a Recipe Use of Planning and a preference of 99 (to ensure it is only used as a last option). The minimum quantity should be set to 2600 and the maximum set to 10500. This quantity range means that, if planned orders are created that do not match the fixed quantities of the production recipes, the 'planning recipe' will be assigned and there at least will be demand for the ingredients created.