Sunday, September 13, 2015

MRP Plan Run Hangs On MRCNSP And MRCMON With All Other Requests In Pending Standby

A.  Profile Option Concurrent:Active User Limit or Concurrent:Active Request Limit (short name for sql above is CONC_REQUEST_LIMIT) has a value other than NULL.  This can stop MRP concurrent requests from processing if this is set to too small of a number.  We recommend this profile be set to NULL
B.  There are not enough Standard Manager processes defined.  This is the one we typically run into the most often when MRP concurrent requests are not running or continue to run.  The Standard Manager is a concurrent manager which can be viewed in System Administrator/Concurrent/Manager/Administer.  We recommend the number of processes for this manager based on the following formula:
(2 x <Value for Profile Option MRP: Snapshot Workers>) + 6
So in the example above, if the value of profile option MRP: Snapshot Workers = 5, the formula would be as follows:
(2 x 5) + 6 = 16
To set the number of processes for the Standard Manager navigate System Administrator/Concurrent/Manager/Define - query the Standard Manager - select Workshifts button - set the number of processes - save. Bounce the Standard Manager.  16 would be the minimum to set for the processes on the Standard Manager.  Usually you can add a few more processes to this but generally you would not want to go above 20 - 25. 
Typically the value for profile option MRP: Snapshot Workers is set with 3, 4 or 5 - This enables the Memory Based Snapshot to offload work to the workers to help improve MRP plan performance.
C.  The MRP Manager and/or the Planning Manager are not running (Only for old MRP Planning module.  This does not affect ASCP plans).  If the plan has never been run successfully before and users have loaded demand/supply data into the system without these two being run, then the plan tries to do the Planning Manager work itself if profile MRP:Perform Planning Manager Functions in Loads = Yes while the following profiles are set incorrectly:
MRP:Planning Manager Batch Size = Null
MRP:Planning Manager Max Workers = 10 
Perform the following:
1. Set the following profiles

MRP:Planning Manager Batch Size = 10000
MRP:Planning Manager Max Workers = 0


2. Bounce/Start the MRP Manager in System Administrator/Concurrent/Manager/Administer - find the MRP Manager and start it up. Make sure it comes online with only 1 target/actual process. This manager only runs the Planning Manager and should never be set to more than 1 process. If you have more than one process, change the processes back to 1

3. Start the Planning Manager - Material Planner/Setup/Planning Manager - pick any organization as it doesn't matter. select the Start button.

4. The planning manager has a lot of work to do since it's not been running so it may run for a significant amount of time. When you start to see multiple start messages in the Planning Manager form, this means it's cycling and done with it's work

5. Then run the MRP plan after the Plannning Manager has begun to cycle
D. MRP Manager set to more than 1 process.  As noted above, this Manager should NEVER have more than 1 process.  It's only job is to run the planning manager.  When more than 1 process is setup for this Manager it will then allow multiple Planning Manager concurrent requests.  These requests can then contend with MRP plan concurrent requests and cause them to hang.
1.  Shut down the Planning Manager and MRP Manager
2.  System Administrator/Concurrent/Manager/Define - query MRP Manager - select Specialization Rules button - there should only be 1 row here for the Planning Manager.  If other rows are defined you must move them to a different concurrent manager. 
3.  Then select the Workshifts button - change the processes = 1 - save
4.  Start the MRP Manager and the Planning Manager
5.  Rerun the MRP Plan

set up OPM so that the ASCP Planned Orders are for a fixed quantity

In order for ASCP to generate planned orders in a fixed quantity dependent on the recipe that is being used for the planned order then the Oracle Inventory Organization Item 'Order Modifiers' of Fix Lot Multiple, Fixed Order Quantity and Order Quantity Minimum and Maximum should be NULL for the product.

The Recipe Validity Rule

Process Engineer / Recipes (GMDRCPED)

should be established such that Standard, Minimum and Maximum Quantities are the same and reflect the desired planned order quantity.

This can then be seen in the Collection Workbench Process Effectivity

Advanced Supply Chain Planning/ Advanced Supply Chain Planning/ Collections/ View Collected Data (select the OPM organization), View By Items, Drill down Plans / Collections/ Category, click on the item, right click/ Bom/Routing/ Process Effectivity

as the Minimum and Maximum quantity

and in the Planner Workbench, Supply/Demand in the resultant planned order quantities

This only applies to ASCP Constrained Plans.

Wednesday, July 15, 2015

Inventory Convergence make any attempt to copy Descriptive Flexfield (DFF)

Does the OPM Migration process for Inventory Convergence make any attempt to copy Descriptive Flexfield (DFF) setup information for an OPM table from the Release 11i database to the corresponding Discrete Inventory table in the Release 12 environment?

We are specifically thinking of a DFF which we have on the OPM Lot Master table (IC_LOTS_MST). In this example would DFF setup and data be copied to MTL_LOT_NUMBERS in the Release 12 environment?


Provided that there is no data conflict (that is to say, another Descriptive Flexfield already using the relevant 'Attribute' columns in the target table) then the migration process will copy DFF data from the OPM table to the corresponding Discrete Manufacturing (ODM) table.

If there is a data conflict (for example, column ATTRIBUTE1 already used by an existing DFF), then this should be highlighted by the pre-migration report and will need intervention.

Please note, however, that the migration makes no attempt to set up the FND Descriptive Flexfield definition for you in Release 12.  You will need to do this setup (the DFF column names, Value Sets and so on) after the migration is complete.

Tuesday, May 5, 2015

Oracle VCP- ASCP Staging Tables

select * FROM msc_st_calendars WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_workday_patterns WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_shift_times WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_calendar_exceptions WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_shift_exceptions WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_demand_classes WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_trading_partners WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_trading_partner_sites WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_location_associations WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_planners WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_units_of_measure WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_uom_conversions WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_uom_class_conversions WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_system_items WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_category_sets WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_item_categories WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_resource_groups WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_department_resources WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_resource_shifts WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_routings WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_routing_operations WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_operation_resources WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_boms WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_bom_components WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_supplies WHERE sr_instance_code = '&enter_sr_instance_code' AND order_type = 18;

select * FROM msc_st_safety_stocks WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_item_suppliers WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM MSC_ST_ITEM_SOURCING WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM msc_st_interorg_ship_methods WHERE sr_instance_code = '&enter_sr_instance_code';

select * FROM MSC_ST_SR_LOOKUPS WHERE sr_instance_code = '&enter_sr_instance_code';

Move Plan Properties for Oracle HTTP Server

 Move Plan Properties for Oracle HTTP Server

Property Description Sample Value
Listen The Listen address. It can include the host name and port or just the port. or 8888
User The Oracle HTTP Server administration user.
Group The group for the user.
ServerAdmin The administrator's email address.
ServerName The name of the server for Oracle HTTP Server. If the host does not have a registered DNS name, use the IP address.
WebLogicHost The name of the host on which Oracle WebLogic Server is listening for requests.
WebLogicPort The port number that Oracle WebLogic Server uses to listen for requests.
WebLogicCluster The name of the host on which an Oracle WebLogic Server cluster is running and its port number.
VirtualHost The name of the virtual host. The port number listed should also be listed in the Listen directive.
PlsqlDatabasePassword Specific to the PLSQL module, the name of a secure file containing the password. You must provide a password file, even if you are not changing the configuration.
PlsqlDatabaseConnectString Specific to the PLSQL module, the service name of the database.
PlsqlNLSLanguage Specific to the PLSQL module, the NLS_LANG variable for the database access descriptor (DAD).
ORAConnectSN Specific to the oradav module, the Oracle database to which to connect.
ORAUser Specific to the oradav module, the database user (schema) to use when connecting to the service specified by the ORAConnectSN property.
ORACRYPTPASSWORD Specific to the oradav module, the absolute path to the secure file containing the password for oradav. You must provide a password file, even if you are not changing the configuration.
SSLWallet The location of the SSL wallet, if the wallet is not in the default location.
DocumentRoot The directory that stores the main content for the Web site.
Alias The location of the alias, if it is not in the default location. Note that you change the value within the double quotation marks.
ScriptAlias The location of the script alias, if it is not in the default location. Note that you change the value within the double quotation marks.
WebGateInstalldir The location of the WebGate installation directory, as specified in the webgate.conf file.

Monday, April 20, 2015

Unable to create new native thread

Unable to create new native thread

Perform all the Steps

Connect as su: UNIX> su - theuser
where "theuser" is the name of Unix user running the processes.
Check the current soft and hard max user processes: UNIX> ulimit -Su
UNIX> ulimit -Hu

If you see 1024 as a value of ulimit -Hu, please ensure you have already rebooted a server after setting * hard nproc 16384 in limits.conf.

If you see 16384 as a value of ulimit -Hu but ulimit -Su is still 1024, please go the next step.
Increase the max user processes soft limitof the current "theuser" session to 16384: UNIX> ulimit -Su 16384  

Re-check the current max user processes: UNIX> ulimit -Su

You should see 16384, then stop and restart both Admin Server an odi_server1 from the current session, re-test the issue and observe the outcome.

Uncategorized exception during repository access

ODI-10182: Uncategorized exception during repository access.

The error can occur when connecting to a 12c PDB (pluggable database) using the Oracle SID in the URL, for example:

Connections to pluggable databases require an Oracle Service Name in the URL, such as:

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<host>)(PORT=<port>)) (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=<Pluggable Database Service Name>)))

Alternatively an OCI based connection can be used: