BPM Transformation Question

Hi all,
i have a BPM where i have 2 subsequent Transformation Steps within one block with the following properties
Step1:
SourceMessage = aaa
TargetMessage = zzz
Step2:
SourceMessage = bbb
TargetMessage = zzz
As i have the same target message in both steps, will the content set after the first transformation still be set after performing the second transformation ?
Best regards,
martin

Hi,
guess you have to do it in one transformation step like in this pattern:
http://help.sap.com/saphelp_nw04/helpdata/en/0e/56373f7853494fe10000000a114084/frameset.htm
Regards
Patrick

Similar Messages

  • BPM performance question

    Guys,
    I do understand that ccPBM is very resource hungry but what I was wondering is this:
    Once you use BPM, does an extra step decreases the performance significantly? Or does it just need slightly more resources?
    More specifically we have quite complex mapping in 2 BPM steps. Combining them would make the mapping less clear but would it worth doing so from the performance point of view?
    Your opinion is appreciated.
    Thanks a lot,
    Viktor Varga

    Hi,
    In SXMB_ADM you can set the time out higher for the sync processing.
    Go to Integration Processing in SXMB_ADM and add parameter SA_COMM CHECK_FOR_ASYNC_RESPONSE_TIMEOUT to 120 (seconds). You can also increase the number of parallel processes if you have more waiting now. SA_COMM CHECK_FOR_MAX_SYNC_CALLS from 20 to XX. All depends on your hardware but this helped me from the standard 60 seconds to go to may be 70 in some cases.
    Make sure that your calling system does not have a timeout below that you set in XI otherwise yours will go on and finish and your partner may end up sending it twice
    when you go for BPM the whole workflow
    has to come into action so for example
    when your mapping last < 1 sec without bpm
    if you do it in a BPM the transformation step
    can last 2 seconds + one second mapping...
    (that's just an example)
    so the workflow gives you many design possibilities
    (brigde, error handling) but it can
    slow down the process and if you have
    thousands of messages the preformance
    can be much worse than having the same without BPM
    see below links
    http://help.sap.com/bp_bpmv130/Documentation/Operation/TuningGuide.pdf
    http://help.sap.com/saphelp_nw04/helpdata/en/43/d92e428819da2ce10000000a1550b0/content.htm
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/3.0/sap%20exchange%20infrastructure%20tuning%20guide%20xi%203.0.pdf
    BPM Performance tuning
    BPM Performance issue
    BPM performance question
    BPM performance- data aggregation persistance
    Regards
    Chilla..

  • Handling Java Mapping Exception in BPM Transformation step

    Dear SDN members,
    I have developed a File to File scenario using BPM as follows.
    Step 1:
    Sender file adapter picks the file from FTP server and using file content conversion mapped to XML structure.
    Step 2:
    BPM will recieve the XML payload , immediately in the block a transformation step is called with an interface mapping. In the interface mapping a Java mapping will be executed with certain data validations on the XML payload. If found any invalid data is there a suitable excptions will be raised . Here the transformation step should be catch the error and control should be sent to exception block to place the recived file as a error file.
    else if the transformation is executed with out any issues, the file will be placed in success folder.
    But in the transformation step, though java mapping thorwing exceptions, the control not going into exception block, instead it is continuing to next step i.e the file is placing in the success folder.
    Can anybody tell me, how to handle the exceptions raised in java mapping in the BPM transformation step?
    I have refered all the SDN blogs, forums related to this issue, but could not able to find the answer. Please help me?
    Thanks & Regards
    Vijayanand Poreddy

    Hi Abhishek,
    Once the file is picked from FTP server then sent to BPM,
    the BPM steps
    Step1:
    -->Recive
    Step 2:
    Block Starts
       ---Block Start: New Transaction
       ---Block End : New Transaction
       ---Exception : Error
    Step 3 
    Inside the Block
    Transformation Step
       --Interface Mapping: <IM Name>
       -- Check box ticked for Create New Transcation
       -- Exceptions
          --System Error: Error
       --Source Message: Message recieved in Recieve Step (Step 1)
    Step 4:
      --Send
      --Source Maessage: Output message from the Transformation Step
    Block End
    Inserted a Exception Branch for Block
    Steps inside Exception Branch
      -Control
        --Throw Alert
       --Alert Name
    In the above scenario
    The transformation step is not throwing error even my interface mapping going to error. The same transformation step if i place outside the block next to recieve step, then the transformation step is throwing error and BPM stops the process.
    Also, when transformation is inside the block, i have used the exception handling on the send step inside the block. here it is throwing error as the source message payload is empty. because in the preceding transformation step the interface mapping is failed due to which there the target will not be filled. But even though it is not entered into exception block.
    Regards
    Vijayanand Poreddy

  • Question on BPM Transformation for File- RFC- File

    Dear All,
    I did the scenario from a blog (  http://www.sap-xi.com/sap-xi-scenario-file-rfc-bpm.html  ) which is file->RFC->File with BPM. RFC call happening in BPM which is Sync and they are not using a transformation step anywhere in BPM. can you please explain me how mapping has been performed in BPM for this scenario.
    BPM Design:
    Start->Receive->Sync->Send->Stop
    Thanks & Regards,
    Manikandan

    Suprised to see this from you raja..
    to better the performance of a BPM it is recommended to keep all the mappings in Interface Determination and not in BPM.....but in some cases it is required to have mappings within BPM.
    they are not using a transformation step anywhere in BPM
    Either mapping was not required or the same was included in Interface Determination.....it is not a compulsion to have a Transformation step.....i have not checked the blog but this should be the reason.
    Edited by: abhishek salvi on Feb 21, 2011 6:42 PM

  • Stuck in BPM Transformation process Async to Sync Scenario

    Hi there im building up a   R/3 ---> Idoc PI -
    >Soap  3rd Party   Async/Sync Scenario,
    on the integration process window i drag a transformation box to change my input idoc to the structure the Webservice needs, but i cant import it, i tried to make a new one using the abstract interfaces im using but it tells me i cant transform an Async Interface ( Idoc ) to an Sync Interface ( Webservice ), any sugestions?, i can provide everything i have done up to date regarding interfaces mappings and stuff if needed, thx!!!,
    Roberto.

    but it tells me i cant transform an Async Interface ( Idoc ) to an Sync Interface ( Webservice ), any sugestions
    You cannot perform a mapping between an Async MI and a Sync MI....not only for a BPM but even in general
    Your BPM should have below steps:
    Receive(IDOC)-> Transformation(IDOC_to_SOAPReq...both Async)-> SyncSend(SOAPReq and SOAPResp Messages)
    You need below Container elements in your BPM:
    1 for receiving the IDOC
    1 for the SOAPReq message
    1 for the SOAPResp message
    You cannot have a Container element for Sync Interface.....you include the ABS Sync MI directly in the SyncSend step and then will get Request and Response fields (automatically)....here specify the SOAPReq and SOAPResp Container elements.......
    Your Interface Mapping will be between MI_IDOC_ABS and MI_SOAPReq_ABS......and then you can inlcude this in the Transformation step
    Just a question to ask....what are you going to do once you receive the SOAPResp message?
    Regards,
    Abhishek.

  • BPM Transformation Error not Raising Exceptions

    Hi,
    I've got a BPM receives a message, then call a transformation step and then send the message.  I've created exception branches for the transformation and send steps.  If the message mapping called in the transformation step works, the message is send, no problems.  If a message mapping exception occurs, for example a string index out of bounds, the exception branch is not executed.  Instead the BPM continues to the send step and an error occur because of the empty container element.(the container is empty because the mapping fails).  SAP Help states that an exception is "Thrown when a permanent system error occurs" in the Transformation step.  My question is what exactly is a permanent system error if normal message mapping exceptions is not a permanent system error?  And also, how do I generate a permanent system error when a message mapping exception is thrown in order for the exception branch in my BPM to execute?
    Any suggestions will be appreciated.

    I dont think there is a direct way to raise such error in mapping
    What is the sxi_cache status for ur integration process?
    Here r the steps for which permanent error is thrown
    http://help.sap.com/saphelp_nw04s/helpdata/en/33/4a773f12f14a18e10000000a114084/frameset.htm
    Regards,
    Prateek

  • File-XI-File BPM Split Question

    Iam using BPM to split the 1 file into 2 files. I have to use BPM due to requirement.
    Iam sending file to BPM
    In BPM:
    receive step
    transform Step - Here message split is performed
    Fork Start
    Send Message 1
    Send Message 2
    Fork End ( end condition is 1=1 )
    Stop.
    Only 1 file is written and 2nd file no information
    When I looked at SXMB_MONI_BPE
    Send1 Workflow system logically deleted
    Send2  Workflow system completed
    I dont know whats happening for Send 1
    Where can I look for potential errors ?
    In the request message mapping of SXMB_MONI ( 2 payloads are as follows )
    1st Payload ( Maindocument ( Application/xml))
    <?xml version="1.0" encoding="utf-8" ?>
    - <ns1:MT_State xmlns:ns1="http://www.test.com">
    - <State>
      <State_rec>NYC</State_rec>
      <State_rec>FLA</State_rec>
      <State_rec>CAN</State_rec>
      <State_rec>CAS</State_rec>
      </State>
      </ns1:MT_State>
    2nd Payload (XI_Context(text/xml))
    <?xml version="1.0" encoding="utf-8" ?>
    - <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
    - <asx:values>
    - <CONTEXT>
    - <RMS_CONTEXT>
      <NAMESPACE>http://sap.com/xi/XI/System</NAMESPACE>
      <NAME>ProcessStep</NAME>
      <VALUE />
      </RMS_CONTEXT>
      </CONTEXT>
      </asx:values>
      </asx:abap>
    Anyone have any suggestion for me how to fix this issue?
    Thanks a lot.

    Ram,
    Since Iam going to add more process steps ( such as synchronous calls) i really wanted to finsih the sending of both SEND steps in the FORK. If I dont give end condition, am I sure that those SENDS are processed before next process step following fork ?
    BPM will come out of FORK only when all steps in all branches are executed succesfully.
    If you give an END condition to the fork, then this is used when you are not sure for how long the steps in the fork should run, and so on.
    http://help.sap.com/saphelp_nw04/helpdata/en/24/e2283f2bbad036e10000000a114084/content.htm
    +You use a fork () when you want to continue a process in branches that are independent of each other, for example, to communicate with two systems that are independent of each other. The branches of the fork join in a union operator.
    You can specify the required number of branches and then define whether the process must run through all branches, or just a particular number of branches. Furthermore, you can define an end condition for the fork (see also: Condition Editor).
    As soon as a branch reaches the union operator at runtime, the system checks the following conditions in the specified order:
    · The process has run through the required number of branches
    · The specified end condition has returned true
    The step is complete as soon as one of the conditions returns true.+  
    Earlier when you gave condition as 1=1 one of the steps was executed and it came out of the fork. So, do no give any condition and it will execute all steps in the FORK and come out as you want.
    Regards,
    Bhavesh

  • Alert for BPM Transformation Step

    Hi I am trying to think of a way to get the information from my alert transformation step into my Alert Message.
    The scenario is a multiline container called XML_Collect mapping to XML_Output a single container with the XML messages merged.
    If I encounter an error with mapping, currently I am raising an Alert with Process <Process ID> and Long Text Transformation Failure.
    I have the Transform step in a Block and an exception branch for the Alert. I am going to instigate a Container Operation step to fill my Container variables with information about the error.
    In the BPM Workflow Log I can see the Transformation1 Container Instance with variables such a MAPPING and MESSAGES_IN and _EXCEPTIONS in it.
    Can I reference this container in my Container Operation.
    Ideally I would like to know which XML message from the multiline container generated the mapping error. This would help in correcting.
    I have read some information on a UDF calling Alerts but I am not sure if this is the method to use.
    thanks,

    It is MESSAGES_IN
    We have
    MAPPING MAPPING http://<company>.com/msghdr IM_T_MSGHDR_V3_to_T_MSGHDR_V3_Multi-<...>-1-
    TRACE <?xml version="1.0" encoding="utf-8" ?>
    <MappingTrace><Trace level="1" type="T">Mapping-Namespace:http://company.com/msghdr </Trace>
    <Trace level="1" type="T">Mapping-Name:IM_T_MSGHDR_V3_to_T_MSGHDR_V3_Multi </Trace>
    <Trace level="1" type="T">Mapping- ...
    This trace is what appears in the XML trace also
    MESSAGES_IN MESSAGES_IN < 1 Entry >
      MESSAGES_IN[1] MESSAGES_IN[1] 0000000001-<...>
        NUMB Parameter ID 0000000001
        MESSAGES MESSAGES < 3 Entries >
    XC     ZXI_PROXY_MI_MSGHDR_V3_0001     E0630F307D7B11DCA23700145E6916E5
    XC     ZXI_PROXY_MI_MSGHDR_V3_0001     E035BDA07D7B11DCB90500145E6916E5
    XC     ZXI_PROXY_MI_MSGHDR_V3_0001     BA2A92307D7511DCB09900145E6916E5
    then the XML Header and Payload.
    _EXCEPTIONS _EXCEPTIONS < 3 Entries >
    _EXCEPTIONS[1] EXCEPTIONS[1] Component MAPPING has reported an error-The exception occurred (program: CLSW..
    _EXCEPTIONS[2] EXCEPTIONS[2] com/sap/xi/tf/MM_T_MSGHDR_V3_to_T_MSGHDR_V3_Mult~com.sap.aii.utilxi.misc.api...
    I have just tried the variable &_WORKITEM.WORKITEMID& and this gives the work item ID of the starting step for the Process.
    My MESSAGE_ID variable that I am updating with the container variable straight after the Transformation step has the first message id from the multiline container but I know this isn't my incorrect message.

  • BPM - Transformation Step

    In one of our BPM scenarios, while defining
    <b>Transformation</b> step.
    I have defined the interface mapping in IR. After refering the interface mapping from IR, the source and target messages are read from the interface mapping.
    the values for both source and target messages are empty.
    Should the values be given here or are they read during runtime.
    -Naveen.

    Hi Julio,
    BPM understands only abstract interface. So you will have to define a abstract interface for each message going into BPM and inbound interface going out of BPM.
    Also you can only declare asynchronous abstarct interface as the container elements. So no synchronous abstract interfaces can be defined as container element.
    So in your case you will need following interfaces:
    In case your scenario is IDOC -->  XI  -->  RFC.
    You will need:
    1) IDOC_Outbound_Aysnc
    2) IDOC_Abstract_Aync
    3) RFC_Inbound_Sync
    4) RFC_Abstract_Sync (This for sunchronous send to RFC system)
    5) RFC_Abstract_Request (This is to be used as target message in Interface mapping step in BPM)
    6) RFC-Abstract_Response
    In your transformation step the mapping would be between IDOC_Abstract_Aync and RFC_Abstract_Request  as only abstract asynchronous messages can be used in the scenario. Then the send sync will send the message sync to rfc system and the response can again be used further in BPM only in abs_async mode.
    Hope this helps.
    Regards,
    Ashish

  • BPM Transformation Step Failed

    Hi All,
    We have a scenerio-1 developed where we use the BPM. I have tranforted the Scenerio-1 from Development system to the QA system. The scenerio is based on FILE TO FILE using BPM. I have process the file after the transport and found that the scenerio works fine.
    Now, i have deleted one perticular MT/DT/ from scenerio-2  but this is used by the scenerio-1. Now i have reimport all the objects in Scenerio-2/Scenerio-1 and everything looks smiliar.
    Now when i am trying to process one file by Scenerio-1 the message process without performing the transformation steps.
    In BPM i have te following steps..
    1= Receive the messages.
    2= Loop to receive next message
    3= Append the messages in a container.
    4=Transform the message to three other messages.
        a. One with -ve items
        b. One with +ve items.
        c. one with control details.
    5= Send the messages through sends steps.
    Adding to the above condition, i have also cehcked the testing of MM at IR which is sucessful.
    NOW WHEN I AM TRYING TO PROCESS ONE FILE IT FAILED IN THE TRANSFORMATION STEP AND THE MESSAGE GET PROCESSED WITHOUT ANY BRANCHING..
    Can anyone guide me how can i check the exact error in the complete process.
    Thanks,
    Jay

    If your BPM is syntactically correct then you need to check the properties of each step in the flow properly.
    As you mentioned that you have copied  objects ,pls make sure the name spaces are mentioned correctly.
    check your configuration also
    refer toublesooting guide if it helps
    http://wiki.sdn.sap.com/wiki/display/BPMT/BPMTroubleshootingGuide
    Regards,
    Srinivas

  • File Adapter Acknowledgement in BPM - NEW Question

    This is in cntinuation of my earlier question:
    File Adapter Acknowledgement in BPM
    Now I understand that the send step should wait to get the acknowledgement from file adapter.
    As I understand This ack may be +ve or -ve.
    <b>So my question is how do we test for + ve acknowledgement in the next step / switch?</b>
    Thanks,
    HImadri

    hi,
    in condition editor of this switch step you need to choose technical objects
    and check it they = true
    for sender apps
    you can also use Main/MessageClass field 
    have a look at the bottom of this page to
    check their values:
    http://help.sap.com/saphelp_nw04/helpdata/en/6e/ff0bf75772457b863ef5d99bc92404/content.htm
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Transformation Question

    Hi,
    I have a unique question for everyone.
    In one of my data load into a DSO, i need to update a target field either as override or Summation based on a input flag field.
    Is this possible. I am open to writing code in any of the transformation routines.
    Thanks
    Niveda Sharma

    Yes, you may have to write an End Routine & also read the same DSO which could cause long load times. Just evaluate and see if its worth it.
    The logic would be in END Routine:
    For the keys of the DSO (Result_Package) read the DSO with the same keys.
    Based on the input_flag, add result_package-kf to DSO-kf, if you have to sum
    else overwrite result_package-kf, if you have to overwrite.
    Hope this helps

  • Genereting JSTL tags with an XSLT transformation question

    Hi there!
    I have some XML datas to display in a jsp file.
    XML content is of this type:
    <message>
    <title>A message</title>
    </message>
    The most elegent way to present them is to transform XML via xslt into xhtml.
    (that way I can externally change with ease the message formatting output without changing the jsp)
    For that, I use the cool tag
    <x:transform>
    on each xml file i want to display (with x:foreEach)
    The output produced for each xml file is:
    <div class="message">
    <h2>A message</h2>
    </div>
    My problem is now that I want to include custom tags in the generated content!
    For exemple:
    <div class="message">
    <h2>A message<c:out ...></h2>
    </div>
    My question is:
    how can I make that xslt generated tag to be executed???
    Since it is the product of an xslt transformation ,I suppose it won't be executed at all...
    Advices greatly appreciated! :)

    I'm not sure I understand what you mean when you say "how can I make that xslt generated tag to be executed???"
    You've got your XML input and the XSL-T stylesheet that will transform the XML input into an XHTML stream containing JSTL tags.
    I'm assuming that you're going to ask a servlet to pass the XML input to the XSL transformer and get the XHTML output stream. Once you have that, the servlet will write the XHTML to the HTTP response output stream, where it'll be rendered by the browser.
    I think the key is to make sure that you tell the browser that response type is a JSP (that's the only document type in which it makes sense to put JSTL tags). When the browser gets that JSP, it'll treat it like any other: generate .java code, compile that to a .class file, and then render.
    I'm not sure about efficiency, but it sure is an elegant solution. - MOD

  • BODS ABAP transform question

    Hi! This is a very simple question...
    I've been trying to use ABAP transforms in BODS, and I'm having some difficulty with the documentation. In particular, it's not clear how exactly the extracted information from the ABAP program makes it into the BODS dataflow.
    Does anyone have a clearer picture of how this is done?
    Thanks,
    Scott

    Hi,
    Are you checking for ABAP Dataflows or Custom ABAP transformations?
    Regards.

  • BPM certification questions

    Hi friends,
    I taking up XI Certification this week.
    Could anyone pls send me sample questions in BPM and other areas or XI.
    I am reading thru the certification material. If you can advice me tricks in exam it would be wonderful.
    Regards,
    Jeff

    Hi,
    BPM part is extremaly easy. Certification materials are enough. Just read about general concepts and all blocks.
    Regards,
    Wojciech

Maybe you are looking for

  • My external hard drive is no longer accessible

    I went looking online for more information about my LaCie external hard drive no longer working, and I found several recent posts from other LaCie owners experiencing similar issues. I have to wonder if the issue isn't related to the last firmware do

  • The installer has encountered an unexpected error installing this package.This may indicate a problem with this package. The error code is 2869

    Hi, I am getting error "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2869." while installing SAP B1DE. Note: Downloaded the B1DE from B1DE:SAP Business One

  • Deski reports

    Hi,     Is there any advantage of Deski reports over Webirich  reports? in webirich also we can connect to any type of Datasource and we can do disconnected analysis. still there are any advantages of DESKI over WEBIRICH Reports. please let me know.

  • Chinese handwriting is not working on LION,

    Hi there, I own an iMac late 2010 and macbook air late 2010, after both of them updated to LION, the chinese hand writing function is not working at all. please kindly release a fix for it. thanks Ricardo

  • Oracle business intelligence enteprise edition

    hi i have installed an oracle OBIEE client in my local machine, created successfully an ODBC connection to an oracle DB. when i try to connect,create repository an import metadata from the Oracle Bi admin tool im getting error message . connection fa