Mapping Issue: Target IDoc structure not getting created properly

Hi Experts,
I am stuck with a strange problem in my mapping. It is a M:N scenario mapping where we have multiple IDocs in source as well as in target.
For example, in source Queue-1 I am getting values as [SUPPRESS, true, true, true, true] and in the in source Queue-2 I am getting the values as [1,2,3,4,5]. I used MapWithDefault function to match the number of values in both the queues but in the target IDoc the node (say TMPN) is created only 4 times because of the condition put at the target node. So, the target node should have values as [1,2,3,4] but it gets values as [2,3,4,5] because the first target TMPN node is not created in the first target IDoc. I can provide you with the skeleton of the map. Hope this will give you a fair idea. Let me know if you require more details.
1. Target Structure:
    IDoc - No TMPN Node
    IDoc - 1 TMPN Node
    IDoc - 2 TMPN nodes
    IDoc - 1 TMPN node
Condition put on target TMPN_Node ---> (created only 4 times due to condition)
2. Mapping Skeleton:
Values coming from Q1 (SUPPRESS, true, true, true, true) --->
                                                                                \===>FORMATBYEXAMPLE+SPLITBYVALUE==> TMPN-F0 [2]
                                                                                /                                                                              TMPN-F0 [3]
Values coming from Q2 (1,2,3,4,5) -
>                                                                               TMPN-F0 [4]
                                                                                TMPN-F0 [5]
Where F0 is  the field which is created when TMPN Node is created. So, if TMPN gets created 6 times, the F0 gets created 6 times.
Please let me know if there is an alternative to this problem. How can I have values as [1,2,3,4] in field F0 instead of [2,3,4,5]

hi,
i got the email.
as i can see your mapping seams to be rigth, but there is sometrhing i dont get. in a previuos post you said:
I am stuck with a strange problem in my mapping. It is a M:N scenario mapping where we have multiple IDocs in source as well as in target.
For example, in source Queue-1 I am getting values as SUPPRESS, true, true, true, true and in the in source Queue-2 I am getting the values as 1,2,3,4,5. I used MapWithDefault function to match the number of values in both the queues but in the target IDoc the node (say TMPN) is created only 4 times because of the condition put at the target node. So, the target node should have values as 1,2,3,4 but it gets values as 2,3,4,5 because the first target TMPN node is not created in the first target IDoc. I can provide you with the skeleton of the map. Hope this will give you a fair idea. Let me know if you require more details.
1. Target Structure:
IDoc - No TMPN Node
IDoc - 1 TMPN Node
IDoc - 2 TMPN nodes
IDoc - 1 TMPN node
lets asume you define as default value "1"
now, the result of the formatByExample taking the example you sent to me is:
1,T1,T2,T3,T4 without context change. and the result of the function splitByValue should be what you are specting.
but its something that is not clear still,
could you post the result of the mapWithDefault? i think your problem is there.
Rgds
RP-.

Similar Messages

  • Infotype 1000, Position data IDOC is not getting created via RBDMIDOC

    Hi All,
    We are using PFAL styandard HRMD_A message type,  while executing RBDMIDOC with message type HRMD_A, all the infotypes data IDOC is created except Infotype 1000 Position(S).
    The same is (Infotype 1000, position IDOC is created in dev server) but the same is not getting created in Quality and Prod.
    Can any one suggest the same, what could be the error.
    Thanks.

    Hi,
    You need to check in your filter settings in BD64 for your corresponding distribution model, if you have included IT1000 for PD objects such as O, C, S. After adding this filter group, you have to distribute the source system into the target system (Edit > Model view> distribute). In the target system, you have to generate partner profiles (environment> generate partner profiles).
    Hope it helps,
    Christine

  • Sequence is not getting created properly while importing

    Hi,
    I have problem with sequence
    1 ) I Did an export and it was successful without any errors.
    2) I created a blank database with the necessary tables spaces
    3) I did the import, there was no major errors.
    After importing I noticed my sequence numbers are not in order.
    For an example in purchase_order sequence the next value is 3655, where as in the purchase order table the last purchase order number is 3690. So when I try to insert any new purchase order I get the error object already exist.
    I droped all the sequence, did a import with the following command.
    imp system/pwd file=imp.dmp log=seq.log fromuser=application touser=application rows=n grants=n indexes=n constraints=n
    Still I don’t get the proper sequence, How can i make sure my sequnce get recreated properly.
    How can I resolve this. I am running on oracle 10.2.0.3.
    Thank you

    Anand,
    evidently you didn't read my link above... and your suggestion might be very dangerous...
    With the scenario posted by OP, data are inconsistent, and there could be other (and worse) problems if importing in that way.
    The only way to avoid inconsistencies while exporting is using CONSISTENT=Y option, unless you are absolutely sure that nobody is using your DB in the meanwhile.

  • For the new delivery type created the Idoc is not getting triggered

    Hi All,
    I am facing the following problem:
    For every outbound delivery getting created we have an Idoc which creates the file(sending the outbound delivery details), this file is sent to a system where the picking & packing of the goods happen. This process seems to be working fine for all the existing delivery types, but now we created a new delivery type for which the Idoc is not getting triggered.
    Would like to understand what setting are we missing because of which the Idoc is not getting created for the new delivery type.
    The Idoc being used is:   DESADV01
    Message type :DESADV
    Thanks,
    Geeta

    I believe your existing idocs are created through a output type on the delivery ? if yes, probably you need to configure an existing output type / create a new output type for your new delivery type...

  • File not getting created in Target Directory..........

    Hi All,
               We are trying a IDOC-File scenario & trying to create a XML file on the receiver side........All the mappings have been checked & everything is working fine.It shows success in SXMB_MONI. But the file is not getting created at the target directory..... Checked the component Monitoring and message  monitoring as well, which is also successful...
    What could be the reason of such behaviour, and is there a way to track the where the target file is getting placed?
    Please Help
    Regards,
    Jayashri

    >
    Jayashri Rade wrote:
    > Hi All,
    >            We are trying a IDOC-File scenario & trying to create a XML file on the receiver side........All the mappings have been checked & everything is working fine.It shows success in SXMB_MONI. But the file is not getting created at the target directory..... Checked the component Monitoring and message  monitoring as well, which is also successful...
    i
    Did you check the receiver communication channel in communication channel monitoring?
    Are there any errors?

  • Production version is not getting created using ALE-IDOC

    Hi all,
    Am using BD10 to transfer the material from sending to receving system.All the views are geting sent successfuly accept the production version tab data of MRP4 view.The segment is available in the standard IDOC.But prodction TAB  is not getting created at receving system .Please help to resolve this issue.
    Thank you.

    Hi Sanu,
    BD10 Send Material..
    the reason might be Production tab is not created is the segment is not a mandatory..
    and the data is not populating for that fields.
    if the segment is not madatorty and data is not available for the fields in the segment ..the prodction TAB  will not be created ..
    Regards,
    Prabhudas

  • Sub node is not getting created

    Hi Experts
    I have IDOC to SOAP scenario, here the subnode is not getting created in the main node. please help me
    Structure is given below
    Source
    Matmas
          IDOC
              e1m -
    (1...9999 ) occurance
    Target
    Target
    XMLDATA  --- (1.. UNBOUNDED)
         SUBNODE1 ---(1.1)
              SUBNODE2 ---(1.)  -- UNDER SUBNODE1
              SUBNODE3----(0...UNBOUNDED) -- UNDER SUBNODE1.
    Quesion 1.
    now i want XMLDATA node to be repeated as many times as e1m comes from source along with both the subnodes 2 and 3 at target side.
    but i could see only subnode2 is getting created not the subnode3 while testing.
    May i know why is this happening.
    I want the SUBNODE3 also be created.
    Note the occurance of SUBNODE3  is 0.. unbounded
    Question 2:
    I want the SUBNODE3 also to be repeated as many times as e1m node comes from source.
    For example:
    e1m comes twice then the target should be as below
    XMLDATA  --- (1.. UNBOUNDED)    
    SUBNODE1 ---(1.1)
              SUBNODE2 ---(1.)  -- UNDER SUBNODE1
              SUBNODE3----(0...UNBOUNDED) -- UNDER SUBNODE1.
    SUBNODE3----(0...UNBOUNDED) -- UNDER SUBNODE1.
    XMLDATA  --- (1.. UNBOUNDED)    
    SUBNODE1 ---(1.1)
              SUBNODE2 ---(1.)  -- UNDER SUBNODE1
              SUBNODE3----(0...UNBOUNDED) -- UNDER SUBNODE1.
    SUBNODE3----(0...UNBOUNDED) -- UNDER SUBNODE1.
    Regards
    Lara

    Please see the below logic:
    E1MARAM --> XMLNODE
    E1MARAM --> useOneAsMany_customUDF -->SUBNODE3
    E1MARAM/MATNR -->  useOneAsMany_customUDF --> SUBNODE3/MATNR
    E1MARAM/xyzfield -->  useOneAsMany_customUDF --> SUBNODE3/xyzfield
    Source:
    <?xml version="1.0" encoding="UTF-8"?>
    <MATMAS05>
       <IDOC>
          <E1MARAM>
             <MATNR>123</MATNR>
          </E1MARAM>
          <E1MARAM>
             <MATNR>1234</MATNR>
          </E1MARAM>
       </IDOC>
    </MATMAS05>
    Target
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_Test xmlns:ns0="urn:test-2:test:area">
       <XMLDATA>
          <SUBNODE1>
             <SUBNODE2/>
             <SUBNODE3>
                <MATNR>123</MATNR>
             </SUBNODE3>
             <SUBNODE3>
                <MATNR>1234</MATNR>
             </SUBNODE3>
          </SUBNODE1>
       </XMLDATA>
       <XMLDATA>
          <SUBNODE1>
             <SUBNODE2/>
             <SUBNODE3>
                <MATNR>123</MATNR>
             </SUBNODE3>
             <SUBNODE3>
                <MATNR>1234</MATNR>
             </SUBNODE3>
          </SUBNODE1>
       </XMLDATA>
    </ns0:MT_Test>
    useOneAsMany_customUDF
    for(int i =0;i<var1.length;i++)
       for(int j=0;j<var1.length;j++)
          result.addValue(var1[j]);
        result.addContextChange();
    Hope it helps!

  • Mapping issue in idoc to JDBC scenario

    mapping issue in idoc to JDBC scenario
    source structure
    E1KNB1M
      BUKRS = 1000
    E1KNB1M
      BUKRS=  9000
    E1KNB1M
      BUKRS=  2000
    THE NODE E1KNB1M is repeated many times and the field BUKRS is also repeated with E1KNB1M as above
    TARGET field : ISFRANCHISE
    if any where value of BUKRS =9000 we have to pass Y to the target filed, else N
    if BUKRS = 9000   THEN ISFRANCHISE= Y
                   ELSE
                ISFRANCHISE=N
    I've done the mapping as below
    BUKRS = 9000--> IF THEN Y ELSE N--
    > ISFRANCHISE
    BUT everry time the target value is N only
    pl suggest
    rgds
    mojib

    mapped like this
    BUKRS--->SORT---->
                                                 EQUALS --------IF---THEN    Y
    9000------------------------>                                               ----------------->ISFRANCHISE
                                                                  ELSE   N
    context of BUKRS set to parent node
    its worked
    thanks to all for valuable suggestions
    rgds
    mojib

  • File not getting created at the Reciever

    Hi All,
    I have implemented a simeple file to file scenario. The file is getting deleted from the source directory but is not getting created in the target directory. It shows a checkered flag in SXMB_MONI . When i do Communication Channel monitoring for the reciever Comm. Channel, it shows no messsages .
    I have refreshed the Cache in Integration directory. it is still not working.
    I tried using a different Communication channel with the Mail adapter that is working fine.
    I cant figure out what the problem is please help.
    Many Thanks,
    Neha

    Hi! Neha,
    Here i want to add some points :
    Even I faced same problem in project....... then I followed this procedure...
    My scenario is FILE TO RFC via FTP Server in file adapter.
    Here issue is file is picking from FTP and showing success in MONI but data is not reaching to BW system..
    Most of the times I checked and I did successfully.
    Main issue are due to:::
    1. Check Queues in Inbound queue SMq2
    2. Trace teh step by step in message flow in message monitoring that means check whether message flows
            from a) Intergration Engine
                   b) Adapter Engine..
    3. Check and trace the flow in Message monitoring in Run Time work Bench
    4. Check Status of Receiver communication Channel in Communication channel Monitoring
    5) Check whether Business Services are Scheduled in Availability Time planning or not
    6  Also Check in Visual admin whether the services are released or not if any others are might using the same servivcees and cahnnels and suppose if they are scheduled or not
    7. Do Cache Refresh mainly SXI CACHE, ADAPTER ENGINE CACHE
    8 Finally if still not resolved J2EE ENgine SOFT Restart..instead of doing restarting entire XIengine server.
    Once the Server is started then defintely all the messages if suppose if 40 messages are picked from source directory and not reached to Target then all those definetely 100% become success and reached
    Note:: All above needs to check only if development part is correctly configured.
    Also check the Receiver target and sender directory Permissions in FTP Server i.e., rwx permissions okay
    Thanks
    Amar Srinivas Eli
    Reward Points if useful

  • AUC Asset not getting created when Internal Order is created

    Dear Experts,
    While Creating the internal order ( Object Class - Investment Measure)
    AuC (Asset Under Construction) not getting created automaticall . Note Investment profile is already there in the order.
    Following steps below are configured -
    1. Define the AuC Asset Class (with investment measure) - OAOA
    2. Define the Asset Class u2013 for Main Asset - OAOA
    3. Define Investment Profile - OITA
    a. Assign the AuC Asset Class (Step-1) in the investment profile
    4. Assign Investment Profile to Model Order - OITA
    5. Define Order Type (Investment) - KOT2
    a. Settlement Profile - OKO7
    b. Maintain Allocation Structures - OKO6
    Thanks
    Sanjai

    Hi Sreekanth,
    What is the setting needed to create AUC Automatically when an Internal order is created ?
    I have done all the setting, but still when I save Internal order neither AUC asset is getting created.
    So I went to extras selected create AUC and it went to AS01, but when I came back (F3) from AS01 to Internal Order and save , Auc Asset is not getting captured in the settlement rule. I even tried to give manually the AUC Asset in the settlement rule, for which sys is not allowing in the settlement rule.
    Any thoughts are highly appreciated
    Advance Thanks
    Sanjai

  • WBS Elements not getting created in ECC Project System from CRM 7.0

    Dear all,
    We are trying to integrate SAP CRM 7.0 with SAP ECC-PS module. The objective is to bring in the marketing plan and elements data from the CRM system, and to create the corresponding WBS in project system. We have done most of the configuration as recommended by SAP in both the systems, and we see that the BDOCS are getting generated and sent to the ECC system. The following steps have been successfully completed:
    1.       Set up the RFC connections between the two systems
    2.       Selected the connection type as Middleware in CRM system.
    3.       Installed the cProject Add on in CRM box.
    4.       Created a project scenario (with project and network profiles) in the PS system and assigned the same in the CRM system.
    5.       The Project Scenario in PS config has the same name as the Project Type in CRM config.
    6.       Created and released the campaign ids being created in the CRM system.
    As already mentioned, we can see that the BDOCS are coming to the ECC system and are getting stored in BDOC_TRACK table. However the issue is that the corresponding WBS elements are not getting generated in the ECC system. Is there anything that that we are missing in the ECC box which would trigger the WBS element creation?
    Request you all to share your inputs which would be immensely beneficial for us in achieving this integration.
    Thanks and Kind Regards,
    Aditya Shrivastava

    Hello Aditya,
    We too are facing this issue.. if you have resolved the issue could you please let us know the solution ?
    Some inputs related to our system,
    We have upgrade from CRM 4.0 to CRM 7.0 SP07 and R/3 backend system is on 4.7 SP27, earlier we have completed the upgrade on sandbox without any issues which was upgrade to CRM 7.0 SP04 but with SP07 we are facing the problem of WBS Element not getting created in R/3.
    Your help is highly appreciated.
    Thanks & Regards,
    Sumukh Kapoor.

  • Attachment not getting created in PI from CRM

    Hi Everyone,
    I am trying to create attachments in PI from CRM but it is not getting created there. I am executing the following steps:
    By default I am getting the attachment data in Binary format so I am using this function module to convert it into XSTRING format.
              CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
                              EXPORTING
                         input_length = lv_input_length
                         first_line   = lv_first_line
                         last_line    = lv_last_line
                       IMPORTING
                         buffer       = lv_xbuffer
                       TABLES
                         binary_tab   = file_content_binary.
       2. Then I am getting the server context and the protocol.
                           obj_server_context = cl_proxy_access=>get_server_context( ).
                           obj_attch_protocol ?= obj_server_context->get_protocol( if_wsprotocol=>attachments ).
    * Assign File naame to STRING Variable
                           lv_name =  lv_filename.
    * Attach file to the service response.
                           obj_attachment = obj_attch_protocol->get_attachment_from_binary(
                                      data = lv_xbuffer
                                      type = if_ai_attachment=>c_mimetype_pdf
                                      name = lv_name ).
                           APPEND obj_attachment TO t_prx_attach.
                           obj_attch_protocol->set_attachments( t_prx_attach ).
       3. Then I am using a proxy class which has Input and Output structures for sending data to PI and getting the response respectively. And then in the end I am calling the proxy and passing the structures.
         With this I am unable to see the attachmenmts in sxmb_moni transaction. Please help.

    Hi Gurus,
    Can you please help with some pointers on this.
    I have used below links as reference for coding.
    Link 1 :
    http://help.sap.com/saphelp_nw04/helpdata/en/a7/3b2a2d45a34a23b75e3b18745c63bc/content.htm
    Link 2:
    http://scn.sap.com/community/pi-and-soa-middleware/blog/2012/10/19/abap-proxy-protocols-use-cases-and-examples
    After setting attachment(Method SET_ATTACHMENTS) i am not getting any exceptions,but still i am not able to see any attachment created in SXMB_MONI.
    Thanks in Advance,
    Manil.

  • Spool not getting created in batch job

    Hello experts,
    We have a requirement of printing BA00, BA01 and LD00 from different application.
    We have done same code for all BA00, BA01, and LD00.
    Normally the code is working fine except in few cases, when batch job is created but spool is not created.
    DATA: job_name TYPE tbtcjob-jobname,
                  number   TYPE tbtcjob-jobcount,
                  print_parameters TYPE pri_params,
                  wv_pripar    TYPE pri_params,
                  wv_arcpar    TYPE arc_params,
                  wv_val       TYPE c VALUE 'X',
                  wv_false     TYPE c VALUE 'X',
                  gv_mandt     TYPE tsp01-rqclient,
                  gv_user      TYPE tsp01-rqowner.
              CLEAR: gv_mandt, gv_user, number.
              gv_mandt = sy-mandt.
              gv_user  = sy-uname.
              job_name = 'DELIVERY_PRINTING'.
              CLEAR: range1.
              range1-sign = 'I'.
              range1-option = 'EQ'.
              range1-low = 'LD00'.
              CLEAR: range1-high.
              APPEND range1 TO range.
              CALL FUNCTION 'JOB_OPEN'
                EXPORTING
                  jobname          = job_name
                IMPORTING
                  jobcount         = number
                EXCEPTIONS
                  cant_create_job  = 1
                  invalid_job_data = 2
                  jobname_missing  = 3
                  OTHERS           = 4.
              IF sy-subrc = 0.
                SUBMIT sd70av2a WITH  rg_kschl IN range
                                WITH  rg_vbeln IN deli_tab
                                TO SAP-SPOOL
                              SPOOL PARAMETERS print_parameters
                              WITHOUT SPOOL DYNPRO
                              VIA JOB job_name NUMBER number
                              AND RETURN.
                IF sy-subrc = 0.
                  CALL FUNCTION 'JOB_CLOSE'
                    EXPORTING
                      jobcount             = number
                      jobname              = job_name
                      strtimmed            = 'X'
                    EXCEPTIONS
                      cant_start_immediate = 1
                      invalid_startdate    = 2
                      jobname_missing      = 3
                      job_close_failed     = 4
                      job_nosteps          = 5
                      job_notex            = 6
                      lock_failed          = 7
                      OTHERS               = 8.
                  IF sy-subrc <> 0.
                  ENDIF.
                ENDIF.
                WAIT UP TO 10 SECONDS.
    ** to give the data to the printer***
    *            CLEAR gv_rqident.
                SELECT SINGLE listident INTO gv_listident FROM tbtcp
                              WHERE jobname = job_name
                               AND  jobcount = number.
              IF sy-subrc = 0.
                MOVE gv_listident to gv_rqident.
                CALL FUNCTION 'RSPO_OUTPUT_SPOOL_REQUEST'
                  EXPORTING
                    spool_request_id = gv_rqident.
              ENDIF.
    The same code is for all the output BA00, BA01 and LD00.
    The issue is that for few batch jobs (which is created in the above code) , spool is not getting created.
    Thanks and Regards,
    Paritosh Pandey

    Hi,
    The code starting from WAIT UP TO 10 SECONDS. - not only does it look attrocious, is error prone (if no free process for executing batch job is available for 10 seconds, or if the job runs for more than 10 seconds, what will happen...?), but seems utterly unnecessary... Is there any reason immediate spool output can not be handled by simply setting PRINT_PARAMETERS-PRIMM = 'X'?
    cheers,
    Janis
    Edit in:
    Ok, i just read Document in spool but not printed... Do not use an output device relying on frontend access methods to do printing from background processing. Frontend is not available during background processing, period. To my knowledge there is no easy, clean solution to this problem other than defining and assigning, per user, output devices not relying on frontend printing. What if the dialog user has logged off by the time batch job finishes..? May the spool remain unprinted?
    Has the SAP Basis refused to define output devices (I have hard time believing this...)? Well, tell them one time to stop being silly and if they do not cooperate, tell the owner of the requirement that it can not be implemented due to uncooperative Basis then... and that the users will have to keep going to SP01 and manualy start the output!
    Message was edited by: Jānis B

  • Infotype 0573 not getting created

    Hi All,
    We have an R/3 transaction created for leave application and this is showcased in EP6.0 portal as an Internet Service. Now, when we apply for leave using this application through portal, for certain employees, infotype 0573(Absence infotype for Australia PS) is not getting created but 2001 gets created. When we try doing the same through PA30 or through the R/3 transaction itself, everything is going on fine. Only while applying through portal, this issue occurs. This was working fine in EP5.0 portal.
    Can anyone suggest a way to sort this issue? Any help will be rewarded.
    Thanks and Regards,
    Leena

    Hi Leena
    Please note that the function module HR_ABSENCE573_REQUEST_PBS was internally used by SAP only for corresponding ESS services of Leave administration Australia Public sector functionality. The behavior for the function module is as expected, when
    called from corresponding ESS services. Further the same function module is currently not enabled to be used outside the same. Also there are no further issues with creation of Infotype records in 0573 and 2001 (which are consistent) from PA30 (Maintain Master data).
    Hence would you please check if you are using the standard function module
    HR_ABSENCE573_REQUEST_PBS and perform an operation. As I mentioned Function module HR_ABSENCE573_REQUEST_PBS which is currently being used by ESS services for Leave administration.
    Regards,
    Jun Wu
    SAP HCM Support team (AU/AU-PS)

  • BP ID not getting created

    Hi Friends,
    While i am creating org unit through PPOMA_BBP,Business partner id not getting created/assigned to the Org unit automatically
    I have checked teh number range for Business partner,it exist..
    Can you pls tell me what could be the reason for the issue...
    Thanks,
    San..

    Hi,
    Check following entry activated.
    Transaktion SM30, View T77S0
    Regards
    Konstantin

Maybe you are looking for