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

Similar Messages

  • 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

  • Using Container operation step can i pass one table to another?

    hi
    i have 2 multiline container elements in the workflow.
    in one of my step i am sending email using the receipents from the table LT_RECLIST which is a multiline container. Now before this step i am using a container operation step to pass LT_RECLIST_FINAL to LT_RECLIST. But guess this is not working? is this possible?
    the condition in container operation step is like this
    Result Element   LT_RECLIST
    Assignment         =     Assign (contents of table are deleted first)
    Expression          &LT_RECLIST_FINAL&
    Operator
    any idea where i am going wrong?

    instead of
    =     Assign (contents of table are deleted first)
    try the followinng option.
    <-    Add only to table (contents are extended)
    or you can directly use the element LT_RECLIST_FINAL in your mail step instead of assigning it to LT_RECLIST and using this element. if both the elements are going to store the same values then there is no point in using a separate element.

  • 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 step in User Decision

    Hi,
    I have used one set container operation step in one of the user decision task. But it seems it is not working inside the user decision step.
    I have checked the SWI1 log as well, but it is bypassing it.(screen shot attached from Workflow and SWI1).
    Please sugegst that can we use container operation step inside the user decision task.
    SWI1 log as well ( Not setting the variabl)e
    Regads,
    Priyanka

    Hi,
    check if in the workflow definition you mention if this step should be shown in the log or not. Also make sure using the technical details option in the workflow log that indeed the container operation was executed or not.
    If everything seems correct, but still in execution it skips something, then your workflow definition might be corrupt, either fix it by deleting the step in development, saving it and then recreating it. Or if it was corrupted after transport you could try your luck with function module SWD_REPLICATE_FROM_9999.
    Kind regards, Rob Dielemans

  • If we want to transfer data to multiple receiver using context object, how

    If we want to transfer data to multiple receiver using context object, how many receiver determinations we need to create?

    Hi Chiru,
    Just go thro' the below links for sending data to multiple receivers:
    /people/venkataramanan.parameswaran/blog/2006/03/17/illustration-of-enhanced-receiver-determination--sp16
    /people/shabarish.vijayakumar/blog/2006/04/03/xi-in-the-role-of-a-ftp
    Conditions in Receiver Determination
    I hope this helps.
    Regards.
    Praveen

  • Regarding send step in bpm--"send context"

    i want to use the send step in my bpm with send context.
    The send context is a freely definable string, which you specify in the send step. You query the send context in a condition in the receiver determination in the Integration Directory. You must specify the send context to be able to send messages from the same message interfaces to different receivers in different send steps.
    but i did n't understand regarding the explanation given above.
    could u plz help me out

    Hi
    When you use Receiver determination step in BPM to get a list of receivers for a send step.
    You need to define send context to send messages from the same interface to different receivers in different send steps. As list of receivers is collected using receiver determination.
    Now you can use this to set condition(send context) based receiver in ID Receiver determination.
    Thanks
    Gaurav

  • Regarding using context object in Receiver determination.

    Hi All,
    I want to  implement a scenario where with following requirnment .
    i have one sender and multiple receivers.
    i have to retrive some feild value and based on the its value i have to route the message in receiver determination step by writing the condition.
    for this i have a source structure , from that i read one feild , based on that feild i do lookup.(the value of destination which i am getting is at intermidiate stage not in request message)
    If i define Xpath or context object it shows the request message in the contion editor , but i dnt  have the destination in request message.
    is there any way i can  assign the Xpath for the intermidiate MT which i have created to store the destination value.
    Please dont give me the link which point to help.sap page ..i have gone through it and it says that request msg only can be assigned context object.
    Thanks

    Hi,
    In your case Enhanced receiver determination will work.A typical usage case is if you do not yet know the names of the receivers at configuration time. In this case, you can define a mapping program, for example, which reads a list of receivers from a table or from the payload of the message at runtime.
    For configuration check the link
    http://help.sap.com/saphelp_nw04/helpdata/en/43/a5f2066340332de10000000a11466f/frameset.htm
    Thanks!

  • 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

  • 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

  • Error (Error when starting a SWITCH branch) while using container operation

    HI Experts,
    I am using container operation step for moving internal table (ref to sflight) to workarea.The error I found in the log is ' Error when starting a SWITCH branch'.Kindly help me in finding the solution.Below are the steps and code.
    Result Element = lw_sflight             (Element ref to sflight with export and Import)
    Assignment     =    =                     (Assign (contents of table are deleted first)
    Expression      = &FLIGHT&             (Multi line container ref to sflight)
    Operator          = Assignment
    Expression      =                                 (Blank)
    Thanks and Regards,
    Srini

    Hello,
    Maybe you should show more information about the condition step instead of the container operation step.
    A previous poster in SDN said they solved their problem by changing the order of the conditions.
    regards
    Paultje Bakker
    Hanabi Technology

  • What is context objects and how we can use it Receiver Determination

    hi,
    i have situation here a idoc is triggered into the xi and i need to use the conditions in the receiverdetermination in that condition i need to use  context object how i can use it? and what is the difference it makes and why i need to use it?
    thanks in advance
    Amaresh

    HI,
    Context objects are alternative to XPATH expressions. It is like macros in other programming langugage. If you define this , you can use this object in the receiver determination while doing conditional receiver determination
    For more-
    http://help.sap.com/saphelp_nw2004s/helpdata/en/d6/e44fcf98baa24a9686a7643a33f26f/content.htm
    /people/prasadbabu.nemalikanti3/blog/2006/09/20/receiver-determination-based-on-the-payload-of-input-dataextended-xpathcontext-object
    Regards,
    Moorthy

  • Context object in Receiver Determination

    Hi,
    I am trying to use context object in receiver determination for routing messages to different receivers. From help document , I know that certain context objects are already present. Can we create our own context object in ESR and how?
    I am using PI7.1
    Thanks,
    Neelansha

    Hi Neelansha,
    You can create a context object for only a request message(source), i.e, if you have a very deep nested structure then
    you can use context objects which contains the XPath expression of your request message.
    Can we create our own context object in ESR and how
    For steps to  create- go to  context object - create new-->select type (int,string..)-
    go to your   source Service  interface-click on context obj tab-select the element to which you want to assign the context obj  name
    refer activities mentioned in this help link
    http://help.sap.com/saphelp_nw04/helpdata/en/d6/e44fcf98baa24a9686a7643a33f26f/frameset.htm
    /people/prasadbabu.nemalikanti3/blog/2006/09/20/receiver-determination-based-on-the-payload-of-input-dataextended-xpathcontext-object
    please note that you have to choose interface pattern as  Stateless (XI 3.0 Compatible) ,otherwise you will not be able to see the context object in Receiver determination editor.
    I found the  standard  context objects  very useful and i think we can  sometimes avoid using the dynamic configuration
    i have used the file name  context object  in  expression editor in receiver determination to create a condition for routing the messages to two different Business services.
    Regards,
    Srinivas

  • Context Object Usage

    Hi Folks,
    How can i use context objects for passing the value of context object to another field in  BPM .
    <b>I am not asking about validating any condition using context Object and then doing something like Receiver Determination I am asking about how to pass the value of a field being declared as context object . </b>
    I will appreciate i can get step by step information.
    Regards

    Hi..
    Context Object are simply pointer to a specific XML tag. if you want to simplify your delopment you can define Context object for some fields and use the context objects. many message types come with their own context objects..
    Refer this help..
    http://help.sap.com/saphelp_nw04s/helpdata/en/6e/ff0bf75772457b863ef5d99bc92404/frameset.htm
    Regards
    Satya

  • 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

  • App Error 523

    Hey Folks, Im in a bit of a bother. 3 weeks ago, i went to goa for a few days off. I had switched off my phone, and when i landed, i turned it on in order to call the hotel. When i did turn it on, i got this white screen which simply said "app error

  • Gatekeeper settings problem

    I can't set the gatekeeper settings to allow downloaded apps. It won't let me select the "Anywhere" tickmark. Everytime I select the tickmark it'll jump back to "Mac App store and identified developers". Any help appreciated!

  • Starts up then goes black

    When I turn on my Macbook Pro it starts, shows the apple begins to load then shuts off, screen goes black.  Help?!?

  • XSQL with jdk1.2.2 - javai.dll error

    I successfully used the xsqlCommandLine utility with jdk1.1.7. When I try with jdk1.2.2, I get an error that javai.dll is not in the path. If I put javai.dll from the 1.1.7/jre/bin in my path, the xsqlCommandLine process runs without end, as if windo

  • Batch Process multiple files in multiple folders

    I am using Acrobat 8.0.0 on Windows XP. Is there a way to create some type of macro to combine multiple PDFs within multiple folders? Or better yet, I'd like to combine the files into a PDF package with security. Thanks, let me know if I need to be m