Forum Discussion

TechTitan's avatar
TechTitan
New Contributor II
8 days ago

api.data.clearcalculateddata vs. clearing data using databuffer

Hi OS Community,

Hope you are doing well!

Out of curiosity, I wanted to check which approach is more efficient for clearing data: using api.data.clearcalculateddata or clearing combinations using databuffer?
Few examples would be really helpful.

Thank you!

  • MarcusH's avatar
    MarcusH
    Valued Contributor

    I always use api.Data.ClearCalculatedData. I don't think I could write a BR using a data buffer that is more efficient than the built in method. Here are some examples:

    ' clearCalculatedData, clearTranslatedData, clearConsolidatedData, clearDurableCalculatedData, accountFilter, flowFilter, originFilter, icFilter, ud1Filter, ud2Filter, ud3Filter, ud4Filter, ud5Filter, ud6Filter, ud7Filter, ud8Filter
    api.Data.ClearCalculatedData(True,True,True,True)
    api.Data.ClearCalculatedData(True, False, False, True, ,,, , , ,"U3#CURR_DETAIL.Base" , , ,"U6#ACQ_New_ACQ, U6#DISP_New_DISP",,)
    api.Data.ClearCalculatedData(True, True, True, True,"A#Root.base.where(AccountType = Asset or AccountType = Liability)" , "F#CB_BSLOAD", "O#Forms", , , , , , , "U6#UD6_TECH.base",,) 
    api.Data.ClearCalculatedData(True,True,True,True,"A#" & String.Join(",A#",plugAccountList.Distinct()),,,,,,,,,"U6#Total_CF.Base")
    api.Data.ClearCalculatedData(True, True, False, True, "A#Root.base.where(AccountType = Asset or AccountType = Liability).where(Text8 = '')", "F#root.base.where(Name Contains _FX_CALC_BASE)" ,)
    api.Data.ClearCalculatedData(True, True, True ,True,"A#" & CTA,"F#EQUITY_CONSTRAINT.Base.remove(OB_CALC,EQ_OT_NEW_ACQ_CONSO)",,,,,,,,"U6#Root.Base.remove(NCI_Adj_Calc,ACQ_Adj_Override,ACQ_Adj_Inv_Calc,ACQ_NCI_Adj_Override,DISP_NEW_DISP,DISP_NEW_DISP_CALC)")