Periodic application, conversion on ytd value

Hi all,
I have SAP BPC 7.5.108 MS, I need to do a periodic application,but I would like to do a conversion applied on YTD value.
Do you know if it's possible in the business rules?
I know that it's possible, in the Ytd applciation, to apply the conversion on periodic value, would be very nice to do also the conversion applied on YTD values.
Thanks
Ciao
Chiara

Hi Chiara,
this is not possible by using the standard rules. However you should be able to achieve it by using an additional element in your flow dimension on which you (with a script) calculate the YTD value. Your conversion rule could then convert this amount and write the result onto the original flow.
BR,
Arnold

Similar Messages

  • (Strange) Currency Conversion on YTD Application

    Hi experts
    I found a wrong currency conversion on YTD Application and my customer also has the same problem.
    Here is the example:
    Rate Application
    2008.JAN 1 EUR = 1.2 USD
    2008.FEB 1 EUR  = 1.2 USD
    2008.MAR 1 EUR  = 1.4 USD
    Finance Application (a YTD application)
    CV Time: YTD
    2008.JAN 10 EUR
    2008.FEB 20 EUR
    2008.MAR 30 EUR
    CV Time: Periodic
    2008.JAN 10 EUR
    2008.FEB 10 EUR
    2008.MAR 10 EUR
    For the correct currency conversion (to USD), I should get
    2008.JAN 12 USD (10x1.2)
    2008.FEB 12 USD (10x1.2)
    2008.MAR 14 USD (10x1.4)
    2008.Q1  38 USD
    But the result is
    2008.JAN 12 USD (10x1.2)
    2008.FEB 12 USD (10x1.2)
    2008.MAR <wrong> USD (10x???)
    Is it a bug or my wrong configuration ?
    ps. you can try it
    Regards,
    Halomoan
    Edited by: Halomoan Zhou on Jun 20, 2008 8:54 AM

    What you see is normal behaviour:
    when you do a ytd currency conversion, the YTD LC amount will be translated against the entered rates.
    If you then look to periodic data, the ytd previous period amount will be deducted from the ytd current perid amount by OLAP.
    This then means that you cannot calculate the periodic LC amounts against the entered rates.
    If this wasn't the case, the calculation below will not work on converted numbers:
    YTD februari + periodic march = YTD march
    I think that the calculation above must always work. BUT I know of one customer that didn't wanted this behaviour, they wanted that the periodic values AND the ytd values calculated against the same entered rate. There are several ways to achieve this; we added a member in the subtables dimensions to store the difference and then adjusted the measures calculation so that this difference was picked up by OLAP when selecting the periodic measure.
    AGAIN: I didn't like this because the calculation of "YTD februari + periodic march = YTD march" is in my opinion a holy one.... But the customer is always right
    Hope this helps,
    Alwin

  • Custom formula YTD for PERIODIC Application - BPC 7.5 NW

    Dear all,
    The customer has 2 time hierarchies, fiscal year and calendar year. He would like to change the measures formulas to fix their fiscal year specification, their fiscal year begins in April instead of January. Some entities of the customer will input data based on fiscal year and someone based on calendar year.
    Their application is a PERIODIC application. I cannot use the how to guide 'How to Create Customer measure formulas for Fiscal Periodic, QTD and YTD' because it's only for YTD application.
    Can someone help me to understand how to modify the YTD formula for the entities that inputs based on the PARENTH2 (fiscal year hierarchy), please?
    I will send you the code delivered from SAP for YTD measure formula for PERIODIC Application
    MEMBER [MEASURES].[YTD] AS 'IIF([%KFSPL%].CURRENTMEMBER.PROPERTIES("2/CPMB/ACCTYPE")="INC",SUM(PERIODSTODATE([%PERIODS%].[LEVEL00], [%PERIODS%].CURRENTMEMBER),-[MEASURES].[/CPMB/SDATA]),IIF([%KFSPL%].CURRENTMEMBER.PROPERTIES("2/CPMB/ACCTYPE")="EXP",SUM(PERIODSTODATE([%PERIODS%].[LEVEL00], [%PERIODS%].CURRENTMEMBER),[MEASURES].[/CPMB/SDATA]),IIF([%KFSPL%].CURRENTMEMBER.PROPERTIES("2/CPMB/ACCTYPE")="AST",([MEASURES].[/CPMB/SDATA], CLOSINGPERIOD([%PERIODS%].[LEVEL02])),IIF([%KFSPL%].CURRENTMEMBER.PROPERTIES("2/CPMB/ACCTYPE")="LEQ",-([MEASURES].[/CPMB/SDATA], CLOSINGPERIOD([%PERIODS%].[LEVEL02])),-[MEASURES].[/CPMB/SDATA]))))';SOLVE_ORDER=3
    Thanks
    Regards
    Rosa Alfonso

    Hi Chandra,
    Few things that you can check -
    1. What is your fiscal canlendar period?  April to March or Jan to Dec?
    2. In Time Dimension, MONTHNUM whould be '1' for the month from which the fiscal year starts
    3. In Time Dimension, ISBEGINING whould be '1' for the month from which the fiscal year starts
    Please do these changes, process the dimension, refresh the dimension members in BPC-Excel and then see if you get proper values.
    Hope this helps.
    If problem still persists, please copy-paste the YTD formula from backend ... will check and let you know.  Also what is the version, SP and patch level that you are working on?
    Regards,
    Rashmi

  • YTD Value in Period-Input System Structure

    Dear SAP Experts:
          I am using BPC 7.5 NW SP10 now, and now my application is set Periodc-input.
    I would like to transport YTD Value in Net Income to BS account, for example:
    Month Net Income(Periodic)
    Jan       100
    Feb       200
    Desired result:
    Month  CY NI in BS(Periodic)
    Jan       100
    Feb       300
    I tried to use script to take the YTD value in account net income 300 in Feb to transport into
    the account CY NI in BS, but it doesn't work
    Does anyone have advise on this?
    BRs,
    Fred Cheng

    Dear All:
            I would like to transport the YTD value in C_ACCT member 8200 into Periodic value in C_ACCT 33530001. At the same time, this value should be put into some specific dimension meber.
    Here is my script:
    *SELECT(%RPTCUR_2%, ID, RPTCURRENCY, CURRENCY_TYPE='R')
    *XDIM_MEMBERSET C_ACCT= BAS (8200)
    *XDIM_MEMBERSET GROUPS = NON_GROUP
    *XDIM_MEMBERSET RPTCURRENCY= %RPTCUR_2%
    *XDIM_MEMBERSET FLOW= F99
    //*XDIM_MEMBERSET MEASURES= YTD
    *WHEN C_ACCT.ACCTYPE
    *IS "INC"
    *REC(FACTOR=-1, C_ACCT=33530001,EXP_TYPE=9,FLOW=R20)
    *REC(FACTOR=-1, C_ACCT=33530001,EXP_TYPE=9,FLOW=F99)
    *ENDWHEN
    *COMMIT

  • YTD view in Periodic application

    Hi Experts,
    I got an answer from SAP Korea, the YTD is only available for quarter in BPC 7.5 NW in periodic application.
    IS IT TRUE???
    If it is just for BS, sounds OK since usually we get BS quarterly, but for PL, it should support monthly YTD view. Could you please copy and paste the measure(MDX) that BPC 7.5 NW uses?
    Regards,
    YH Seo

    Hi,
    May be the message didnt come up properly or was intended for something else. You can definitely view the YTD values for months also. You can see the measures in the SAP Program "UJA_MAINTAIN_MEASURE_FORMULA".
    There is a how to guide on SDN - "Create Customer measure formulas for Fiscal Periodic, QTD and YTD"
    Hope this helps.

  • How to allocate YTD values in a PERIODIC member

    Hello,
    I'm trying to allocate values of a member that has INC as ACCTYPE, in another member that has LEQ as ACCTYPE. The problem is that I need to save the YTD values of the INC type in the PERIODIC values of the LEQ type.
    Someone knows how to do that? I've try this, but it doesn't work,
    *XDIM_MEMBERSET MEASURES=YTD
    *XDIM_MEMBERSET CCOSTO=BAS(MI01)
    *RUNALLOCATION
    *FACTOR=1
    *DIM CCOSTO WHAT= BAS(MI01); WHERE= SIN_CECO;
    *DIM P_ACCT WHAT = BAS(UTI_LIB_DIS); WHERE=3.3.1;
    *DIM P_DATASRC WHAT=BAS(ALL_DATASRC);WHERE=INPUT
    *DIM PRODUCTO WHAT=BAS(ALL_PRO);WHERE=SIN_PRO
    *DIM CONCEPTO WHAT= BAS(EST_FIN); WHERE= SIN_CONCEPTO;
    *ENDALLOCATION
    The result is the same periodic values even if I've selected the member YTD as you can see in the first command line.
    Any ideas?
    Thanks & Regards
    SU

    Hello SU,
    I don't think you can *XDIM_MEMBERSET the YTD Measure (similar to BPC MS functionality).
    One possible approach is to accumulate the YTD values one month at a time. You may need to test this to confirm this works.
    i..e.
    Use your existing allocation logic but add the following line for your first month (i.e. 2011.JAN)
    *DIM TIME WHAT=2011.JAN WHERE=2011.JAN
    Then add another allocation for your second month (i.e. 2011.FEB)
    *DIM TIME WHAT=2011.JAN,2011.FEB WHERE=2011.FEB
    Then add another allocation for your third month (i.e. 2011.MAR)
    *DIM TIME WHAT=2011.JAN,2011.FEB,2011.MAR WHERE=2011.MAR
    Let us know how this works out for you.
    Thanks,
    John

  • Calculate YTD value

    Hi Guru's
    We have requirement ,  have a YTD application  loading data every period to periodic member of a datasource dimension for the accounts.We need to copy those data to YTD  member of a datasource dimension to get the ytd values for the accounts .How can we do it in the script logic.
    Account  time  entity periodic 100
    Account  time  entity periodic 100
    to
    Account  time  entity YTD 100
    Account  time  entity YTD 200
    Thanks
    Buggi

    You can find several prepackaged script logic functions in the system library. One example function is called accumulate() which is probably the one you need to follow:
    *SUB ACCUMULATE(%src_flowacc%, %dst_bsacc%)
    // Accumulate periodic values from a flow account into a bs account
    // This is a complete commit section
    //=========================================================================================
         // must process one period at a time
         *PROCESS_EACH_MEMBER=TIME
         // set the appropriate region to clear
         //(all reporting currencies)
         *CLEAR_DESTINATION
         *DESTINATION TIMEDIM=%TIME_SET%
         // enforce loading the appropriate region
         *XDIM_MEMBERSET TIMEDIM=[TIMEDIM].[%TIME_SET%],strtomember("["+[TIMEDIM].[%TIME_SET%].properties("PRIOR")+"]")
         *XDIM_MEMBERSET ACCOUNTDIM=%src_flowacc%
         *WHEN TIMEDIM.CURRENT
         *IS %TIME_SET%
              *REC(EXPRESSION=(%VALUE%+GET(TIMEDIM=TIMEDIM.PRIOR,ACCOUNTDIM=%dst_bsacc%)), %dst_bsacc%)
         *ENDWHEN
         *COMMIT
    *ENDSUB
    Hope this helps,
    Madis

  • Strange behavior in Periodic application

    I have a finance application with YTDINPUT set to u2018Nou2019 used for budgeting.
    When I enter figures in one month i.e. February 2009, sales 4000, save the numbers and run a report. A total of -4000 is reported for March 2009.
    Looking directly in the SQL fact tables there are no data for March 2009.
    When I change my report to show the data source dimension in the Row the figures in March 2009 disappear.
    What is wrong? How do I get rid of the figures in March 2009?

    Hi Bjorn
    Thanks for your quick reply.
    To me the tblYTDFormula look wrong. Only YTD uses base level and the formula for Periodic is a lag calculation over time. This tells me that the formulas are to YTD applications.
    I have an application set with both YTP and Periodic applications. I have made a full optimize of the application, without any effect on the data.
    Currently I am only entering data on P&L accounts.
    With basis in your example.
    The figures that I see for March only exists on parent level if I look at bas level for account there are no data.
    Jesper

  • Conversion Error setting value ''{0}'' for ''{1}''

    Hi
    I have to populate a drop-down list on my page with the values coming from the DB.
    JSF code:
    <td align="right"><div id="wait" style="visibility:hidden;">Select an existing Application</div></td>
    <td align="left"><div id="wait1" style="visibility:hidden;" >
    <h:selectOneMenu id="exist" value="#{processApplication.selectedOwner}" styleClass="selectOneMenu">
    <f:selectItems value="#{processApplication.existingOwners}"></f:selectItems>
    </h:selectOneMenu>
    </div>
    </td>
    processApplication bean:
    public List<SelectItem> getExistingOwners() {                    
    //existingOwners = this.getOwners();
    try{
         List < SelectItem > existingOwners = new ArrayList < SelectItem > ( ) ;
         SelectItem si_0 = new SelectItem();
         SelectItem si_1 = new SelectItem();
    SelectItem si_2 = new SelectItem();
         si_0.setValue("11");
         si_0.setLabel("sri");
         si_1.setValue("21");
         si_1.setLabel("ADAMS");
         existingOwners.add(si_0);
         existingOwners.add(si_1);
         logger.info("values in the list" +existingOwners.get(1).getValue());
              }catch(Exception e){
                   logger.debug(e.getCause());
                   e.printStackTrace();
              return existingOwners;
         public void setExistingOwners(List<SelectItem> existingOwners) {
              try{
              this.existingOwners = existingOwners;
              }catch(Exception e){
                   logger.debug("%%%%");
                   logger.debug(e.getCause());
                   e.printStackTrace();
    public String getSelectedOwner() {
         try{
         List<SelectItem> test = this.getExistingOwners();
         selectedOwner = (String)test.get(1).getValue();
         logger.debug("selected owner from the list" +selectedOwner);
         }catch(Exception e){
         logger.debug(e.getCause());
         e.printStackTrace();
         return selectedOwner;
         public void setSelectedOwner(String selectedOwner) {
              this.selectedOwner = selectedOwner;
    public List<SelectItem> getExistingOwners() should actually be a call to the DB to get the list.
    But since i was getting exception I tried to hard code the list in the method itself.
    But , I get this exception:
    logger.info values in the list 21
    [6/15/09 12:49:45:687 EDT] 0000003d ServletWrappe E SRVE0068E: Uncaught exception thrown in one of the service methods of the servlet: /processApplication.jsp. Exception thrown : javax.servlet.ServletException: Conversion Error setting value ''{0}'' for ''{1}''.
         at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:658)
         at com.ibm._jsp._processApplication._jspService(_processApplication.java:149)
         at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:85)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:907)
         at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:118)
         at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
         at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:701)
         at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:646)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:475)
         at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
    Earlier, I had a drop down list that was working perfectly fine.
    But its values came from a Helper class and not the DB.
    What is it that Iam missing or doing wrong?
    Please help me.
    Thanks.

    Based on your example on the link that you referred to I tried to do this
    fillSelectItems();
    as the initialization block (I read what it means)
    changed my getter method to
    public List<SelectItem> getExistingOwners() { return existingOwners; }
    private void fillSelectItems() {
    this.existingOwners = new ArrayList<SelectItem>();
    try{
         existingOwners.clear();
         List test = this.getOwners();
         SelectItem[] myitem = new SelectItem[test.size()];
         for(int i=0;i<test.size();i++) {
         Object[] arrayOne = (Object[])test.get(i);
    try{
         SelectItem tmp = new SelectItem();
         tmp.setLabel(arrayOne[0].toString()+(String)arrayOne[1]);
         tmp.setValue((Integer)arrayOne[0]);
         myitem[i] = tmp;
    this.existingOwners.add(myitem);
    }catch(Exception e){
              logger.debug(e.getCause());
              e.printStackTrace();
         }catch(Exception e){
              logger.debug(e.getCause());
              e.printStackTrace();
    Basically, I moved what I had earlier in getter method I have it now in the fillSelectItems()
    Butthen, I get a NullPointerException.

  • IllegalArgumentException: Conversion Error setting value ''{0}'' for ''{1}'

    Hi all i am facing one problem while using <h:selectManyMenu style="height:100;" value="#{cityf.cityLook}">
    <f:selectItems value="#{cityf.city}" />
    </h:selectManyMenu>
    so ,plz help me about this error.!!!!!!
    java.lang.IllegalArgumentException: Conversion Error setting value ''{0}'' for ''{1}''.
         com.sun.faces.util.Util.getSelectItems(Util.java:670)
         com.sun.faces.renderkit.html_basic.MenuRenderer.getOptionNumber(MenuRenderer.java:509)
         com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:486)
         com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:451)
         javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:740)
         com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:473)
         com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:470)
         com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:253)
         javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:721)
         javax.faces.webapp.UIComponentTag.encodeChildren(UIComponentTag.java:629)
         javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:566)
         com.sun.faces.taglib.html_basic.PanelGridTag.doEndTag(PanelGridTag.java:460)
         org.apache.jsp.Demo_jsp._jspx_meth_h_005fpanelGrid_005f0(Demo_jsp.java:192)
         org.apache.jsp.Demo_jsp._jspx_meth_h_005fform_005f0(Demo_jsp.java:159)
         org.apache.jsp.Demo_jsp._jspx_meth_f_005fview_005f0(Demo_jsp.java:125)
         org.apache.jsp.Demo_jsp._jspService(Demo_jsp.java:90)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346)
         com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152)
         org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
         org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:233)
         com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
         com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
         com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
         javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
         org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:127)
         org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:277)
    city.jsp:
    <html>
    <body>
    <f:view>
    <h:form id="select">
    <h:panelGrid columns="1">
    <h:column>
    <h:outputText value="Select City : "/>
    <h:selectManyMenu style="height:100;" value="#{cityf.cityLook}">
    <f:selectItems value="#{cityf.city}" />
    </h:selectManyMenu>
    </h:column>
    </h:panelGrid>
    </h:form>
    </f:view>
    </body>
    </html>
    City Bean:
    public class City {
         private CityIDLookup[] city;
         private String[] cityLook;
    public CityIDLookup[] getCity() {
         return city;
    public void setCity(CityIDLookup[] city) {
         this.city = city;
    public String[] getCityLook() {
         return cityLook;
    public void setCityLook(String[] cityLook) {
         this.cityLook = cityLook;
    faces.config.xml:
    <managed-bean>
    <managed-bean-name>cityf</managed-bean-name>
    <managed-bean-class>com.class.City</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>

    With SelectItem I mean the javax.faces.model.SelectItem class.
    <h:selectManyMenu value="#{myBean.selectedItems}">
        <f:selectItems value="#{myBean.selectItems}" />
    <h:selectManyMenu>MyBeanprivate String[] selectedItems; // + getter + setter
    private List<SelectItem> selectItems; // + getter

  • What is the best way to update /101 Total Gross YTD values within CRT

    Hello - Can someone please suggest the best way that I can update the current /101 YTD values within the CRT?  We had a conversion effort take place earlier in the year that did not accumulate the amounts of one particular wage type to the /101 bucket.  The wage type itself is currently in the CRT with the appropriate accumulators set up correctly but the /101 YTD values are too low due to the missing amounts.  Any suggestions would be greatly appreciated.
    Thanks!

    Hello Kristy,
    Did you try RPUCRT00? This program is for Recreation of Payroll Cumulation tables and might help in this case.
    Hopefully this information helps.
    Kind regards,
    Graziela Dondoni

  • Retained earnings in Periodic application

    Hi
    I have a periodic application where I would like to post retained earnings on the balance sheet.
    Below is the part of my default logic form my YTD application.
    *WHEN ACCOUNTDIM.GROUP2
    *IS "PL"
        *WHEN ACCDETAILDIM
        *IS "FLOW_CLOSING"
            *WHEN INTCODIM
            *IS "IC_ALL"
                 *REC(ACCOUNTDIM="ACC_PROFIT_BS",ACCDETAILDIM="FLOW_RESULT",INTCODIM="IC_ALL",DataSrc="CalcPreAdj")
                 *REC(ACCOUNTDIM="ACC_PROFIT_BS",ACCDETAILDIM="FLOW_CLOSING",INTCODIM="IC_ALL",DataSrc="CalcPreAdj")
             *ENDWHEN
        *ENDWHEN
    *ENDWHEN
    Re-using this in my periodic application result in only moving the periodic result to the balance sheet and not the YTD result.
    What is best practice for moving retained earnings in a periodic application?

    Hi
    Thanks for the quick reply.
    Are there any performance issues by calling SPRUNCALCACCOUNT in default logic?
    For information I hav put myfull default logic is below:
    *WHEN ACCOUNTDIM.GROUP2
    *IS "PL"
        *WHEN ACCDETAILDIM
        *IS "FLOW_CLOSING"
            *WHEN INTCODIM
            *IS "IC_ALL"
                 *REC(ACCOUNTDIM="ACC_PROFIT_BS",ACCDETAILDIM="FLOW_RESULT",INTCODIM="IC_ALL",DataSrc="CalcPreAdj")
                 *REC(ACCOUNTDIM="ACC_PROFIT_BS",ACCDETAILDIM="FLOW_CLOSING",INTCODIM="IC_ALL",DataSrc="CalcPreAdj")
             *ENDWHEN
        *ENDWHEN
    *IS "BS"
        *WHEN DATASRCDIM.DATASRC_TYPE
        *IS "I"
            *WHEN ACCDETAILDIM
            *IS "FLOW_CLOSING"
                *WHEN ACCOUNTDIM.CALCULATIONTYPE
                *IS "E"
                    *REC(ACCDETAILDIM="FLOW_ERROR",ACCOUNTDIM=ACCOUNTDIM.ID,INTCODIM=INTCODIM.ID)
                *IS "A"
                    *REC(ACCDETAILDIM="FLOW_VAR",ACCOUNTDIM=ACCOUNTDIM.ID,INTCODIM=INTCODIM.ID)
                *ENDWHEN
            *ELSE
                *WHEN ACCOUNTDIM.CALCULATIONTYPE
                *IS "C"
                    *REC(ACCDETAILDIM="FLOW_CLOSING")
                *IS "E"
                    *REC(FACTOR=-1,ACCDETAILDIM="FLOW_ERROR",ACCOUNTDIM=ACCOUNTDIM.ID,INTCODIM=INTCODIM.ID)
                *IS "A"
                    *REC(FACTOR=-1,ACCDETAILDIM="FLOW_VAR",ACCOUNTDIM=ACCOUNTDIM.ID,INTCODIM=INTCODIM.ID)
                *ENDWHEN
           *ENDWHEN
        *IS "M","A"
            *WHEN ACCDETAILDIM
            *IS "FLOW_CLOSING","FLOW_ERROR","FLOW_RESULT"
            *ELSE
                *WHEN ACCOUNTDIM.CALCULATIONTYPE
                *IS "A","C","E"
                    *REC(ACCDETAILDIM="FLOW_CLOSING",ACCOUNTDIM=ACCOUNTDIM.ID,INTCODIM=INTCODIM.ID)
                *ENDWHEN
           *ENDWHEN
        *ENDWHEN
    *ENDWHEN
    *COMMIT

  • Conversion of Characteristic Values to SIDs is taking long time

    Hi Experts,
        Cube load is taking more than 7 hrs to complete for 6 million records. Max time is at Conversion of Characteristic Values to SIDs. Cube consists of 500 fields. Load is from DSO to Cube. DSO has 10 fileds with no SID flag check for activation. Remaining fields in the CUBE are pouplated looking in to other DSO's. Start and End routines are executing very fast. How to fasten Conversion of Characteristic Values to SIDs step.  I need to load 15 million records daily as part of delta. any suggestions.
    Thanks
    Sunil

    Hi Sunil,
    Go through the below link, it will be useful
    http://aq33.com/business-warehouse/Articles-05269.html
    Regards,
    Marasa.

  • Performance - Conversion of characteristic values to SID

    Greetings:
    Yesterday I load 556.000 record into an infocube.
    No transformations of any kind. Direct assign for every infoobject. Very simple
    It lasted 1 h 30m to complete the loading.
    It started loading  7 datapackage of 50.000 records each.
    I realized that 3 of those datapackage (#2, #4 and #7) lasted from 41:47min to 41:59min in the "Conversion of characteristic values to SID" task. The other 5 lasted ... seconds.
    Any idea of that could be going on during this conversion?
    I don't understant why some datapackages last so long and other don't.
    Does anybody has any idea about this?
    Thanks in regards.
    Guillermo

    Hi Daniel,
    The SID generation is based upon the Dimension Table and Master data.
    If you see the dimension table can be build with different types like:
    one to many
    many to one
    many to many
    one to one
    So, if the dimension's for that datapacket data is many to many then it has to get all the relations and then it has to assign an SID.
    If it is one to one then there will be no more work to be done by the system to assign the SID's
    Hope you understood the back-end process.
    With Regards,
    Ravi Kanth.

  • Slow dataload into Infocube- Conversion of Characteristic values to SIDs

    Hi All,
    we are facing a slow delta load issue when loading from a DSO into an InfoCube ( approx 150,000 recs).
    After checking the monitor found that
    - The Conversion of Characteristic values to SIDs is taking time
    - The Start Routine time is real quick ( in secs)
    The underlying DSO is hugh and there is no SIDs Generation upon Activation flag set for it
    Master data is loaded first and than we are loading the transaction data.
    i've tried refreshing the stats of the Cube, Reduce the size of the data package,
    Deletion of Indexes than Loading and recreation of Indexes, no joy at all.
    Any comments and recommendations are much appreciated.
    Thanks,
    Natalie

    Hi Natalie,
    The problem for your slow delta load from DSO to cube is because the SIDs Generation upon Activation flag is unchecked at DSO level .
    Becasue of which your activation is faster but your loading from DSO to cube will be slower as you only mentioned that SIDs are being generated .
    One recommendation will be to switch on the property of the DSO SIDs Generation upon Activation flag .
    Are there any secondary indexes also in DSO ?
    You can try deleting them also during loading the data from DSO to cube .
    I guess your change log table is also huge in this case . If possible we can think of deleting the log table also . Then for the new records let it get filled .
    Hope the above reply was helpful.
    Regards,
    Ashutosh Singh .
    Edited by: DEADLOCKS on Apr 21, 2011 5:08 PM

Maybe you are looking for