Skip to Content

In this article I shall be describing how to configure the BODS for file access so that multiple teams can work simultaneously.

In this particular situation there were 2 different projects/releases being developed simultaneously: REL1 and REL2. For each of these releases, there are 2 different teams were involved: the development team and the testing team. These projects have a number of tab delimited flat files as input. After cleansing, transformation and validation in BODS, the output is again written to flat files so that they can be loaded to SAP system by LSMW transaction codes. We need to maintain different paths for Input files and output files based on the release, and the usage (DEV or TEST).

This can be achieved by maintaining the separate paths to be used by the different teams in the BOBJ server and then maintain reference to these paths via the database. As is shown in the image below, we have created a table (TEST_BOBJ_PARAMETERS) which stores the file path configured in the BODS server in the columns OBJ_TEXT.  The columns RELEASE, CONVERSION and OBJ_NAME can be used as “key” to determine the required folder path.

Image for table TEST_BOBJ_PARAMETERS

PARAM_ORACLE_DATA.jpg


For example, if I am part of the development team and I need to determine the input  and output folder paths for Release 1 then I shall be using the below key values:

For Input folder: RELEASE = REL1, CONVERSION=DEV, OBJ_NAME=INPUT_FOLDER

For Output folder: RELEASE = REL1, CONVERSION=DEV, OBJ_NAME=OUTPUT_FOLDER

In order to ensure uniform usage of these settings, the following global variables need to be created in every job:

JOB_PARAM_DEFN.jpg


A initializing script can then set the input and output folder paths dependent on the key values . This script will contain a sql query to the table TEST_BOBJ_PARAMETERS and will fetch the file path based on keys set in global variables.

/wp-content/uploads/2012/04/script_2_94362.jpg


In actual case it is sufficient to set the folders once only with the correct set of KET values. For demo purpose I have run the job after setting the KEY values for different combinations of RELEASE and CONVERSION.

PRINT_JOB.jpg

To report this post you need to login first.

6 Comments

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

  1. Narayanan Kuppuraj

    You can easily accomplish this need with the use of Substitution variable. It will save lot of scripting work and no need to maintain the table with folder paths and jobs with the script.. For example, create $$base_path substitution variable in developer repositories and Testing/QA repository. 

    Dev value :$$base_path =bods/dataservices/SAP_Conversion/DEV_1

    QA value :$$base_path =bods/dataservices/SAP_Conversion/REL1_1

    (0) 
    1. Debapriya Mandal Post author

      Thanks Narayanan for your suggestion.

      The substitution variable will be created at repository level? These can be local repository?  For eg: If each developer runs the code from their own local repository.. then where to set this value?

      (0) 
      1. Suneer Mehmood

        A substitution parameter can be set inside Designer at Tools > Substitution Parameter Configurations. You can create new Substitution variables here and provide values. Yes, they are maintained at Local Repository level.

        Regards,
        Suneer

        (0) 
  2. D K

    Substitution varables are not there in 11.7 verstion …. So in that 11.7 verstion .   This concept is usfull.

    Usefull  post. 

    (0) 

Leave a Reply