Mapping Logic

Hi ,
I have scenario, where in mapping I need to have a condition.. where the fields are not mandatory.
Below is the my Source XML:
<?xml version="1.0" encoding="UTF-8" ?>
<INVENTORYINTERFACE>
<DOCUMENT>
  <SAPFUNCTIONALITY>CONSUMPTION</SAPFUNCTIONALITY>
  <BLDAT>07.29.2011</BLDAT>
  <BUDAT>07.29.2011</BUDAT>
  <FileName>test.xml</FileName>
<MATERIALDATA>
  <MATNR>1000000000</MATNR>
<BATCHDATA>
  <CHARG>123456789</CHARG>
  <WERKS>1000</WERKS>
  <ERFMG>186.10</ERFMG>
  <ERFME>KG</ERFME>
<ID>1</ID>
<FLAG>Y</FLAG>
</BATCHDATA>
  </MATERIALDATA>
  </DOCUMENT>
  </INVENTORYINTERFACE>
Here if ID or Flag is not there then I need to process.
And If ID exists then I need to check for the Flagexistsa or not... if any of then is missing then I need to fail the mapping
How can I do so?

Hi,
1. If ID and Flag does not exist then I should be able to map to the target fields without those fields.
2. If ID and flag exists then I should be able to process the messages with having those fields in the target.
3. If any of the ID and Flag field is missing in the source then I need to fail the mapping.
>>>
You write the condition for 1 and 2 one. For third one you dont need any check because you are checking for 2 possibilites out of 3.
IF (ID exists) and IF (FL exists) 
OR  -
> Create Target Node
IF (ID not exisit) and IF (FL not exists)
regards
Ramesh
Edited by: Ramesh P on Dec 2, 2011 4:11 PM

Similar Messages

  • Message Mapping logic ...!!

    Hi Experts ,
    I am working on the below scenario where my Sender System is the Oracle Database system and Receiver System is SAP ECC
    basically JDBC->PI->IDOC  channels i am using . I need to create the below Mapping logic in order to satisfy the Interface Requirement
    Based on the Interface_Transaction_ID  each Idoc has to be Created and each Idoc should have corresponding Segments and line items . based on th value of GLAccount and Vendor Account
    My sender Payload is
    <row>
      <INTERFACE_TRANSACTION_ID>CFCV00000627</INTERFACE_TRANSACTION_ID>
      <DOC_HEADER_TEXT>5251/0115/000000/0000</DOC_HEADER_TEXT>
      <COMPANY_CODE>1610</COMPANY_CODE>
      <DOCUMENT_DATE>20110707</DOCUMENT_DATE>
      <POSTING_DATE>20110305</POSTING_DATE>
      <PERIOD>3</PERIOD>
      <DOCUMENT_TYPE>ZF</DOCUMENT_TYPE>
      <REFERENCE>45720-T</REFERENCE>
      <VENDOR_ACCOUNT></VENDOR_ACCOUNT> 
      <CF_MATERIAL_TYPE>MATTE</CF_MATERIAL_TYPE>
      <CF_ENTRY_POINT>610 Tank</CF_ENTRY_POINT>
      <CF_SOURCE>XNN</CF_SOURCE>
      <PAYMENT_TERMS></PAYMENT_TERMS>
      <BASELINE_DATE>20110305</BASELINE_DATE>
      <ASSIGNMENT>5251/0115/000</ASSIGNMENT>
       <TEXT>USD </TEXT>
       <GL_ACCOUNT>111810</GL_ACCOUNT>   
       <SPECIAL_GL_IND></SPECIAL_GL_IND>
        <PREV_DOC_NUMBER></PREV_DOC_NUMBER>
       <PREV_POSTING_DATE></PREV_POSTING_DATE>
    </row> 
    <row>
      <INTERFACE_TRANSACTION_ID>CFCV00000627</INTERFACE_TRANSACTION_ID>
      <DOC_HEADER_TEXT>5251/0115/000000/0000</DOC_HEADER_TEXT>
    <ASSIGNMENT>5251/0115/000</ASSIGNMENT>
       <TEXT>USD </TEXT>
       <GL_ACCOUNT>111821</GL_ACCOUNT>   
       <SPECIAL_GL_IND></SPECIAL_GL_IND>
        <PREV_DOC_NUMBER></PREV_DOC_NUMBER>
       <PREV_POSTING_DATE></PREV_POSTING_DATE>
    </row> 
    Row having GL_Account Value      E1BPACHE09,
                                                             E1BPACGL09, (GLvalue 111810)
                                                             E1BPACGL09, (GLvalue 111821)
                                                             E1BPACCR09,
                                                             E1BPACCR09,
                                                             E1PACEXTC  .
                                                             Field value=CFCV00000627
    Similary if Vendor_Account Value exist then only Vendor Segment (E1BPACAP09) must occur at target side
    Row having Vendor_Aaccount  Value     
                                                             E1BPACHE09,
                                                             c (Vendor value 123)
                                                             E1BPACAP09, (Vendor Value 124)
                                                             E1BPACCR09,
                                                             E1BPACCR09,
                                                             E1PACEXTC  .
                                                             Field value=CFCV00000628
    I have mapped GL_ACCOUNT -
    >E1BPACGL09 .
                             Vendor_Account---->E1BPACGL09.
    if any one have gone through simiar mapping logic kindly share and do the needfull ...
    Regards,
    Aziz khan .
    I

    Hi ,
    Here the requirement which i am looking for :
    Sender Side has below value
    <row>
         <INTERFACE_TRANSACTION_ID>CFCV00000627</INTERFACE_TRANSACTION_ID>
        <PERIOD>3</PERIOD>
        <DOCUMENT_TYPE>ZF</DOCUMENT_TYPE>
        <REFERENCE>45720-T</REFERENCE>
        <CF_MATERIAL_TYPE>MATTE</CF_MATERIAL_TYPE>
        <VENDOR_ACCOUNT>600046</VENDOR_ACCOUNT>
        <CF_ENTRY_POINT>610 Tank</CF_ENTRY_POINT>
        <CF_SOURCE>XNN</CF_SOURCE>
        <PAYMENT_TERMS></PAYMENT_TERMS>
        <BASELINE_DATE>20110305</BASELINE_DATE>
         <ASSIGNMENT>5251/0115/000</ASSIGNMENT>
         <GL_ACCOUNT>111810</GL_ACCOUNT>
         <USER_STATUS>TOHD</USER_STATUS>
         <PREV_POSTING_DATE></PREV_POSTING_DATE>
    </row>
    as you can see in the above Payload has  values where Row  is the Root element and under that the rest of fields occur (its a jdbc to idoc Scenario ) and here based on the Interface Trasaction ID the Idoc is generated . where each Idoc should have either GL Segment if GL Account Value has values and respectively Vendor idoc Segment has to be generated if Vendor Account details are present . the Sender Data will have either GL Account or Vendor Account value in a row not both. 
    below is the IDOC Strcuture how it looks for GL Account at Target side
    IDOC
      --->E1BPACHE09
            E1BPACGL09 (This is the GL Segment will have GL Account Line item)
            E1BPACAR09
            E1BPACAR09.
            E1BPACEXTC
              Filed1
    below out put should come when Vendor Account have Value
       IDOC     
            E1BPACHE09
            E1BPACAP09 (This is the Vendor Segment will have Vendor Account Line item)
            E1BPACAR09
            E1BPACAR09.
            E1BPACEXT09         
              Filed1
    Now when i duplicate the above Row
    Like
    <row>
          <INTERFACE_TRANSACTION_ID>CFCV00000627</INTERFACE_TRANSACTION_ID>
           <VENDOR_ACCOUNT></VENDOR_ACCOUNT>
           <GL_ACCOUNT>111810</GL_ACCOUNT>
    </row>
    <row>
          <INTERFACE_TRANSACTION_ID>CFCV00000627</INTERFACE_TRANSACTION_ID>
           <VENDOR_ACCOUNT></VENDOR_ACCOUNT>
           <GL_ACCOUNT>111811</GL_ACCOUNT>
    </row>
    <row>
          <INTERFACE_TRANSACTION_ID>CFCV00000627</INTERFACE_TRANSACTION_ID>
           <VENDOR_ACCOUNT></VENDOR_ACCOUNT>
           <GL_ACCOUNT>111812</GL_ACCOUNT>
    </row>
    I have Mapped the below fileds
    Interface_Transaction_ID-->SplitByValue(EachValue)>CollapseContext>IDOC 
    Interface_Transaction_ID -->Filed1 (IDOC/E1BPACEXTC/Filed1) 
    all the above 3 Row have been duplicated the 3 Rows will have 3 interface Transaction id Value=CFCV00000627 (which is same  as per the above Sender Payload ) and 3 GLAccount fields with values 111810,111811,111812 each
    If i test the data i should get the below output 1
    if GL account exists
      IDOC 1
            E1BPACHE09
            E1BPACGL09 (This is the GL Segment with value 111810)
            E1BPACGL09 (This is the GL Segment with value 111811)
            E1BPACGL09 (This is the GL Segment with value  111812)
            E1BPACAR09
            E1BPACAR0/
            E1BPACEXTC
              Filed1  (CFCV00000627)
    If Vendor account Exists then output 2  as follows
    IDOC     
              E1BPACHE09
             E1BPACAP09 (This is the Vendor Segment will have Vendor Account Line item)
             E1BPACAP09
             E1BPACAP09
             E1BPACAR09
             E1BPACAR09.
             E1BPACEXT09         
               Filed1  (CFCV00000627)
    How can i achive the above logic  .
    Regards,
    Aziz

  • Mapped logical system

    Hi Experts,
    I have a confusion to use the type of RFC connection like when
    to use ABAP connection and TCP/IP connections etc...
    I have defined one logical system and define one RFC destination and when  i am trying connect this two it is asking me to give Standard RFC destination for BAPI and dialog calls to connect to the logical system. i would like to know what is this ? why we need to give this?.
    and we assign this logical system to the Mapped logical system. i d like to know what is this mapped logical system and when we need to assign the logical system to this mapped system.
    Can anybody please clarify all my doubts.
    Thanks, Izaz.

    Hi Izaz,
    ABAP connections are given between 2 SAP systems and TCP/IP is used between ABAP and JAVA.
    Regards,
    Suman

  • Regarding Message Mapping Logic ...!

    Hi Experts ,
    I am working on the the below requirement  JDBC to IDoc scenarion in the mapping i need the below logic
    based on the existence of the Transaciton ID . the idoc followed by the segments should be created . for ex
    If Interface_Trasaction_ID= 456  THEN   Idoc 1 followed by Segments and line items
                                                                    E1BPACHE09,
                                                                    E1BPACCR09
                                                                    E1BPACCR09,
                                                                    E1PACEXTC  .
                                                                        Field value=456
    If Interface_Transaction_ID =457 THEN  Idoc  2 followed by Segments and  line items
                                                                   E1BPACHE09,
                                                                   E1BPACCR09
                                                                   E1BPACCR09,
                                                                   E1PACEXTC  .
                                                                        Field value=457
    To satisfy the above logic i have mapped Transaction id > SplitByValue->CollapseContext--->Idoc
    But the same Mapping Logic is not working when Sender payload is triggred having  Repeated Transcation_Id value ias given below if Transaction ID= 456 ,
                  Transaction ID= 457,
                  Transaction ID= 457,
                  Transaction ID= 456 .
    then  output should have only 2 Idoc  Followed by segments where Field Value will be 456, 457
    I have mapped Transaction id -->Field Value .
    let me know how can achive the above logic ...!!

    Hi Aziz,
    you can use UDF
    Transaction IDRemoveContext-->sortUDF- SplitByValue->CollapseContext--->Idoc
    public void removeDuplicate(String[] Value, ResultList result, Container container) throws StreamTransformationException{
    String temp = Value[0];
    result.addValue(Value[0]);
    for(int i=0;i<Value.length;i++)
       if(!(Value<i>.equals(temp)))
            result.addValue(Value<i>);
       temp=Value<i>;

  • No mapping logic : soap to proxy scenario

    Hi,
    I have a soap to proxy scneario with no mapping logic.wanted to confirm certain things.
    Wanted to confirm certain things.
    1) So i can exclude mapping and interface mapping step since i just need to pass value to proxy ?
    2) in interface determination ,what i need to provide for interface mapping ?
    3) sync proxy will be generated from one outbound message interface "( there will be only one outbound message interface which will be synchronous  : which will be synchronous ?
    4) in receiver business system , i need not put any message interface since we only have one outbound sync message interface
    Thnx

    how many message interfaces wil be needed for synchronous scneario without mapping ?
    Two....one for Sender (Outbound) and one for receiver (Inbound)
    in case ur answer is 2 for above ? proxy needs to be generated from outbound or inbound interface?
    For your SOAP --> XI/ PI --> PROXY, scenario the proxy should be generated for the inbound interface
    1) So i can exclude mapping and interface mapping step since i just need to pass value to proxy ?
    If both the source and target structures are the same , then you do not need to perform mapping....do not create message and Interface mapping .....you should however create Interface Determination with appropriate Source and Target interfaces.
    2) in interface determination ,what i need to provide for interface mapping ?
    Nothing.....including a mapping is not mandatory.
    4) in receiver business system , i need not put any message interface since we only have one outbound sync message
    interface
    The message interface needs to be associated with the Business System.....it will be the inbound interface for SOAP --> XI --> PROXY scenario.
    Regards,
    Abhishek.

  • Biztalk Map Logic

    Hi,
    I have the Biztalk Map logic as shown in figure
    Discount Step and Loyalty both are repeatitive node structures
    Sample Input Xml is as shown below
    <DiscountStepList>
     <DiscountStep>
      <NumberOfTrips>35</NumberOfTrips>
      <Percentage>1113</Percentage>
      </DiscountStep>
     <DiscountStep>
      <NumberOfTrips>5</NumberOfTrips>
      <Percentage>7732</Percentage>
      </DiscountStep>
     <DiscountStep>
      <NumberOfTrips>30</NumberOfTrips>
      <Percentage>8280</Percentage>
      </DiscountStep>
       </DiscountStepList>
    the logic to get the o/p will be
    For Childe Element MIntrip:
    in the first iteration Mintrip=1 and in Secoond iteration Mintrip=Last elememnt Maxtrips+1
    For CHild Element Maxtrips:
    In the first Iteration Maxtrips="NumberOfTrips" and in Second iteration current element MintripNum  + NumberOfTrips.
    The o/p for the above input example will be like
    <ns0:Loyalites xmlns:ns0="http://BizTalk_Server_Project7.Schemdfa1">
      <Loaylty>
        <MinTrip>1</MinTrip>
        <MaxTrips>35</MaxTrips>
      </Loaylty>
    <Loaylty>
        <MinTrip>36</MinTrip>
        <MaxTrips>41(36+5)</MaxTrips>
      </Loaylty>
    <Loaylty>
        <MinTrip>36</MinTrip>
        <MaxTrips>41(36+5)</MaxTrips>
      </Loaylty>
    <Loaylty>
        <MinTrip>42</MinTrip>
        <MaxTrips>72(42+30)</MaxTrips>
      </Loaylty>
    </ns0:Loyalites>
    Is it possible in Biztalk Map using functoids?

    Sujith,
    You got to buy me a drink :)
    You can achive this using XSLT in your map, following XSLT will get the desired result:
    <?xml version="1.0" encoding="UTF-16"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:var="http://schemas.microsoft.com/BizTalk/2003/var" exclude-result-prefixes="msxsl var" version="1.0" xmlns:ns0="http://BizTalk_Server_Project7.Schemdfa1" >
    <xsl:output omit-xml-declaration="yes" method="xml" version="1.0" />
    <xsl:template match="/">
    <xsl:apply-templates select="/DiscountStepList" />
    </xsl:template>
    <xsl:template match="/DiscountStepList">
    <ns0:Loyalites>
    <xsl:for-each select="DiscountStep">
    <xsl:if test="position() =1">
    <Loaylty>
    <MinTrip>
    <xsl:value-of select="position()" />
    </MinTrip>
    <MaxTrips>
    <xsl:value-of select="NumberOfTrips/text()" />
    </MaxTrips>
    </Loaylty>
    <xsl:call-template name="ConstructNextLoayltyNode">
    <xsl:with-param name="i" select="2"/>
    <xsl:with-param name="limit" select="count(/DiscountStepList/DiscountStep)"/>
    <xsl:with-param name="vMaxTrips" select="NumberOfTrips/text()"/>
    </xsl:call-template>
    </xsl:if>
    </xsl:for-each>
    </ns0:Loyalites>
    </xsl:template>
    <xsl:template name="ConstructNextLoayltyNode">
    <xsl:param name="i"/>
    <xsl:param name="limit"/>
    <xsl:param name="vMaxTrips"/>
    <xsl:if test="$i &lt;= $limit">
    <Loaylty>
    <MinTrip>
    <xsl:value-of select="$vMaxTrips + 1" />
    </MinTrip>
    <MaxTrips>
    <xsl:value-of select="$vMaxTrips + 1 +/DiscountStepList/DiscountStep[$i]/NumberOfTrips/text() " />
    </MaxTrips>
    </Loaylty>
    <xsl:call-template name="ConstructNextLoayltyNode">
    <xsl:with-param name="i" select="$i+1"/>
    <xsl:with-param name="limit" select="$limit"/>
    <xsl:with-param name="vMaxTrips" select="$vMaxTrips + 1 +/DiscountStepList/DiscountStep[$i]/NumberOfTrips/text()"/>
    </xsl:call-template>
    </xsl:if>
    </xsl:template>
    </xsl:stylesheet>
    Note: You may have to change the namespace as yours. And also the output sample you have show has repeated node as following which is correct.
    <Loaylty>
        <MinTrip>36</MinTrip>
        <MaxTrips>41(36+5)</MaxTrips>
      </Loaylty>
    <Loaylty>
        <MinTrip>36</MinTrip>
        <MaxTrips>41(36+5)</MaxTrips>
      </Loaylty>
    For your requirement you will get the out as following which your requirement:
    <ns0:Loyalites xmlns:ns0="http://BizTalk_Server_Project7.Schemdfa1">
    <Loaylty>
    <MinTrip>1</MinTrip>
    <MaxTrips>35</MaxTrips>
    </Loaylty>
    <Loaylty>
    <MinTrip>36</MinTrip>
    <MaxTrips>41</MaxTrips>
    </Loaylty>
    <Loaylty>
    <MinTrip>42</MinTrip>
    <MaxTrips>72</MaxTrips>
    </Loaylty>
    </ns0:Loyalites>
    Regards,
    M.R.Ashwin Prabhu
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Need Mapping logic for the following scenario

    Hi everyone,
    I need a mapping logic for the following scenario.
    For the same order no with same material no, the quantity should be summed and only one idoc should be created.
    For the same order no with different material no, no need to sum the quantity and only one idoc should be created.
    For example:
    Source Structure:
    Ord No      Mat No      QTY
    12               1               2
    13               1               3
    13               2               1
    12               2               4
    15               1               5
    14                3              7
    12               1              6
    Target Structure:
    Ord No      Mat No      QTY
    12               1               8
    12               2               4
    13               1               3
    13               2               1
    14               3              7
    15               1              5
    Thanks in Advance

    Try the graphical mapping as shown below using concat with a space as delimite and UDF to split the value again by space.
    1. Idoc node
    (RootContext)
    OrdNo
         |concat[ ] -> sort[asending] -> SplitByValue -> collapseContexts -> Idoc
    MatNo                case sensitive    [ValueChange]                              
    (RootContext)
    2. OrdNo
    OrdNo(RC)
         |concat[ ] -> sort[asending] ->SplitByValue->collapseContexts->SplitByVale-> UDF to fetch ordno  -> OrdNo
    MatNo(RC)           case sensitive    [ValueChange]                [eachValue]   (return var1.split(" ")[0];)
    3. MatNo
    OrdNo(RC)
         |concat[ ] -> sort[asending] -> SplitByValue ->collapseContexts->SplitByVale-> UDF to fetch ordno  -> MatNo
    MatNo(RC)              case sensitive    [ValueChange]                  [eachValue]   (return var1.split(" ")[1];)
    4. Qty
                   [asending,case sensitive]               
                   --  sortByKey -----> formatByExample -> sum ->Qty
    OrdNo(RC)           |          |          ^          
         |concat[ ] -> |            Qty(RC)          |
    MatNo(RC)           |                |     
                   --sort[asending]-> SplitByValue
                       case sensitive    [ValueChange]
    Regards,
    Sunil Chandra

  • Error : message mapping logic in PI

    Dear Team,
    Please find the source and target structures..
    Source ::
    ->MT
    -->records
    --->matnr
    --->batch
    --->submatnr(s)
    Target::
    ->ZRFC
    -->Import
    --->Item
    >matnr
    >batch
    >submatnr
    1) It is SOAP to RFC scenario. In Source strcuture for one matnr , we have one or more submatnrs.
    2)RFC in R/3 contains Import parameters as..matnr,batch,submatnr(onlyone).
    3)I want to build mapping - for each submatnr in source I want to create one complete record in target .i.e
    if matnr contains 2 submatnrs in source , i want to create 2 records at target side like
    first record - matnr,batch,submatnr 
    second record - matnr,batch,submatnr.
    here in both records the matnr and batch values are same , which we have taken from source but submatnrs changed.
    Can any body help me how to build mapping.
    -Drumi

    Hi,
    I assumed that submatnr occurance 1 to unbounded...
    here is the logic
    map
    Submatnr----->SplibyValue(ValueChange)-->RemoveContect-->Item
    matnr1---->useoneAsmany(1st argument Matnr1,second and third arugument submatnr)--->splitbyValue(EachValue)-->Matnr1.
    batch1---->useoneAsmany(1st argument batch11,second and third arugument submatnr)--->splitbyValue(EachValue)-->batch1
    submatnr-->removecontext-->splitbyevalue(eachvalue)--->submatnr
    Regards,
    Raj

  • Question about mapping logical sources to dimensions

    1) On my physical layer I have one fact table (FACTS_DETAILS) linked with CATEGORY dimension table. Other fact tables (aggregated data) don't linked with this CATEGORY dimension with physical joins.
    2) On my BMM layer I have mapped my dimension "Category" with my FACT_DETAILS.
    3) Other LSTs don't mapped on "Category" dimension, as they do not linked with Categories on physical layer.
    4) When I try to display detailed facts by CATEGORY - it's ok.
    5) When I add another dimension (For example, COUNTRY) i get error, because COUNTRY dimension isn't compatible with my FACTS_DETAILS.
    The question is: how to avoid displaying error message at Answers in such situation? Maybe it is possible just to not display data without error message?

    Sounds like you need to architect your physical/logical model a bit better and also you need to set the appropriate levels in the LTS for your facts and dimension logical table sources.

  • Need help in Mapping Logic

    Hi all,
    In mapping i need to mapp like this
    Idoc--file scenario, sending delivery document to file system
    in header of file structure, i have a field called Total Units, the logic for this field shld be
    Sum up the field ZCONV_QUAN for each delivery.
    How to do this please help me
    Regards

    Hi satish,
    I have to do some thing more in this.
    As you said i mapped the field to sum and to target field.its fine
    Now this field is there at header level and comes only ones, i should repeat this field as many number of times the line item repeats.
    Now iam using the ligic like this
    ZCONV_QUAN--UseOneAsMany-Sum--Target Field
    to UseOnaAsMany function i mapped ZCONV_QUAN as first argument and changed the context to Idoc and the second argument as line Item segment changed the context to Idoc, third argument as line itme segment.
    its giving the error as
    Too many values in first queue in function useOneAsMany. It must have the same number of contexts as second queue
    Regards

  • Help needed on Mapping logic

    Hi guys,
    I have logic like,
    pernr>logic>pernr.
    Pernr is the first field.
    Whenever the logic fails, it should not process rest of the below fields.
    it should directly go to next record.
    Any ideas.......
    santosh.

    You can achieve this using gloval variable.
    1. right click on the parent node  of pernr. -
    >Add Variable (say ifPernrTrue)
    2. Map this variable with the same logic and give value "true" if logic successful and "false" if logic fails
    Whenever the logic fails, it should not process rest of the below fields.
    3.Map rest of fields as :
    ifPernrTrue (the variable u created) \
    >   if  (without else )  -
    > fields...
                   source filed     /

  • Mapping Logic in XI for Idoc to File

    Hi All,
    I have the scenario like this Idoc to File
    I have Quantity field inside E1EDL24(Line Item)--E1EDL43Quantity, i have to Sum up the Quantity field.
    I have used the ligic like this and works perfectly.
    Quantity--Sum-Total and the context od Quantity is set to IDOC level.
    Now the problem is, Inside the Line item(E1EDL24) Segment, we have E1EDL43 Segment and this E1EDL43 can repeats twice
    then, i have to consider only first Segment quantity value coming from E1EDL43 . I should not take the second E1EDL43 segment .
    But here in my case what is  happening is while doing the SUM function it is considering the second segment quantity also. and giving the total.
    For Example...
    -E1EDl24
    --E1EDL43
    ---Quantity -
    20
    --E1EDL43
    ---Quantity -
    30
    And second line item
    -E1EDl24
    --E1EDL43
    ---Quantity -
    10
    --E1EDL43
    ---Quantity -
    50
    In this case i shld get 20 + 10 = 30
    But iam getting 203010+50 = 110 which is not correct.
    Please help me on this
    Regards

    set the context to Idoc level
    use the UDF
    int sum=0;
    for(int i=0;i<a.length;i++)
    sum =sum + Integer.parseInt(a<i>);
    i++;
    String res = sum;
    return res;
    Do the mapping as
    Quantity----->UDF---->Total
    this  logic works if  E1EDL43 should  repeats twice

  • Beat Mapping Logic 9 Problem

    Hi.
    I'm having difficulty getting beat mapping to work with Logic 9.1.6.
    I have tried to select the notes in my guide sequence but that yellow line all too often refuses to line up with the start of the relevant note. I tried copying all the beat notes to another region to use the Beats from Region facility but got a message saying “Setting this beat would have caused the corresponding tempo value being too high. Try to delete bars.” When I applied the operation some midi had moved (locked and unlocked) and there were some pretty extreme tempo changes – up to 990 bpm in a song that actually ranges in tempo between about 40-120 bpm. I tried turning the guide track into an audio file to use the “Detect” function but it was still wildly inaccurate.
    Has anyone got an idea what I may be doing wrong? Is there a setting in the program that needs to be activated before beat mapping will work accurately? Any help would be greatly appreciated.
    Thanks in advance.
    Colin

    Hi Cauldblast, to save me a lengthy text explanation, here's everything one should know about Beat Mapping:
    http://www.youtube.com/watch?v=p5Ro592Wea8&feature=share&list=PLpJ7oPngMm-XnTvAw vABpVdKdfzpVthcJ&index=7
    Good luck and have a nice day!

  • How to map logical type to varchar(max)?

    Hello fellow modelers and developers,
    I created a logical model of a database in SDDM and trying to create a relational model for Oracle, DB2 and MSS. The one for Oracle seams fine, but the MSS one is kinda tricky as it seams impossible to map my logical data type "CLOB" to a varchar(max). Of course I could map to TEXT, but according to the SQLServer documentation, I should not use it, but varchar(max) instead.
    If I import a DDL file which contains a varchar(max), SDDM creates a DOMAIN with "varchar" as logical type and "max" as size, but the DDL export will contain no size. If there is a way to add this one single tiny data type in my exported DDL without having to do a search replace afterwards I would really like to know.
    greetings from Vienna.
    edit:
    BTW, I am using version 3.0.04.34 on Windows 7 64-bit
    Edited by: 896729 on Nov 11, 2011 10:14 AM

    Hello atschabu,
    thanks for feedback. I logged a bug for that. It'll be tricky to import it - normally varchar is mapped to Varchar logical type but varchar(max) is something else. Probably we'll create domain and customer can assign proper logical type to it later.
    Philip

  • Mapping logic needed

    Hi frnds,
    i am doing an idoc-file scneario...below are teh strcuturess
    Idoc:
    ---ZTXT(NOde)
       ---ZLine1(Subnode)   [0:10 occurance]
            Name(Attribute)
             Value(Attribute)     
    File:
    ---TXT(NOde)
          --Cost
          --rate
          --excValue
    The Logic is if Name Attribute is equal to "Cost"(name of the field in target)  then value should be mapped to "Cost" fieldOr if Name attribute is equal to "rate"(name of the field in target) then the value should be mapped to  "rate"
    I tried with using "if then" fn but when the Zline1 node is repeated with different its generating only one value on the target side . its not generating multiplpe values..(Ex say if we have values as cost and rate being repeated in Idoc its generating only one field cost in file no value is entered for rate )
    Can you help me where i am  going wrong..

    Hi,
    Similar to this
    <@Name> -------------->                    <@value>-->
                          <equalsS> ------------------>  <if   then else> -----> <Cost>
    <Constant = cost> ----->                <constant = blank> --->
    Have you done the mapping for Rates as well?
    <@Name> -------------->                    <@value>-->
                          <equalsS> ------------------>  <if   then else> -----> <Rate>
    <Constant = rates> ----->                <constant = blank> --->
    Regards,
    Aravind

  • Mapping Logical address in AD to a physical address in SAP Portal

    Dear All,
    We have a Logical field named "empcode" in Active Directory.
    I need to map it with a physical field in SAP Portal.
    Kindly assist me in the same.
    Thank you,
    Regards,
    Disha.

    Hi Disha,
    The following example would help you understand the process
    http://help.sap.com/saphelp_nw70/helpdata/en/44/7d188751626fb5e10000000a155369/content.htm
    Case 1:
    If you want to map the attribute to the existing logical attribute in SAP. Then simply change under the section  <attributeMapping>
    Case 2:
    You can create a new logical attribute and then do the mapping. This is clearly shown in the example itself.
    Regards,
    Mahesh

Maybe you are looking for

  • When i turn on my Mac all of my apps pop up randomly. How can I get them to stop popping up?

    I have a MacBook Pro and i love it! But when I turn the computer on my applications such as mail calender ex. pop up and i can't make them stop doing that. How can I get them to stop popping up? Please comment with help!!

  • Songs and playlists missing in apple TV

    itunes match is working on all my devices except the apple TV. None of my non-itunes songs or playlists are available on the apple tv. I have it showing all playlists on the apple tv and itunes match is activated on it. I am able to listen to itunes

  • On Workflow completion in ECC create Service ticket in CRM

    Hi Experts, Our client requirement is to create service ticket in CRM on completion of work flow in R3 system. Can anyone please advice me how to achieve the above requirement. Thanks in advance Kind Regards, Veined.

  • Mac App Store Keeps Crashing When Trying To Update

    I keep getting a NSInvalidArgumentException when I click on the updates tab in the mac App Store. Not really sure how to resolve the issue. Has anyone seen this before? Process:         App Store [660] Path:            /Applications/App Store.app/Con

  • A v$sqlarea question

    Hi, How is it possible that a sql in v$sqlarea has 1 executions but first_load_time is different from last_load_time? If first_load_time is different from last_load_time, is it required that sql should run at least 2 times. Oracle 10.2.0.4.0 on IBM A