You are on page 1of 29

Global Available To Promise (GATP)

Please forward comments and questions to jeffery.goulette@oracle.com. Thanks! Before implementing GATP, please see Oracle APS Implementation and Users Guide Release 11i, part number A81009-02.

GATP Decentralized
In a decentralized environment, additional setup and process management is required. The graph below depicts the setup for GATP in a decentralized environment. Data collections are required in a decentralized configuration. mrp_ap_apps_instances, at the source instance, and msc_apps_instances, at the destination instance, are used to store instance setup and instance specific information. Mrp_ap_apps_instances contains source instance information including the database link name that points to the destination server if implemented as decentralized. Msc_apps_instances contains the destination instance specific information as well as the database link that points to each individual source, if implemented in a decentralized mode. Mrp_ap_apps_instances and msc_apps_instances are used in both centralized and decentralized configurations. In a decentralized configuration, the source table MRP_AP_APPS_INSTANCES must contain only one row. Execute the following table to verify this. select instance_id from mrp_ap_apps_instances; This query should return one row as the source can only point to one destination instance.

If ASCP is not being used, use the OM data collection concurrent program. If ASCP is being used, use the ASCP data collection program. If only single level GATP is implemented, the OM data collection is sufficient since there isn't a need to collect BOM and routing data.

Decentralized Application Setup


11i , 11.0.3, 11.0.2 and 10.7 16.1 are valid sources for an 11i GATP destination. Perform the following setup at each source instance to implement GATP in a decentralized environment. Set the following profile options accordingly. INV: External ATP should be set to GLOBAL. This profile value option is created by the GATP Patch as indicated in the GATP Implementation Guide. This profile option is not needed in 11i. INV: Capable to Promise should be set to either Enable PL/SQL based ATP without planning output or Enable PL/SQL based ATP with planning output. This should be set at the source and destination instances. MRP:ATP Database Link should be set to the database link name that points to the destination server. This profile option does not need to be set on the destination instance.

Decentralized Environment Source


Data Collections Using Database Links Source: mrp _ap_apps_instances.a2m_dblink Destination:msc_apps_instances.m2a_dblink

Destination

MRP Tables - SKUs - O/H - S/R 7.3.4/8.0/8.1

Data is collected.

MSC Tables containing statement of supply. 8.1.6

Reservations are pushed back.

Verify the database link: select instance_code, substr(a2m_dblink,1,35), This points from the source to the destination substr(m2a_dblink,1,35) This points from the destination to the source from msc_apps_instances; Verify the database link at the source: select instance_code, substr(a2m_dblink,1,35), This points from the source to the destination substr(m2a_dblink,1,35) This points from the destination to the source from mrp_ap_apps_instances; 2

GATP Centralized
11i source to 11i destination is the only combination allowed in a centralized GATP implementation. The graph below depicts the setup for GATP in a centralized environment. Data collections are required in a centralized configuration. If ASCP is not being used, use the OM data collection concurrent program. If ASCP is being used, use the ASCP data collection program. If only single level GATP is implemented, the OM data collection is sufficient since there isn't a need to collect BOM and routing data. Mrp_ap_apps_instances contains source instance information not including the database link name that points to the destination server since both transaction source data and the GATP destination are contained within one Oracle instance. Msc_apps_instances contains the destination instance specific information not including the database. Mrp_ap_apps_instances and msc_apps_instances are used in both centralized and decentralized configurations. In a centralized configuration, the source table MRP_AP_APPS_INSTANCES must contain only one row as the source can only point to one destination instance. Execute the following table to verify this. select instance_id from mrp_ap_apps_instances;

Verify the database link at the destination: select instance_code, substr(a2m_dblink,1,35), This points from the source to the destination substr(m2a_dblink,1,35) This points from the destination to the source from msc_apps_instances; Verify the database link at the source: select instance_code, substr(a2m_dblink,1,35), This points from the source to the destination substr(m2a_dblink,1,35) This points from the destination to the source from mrp_ap_apps_instances;

Centralized Application Setup


Perform the following setup to implement GATP in a centralized environment: INV: External ATP should be set to None. INV: Capable to Promise should be set to either Enable PL/SQL based ATP without planning output or Enable PL/SQL based ATP with planning output. There is more information. MRP:ATP Database Link should be null since another Oracle instance is not involved in a decentralized configuration.

Centralized Environment, same server, same Oracle instance


Data is collected. Data Collections Using Database Links Source: mrp_ap_apps_instances.a2m_dblink Destination:msc_apps_instances.m2a_dblink Reservations are pushed back.

MRP Tables - SKUs - O/H - S/R 7.3.4/8.0/8.1

MSC Tables containing statement of supply. 8.1.6

In the graph below, collections are taken from two manufacturing organizations. The statements of supply from both organizations is stored in the APS instance. Additionally, the same two source instances are order management centers in the, promising or demanding against the combined statement of supply.

Source Instance 1
commit_point_strenght = 1

10.7 / 11 / 11.5 Source MRP Data

APS or Destination Instance

Order Management GATP Request Collect Data Complete or Incremental Refresh Using OM or APS Data Collection MSC Supply/Demand tables ODS or PDS

Source Instance 2
commit_point_strenght = 1

commit_point_strenght = 0

10.7 / 11 / 11.5 Source MRP Data

Order Management GATP Request

If you are implementing Global Available to Promise is a decentralized environment, consider setting the COMMIT_POINT_STRENGTH. By setting this value higher on the OLTP instance, compared to the APS server, the OLTP instance will control the distributed transactions. All transactions must wait their turn in a queue. Precedence is given to those distributed transactions possessing a greater commit point. A serverss commit point strength is set by the initialization parameter COMMIT_POINT_STRENGTH within the init_<sid>.ora parameter file. The range of values is any integer from 0 to 255. A setting of zero is the lowest priority for commit_point_strength. For example, to set the commit point strength of a database to 200, include the following line in that databases parameter file: COMMIT_POINT_STRENGTH=200

Source of GATP Information


GATP information is derived from: ODS or Operational Data Store. These rows have a plan_id = -1 PDS or Planning Data Store. These rows have a plan_id > -1 A data store is a set of tables used to store data. The ODS is the destination of collected data. If several Oracle instances are collected for GATP promising, all instance data will be stored in the ODS. The PDS is the destination of ASCP plan data. After a plan has completed successfully, the data will be inserted into the PDS. Implementing shared plan partitions has no direct affect on GATP processing aside from possible performance implications. To learn more about shared plan partitions, please reference the ASCP Users Guide part number A8100901.

Collecting ATP Supply


The Advanced Planning and Scheduling (APS) Planning Data Pull (PDP) and Order Management (OM) ATP Data Collection are 2 different report-sets with the same Concurrent Programs included in both sets. The PDP is used to collect data for the ASCP planning engine and GATP. The Planning Data Pull can be executed from within APS instead of collecting data from within OM. The Order Management implementation of data collection, as of 11.5.3, does not allow for the collection of BOMS or Routings. This makes the calculation of supply chain GATP impossible. GATP will assume infinite supply.

INV: Capable to Promise


INV: Capable to Promise determines which data store will be used for ATP check. This profile option can have the following settings: 1 - Enable Product Family ATP and CTP, this is not used in 11i 2 - Enable Product Family ATP, this is not used in 11i 3 - Enable ATP, this is not used in 11i 4 - Enable PL/SQL based ATP with Planning Output * 5 - Enable PL/SQL based ATP without Planning Output * * new setting for 11i Global Available to Promise With Planning Output 4 - Enable PL/SQL based ATP with Planning Output. With this profile option set to #4 you can utilize supply chain GATP and multi-level ATP. ATP rules are used when GATP determines the infinite time fence. There must be at least one valid ASCP plan with the ATP box checked. NAV>Manufacturing Plan, Production Plan or Distribution Plan/Names. In

11.5.3 there is a choice between these three different plan types. These will be combined into one plan type in the future. The names form contains a checkbox for ATP. Consider unchecking the inventory atp flag of the other plans that may contain the item. The PDS rows in the following tables are used. The rows in each of these tables has a plan_id > -1: MSC_SUPPLIES MSC_DEMANDS MSC_RESOURCE_REQUIREMENTS MSC_NET_RESOURCE_AVAIL MSC_INTERORG_SHIP_METHODS MSC_SUPPLIER_CAPACITIES MSC_SUPPLIER_FLEX_FENCES If the GATP process is not returning correct values according to the plan output, determine which plan OM is promising against. This query will select the plan_id, plan name also known as compile designator, the source instance id and the organization id. Select a.compile_designator, a.plan_id, b.organization_id, b.organization_code, b.sr_instance_id from msc_plans a, msc_plan_organizations b where a.compile_designator = '&your_plan_name' and b.plan_id = a.plan_id; This query will select the source inventory_item_id which is needed for the last query. select sr_inventory_item_id, substr(item_name, 1, 30) from msc_system_items where item_name = &your_item_name and sr_instance_id = &sr_instance_id; This query will select all of the plans where the item exists. If this query returns multiple plans there is more than one plan for an item/org/instance/demand class combination. Gatp will pick the plan with lowest plan_id to perform GATP. If the demand class is not required, simply press return through the demand class prompt. If the demand class is supplied, the query may return more than one row. In this case however, the plan_id should be the same for the rows returned unless there are multiple plans available.

select from where and and and

plan_id msc_atp_plan_sn sr_instance_id = &sr_instance_id organization_id = &organization_id sr_inventory_item_id = &inventory_item_id demand_class = &Your_demand_class;

Several plans can be checked for atp. As the Advanced Supply Chain Planner, NAV>Manufacturing Plan, Production Plan or Distribution Plan/Names. In 11.5.3 there is a choice between these three different plan types. These will be combined into one plan type in the future. The names form contains a checkbox for ATP. Consider unchecking the inventory atp flag of the other plans that may contain the item. Global Available to Promise Without Planning Output 5 - Enable PL/SQL based ATP without Planning Output. With this profile option set to 5, supply chain GATP or multi-level ATP is not possible. The rows in MSC_SUPPLIES, MSC_DEMANDS and MSC_SALES_ORDERS from the ODS are used. The rows in each of these tables has a plan_id = -1. Essentially, with the profile option set to 5, you have the same ATP functionality present in previous releases of Oracle Applications. The only difference being that the collected data represents supply from one or more organizations or instances. This is not the same as in previous versions of Oracle Applications. In previous versions of Oracle applications, the user was limited to supply contained within one instance. ATP rules are used, if defined, for the item.

Additional GATP Profile Options


MRP: Complete Supply Chain ATP In a future release, this profile option will control the visibility of the warehouses within the instance sourcing rule. Currently in 11.5.4, GATP returns the ATP information for the warehouse ranked as number 1 if the quantity requested cannot be met within any warehouse defined in a sourcing rule for requested item. MRP: ATP Assignment Set This is used for Order Entry or Order Management at the source instance. If the GATP request is launched from the source in a decentralized environment, the assignment set indicated here will drive the GATP request. MRP: ATP Database Link OM will use this database link to access GATP information at the destination pointed to be this database link. If the source transaction data is collected into the destination GATP database objects contained within the same Oracle instance, the process is operating under centralized mode. This profile option is not set in a centralized configuration. If the source transaction data is collected into the GATP database objects in a different Oracle instance - even on the same server - the process is operating under decentralized mode. This

profile must be set. Additionally, if this profile is set and the source is 10.7 or 11.0.%, the profile option INV:Capable to Promise must be set to Global. MRP: ATP Debug Mode If set to YES, GATP will produce a debug file at the source instance. The debug file will be written to utl_file_dir. Please reference the end of this document concerning the setup and extraction of the ATP debug file. If this setting is used in a decentralized environment, please set the profile option to MSC: ATP Debug Mode at the destination instance as well since a debug file can be produced at the source and destination instances. MSC: ATP Assignment Set ASCP will use this assignment set if populated. If this profile option is not populated, GATP will use the instance specific global sourcing rule, that is assigned to an assignment set, collected from the source. If the GATP request is launched from the destination in a decentralized environment, the assignment set indicated here will drive the GATP request. MSC: ATP Debug Mode If set to YES, GATP will produce a debug file at the destination instance. The debug file will be written to utl_file_dir. Please reference the end of this document concerning the setup and extraction of the ATP debug file. If this setting is used in a decentralized environment, please set the profile option to MRP: ATP Debug Mode at the source instance as well since a debug file can be produced at the source and destination instances. INV: External ATP By setting this to GLOBAL, GATP will use the setting in MRP: ATP Database Link to access the GATP quantities at the destination instance. This is used in 10.7 and 11 only.

Sourcing Rules
Customer / Customer Site global sourcing rule takes precedence if setup and collected. The Ship From organization, as setup in a bill of distribution or global sourcing rule and finally the organization sourcing rule. Sourcing rules can originate at the source instance or the destination instance. If the sourcing rule originates at the source instance, it must be global and assigned to an assignment set at the destination instance. If the GATP server is promising for only one instance then the sourcing rule is by default treated as global. However, the GATP server can be promising for more than one instance, therefore, any global assignment on the source becomes an instance-specific assignment for GATP. Assign sourcing rules at the global level on the source and they will be used if there are not specific assignments at the customer/site level available. If pick source is used, GATP will use the sourcing rule since no source is supplied. Once sourcing rule is involved, then GATP will use the ship method and lead time from the sourcing rule. However, if the default ship method is defined, pick source or not will not matter when determining the default ship method. See intransit leadtimes below for more information regarding default ship methods. ODS GATP uses sourcing rules to determine if the item can be manufactured in other organizations. Sourcing type equal to buy is not effective. PDS GATP uses buy sourcing for the shipping organizations to generate planned orders.

Global ATP Profile Options Affecting Sourcing Rules MRP: ATP Assignment Set is a source profile option that is used by Order Management to calculate ATP. If the GATP request is launched from the source, the assignment set indicated here will drive the GATP request. MSC: ATP Assignment Set instructs ASCP to use this specific assignment set when calculating GATP information. If the GATP request is launched from the destination, the assignment set indicated here will drive the GATP request. In the following example, data is collected from three instances. Each instance has a global sourcing rule that is contained within instance specific assignment sets at the source. At the destination instance, the assignment set is entered into the specific instance setup row, as the Advanced Supply Chain Administrator, NAV>Setup/Instances. When collections are executed, each instance will have a specific assignment set. GATP will use the assignment set specific to the instance. Each instance specific assignment set will encompass all organizations for that instance. Global sourcing rules assigned to an assignment set at the source. GATP will use the assignment set specific to the instance for GATP processing.

Source Instance One Global Sourcing Rule ASSIGNMENT_SET_1

Source Instance Two Global Sourcing Rule ASSIGNMENT_SET_2

Source Instance Three Global Sourcing Rule ASSIGNMENT_SET_3

Collect data into ODS

GATP will use the instance specific set: Instance One: ASSIGNMENT_SET_1 Instance Two: ASSIGNMENT_SET_2 Instance Three: ASSIGNMENT_SET_3

10

In the next example, there is a non global sourcing rule assigned to an assignment set at the source. No assignment set identified at the destination profile option MSC: ATP Assignment Set. GATP will not have access to a valid assignment set. This will prevent accurate GATP results if the end item is not in stock in a particular warehouse. The user will not have visibility to additional warehouse supply. In this example, if the user does not specify the source, the user will receive 'No Sources'.

Source Instance One Global Sourcing Rule ASSIGNMENT_SET_1

Collect data into ODS

GATP will not have an ASSIGNMENT_SET for this instance.

11

This particular setup is NOT recommended. Global sourcing rules assigned to an assignment set at the source. Assignment set created at the destination and the assignment set name populated in profile option MSC:ATP Assignment Set. The assignment set created at the destination instance covers all instances collected.

Source Instance One Global Sourcing Rule ASSIGNMENT_SET_1

Source Instance Two Global Sourcing Rule ASSIGNMENT_SET_2

Source Instance Three Global Sourcing Rule ASSIGNMENT_SET_3

Collect data into ODS

GATP will NOT use the ALL_INSTANCE ASSIGNMENT SET defined at the destination.

12

The following example assumes that the user is performing the GATP at the source instance:
Source Instance One Global Sourcing Rule ASSIGNMENT_SET_1 Source Instance Two Global Sourcing Rule ASSIGNMENT_SET_2

Collect data into ODS MSC: ATP Assignment Set = null

At the destination instance, the user creates a sourcing rule that includes limited organizations from both collected instances. The sourcing rule is assigned to an assignment set called Limited_Instance_Org_Set.

Execute ASCP Memory Based Planner (MBP) with specific assignment set called Limited_Instance_Org_Set. This is designated when setting up the plan name.

ASCP data is inserted into the PDS. The plan output in configured according to the Limited_Instance_Org_Set

13

If the user executes the GATP check without referencing the source organization, GATP defaults to the assignment set defined in MSC: ATP Assignment Set since each item/organization combination can be part of a different plan. This is done for the top level only, after that the plan assignment set is used. If the GATP process originates at the source instance, in decentralized mode, the assignment set indicated by the setting in the profile option MRP:ATP Assignment Set will be used for the top level only. When performing GATP, fill in the source organization, then the plan assignment set will be used. If the are no sources for the item/organization combination, the user will receive the no sources error message. This logic is only used at the top level of the assembly, below the top level the plan assignment set is used for GATP. ATP rules are used when performing GATP with planning output to arrive at the infinite supply time fence. See Leadtimes for additional details. MRPGATPB.pls The GATP program MRPGATPB.PLS represents demand and supply items. This is the main program for GATP as of 11.5.3 Reads from the previously collected item supply and item demand records that are found on the APS server. Both centralized and decentralized. Utilizes the multi-threaded capabilities of the Oracle database to process concurrent ATP request efficiently. Allowing for transactions between the source instance and destination instance. Ensures secure allocation of supply to demand MRPGATB performs operations on the following database objects: msc_system_items msc_supplies msc_sales_orders msc_demands mrp_atp_details_temp mrp_atp_schedules_temp

14

GATP Process As a GATP request is made, an entry is inserted into mrp_atp_schedule_temp, details concerning the GATP check are stored in mrp_atp_details_temp. The foreign key, associated with mrp_atp_schedule_temp, consists of session_id and order_line_id . Each ATP request receives a new session_id derived from mrp_atp_schedule_temp_s sequence. Multiple ATP requests within a single order or order line will receive a unique session_id. After the ATP check is complete, the ATP information is written to mrp_atp_details_temp. Both of these temp entries should be deleted when the user session is terminated. If the ATP check was successful, the details are recorded in msc_sales_orders. Please purge mrp_atp_schedule_temp, mrp_atp_details_temp periodically as ATP requests may be abandoned leaving orphaned rows in these tables.

mrp_atp_schedule_temp

mrp_atp_details_temp record_type = 2

msc_sales_orders PDS based GATP

msc_supplies ODS /PDS based GATP

msc_demands ODS/PDS based GATP

15

Tables used in GATP include: MRP_ATP_SCHEDULE_TEMP: Holds GATP results from an active GATP reservation. MRP_ATP_DETAILS_TEMP: Contains GATP details associated to an active GATP reservation results for Supply/Demand. Horizontal GATP and sourcing. MRP_ATP_DETAILS_TEMP: Contains GATP data for the user session. MTL_PARAMETERS: Holds the default ATP_RULE_ID. MRP_ATP_SCHEDULE_TEMP: Embodies ATP rows that are going to be checked for ATP. MRP_ATP_SUPPLY_DEMAND is populated during the execution of the Advanced Supply Chain Planning engine and is used by the Planners Workbench. BOM_RESOURCE_FLEX_FENCES: stores the time phased capacity tolerance for resources and lines. This is used in planning and ATP for the support of flex fence tolerance and support. BOM_DEPARTMENT_RESOURCES contains resources that may be available to CTP. The ctp_flag indicates if a resource is active for CTP. MSC_Available_to_Promise is used when accessing the Horizontal Plan within the Planners Workbench. This table is populated during the execution of the Advanced Supply Chain Planning engine.

16

GATP Data Flow Data flows into views used by GATP in the following manner:

Inv Profile = 4, PDS Data is used


Source Tables: mrp_* so_*

Inv Profile = 5, Database link populated, ODS Data is used.


Source Tables: mrp_* so_*

Inv Profile = 5, no Database link populated

Source Tables: mrp_* so_*

msc_supplies msc_demands msc_resource_requirements msc_net_resource_avail msc_interorg_ship_methods msc_supplier_capacities msc_supplier_flex_fences

msc_supplies msc_demands msc_sales_orders

msc_supplies msc_demands msc_sales_orders

GATP Data Requirements


Intransit Leadtime and Trading Partners or Organizations GATP determines intransit leadtime based upon the relationship involved in the transaction. Organization to/from organization and organization to customer/customer site. When verifying the default ship method for organization to organization, we will use the MSC_INTERORG_SHIP_METHODS table based upon the from_organization_id and to_organization_id columns. When verifying the default ship method from organization to customer / customer site, we will use the MSC_INTERORG_SHIP_METHODS table based upon the from_location_id and to_location_id columns. If multiple locations are found, GATP uses the location with the lowest rownum. If items, warehouses, organizations, sourcing rules, ATP rule, any receipts for stock are created, deleted or modified or if the shipment methods are modified it is necessary to submit the data collection program before the changes are seen in Order Management.

17

When attempting to determine the schedule arrival date in an order line, GATP determines the instransit leadtime as follows: 1) Determine that the ship to and ship from are defined in MSC_TRADING_PARTNERS 2) Determine intransit leadtime for trading partners based upon previously collected sourcing rule; 3) If not present, determine the default shipping method from collected source information within in MSC_INTERORG_SHIP_METHODS. This default is required when the transit occurs between an organization and a customer. This is setup when the customer is defined. The MSC_TRADING_PARTNER_SITES table contains the locations for all collected possible sites. For defaulting purposes, if the source and destination organizations are not defined properly in MSC_TRADING_PARTNERS_SITES and yet defined within a default ship method, the intransit leadtime will not be reflected in the Schedule Arrival Date. The Schedule Ship Date and Schedule Arrival Date would be the same for the order line. Organization to Organization Execute the following query to determine if the organization trading partner is defined. This query is to be used when the transit occurs between organizations. To find your sr_tp_id and sr_instance_id, execute the following queries. The first step is to locate the id that points to the collected instance code. This is the code that was assigned to the instance at the destination: select instance_code, instance_id, enable_flag from msc_apps_instances; The next step involves locating the source trading partner id. As of 11.5.3, there are three types of partners; supplier, customers, instance/organizations. In our example below, we will locate the organization_id at the source. Based upon the organization name, located the appropriate oragnization_id: select substr(name,1,30), organization_id from HR_ALL_ORGANIZATION_UNITS

18

select sr_tp_site_id from msc_trading_partner_sites where sr_tp_id = 207 organization_id from above query and sr_instance_id = 2 instance_id from the first query and partner_type = 3; 3 = instance/organization If the above query returns a row, the check for a default shipping method can proceed if the organization ship to and ship from are not defined in your sourcing rules. If the source organization is populated during the GATP check, GATP will pickup the intransit leadtime from the sourcing rule. It is advised that one default ship method with intransit leadtime be defined in the MSC_INTERORG_SHIP_METHOD table between organizations. If the sourcing rules do not contain the relationship between ship from / ship to organizations the default intransit leadtime will be used during scheduling activities. If pick source is entered for the source during the GATP check, the sourcing rule will be used to determine the intransit lead time and shipment method. In this case, if a shipment method is not present in the sourcing rule, a valid shipment method is required in the MSC_INTERORG_SHIP_METHOD table. If the default ship method is not present in MSC_INTERORG_SHIP_METHOD, GATP will not be able to calculate the correct ship method and delivery leadtime.

Having determined that the organizations are in MSC_TRADING_PARTNER_SITES, continue the investigation into the default shipping method between the organizations. First, select the data that will be used to locate the default ship method currently being used for your organizations. At the destination, issue the following query: select instance_code, instance_id, enable_flag from msc_apps_instances; The next step involves locating the organization id(s) that are involved in the shipment transaction. At the source: select substr(name,1,30), organization_id from HR_ALL_ORGANIZATION_UNITS

19

Query 1 Select from where and and and and and intransit_time, ship_method msc_interorg_ship_methods plan_id = -1 this represents the ODS from_organization_id = &from_org_id sr_instance_id = &from_instance_id to_organization_id = &to_org_id sr_instance_id2 = &to_instance_id default_flag = 1;

Query 2 select from where and and and and intransit_time, ship_method msc_interorg_ship_methods plan_id = -1 from_organization_id = &from_org_id sr_instance_id = &from_instance_id to_organization_id = &to_org_id sr_instance_id2 = &to_instance_id;

If query 1 returns no data and query 2 returns data, it means that the default ship method is not specified. Please turn the default flag on for the ship method, collect the source data and attempt the process again. Organization to Customer If the transit occurs between organization and customer, the intransit leadtime will be chosen from the collected sourcing rules. If the specific organization to customer transit is not defined in the sourcing rules, the default ship method will be used. At least one default ship method with intransit leadtime should be defined in the MSC_INTERORG_SHIP_METHOD table between organization and customer. Sourcing rules would not be used in this case. To verify the association required to access the default shipping method, execute the following queries. The first query will extract the correct instance_id. The second query will extract the partner_id based upon the location_id and organization combination. If the combination of the customer and ship from organization is located in MSC_LOCATION_ASSOCIATIONS, the default ship method can be chosen from MSC_INTERORG_SHIP_METHODS. If there is not a default ship method for the customer and ship from location, the GATP will receive the

20

messages No sources found. Query 3 will select the location_id required for query 4. Query 4 will return the default ship methods setup between the organization and customer / customer site. Query 1 select instance_code, instance_id, enable_flag from msc_apps_instances; Query 2 select substr(name,1,30), organization_id from HR_ALL_ORGANIZATION_UNITS; Query 3 select from where and

location_id msc_location_associations sr_instance_id = '&Source_instance' partner_id = (select tp_id from msc_tp_id_lid where exists (select customer_id from ra_customers where customer_name = '&Your_customer_name' and customer_id = msc_tp_id_lid.sr_tp_id and status = 'A') and partner_type = 2 and sr_instance_id = '&&source_instance');

Query 4 select from_location_id, sr_instance_id, to_location_id, sr_instance_id2, substr(ship_method,1,10) from msc_interorg_ship_methods where to_location_id = '&location_id' and from_location_id = '&Your_shipping_organization';

21

Is the Item GATP Eligible? Item Atp_rules are used if the GATP is against the ODS. If the GATP is against the PDS, the plan options are used, however the GATP rule is used as well to determine the infinite time fence. For an item to participate in GATP, the following two columns in MTL_SYSTEMS_ITEMS, at the source, must be populated: ATP Flag - ATP_FLAG ATP Components Flag - ATP_COMPONENTS_FLAG is used for the PDS only. The profile option INV: Capable to Promise must be set to 4, GATP With Planning Output. This flag is defaulted to NO when GATP is implemented without planning output as multi-level GATP is not applicable. If, during supply chain GATP, it is determined that a level of the bill of materials does not have atp_components_flag set to yes, the ATP check will not proceed further down that leg of the bill. To verify the eligibility of collected data to participate in GATP, execute the following queries. This query will return the instance id: select instance_code, instance_id, enable_flag from msc_apps_instances; This query, to be executed at the source, will return your organization id: select substr(name,1,30), organization_id from HR_ALL_ORGANIZATION_UNITS This query will return the plan_id: Select a.compile_designator, a.plan_id, b.organization_id, b.organization_code, b.sr_instance_id from msc_plans a, msc_plan_organizations b where a.compile_designator = '&your_plan_name' and b.plan_id = a.plan_id;

22

This query will select the source inventory_item_id which is needed for the last query. select sr_inventory_item_id, substr(item_name, 1, 30) from msc_system_items where item_name = &your_item_name and sr_instance_id = &sr_instance_id; This query will return the atp setup for the item: select from where and and and atp_flag, atp_components_flag msc_system_items plan_id = &plan_id This plan_id would be 1 for ODS organization_id = &organization_id sr_instance_id = &instance_id sr_inventory_item_id = source_inventory_item_id

Both flags should return 'Y' to participate in Mutilevel GATP. If not, please correct the item setup at the source, rerun collection and rern the plan. Is the atp_flag = Y and the atp_components_flag = 'N', then GATP will verify material only for the item in single level GATP mode. Leadtime for GATP It is important to determine the leadtime that will be used to arrive at the latest produceable time fence for calculating GATP supply. After the infinite time fence, GATP assumes infinite supply. There are four choices for leadtime: cumulative total leadtime; cumulative manufacturing lead time; total leadtime; user defined time fence. The infinite supply time fence is defined as part of the atp rule and the atp rule is assigned at the item/org level or the organization level. The leadtime is derived as follows: item/organization setting; organization default setting; plan cutoff date. The infinite time fence setting for the item is used if ATP rule is not set. What is the ATP rule for the item? First, run the following SQL to extract details needed to determine which lead time is being used for the ATP check:

23

Select instance_id from msc_apps_instances where instance_code = &your_three_letter_code; This is the three letter code that was used to setup the instance for collection. select sr_inventory_item_id, organization_id, from msc_system_items where item_name = '&your_item_name'; The following query is not needed if you are promising available supply against the ODS. If the profile option, INV:Capable to Promise is set to GATP Without Planning Output, skip this query and enter 1 for the next query when prompted for the plan_id. select plan_id from msc_plans where compile_designator = '&your_compile_designator' Now, select the information that we are looking for: select atp_flag, atp_components_flag, atp_rule_id, item_name, preprocessing_lead_time, full_lead_time, postprocessing_lead_time from msc_system_items where plan_id = &plan_id and sr_instance_id = '&instance_id_from_query_above' and organization_id = '&organization_id' and sr_inventory_item_id = '&your_inventory_item_id In the query above, we selected the atp_rule_id. This is populated at the source item entry form. If the atp_rule_id for the item is not empty, execute the following query: select infinite_supply_fence_code from msc_atp_rules where rule_id = '&atp_rule_id_from_above' and sr_instance_id = '&instance_id_from_query_above';

24

infinite_supply_fence_code values: 1 - cumulative_total_lead_time 2 - cum_manufacturing_lead_time 3 - preprocessing_lead_time + full_lead_time + postprocessing_lead_time, 4 - infinite_supply_time_fence This should return a non zero value, zero indicates sysdate or today. If the result is zero, GATP concludes that the item has infinite supply. Verify the item leadtime setup as indicated by the results of the above query. If the ATP_RULE_ID, for the item empty, retrieve the DEFAULT_ATP_RULE_ID from the organization that has been collected: select from where and and default_atp_rule_id msc_trading_partners sr_tp_id = &organization_id sr_instance_id = &instance_id partner_type = 3;

The query below determines the lead times used for the instance. select infinate_supply_fence_code from msc_atp_rules where sr_instance_id = &instance_id

GATP Diagnostics
1. Is the ATP snapshot valid? select object_name,object_Type,status from user_objects where object_name = 'MSC_ATP_PLAN_SN' OBJECT_NAME OBJECT_TYPE STATUS ---------------------------- -------------------------------MSC_ATP_PLAN_SN TABLE VALID MSC_ATP_PLAN_SN UNDEFINED INVALID alter snapshot MSC_ATP_PLAN_SN compile; 2. While trying to do perform a query on the ATP inquiry screen, you receive the following error message "signature of package apps.order_sch_wb has been changed. The form does not allow to do an inquiry. 25

FRM-40735 WHEN-BUTTON-PRESSED trigger raised unhandled exceptionORA-04062 ORA-04062 signature of packageapps.order_sch_wb has been changed.

Recompile the package body. ALTER PACKAGE ORDER_SCH_WB compile body Run the following script: select object_type, status from all_objects where object_name = '%ORDER_SCH_WB%' The object should now be valid. 3. When attempting a GATP action, the message ATP not available is displayed. This message appears when a data collection is executing for the instance. When performing a complete refresh with or without sales orders, GATP is not available. This is not the case when performing an incremental refresh. Perform the following query to determine the status of your instance: select instance_code, so_tbl_status from msc_apps_instances; The so_tbl_status of the instance_code that is being promised against must be equal to 1. If so_tbl_status is equal to 2 and data collections are executing, ATP is not available until the completion of data collection. If it is equal to 2 and collections are not running, the last collections attempt ended with error and needs to be repaired. This will require resetting the st_status flag in msc_apps_instances, investigating the log file pertaining to the previous execution and relaunching the collection. If the data collections are not currently executing, as verified by NAV>View>Requests, reset the value of SO_TBL_STATUS. Set to 1 by executing the following sql: update msc_apps_instances set so_tbl_status = 1 where instance_code = '&your_instance_code'; commit; To repair the st_status column after failed data collection, see note.146016.1.

26

4. Multiple levels are not displayed. a) Multi level GATP is performed only when implementing GATP with planning output. b) Verify that the ATP rule has been set for the item within MSC_SYSTEM_ITEMS. The infinite time fence is derived from the atp rule. c) Verify that the ATP_FLAG and ATP_COMPONENTS_FLAG are set to Y in MSC_SYSTEM_ITEMS for correct plan_id. Set the ATP_COMPONENTS_FLAG to N for purchased items. d) Verify that the ATP_FLAG in MSC_BOM_COMPONENTS for the correct plan_id is activated. e) Verify that the plan has the ATP checkbox activated on the Names Form. f) For resources, ensure that the ctp_flag is set in MSC_DEPARTMENT_RESOURCES. 5. When performing supply chain ATP, the message No Source Found appears. a) Review the global sourcing rule and assignment set for the customer/customer site. b) New customers need to be entered at the source and the data collection needs to be submitted. 6. ATP quantity is returned as zero. a) Check the INV: Capable to Promise profile option setting. b) Check the MRP: ATP Database Link and test the link 7. If the ATP check is made on a non-working date, the GATP process checks backward for a valid workday making the demand late. In this scenario, GATP returns zero for the quantity. 8. If there is not an ATP rule set at the item or organization level, GATP cannot determine the correct supply/demand to perform netting. GATP will return zero. 9. Producing a GATP debug file. a) Determine if the utl_file_dir is set correctly. This must be performed at the source and destination instances if GATP is implemented in a decentralized mode: SELECT VALUE FROM V$PARAMETER WHERE NAME = 'utl_file_dir'; The result will resemble the following: VALUE ----------------------------------------------------------------------/usr/tmp/, /usr/, /temp

27

Ensure that the directories returned from the above SQL possess the appropriate privileges. $ cd /usr/tmp $ ls -ld drwxrwxrwx 2 root

other

2425 Dec 25 22:30

Also make sure the following SQL script returns something other than '*'. While '*' is a valid setting in the utl_file_dir list, * will not function correctly for GATP purposes. SELECT LTRIM(RTRIM(SUBSTR(value, INSTR(value,',',-1,1)+1))) FILE_DIR FROM v$parameter WHERE name= 'utl_file_dir' FILE_DIR ----------------------------------------------------------------------/usr/tmp The $APPLPTMP environment variable should be set to a directory the directory returned from the above SQL. b) MSC: ATP Debug Mode set to Yes at the destination instance. Site level or User level. c) MRP: ATP Debug Mode set to Yes at the source instance if GATP is implemented in a decentralized mode. Site level or User level. d) Responsibility --> Advanced Supply Chain Planner Navigation -->ATP-->Atp Inquiry Enter the ATP inquiry and click on the ATP results After the ATP result is shown close the ATP result window and come back to ATP criteria screen. From this screen after the ATP Inquiry is completed. Click on Help-->Diagnostics-->Examine. This comes up with a Examine Field and Variable Values window - In the field click on the LOV and select SESSION_ID. This will return you a value in the Value field. Note the Session_id.

28

The above performs an ATP Inquiry, it may be required that an ATP schedule activity needs to be performed. Perform all of the steps as indicated above, but instead of the ATP inquiry, perform the scheduling activity. Please see Metalink concerning the production of an OE Debug file. e) cd to /usr/tmp (or your particular directory), locate the debug logfile created by the ATP inquiry with the following filename. session -SESSION_ID that was generated during step d. Check the source and destination instances if operating in a decentralized mode. 10. For multi level GATP check, set item attributes for each item in the bill Check ATP a) Y - for material only b) C - for material and capacity (resources) c) N - none Ensure that the BOM has the ATP flag set as well. As an example, if the item needs to be transferred from M2 to M1, then the item attribute 'ATP Components' in M1 should be set to 'Materials Only'. If the desire is to satisfy the atp request by building the item in M2, then the the item's 'ATP Components' in M2 should be set to either 'Materials only', or 'Materials and Resources', or 'Resources only' depending on what kind of availability check ATP is to perform. Additionally, check the atp flag at bill level and or ctp flag at department resources level accordingly. 11. GATP and 10.7 or 11.0.% Please Note: I am adding more to this point, such as the sql required to find the flex field and the setting of these switches. I will be updating this doc and resending when complete. In 11i, the value of the atp_flag and atp_components_flag are stored in MTL_SYSTEM_ITEMS at the source instance. If the source instance is 10.7 or 11.0, then the value is stored in a descriptive flexfield of MTL_SYSTEM_ITEMS.

29

You might also like