Mapping problem on different levels. (IDOC) to XML

I am having a mapping issue with a multi segment IDOC. It seems that it should be pretty straight forward but I am struggling. I have looked at some pretty good documentation but it still doesn't seem to help. The IDOC segments deal with text lines in SAP. The text identifier is at a higher level and the text lines are a level below the text identifier. I am writing these records to XML . Both of these are at the same level. I need to combine the text identifier from the higher level to to each text line in the XML.
Here is my source file. It contains two different types of text identifiers (TDID)
<E1TXTH8 SEGMENT="1">
<TDID>0012</TDID>
<TDSPRAS>E</TDSPRAS>
<E1TXTP8 SEGMENT="1">
<TDLINE>This is line 1 of TDID 0012</TDLINE>
</E1TXTP8>
<E1TXTP8 SEGMENT="1">
<TDLINE>This is line 2 of TDID 0012</TDLINE>
</E1TXTP8>
<E1TXTP8 SEGMENT="1">
<TDLINE>This is line 3 of TDID 0012</TDLINE>
</E1TXTP8>
</E1TXTH8>
<E1TXTH8 SEGMENT="1">
<TDID>Z110</TDID>
<TDSPRAS>E</TDSPRAS>
<E1TXTP8 SEGMENT="1">
<TDLINE>This is line 1 of TDID Z110</TDLINE>
</E1TXTP8>
<E1TXTP8 SEGMENT="1">
<TDLINE>This is line 2 of TDID Z110.</TDLINE>
</E1TXTP8>
</E1TXTH8>
I wand this to map so that I see the following results:
<TDID>0012</TDID>
<TDLINE>This is line 1 of TDID 0012</TDLINE>
</access>
<access>
<TDID>0012</TDID>
<TDLINE>This is line 2 of TDID 0012</TDLINE>
</access>
<access>
<TDID>0012</TDID>
<TDLINE>This is line 3 of TDID 0012</TDLINE>
</access>
<access>
<TDID>Z110</TDID>
<TDLINE>This is line 1 of TDID Z110</TDLINE>
</access>
<access>
<TDID>Z110</TDID>
<TDLINE>This is line 2 of TDID Z110</TDLINE>
</access>
</MDB_tblshippingtext>
</InsertStatement_ShippingText>
So far I have been unsuccessful. I am mapping the access element to the lower level segment E1TXTP8. This gives me all of the text lines but the TDID is not filled in properly.
If I map the access element to the highler level E1TXTH8 then I do not get all of my text lines from the lower level. I have looked at the document "Replication of Nodes using the graphical tool mapper" but I still don't seem to understand my problem.
Any help is appreciated.
Thanks,

Hi Neela,
I have uploaded Mapping pictures(Access node Mapping,TDID field Mapping,TDLINE Field Mapping).
http://www.flickr.com/photos/14144840@N02
In Access node Mapping You can use removeContexts node function as shown in Pic or without using removeContexts function Change Context to parent of E1TXTH8 node (How to Change Context: Right click on TDLINE in Data flow editor Context->select parent of E1TXTH8 node)
In TDID field Mapping  useOneAsMany node function and change contexts of 2nd and 3rd inputs of this function to E1TXTH8 as shown in Pic.
Please let me know if you have any issues.
Thanks,
Jag

Similar Messages

  • Mapping problem on different levels. (IDOC) to SQL

    I am having a mapping issue with a multi segment IDOC. It seems that it should be pretty straight forward but I am struggling. I have looked at some pretty good documentation but it still doesn't seem to help. The IDOC segments deal with text lines in SAP. The text identifier is at a higher level and the text lines are a level below the text identifier. I am writing these records to a SQL database table and the table will just contain the text identifier and then the text line. Both of these are at the same level. I need to combine the text identifier from the higher level to to each text line in the database table.
    Here is my source file. It contains two different types of text identifiers (TDID)
    <E1TXTH8 SEGMENT="1">
    <TDID>0012</TDID>
    <TDSPRAS>E</TDSPRAS>
    <E1TXTP8 SEGMENT="1">
    <TDLINE>This is line 1 of TDID 0012</TDLINE>
    </E1TXTP8>
    <E1TXTP8 SEGMENT="1">
    <TDLINE>This is line 2 of TDID 0012</TDLINE>
    </E1TXTP8>
    <E1TXTP8 SEGMENT="1">
    <TDLINE>This is line 3 of TDID 0012</TDLINE>
    </E1TXTP8>
    </E1TXTH8>
    <E1TXTH8 SEGMENT="1">
    <TDID>Z110</TDID>
    <TDSPRAS>E</TDSPRAS>
    <E1TXTP8 SEGMENT="1">
    <TDLINE>This is line 1 of TDID Z110</TDLINE>
    </E1TXTP8>
    <E1TXTP8 SEGMENT="1">
    <TDLINE>This is line 2 of TDID Z110.</TDLINE>
    </E1TXTP8>
    </E1TXTH8>
    I wand this to map so that I see the following results:
    <InsertStatement_ShippingText>
    <MDB_tblshippingtext action="INSERT">
    <access>
    <TDID>0012</TDID>
    <TDLINE>This is line 1 of TDID 0012</TDLINE>
    </access>
    <access>
    <TDID>0012</TDID>
    <TDLINE>This is line 2 of TDID 0012</TDLINE>
    </access>
    <access>
    <TDID>0012</TDID> 
    <TDLINE>This is line 3 of TDID 0012</TDLINE>
    </access>
    <access>
    <TDID>Z110</TDID> 
    <TDLINE>This is line 1 of TDID Z110</TDLINE>
    </access>
    <access>
    <TDID>Z110</TDID> 
    <TDLINE>This is line 2 of TDID Z110</TDLINE>
    </access>
    </MDB_tblshippingtext>
    </InsertStatement_ShippingText>
    So far I have been unsuccessful. I am mapping the access element to the lower level segment E1TXTP8. This gives me all of the text lines but the TDID is not filled in properly.
    If I map the access element to the highler level E1TXTH8 then I do not get all of my text lines from the lower level. I have looked at the document "Replication of Nodes using the graphical tool mapper" but I still don't seem to understand my problem.
    Any help is appreciated.
    Thanks,
    Jim

    Hi Jim,
    there are a couple of things to look at:
    1. If you always have at least one E1TXTP8 segment under each E1TXTH8 segment, you can use the function useOneAsMany. Jin Chin gave you all the pointers to look at (remember to check the context for the mapping of your element "access")
    2. If you test with samples that have a E1TXTH8 segment without a segment E1TXTP8 underneath, the function useOneAsMany will give you the error you encounter. In that case you need to use one of the different mappings described in the <a href="/people/claus.wallacher/blog/2006/04/17/replication-of-nodes-using-the-graphical-mapping-tool">weblog</a> you mentioned.
    3. If it still doesn't work, can you give us the sample XML that causes the error?
    Regards,
    Claus

  • Problem with different name of viewobject.xml between src and classes!?

    Hallo,
    last days we search the reason of an error when making available an project under linux.
    we've got http status 500 and javax.faces.el.PropertyNotFoundException: Error testing property 'inputValue' in bean of type null.
    we checked many things and after a long time we found the problem.
    the project was developed under windows. there was create a viewobject named OrganListe. this create in the src-path the file OrganListe.xml. in the classes-path we found a file named Organliste.xml!!! we don't know why, but it was so.
    under windows it was not a problem, but linux works case sensitive and so it was a problem. rebuild the base object don't change the name. we changed it on file-level, than the problem was cleared.
    which is the wright way to force the system to regenerate the files in the classes-path (including filename)?
    Any help is appreciated.

    Is there not tip for use?

  • Mapping IDOC to XML - Context problem

    Hello,
    I am trying to map up to 2 segments from an ORDERS IDOC into one segment in my PO XML. 
    In the target PO XML document both segments UltimateCustomer and ParticipatingDealer are under the heading SalesOrderData.
    <Header>
    ...<SalesOrderData>
    .......<UltimateCustomer>
    ............<Name>
    ............<address>
    ....................<street>
    ....................<city>
    ......<ParticipatingDealer>
    ............<Name>
    ............<address>
    ....................<street>
    ....................<city>
    So I only create the SalesOrderData segment if at least one of the two E1EDKA1 segments exists where PARVW = ZO or ZU then I want to repliate those segments into their target fields.
    ZO - Ultimate Customer
    ZU - Participating Dealer
    When both values exist I am only getting the data from the first segment (ZO or ZU) but not both.  With the following mapping.
    If PARVW (IDOC Context) = ZO or PARVW (IDOC Context) = ZU ...CreateIf...SalesOrderData
    If PARVW = ZO...CreateIf...UltimateCustomer.
    If PARVW = ZU ...CreateIf...ParticipatingDealer.
    I tried many context combinations to get both segments to appear but the only time I could get them both to appear is if I force the creation of SalesOrderData.  (Constant[]...SalesOrderData).  This of course creates a blank node when ZO and ZU do not exist.  Which is not a good solution.
    Any suggestions?
    Thanks,
    Matt

    chk this:
    Mapping of "Header":
    PARVW(context IDOC)----
    --------------------equals ----
    Constant(ZO)
    -------------------------------------OR-----IfWithoutElse(Constant()----then)--------collapseContext------HEADER
    PARVW(context IDOC)----
    --------------------equals ----
    Constant(ZU)
    Mapping of "UltimateCustomer":
    PARVW----
    --------------------equals ----IfWithoutElse(Constant()----then)-----removecontext---------UltimateCustomer
    Constant(ZO)
    Mapping of "ParticipatingDealer":
    PARVW----
    --------------------equals ----IfWithoutElse(Constant()----then)-----removecontext---------ParticipatingDealer
    Constant(ZU)
    Mapping of "name" under "UltimateCustomer":
    PARVW----
    ---------------equals ----IfWithoutElse(Name(from source)---then)--removecontext----splitbyvalue(each value)--Name
    Constant(ZO)
    In the same way (like "Name" field mapping) proceed for the rest of the target fields....

  • IDoc to EDI mapping problem (Invoic01 to 810 v4010)

    Hi,
    I have a problem with my invoice mapping.
    I need to exclude children parts from the outbound EDI invoice.
    In my mapping I was able to control the number of lines that should go out from the top line item node level using:
    G_SIT1 ->  If E1EDP02-QUALF = 002 then E1EDP02-ZEILE->Remove Context->SplitByValue->CollapseContext->G_STI1
    I have the right amount of lines but the fields under G_STI1 are wrong since I'm missing the last ones. 
    Then I tried different combinations + playing with the contexts and played again with the top node and my conclusion is that it might be easier to exclude them in IDoc in SAP using an UserExit?!?
    Anybody was able to get around this problem without changing the IDoc in R/3?

    Can I filter on a partner type KU? I need to customize an outboud invoice to not send some segments.
    Or is it only for type LS?
    Rgds,
    Yves

  • Context Mapping Problem from IDoc to EDI

    Hi,
    I'm trying to map an IDoc to an EDI and I get this problem.
    In my IDoc, I have segment E1ADRM1 (1:N)
    My mapping condition is if E1ADRM-PARTNER_Q = OSP then copy E1ADRM-REGION into x (EDI field)
    So here is my problem:
    In my IDoc test, the segment E1ADRM1 is repeated 6 times and the field REGION is not populated in all iterations so the wrong
    REGION is being copied to my EDI field.
    If I do a display queue on E1ADRM-PARTNER_Q, the value OSP is at the 5th position
    AG
    SP
    VE
    WE
    OSP  ***
    OSO
    If I do a display queue on E1ADRM-REGION, since only 5 segment E1ADRM have the field REGION populated, I get
    KS
    VA
    KS
    ON
    VA
    **(E1ADRM-PARTNER_Q = SP do not have the RIGION populated so not showing in the IDoc)
    So now, since E1ADRM-PARTNER_Q = OSP is at the 5th position, it is copying the 5th E1ADRM-REGION from the list but it should be the 4th.
    How can I do that?
    Rgds,
    Yves

    Hi,
    For the mapping to work as you are expecting the queue should look like this(<b>CC</b> denotes context change)..
    KS
    <b>CC</b>
    <b>CC</b>
    VA
    <b>CC</b>
    KS
    <b>CC</b>
    ON
    <b>CC</b>
    VA
    If you are not having the context changes, check at what level is field REGION at, right click on REGION in graphical mapping and choose menu item context, the 1st entry should have the tick mark(same should be for the PARTNER_Q field also).
    Thanks,
    Renjith.

  • File to Idoc Mapping Problem

    Hi all,
    i'm getting an error from SXMB_MONI in a scenario File to Idoc.
    I have done the mapping from source file and Idoc CREMAS03, when i try to test from Integration Repository it's all ok, but when the scenario is executed i find this error in Idoc Adapter :
    <SAP:P1>MSGGUID EF7E2140A08811DDBE1202004C4F4F50: Tag #TEXT found instead of tag IDOC BEGIN=</SAP:P1>
    The field BEGIN in idoc structure is filled with constant value 1, than i dont understand the error.
    This is the xml source file :
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:Vendor xmlns:ns0="urn:tbit40:workshop:group01:legacy">
    - <Address>
      <Country>IT</Country>
      <Zip>001</Zip>
      <City>ROMA</City>
      <Street>SATTA</Street>
      </Address>
      <Currency>USD</Currency>
      <SearchTerm>TEST</SearchTerm>
      <LastName>GUIDA</LastName>
      <VendorNumber>44332</VendorNumber>
      </ns0:Vendor>
    Any help is really appreciated.
    Thanks.

    Hi all and thanks for your answer.
    My problem is that for what i can see all Idoc attribute (like the attribute BEGIN) are mapped with constant value.
    In taget source i can see :  BEGIN = Constant([value=1])
    What i dont understand is why when i execute the scenario it ends with this message :
    <SAP:P1>MSGGUID EF7E2140A08811DDBE1202004C4F4F50: Tag #TEXT found instead of tag IDOC BEGIN=</SAP:P1>
    It seem to me that the tag BEGIN is not filled with value, i also tried to copy the source xml file directly from SXMB_MONI  (from payload) and test it in Integration Repository mapping section, but here is all ok and the test end succesfully.

  • Mapping issue for Idoc to xml

    hello all,
           my scenario is idoc to xml file
    E1EDKT1-------segment (1:n)
       -TDID----
    ele
       -E1EDKT2----segment (1:n)
          -TDLINE-----ele
    When TDID value is X then all values in TDLINE of undeline sement E1EDKT2 needs to be cocatenated and passed to target elemnt A
    if  TDID value is Y then all values in TDLINE of undeline sement E1EDKT2 needs to be cocatenated and passed to target elemnt B
    i have written java function(for all values in context) to conctenate TDLINE elements.
    also the context of TDLINE is changed to  E1EDKT1.
    i am getting all the concatenaed values of TDLINE for TDID=X in target element A but i am not geting any value in target element B for TDID=Y
    can any one suggest what could be the problem.
    Regards,
    Sandip

    Hi Sandip,
    Map like this for target element A:
    use simple if stament.  and for If give TDID  equals(text function) to constant X
    and for then TDLINE-->concattdline(udf) --> output A
    Map like this for target element B:
    use simple if stament.  and for If give TDID  equals(text function) to constant Y
    and for then TDLINE-->concattdline(udf) --> output B
    concattdline udf:
    Create a Context udf with one argument a and name it as concattdline.
    Imports:  java.*;
    Add this code:
    //write your code here
    String value = "";
    for(int j=0; j<a.length - 1; j++){
         value += a[j] + "";
    value +=  a[a.length - 1];
    result.addValue(value);
    I just tested this and it should work for you.
    Regards,
    ---Satish

  • Complex IDOC mapping problem

    Hello,
    I'm stuck with a complex mapping issue that I can't figure out.  I'm trying to pull 0..N Variant Configuration segments from the ORDERS IDOC and map it into a 0..N XML segment.
    The inbound ORDERS IDOC is structured like this:
    IDOC
    ...E1EDP01  (Item segment 0..N)
    ......E1EDP19 (Product data 0..5)
    ...........Z1EDPIT  (Configuration Data 0..N)
    .................ATUE1   (Description)
    .................ZCODE   (Category)
    .................RTWTB  (Value)
    Target XML:
    Order  
    ....Item  (Item segment 0..N)
    .......Product  (Product data 0..1)
    ............VariantConfig  (configuration data 0..N)
    ....................Description
    ....................Category
    .....................Value
    I need to create a new VariantConfig segment in my XML for every Z1EDPIT segment for that PO Item.  But I need to skip any Z1EDPIT segments when ATUE1 = 'OPTIONS' or when ATUE1 does not exist.
    The problem I'm running into is that my mapping is capable of creating the VariantConfig segment under those conditions but the following mappings used to create the Description/Category/Value are unable to skip the Z1EDPIT segments.
    For example:
    IDOC
    ...E1EDP01 
    ......E1EDP19
    ...........Z1EDPIT 
    .................ZCODE     = REQT
    .................RTWTB     =  5644
    ...........Z1EDPIT 
    .................ATUE1     = Finish
    .................ZCODE    = REQT
    .................RTWTB    = 7712
    The output XML should read:
    Order  
    ....Item 
    .......Product 
    ............VariantConfig
    ....................Description   = Finish
    ....................Category      = REQT
    .....................Value          = 7712
    So I determine to create the VariantConfig segment if ATUE1 exists and does not equal 'OPTIONS'.  So my mapping creates one VariantConfig segment because the second Z1EDPIT qualifies.  But each element within that node is reverting back to the first Z1EDPIT segment.
    I thought the top of the Node (VariantConfig) would determine the context for the following fields.  Therefore, when the 2nd Z1EDPIT segment generates the VariantConfig node then the elements should refer to the current context of the root node (VariantConfig).
    What tools does PI's mapping provide to resolve a situation like this? 
    Any suggestions?
    Thanks,
    Matt

    Job,
    Thanks, for the responses!
    What do you mean by "add a context change for the fields". 
    Is there some mapping function to add a context change or is this a UDF I need to write to handle the context changes when ATUE1 is missing or equal to "OPTIONS".
    In my example:
    VariantConfig:
    ATUE1 (E1EDP01) >mapWithDefault [OPTIONS] equatsS [OPTIONS] -> Not ->createIf->VariantConfig
    Sub Element
    Category
    ATUE1 (E1EDP01) >mapWithDefault [OPTIONS] equatsS [OPTIONS] -> Not ->ifWithoutElse>ZCODE->Category
    The problem is that this does not keep the ATUE1 and the ZCODE in the same Z1EDPIT segment.  So I get the first ZCODE value when I only want the 2nd.   Even if I insert a context change I can't say for sure that next time I won't have 5 Z1EDPIT segments missing the ATUE1 segment before I find my first good segment that I need to map.
    ...confused...
    Thanks,
    Matt

  • HOW TO MAP IDOC TO XML

    Hi,
      I need to map IDOC to xml but the problem is I have 400 fields in IDOC which  are to be mapped to 20 elements in XML.
          As it a tedious process to go to 400 fields for each xml element.Is their any better way to find correct field in IDOC with very minial time rather going 400 fields for each xml element.
    thanks
    sreeram

    hi,
    >>1)Even SAP it self does not encourage to use ABAP >>MAPPING and
    i dont know where you have read this, but ABAP mapping is one of the most popular/ most efficient and highly recomended by SAP. I have used it in tons of places.
    >>2)More over Iam not ABAP resource.
    you could also do a java mapping.
    there is no other easy way if you are not doing abap/java mapping. you are then left with the only option of using the graphical editor.
    cheers,
    Naveen
    Message was edited by: Naveen Pandrangi

  • Mapping to 3rd hierarchical level in IDoc

    Hi, well i have a little problem.
    Scenario: File to IDoc
    i get this kind of file:
    <i>P|67220400|9991233643|
    W|71123456|1|4|BPL
    K|70100005|15|X|9999
    K|70100200|4||1200
    K|70100210|3||300
    W|71123456|1|4|ABM
    K|70100005|15|X|9999
    K|70100200|4||1200
    K|70100210|3||300</i>
    ...where P, W, K are keyfields.
    The IDoc has three hierarchical levels, whereas P is first, W second and K third.
    All these values should be mapped in one IDoc. But everytime a new W occurs there is a new recordset generated, so a new IDoc.
    Nevertheless i map as follows:
    <i>/ZIDOC/IDOC =/MT_EPLAN/ EPLANRecordSet=
    /ZIDOC/IDOC/@BEGIN =const([value=])
    /ZIDOC/IDOC/EDI_DC40/@SEGMENT =const([value=])
    /ZIDOC/IDOC/EDI_DC40/TABNAM =const([value=])
    /ZIDOC/IDOC/EDI_DC40/DIRECT =const([value=])
    /ZIDOC/IDOC/EDI_DC40/IDOCTYP =const([value=])
    /ZIDOC/IDOC/EDI_DC40/MESTYP =const([value=])
    /ZIDOC/IDOC/EDI_DC40/SNDPOR =const([value=])
    /ZIDOC/IDOC/EDI_DC40/SNDPRT =const([value=LS])
    /ZIDOC/IDOC/EDI_DC40/SNDPRN =const([value=COS])
    /ZIDOC/IDOC/EDI_DC40/RCVPOR =const([value=])
    /ZIDOC/IDOC/EDI_DC40/RCVPRN =const([value=])
    /ZIDOC/IDOC/ ZBC15_EPLAN= /MT_EPLAN/EPLANRecordSet/EPLANHead =
    /ZIDOC/IDOC/ZBC15_EPLAN/ @SEGMENT=const([value=])
    /ZIDOC/IDOC/ZBC15_EPLAN/EPLAN =/MT_EPLAN/EPLANRecordSet/EPLANHead/ Data1=
    /ZIDOC/IDOC/ZBC15_EPLAN/ WERKSTUECK= /MT_EPLAN/EPLANRecordSet/EPLANHead/Data2 =
    /ZIDOC/IDOC/ZBC15_EPLAN/ ZBC15_WERK= /MT_EPLAN/EPLANRecordSet/EPLANWerkz =
    /ZIDOC/IDOC/ZBC15_EPLAN/ZBC15_WERK/ @SEGMENT=const([value=])
    /ZIDOC/IDOC/ZBC15_EPLAN/ZBC15_WERK/ WERKSTUECK= /MT_EPLAN/EPLANRecordSet/EPLANWerkz/Data1 =
    /ZIDOC/IDOC/ZBC15_EPLAN/ZBC15_WERK/ POSNR= /MT_EPLAN/EPLANRecordSet/EPLANWerkz/Data2 =
    /ZIDOC/IDOC/ZBC15_EPLAN/ZBC15_WERK/ ANZAHL= /MT_EPLAN/EPLANRecordSet/EPLANWerkz/Data3 =
    /ZIDOC/IDOC/ZBC15_EPLAN/ZBC15_WERK/ KTEXT= /MT_EPLAN/EPLANRecordSet/EPLANWerkz/Data4 =
    /ZIDOC/IDOC/ZBC15_EPLAN/ZBC15_WERK/ ZBC15_KOMP= /MT_EPLAN/EPLANRecordSet/EPLANKomp =
    /ZIDOC/IDOC/ZBC15_EPLAN/ZBC15_WERK/ZBC15_KOMP/ @SEGMENT=const([value=])
    /ZIDOC/IDOC/ZBC15_EPLAN/ZBC15_WERK/ZBC15_KOMP/ KOMP= /MT_EPLAN/EPLANRecordSet/EPLANKomp/Data1 =
    /ZIDOC/IDOC/ZBC15_EPLAN/ZBC15_WERK/ZBC15_KOMP/ ANZAHL= /MT_EPLAN/EPLANRecordSet/EPLANKomp/Data2 =
    /ZIDOC/IDOC/ZBC15_EPLAN/ZBC15_WERK/ZBC15_KOMP/ ART= /MT_EPLAN/EPLANRecordSet/EPLANKomp/Data3 =
    /ZIDOC/IDOC/ZBC15_EPLAN/ZBC15_WERK/ZBC15_KOMP/ MENGE= /MT_EPLAN/EPLANRecordSet/EPLANKomp/Data4 =
    </i>
    Can someone help me?!
    br

    Hi Carsten,
          As per my understanding of u r requirement check the maping for IDOC field in the strucutre.you have mapped with MT_EPLAN/ EPLANRecordSet.Once check the occurence of this.
    Cheers
    Veera
    >>>Reward Points,If it is needful.

  • Regarding receiver determination problem in IDOC-XI-XML file scenario

    Dear All ,
    In IDOC-XI-xml file scenario , I have configured SLD , IR . But in ID , after file adapter , reciever agreement configuration when I am doing receiver determination configuration I am not able to insert mapping program in configuration overview of receiver determination as I am not getting "New Specific" option in mapping .
    Can anybody suggest what could be the reason behind this .
    Thanks in Advance
    Prabhat

    Hi PRabhat,
    In RCVR determination, you need to select the party & service (as appropriate) save the obeject
    then refresh the configuration overview of recr det.
    then you can see the partner/service
    then you can open it & add the necessary objects.
    Regards
    Vishnu

  • Mapping the Fact table to different levels of a dimension

    Hi,
    I have a fact table which stores the data for 4 levels of the dimensions. The aggregation method was taken care by PL/SQL and the fact table will have the data for all the 4 levels. When im trying to map all the levels to a column in the fact table using the OEM, it is generating the F KEY constraints referncing the columns mapped for the various levels of the dimension.
    The problem is that im using a denormalised table for maintaing the values of the dimension. So the columns mapped for the levels(Except for the lowest) can't have the unique key defined on it. The cube is not getting created because of the error in creating the F KEY.
    Can u please suggest how to map this fact table.
    Thnks,
    Manohar Vanama

    I am not exactly clear on your schema but I believe you are trying to map tables which are not strict star or snowflake. This means that you cannot use CWM1 (and OEM), unless you change the structure of the tables. You might be able to map the tables with CWM2. The document below will assist you:
    Oracle9i OLAP User's Guide
    Chapter 4. Designing Your Database for OLAP
    Chapter 5. Creating OLAP Catalog Metadata

  • Mapping Problem ORDERS Idoc to Edifact

    Hi,
    I have a mapping problem with the IDOC ORDERS:
    I get the IDOC with several E1EDP01. Each E1EDP01 has several E1EDPT1, where i want only the first one (which I get over the TDID value). Each E1EDPT1 has min. 1 E1EDPT2.
    Now I have to map each field TDLINE from first two E1EDPT2 of the first E1EDPT1 to the Edifact fields /LIST/S_UNB/S_UNH/G_SSG25/S_LIN/S_IMD[1]/C_C273/D_7008 (from the first E1EDPT2) and, if a second E1EDPT2 exists in /LIST/S_UNB/S_UNH/G_SSG25/S_LIN/S_IMD[1]/C_C273/D_7008_2.
    I use following UDF:
    //a = TDLINE
    //b = Number of entry in the List
    int pos =Integer.parseInt(b[0]);
    if ( pos < a.length )
    result.addValue(a[pos]);
    else
    result.addValue(ResultList.SUPPRESS);
    Unfortunatly, I think becaus of the context problems (not every E1EDPT1 has two E1EDPT2), it's not working. Could somebody help me with this problem?
    Thanks in advance
    Dominic

    Dear Dominic ,
    I had same problem when I was trying to do the same thing for FTX segment.
    Your UDF is fine but you don't need else condition.
    //a = TDLINE
    //b = Number of entry in the List
    int pos =Integer.parseInt(b[0]);
    if ( pos < a.length )
    result.addValue(a[pos]);
    for C_C273 assigned contant value and
    D_7008 assigned TDLINE but change the context to E1EDPT1
    and for D_7008_2
    TDLINE(context to E1EDPT1 )
                                                      ====>UDF====>D_7008_2
    Contant(=1)
    It should work becasue my map is working fine. If not let me know error message.
    Thanks
    Shubhankar

  • JDBC to IDOC scenario - Mapping problem with E1FIBSEG

    Hi friends,
    I have problem when generate multiple Idocs (FIDCC1) an multiple positions based on an External Definition for a SQL Server table. I have selected all fields from this table from a SELECT into the JDBC configuration.
    My mapping is like this:
    DWCAJA.ResultSet  1..1
         IDOC.
    Thats ok and generate n IDOCs by every change of PK.
    The problem is when i want to map positions because i dont have any field in source message to identify the number of positions to map with E1FISEG.
    If I have two differents Pks and n rows, the result of testing is as folow:
    FIDCC1
      IDOC
         E1FIKPF
             E1FISEG
             E1FISEG
      IDOC
            E1FIKPF
    I cant obtain n BSEG segments according PK. I've mapped and all fields of row segment but those are created in the first IDOC node only,
    Any suggestions?
    Regards,
    Pablo.-

    Important: Primary key : DWSucCod + DWCajSec
    Payload:
    - <row>
      <DWSucCod>11</DWSucCod>
      <DWCajSec>1</DWCajSec>
      <DWCtaConCo>1100001</DWCtaConCo>
      <DWRecImp>100</DWRecImp>
      </row>
    - <row>
      <DWSucCod>11</DWSucCod>
      <DWCajSec>1</DWCajSec>
      <DWCtaConCo>1100002</DWCtaConCo>
      <DWRecImp>200</DWRecImp>
      </row>
    Result:
    IDOC
       E1FIKPF
         E1FISEG
             hkont :1100001
             dmbtr : 100
         E1FISEG
              hkont :1100002
             dmbtr : 200
    Payload:
    - <row>
      <DWSucCod>11</DWSucCod>
      <DWCajSec>1</DWCajSec>
      <DWCtaConCo>1100002</DWCtaConCo>
      <DWRecImp>200</DWRecImp>
      </row>
    - <row>
      <DWSucCod>12</DWSucCod>
      <DWCajSec>1</DWCajSec>
      <DWCtaConCo>1100003</DWCtaConCo>
      <DWRecImp>300</DWRecImp>
      </row>
    Result:
    IDOC
       E1FIKPF
         E1FISEG
             hkont :1100002
             dmbtr : 200
    IDOC
       E1FIKPF
         E1FISEG
             hkont :1100001
             dmbtr : 300
    Payload:
    - <row>
      <DWSucCod>11</DWSucCod>
      <DWCajSec>1</DWCajSec>
      <DWCtaConCo>1100001</DWCtaConCo>
      <DWRecImp>100</DWRecImp>
      </row>
    - <row>
      <DWSucCod>11</DWSucCod>
      <DWCajSec>1</DWCajSec>
      <DWCtaConCo>1100002</DWCtaConCo>
      <DWRecImp>200</DWRecImp>
      </row>
    - <row>
      <DWSucCod>12</DWSucCod>
      <DWCajSec>1</DWCajSec>
      <DWCtaConCo>1100003</DWCtaConCo>
      <DWRecImp>300</DWRecImp>
      </row>
    Result:
    IDOC
       E1FIKPF
         E1FISEG
             hkont :1100001
             dmbtr : 100
         E1FISEG
             hkont :1100002
             dmbtr : 200
    IDOC
       E1FIKPF
         E1FISEG
             hkont :1100003
             dmbtr : 300

Maybe you are looking for

  • Vsom 7.2.1 login error

    Hi,  I need help with Vsom server,  my vsom was ok and perfect, I just restarted , and now i am having problem with login screen, domain name portion is on searching, and dont let me log in,  i am using vsom 7.2.1,  attached is the screenshot of the

  • Not getting desired output

    declare v_sys number ; v_amt number ; dt date; cursor c is (select hcode,amt,EDATE, dense_rank() over(order by hcode)x from a ); begin v_sys :=1 ; v_amt :=0 ; for var in c loop insert into b values(var.x,var.hcode); if (v_sys = var.x ) then v_amt :=

  • ANSI SQL JOIN

    Hi How to use ANSI SQL JOINS (9i) for below query SELECT EMP.EMPNO,EMP_T.TNO,EMP_T.SAL1 FROM EMP,EMP_T WHERE EMP.EMPNO=EMP_T.TNO UNION ALL SELECT EMP.EMPNO,EMP_T.TNO,EMP_T.SAL2 FROM EMP,EMP_T WHERE EMP.EMPNO=EMP_T.TNO UNION ALL SELECT EMP.EMPNO,EMP_T

  • Same content gets printed while printing copies in SRM

    Hi , I am trying to print one original and 2 copies for a PO form. There are few texts specific to the copies. I am using copies window to achieve this. All these are getting displayed correclty in the spool request. When I take the hardcopy/print th

  • Modify existing excel file (POI API)

    Hi All, Can anybody give me a reference to an example to update/modify an exsiting excel file in java. For creation of excel file I am using POI API. But not getting how to update an existing excel file using POI API. I'll be thankful for your help.