Modelling 1:N relationships using Master Data

Hello All,
I was trying to store the Bill of Material data in BW and was confused as to how model this as master data. The bill of material is basically a BOM number with a number of components in it. i.e. a 1:N relationship between the BOM and the components.
I was thinking of modelling this by compounding the Component (which has quite a number of attributes) with the BOM.
But practically the scenario is such that, today the BOM contains certain components, but someone can delete a component later in R3. I want this information to be reflected as well in BW, but i suppose BW will not take care of this in the above compounding technique.
What is the best way to model such a scenario in BW. Is there a trick or is the only way to do this is do some checking in the update routines and then delete from the master data tables.
Please let me know your opinions.
Best Regards,
Dabre

Hello All,
Does anyone have a similar kind of experience in modelling a 1:N kind of relationship using master data ? And where the N values could change or be deleted ?
Please share your experiences.
Best Regards,
Dabre

Similar Messages

  • Facing java.lang.ClassCastException: DummyPagePhaseListener cannot be cast to oracle.adf.model.RegionController while am using master detail relationship by af:table

    Hi friends,
         We are in to new development in Oracle ADF and newbie to this technology.
         Created .jsf page and in corresponding pagedef, has "ControllerClass" with refering "DummyPagePhaseListener" and we have master-detail relationship using Viewlink(created using a SQL Query and  entity based view).
        Below exception raised when navigating from one  to another record in Master af:table. Any help will be appreciated. Thanks in Advance......
    java.lang.ClassCastException: DummyPagePhaseListener cannot be cast to oracle.adf.model.RegionController
    at oracle.adf.model.binding.DCBindingContainer.getRegionController(DCBindingContainer.java:5197)
    at oracle.adf.model.binding.DCBindingContainer.validate(DCBindingContainer.java:4247)
    at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.validateModelUpdates(PageLifecycleImpl.java:300)
    at oracle.adf.controller.faces.lifecycle.FacesPageLifecycle.validateModelUpdates(FacesPageLifecycle.java:70)
    at oracle.adf.controller.v2.lifecycle.Lifecycle$6.execute(Lifecycle.java:202)
    at oracle.adfinternal.controller.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:197)
    at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.access$600(ADFPhaseListener.java:23)
    at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$3.after(ADFPhaseListener.java:323)
    at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.afterPhase(ADFPhaseListener.java:75)
    at oracle.adfinternal.controller.faces.lifecycle.ADFLifecyclePhaseListener.afterPhase(ADFLifecyclePhaseListener.java:53)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:447)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:202)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:173)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:125)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
    at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
    at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:180)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

    Hi timo,
    Thanks for ur reply...
    we are using unbounded taskflow.
    In Controller class(page def file), we refered the class that implements PagePhaseListener
    The following override methods has created
      public void afterPhase(PagePhaseEvent pagePhaseEvent) {
    //In this area we used to read the session object file which is written and sent by another application(application to application navigate).
    If session object file exists,will allow the user to navigate into the requested page else will navigate in to login(security aspect).
      public void beforePhase(PagePhaseEvent pagePhaseEvent) {
    Is we used Controller class wrongly ???
    Is there any relationship with region controller???
    Mani
    [email protected]

  • How to use Master Data Attribute of in Update Rule's Formula

    Hi experts.
    In update rule, there is an option to use <b>Master Data Attribute of</b>. However, due to user requirement, I need to use that in <b>Formula</b> instead.
    <b>Field to update:</b>
    Profit Center
    <b>Logic:</b>
    If Cost Center is empty
    Then Profit Center
    Else
    Master Data Attribute of Cost Center
    I use the following formula at the moment but it is not 100% correct.
    <b>IF( Cost Center = '', Profit Center, Cost Center )</b>
    Appreciate if anyone could help me out.
    Thanks!

    Hi,
    The easier thing to do will be to use a Update Routine.
    Logic will be as follows :-
    If Cost center iss initial.
    Result = Profit Center
    else.
    result = Cost center.
    endif.
    Regards
    SM

  • Using "Master Data Attribute of" in the Update Rule

    Hi,
    In my update rule of, i want to replace the master data attribute of my characteristic instead of using its source characteristic. For example. <i>InfoObject ZSTORECODE</i> has an attribute <i>ZSTORENAME</i>. My objective is to use the Store Name instead of a Store Code.
    I initially thought of using <i>"Master Data Attribute of"</i> in the update rules. However, I always end of with having an error of <i>"No Values."
    </i>
    Hope you guys can help me with this!
    Thanks,
    Raomon

    DATA: V_NSTC_SN2,
    V_KFC_COSTC LIKE RSGENERAL-CHAVL.
    V_KFC_COSTC = DATA_PACKAGE-KFC_COSTC.
    CALL FUNCTION 'RSAU_READ_MASTER_DATA'
        EXPORTING
          I_IOBJNM                      = 'KFC_COSTC'
          I_CHAVL                       = V_KFC_COSTC
    *   I_T_CHAVL                     =
    *   I_DATE                        =
    *   I_FLG_WHOLE_TABLE             =
          I_ATTRNM                      = 'NSTC_SN2'
      IMPORTING
    *   E_STRUCTURE                   =
    *   E_TABLE                       =
          E_ATTRVAL                     = V_NSTC_SN2
        EXCEPTIONS
          READ_ERROR                    = 1
          NO_SUCH_ATTRIBUTE             = 2
          WRONG_IMPORT_PARAMETERS       = 3
          CHAVL_NOT_FOUND               = 4
          OTHERS                        = 5
    RESULT = V_NSTC_SN2.
    Another Example Code:
    index on infoObject

  • Using master data attribute in BEx Query u0096 formula

    Hello,
    I want to use the master data attribute (Eg. Customer master 0CUSTOMER, 0ALTITUDE (Geo Location Height)) in query formula calculation. How do I do this?
    Please help me.
    Thank you
    Subbu

    Hi Subramaniam,
    You can definately use the master data attributes in the formula calculation if that is a numeric value (logically u can use a characteristic in formula).
    for e.g Net weight from 0MATERIAL can be used through formula variable in formula but Color is a characteristic and there is no point in using that in a formula.

  • Can't assign an infoobject using master data attribute of

    I've added in 0purch_group to my cube and I want to assign it using the master data attribute selection but it doesn't bring back anything to choose from.  the attribute is 0mat_plant_purch_group and I've made it navigational.  any ideas?

    So do you say that you dont have mat_plant included in ur cube.
    Then what are trying to get into the field with out a source field. How do you want to fill the value if you dont have mat_plant - i mean which of 100 values of matplant and attribute values should be populated.

  • Using Master data Attributes

    Hi All,
    How do I use the attributes of master data in reporting if they are defiend as Keyfigures?
    Appreciate your Help in Advance.
    Regards,
    Harika

    Hi
    I think I am not much Clear with my question.Let me explain with an example.
    I have 0mat_plant for which I have enhanced a zfield (Zverpr). Now that I want this field to be available for reporting.
    I want Mat_Plant Zverpr in the report to be displayed.
    HArika.

  • Iwant to create Report using master data

    i have created master data characteristic with attributes,is there is possible to create the info provider with the characteristic and attributes with transaction data and i want to create report in that cube.

    Hi,
    First create a infoobject as infoprovider, on which you want to create reports. Then also create cube for transction data. Then Create a multiprovider and include both master data and cube. Try to create a report on multiprovider based on requirement.
    Hope this helps out
    thanks
    PT

  • List of Values use Master Data or Trasaction Data?

    Hello,
    Do anyone of you from where does data in the list of values is populated Transaction data or Master data or combination of both?
    I know bex query could be built on a DSO, Info Cube, Info set, Mutiple Provider and Info objects. Is dependent on the type of info provider the query is built on? Could we really control the source in the lov's
    Thanks
    Ram

    its based on the data in the InfoProvider.
    Ingo

  • Using Master Data attribute and compounded IO in Transformation

    Good day
    I have the following issue in a transformation.
    I want to u201CRead Master Datau201D from IO u2018ZSIDCONTRu2019 to display data for an attribute u201CContract Durationu201D (Key Figure).
    IO u2018ZSIDVEHCNu2019 is also compounded to master data IO u2018ZSIDCONTRu2019.
    The Source field of Rule = field u201CID_CONTACTu201D
    In my transformation my Rule Type = Read Master Data and the u201CFrom Attrib. ofu201D field = ZSIDCONTR and the IO Assignment is also = u2018ZSIDCONTRu2019.
    If I test this rule then the following error message is displayed:
    Characteristic ZSIDVEHCN compounded to ZSIDCONTR is missing in
    transformation source   
    How do I add the compounded characteristic ZSIDVEHCN to the transformation rule?
    Thanks in advance.
    Cj

    Hi,
    You should add the InfoObject ZSIDVEHCN to your target and define a mapping rule to fill it up from your datasource.
    Only when both objects are available in your mapping you will be able to perform a master data selection (since they are compounded).
    If this object is not available in your source, you should define a mapping rule to fill it up (constant? ...)
    Hope this helps.
    Best regards,
    Michel Hoefkens

  • Master Data Used??

    Hi friends,
               What is the transaction where I can check , all the cubes using master data like 0Material , 0Profit_Center and son on, which are linked to a particular SID-id?? Immediate response is needed please??
    Note : Where can I find the " Where Used TAB " in BW for a particular , Object(Master data or transactional).
    Thanks SDN,

    Hi:
    <i>Yes !! At the first place, how can I find my Master data SID's</i>
    Go to RSA1. Open Infoobject. In Tab General, you will find SID table.
    <i>and next , How can I find where this Master data SID's are used???</i>
    You cannot. The ONLY way to know is by deleting Master Data. Then, the Master Data that is not used will be deleted and the rest will stay.
    TO do this, Right Click InfoObject, select Delete Master Data and here, select DELEE with SIDs.
    <i>Will this provide me the list of cubes where this master data is actually getting loading??</i>
    NO
    <i>Question: I want to the list of all cubes where he master data is actually getting loaded instead of where it is being used?? Sorry for the Confusion!!
    Thanks very much and check ur points!!</i>
    You CANNOT KNOW THIS.
    Good luck.
    Ram Chamarthy

  • Master data deleted dispite it is used in other Cubes

    Hello everybody,
    I deleted master data by the classic way: right-click on the characteristic --> delete master data --> with sid.
    (not with other ways!!!)
    Thinking that the system will not delete the master data that is used in Cubes.
    I reloaded new master data.
    After a complaint from a power user that he cannot make a drill down with this characteristic in one report, i begin to investigate.
    Firstly, i tested all the reports where this characteristic is used and all the reports did the same error.
    After i went is to display data of one of the infocube where this characteristic is used and when i select this characteristic for the output, nothing returns as result.
    After that i checked the values of the characteristic sid's in the cubes and i see that the range of the char sid's in the cube do not correspond to the range of the sid's in the sid table of the characteristic.
    In fact, none of the characteristic sid of the cube where present in the sid table of the characteristic.
    Why? probably because when i deleted the master data, the system deleted all the records, but why also those that are present in the cube?
    When i go to SLG1 and select the correct Object,  as message for this deletion: "All entered data was deleted"
    Any suggestion, advise is welcome.
    Thanks
    Regards,

    Hi,
    The way you have used, I would expect that it will not delete the used master data in other cube. If possible reload your master data but I think this will not resolve your issue as new SID values will get created. Just give a try.
    Regards,
    Durgesh.

  • Error - InfoObject cannot be used to read master data

    Hi All,
    We am working on mapping objects in a transformation, on some of the transformation I am using the master data attribute to fill the infoobject.  In some cases the mapping happens without incident but in others we are getting the following error
    InfoObject  cannot be used to read master data
    Inside the long text of the message it says:
    InfoObject  does not have the correct attributes to be used to read master data for the target field
    The object is one of the master data attributes, so we are not sure why we are recieving this error?
    We have recieved it with 0COMP_CODE trying to load Fiscal Year Variant and with a non standard enhanced object ZMATERIAL which is a copy of 0MATERIAL with added attributes for Product Class, Product Group and Product Line wich come from the product hierarchy and are populated on the load of the material from product hierarchy.
    Has anyone else had an issue with this error and can you tell us how you fixed it???
    Thank you!
    Caroline

    You received this error for loading 0FISCVARNT (Fiscal Year Variant) because that InfoObject isn't an attribute of 0COMP_CODE (Company Code) and it cannot therefore determine what data to populate based on your input. Instead of using 0COMP_CODE, you may have to enter a constant value for the Fiscal Year Variant if you don't have it in your source InfoProvider.
    When you created ZMATERIAL, did you use 0MATERIAL as a reference so that it would inherit the attributes and texts? If so, Product Class, Product Group and Product Line would have to be attributes of 0MATERIAL. If you didn't reference 0MATERIAL and are loading attributes directly to the custom InfoObject attributes, then Product Class, Product Group and Product Line would have to be attributes in ZMATERIAL in order to use the Use Master Data function for transformations. You may have to derive the values for these different, such as add ABAP for lookup routines.

  • Can routine replace "master data attribute of" update rule for performance?

    Hi all,
    We are working on CRM-BW data modeling, We have to look up agent master data for agent level and position for each transaction data. So now we are using "Master data attribute of" update rule. Can we use routine instead of "Master data Attribute of" ? Will it improve the loading performance? Since we have to load 1 lack transaction records , where as we have 20,000 agent details in agent master data.My understanding is, for each record in data package the system has to go to master data table and bring the agent details & store in cubes. Say one agent created 10 transactions, then this option "master data attribute of" will read the agent master data 10 times even though we are going to pull same details for all 10 transactions from master data. if we use routine, we can pull the agent details& storing in internal table removing all duplicates and in update routine we can read the internal table.
    Will this way improve performance?
    let me know if you need further info?
    Thanks in advance.
    Arun Thangaraj

    Hi,
    your thinking is absolutely right!
    I don't recommend to use the standard attribute derivation since it will perform a SELECT to the database for EACH record.
    Better implement a sorted table in your start routine; fill it with SELECT <fields> FROM <master_data_table> FOR ALL ENTRIES OF datapak WHERE OBJVERS = 'A' etc...
    In your routine perform a READ itab ... BINARY SEARCH.... I believe that you won't be able to go faster...
    hope this helps...
    Olivier.

  • I couldnu0092t load master data into a DSO

    Hi,
    I need some help!!
    I’am trying to load master data to a DSO, but I don’t find the way to do it.
    Particularly, I want to fill a field of my DSO with an attribute of an InfoObject (that is also a key field of the DSO).
    I create a transformation rule that connect my DSO with my transactional extractor; this rule fills all the fields, with the exception of which it is had to be complete with the attribute of this infoObject. The infoObject has his own transformation rules, which connect this master data characteristic with a M. T. extractor.
    This DSO will be used only as a data warehouse that provides data to another system.
    How I could load this attribute to my DSO? Anyone’s knows the steps to do it?
    Thanks in advances for any kind of help.
    Best regards
    Juan Manuel

    Hi Voodi,
    Yes, I have de BI 7. 0 version.
    I will comment my situation. My DSO has three key fields (society, number of doc. and schedule line), one of these is my master infoObject (the number of document). This InfoObject has an attribute (the people who enter de document), which I couldn’t load it using my transactional extractor because it doesn't’t have the R/3 field in the extractor. That’s why; I decided to load it using master data.
    First I charge my DSO with the master InfoObject and his attribute, using a transformation rule that connect my infoprovider with de master IO data table.
    Then I charge the rest of the DSO fields, including again the master infoObjeto data field. In this case, I used a transformation rule that connect my infoProviders with a transactional extractor.
    After this, when I want to execute the activation of both request, I couldn’t do it because the system don’t let me.
    The way I do all what I says, is correct? When I am modeling the data transfer process, I have to consider something in particular?
    When I want to load the master data to the DSO, I consider only one of the key fields of the DSO (number of doc); there is any problem if I don’t consider the others two key fields.
    Thanks in advances,
    Juan Manuel

Maybe you are looking for

  • S_ALR_87012936 :Report Not Running for future ( It's an urgent Issue )

    Hi , When I am trying to execute (S_ALR_87012936) dep simulation report for the Year FY 2007 and FY 2008 it is working, when i try to execute for  FY 2009.,2010 it's not working. 1)Is there is any setting which we need to do so that report will work

  • Is there a way to export individual page items as PDF or EPS?

    I have a long document, all threaded, with a bunch of inline graphics. Many of the inline graphics have callouts and pointer lines. I take the graphics, callouts, and pointers, group them, and then cut and paste the group inline into the text flow. I

  • How to use Aggregate Functions during Top N analysis?

    Say i want to find top 5 highest salaries and their totals and average. In that case how to use aggregate functions. Please give me an example on this. Regards, Renu Message was edited by: user642387

  • Problem in using AdvanceDataGrid as tree with drag n drop functionality

    Hi All, I am using AdvancedDataGrid as tree for displaying my data. Within this ADG tree I have to enable drag n drop i.e. user can select one node and will able to drop that on another node within tree. Overwritten dragDrop handler event for ADG. Is

  • PVLAN Guidance

    Greetings forum. So I am working on a project that could potentially make use of PVLANs to isolate some hosting servers we are possibly going to bring online in the coming weeks. We currently have Catalyst 4507R switches as the core at our DC running