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 AMWhat 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 AlfonsoHi 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 ChengDear 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 SeoHi,
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
SUHello 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 -
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
BuggiYou 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. -
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
SunilHi 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.
GuillermoHi 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,
NatalieHi 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
-
Why can I no longer copy and paste a whole page in page thumbnail?
Why can I no longer copy and paste a whole page in page thumbnail?
-
ORDER RELATED INTERCOMPANY CREDIT MEMO ALWAYS NOT INVOICED
We have recently created 'Order related inter company credit memo' . For this, we used order related billing (billing relevance = C i.e. Relevant for ord.-related billing - status acc.to target qty) with standard item category 'G2N'. The issue is eve
-
Can we apply sorting on Column values in Cross tab??
Can we apply sorting on Column values in Cross tab?? Following is the scenario with me. I have 2 fields and one formula. Fields are HostName and Username. Formula is status which categorizes the Authorized and Unauthorized events. And in the Summary
-
Im using a macbook air and my finished edited photo is different when it the develop and library mogul why is this
-
Unable to posting in serial order
Hi Sir, actually we are posting above 15000 quantity .it is unable to update.