Container Operation in BPM

Hi,
I have a BPM that should change a message with a container operation. The message got the structure:
message
|-errorcode
is it possible to fill the errorcode (string) with a container operation? It is an abstract interface. Or is a container operation only possible with a simple xsd-data type?
I tried it with an abstract interface, but don't understand how to fill the expression.
thanks
chris

Ok, I guess this, but points for you.
I tried now to do following:
S/A-Bridge open -> transformation step -> S/A-Close
In transformation I mapped request to response, but if I check the BPM he tells me, that the repsonse container is initializied, but not used ?!? Why? In closing S/A-Bridge I use the response.
thanks

Similar Messages

  • Store Filename in Container Operation of BPM?

    Hi,
    Is it possible to store filename in Container Operation of BPM step? I know that using mapping and assigning that field to Container Operation can be done.
    But, is it possible to do without using payload field assignment?
    Regards,
    Ashish

    That seems to be the only possible way. Bcoz the filename in the dynamic header is lost when the message enters BPM.
    Regards,
    Prateek

  • Time Variable in Container Operation in BPM

    hi,
    how can we add a time variable in container operation in BPM?
    Say i want to increment the time upto 5 hours and see if it has reached in my loop.
    how can we achieve this?
    Tiru

    henrique -
    I have a block with a timeout defined.
    Within the block i have the deadline with control step which triggers the exception
    I have the exception handler which has a send step which sends the actual error message.
    I have a send step which polls the http receiver and is in a infinite loop.
    Now the first time i receive an error message i get an email which is good and should work that way.
    Next time if it errors out it should continue until a deadline of 8 hours and then should send out an error email.
    What happens is i get the second error message immediately without the deadline getting exceeded.
    When i look at the workflow log the exception handler gets executed but i don't see a sign of the deadline getting executed?
    Any reasons why its behaving this way?
    Thanks,
    Tiru

  • Question regarding container operations in BPM

    Hi there,
    i used a container operation to retreive a value from an Idoc, later in the process i need to put that value to a different message on a specified field, the thing is the container operation box only allows me to set a container as the target, any ideas how can i do this?, or if this should be done in a message mapping??, thanks!!
    Roberto.

    Hi if you can use a variable in a mapping use this code and write and UDF function
    Set the Variable
       import com.sap.aii.mappingtool.tf3.rt.*
        public static void setGlobalVar(String gvName , String gvValue , Container container) {       
            GlobalContainer gc = container.getGlobalContainer();
            gc.setParameter(gvName, gvValue);
    Get the variable
        public static String getGlobalVar(String gvName , Container container) {
            GlobalContainer gc = container.getGlobalContainer();
            String output = "";
            if (gc.getParameter(gvName) != null)
                output = String.valueOf(gc.getParameter(gvName));
            return output;

  • Container operation issue

    Hello All,
    I have a questions on container operation of BPM.
    I want to capture a value in Rec step of my BPM and wanted to assign this value in last step i.e. send step.
    Can anyone let me know is it possible in BPM.
    How can we achive this.
    Regards,
    Vikrant

    Hello Vikrant,
    Wat i understood is, at present, your scenario is simply sending the IDoc that you are receiving in the Rec-Async step. Now you want to send the SOAP response along with the IDoc.
    Do you have any (empty) field in IDoc which can be used to capture the 4digit IDoc number?
    If yes, then you can achieve this thru a transformation step in between the Sync-send step and Async-Send(last) step. Use both IDOC structure and SOAP response structure as source messages and IDOC structure as target message. Map the IDoc number from SOAP response to any of the field in the target IDoc structure and map the rest of the fields in the target IDoc to the Source IDoc.
    Hope this helps.
    ~Praveen,

  • BPM : Files are not appended in the container operation step

    Hi Guys,
    I am using the BPM pattern,  "BpmPatternCollectTime"  provided by the SAP  under SAP BASIS 6.4 for the N:1 transformation.
    In the the Message mapping and Interface mapping source structure has "0 to unbounded"  occurance and Target has 1 coourances.. I have given the Time as 5 Minutes to collect the messages...
    I dont know why the files are not being appened? Each time am getting the only one file's content as output other files contents(records) are not being merged.
    Is there anything wrong in the given BPM pattern? or  i  need to do any changes in the container operation step ?
    can anybody explain why the messages are not appending into a single file. any help would be really appreciated...
    Can anybody guide me , how can i debug the BPM?
    Thanks and Regards
    Venkatesh

    Hi Raj,
    The Source and target structure are the same ie, BpmPatternCollectMessageToBeCollected..
    Structure is
        BpmPatternCollectToBeCollected
        ID
        OverallNumber
    In SAP BASIS 6.4 , In the message maaping you can find the
    "BpmPatternCollectMerge". I am using the same mapping..
    The mapping contains the Source field mappings for field element ID and OverallNumber to the same field in the Target.
    After selecting Source's occurance for 0 to unbounded , In the mapping the tool itself is adding two extra nodes as below...
    Messages                                 
      Message1
        BpmPatternCollectToBeCollected
        ID
        OverallNumber
    Mapping is
    Source Structure ->Target Structure
    Messages (1)                  Messages  (1)
    Message1 (1)                  Message1  (1)
      BpmPatternCollectToBeCollected  (0-unbound)  BpmPatternCollectToBeCollected  (1)
        ID  (1)-------> ID (1)
        OverallNumber    (1)-------> OverallNumber
    The line indicates above the mapped fields...ID and OverallNumber is only mapped above.
    Regards
    Venkatesh

  • BPM Container operation not executed

    Hi
    We have a scenario where several Idocs are to be collected to one flat file. I have set up a time loop in BPM to receive idoc (abstract), map idoc to flat file, add flat file to flat_file_list (container operation, append). After 2 minutes the loop ends, and the flat_file_list is mapped to a flat file and sends the flat file to the connected legacy system, via the file adapter.
    Most of the process steps work just fine, but the files are not appended into one file. All mappings are correct, and the FTP adapter correctly sends the files to the FTP server.
    Using the Business Process Engine monitoring I see that all interfaces receive the messages, all mappings are done, but there are no steps for the container operation! Should this container operation be visible in the monitor?
    So it seems that everything is working except the bundling of messages. Does anyone have any experience with this?
    The container operation is setup as following:
    Step name: AddMsgToLst
    Target: FlatFileList
    Operation: Append
    Expression: FlatFile (which is the flat file I am mapping the idoc to)
    Any help is highly appreciated!
    Br
    Kenneth

    Hi Robin
    Thanks for your message. After I insert a new step and save the process, I can't activate the process from the sxi_cache. It says that the Cache entry for directory process is already up-to-date.
    I have tried both with activating first in repository and not activating the process, but in both cases the sxi_cache says it's up-to-date.
    Any suggestions?
    -Kenneth

  • Container operation BPM

    Hi ,
    This question is on container operation inside the BPM (PI 7.0 sorry a bit outdated here )
    why is it that in a container operation you can set a simple type variable to any tag in the payload but not the other way round .
    Is it possible to set an XML tag in a payload with the value in a simple type variable .

    Hi Robin
    Thanks for your message. After I insert a new step and save the process, I can't activate the process from the sxi_cache. It says that the Cache entry for directory process is already up-to-date.
    I have tried both with activating first in repository and not activating the process, but in both cases the sxi_cache says it's up-to-date.
    Any suggestions?
    -Kenneth

  • Container operation step in BPM using context object

    Hi all,
    in my BPM I have a send step using the file adapter. The file adapter builds a dynamic filename.
    Now I want to have the filename back into an acknowledgement. First, I need it in the container, right?
    So after the send step, I have a container operation step as follows:
    target: simple string
    mode: assign or append, doesn't matter
    expression: In expression editor, I select Interface variable 'message', then context object 'FileName' from namespace http://sap.com/xi/XISystem/File
    This should be the filename from the fileadapter, right?
    In SXI_Cache, I get return code 99:
    The Value of Expression '&MESSAGE.FILENAME&' Cannot Serve As the Source of an Assignment
    Why is there a context object, if you can' t use it??

    As far as I know, the filename in the Dynamic Header will be lost in when the message enters the BPM.
    As a work around, make a mapping at the Interface Determination level that reads the filename from the SOAP header and sets it into the payload which can be accessed inside the BPM.
    Reason the way I see this that the BPM does not store the filename is ,
    1. What if you have multiple receive steps in the BPM with a fork.
    2. How would the context object know which filename you want to read?
    The reason you see this in the context object is because all Context Objects are the info you get from the Adapter metadata.
    Regards
    Bhavesh

  • Problem in BPM Container Operation - SP14

    Hi all!
    Just upgraded to SP14 - since then I am no longer able to grab some Payload information of involved messages and put it to some simple container variables within BPM!
    I always get the error message: "<b>The Value of Expression '&<MessageVarName>.<Element>&' Cannot Serve As the Source of an Assignment</b>" in the Workflow Activation Protocol within SXI_CACHE (return code "99") - however Activation and Check of the BPM design within the Integration Builder works fine ...
    Does anybody have an idea how to avoid this? Anyone of you experiencing the same problem in SP14?
    Many thanks,
    Andi

    Hi Ian!
    Note "890760" helped to be able to assign Payload information to Container Variables as well.
    It does NOT provide a solution for assigning the context object <b>"ProcessStep"</b> which should be available in the BPE to a container variable (same error) - but therefore I guess I will open a new post!
    Thanks a lot for your help!

  • Files are not appended in the container operation step ?

    Hi Guys,
    I have a BPM scenario where i receive a single file with multiple transactions
    1. Receive step receives the file and starts the process
    2 Transformation Step - Splits the file into individual transactions
    3. Block step --ForEach - Block has the follow 2 steps    
            1. Send - Synchronus - sends the request of each individual transaction to a 3rd party system and receives the response.
           2. Container Operation: Appending all the responses into a single file.
        Properties of container operation:
    Target: Multiline element (Block level element)
        Operation: Append
        Expression: Single element similar to structure above with out multiline.
    4. Send Step: I am writing this file locally to a file and this always shows only the last transaction in case of ParForEachMode and first transaction in the case of ForEach mode.
    can anybody explain why the messages are not appending into a single file. any help would be really appreciated
    Thanks,
    Srini

    Hi Liang,
    Check to see if the Sync Send step send every reply messages it received to container operation step:
    You might need to remove the container operation to see if you receive each individual msgs.
    > I have removed the container operation and i am able to see all the individual responses which i basically written to file just to cross check and every thing looks fine.
    Another way to go to workflow log (Complete Process with all the steps) to get debug information:
    SXMB_MONI -> Click "PE" under outbound queue -> Press "Display WorkFlow Log" button -> Click List with technical details -> Click Show Work item Container
    Here you can see the container and XML message used in this process step.
    You might have information on how message be processed in this step
    > I have checked in the workflow log and workflow shows the container operation only in the case of  ParForEach mode and when the block is in the ForEachMode i dont see any container operation step in the workflowlog and even in the ParForEach mode the container operation dosent have any details.
    Your Container Element reference to response message should also defined in block level, since the response message only exist inside the block. However, using process level container element should not cause any problem
    > I have defined the response messsage at block level in the container and the target i have defined it as multiline element defiend at process level. This multiline element is taken as input in the transformation step at prrocess level.
    are there any other alternatives for this process, i dont understand why the container operation is not appending the elments.
    any help would be appreciated
    Thanks,
    srini
    Edited by: srinivas kapu on Feb 25, 2008 12:10 PM

  • Container operation type single

    hi all
    I am facing a problem. i have a BPM which has a block step-->Propertie mode=ForEach. inside this block i define some container operation type single whichs ones take some values. i need that the values of the containers elements update for each message in the block(ForEach).is it possible or i need to define the contasiners as multiline??
    T&R
    Rodrigo

    hi,
    there no way to define it as single and update the value.
    i need the those values to pass them as IMPORT to a Message Mapping. so the containers has to be singles.
    if no, i have to define another step in the BPM to get the first value of the all multiline container operation??
    thanks.

  • Can we set a default value for the container variable in BPM?

    Can we set a default value for the container variable.?
    Suppose if i have a loop step and i have given a container variable i=5 as end condition.What value will it take during its first execution?Can we set the value for container before a recieve step?

    Hi
    Define Container Variable of Type integer and Category Simple Type .Use Condtion in Loop.
    In Container Operation Step Assign value and Use Expression to
    Increase or Decrease Valus according to your operation.
    look Pattern 4 in this blog to understand Container Operation
    /people/sharathchandra.girmaji/blog/2008/09/11/bpm-with-patterns-explained-part-1

  • Container operations and abstract interfaces

    Hi
    At first, could somebody maybe refer to blogs about how to exploit fault messages in BPM? (how to generate an fault response when a exception is thrown and handled)
    As I could not find a fast way to see how fault messages work in BPM I tried to solve the problem the other way... but run into a problem again. The question is: is it possible to assign values to some elements in an abstract interface type container? Like put into the message a processing code, processing time or some other informative text.
    In a more technical way: container operation allows only the whole container to be the target of the operation, while one can use any part of an container (of abstract interface) to use as the source of operation. Is it also possible to assign a value to a element in abstract interface?
    Waiting for any ideas...

    Hi
    Thanks for Your answer. Still my question is unanswered. As You could read out from my question, I know that such a step exists but the problem is that target can be exactly one container. Its hard to make an example without too much of code samples.
    I agree that if I have containers A and B then I can do:
    A = B
    But if A is of type abstract interface with structure:
    rootNode
    + childNode1
        + anElement as xsd:string
    + childNode2
    and B is a simple type then is it possible to do something like:
    A:/rootNode/childNode1/anElement = B
    As I don't want to change anything else in the response. Any ideas?
    I need to do so because I am not able to throw fault messages as a synchronous interface response (first: there is no way to define fault type as abstract interface, second: send [close S/A bridge] step needs response message only).
    Another way would be to replace response content by inserting fault information but as there is no way but message mappings (transformation step) to change the content of an abstract interface (is there?). It would be a very ugly solution - each fault in BPM shall have its own mapping that generates the whole message... and there would be other issues too.
    Waiting for any ideas on how to solve the problem.
    Any recomendations how to create a SOAP fault answer in BPM are also welcome!

  • Process, Block & Container Operation

    Hi all,
    What is the difference between process and block containers?? Where would a container operation step be adptly used?
    I am trying to do a BPM scenario with a send step inside a block and I can't set multiline for a block container. I am little confused. Any help.
    -Teresa

    Hi Teresa,
    Block :
    Block is similar to what we use curly braces in most of the languages which defines the scope. For example if we are using loop step in bpm to loop through some variable then we can use block step to restrict the scope of loop step up to some point and block is something similar to defining scope in other prog. languages. the local variables defined in this has a scope of it only and others cannot access the same and block Recieve step is not required just use Send step if it is async message.
    Block- is for logical grouping of the process steps
    http://help.sap.com/saphelp_nw04/helpdata/en/f6/e1283f2bbad036e10000000a114084/content.htm
    Container :
    A transformation step in BPM is a abstraction of message/interface mappings, So u can use a container variable directly inside your message mappings to map container variable to data element.
    U can look at the thread : "Container object in Message Mapping" to know how to access the container variable inside your message mapping.
    Contaniers - Variables in the Integration process.
    https://www.sdn.sap.com/sdn/collaboration.sdn?contenttype=url&content=https%3A//forums.sdn.sap.com/thread.jspa%3FforumID%3D44%26threadID%3D41502.
    Regards
    Agasthuri Doss
    Message was edited by: Agasthuri Doss Baladandapani

Maybe you are looking for

  • How to submit a blob with my form...

    Hi, I get a image blob from database and display it on form. However, how can I submit this form including my blob to my action page? I tried using a hidden field on my form to hold the blob like so: <cfset FaceImg = toString(toBinary(FaceImg.BLOB))>

  • Compare Mac Mini 2.53GHz (2009) with iMac 20'' C2D 2GHz

    Hi, I was just looking for a little reassurance. I'm close to selling my 20'' iMac 2GHz C2D (this one) and purchasing a new 2.53GHz Mac Mini to use with a 22'' DVI-D Samsung LCD monitor. So far as I can tell, I'd be upgrading everything, but I'm not

  • Standards in a web application with JSP and J2EE

    Hello! Can anyone to point me to a tutorial or an URL that contains standards for an web application with jsp(including tag libs), beans and servlets. Thanks Catalin

  • RFQ quantity and delivery date

    Hi, I created a smartform for RFQ.I am getting material details from EKPO.But i need RFQ quantity and delivery date to be displayed for each quantity.I found the field in structure RM06E.I tried by putting structure name in form.Its not working. Any

  • HT3775 Quick time 7 does not run on mac x v10.7

    Hello Quick Time, The Problem that comes is: The Document "Ishk.mp4" could not be opened. A required codec isn't available. To see if additional software is available that will enable Quick Time to open the movie, click Tell Me More. And if I try to