Checking Multiline Container Value in BPM

Hi ,
We have scenario where we need to check the container value in BPM.
Could you please anybody let me know how we check the conditions for a conatiner.
Madhu

Hi Madhusudhan,
You can use the following threads and see if it helps:
Accessing container variable of BPM in Message Mapping function
Copy value of container (abstract interface) to an other container
Container object in Message Mapping
Specially check out the Michal's blog mentioned in the last thread. It might be useful.
PS : Please reward points if useful.
Thanks and Regards,
Sanjeev.

Similar Messages

  • Workflow: check multiline container element for emptiness

    Hi!
    Please suggest how to check multiline workflow-container element for emptiness in condition block.
    Regards,
    Maxim.

    Hi Max,
    One way to do this is to add a process step which calls a function module passing the multiline container as the import parameter. In this function mod, you can check for emptiness and set a variable which will be the export parameter. Map this export parameter of the step to a workflow container field. Finally in the next step (control block) you can check the above workflow field.

  • BPM MultiLine Container

    Hi,
       In condition editor in BPM how can I test whether my multiline element contains any elements. Any help on this.
    Thanks,
    Rao.Mallikarjuna

    Hi,
    please have a look at this thread:
    Re: Workflow: check multiline container element for emptiness
    Regards
    Patrick

  • How to pass values one by one from Multiline container in workflows

    Hi,
    I have used a structure in my workflow as multiline container.
    I want to pass values 1 by 1 to the workflow but not all the three values..so how do i pass the values 1 by 1 rather all at a time..
    kindly suggest me
    Thanks,
    Shanky

    Hi,
    Create a new container with type I and set the initial value as 1.  EX : Index.
    Pass your Multi-line container and this index container to a new method. Get the multi line container data's into an internal table
    and read the data based on the index and append the data's to a new multiline container.
    Second time increment the index container by 1. So now the value of index container will be 2.
    Pass the multiline container value and index to method. now it will read the second record from the internal table.
    Call the method using the loop step type.
    Thanks,
    Viji.

  • Receiver determination step in the BPM and multiline container

    i have made a file2file scenario where:
    there is a BPM,
    the BPM has a send step which contains a receive step,
    a transformation that mapps the incomin message to two messages(Split-messgae case),
    and then a FORK step which sends the two messges to through 2 SEND steps to the intended receiver services.
    It didnt work......and i followed a blog->  /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure   ............... which suggested to have a
    "receiver-determination" step in the BPM before the SEND step.... it says that this
    "receiver-determination" step will put the message in a MULTILINE container..
    i m confused bout this step ........ can anybody explain.....
    please help

    HI,
    In receiver determination step selctthe multi line container element.in container editor create the one element with type as receiver and select the check box.
    A Receiver Determination step returns set of receivers configured for the output abs interfaces in the directory and puts it into receiver which is a multiline container receiver element
    Regards
    Chilla

  • Passing values from multiline container

    Hello Gurus,
    I am new to workflow and I have a requirement wherein I have a multiline container element (DiscDocStatus of type EDISCDOC-STATUS) filled with the status values.
    If all the values in container DiscDocStatus are 10 or 11, then I need to execute certain steps (step A and step B) and if any other value than 10 or 11, then I have to wait for 10 days and then do step A and step B.
    Could you please how to do it?
    P.S. I know...I am asking tooo silly thing...but do not have any option but to ask...apologies....
    Thanks

    Hi..
    In that case you can try as below & i checked the same. it works for me..
    1. Create a block step in your workflow... In local container tab of block step create a single value container element which has
    data type as line type of your multiline container...
    Say for eg: your multiline container has datatype as (char10) with multiline checkbox enabled then create this container element in
    local container tab with datatype as (char10) without multiline checkbox (ideally you can compare multiline container as internal table
    and this single line container as workarea)..
    2. In control tab of block step do the binding from multiline container to single line container. Leave the Block type dropdown in control tab as standard.
    3. Put a condition step within block with condition as single line container NE 10 and NE 11. (So in case the multiline element has even a single value which is not 10 or 11 then workflow control will enter this condition). Place a container step in outcome True of condition step to set a flag variable as X (Note: Create this flag variable in workflow container)
    4. Now outside the block again put a condition step which checks whether this flag variable is set as 'X' (if it has value X then it means that multiline container has atleast 1 value other than 10 & 11. If not it means all values are either 10 or 11). So If flag is X you have to wait for 10 days and then do step A and step B. If not you can execute steps A & B. For waiting for 10 days you can go for requested start deadline which will send the workitem to the inbox of approver only if the mentioned time period/deadline (in your case - 10 days) expires.
    Let me know in case of any issues.
    Regards,
    Bharath

  • Refresh the values in multiline container

    Hi All,
    Can any one help me on this.
    How to refresh the values in  multiline container of  workflow.
    Any function module are available to refresh the multiline container .
    Thanks,
    Harsha

    Hi,
    What do you mean by refresh?
    Have you tried SAP_WAPI_WRITE_CONTAINER? Always check workflow functions SAP_WAPI for any workflow functionality. If you don't find one for your purposes within SAP_WAPI*, the functionality probably cannot be achieved (at least not easily).
    Regards,
    Karri

  • Urgent - How to pass value to Multiline container element in workflow

    Hi,
      I hav a requirement as below...
    1) In a Bus. Object, there is a method with a parameter which is Multiline.
    2) When I execute it directly from Bus. Object, I am able to populate any no. of lines to the multiline parameter & execute it. It is working correctly.
    3) Now I have created a task for the same Method & used it in my workflow.
    4) I want to pass multiline values to the parameter from workflow.
    5) I dont have any internal table being filled in the previous steps. I directly want to assign variables or constants to it.
    How can I do it????
    Thanks,
    Sivagami

    hi sivagami,
    Please help me. I am also facing same type of problem. i am new to workflow. i am using using FM sap_wapi_write_container. to write into the container. but here my problem is i don know wat is the element name to refer to the value. if i give any element naem its taking as separate element & not as the same multiline container. i hope u will be able to assist me since u have worked on the same type of problem.
    If u help i will be highly thankful to u.
    Thanks & Regards
    Nigesh

  • How to pass value to Multiline container element in workflow ?

    Dear Experts,
    I am using the BAPI "SAP_WAPI_WRITE_CONTAINER" to write into the workitem container elements. now i want to write the data into a multiline container element. i am unable to do the same. please guide me how to write the data into multiline container.
    I am getting the data from portal so i am using the BAPI to populate the container.
    Please help me out...
    Thanks & Regards
    Nigesh

    Hi,
    Use the following code:
    DATA:  lv_text             TYPE        string,
              lt_cont_vals        TYPE        swconttab,
              lt_cont_defs        TYPE        swbconttab,
              lo_oref             TYPE REF TO cx_root,
              lo_workitm_cntxt    TYPE REF TO cl_swf_run_workitem_context,
              lo_wi_conv          TYPE REF TO if_swf_cnt_conversion,
              lo_wi_cnt           TYPE REF TO cl_swf_cnt_container,
              lif_wi_cnt          TYPE REF TO if_swf_ifs_parameter_container,
              lo_exception_return TYPE REF TO cx_swf_cnt_container.
    ***--- Get work Item Context
       TRY.
           CALL METHOD cl_swf_run_workitem_context=>get_instance
             EXPORTING
               im_wiid     = im_wi_id
             RECEIVING
               re_instance = lo_workitm_cntxt.
         CATCH cx_swf_run_wim INTO lo_oref.
           lv_text = lo_oref->get_text( ).
       ENDTRY.
    ***--- Get Instance of the work Item Container
       CALL METHOD lo_workitm_cntxt->if_wapi_workitem_context~get_wi_container
         RECEIVING
           re_container = lif_wi_cnt.
    ***--- Type casting work item container into class CL_SWF_CNT_CONTAINRER
       lo_wi_cnt ?= lif_wi_cnt.
    ***-- Set the value
       TRY.
           lo_wi_cnt->if_swf_cnt_element_access_1~element_set_value(
             EXPORTING
               name             =  'ITEM'
               value            =  t_item[]
         CATCH cx_swf_cnt_cont_access_denied.    " Change Access to Container Not Allowed
         CATCH cx_swf_cnt_elem_not_found.    " Element Not Found
         CATCH cx_swf_cnt_elem_access_denied.    " Element Must Not Be Changed
         CATCH cx_swf_cnt_elem_type_conflict.    " Type Conflict Between Value and Current Parameter
         CATCH cx_swf_cnt_unit_type_conflict.    " Type Conflict Between Unit and Current Parameter
         CATCH cx_swf_cnt_elem_def_invalid.    " Element Definition (For Example, Type Name) Is Invalid
         CATCH cx_swf_cnt_invalid_qname.    " Qualified Name Invalid/Already Being Used
         CATCH cx_swf_cnt_container.    " Exception in the Container Service
       ENDTRY.
    * VERY IMPORTANT -- Save changes to DB
       TRY.
           lo_wi_cnt->save_to_database( ).
         CATCH cx_swf_cnt_invalid_por.    " Invalid Persistent Object Reference
       ENDTRY.
       lo_workitm_cntxt->publish( ).
       COMMIT WORK AND WAIT.

  • Mail not send to multiple users even Multiline container element has value

    Hi,
    I have collected the AGENTS to send mail notification in a multiline container element using a background step. The method collect the agent and return in to a container. I use this container in the following mail step using expression. The type id is 'G'. The mail step fails .The address string is filled also with agents.
    Please guide me if u have come across this situation early.
    Regards,
    Richard A

    I think if you are passing SAP User Id then the SAP User Id should be concatenated with US in the front.
    If this is maintained in the container element and if still send mail is failing then it might be that one of the USER Id does not exist in the system.
    Hope this helps.
    Thanks
    Arghadip

  • BPM - Remove container from multiline container??

    Hi all,
    i can append a container object to a same type multiline container object.
    Is it possible to remove a container object from  a same type multiline container object?
    If yes, how?
    Thanks

    Not possible in standard.
    One option would be to use a Block and then for each of the container element decide if another container operatin to a new Container Element should be done.
    This way you will segeregate the Container Elements you want into a new MultiLine Container Element.
    Regards
    Bhavesh

  • Not able to give multiline container variable in transformation step.

    Hello,
    I'm doing a simple collect pattern in BPM.
    I have three container variables, one- the source interface, second the multiline of source interface and third-the target interface.
    Now, i have block in which i have the exception and deadline steps and then a loop in which i have my receiver which collects the message and gives it to the container to keep it to the list. Outside the block i have my transformation step which takes the relevant interface mapping. When i try to give the multiline container variable the box turns red, but of give the normal source container variable it accepts it.
    If i do a check by F7, Expression must not return a multiline value.
    The scope of the container variables is maintained as Process.
    What could be wrong, please help.
    Thanks and regards,
    Akhil

    hi akhil,
    think in transformation it sees source messages and target messages.
    if u have n:1 scenario then n interfaces to one interface right
    thats is each interface will have one message type
    so if u are using interace mapping in transformation it is expecting n interface variables to one interface variable.
    it will display n source messages to one source message jsut check.
    so transformation step is expecting one n sub message types to be embedded in one message type
    <messages>
    <message 1>
    <meessage n>
    </messages>
    this one is mapped with one XML target messgae
    so if u have n different messages see that u compress them in to one message type like the above and give it in trasnformation step.
    if you have n different messages then u can alwasy go for n different interfaces to one single interface
    then u can see in tranformation step n diff source messages and one target message
    was just confused with reciever step which allows multiline receivers
    Thanks & Regards,
    Rama Krishna
    Edited by: rama krishna talluri on Mar 6, 2008 1:48 PM
    Edited by: rama krishna talluri on Mar 6, 2008 1:49 PM

  • Problem using multiline container in Alert Category

    Hello, experts!
    Could you please suggest me how to solve the following issue.
    I have userdefined multiline container MY_CONTAINER with two elements FIELD (stores name of field) and VALUE (stores value of field). This container is filled in runtime by means of BADI extension. So in transaction ALRTDISP filled container looks like:
      MY_CONTAINER
          MY_CONTAINER[1]
              FIELD    SystemCode
              VALUE    42
          MY_CONTAINER[2]
              FIELD    Key
              VALUE    0292383728232
          MY_CONTAINER[3]
              FIELD    State
              VALUE    1
          ...and so on. Number of filled elements of container is unknown.
    I need to add the contents of this container to Long text of Alert Category in form of:
          SystemCode: 42
          Key: 0292383728232
          State: 1
    ...and so on.
    I added MY_CONTAINER on the Containers tab of my alert category. And in Long text included the following expression:
          &MY_CONTAINER[].FIELD[]&: &MY_CONTAINER[].VALUE[]&.
    But in long text it looks like:
          SystemCode Key State ...: 42 0292383728232 1 ...
    If the expression is like
          &MY_CONTAINER[].FIELD& - &MY_CONTAINER[].VALUE&
    then long text contains only the first element:
          SystemCode: 42.
    Does anybody know how to solve this problem?
    I think I need to use expressions (something like FOR-loop) for filling Long Text in Alert Categories. Is it possible?
    BR,
    Vika

    Hi Experts,
    still trying to work out but couldn't understand the behaviour.
    <b>If the Long text :</b>
    Error: &SXMS_ERROR_CODE& <b>of category &SXMS_ERROR_CAT&</b> was found in a message &SXMS_MSG_GUID& from the service &SXMS_FROM_SERVICE&  <b>and  Interface &SXMS_FROM_INTERFACE&</b>
    to test I am running the program <b>RSALERTTEST</b>
    <b>Msg got thru E-mail is </b>
    Error:  and category:<b> &SXMS_ERROR_CAT&</b> was found in a message  from the service  and Interface
    <b>
    And when I change the Long text</b>
    Error: &SXMS_ERROR_CODE& <b>and &SXMS_ERROR_CAT&</b> was found in a message &SXMS_MSG_GUID& from the service &SXMS_FROM_SERVICE& and Interface &SXMS_FROM_INTERFACE&
    After running the program <b>RSALERTTEST</b>
    <b>
    E-mail msg</b>
    Error:  and was found in a message  from the service  and Interface <b>&SXMS_FROM_INTERFACE&</b>
    coudn't able to understand why it is displaying the container variable as is in the mail.
    checked all the Alert Framework configuration, Everything looks good.
    Thank you,
    <b>MK</b>

  • Send multiline container into receiver (SP14)

    I need to validate each object in xml
    I created BPM, 1:N mapping,  1:1mapping for validation and value mapping.
    Then I need to insert data into DB (JDBC Receiver).
    I want to improve performance and to insert all validated data in one transaction as bath operation. For this purpose I think to add multiline container and container step ant collect all validated data.
    The question is: Is it possible to send  multiline data from BPM into receiver system? I heared that it is posible in SP14. Do I need additional configuration? Will this solution work?

    Hi Inigo,
    you need first a tranformation step where you have a source message with n lines and n target messages with one line (multi line container).
    Next you can define a loop block for all entries of that container.
    Regards,
    Udo

  • How to send message from multiline container to same webservice or bus. sys

    Hi All,
    I want to send message from multiline container to a syn web service sequentially.
    I am getting that multiline container after a transformations step (1: n mapping).
    where i dont known what will be the value for n (number of message in multiline container). This will vary; depend upon input message to BPM.
    Scenario is like this.
    1. Receive step
    2. Transfromation to 1: n
    3. Want to send message from multiline container to a web service (business service),default loop and block step doesn’t give desirable result.
    any help will be appreciable
    Regards,
    Adish

    Adish Jain wrote:>
    > where as, if I will use block, it will send the same message to multiple receivers which are present in multiline receiver container. So need to think in different manner.
    Not necessarily.
    When you use block step in ForEach mode, you can select the container variable from:
    - a receiver container;
    - an interface container;
    The line element can then be either a receiver or an interface.
    The problem is that for this to work, the interfaces need to be async (since they are to be used as containers) and hence you won't be able to make your scenario work.
    But again, explain why your scenario with loop step didn't work.
    The only gap here is how to determine the number of loops (defining the counter variable value). But that can be easily solved if you include a new message with occurrence 1 as a target message of your mapping and as a container in your bpm.
    This new message needs only 1 single field, that should be filled with the number of messages you've created in the mapping (you could use count standard function, f.ex.).
    In your bpm, make sure to pass this fields value into the counter container right after your transformation step.
    Regards,
    Henrique.

Maybe you are looking for

  • ABAP+Java Kernel

    Hi, I have installed solution manager 4.0 with a java instance. i want to upgrade the system's kernel. how do i upgrade an abap+java kernel  - is it the same like upgrading a regular kernel? i'm running a unicode system.

  • Please gives sample configure VPN site to site on ASA 5512-x v.9.1!

    Dear All, Could you gave sample configer ASA 5512-x v.9.1 for VPN site to Site, i use to configure on ASA 5510 V.8.2 but on ver 9.1 i never configure. my is use that i dont know to how to configure nonat. i saw some configration as in the attach file

  • What card would I need to terminate MPLS?

    I am thinking I would need a couple of VWIC2-2MFT-T1/E1's? I have two routers where I need to purchase some sort of T1  module that can terminate a connection for MPLS.  All things being equal I guess  I’d like to install a module that can support tw

  • SOAPMessage.writeTo() adds incorrectly formatted namespace

    Within my app, i have a SOAPMessage with a payload in the attachment. The issue is when i do a SOAPMessage.writeTo(System.out) I have two environments: it works great on one, but in the other one, it adds an extra incorrectly formatted namespace entr

  • Expdp & impdp of R12 schema into 11g DB

    Hi, i need to take a backup of GL schema from R12 instance using expdp & import it into 11g DB( standalone DB) using impdp. i have used the following for expdp in R12(10g DB) $expdp system/<pass> schemas=gl directory=dump_dir dumpfile=gl.dmp logfile=