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

Similar Messages

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

  • Multiline container element in workflow

    Dear all,
    I am using a multiline container element in workflow container.  Can anybody suggest how I can see the values of that element?  After workflow execution is COMPLETED and I go to SWI1, it shows only simple elements.  It doesn't show any of my multiline elements.
    Please help.
    Thanks in advance,
    Regards,
    Pranav.

    Hi Pranav,
    It does work in 6.20. I am not sure about 4.6C.
    Display Technical Details from the Workflow log for your WF instance. You can examine the Container values for each of the steps. See if the values show up (are you certain your multiline container has been populated?). If you are populating the multiline container from an object method, verify by testing your object method that the parameter are correctly defined and it is getting populated.

  • 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

  • Default method - how to pass value to method container?

    Hello,
    I am dealing with a hyperlink in 'Objects and Attachements' section of the workitem.When i click on the link, the default method of the business object gets called automatically.
    My question is: How to pass values to the default method (i.e. method container) as i don't invoke the method in my workflow explicitly?  The method gets called when we click on the hyperlink.
    Regards,
    Monica.

    Hello Monica,
    a default method doesn't require parameters (and cannot make use of them), as they are designed to be called from various situation, such as the view from a workflow container, the display button within a workitem or the attachment list. So this is part of the system design.
    To make an object dependent of workitem values I usually follow two different design patterns:
    <b>1) Using a flowitem/workitem instance with a special default method</b>
    - Create a subobject from type WORKITEM (if I'm going to use values from the current workflow instance) or subobject from type WORKINGWI (if I'm going to use values from the current dialog workitem).
    - Do not make a general substitution for this new object type
    - If using a ZWORKITEM, create an instance of this object type before the dialog step and then pass this object to the dialog workitem
    - If using ZWORKINGWI, assign the object instance during the data flow to the step.
    - In the properties of the object choose (any one) default method
    - Within the coding you have the reference to the workitem/flowitem as object-key-... and you can further use functions/methods to read the workitem/flowitem container and do whatever has to be done
    <b>2) Retrieving values from the current workitem on-the-fly</b>
    Within the coding of the default method call the function module SWO_QUERY_REQUESTER that returns the instance/id of the current workitem-in-work (with is also set when using the hyperlink from a workitem). If the list is empty, there's no active workitem, otherwise use functions/methods to read the workitem container.
    --> edit: Solution is not release safe, is it aint working with SAP R/3 Enterprise and higher
    Best regards,
       Florin
    Message was edited by:
            Florin Wach

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

  • How to pass values of the prompt through Action Link - URL in 11g

    Hi All,
    I am in OBIEE 11g v6.
    Let's say, I have two dashbaord pages P1 and P2.
    P1 page contains
    1. Prompt PR1 - containing a single column EmpName
    2. Report R1
    P2 page contains
    1. Prompt PR2 - containing a single column EmpName (same column as in PR1)
    2. Report R2
    Requirement :
    Let's say a user select a value = David from the EmpName column in prompt PR1. In the Report R1, on one the measure columns 'Sales', I am using an action link - Navigate to URL ( I can't use Navigate to BI Content for some reasons). In the URL, I am giving the URL to page P2. Can I pass the selected value (which is David) to the EmpName column of the Prompt PR2 of Page P2 so that Report R2 is automatically limited by David when I land on that page through the URL?
    Few things to consider are, I can't use EmpName column in my report R1 on page P1, I just want to pass the value of a common column from one prompt on Page1 to another prompt on Page2. Is that possible. Can anybody please help?
    Thanks,
    Ronny

    Hmm can you give a try one more time with
    Add EmpName name and hide it on report R1 on page P1
    and set EmpName as Is Prompted on report R2 on page P2 and with my earlier steps should work.
    Other option is read this doc once that helps you how to pass value thru url.
    http://docs.oracle.com/cd/E21043_01/bi.1111/e16364/apiwebintegrate.htm#z1005224
    You need to have a EmpName as Is Prompted on report R2 on page P2
    If helps pls mark

  • How to pass values at runtime in JDBC - XI - File scenario

    Hi friends,
    In my scenario, data is coming from R/3 and i need to filter records from oracle database based on this data. There are 4 database tables that need to be queried using 2 select statements. The resultset after the execution of query will be mapped to the target flat file structure.
    here are my queries:
    1) Can I avoid BPM as data needs to be collected from the two database calls which involves two sender JDBC adapter instances with only one target structure?
    2) Can I use stored procedure in this scenario? If yes, than how to pass values to stored procedure at runtime via sender JDBC adapter.
    Thanks and regards,
    Nitin aggarwal.

    Hi Nitin,
    "..So i want to know if i can write multiple select statements in the stored procedure.."
    Read the below line that is mentioned in the SAP help documentation fro Sender JDBC adapter:-
    <i>Specify an SQL EXECUTE statement to execute a stored procedure, which contains exactly one SELECT statement.</i>
    I dont think it can be achieved...but there must be some workaround for this. You can probably use a join statement.
    Read this, again from the documentation:-
    <i>The expression must correspond to the SQL variant supported by the relevant JDBC driver. It can also contain table JOINs.</i>
    Regards,
    Sushumna

  • 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

  • How to pass value to select-option parameter using SET PARAMETER Command

    Hi,
        Am passing values to selection-screen fields in report RV13A004 ( used in VK11, VK12 and VK13). using below statement but material number is select-option in this report. am able to pass  MATERIAL FROM using SET PARAMETER ID, can i know how to pass values MATERIAL TO range in select-options fields using SET PARAMETER Command ??
    Passing values to parameter id
    set parameter id 'VKS' field kschl.
    set parameter id 'VKO' field vkorg.
    set parameter id 'VTW' field vtweg.
    set parameter id 'KDA' field erdat.
    set parameter id 'MAT' field matnr_from.
    Change condition price.
    call transaction 'VK12' and skip first screen.
    Thanks in advance.
    Regards,
    Balamurugan.

    Hi,
    instead of using set parameters and dden call transaction use this..........
    submit RV13A004  WITH SELECTION-TABLE rspar
    Effect
    If you specify this addition, parameters and selection criteria on the selection screen are supplied from an internal table rspar. You must specify an internal table with the row type RSPARAMS for rspar. The structured data type RSPARAMS is defined in the ABAP Dictionary and has the following components, all of which are data type CHAR:
    SELNAME (length 8),
    KIND (length 1),
    SIGN (length 1),
    OPTION (length 2),
    LOW (length 45),
    HIGH (length 45).
    To supply parameters and selection criteria for the selection screen with specific values, the lines in the internal table rspar must contain the following values:
    SELNAME must contain the name of a parameter or selection criterion for the selection screen in block capitals
    KIND must contain the type of selection screen component (P for parameters, S for selection criteria)
    SIGN, OPTION, LOW, and HIGH must contain the values specified for the selection table columns that have the same names as the selection criteria; in the case of parameters, the value must be specified in LOW and all other components are ignored.
    If the name of a selection criterion is repeated in rspar, this defines a selection table containing several lines and passes it on to the selection criterion. If parameter names occur several times, the last value is passed on to the parameter.
    The contents of the parameters or selection tables for the current program can be entered in the table by the function module RS_REFRESH_FROM_SELECTOPTIONS.
    Notes
    In contrast to selection tables, the data types of the components LOW and HIGH in table rspar are always of type CHAR and are converted to the type of the parameter or selection criterion during transfer, if necessary.
    When entering values, you must ensure that these are entered in the internal format of the ABAP values, and not in the output format of the screen display.
    Cheers
    Will.

  • How to pass values to Oracle store procedure in Crystal Report

    Hi all,
    I am newbie on passing values to stored procedure parameters. I created a Crystal Report using the Crystal Report wiward with PULL method and data come from Oracle stored procedure. In an ASP.NET page, I have stored two values in Session and need to pass them as input parameters to Oracle stored procedure to print the report. In Crystal reports 2010 once you connect to a stored-procedure as data source, it automatically creates the parameter fields with Crytal Report Viewer. Please show me how I pass values to store procedure at runtime automatically.
            'Set the parametter value
            myReport.SetParameterValue("@P_COURSE", "CoursetNo")
            myReport.SetParameterValue("@P_CLASS", "ClassNo")
        End Sub
    I tried to apply above codes from Brian Bischof book but display the error from the following lines:
            myReport.SetParameterValue("@P_COURSE", "CoursetNo")
            myReport.SetParameterValue("@P_CLASS", "ClassNo")
    I also enclosed my code. Any experts, please let me know anything wrongs on my code . I tried several methods that searching via google, but did not solve my issues. Thanks.
    Edited by: avt2K7 on Mar 15, 2011 7:02 AM

    Hi,
    Thank you for your response. Here are the detailed code and error as following:
    Please show what I am missing in my below VB.NET codes:
    ===========================================================================================
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            LogonToTables("username", "password", "servername", "")
        End Sub
        Private Sub LogonToTables(ByVal myUserId As String, ByVal myPassword As String, ByVal myServerName As String, ByVal myDataBaseName As String)
            Dim Course, Class As String
            Course = Session.Item("CourseNumber"))
            Class = Session.Item("ClassNumber"))
            Dim myReport As New CrystalDecisions.CrystalReports.Engine.ReportDocument
            myReport.Load(Server.MapPath("CrystalReport1.rpt"))
            Dim myTableLogonInfo As CrystalDecisions.Shared.TableLogOnInfo
            'Set the database properties and security credentials
            Dim myConnectionInfo As New CrystalDecisions.Shared.ConnectionInfo
            myConnectionInfo.ServerName = "servername"
            myConnectionInfo.DatabaseName = ""
            myConnectionInfo.UserID = "username"
            myConnectionInfo.Password = "password"
            'Apply the ConnectionInfo to the report tables
            Dim myTables = myReport.Database.Tables
            For Each myTable As CrystalDecisions.CrystalReports.Engine.Table In myTables
                myTableLogonInfo = myTable.LogOnInfo
                myTableLogonInfo.ConnectionInfo = myConnectionInfo
                myTable.ApplyLogOnInfo(myTableLogonInfo)
            Next
            'Set the parametter value to Crystal Report parameter named P_COURSE and P_CLASS
            myReport.SetParameterValue("@P_COURSE", "Course")
            myReport.SetParameterValue("@P_CLASS", "Class")
        End Sub
    =================================================================================
    I put a break point to debug but display the error at the following lines:
            myReport.SetParameterValue("@P_COURSE", "Course")
            myReport.SetParameterValue("@P_CLASS", "Class")
    Eventhough, if I set a specific value to Course=1000 and Class = math and still receive the error:
    Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))
    I tried several sources from Google search but it is not working. I really appreciate any detailed code either in C# or VB.NET to solve my issues. Thanks in advance.

  • BPM: How to return the total number of lines in Multiline Container Element

    Hi all:
    I am trying to follow the following blog to do message splitting:
    /people/narendra.jain/blog/2005/12/30/various-multi-mappings-and-optimizing-their-implementation-in-integration-processes-bpm-in-xi
    In the blog, total number of messages for Message1 was returned to Count in Message 2.
    If I do not want to create message 2, if there any way to return total number lines in multiline elements ? Because this number need to be used to specify in loop condition:
    While Indxe != TotalNumberOfLines
    Thanks
    Liang

    Hi, Matias:
    For the loop block option, your answer is passing message count in different message type is best option !
    I really do not know why SAP does not deliver a build-in function to return the number of items in multiline element at run time ?
    Now the question for the second option: ForEach block:
    When I leave current line of block properties empty, the compile does not pass
    I have to input a another element (Var_Cur) in current line
    Inside my block, I have one send step, it will send Var_Dest[Index],  followed by a container operation step to increment Index by 1.
    With above setup, I compile it, compile passed, but it says:
    "Container Element Var_Cur in Step Block1 is initialized but not used"
    then I added another containter operation step in block:
    Var_Cur = Var_Dest[Index]
    I modified send step to send Var_Cur rather than Var_Dest.
    Up to now, I can compile it without any warnings.
    But when I send message to IE, the message pass pipe line, but it seems does not pass the BPE.
    When I go to SXI_CACHE, to check the return code for my Integration process is 0, means no error.
    But my message does not reach my target system.
    Where do you think I made wrong ?
    Thanks
    Liang

  • 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

  • How to identify whether a multiline container is empty or not in Workflow?

    Hi Experts,
    Does any1 know how to identify whether a multiline container
    is empty or not in a workflow?
    Thanks.
    Points wil be rewarded.
    Vincent

    Dear Vincent,
    You can get the report name for the Business Object which contains the multi-line container, from the BO itself. Put a break-point in the report and try executing the workflow. The multiline container is like an internal table in the report. See if the internal table is initial while execution.
    Regards,
    Michael.

  • How to passing value into Captivate from html?

    How to passing value into Captivate from html?
    Or
    How to communicate between objects in one slides?

    Hi czhao0378 and welcome to the forums!
    Captivate does not natively allow you to communicate your own
    data, either internally or externally. The only way to make this
    happen is to create your own functionality, either via custom-built
    Flash objects or JavaScript code executed in the browser or a
    combination of both.
    The only example I've seen of any "data passing" inside
    Captivate is a custom text input/output solution that was posted on
    the Captivate Developer Exchange:
    http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&loc=en_us&extid=1253 021
    This solution consists of an input box that takes information
    from the user on one slide and a second box that displays that
    information on another slide. The functionality was built in Flash
    and is embedded in Captivate as a Flash "animation". Unfortunately,
    since this is a custom functionality, the information is not
    included in the user completion results Captivate can pass to a
    Learning Management System.
    Since the solution mentioned above relies on a Flash
    Actionscript variable to hold the information that is displayed,
    you can also pass the information from HTML to Captivate using the
    "SetVariable" command in JavaScript. This would at least allow you
    to display your own HTML-based data inside Captivate.
    Beyond that, I'm not aware of any other way to gather and
    pass data in Captivate.

Maybe you are looking for

  • IMac Late 2006 Screen Shot/Flickers

    Though the computer itself seems find (able to print off the network via laptop), the screen on my Late 2006 iMac seems done. What can I do? The flickery images, like a bad old TV set has kicked in, and I don't see it stopping. Should I attempt a res

  • Signature in Mac Mail keeps disappearing

    I have to keep pasting the same signature in every e-mail, it will not retain my customer signature after the mail application has been closed. Couldn't find much info on this online, does anyone have any ideas?

  • InDesign CC interactive PDF hyperlink issue on PC

    Exporting as an interactive PDF using links to open another PDF file and the link works fine on a MAC not a PC? Any idea how to get it to work on a PC?

  • Slow database startup

    I recently created a database using PFILE with only basic parameters and then I created SPFILE for the same. But whenever I gave STARTUP at cmd prompt it takes nearly 30 minutes to start the database. My system is P-4 with 1GB ram and working on Wind

  • Printing problems with Epson R2880, works fine on Snow Leopard

    I have 3 iMacs running Snow Leopard which comes with driver version 8. These can print just fine to the Epson but as soon as I connect it to my Mac Mini running Lion it refuses to print. I get this error "Printing has been canceled because the paper