CTM run in APO

Dear All,
I am learning APO.I can do the
DP & SNP (Network ,Multilevel)
heuristics Runs on APO 3.1 very well.
I would like to know how to Run CTM ? What is CTM? and most important what are the settings required for CTM run in APO?
Can anybody help & guide me.
I am awaiting for your valuable answer.Many thanks in advance.
Warm Regards,
Vishwesh Rajguru

Waht is CTM
Capable-to-Match (CTM) functions match a large set of
prioritized customer demands and forecasts to a set of
categorized supplies considering the current production
capacities and transportation capabilities in a multistage
production environment, as in the semiconductor
industry. CTM is based on constraint-based propagation
techniques and goal-oriented programming.
Preprocessing tools provide a set of categorized supplies
and prioritized demands as input to the CTM Engine,
which then performs a fast check of production
capacities while considering transportation capabilities.
Prioritize by Demand
CTM prioritizes demands, such as customer orders
or forecasts from SAP APO Demand Planning, based
on such characteristics as customer priority, location,
and product priority.
Supply Categorization
CTM performs supply categorization based on the
available supply and user-defined inventory limits, such
as amount of inventory or planned deliveries.
CTM Engine
The CTM engine delivers the functions you need to
control supply and demand. The CTM engine process
can be divided into two steps. In the first step, the
CTM engine builds the CTM application model using
the specified supply network model. In a second phase,
the CTM engine matches demand to supply considering
production capacities and transportation capabilities
and using constraint-based propagation. CTM searches
before production and after production.
In before production searches (or most to least), the
system first searches through all supply categories for
finished or semifinished products before it resorts to
ordering production for that item. The search is
conducted top down. The system first searches the
production process model for finished products, then
intermediate products, then raw materials.
In after production searches (or least to most), the
system searches for categories after an attempt is made
to produce the item.
Time-Dependent Production Processes
You can define different production processes,
including product flow, for different time intervals. The
CTM engine chooses only production processes that
are valid at the representative time.
Model Alternative Components
You can implicitly model alternative components by
annotating a list of alternatives within the bill of
material, or you can model alternative components
explicitly by defining a set of product substitutions for
a given product.
Identification of Raw Material
A special product category identifies material that is
available in an infinite quantity. But for the consumption
of this product, a purchase requisition must be
created.
Process Flows Based on Demand
You must select a specific process flow based on the
set of characteristics of a given demand. For a planning
process that covers several physical plants, you must
be able to restrict the production and distribution
network to a set of allowed plants. In addition, the
CTM engine can handle the plant substitution rules of
SAP APO’s Global ATP component.
Product Substitution Rules
CTM considers a set of demand characteristics for each
product and a prioritized list of substitute products
using Global ATP rules.
Customization/Settings
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.

Similar Messages

  • 'An Exception occured in communicaiton object' during CTM run after upgrade

    Hi All,
    We have upgraded our SCM patch level from 06 to 08.
    After patch upgrade we are facing a problem in CTM run.
    Error message is as follows :
    'An exception occured in communicaiton object: An'.
    I could not see any entry in rcc_version or opt09 tcode.
    Regards,
    Krunal

    Hello,
    I already saw this error.
    Please run the reports /SAPAPO/TSCONS, /SAPAPO/CONSCHK and Livecache consistency /SAPAPO/OM17.
    Also,the other reason for this could be from Basis side i.e:Network problems between the APO system and the CTM engine, please check all this.
    Regards,
    Michel Bohn

  • CIF Blocking for SNP CTM Run

    Hi Folks,
    We are implementing CTM solution for a HTDM client. It is the same APO instance where one company is already live on APO and CTM runs are taken on Sunday, Monday, Tuesday, Thursday and Friday on a weekly basis. Now for this new company implementation, we need CTM run to happen everyday at end of the day. Since the client is in USA, we can't have CTM run till 9PM EST since there are end users in west coast as well. But due to busness requirements, we need to complete the CTM runs and publish orders by 8PM EST. No comromise possible on this
    Here is the critical issue. CTM run requires CIF Qs to be blocked during the run time. When we run CTM for company 2, if the CIF Qs are blocked, company 1 will face issues since their business is on else where. Is there a way to run CTM and block CIF Qs only for company 2? It is possible for data transfer block from APO to ECC but what we are concerned is to block ECC to APO data for company 2 only. If this can be achieved, the issue of conflict with CTM runs gets resolved.
    Has anyone faced this issue or is aware of a solution to this problem? Kindly reply back.
    Thanks,
    Chandra

    Hi Chandra
    Does the customer use same client for both company ?
    If yes, is there any relation between the data of company 1 and company 2 ?
    (Same location products are used ?)
    If the data is related, it is better to lock CIF queue.
    (Since incoming data can have influence on running CTM
    as described in Note 487261 / 528913).
    But if the data is not related (different location products are processed,
    I think you do not need to block CIF queue from ECC to APO).
    best regards
    Keiji

  • CTM Run failing with TSV_TNEW_PAGE_ALLOC_FAILED runtime error

    Hi,
    While doing the CTM run,system is giving the  memory dump with run time error TSV_TNEW_PAGE_ALLOC_FAILED.
    I understand this is because memory constraint and possible recommendation to either increase the Memory or reduce the master data selections for planning but would like to know if some master data discrepancy can cause the infinite run of CTM and hence memory dump like product at location being set as Inhouse production but no PPM maintained for it.
    Any suggestions on this willl reward points.
    Thanks,
    Manish
    Edited by: Manish Thukral on Jun 24, 2008 9:34 PM

    Marcelo,
    Thanks for you reponse.Can you please share some more information on what explanation profile is and where it is set so that can I check.
    Manish

  • CTM run ends up system exception error message

    Hi
    After starting "planning run" from CTM profile i'm getting the error message: "Destination address and application CTM were not found in Customizing as an active entry".
    There was thread already with same issue, but it was closed without proper answer.
    CTM run ends up with error message
    Could someone please offer any advice on what can be done here.
    Thanks
    Venkatesh

    Hi Venkatesh,
    Please check in your CTM settings if the CTM is correctly installed.
    For this you can take help from Basis or got to TX-SM59 -> TCP/IP connections and there you will see your Optimizer server , test the connection once.
    Let me know if this helps.
    Regards,
    Jatin

  • Use of Forecast Horizon in CTM Run

    Hello all,
    Our requirement is - CTM Run should consider 'Forecast Horizon' (as mentioned in Product Master) while creating PReqs from Demands (FC - Planned Independent Requirements).
    As this functionality is not provided in standard SAP, we need to implement some BADI.
    Please provide the soultion - if anyone has already implemented the same - i.e. which BADI is usefull and how to go with that.
    Thanks a lot in advance.
    Best Regards,

    Moderator message -
    When closing old threads, there is no need to add a comment. Adding a pasted answer like "Thanks" only brings old threads to the top of the forum list and pushes current ones down. If you do add a comment, please indicate just how the problem was resolved.
    Rob

  • Table for Demands and Supplies after CTM run

    Hi Gurus,
    I want to get number of demands and supplies after CTM run .
    I can see these details from opt11 . But i want to use these data points further for a custom developments .
    So please let me know , in which table these entries sit ? There has to be a standard table for the same .
    Regards
    Bhupendra

    Vikas,
    You can also improve changing the data points in CTM global setting /SAPAPO/CTMCUST...
    Enable check box : Asynchronous Update and Define appropriate Packet Size and also update
    Package Size for Creating Orders
    Package Size for Creating Pegging Rels
    Package Size for Order Selection
    Below example illustrates the improved performance by enabling check box : Asynchronous Update and Define appropriate Packet Size
    If you set the indicator, CTM first plans the number of demands
    specified in the Package size field. Then the system creates the
    corresponding orders in the liveCache. At the same time, CTM continues
    with the planning for the remaining demands.
    If you do not set the indicator, the system first plans all demands and
    then creates the orders in the liveCache.
    Example
    You want to use the asynchronous liveCache update for 20000 demands.
    Enter 1000 as the package size. The system attempts to fulfill the first
    1000 demands. The orders for these demands are created in the liveCache,
    whilst CTM planning continues for the remaining 19000 demands."
    We had similar issue and CTM performance improved significantly after updating the above setting.
    Thukral

  • CTM running issue

    hello
    could somebody help me
    i'am trying to run a CTM ( snp) very light: i have only one demande of 50 units and a stock of 25 units. ( these 2 datas are well taked into account by CTM ( when i run the simulation they appears))
    my issue is that: accordingly to the CTM ; after its running i should get a planned order to cover the 25 missing units : but nothing hapens.
    what would be your advice ( to check, to set-up) as to get my demande covered?
    thanks
    elena

    Hi Elena,
    Please check the following
    1)  Is there any inconsistency of order data (both receipts and requirements)
    between both R/3 and APO systems.  In such case, run delta report to
    clear the inconsistency and retry
    2) Check late demand fulfilment strategy maintained
    3) Under special strategies in CTM profile, check whether the
    field "Balance surplus and shortfall quantity" are maintained
    4) In Global CTM settings, check whether allow shortage is maintained
    Regards
    R. Senthil Mareeswaran.

  • Changing Capacity Utilization for selected days before and after a CTM Run

    I have a number of resources with their respective capacity utilizations. I am running CTM which requires the resource utilizations for all the resources to be at 100%.
    Can I do that with 2 capacity variants for the resource with 100% and X% utilization and switch them as and when required. My Problem is that when i create a capacity variant from say date A to date B .. the period between these comes as blocked. Is there a way to correct this.

    Request you to go through help documents
    http://help.sap.com/saphelp_scm41/helpdata/en/92/a57337e68ac526e10000009b38f889/content.htm
    http://help.sap.com/saphelp_scm41/helpdata/en/2e/847337613fbc40e10000009b38f8cf/frameset.htm

  • Regenerative planning run in APO

    Hi experts,
    I need your input on the following scenario.
    We have APO PPDS implemented for our Manufacturing industry client. We have designed to run only Net Change Planning every day and there is no design to run Regenerative Planning.
    What is the importance of running Regenerative Planning? What do we lose if we don't run a regenerative planning?
    We have CTP scenario, so there are lot of parts planned automatically.
    Is there any impact of automatic planning on Regenerative planning and vice versa?
    What is the best practice to follow with respect to Regenerative Planning?
    I appreciate if someone could answer these questions. Thanks in advance.
    Regards,
    Manimaran M.

    Hello Mani
    Following are details are from old SAP Handbook,  good information to understand the concept.
    ====
    Net Change Planning
    Automatic material requirements planning is especially hard on system performance for production processes with complicated BOM structures. To guarantee frequent planning runs of those materials which are relevant for planning despite this problem, you can carry out the planning run with the "net change planning" procedure. This process only plans those materials which have undergone a change relevant to material requirements planning (for example, change in a production order due to excessive scrap, a new sales order, and so on) since the last planning run.
    The so-called planning file exists especially for the planning run and contains all the materials and their respective MRP types. If a material is changed in a way that is relevant to the planning run, it is given a net change indicator meaning that it will be included in the next net change planning run. In a net change planning run, only these materials are planned.
    Net Change Planning in the Planning Horizon
    Performance can be improved even further by using the net change planning run in the planning horizon.  Here, only those changes relevant to requirements planning that fall within a specific period (defined by the user and known as the planning horizon) are included in the planning run. It is advisable in this situation to carry out a total planning run in regular intervals (for example, weekly or monthly) to keep the planning results completely up-to-date.
    Regenerative Planning
    It is also possible to carry out a regenerative planning run. In this planning run, the system plans all materials that are relevant for planning. Usually, the regenerative planning run is only carried out in the implementation stages.
    ===
    Hope this will help.
    Thank you
    Satish Waghmare

  • Why overdued pr is not deleted during DRP planning run in APO?

    the PR information still contain external PR created in DRP planning mode and it was not deleted.
    I am doubt about that the planning run in ROP planning mode cannot delete old PR before recalculating PR.

    I found the root cause of this symptom and have a plan to fix them.
    The root cause of it is that DRP planning run has not performed successfully.
    1. Details.
    For material: P174552
    This material’s BOD hierarchy is
    4860  (Reorder point based)
    └ 6000 (Reorder point based)
    └ 6080 (Period based)
    For both 4860, 6000   Reorder point based  planning mode, but for 6080 Period Based planning mode.
    This 6080’s Period based is incorrect because this material’s ABC grade is ‘N’; it should be Reorder point based.
    As you see it in below screen-shot, there is error log  in DRP planning for this material.
    I found that about 5% of materials has incorrect planning mode.
    2. Fixing Plan:
    This weekend I will recalculate all material’s planning mode again and
    will Run DRP planning process chain in monthly job again.

  • Intercompany Purchase Requisition

    Hi,
    After CTM runs in APO, the resulting orders are immediately sent to ERP system via CIF.  The Purchase Reqs that are created between different plants are created in ERP system as a Stock Transfer Requisition.  This is known because the field Item Category is populated with u201CUu201D (Table EBAN-PSTYP = '7').
    In our scenario, we need to create a Standard Purchase Req. rather than a Stock Transfer Requisition if the Company Codes are different for the Plants. Basically, we need to set EBAN-PSTYP = '0'.
    Has anyone seen such a scenario...is there any user-exit to achieve this requirement? Any help is appreciated.
    Thanks.

    I found it.....
    SMOD Enhancement: CIFPUR02; Comp[onent: EXIT_SAPLMEPI_005
    Thanks.

  • Error occurred during CTM planning run

    Hi folks,
    Appreciate your co-operations!
    I am facing the problem while running the CTM with the profile DEMO2.
    CTM Planning Run gives one error and alert.
    Error: Error occurred during CTM planning run
    Technical Data
    Message type__________ A (Cancel)
    Message class_________ /SAPAPO/CTM1 (CTM: Messgaes)
    Message number________ 401
    Problem class_________ 1 (very important)
    Number________________ 1
    Environment Information
    CTM Action____________ G
    Message type__________ A
    Alert: Internal error has occurred (<!> Segmentation fault)
    Technical Data
    Message type__________ E (Error)
    Message class_________ /SAPAPO/CTM1 (CTM: Messgaes)
    Message number________ 571
    Message variable 1____ <!> Segmentation fault
    Number________________ 1
    Environment Information
    CTM Action____________ G
    Message type__________ C
    Log file display
    <i> 04:37:59 optsvr_main.cpp(1363) 'SuperVisor' => Commandline : 4 respected parameters ...
    Args:
    m0001006
    sapgw04
    28812935
    IDX=1
    <i> 04:37:59 optsvr_main.cpp(645) 'SuperVisor'  * SAP APO CTM Engine [CTM/ctmsvr]
    <i> 04:37:59 optsvr_main.cpp(646) 'SuperVisor'  * Copyright u00A9 SAP AG 1993-2009
    <i> 04:37:59 optsvr_main.cpp(647) 'SuperVisor'  *
    <i> 04:37:59 optsvr_main.cpp(648) 'SuperVisor'  * Version        : 7.0_REL SP05, 407661, Nov 25 2009 22:59:47
    <i> 04:37:59 optsvr_main.cpp(649) 'SuperVisor'  * Platform       : ntamd64/x64
    <i> 04:37:59 optsvr_main.cpp(650) 'SuperVisor'  * Interface      : 2.0
    <i> 04:37:59 optsvr_main.cpp(651) 'SuperVisor'  * Build date     : Nov 25 2009 22:59:47 [1259186387]
    <i> 04:37:59 optsvr_main.cpp(652) 'SuperVisor'  * Build machine  : PWDFM163
    <i> 04:37:59 optsvr_main.cpp(653) 'SuperVisor'  * Latest change  : 407661
    <i> 04:37:59 optsvr_main.cpp(654) 'SuperVisor'  * NW release     : 7100.0.3300.0
    <i> 04:37:59 optsvr_main.cpp(655) 'SuperVisor'  * Perforce branch: 7.0_REL
    <i> 04:37:59 optsvr_main.cpp(656) 'SuperVisor'  *
    <i> 04:37:59 optsvr_main.cpp(676) 'SuperVisor'  * Hostname       : m0001006
    <i> 04:37:59 optsvr_main.cpp(677) 'SuperVisor'  * OS version     : 5.2.3790 (WinServer2003, NTAMD64) SP2.0 (Service Pack 2), SERVER ENTERPRISE TERMINAL SINGLEUSERTS
    <i> 04:37:59 optsvr_main.cpp(678) 'SuperVisor'  * PID            : 6768
    <i> 04:37:59 optsvr_main.cpp(683) 'SuperVisor'  * CWD            : D:\usr\sap\SC6\DVEBMGS04\log
    <i> 04:37:59 optsvr_main.cpp(684) 'SuperVisor'  *
    <i> 04:37:59 core_sysinfo.cpp(453) 'SuperVisor' * free disk space: 190433 MB
    <i> 04:37:59 core_sysinfo.cpp(454) 'SuperVisor' *
    <i> 04:37:59 core_sysinfo.cpp(409) 'SuperVisor' * Memory information:
    <i> 04:37:59 core_sysinfo.cpp(409) 'SuperVisor' *   physical memory: 10238 MB total, 6511 MB available [63% free]
    <i> 04:37:59 core_sysinfo.cpp(409) 'SuperVisor' *   page file      : 73212 MB total, 60889 MB available [83% free]
    <i> 04:37:59 core_sysinfo.cpp(409) 'SuperVisor' *   virtual memory : 8388607 MB total, 8388499 MB available [99% free]
    <i> 04:37:59 optsvr_main.cpp(693) 'SuperVisor'  *
    <i> 04:37:59 optsvr_main.cpp(783) 'SuperVisor' * running in invoke mode
    <i> 04:37:59 optsvr_rfcconnection.cpp(871) 'MsgMgr' <RFC> RfcPing(RFC_HANDLE=1) received in thread#6912
    <i> 04:37:59 optsvr_rfcconnection.cpp(692) 'MsgMgr' <RfcConnection> using function module 'RCCF_COMM_PARAM_SET' for sending of parameters/options
    <i> 04:37:59 optsvr_rfcconnection.cpp(703) 'MsgMgr' <RfcConnection> using function module 'RCCF_COMM_PARAM_GET' for receiving of parameters/options
    <i> 04:37:59 optsvr_rfcconnection.cpp(712) 'MsgMgr' <RfcConnection> using function module 'RCCF_COMM_PROGRESS' for progress informations
    <i> 04:37:59 optsvr_rfcconnection.cpp(721) 'MsgMgr' <RfcConnection> using function module 'RCCF_COMM_MESSAGE' for messages
    <i> 04:37:59 optsvr_rfcconnection.cpp(730) 'MsgMgr' <RfcConnection> using function module 'RCCF_COMM_RESULT' for (intermediate) result informations
    <i> 04:37:59 optsvr_rfcconnection.cpp(739) 'MsgMgr' <RfcConnection> using function module 'RCCF_COMM_SYSINFO' for system informations
    <i> 04:37:59 optsvr_rfcconnection.cpp(748) 'MsgMgr' <RfcConnection> using function module 'RCCF_COMM_PERFINFO' for performance informations
    <i> 04:37:59 optsvr_rfcconnection.cpp(1269) 'MsgMgr' <RFC> skipping empty profile value [GENERAL] sPROFILE_CUST_ID
    <i> 04:37:59 optsvr_rfcconnection.cpp(1835) 'MsgMgr'
    Sender/Receiver RFC_HANDLE#1:
    <RFC> * RFC connection attributes:
      Own Host    : m0001006
      Partner Host: m0001006
      Destination : OPTSERVER_CTM01
      Program Name: SAPLRCC_COMM_ENGINE
      SystemNr    :              04       SystemId    : SC6
      Client      :             700       User        : MBATCHA    
      Language    :               E       ISO Language: EN
      CodePage    :            1100       Partner CP  : 1100
      Kernel Rel. :            701        Partner Rel.: 701
      Own Release :            711        CPIC ConvId : 28812935
      Own Type    :               E       PartnerType : 3
      Trace       :                       RFC Role    : S
    <RFC> * RFC statistic information:
      number of calls        : 7
      number of received data: 10569
      number of sent data    : 1349
      overall reading time   : 9073
      overall writing time   : 162
    <i> 04:37:59 optsvr_main.cpp(1110) 'SuperVisor' * Starting MainScript ...
    <i> 04:37:59 optsvr_main.cpp(1445) 'SuperVisor'
    ***************************** OPTSVR - OPTIONS ***************************** *
    [CTM_PROFILE]
    nCTMENGINEPACKAGESIZE = 500
    sCOMPONENT = SCM
    sCTMLOGFILE = ctm.DEMO2.0000_0001.20091201043758.log
    sCTMLOGFLAG = 0
    sCTMPROFILE = DEMO2
    sRELEASE = 700
    [general]
    bUNICODE = true
    nSLOT_MAXIMUM = 1
    nSLOT_MINIMUM = 1
    nSLOT_RESERVED = 1
    sAPO_RELEASE = 700
    sAPPLICATION = CTM
    sExeDir = d:\apoopt\ctm\bin
    sExeName = ctmsvr.exe
    sHOST = m0001006
    sInvokeMode = invoke
    sLANGU = E
    sMANDT = 700
    sPRODUCT_NAME = APO
    sPRODUCT_PATCHLEVEL = 0001
    sPRODUCT_RELEASE = 700
    sPROFILE = DEMO2
    sSESSION = tju5Bmz21}6WVG0Sn6pv3W
    sSYSTEM = SC6
    sUNAME = MBATCHA
    [init]
    sSECTION0001 = INIT
    sSECTION0002 = GENERAL
    sSECTION0003 = PASSPORT
    sSECTION0004 = CTM_PROFILE
    [PASSPORT]
    bIS_REMOTE = false
    nACTION_TYPE = 1
    nSERVICE = 1
    sACTION = /SAPAPO/CTMB
    sPRE_SYSID = SC6
    sSYSID = SC6
    sTRANSID = 2205DEDE7A5BF16DA07D001CC46CF90E
    sUSERID = MBATCHA
    ************************** OPTSVR OPTIONS - END **************************** *
    <i> 04:37:59 core_msgmgr.cpp(440) 'MsgMgr' * Sending progress number 802 to OutputInterface from []
    <i> 04:37:59 core_supervisor.cpp(728) 'SuperVisor' <M> Invoking module 'CTMModelGenerator' [6]->download
    <i> 04:37:59 core_msgmgr.cpp(440) 'MsgMgr' * Sending progress number 806 to OutputInterface from [MG]
    <i> 04:37:59 ctm_modelgen.cpp(166) 'CTMModelGenerator' ======================================================================
    <i> 04:37:59 ctm_modelgen.cpp(167) 'CTMModelGenerator' MG::download
    <i> 04:37:59 core_msgmgr.cpp(1110) 'MsgMgr' renaming tracefile
    <i> 04:37:59 core_msgmgr.cpp(1111) 'MsgMgr' old name: optsvr_trace20091201_043759_1a70.log
    <i> 04:37:59 core_msgmgr.cpp(1112) 'MsgMgr' new name: ctm.DEMO2.20091201_043759_1a70.log
    logfile reopened : Tue Dec 01 04:37:59 2009
    logfile name     : ctm.DEMO2.20091201_043759_1a70.log
    <i> 04:37:59 rfc_connection.cpp(599) 'MsgMgr' <rfc> calling function module /SAPAPO/CTM_INT_STATUS_SET
    <i> 04:37:59 rfc_connection.cpp(599) 'MsgMgr' <rfc> calling function module /SAPAPO/CTM_INT_PRDAT_RFC_READ
    <i> 04:37:59 rfc_connection.cpp(599) 'MsgMgr' <rfc> calling function module /SAPAPO/CTM_INT_PLPAR_RFC_READ
    <i> 04:37:59 rfc_connection.cpp(599) 'MsgMgr' <rfc> calling function module /SAPAPO/CTM_INT_LOC_RFC_READ
    <i> 04:37:59 rfc_connection.cpp(599) 'MsgMgr' <rfc> calling function module /SAPAPO/CTM_INT_PPM_RFC_READ
    <i> 04:38:02 rfc_connection.cpp(599) 'MsgMgr' <rfc> calling function module /SAPAPO/CTM_INT_TRANS_RFC_READ
    <i> 04:38:02 rfc_connection.cpp(599) 'MsgMgr' <rfc> calling function module /SAPAPO/CTM_INT_RES_RFC_READ
    <i> 04:38:02 rfc_connection.cpp(599) 'MsgMgr' <rfc> calling function module /SAPAPO/CTM_INT_SSTCK_RFC_READ
    <i> 04:38:02 rfc_connection.cpp(599) 'MsgMgr' <rfc> calling function module /SAPAPO/CTM_INT_CAL_RFC_READ
    <i> 04:38:02 rfc_connection.cpp(599) 'MsgMgr' <rfc> calling function module /SAPAPO/CTM_INT_PLPER_RFC_READ
    <i> 04:38:02 rfc_connection.cpp(599) 'MsgMgr' <rfc> calling function module /SAPAPO/CTM_INT_INCMD_RFC_READ
    <i> 04:38:03 rfc_connection.cpp(599) 'MsgMgr' <rfc> calling function module /SAPAPO/CTM_INT_STATUS_SET
    <i> 04:38:03 rfc_connection.cpp(599) 'MsgMgr' <rfc> calling function module /SAPAPO/CTM_INT_DEM_RFC_READ
    <i> 04:38:04 rfc_connection.cpp(599) 'MsgMgr' <rfc> calling function module /SAPAPO/CTM_INT_SUP_RFC_READ
    <i> 04:38:04 rfc_connection.cpp(599) 'MsgMgr' <rfc> calling function module /SAPAPO/CTM_INT_UCMAP_RFC_READ
    <i> 04:38:04 rfc_connection.cpp(599) 'MsgMgr' <rfc> calling function module /SAPAPO/CTM_INT_STATUS_SET
    <i> 04:38:04 core_msgmgr.cpp(440) 'MsgMgr' * Sending progress number 810 to OutputInterface from [MG]
    <i> 04:38:04 ctm_modelgen.cpp(735) 'CTMModelGenerator' MG::download done
    <i> 04:38:04 ctm_modelgen.cpp(736) 'CTMModelGenerator' ======================================================================
    <i> 04:38:04 core_supervisor.cpp(750) 'SuperVisor' <M> Returning from module 'CTMModelGenerator' [6]->download = success [ctx size : 1]
    <i> 04:38:04 core_supervisor.cpp(692) 'SuperVisor' <SCR> Starting script 'CTM Solve' with 9.22337e+012 seconds left
    <i> 04:38:04 core_supervisor.cpp(692) 'SuperVisor' <SCR> Starting script 'CTM Match' with 9.22337e+012 seconds left
    <i> 04:38:04 ctm_executionmanager.cpp(102) 'SuperVisor' ======================================================================
    <i> 04:38:04 ctm_executionmanager.cpp(103) 'SuperVisor' statistics:
    <i> 04:38:04 ctm_executionmanager.cpp(104) 'SuperVisor' number of demands: 7
    <i> 04:38:04 ctm_executionmanager.cpp(105) 'SuperVisor' ======================================================================
    <i> 04:38:04 ctm_executionmanager.cpp(107) 'SuperVisor' ======================================================================
    <i> 04:38:04 ctm_executionmanager.cpp(108) 'SuperVisor' parameters:
    <i> 04:38:04 ctm_executionmanager.cpp(118) 'SuperVisor' time continuous planning
    <i> 04:38:04 ctm_executionmanager.cpp(125) 'SuperVisor' backward scheduling
    <i> 04:38:04 ctm_executionmanager.cpp(184) 'SuperVisor' CBCLP enabled
    <i> 04:38:04 ctm_executionmanager.cpp(457) 'SuperVisor' ======================================================================
    <i> 04:38:04 core_supervisor.cpp(728) 'SuperVisor' <M> Invoking module 'CtmEngine' [7]->run
    <i> 04:38:04 ctm_executionmanager.cpp(523) 'SuperVisor' ======================================================================
    <i> 04:38:04 ctm_executionmanager.cpp(524) 'SuperVisor' EM::execute for packet 1
    <i> 04:38:04 ctm_executionmanager.cpp(1570) 'SuperVisor' EM::execute for packet 1 done
    <i> 04:38:04 ctm_executionmanager.cpp(1571) 'SuperVisor' ======================================================================
    <i> 04:38:04 core_supervisor.cpp(750) 'SuperVisor' <M> Returning from module 'CtmEngine' [7]->run = success [ctx size : 1]
    <i> 04:38:04 core_supervisor.cpp(728) 'SuperVisor' <M> Invoking module 'CTMModelGenerator' [6]->upload
    <i> 04:38:04 ctm_modelgen.cpp(1097) 'CTMModelGenerator' ======================================================================
    <i> 04:38:04 ctm_modelgen.cpp(1098) 'CTMModelGenerator' MG::upload of packet 1
    <e> 04:38:05 ctmsvr_script.cpp(229) 'SuperVisor' <!> STRING EXCEPTION : <!> Segmentation fault
    <i> 04:38:05 rfc_connection.cpp(599) 'MsgMgr' <rfc> calling function module /SAPAPO/CTM_INT_STATUS_SET
    <i> 04:38:05 optsvr_main.cpp(1166) 'MsgMgr' Current check values:
    [CHECK_EQUAL]
    [CHECK_UPPERBOUND]
    nPEAK_MEMORY_NTAMD64 = 45344
    [CHECK_LOWERBOUND]
    <i> 04:38:05 optsvr_main.cpp(1209) 'MsgMgr' Performance values:
    bSuccess     false
    nCPU_TIME     0
    nPEAK_MEMORY     45344
    nPEAK_VIRTUAL_BYTES     141844
    nREAL_TIME     6
    tracefile     ctm.DEMO2.20091201_043759_1a70.log
    <i> 04:38:05 optsvr_main.cpp(1235) 'MsgMgr' Performance Monitor values:
    ENGINE_VERSION     7.0_REL SP05, 407661, Nov 25 2009 22:59:47
    nCPU_TIME     0
    nHD_FREESPACE     190433
    nPEAK_MEMORY     45344
    nPEAK_VIRTUAL_BYTES     141844
    nREAL_TIME     6
    <i> 04:38:05 optsvr_dsr.cpp(96) 'MsgMgr' <writeDSRdata> tracing not active => no DSR written
    <i> 04:38:05 optsvr_main.cpp(1256) 'SuperVisor'
    Finished->FAILED ...
    <i> 04:38:05 core_memmgr.cpp(564) 'MsgMgr'   transferring memory of heap 6912 to main heap
    <i> 04:38:05 core_memmgr.cpp(606) 'MsgMgr'   finished transfer of heap 6912
    <i> 04:38:05 optsvr_rfcconnection.cpp(1835) 'MsgMgr'
    Sender/Receiver RFC_HANDLE#1:
    <RFC> * RFC connection attributes:
      Own Host    : m0001006
      Partner Host: m0001006
      Destination : OPTSERVER_CTM01
      Program Name: SAPLRCC_COMM_ENGINE
      SystemNr    :              04       SystemId    : SC6
      Client      :             700       User        : MBATCHA    
      Language    :               E       ISO Language: EN
      CodePage    :            1100       Partner CP  : 1100
      Kernel Rel. :            701        Partner Rel.: 701
      Own Release :            711        CPIC ConvId : 28812935
      Own Type    :               E       PartnerType : 3
      Trace       :                       RFC Role    : S
    <RFC> * RFC statistic information:
      number of calls        : 116
      number of received data: 420457
      number of sent data    : 39262
      overall reading time   : 5.30093e+006
      overall writing time   : 3831
    <i> 04:38:05 optsvr_main.cpp(1332) 'MsgMgr'
    OptimizeServer says  GOOD BYE
    Please help me to resolve this issue.
    Thanks & Regards,
    Khadar

    Hi Khadar,
    1) The information you have provided is the CTM optimiser log.
    Run the job in background and in  sm37 and click on job log &
    analyse the exact error happened.  In case if you are not able
    to do, please provide the error log.
    2) Check the livecache is stable in its operations when the job
    runs (check with basis team)
    3) Run consistency check for master data before CTM run
    4) Check for any struck queues and clear those and rerun
    5) If you feel more inconsistencies in system, run livecache
    consistency and rerun CTM run
    Regards
    R. Senthil Mareeswaran.

  • Deployment after CTM or SNP

    Dear Gurus:
            We perform CTM run based a prioritized demand. For example: Fulfill sales order first then safty stock request. So, after CTM, system will try to fulfill sales order first and generate related SNP PR.
            If we wanna use deployment when there is a supply shortage. But we wanna deployment stock transfer order to fulfill sales order first, not evenly distributed based on fair share rule.
    Ex:
    Required Qty of Destination Loc--
    LOC A 100PC(Sales order)  LOC B 100PC(Safety stock)
    Supply Qty of Source Loc--
    LOC C 50PC
    Is this possible to let system generate a deployment order 50 PC to LOC A only because it's sales order request. Not evenlt distributed 50 to LOC A and 50 to LOCB. Is this possible in SAP APO?
    Thanks Anyway!
    Scott Chen

    Well. not really. I was just wondering that if you want to do deployment for sales order driven demands, you may have to do some lite development. The way I would envision your requirement can be done is using the Forecast Horizon field in SNP 2 tab of Location Product. You can set it to a specific value, say 2 months. You may then then run CTM and deployment (in regenerative mode) subsequently.
    Then programmatically remove the forecast horizon, run CTM and deployment (both in net-change mode) subsequently. This will ensure that the first pass of CTM and deployment does take care of sales order driven demands first. The second pass will try to plan for other kind of demands if supply is still available. Let me know how it works.

  • CTM Control Parameter SSTOCK_MODE

    Hello All,
    We are running CTM with control parameter SSTOCK_MODE with value 1:X, value 2: blank. in this way ctm plans only for safety stock demand, not normal demand.
    However, when we do this, CTM does not see available supply already created and it creates production plan again.  Is there anyone who had the same problem or who can help on that?
    Thanks and regards,
    Jenny

    Hi,
    Why does CTM create an excess of supply when I use the safety stock method?
    Answer:
    The standard safety stock method uses a second run to fulfil 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:
    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 fulfilment 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 avoiding 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.
    Go through the above detail, it may help you.
    Thanks,
    Dipankar

Maybe you are looking for