Register Login

SAP APO CTM (Capable to Match) Planning Interview Questions and Answer

FAQ Capable-to-Match (CTM) planning

How can I improve the CTM performance ? 

1) Hardware (technical improvements)

Regarding the hardware it is recommended to use a CPU with a high quality. A system with multi CPUs cannot improve the performance because the CTM engine can use only one CPU. An ideal environment is a system with a CPU > 3 GHz and 3 GB RAM.

2) Global customizing settings

The package size is the key parameter that can improve the performance if you are using the asynchronous liveCache (LC) update.

In asynchronous update the system creates the orders in the LC after planning the specified number of demands. At the same time, the system continues with the CTM planning for the other demands.

The performance depends on the amount of planned orders that are created per demand.

If you set up a package size of 1000 demands, this means that each 1000 demands CTM writes the results to the LC. If there are only 1000 planned orders created for fulfilling these 1000 demands then the package size is too small for an asynchronous run with a good performance because the CTM run needs to stop each 1000 planned orders for triggering the LC writing. This increases then the run time. In case there are 100.000 planned orders created then the package size is too big because the CTM run for creating these 100.000 planned orders needs probably longer than the parallel writing of the results to the LC.

So the optimal package size makes the planning and writing to LC almost parallel.

Apart from the package size of the asynchronous LC writing, there are three more areas where packages must be defined.

- Package Size for Creating Orders. The value indicates how many orders can be created in the LC at one time.
- Package Size for Creating Pegging Relationships. The value indicates how many pegging relationships can be created in the LC at one time.
- Package Size for Order Selection. The value indicates for how many location products a LC request can be started at one time (package size for reading orders from LC in a way that CTM can use them for planning).

It is difficult to give recommendations regarding these package sizes because one needs to play around in a specific situation to improve the performance. So consider the following values as an orientation.

Regarding the package size of the Order Creation a value smaller than 1000 can be recommended (default value is 500 orders), but also a value up to 5000 can be efficient. In case of performance issues it is recommended to run CTM with different package sizes : 500, 1000, 2500, 5000 and see whether one of these settings can improve the performance.

Regarding the package size for Creating Pegging Relationships a value bigger than 1000 is recommended. The default value is 5000 pegging relationships.

The setting for the Order Selection is based on location-products, which implies that if the setting is currently 5000, CTM reads the orders for the first 5000 location-products and sends them in one package from the LC. If the average amount of orders per location-products combination is 10 (each location-product has in average 10 orders) the result is 50.000 orders transferred in the package.

As this setting depends on the amount of orders existing per location-product, one needs to play again with different settings in case of performance issues. Generally it is recommended to have a value smaller than 10.000.

3) Planning profile (business improvements)

Apart from the customizing settings, the performance depends on many other criteria like the Master Data Selection, Order Selection, Selected Demands, Planning Period, Product-Location restrictions.

If you want to improve the performance you should create a master data selection which contains only the objects in the model which are actively planned by the CTM run.

You can check whether it is possible to divide your supply chain in separate independent model parts. This covers a big performance improvement potential because the independent parts of the chain can be planned in parallel.

Then the order selection, especially the size and data requirements, is one of the major areas where you can improve the performance.

During the deletion of orders in a CTM planning run, several checks that are not always required are run. The parameter 'FAST_DEL' skips some checks of the normal planning run to improve the planning run time. The parameter is activated if you set Value1 of the planning parameter to X. In this case, no information is analysed on pegging, input or output nodes during order selection. Therefore, the parameter can only be reasonably used with the planning mode "Regenerative planning" (Replan all Orders) and the deletion mode "All unfirmed orders" (Delete all Orders that are not firmed). Note that in this case, only the status and the type of the order are analyzed for the deletion decision. This means that all planned orders or purchase requisitions are deleted, if they were not firmed manually (Output fix) and contain at least one location product that is contained in the CTM master data selection. This parameter must not be used if you use a subcontracting scenario. In this case, inconsistencies can occur between the data in APO and the R/3 System because subcontracting purchase requisitions are deleted but not the subcontractor planned order at the subcontractor side.

Notice that since release SCM 4.0 the parameter 'FAST_DEL' is obsolete and has been replaced with the planning step (Technical Settings tab) End Planning Run after Oder Selection in combination with Do Not Check Order Details.

CTM run time depends on the number of demands. Consequently if your business need for CTM does not require all demands simultaneously, you can perform CTM runs using a demand selection. You can cut down on run time if you can first reduce the amount of demands considered in the planning run.

Another factor to take into account is the planning period set for the CTM profile. You can implement a horizon in the work area which includes only those demands that can be planned during the horizon of the CTM run. That is, exclude any periods containing demands which cannot be planned.

Consider also whether you can meet your business requirements by restricting your demands by product-location. You can experience long run times because in a large supply chain you do not restrict the demands by product-location combination.

What is the influence of the late demand fulfillment strategy on the performance ? 

The fastest strategy is the Standard Procedure for Scheduling.

With the Keep Lateness to a Minimum strategy, the CTM planning run takes longer than it does with the standard procedure.

The Gradually Postpone Demand Date can be extremely time consuming if you have selected a large time period for the late demand fulfillment (/SAPAPO/CTMCUST) and entered a low value under Offset.

Why does CTM take longer than usually to complete the planning run ? 

You can experience a very long run time when a large number of orders are split. The consequence is a bottleneck situation when writing the results to the LC.
This order splitting occurs usually in time continuous planning and it depends on the constraints used for the CTM planning. When one of the constraints leads to a complete fail CTM tries to fulfill the demand using the smallest possible quantity.

So the main rule is that CTM tries to fulfill demands on time using all existing alternatives. Thus if several alternative resources exist CTM uses in the worst case all of them just to fulfill the demand on time.

Therefore orders with varying quantities could appear. These orders can be so small that they cannot be used for an efficient production.

It is highly recommended to use the maximum scheduling time to end the scheduling of those demands which result in this splitting.

Why does the CTM planning run take longer when I use the field LIFPRIO (delivery priority of the sales order) in the demand prioritization ? 

When you use the field LIFPRIO, CTM reads data related to sales.

As the treatment has to be carried out for each demand and not collectively, this has a bad impact on the run time and the CTM planning run takes longer.

An alternative is to split the CTM planning.

You can face a similar problem when you use the following criteria : ANTLF, DELNR, DELPS, ERTMS, GRKOR, KUNNR, LFTMS, PSTYV, VBTYP, BMENG, WMENG, GMENG, CNFPART .

Why does the CTM planning fail and terminate with an error related to memory consumption (like TSV_TNEW_PAGE_ALLOC_FAILED) ? 

This might happen when the model is too big. If you check the trace file of the CTM run and its size exceeds 500 MB then you can face a memory problem during the run. 
In order to avoid this problem you have to split the model into separate independent parts.

Notice that the CTM run generates a trace file. This trace file is recorded if you have previously set in the customizing (Optimization Server Master Data) the status of the CTM engine as L Active(Logging Switched On) and you have entered a log directory.

Transaction SPRO : mySAP SCM -> APO -> Basis Settings -> Optimization -> Basic Functions - > Maintain Master for Optimization Server

A memory consumption problem might also happen when the CTM engine takes a long time to compute a solution for some demands.

In this case you should run CTM with a Maximum Scheduling Time value.

- CTM planning -

Why are some orders not deleted by a CTM planning run ? 

Fixed orders (also called firmed orders) cannot be deleted by a CTM planning run.

An order is fixed if one of the following conditions is fulfilled:

1. The order was fixed manually in the PP/DS product view.

2. A CTM planning run can only delete planned orders, purchase requisitions, transfer-requisitions and substitute-requisitions. All the other order types (forecasts, sales orders, stocks, etc.) cannot be deleted at all by a CTM planning run. Therefore these orders are always considered fixed by CTM.

Subcontracting scenario is an exception to this rule. If a purchase requisition for a subcontractor is deleted the corresponding subcontractor production order is also deleted even if it is fixed.

3. Already created PP/DS orders are considered as fixed if a CTM planning run creates SNP orders, but created SNP orders are not fixed when CTM creates only PP/DS orders.

4. CTM considers orders which are not inside the planning horizon as fixed. An order is considered fixed if the start date is before the planning start date or if the end date is after the planning end date.

Orders that are lying inside the planning horizon and have been pegged to orders or demands outside the planning horizon are considered fixed.

This effect is amplified when you use dynamic pegging.

As from release 4.0 the dynamic pegging can be deactivated from the product location master data but switching off the dynamic pegging has side effects and the safety stock functionality does not work anymore.

In order to reduce this effect in release 3.1, we can recommend you to decrease the Maximum earliness in the product location maintenance (tab Demand -> Pegging -> Dynamic pegging -> Maximum earliness of a receipt) from 100,000 hours to 1 minute.

5. CTM does not delete any planned orders within the production horizon. These orders are considered fixed. The horizon starts on the system date (or the date you specified as the planning start in the CTM profile).

6. Orders which have at least one component that does not belong to the master data selection of the CTM profile are considered fixed.

How does CTM select the PPM that will be used for a planning run ? 

A five-step process specifies which PPM will be used for a planning run. The selection stops as soon as one PPM is left based on the selection criteria. Here are the five steps of the selection process :

1) On-time fulfillment.

First, CTM looks for PPMs that can fulfill the demand on time.

2) Priority or Quota.

If both are maintained, the quota will be considered. Otherwise, the priorities (multilevel costs of the plan) for the single PPMs are taken into account.

3) Validity period.

The PPM with the validity period that is the closest to the demand date will be selected.

4) Lot size.

The following process is used :

- The PPM with the greatest maximum lot size is considered first.
- Then the PPM with the smallest minimum lot size is used.
- If no PPM was selected, a random selection will pick a PPM.

5) If the demand cannot be fulfilled on time, CTM starts late demand handling and steps 2 to 4 are repeated.

What is the behaviour of the late demand fulfillment strategy ? 

The general late demand behaviour of CTM is as follows: no matter whether CTM is run in backward or forward scheduling mode, when the demand cannot be fulfilled on-time CTM starts the late demand handling.

With the default method for late demand handling (Standard Procedure for Scheduling - BackwardProjection3), each day after the demand date is checked for available capacity to fulfill or fulfill partially the demand quantity. CTM steps forward day by day until it cannot fulfill any quantity. As soon as CTM does not find a partial solution, it switches to forward scheduling and looks for enough quantity to fulfill a minimum quantity in order to find the date closest to the original due date within the late demand fulfillment frame. With the solution found in forward scheduling, CTM calculates the final solution by using the new date and applying the backward strategy.

With the Keep Lateness to a Minimum strategy (BackwardProjection5), CTM tries to find the earliest solution in late demand handling. Priorities and costs are ignored. This option is more time-consuming than the first option because CTM has to check several alternatives.

With the Gradually Postpone Demand Date strategy (Late Demand Offset), CTM does not apply a forward scheduling shift. You have to specify a number of days (N) and then CTM always add N days to the original due date. So CTM first tries to satisfy the demand on-time. If it does not find the solution, it tries to satisfy the demand N days later. If it still does not find a solution, it tries to satisfy the demand 2*N days later and so on. There is no forward step.

Why does CTM create an excess of supply ? 

The excess of supply might result from the lot size specifications.

For example the product A at location Loc1 has a minimum lot size of 100 and the input component B at location Loc1 has a minimum lot size of 50.000. When you use backward scheduling CTM creates orders of lot 100 for the product A in order to fulfill demands at time t1, t1-x and t1-2x.

--------o--------------o--------------o--------> t
t1-2x t1-x t1

The corresponding input component B is also created in the same order. But the supply of 50.000 created at time t1 cannot be used for the demand at time t1-x and so on. Consequently CTM creates multiple orders of 50.000 and you get an excess of supply.

To correct this situation you can define another CTM profile and plan for product B only. This profile will correct the excess stock situation.

Why does CTM create excess of supply within a demand ? 

CTM is not able to consume the excess of supply created by orders from the same demand.

The excess of supply created by orders in a demand can only be used (consumed) by the next demands.

A workaround is to run CTM twice by splitting the production line via a master data selection.

Why does CTM create delayed planned orders ? 

Usually the reason for the delayed fulfillment of the forecast is that there are restrictions concerning the procurement of the product required. CTM cannot fulfill the demand on time and uses the late demand fulfilment strategy.

Why does the CTM planning might result in shortages for some products when I use the Interval Planning strategy with safety stock ? 

The Interval Planning strategy is a process where the entire planning horizon of a CTM planning profile is divided into individual intervals. CTM planning processes the intervals sequentially. For each interval, CTM first fulfills demands and then creates possible safety stock. You should take into account that demands from one interval can consume receipts that were created as safety stock in a previous interval.

How can I set up the Interval Planning ? 

Interval Planning requires the CTM profile to be set with the Fixed Pegging strategy to run successfully.

Many intervals will decrease performance substantially.

If Interval Planning shall be applied for safety stock planning, check whether you can switch to a safety days of supply scenario without Interval Planning.

Why are some sales orders not considered during the CTM planning run ? 

Sales orders are not relevant for CTM planning when they are not pegging relevant. Please check the flag Not Pegging-relevant in the product view.
Only sales orders that are relevant for pegging are taken into account for demand prioritization.

Why does CTM create small orders ? 

Please check the Performance chapter and the question: Why does CTM takes longer than usually to complete the planning run ?

Notice that in backward scheduling with time-continuous scheduling a short resource slot with high capacity can be used to place a lot of small quantity orders to minimizing earliness.

Does CTM support subcontracting scenario ? 

CTM only supports subcontracting with source location. If you want to use subcontracting within your CTM planning run, you have to model the source location and you have to create the products for your supplier locations.

Notice that subcontracting works only for PPMs and orders of type PP/DS before release SCM 4.0.

Since release SCM 4.0 it also works for SNP.

Why are the planned orders not created in the first bucket? 

The planned orders cannot be created in the first bucket (bucket-oriented planning) when the planning start date cannot be assigned to a time zone, thus resource grid for first bucket and planning start do not match. The CTM planning time stream is defined and used with reference to the UTC time zone. The reason is that the planning start is unique for all locations of a supply chain network. As a work around you can decrease the planning start date.

Why does CTM create an excess of supply when I use the safety stock method ? 

The standard safety stock method uses a second run to fulfill the requirements for the safety stock. CTM checks the inventory profile and as soon as there is a need it creates a virtual demand for the second run. With this method CTM creates demands at a certain point of time to maintain safety stock level irrespective of the orders created further down the timeline. Consequently you can get an excess of supply, especially when lotsize settings are being considered.

For example you can face a situation with no stock at the beginning of the planning period and then several big forecasts at the end.

In this case CTM creates a demand for the safety stock without taking into account the following forecasts (which have been supplied in the first run).

In order to mitigate the creation of excess of supply you can use the control parameter SSTOCK_MODE :


Do not use in SCM 5.0 or higher. Instead use in CTM profile -> Supplies with 'Build Up Safety Stock'
Do not plan Demands indicator = SSTOCK_MODE Value1 = X.
Consider Supply Shortage indicator = SSTOCK_MODE Value2 = X and 1 and 2 Stock is Available indicator = SSTOCK_MODE Value2 = 0 and 2.

Release APO 3.0A (SP20+) APO 3.10 SCM 4.0 SCM 4.1
Parameter used in Safety Stock Run (ABAP)
Parameter has to be set by User
Value 1 = "", X (Parameter active also if Value 1 not set)
Value 2 = 0, 1 (previously X) or 2

Description: Demands and Safety Stock fulfillment can be done in the same CTM run. Applied only if safety stock rebuild active.

If Value 1 is set the order selection of the normal run is performed but the planning of normal demands is skipped. The safety stock run is performed as usual.

In the safety stock run, CTM creates virtual demands to trigger building up to the desired safety stock level.

If Value 2 = 1 or 2 the net calculation of the inventory also takes into account the backlog of normal demands. By default, the safety stock run doesn't take into account the backlog of normal demands, which is determined by the unpegged quantity.

If value 2 = 0 or 2 , available stock is not blocked for safety stock requirement of the same location product, but is visible to dependent requirements during planning. However stock with a pegging relation is not available and remains untouched.

The combination of both values can be used to plan normal demands and safety stock in one run. This allows to avoid interval planning in case of time-dependent safety stock. This setting is only suitable if safety stock is considered exclusively for finished products because normal demand counts up against decreasing safety stock level. In this case parameters SSTOCK_EARLYFRAME and SSTOCK_LATEFRAME should be applied.

Why are the safety days' supply not considered during the CTM run ? 

You have defined a safety lead-time (X days) for a product. However, the CTM result does not consider this lead-time. You should check whether there is another constraint defined for this product like the OrderCreationFrame (global settings for CTM). You can also see the OrderCreationFrame time in the demand list. With this parameter you force the engine to create all orders within Y days (Y

Why is there no stock available for a location product when you do a supply simulation although, if you check the same location product in the product view (transaction /SAPAPO/RRP3), you will find some available stock ? 

The reason there is no stock displayed is because the stock quantity is pegged to demands which are not planned in the current CTM profile. Only the supply elements that are not pegged to any demands or to the demands which are selected for planning are taken as valid supplies for CTM planning.
Otherwise it would change the planning situation for the demands that are not selected for planning. You can see the selected demands for a profile in the demand simulation.

Why does the date creation of the planned orders differ between APO and R3 ? 

You should make the time zone setting similar in both R/3 and APO systems.

Why stock transfer orders are created during shipping calendar's non working days? 

In order to consider the shipping calendar of the issuing plant of a stock transport purchase order, a goods issue time in the product view has to be maintained. The same behaviour applies for the receiving calendar and the GR time. See note 619478.

Transportations lanes and PPMs (Quota arrangements, procurement priorities and multi-level costs) -

What are the CTM restrictions regarding the definition of a PPM ? 

The following points should be considered :

Activities need to be in a linear sequence.

However CTM supports the feature minimum/maximum duration between the end and the start of an activity. This allows to model minimum or maximum breaks between activities. By default this is only possible for PP/DS PPMs and the SNP PPMs cannot have any breaks between activities.

The planning parameter ACTREL_MAX allows to set a global value for breaks between activities when using SNP PPMs. Please check note 512763 for a detailed description of the planning parameter.

CTM only supports relation type 'end-start relationship'.

In releases APO 3.0 and 3.1 all input components have to be assigned to the first activity of the PPM and all output components have to be assigned to the last activity.

Components from activities in between the first activity and the last one can be assigned to the first or the last activity by using the planning parameter COMP_REASSIGN. This parameter assigns output components to the end activity and input components to the start activity. Please check note 506700 for a detailed description of the planning parameter.

In release SCM 4.0 an enhancement allows the assignment of input activitiy in the PPM. Output products/components still need to be assigned to the last activity.

When setting the capacity consumption (variable/fixed) you have to be aware of the dependencies between consumption/duration and type of PPM.

For SNP PPMs (bucket oriented planning) a variable and a fixed consumption can be used but only in combination with a fixed duration. A variable duration for bucket planning is not possible.

For PP/DS PPMs (time continuous planning) only a fixed consumption can be utilized but this can be combined with a fixed or a variable duration.

Does CTM take into account the transport costs for the selection of the transportation lanes ? 

CTM does not take into account the transport costs. In case of transportation lanes only the quota arrangements or the procurement priorities are considered. In case both are maintained in the transportation lane, the procurement priority is ignored. The comparison of costs is more in line with the functioning of the optimizer which is targeted at maximizing the profits by using the lowest cost procurement alternative across locations.

Why does CTM not select the transportation lane with the lowest procurement priority ? 


You have maintained several transportation lanes for the same location. If one quota exists, all other procurement priorities are ignored, even if they are maintained for a different time period.

For instance assume the following situation is modelled :

From 01.xx to 07.xx

Transportation lane 1 -> quota arrangement 30%
Transportation lane 2 -> quota arrangement 70%

From 07.xx to 10.xx

Transportation lane 1 -> procurement priority 1
Transportation lane 2 -> procurement priority 2

In this situation quotas and priorities are mixed. Therefore, only the quotas would be used and the procurement priority would be ignored completely.

Notice that this restriction is only valid per location and it is possible to have quotas at one location and priorities at another location.

Why does CTM not select the PPM with the lowest procurement priority ? 

PPM procurement priorities are not considered by CTM and only multi-level fixed and variable costs for the plan are used by CTM.

Notice that the procurement priority is available as from release SCM 4.1.

Why does CTM not choose the PPM with the lowest multi-level cost ? 

During the process that specifies which PPM will be used for a planning run, the system checks multi-level costs and quota arrangements.

If both are maintained, the quota will be considered and the multi-level cost will be ignored.

Why does CTM select only one source of supply although you have maintained several supply sources, locations (transportation lanes) and PPMs? 

If a specific quota is maintained for only one of the supply source, no matter which value it is, then everything is taken from this source. Nothing from the other sources will be delivered to fulfill a demand.

Why does a different supply distribution than the one maintained in the quota comes out during the planning run ? 

The reason is a limitation from other constraints like capacity constraints.

For example you have maintained a quota of 60 and 40% and after the planning run the supply is distributed as 10 and 90%.

Why does CTM fulfill a demand using the transportation lane with the lowest priority ?

If the demand is fulfilled late and you use Keep Lateness to a Minimum procedure (BackwardProjection5), CTM planning selects the source of supply as early as possible and it only considers priorities, costs and quota arrangements when there are several sources of supply with the same availability date.

Why is the PPM ignored during the planning run ? 

In case of SNP planning when the mode duration is less than 1 day, then such a mode is ignored.

In case no further modes are available then the engine fails to find any solution. The engine internally does not change the duration to 1 day if it is less than 1 day.

Why CTM does not plan for small quantities? 

Here are some boundaries that the engine supports. If the values are outside these limits then a PPM cannot be used.

Minimum material consumption 0.001 units
Minimum resource consumption 0.001 units
Minimum duration 1 sec
Maximum resource consumption 10^19 units

To solve the minimum duration, use a fixed duration of 1 sec in the PPM. This way the min duration of the activity will always be greater than 1 sec. This can be done either manually by adding 1 sec in the PPM or by using the BADI /SAPAPO/CTM_SOSINT.

- Resources -

Why does CTM not create enough supply although capacity is set as infinite ?

CTM is handling "true" infinite capacity only in release SCM 4.1.

In previous releases the infinite capacity is simulated by using 2^30 as maximum capacity. In some cases this limit can be reached. To minimize the problem you can use the planning parameter 'Precision', which allows larger values during the planning but provides less accuracy. The value of 1000 is used as a default setting and you have to enter 1, 10 or 100 for the Value1 of the planning parameter.

With the value 1, all decimal places disappear for the available resources.

Parameter Name Precision
Release APO 3.0A (SP12+)
Parameter used in CTM engine
Parameter has to be set by User
Value 1 1, 10, 100 or 1000
Value 2 Not relevant
Description Precision of capacity / capacity consumption

Why do I get an overload of the capacity consumption ?

1)The overload situation comes probably from existing firmed planned orders. CTM cannot consume more than the available resource capacity unless you plan infinitely. It is advisable to check first the capacity situation of the resource (master data check) before running CTM.

2) The overload of the resource might result from the combination of infinite and finite capacity planning. Infinite capacity creates orders in a parallel mode although finite capacity creates orders in a sequential mode. As the capacity data of CTM reflects correctly the combination of infinite and finite capacity there is no plan to change the current behaviour.

Why does CTM not take into account the factory calendar for the resource ? 

The length of the time stream of the resource in the LC does not longer correspond to the planning period. Consequently no factory calendar is taken into account. You have to update regularly the resource time stream. You can display the length of the time stream in the liveCache via transaction /SAPAPO/REST02 by clicking on the GUID in the "Time stream ID" field.

Note 550330 provides you with a detailed explanation regarding the procedure :

'The length of the time stream in the liveCache is defined by the fields LC_DAYS_MINUS and LC_DAYS_PLUS in relation to today (planning parameter TAB in the resource maintenance). As time goes by, the length of the time stream and the available capacity from "today" is thus continuously reduced. To keep the time stream to the relevant length (length set for planning), you should periodically schedule the report /SAPAPO/CRES_CREATE_LC_RES ...'

Why does CTM not create planned orders for some resources ?

1) The resource capacity profile might not be fully generated in the LC for the complete planning horizon. You can use transaction /SAPAPO/REST02 to generate it.

2) The resource might not be updated in the LC with the correct bucket profile (start and end date time for each bucket). If you compare resources there is maybe a bucket offset. In the PPM the condition for the minimum and maximum value for the activity relationship cannot be satisfied due to the bucket offset.

You can check it using transaction /SAPAPO/REST02.

Why CTM does not use the remaining resource capacity? 

Check the resource calendar.

If the calendar days are maintained from 0:00 to 23:59, such calendar maintains an interval of 1 second non working time.

This break prevents the complete consumption of the capacity of the resource: orders start one second before the next higher capacity is available. Maintain the days from 0:00 to 24:00.

This applies for shipping calendars as well.

- Rules -

Why does CTM not create any substitution order to fulfill a demand covered by a rule ? 

Substitution orders are only created if there is some available supply for the substitute products.

Why is the transportation time not taken into account ? 

You have defined a cross location substitution to substitute a product. Unfortunately with this configuration the transport duration from location Loc1 to location Loc2 is not taken into account. In order to include the transport duration you should first create a transportation lane for product Prod1 from location Loc1 to location Loc2 and then a product substitution with a single location like defined below :

Location Product Sub. location Sub. product
Loc2 Prod1 <= Loc2 Prod2

During the planning run CTM considers the transport duration from the transportation lane and then proceeds to the product substitution.

Location substitutions is not viable because CTM already tries to check all transportation alternatives by using existing transportation lanes.

Not recommended - location substitution :
Location Product Sub. location Sub. product
Loc1 Prod1 <= Loc2 Prod2

It is recommended to set up a product substitution scenario.
Products might only substitute products within the same location.

Location Product Sub. location Sub. product
Loc1 Prod1 <= Loc1 Prod2

- Aggregation -

How do I set up the aggregation functionality ? 

The aggregation is done based on the time stream maintained in the "Planning Scope" tab. The degree of aggregation is based on the defined period in the time stream. For instance if days are defined then all demands and supplies are summarized on a daily basis, if weeks are defined the same is done on a weekly basis.

In the customizing (transaction /SAPAPO/CTMCUST - tab "General Customizing"), it is necessary to define at which part of the aggregated period the supplies or demands are requested.

For instance you can specify that weekly aggregated demands are available at the beginning of the week, at the middle or at the end.

It is also possible to define the date of availability at the date of the first or last order of all orders in one aggregation period. Generally it is recommended to set aggregated demands to the beginning of the period and supplies to the end. The reason for this is "to make" demands as early as necessary to make sure they can be fulfilled on time and "to make" supplies as late as necessary to increase the possibility that the available resource offer can cover the requested quantity on time.

To apply the aggregation functionality it is necessary to set the aggregation flag in the "Aggregation" tab and enter the corresponding (ATP) category in the table beneath the flag.

The aggregation is generally only possible for demands and supplies which are shown in the demand/supply simulation.

Aggregation can take place during a safety stock run as of release 5.0.

Planning parameter SRCAT_AGGREGATION triggers aggregation of the safety stock requirement (category 'SR').

- Active Ingredient -

Was the Active ingredient functionality maintained within CTM? 

No. For this reason, it is not recommended to maintain products with active ingredient's settings.