7 Replies Latest reply on Nov 16, 2010 5:58 PM by TonyScalese

    Clear script

    806463
      I have currently an issue with FDM adapter.

      Essbase adapter is loading data (with replace mode) where FDM fires a predefined clear script which clears certain intersection before loading data. There are some problem with the clear script that FDM fires.
      Say we are loading data for Dec 2010 for scenario = Forecast and for Entity = Entity1. Then the clear script that is created by FDM in the backend is


      ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                               If strEntity <> strCurEnt Or bolFirstLine = RES.FDMTrue Then
                                    '*** CALC SCRIPT ***
                                         'NOTE: CALC SCRIPT CAN BE MODIFIED For Each CUSTOMER
                                         'Clear the intersection of (Category, Period, Entity)
                                         strClear = "Fix(""" & strTCat & """,@Idescendants(""" & strEntity & """))" & vbcrlf
                                         strClear = strClear & "CLEARDATA """ & strTPer(0) & """;" & vbcrlf
                                         strClear = strClear & "EndFix"
                                    '***************************************************************************
      ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////End of adapter source code/////////////////////////////////

      The above script doesn't contain year which means it clears data for not only 2010 but also all years in the application. It also doesn't include version account for example. Which results clearing data for all version accounts from the application. This is not appropriate.

      There are three options to handle the situation:

      1. Change the adapter code so that it takes other dimension combination in dynamic clear script. But the disadvantage with this option is the adapter will no longer be supported by Oracle.
      2. Create some event script that is executed just before FDM Export/Load process. But the code may be very complex (compared to writing clear script in Essbase)
      3. Instead of FDM use ODI for data loading that can
           Run essbase preload clear script
           Load the data to Essbase
           Run essbase post load script to aggregate
           Provide all necesary logs and error files created.

      What do you recommand ?
        • 1. Re: Clear script
          TonyScalese
          The adaptor will be supported. If you read the adaptor and the KM article in regards to this, you will see that you are able to change this section of the adaptor and still be supported by Oracle.
          1 person found this helpful
          • 2. Re: Clear script
            WPaffhausen
            Hello,

            The adapter will be supported ... but the customization and the affects that it can have on your environment will not be.

            Thank you,
            1 person found this helpful
            • 3. Re: Clear script
              JeffJon
              See Document id 1101084.1 on My Oracle Support.
              1 person found this helpful
              • 4. Re: Clear script
                806463
                I decided to modify the script by adding the year. You can see the modification I found in the forum and apply (it works fine).

                strTargYear = API.POVMgr.fPeriodKey(CStr(strPer(0))).strTargetYear
                '*** CALC SCRIPT ***
                'NOTE: CALC SCRIPT CAN BE MODIFIED For Each CUSTOMER
                'Clear the intersection of (Category, Period, Entity)
                strClear = "Fix(""" & strTargYear & """,""" & strTCat & """,@Idescendants(""" & strCurEnt & """))" & vbcrlf
                strClear = strClear & "CLEARDATA """ & strTper(0) & """;" & vbcrlf
                strClear = strClear & "EndFix"

                Now i am wondering how i could add the version ? For exemple here my version is in UD4
                • 5. Re: Clear script
                  TonyScalese
                  The answer to this question is very design specific. The person answering would need to understand how your application is handling version from a mapping/load rule perspective for that dimension. Any answer you get here could end up being incomplete or not taking into account the entire integration.

                  I would suggest working with a partner to work through this.
                  1 person found this helpful
                  • 6. Re: Clear script
                    806463
                    I though i could use this function for exemple :

                    Function fExpTRx(ByVal strLoc As String, ByVal strDim As String) As String

                    Description:
                    Export mapping rules for the specified location and dimension from a delimited text file (In Hyperion LedgerLink TRA / TRN format).

                    and do something like that :

                    dim strVersion
                    ......
                                                  strTargYear = API.POVMgr.fPeriodKey(CStr(strPer(0))).strTargetYear
                                                  strVersion= API.IntBlockMgr.InterfaceMgr.fExpTRx("SAMPLE", "UD4")
                                                  '*** CALC SCRIPT ***
                                                       'NOTE: CALC SCRIPT CAN BE MODIFIED For Each CUSTOMER
                                                       'Clear the intersection of (Year, Version, Category, Period, Entity)
                                                       strClear = "Fix(""" & strTargYear & """,""" & strVersion & """,""" & strTCat & """,@Idescendants(""" & strCurEnt & """))" & vbcrlf
                                                       strClear = strClear & "CLEARDATA """ & strTPer(0) & """;" & vbcrlf
                                                       strClear = strClear & "EndFix"
                                                  '***************************************************************************

                    but actually API.IntBlockMgr.InterfaceMgr.fExpTRx is not the good function to retrive the correct value of UD4.

                    Do you understand my point ? and do you think i can find the function in need to retrive Version value ?
                    • 7. Re: Clear script
                      TonyScalese
                      The function you used will export the mapping table - not the dataset.

                      Be very careful with what you are trying to do. You are essentially looking to clear the mapped version of the recordset. If you clear each version without the appropriate FIX...ENDFIX statements, you will be clearing data you likely didn't intend to.

                      The function you are likely looking for is fTrialBalanceConverted.
                      1 person found this helpful