Skip to Content

1. Background Information

This How-To guide provides a solution to hardcode dimension members in the default “Copy” data package provided in SAP BPC. The non-essential dimension members will get hardcoded in the data package itself and the users will not be prompted to select the same when they run the data package. This will ensure that the data is not copied to a wrong data range.

2. Business Scenario

The user wants to copy data from 1 Category to another (say Version 1 to Version 2) or from 1 datasource (audittrail) to another for a particular product, cost center etc.

In such cases, the users would often like to select only the profit center & the time period.

The default ‘Copy’ package provided by SAP BPC, however, expects the users to select the dimension members for all the dimensions.

/wp-content/uploads/2013/01/1_171763.png

In the above screenshot, the user is expected to certain dimensions like Audit Trail, Rptcurrency etc. which if wrongly selected might disrupt the Data range saved into the server.

Users often request the ability to select the necessary dimensions only (with which he/she is generally concerned) and not all the dimensions. And rightly so, as quite often too many member selections might confuse the users and they might end up copying the data to a wrong data range.

3. Business Case Study:

The user wants to copy the data from Version (Category Dimension) “M3” to “M0” and from Audittrail “Input” to “Calc”. However, he/she would like to do so for account dimension member “Sales Quantity” only & only when the Plant dimension member is “NO_PLANT”. The user would like to specify via a prompt box, the profit centers and the time period for which he/she would like to run the package.

The user would be copying the above-mentioned data range quite frequently during the budgeting cycle. Considering the fact that this is a frequently run data package, the user doesn’t want to select the static dimension members (Sales Quantity & NO_PLANT in this case) for these dimensions (ACCOUNT & PLANT respectively) again and again, and would prefer if the same are hardcoded. (This will also help in ensuring that the data values are not erroneously posted to the wrong data range due to an incorrect selection.)

The user has suggested that he/she should be allowed to select only the profit center & the time period from the prompt in the data package. The other members for the other dimensions to be coded within the data package.

4. Step-by-step procedure

  • Create a copy of the Copy Package to ensure the existing one is left untouched.

/wp-content/uploads/2013/01/2_171857.png

  • Modify the newly copied package

/wp-content/uploads/2013/01/3_171858.png

  • Rename the package as per your choice and then click on modify script

/wp-content/uploads/2013/01/4_171859.png

  • Click on Advanced

/wp-content/uploads/2013/01/5_171860.png

  • Remove the existing code in the right hand window and paste the following code (The code is pasted after the screenshot):

/wp-content/uploads/2013/01/6_171861.png  

  • Code to be entered in the Code Window:

‘PROMPT(RADIOBUTTON,%CLEARDATA%,”Select the method for copying the data from the source to destination database”,0,{“Merge data values (Copies specified records, leaving all remaining records in the destination intact)”,”Replace && clear data values(Copies specified records, and clears the data values for any records that mirror each entity/category/time/datasource combination defined in the source)”},{“0″,”1”})

‘PROMPT(RADIOBUTTON,%RUNLOGIC%,”Select whether to run default logic for stored values after copying”,1,{“Yes”,”No”},{“1″,”0”})

‘PROMPT(RADIOBUTTON,%CHECKLCK%,”Select whether to check work status settings when importing data.”,1,{“Yes, check for work status settings before importing”,”No, do not check work status settings”},{“1″,”0”})

‘PROMPT(COPYMOVEINPUT,%SELECTION%,%TOSELECTION%,”Select the members to COPY and where to”,”%TIME_DIM%,%ENTITY_DIM%,%CATEGORY_DIM%”)

PROMPT(SELECTINPUT,%SELECTION%,,,”%TIME_DIM%,%ENTITY_DIM%”)

INFO(%SUFFIX1%,DIMENSION:AUDITTRAIL|INPUT|)

INFO(%SUFFIX2%,DIMENSION:AUDITTRAIL|CALC|)

INFO(%SUFFIX3%,DIMENSION:PLANT|NO_PLANT|)

INFO(%SUFFIX4%,DIMENSION:ACCOUNT_P|SALES_QTY|)

INFO(%SUFFIX5%,DIMENSION:VERSION|M3|)

INFO(%SUFFIX6%,DIMENSION:VERSION|M0|)

INFO(%TEMPNO1%,%INCREASENO%)

INFO(%ACTNO%,%INCREASENO%)

TASK(/CPMB/CM_CONVERT,OUTPUTNO,%TEMPNO1%)

TASK(/CPMB/CM_CONVERT,ACT_FILE_NO,%ACTNO%)

TASK(/CPMB/CM_CONVERT,SAPPSET,%APPSET%)

TASK(/CPMB/CM_CONVERT,SAPP,%APP%)

TASK(/CPMB/CM_CONVERT,SELECTION,%SELECTION%%SUFFIX1%%SUFFIX3%%SUFFIX4%%SUFFIX5%)

TASK(/CPMB/CM_CONVERT,TOSELECTION,%SELECTION%%SUFFIX2%%SUFFIX3%%SUFFIX4%%SUFFIX6%)

TASK(/CPMB/CM_CONVERT,CLEARDATA,%CLEARDATA%)

TASK(/CPMB/CLEAR_SOURCE_CUBE,CHECKLCK,%CHECKLCK%)

TASK(/CPMB/CLEAR_SOURCE_CUBE,SELECTION,%SELECTION%%SUFFIX2%%SUFFIX3%%SUFFIX4%%SUFFIX6%)

TASK(/CPMB/APPEND_LOAD,INPUTNO,%TEMPNO1%)

TASK(/CPMB/APPEND_LOAD,ACT_FILE_NO,%ACTNO%)

‘TASK(/CPMB/APPEND_LOAD,RUNLOGIC,%RUNLOGIC%)

‘TASK(/CPMB/APPEND_LOAD,CHECKLCK,%CHECKLCK%)

‘TASK(/CPMB/APPEND_LOAD,CLEARDATA,%CLEARDATA%)

TASK(/CPMB/APPEND_LOAD,RUNLOGIC,1)

TASK(/CPMB/APPEND_LOAD,CHECKLCK,1)

TASK(/CPMB/APPEND_LOAD,CLEARDATA,0)

Explanation of the Code:

  • The prompts have been commented out using ‘. This will ensure that the user is not prompted for these statements. The value highlighted in green will determine whether the statement (running default logic) will be executed or not, without prompting the user, by making suitable modifications in the TASK statement.

For example, in

‘PROMPT(RADIOBUTTON,%RUNLOGIC%,”Select whether to run default logic for stored values after copying”,1,{“Yes”,”No”},{“1″,”0”})

If default logic is to be run without the user being specifically asked regarding the same, instead of using

TASK(/CPMB/APPEND_LOAD,RUNLOGIC,%RUNLOGIC%),

we use ,

TASK(/CPMB/APPEND_LOAD,RUNLOGIC,1)

  • ‘PROMPT(COPYMOVEINPUT,%SELECTION%,%TOSELECTION%,”Select the members to COPY and where to”,”%TIME_DIM%,%ENTITY_DIM%,%CATEGORY_DIM%”) – The Copy From & Copy To screen is commented since the destination is the same as the source. The next PROMPT statement takes care of that requirement

  • The user will be prompted for the Profit Center & Time. The same has been assigned the variable %SELECTION%
  •      The INFO Statements provides the variable names for the dimension members to be hardcoded. The syntax for the INFO statement is

        INFO(%SUFFIX3%,DIMENSION:PLANT|NO_PLANT|)

   INFO(%ANY_VARIABLE_NAME%,DIMENSION:DIMENSION_NAME|DIMENSION_MEMBER|)

  • TASK (CM_CONCERT) basically denotes what is to be sent where:

          TASK(/CPMB/CM_CONVERT,SELECTION,%SELECTION%%SUFFIX1%%SUFFIX3%%SUFFIX4%%SUFFIX5%)

          TASK(/CPMB/CM_CONVERT,TOSELECTION,%SELECTION%%SUFFIX2%%SUFFIX3%%SUFFIX4%%SUFFIX6%)

                                                                                                                                                =

          TASK(/CPMB/CLEAR_SOURCE_CUBE,SELECTION,%SELECTION%%SUFFIX2%%SUFFIX3%%SUFFIX4%%SUFFIX6%)

  • The /CPMB/CM_CONVERT and /CPMB/CLEAR_SOURCE_CUBE statements should have same info variables, because the destination (i.e the TOSELECTION) range will be modified.

Tabulating the above:

SELECTION

TOSELECTION

From

To

%SELECTION%

%SELECTION%

PC & Time selected

PC & Time selected

%SUFFIX1%

%SUFFIX2%

INPUT

CALC

%SUFFIX3%

%SUFFIX3%

NO_PLANT

NO_PLANT

%SUFFIX4%

%SUFFIX4%

SALES_QTY

SALES_QTY

%SUFFIX5%

%SUFFIX6%

M3

M0

  • Click on OK > Save > Save > Refresh & Close.
  • Click on Run Package and now run the package

Instead of the complicated FROM & TO selection options, the user is greeted with a simple drop down for Profit Center and Time.

/wp-content/uploads/2013/01/7_171862.png

The user only needs to select the dimension members for profit center and time, click on Next and then run the package.

The data will be copied as:

Dimension

From

To

Profit Center

PC selected

Same PC

Audittrail

INPUT

CALC

Plant

NO_PLANT

NO_PLANT

Account

SALES_QTY

SALES_QTY

Version

M3

M0

Time

Time Selected

Same Time

All other Dimensions

All

Same

5. Points to Remember:

  • This guide has been written for BPC 10 NW Version. It hasn’t been tested for the MS version or the prior versions of BPC NW. I am assuming it will work equally well for the prior versions of BPC (7,7.5) NW
  • Ideally, if a member of a dimension is going to be hard-coded, it shouldn’t feature as a part of the data manager selection prompt.
  • Perform detailed testing of the data package before releasing to the users
  • A similar exercise can be done for other standard packages provided by SAP like “Clear”, “Move” etc.

Hope this helps.

Special thanks to Vadim Kalinin who assisted me with this at the SCN Forums.

Regards,

Rajesh Balakrishnan

To report this post you need to login first.

44 Comments

You must be Logged on to comment or reply to a post.

  1. Alejandra Castillo

    Thank you Rajesh for the post. It is great for Package Beginners.

    I have a question though. Can you perform an OFFSET from the selected time?

    I am trying to use the standard package of COPY COMMENTS  to copy comments from the previous period to the period selected by the user. The rest of dimensions are fixed.

    Could you please help me with this issue?

    Thank you!

    Regards,

    Alejandra

    (0) 
    1. John Yu

      Hi, is there anyone can help me get the SAP PC 10.0 START. KIT IFRS for NW from service market place? I am an independent consultant and not able to download anything there. My email is john.yu88888@gmail.com. I’d really appreciate if someone can help me out.

      (0) 
    2. Rajesh Balakrishnan Post author

      Hi Alejandra,

      That is an interesting scenario. Unfortunately, I don’t really have a solution for your issue. I believe what you want is the user to select month N, and the package copies the comments from the selected month N to month (N+1).

      In case you or someone else in the forums have come up with a solution for this, do let us know.

      (0) 
  2. Dorthe Schiøller

    Hi,

    I’m trying out the code, but it doesn’t work for me. The problem is, that I would like to “copy from and to” on three dimensions, but it is only the TIME dimension that appears when I run the package. The COPYMOVEINPUT line is like this:

    PROMPT(COPYMOVEINPUT,%SELECTION%,%TOSELECTION%,”Select the members to COPY and where to”,”%TIME_DIM%,%INTERNAL_ORDERS_DIM,%PROFITCENTER_DIM%,”,0)

    Does anyone have an idea of what I’m doing wrong?

    Thanks!

    (0) 
    1. Gustavo Fra Otero

      Hello,

      Please, try this one

      PROMPT(COPYMOVEINPUT,%SELECTION%,%TOSELECTION%,”Select the members to COPY and where to”,”%TIME_DIM%,%INTERNAL_ORDERS,%PROFITCENTER%,”,0)

      Regards

      Gustavo

      (0) 
    2. naresh varma

      The valid Dimension types for special Keyword %{DimType}_DIM% are CATEGORY,ACCOUNT,TIME,ENTITY,INTCO,CURRENCY,DATASRC.For other dimension,please mention the name directly as below.

      PROMPT(COPYMOVEINPUT,%SELECTION%,%TOSELECTION%,”Select the members to COPY and where to”,”PRODUCT_CC,%TIME_DIM%”)

      Regards,

      Naresh

      (0) 
  3. Ana Teresa Carvalho

    Hi,

    We are using BPC 10 NW. We need to run a package link that contains data package from more than one APP from the same APPSET. When we create a Data Packege Link, we can only select a data package at the same APP.

    So, I am trying to:

    a) create Data Packages at SALES APP that execute at EXPENSE APP (for example, I want to copy data in EXPENSE APP).

    b) create Data Package link at SALES APP that call these Data Packages at SALES APP.

    I try to use the code above at SALES APP Data Package, but with %APP% changed to “EXPENSE APP. It is working well when I don’t need to use a dimension that exists only in EXPENSE APP.

    Unfortunately, when I change the code to use a exclusive EXPENSE dimension (EX: COSTCENTER) it doesn’t run anymore.

    Can anybody help me? Is it possible to run scripts from another APP? How can I do this? Is there any way to do this?

    Best regards,

    Ana Teresa

    (0) 
  4. Sean Dyas

    Hi Rajesh,

    I really enjoyed this article.  I am attempting to do something very similar, however it will still use the COPYMOVEINPUT prompt for a couple variables.  The Other Dimensions  will remain the same and always go to the same destination.  When I run the package, It fails saying Source is the same as Target.  Any Ideas? below is the code I changed based on the article.

    PROMPT(COPYMOVEINPUT,%SELECTION%,%TOSELECTION%,”Select the members to COPY and where to”,”%TIME_DIM%,%ENTITY_DIM%,%CATEGORY_DIM%”)

    INFO(%SUFFIX1%,DIMENSION:AUDITTRAIL|CC|)

    INFO(%SUFFIX2%,DIMENSION:RPTCURRENCY|LC|)

    INFO(%SUFFIX3%,DIMENSION:RCOST_CENTER|RCCA_NONE|)

    TASK(/CPMB/CM_CONVERT,SELECTION,%SELECTION%%SUFFIX1%%SUFFIX2%%SUFFIX3%)

    TASK(/CPMB/CM_CONVERT,TOSELECTION,%SELECTION%%SUFFIX1%%SUFFIX2%%SUFFIX3%)

    TASK(/CPMB/CLEAR_SOURCE_CUBE,SELECTION,%SELECTION%%SUFFIX1%%SUFFIX2%%SUFFIX3%)

    (0) 
    1. Vadim Kalinin

      Hi Sean,

      Look here:

      PROMPT(COPYMOVEINPUT,%SELECTION%,%TOSELECTION%,…

      and

      TASK(/CPMB/CM_CONVERT,TOSELECTION,%SELECTION%%SUFFIX1%

      have to be:

      TASK(/CPMB/CM_CONVERT,TOSELECTION,%TOSELECTION%%SUFFIX1%

      Vadim

      (0) 
      1. Dorthe Schiøller

        Hi Vadim,

        I have kind of the same problem as Sean, because the selection in the SUFFIX’es are actually the same – I would like to differ the selection in the PROMT-option instead:

        Capture.JPG

        But I get this error message: Source is the same as the target.

        Below is the package set up, I hope you can help.’

        ‘CHOSE COPY FROM and COPY TO – “only COPY FROM, and then COPY TO will be the same” function is commented out:

        PROMPT(COPYMOVE,%SELECTION%,%TOSELECTION%,”Select the members to COPY and where to”,”%TIME_DIM%,VERSION”)

        ‘PROMPT(SELECT,%SELECTION%,,,”%TIME_DIM%,VERSION”)

        ‘Copy FROM and To – ALL DIMENSIONS NOT MENTIONED WILL BE COPIED FROM “ALL” TO “SAME”

        INFO(%SUFFIX1%,DIMENSION:AUDITTRAIL|INPUT|)

        INFO(%SUFFIX2%,DIMENSION:AUDITTRAIL|INPUT|)

        INFO(%SUFFIX3%,DIMENSION:COMPANYCODE|2000|)

        INFO(%SUFFIX4%,DIMENSION:COMPANYCODE|2000|)

        INFO(%SUFFIX5%,DIMENSION:RPTCURRENCY|LC|)

        INFO(%SUFFIX6%,DIMENSION:RPTCURRENCY|LC|)

        INFO(%TEMPNO1%,%INCREASENO%)

        INFO(%ACTNO%,%INCREASENO%)

        TASK(/CPMB/CM_CONVERT,OUTPUTNO,%TEMPNO1%)

        TASK(/CPMB/CM_CONVERT,ACT_FILE_NO,%ACTNO%)

        TASK(/CPMB/CM_CONVERT,SAPPSET,%APPSET%)

        TASK(/CPMB/CM_CONVERT,SAPP,%APP%)

        ‘Remember to select the correct FROM’s here:

        TASK(/CPMB/CM_CONVERT,SELECTION,%SELECTION%%SUFFIX1%%SUFFIX3%%SUFFIX5%)

        ‘Remember to select the correct TO’s here:

        TASK(/CPMB/CM_CONVERT,TOSELECTION,%SELECTION%%SUFFIX2%%SUFFIX4%%SUFFIX6%)

        TASK(/CPMB/CM_CONVERT,CLEARDATA,%CLEARDATA%)

        TASK(/CPMB/CLEAR_SOURCE_CUBE,CHECKLCK,%CHECKLCK%)

        TASK(/CPMB/CLEAR_SOURCE_CUBE,SELECTION,%SELECTION%%SUFFIX2%%SUFFIX4%%SUFFIX6%)

        TASK(/CPMB/APPEND_LOAD,INPUTNO,%TEMPNO1%)

        TASK(/CPMB/APPEND_LOAD,ACT_FILE_NO,%ACTNO%)

        ‘TASK(/CPMB/APPEND_LOAD,RUNLOGIC,%RUNLOGIC%)

        ‘TASK(/CPMB/APPEND_LOAD,CHECKLCK,%CHECKLCK%)

        ‘TASK(/CPMB/APPEND_LOAD,CLEARDATA,%CLEARDATA%)

        TASK(/CPMB/APPEND_LOAD,RUNLOGIC,0)

        TASK(/CPMB/APPEND_LOAD,CHECKLCK,0)

        TASK(/CPMB/APPEND_LOAD,CLEARDATA,0)

        Thanks,

        Dorthe

        (0) 
        1. Vadim Kalinin

          Hi Dorthe,

          And you are doing the same mistake as Sean:

          TASK(/CPMB/CM_CONVERT,TOSELECTION,%SELECTION%%SUFFIX2%%SUFFIX4%%SUFFIX6%)

          Have to be:

          TASK(/CPMB/CM_CONVERT,TOSELECTION,%TOSELECTION%%SUFFIX2%%SUFFIX4%%SUFFIX6%)

          And strange idea to have %SUFFIX1% same as %SUFFIX2% etc.. Why not to use only 3 suffixes?

          Vadim

          (0) 
          1. Dorthe Schiøller

            Hi Vadim,

            Thank you for your quick and helpful answer! I copied the lines from your example above and then modified it, and as the “TO”s are also missing in the example, I guess that’s why I did not see it.

            I used the same suffixes because otherwise the package failed – but that may also be due to the fact that the “TO”s were missing.

            When I added the “TO” I still had some problems, so I started all over with a new COPY package and added some changes to this one instead, and now it works as supposed to. I can see there are quite some differences to the original COPY package and yours, for instance:

            • you have removed all with “%SELECTION_KEYDATE%”, could you tell med why? I had to remove it too to get the package to work…
            • You have replaced “TASK(/CPMB/APPEND_LOAD,CLEARDATA,0)” with “TASK(/CPMB/APPEND_LOAD,TARGETMODE,0)”. For me, I think this was causing some unwanted clearing, but I’m not sure if this has other consequences?
            • Also, the other script I used seemed to append the records instead of replacing records…

            Thanks,
            Dorthe

            If anyone have faced the same problem as me, here’s a copy of the setup which works for me:

            ‘CHOSEN: “Copy records with match key”, Do not run default logic for stored values after copying”,”No, do not check work status settings”

            ‘PROMPT(RADIOBUTTON,%TARGETMODE%,”Handling of records”,0,{“Copy records with match key”,”Copy by replacing data in same data region of Entity, Category, Time and Audit ID”},{“0″,”2”})

            ‘PROMPT(RADIOBUTTON,%RUNLOGIC%,”Select whether to run default logic for stored values after copying”,0,{“Yes”,”No”},{“1″,”0”})

            ‘PROMPT(RADIOBUTTON,%CHECKLCK%,”Select whether to check work status settings when importing data.”,1,{“Yes, check for work status settings before importing”,”No, do not check work status settings”},{“1″,”0”})

            ‘CHOSE COPY FROM and COPY TO – (“only COPY FROM, and then COPY TO will be the same” function is commented out):

            PROMPT(COPYMOVE,%SELECTION%,%TOSELECTION%,”Select the members to COPY and where to”,”%TIME_DIM%,VERSION”)

            ‘PROMPT(SELECT,%SELECTION%,,,”%TIME_DIM%,VERSION”)

            ‘Copy FROM and To – ALL DIMENSIONS NOT MENTIONED WILL BE COPIED FROM “ALL” TO “SAME”

            INFO(%SUFFIX1%,DIMENSION:AUDITTRAIL|INPUT|)

            INFO(%SUFFIX2%,DIMENSION:AUDITTRAIL|INPUT|)

            INFO(%SUFFIX3%,DIMENSION:COMPANYCODE|2000|)

            INFO(%SUFFIX4%,DIMENSION:COMPANYCODE|2000|)

            INFO(%SUFFIX5%,DIMENSION:RPTCURRENCY|LC|)

            INFO(%SUFFIX6%,DIMENSION:RPTCURRENCY|LC|)

            INFO(%TEMPNO1%,%INCREASENO%)

            INFO(%ACTNO%,%INCREASENO%)

            TASK(/CPMB/CM_CONVERT,OUTPUTNO,%TEMPNO1%)

            TASK(/CPMB/CM_CONVERT,ACT_FILE_NO,%ACTNO%)

            TASK(/CPMB/CM_CONVERT,SAPPSET,%APPSET%)

            TASK(/CPMB/CM_CONVERT,SAPP,%APP%)

            ‘Remember to select the correct FROM’s here:

            TASK(/CPMB/CM_CONVERT,SELECTION,%SELECTION%%SUFFIX1%%SUFFIX3%%SUFFIX5%)

            ‘Remember to select the correct TO’s here:

            TASK(/CPMB/CM_CONVERT,TOSELECTION,%TOSELECTION%%SUFFIX2%%SUFFIX4%%SUFFIX6%)

            TASK(/CPMB/CLEAR_SOURCE_CUBE,CHECKLCK,%CHECKLCK%)

            ‘Remember to select the correct TO’s here:

            TASK(/CPMB/CLEAR_SOURCE_CUBE,SELECTION,%TOSELECTION%%SUFFIX2%%SUFFIX4%%SUFFIX6%)

            TASK(/CPMB/CLEAR_SOURCE_CUBE,DUMPLOADMODE,3)

            TASK(/CPMB/APPEND_LOAD,PREPROCESSMODE,0)

            ‘TASK(/CPMB/APPEND_LOAD,TARGETMODE,%TARGETMODE%)

            TASK(/CPMB/APPEND_LOAD,TARGETMODE,0)

            TASK(/CPMB/APPEND_LOAD,INPUTNO,%TEMPNO1%)

            TASK(/CPMB/APPEND_LOAD,ACT_FILE_NO,%ACTNO%)

            ‘TASK(/CPMB/APPEND_LOAD,RUNLOGIC,%RUNLOGIC%)

            TASK(/CPMB/APPEND_LOAD,RUNLOGIC,0)

            ‘TASK(/CPMB/APPEND_LOAD,CHECKLCK,%CHECKLCK%)

            TASK(/CPMB/APPEND_LOAD,CHECKLCK,0)

            (0) 
  5. Mayank Kumar

    Hi All,

    I have a requirement that I need to copy data from one month to multiple different months and also from one category (actuals) to forecast and outlook.

    Both, Source Time and Source Category should be propmted and user should have flexibilty to select it.

    This is really urgent for me, people please help me modify the above code according to my own requirement or suggest most suitable solution for the problem.

    (0) 
  6. Arnold Warhonowicz

    Hi,

    great HTG. I have one question though, for the dimensions you have hardcoded, you have selected individual elements only. Is it possible to select several say accounts? I need to copy a specific range of accounts (profit and loss only).

    Also, can I mix a prompt for copymoveinput (where the user has to select source and target) and selectinput (where the user only has to select one member)?

    Thanks,

    Arnold

    (0) 
    1. Vadim Kalinin

      Hi Arnold,

      It’s not possible to restrict selection to a subset of members.

      And yes, you can mix copymoveinput with selectinput.

      Vadim

      (0) 
  7. Ramanuj Majumdar

    Hi Rajesh.

    Thank you for the nice draft , it’s very helpful for the beginers. I need a help . I am tryng to create a data manager package for master data export using process chain /CPMB/EXPORT_MD_TO_FILE .

    I am not sure what to do next , there are 3 tasks which have some script logic already written for each task in ‘Advance’ tab .The script logic in all thre task looks same as shown at the end . Not sure what to update there so i kept it unchnaged. I have not entered any transformation file or output file in the logic .

    When I n the package  in prompt i selected the dimention ‘ENTITY’ and ‘a member of it , when enter NEXT , the tdefault ransformation file is populated as  \ROOT\WEBFOLDERS\COLPAL\FINANCE\DATAMANAGER\TRANSFORMATIONFILES\Import.xls

    I have chnage the file name , enter NEXT

    Next screen coming as ‘Outout file’  I tried to type a file name but it won’t allow me …

    now my question should i create a transformation file or output beforehand and assign in script logic in advance tab for each task .. or what should be done so that I can export the master data form dimension from one application and export in other application .

    Please guide.

    Thanks and Regards,

    Ramanuj

    —————————————————-

    (DIMENSIONMEMBER, %DIMENSIONMEMBERS%, “Please select dimension”, “Please select members”, %DIMS%)


    (TRANSFORMATION,%TRANSFORMATION%,”Transformation file:”,,,Import.xls)


    (OUTFILE,,”Please enter an output file”,Data files (*.txt)|*.txt|All files(*.*)|*.*)


    (RADIOBUTTON,%ADDITIONINFO%,”Add other information(Environment,Model,User,Time)?”,1,{“Yes”,”No”},{“1″,”0”})


    (%TEMPNO1%,%INCREASENO%)


    (%TEMPNO2%,%INCREASENO%)


    (/CPMB/APPL_MD_SOURCE,SELECTION,%DIMENSIONMEMBERS%)


    (/CPMB/APPL_MD_SOURCE,OUTPUTNO,%TEMPNO1%)


    (/CPMB/EXPORT_MD_CONVERT,INPUTNO,%TEMPNO1%)


    (/CPMB/EXPORT_MD_CONVERT,TRANSFORMATIONFILEPATH,%TRANSFORMATION%)


    (/CPMB/EXPORT_MD_CONVERT,SUSER,%USER%)


    (/CPMB/EXPORT_MD_CONVERT,SAPPSET,%APPSET%)


    (/CPMB/EXPORT_MD_CONVERT,SAPP,%APP%)


    (/CPMB/EXPORT_MD_CONVERT,OUTPUTNO,%TEMPNO2%)


    (/CPMB/FILE_TARGET,INPUTNO,%TEMPNO2%)


    (/CPMB/FILE_TARGET,FULLFILENAME,%FILE%))


    (/CPMB/FILE_TARGET,ADDITIONALINFO,%ADDITIONINFO%))

    (0) 
    1. Dan Yao

      Hi Ramanuj,

      To export masterdata to a flat file, you will have to do: 1) select dimension; 2) select the msaterdataa you want to export; 3) select a transformation file which can map your source (selected dimension strucuture) to your expected data strucutre; 4) select a output folder and enter the file name.

      You of course can export it and then import to another different application if using proper mapping defined by transformation/conversion.

      Do you meet any error information?

      Thanks,

      Yolanda

      (0) 
      1. Ramanuj Majumdar

        Hi Yolanda,

        Thanks for your prompt reply.

        Actually I managed to create a data manager package master data export from dimension , I am able to run it succesfully and the package log showing it as ‘succes’ with 465 count

        But not sure about the Import the master data in diferent application . Actually the scenario is we have two application one is production and other is test , the master data is chnaged only in production appication , but we want to keep the test application also updated with the new master data .

        So i have created a import master data package with process chain /CPMB/IMPORT_MASTER

        But when running the import package the ‘Inport file ‘ option i do nto see the ‘Output file’ i used during export .    

        So how i can pull the output file ( exported) in the test application? . may be I am missing any steps ?

        Please guide .

        Regards,

        Ramanuj

        (0) 
        1. Dan Yao

          Hi Ramanuj,

          By export to file, you should identify the desitnation which is the target output file.

          By importing masterdata into an application, surely, you need to prepare:

          – the flat file you just exported as the source data file, which is the input file.

          – transformation/conversion file

          -Target dimesnion

          -Decide the write mode

          and in your case, you should keep all other settings same with the product application, so you should be able to import the masterdata very easily. Just you need to take care about the opiton for write mode which will decide if the existing hierarchy in target dimension will be cleared and replaced by a new one from your import file or the hierarchy will be only updated.

          Thanks,

          Yolanda

          (0) 
          1. Ramanuj Majumdar

            Hi Yolanda,

            When I export i selected the out put file nd runthe package but I think the Master dat was exported in the curreny application connection.

            When i log on to the test application and run import package , I can’t see the output file when browse for  ‘Import file’ . since it is a different application / connection

            So is there any step to do after I export the file. to download the file in  desktop and uplaod to different application and then run the Import package.

            Please advice…

            Also if you have any document to show me the steps form how to create a data manager package for export of master data and import wil be greatful.

            Thanks.

            Ramanuj

            (0) 
  8. Christophe Lecluyse

    Hi, we had a similar approach in the 7.5 NW version in which we have two copymoveinput statements to ‘force’ the business user to make a selection for the dimension mentioned in the first copymoveinput statement. In the 10 NW version, this doesn’t work anymore. Any ideas? 

    (0) 
  9. Srik G

    Nice document! I tried using this in a scenario that I have and I’m having trouble.

    In your example, you use a PROMPT with a %SELECTION% and then you have the INFO statements to pass “hardcoded” members into the variable

    PROMPT(SELECTINPUT,%SELECTION%,,,”%TIME_DIM%,%ENTITY_DIM%”)

    INFO(%SUFFIX1%,DIMENSION:AUDITTRAIL|INPUT|)

    ;

    ;

    TASK(/CPMB/CM_CONVERT,SELECTION,%SELECTION%%SUFFIX1%%SUFFIX3%%SUFFIX4%%SUFFIX5%)

    However, I dont want to give the user a PROMPT, yet be able to send a dimension and a member to the SELECTION

    For eg. I want to send a value in this manner:

     

    INFO(%VER_MBR%,DIMENSION:VERSION|BUDGET|)

    ;

    ;

    TASK(/CPMB/CM_CONVERT,SELECTION,%SELECTION%)

    But, when I use this ststement, it complains that the SELECTION ststement is Invalid

    Is there a way to pass a fixed dimension member into a %SELECTION% without having to use a PROMPT?

    Your inputs would be much appreciated.

    thanks

    Srik

    (0) 
    1. Christophe Lecluyse

      Hi Srik,

      I’m not sure whether you can omit the Prompt completely as the Selection parameter has a specific ‘prefix’ part when executed.

      In your case, it is normal that there is an error, as you have never defined the %SELECTION%. Normally it gets it’s value through the prompt execution for the dimension member selection, which you now left out.

      Secondly, you never used your %VER_MBR%..Following the above discussion you’d need something like

      TASK(/CPMB/CM_CONVERT,SELECTION,%SELECTION%%VER_MBR%)

      If you want to leave the %SELECTION% out to create something like

      TASK(/CPMB/CM_CONVERT,SELECTION,%VER_MBR%)

      you will need to control for the ‘prefix’ part in the selection statement.

      Verify a normal package execution to see what string is required.

      Kind regards,

      christophe

      (0) 
    2. Vadim Kalinin

      Hi Srik,

      If you don’t want to have prompt at all then use prefix:

      INFO(%PREFIX%,@@@SAVE@@@@@@EXPAND@@@|)

      And then:

      INFO(%VER_MBR%,DIMENSION:VERSION|BUDGET|)

      TASK(/CPMB/CM_CONVERT,SELECTION,%PREFIX%%VER_MBR%)

      Vadim

      (0) 
      1. Srik G

        Thanks Cristophe and Vadim!

        It worked like a song. 🙂

        @Cristophe: I didnt need the PROMPT. Worked without it. And the yeah the text I wrote earlier had a typo… I was trying with TASK(/CPMB/CM_CONVERT,SELECTION,%VER_MBR%) earlier.

        @Vadim: Thanks very much for the script. It worked perfectly. I am however not comfortable not knowing exactly what the %PREFIX% is doing.  What does the value <  @@@SAVE@@@@@@EXPAND@@@|)  > mean really? Do you mind explaining or pointing me to a source that gives more details about this?

        thanks again both

        Srik

        (0) 
  10. Marijn Bax

    Thank you very much. This is very useful and helped me a lot.

    One additional question that should help prevent from making even less user mistakes:

    My package for making a snapshot has both source and destination selections for Time and Category

    I would like to source CATEGORY to always be ACTUAL but destination select-able

    I would like the time destination TIME to always be <SAME> but source select-able

    Is this in any way possible?

    Thanks Marijn

    (0) 
  11. David Ortiz

    Hi Vadim, I just have a small question, in my case i have 3 different categories that should be added and then copied to a fourth category. All four categories are hardcoded.

    Can you give me a hand with that please?

    Thanks,
    David

    (0) 

Leave a Reply