Forum Discussion

Sergey's avatar
Sergey
Contributor III
2 years ago

Data Buffer for reading another Scenario

Hello !

I would like to use a data buffer that would read data from another Scenario than the one set in my data management job, is it possible ?

Right now, I have a simple formula that should retrieve data from scenario S#Simul while I'm running the business rule from a data management which is set on S#Actual, but it returns nothing :

 

 Dim dbr_keys As DataBuffer = api.Data.GetDataBufferusingformula("RemoveZeros(FilterMembers(S#Simul:V#Periodic:AEAccount1:F#None:I#None:O#Forms:U2#None:U3#US:U4#None:U5#None:U7#HO:U8#None:F#None, U6#C4.Base))",,False)
dbr_keys.LogDataBuffer(api, "dbr_keys",100)

 

Is there a specific data buffer script to use in order to run on another data unit ?

 

Regards,

  • Hi Sergey,

    While running a Business Rule (BR) from a Data Management (DM) Step, you can retrieve data from other data units apart from what you have mentioned in the DM Step. However, please note that you can only set data to the data units specifically mentioned in the DM Step.

    Thanks, Omkareshwar

    Archetype Consulting

  • i don't see con dim mentioned in your buffer script, what if you add C#Local to your script. What I've always done is to retrieve the cell that you are expecting in the buffer, get the pov of that cell, use C#local, remove parent, cube dimensions and use that in the buffer. 

  • It looks like the account dimension token is missing the # (it has E instead so maybe just a typo).

    • Sergey's avatar
      Sergey
      Contributor III

      Yes that's a typo as I changed the account code to keep privacy 🙂

      • Big_Rick_CPM's avatar
        Big_Rick_CPM
        Contributor

        Makes sense... just make sure your actual data buffer contains the account dimension token with a valid member when actually running. You also have the flow dimension in the member script twice it appears.

  • SxD's avatar
    SxD
    New Contributor III

    Any luck with this? Running into a situation where I would like to do this as well, especially since I have extensibility enabled across different scenario types. 

    • Sergey's avatar
      Sergey
      Contributor III

      I worked a little bit more on the data buffer and indeed it can retrieve values from anywhere in the application, but it will write only on the current data unit.

      Something like this will work for any data (ie even if the current data unit is for budget scenario, Entity B ...) :

      Dim dbr_driver As DataBuffer = api.Data.GetDataBufferUsingFormula("removezeros(E#A:S#Actual:A#MyAccount)", DataApiScriptMethodType.Calculate, False, destinationinfo)