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

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

  • 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 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

  • 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

  • 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;

  • 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.

  • 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,

  • 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

  • Alrt with field Lelvel Info - By using Container Operation and Control step

    HI,
    I have developed File to File scenario from /people/michal.krawczyk2/blog/2005/03/13/alerts-with-variables-from-the-messages-payload-xi--updated
    I created Integration Process in IR with two BPM steps Receive and Send step.
    Since I need a filed level info on alerts...I have included Container Operation and Control steps in between receive and send like..
    Receive --- Container Operation --- Control step -
    Send
    And now I have created the Alert category in Alrtcatdef and used the same category in control step.
    I have tested the above scenario with error message ( with mapping fail )...But I am unable to find the alert in the system?!!
    ---S

    HI Stallin
    Did alert generated by BPM itself. Check with BPM workflow.
    Another thing while generating alert from BPM, standard alert element will not work with BPE engine. Create elements for the same
    Thanks
    Gaurav

  • Passing expression values to a container operation

    hello,
    I have a question about passing values to a expression in a container operation. we have a container operation that has a hard coded value for a expression value. we are using a result element of offset days and the expression value is 4. sometimes we want to have this value as a different number. when we do this we have to change the expression value, create a transport , then move thru quality and then prod.   is there a way to have the the expression value passed as a variable to the workflow?
    if the value could be in a custom table that could be changed when ever it was needed and the workflow would read the value from the table.
    I am not fimilar with workflow so the suggestion that I have above might not be correct but I am looking for something on the order of this. if there is a way to accomplish this without having to change the workflow and move it through quality and then production that would be ideal.
    thanks in advance for the help.

    Marcos Suarez wrote:
    It is really a bad idea to use a Container operation step to get a variable value.
    Why? I disagree, using a task has a far greater performance overhead with hardly any benefit, a functional method in a conainer operation is much more efficient. It also makes your workflow a little bit easier to follow.
    Unless I misunderstood something?
    Edit: For the benefit of the original question, there are examples of how to do exactly this (functional method to retrieve/assign values) in the second edition of "Practical Workflow for SAP". And since proceeds go to charity, getting a copy is doubly worthwhile.
    Edited by: Mike Pokraka on Feb 3, 2011 1:55 PM

Maybe you are looking for

  • Frontrow chokes on iphoto galleries protected with username password

    When I try to select in Frontrow a web gallery (as they are listed on the bottom on the selection list) which is protected by a username and password the screen turns black, after a few seconds the list comes back and is blocked. Again after a few se

  • Error -2147218798 when refreshing Essbase

    Hi,I try to refresh a outline in a Planning application and I have this error message :"Cannot refresh cubes while other users are logged on" I then disconnected every user, stopped and started the application but i does not change anything...What do

  • Cannot get itunes+quicktime update to install

    The main problem is quicktime because everytime i try to install it, it keeps telling me that it cant find my F:\ drive. i don't have one and i never did. anytime i plug in a external drive it reads as an H:\ or an I:\. i tried uninstall the quicktim

  • Computer name changes after security update

    We installed the latest security update for OS X 10.5.8 and after installation the computer name was automatically changed. It was "Name (2)". After the update it magically became "Name (3)". It becomes very confusing because we share this computer's

  • Migration downtime

    Hi, we are about to migrate an sbs 2003 server to windows server essentials 2012 & I would like to know what downtime this is going to create for the users on the network? Once the new server is onsite, I will run the migration wizard but will THIS P