How to extract multiple transaction values

Hai All,
         I have a situation where the customer enters more than one value for a field. The values entered is transaction data and also some times text is also entered.
Can anyone tell me how I can extract this data to BW?
Thank you very much.

Hai Ravi,
          Sure. I have a form where the user enters some information. There is a field named Sales Area where the user can select more than one areas. There is a drop down list with the cities names and then there is a extra box, where the user can enter a city name thats not on the list. The user can enter more than one city name. In R/3, they have this field "Sales area" and the multiple entries are being stored in another table. I have other situations where the user can enter some amounts for the same field "Price quote".
I need to extract this data.
Thank you.

Similar Messages

  • How to use multiple transactions

    hi experts,
    1.how to handle multiple transactions in call transaction and session method.
    2.is it possible to handle multiple transactions in call transaction method.
    3.can plz send how handle multiple transactions in session method.
    thanks in addvance

    hi,
    Go through this program.
    REPORT zra_gl_cr NO STANDARD PAGE HEADING LINE-SIZE 255.
    TYPE-POOLS: truxs.
    DATA: it_raw TYPE truxs_t_text_data.
    DATA:messtab1 LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
    DATA:messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
    DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
    DATA: BEGIN OF i_mess OCCURS 0,
    l_mstring(480),
    msgnr(5),
    msgv1(15),
    END OF i_mess.
    DATA:i_mess1 LIKE i_mess OCCURS 0 WITH HEADER LINE.
    DATA: l_mstring(480),l_mstring1(480).
    DATA: BEGIN OF it_itab OCCURS 0,
    saknr(10), "G/L a/c number.
    bukrs(4), "Company Code.
    ktoks(4), "G/L a/c group.
    xplacct(1), "P&L statement account.
    xbilk(1), "Balance sheet account.
    txt20_ml(20), "G/L a/c short text.
    txt50_ml(50), "G/L a/c long text.
    waers(5), "Account currency.
    MWSKZ(2),
    mitkz(1), "Reconciliation a/c for a/c type.
    xopvw(1), "Open item management
    xkres(1), "Line item display.
    zuawa(3), "Sort Key.
    fstag(4), "Field status group.
    xintb(1), "Post automatically only.
    hbkid(5), "House bank.
    hktid(5), "Account id.
    vzskz(2), "Interest indicator
    END OF it_itab.
    DATA: hdate LIKE sy-datum.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 5(15) text-103. " FOR FIELD P_FILE1.
    SELECTION-SCREEN POSITION 25.
    PARAMETERS : p_file1 LIKE rlgrap-filename.
    SELECTION-SCREEN END OF LINE.
    INITIALIZATION.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.
    Perform file_selection will help to select the location of the file
    PERFORM file_selection.
    START-OF-SELECTION.
    Perform data_upload will help to upload the data from the flat file
    to the internal table.
    PERFORM data_upload.
    PERFORM open_group.
    Peform bdc_upload will help to upload the data from the internal
    table into its respective fields.
    PERFORM bdc_fspo.
    PERFORM bdc_upload.
    PERFORM exp_log.
    PERFORM close_group.
    Perform display_log will prepare a log for the data that has been
    uploaded
    PERFORM display_log.
    END-OF-SELECTION.
    FORM file_selection .
    CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
    def_filename = ' '
    def_path = 'C:\'
    mask = ',.txt,.xls.'
    mode = 'O'
    title = 'Open a excel file'
    IMPORTING
    filename = p_file1
    EXCEPTIONS
    inv_winsys = 1
    no_batch = 2
    selection_cancel = 3
    selection_error = 4
    OTHERS = 5.
    ENDFORM. " file_selection
    FORM data_upload .
    CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
    EXPORTING
    I_FIELD_SEPERATOR =
    i_line_header = 'X'
    i_tab_raw_data = it_raw
    i_filename = p_file1
    TABLES
    i_tab_converted_data = it_itab
    EXCEPTIONS
    conversion_failed = 1
    OTHERS = 2.
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    ENDFORM. " data_upload
    FORM bdc_upload .
    LOOP AT it_itab.
    perform bdc_dynpro using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field using 'BDC_OKCODE'
    '=ACC_CRE'.
    perform bdc_field using 'BDC_CURSOR'
    'GLACCOUNT_SCREEN_KEY-SAKNR'.
    perform bdc_field using 'GLACCOUNT_SCREEN_KEY-SAKNR'
    it_itab-SAKNR.
    perform bdc_field using 'GLACCOUNT_SCREEN_KEY-BUKRS'
    it_itab-BUKRS.
    perform bdc_dynpro using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field using 'BDC_OKCODE'
    '=2102_GROUP'.
    perform bdc_field using 'BDC_CURSOR'
    'GLACCOUNT_SCREEN_COA-KTOKS'.
    perform bdc_field using 'GLACCOUNT_SCREEN_COA-KTOKS'
    it_itab-KTOKS.
    perform bdc_field using 'GLACCOUNT_SCREEN_COA-XPLACCT'
    it_itab-XPLACCT.
    perform bdc_dynpro using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field using 'BDC_OKCODE'
    '=2102_BS_PL'.
    perform bdc_field using 'BDC_CURSOR'
    'GLACCOUNT_SCREEN_COA-XBILK'.
    perform bdc_field using 'GLACCOUNT_SCREEN_COA-KTOKS'
    it_itab-KTOKS.
    perform bdc_field using 'GLACCOUNT_SCREEN_COA-XPLACCT'
    it_itab-XPLACCT.
    perform bdc_field using 'GLACCOUNT_SCREEN_COA-XBILK'
    it_itab-XBILK.
    perform bdc_dynpro using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field using 'BDC_OKCODE'
    '=ENTER'.
    perform bdc_field using 'GLACCOUNT_SCREEN_COA-KTOKS'
    it_itab-KTOKS.
    perform bdc_field using 'GLACCOUNT_SCREEN_COA-XBILK'
    it_itab-XBILK.
    perform bdc_field using 'GLACCOUNT_SCREEN_COA-TXT20_ML'
    it_itab-TXT20_ML.
    perform bdc_field using 'GLACCOUNT_SCREEN_COA-TXT50_ML'
    it_itab-TXT50_ML.
    perform bdc_field using 'BDC_CURSOR'
    'GLACCOUNT_SCREEN_COA-BILKT'.
    perform bdc_field using 'GLACCOUNT_SCREEN_COA-BILKT'
    it_itab-saknr.
    PERFORM bdc_dynpro USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=TAB02'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'GLACCOUNT_SCREEN_COA-KTOKS'.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-KTOKS'
    it_itab-ktoks.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-TXT20_ML'
    it_itab-txt20_ml.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-TXT50_ML'
    it_itab-txt50_ml.
    perform bdc_field using 'BDC_CURSOR'
    'GLACCOUNT_SCREEN_COA-BILKT'.
    perform bdc_field using 'GLACCOUNT_SCREEN_COA-BILKT'
    it_itab-saknr.
    perform bdc_dynpro using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field using 'BDC_OKCODE'
    '=TAB02'.
    perform bdc_field using 'BDC_CURSOR'
    'GLACCOUNT_SCREEN_COA-KTOKS'.
    perform bdc_field using 'GLACCOUNT_SCREEN_COA-KTOKS'
    it_itab-KTOKS.
    perform bdc_field using 'BDC_CURSOR'
    'GLACCOUNT_SCREEN_COA-KTOKS'.
    perform bdc_field using 'GLACCOUNT_SCREEN_COA-KTOKS'
    it_itab-KTOKS.
    perform bdc_field using 'GLACCOUNT_SCREEN_COA-XBILK'
    it_itab-XBILK.
    perform bdc_field using 'GLACCOUNT_SCREEN_COA-TXT20_ML'
    it_itab-TXT20_ML.
    perform bdc_field using 'GLACCOUNT_SCREEN_COA-TXT50_ML'
    it_itab-TXT50_ML.
    perform bdc_field using 'GLACCOUNT_SCREEN_COA-BILKT'
    it_itab-saknr.
    perform bdc_dynpro using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field using 'BDC_OKCODE'
    '=ENTER'.
    perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-WAERS'
    it_itab-waers.
    perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-MWSKZ'
    it_itab-MWSKZ.
    perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-MITKZ'
    it_itab-mitkz.
    perform bdc_field using 'BDC_CURSOR'
    'GLACCOUNT_SCREEN_CCODE-XOPVW'.
    perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-XOPVW'
    it_itab-XOPVW.
    perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-XKRES'
    it_itab-XKRES.
    perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-ZUAWA'
    it_itab-ZUAWA.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-XPLACCT'
    it_itab-xplacct.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-XBILK'
    it_itab-xbilk.
    IF it_itab-xbilk = 'X'.
    PERFORM bdc_dynpro USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=TAB03'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'GLACCOUNT_SCREEN_CCODE-WAERS'.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-WAERS'
    it_itab-waers.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-XOPVW'
    it_itab-xopvw.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-MITKZ'
    it_itab-mitkz.
    ENDIF.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-XKRES'
    it_itab-xkres.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-ZUAWA'
    it_itab-zuawa.
    PERFORM bdc_dynpro USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=SAVE'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'GLACCOUNT_SCREEN_CCODE-FSTAG'.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-FSTAG'
    it_itab-fstag.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-XINTB'
    it_itab-xintb.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-HBKID'
    it_itab-hbkid.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-HKTID'
    it_itab-hktid.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_CCODE-VZSKZ'
    it_itab-vzskz.
    perform bdc_dynpro using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field using 'BDC_OKCODE'
    '=TAB03'.
    perform bdc_field using 'BDC_CURSOR'
    'GLACCOUNT_SCREEN_CCODE-WAERS'.
    perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-WAERS'
    it_itab-WAERS.
    perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-MWSKZ'
    it_itab-MWSKZ.
    perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-MITKZ'
    it_itab-MITKZ.
    perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-ZUAWA'
    it_itab-ZUAWA.
    perform bdc_dynpro using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field using 'BDC_OKCODE'
    '=ENTER'.
    perform bdc_field using 'BDC_CURSOR'
    'GLACCOUNT_SCREEN_CCODE-FSTAG'.
    perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-FSTAG'
    it_itab-FSTAG.
    perform bdc_dynpro using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field using 'BDC_OKCODE'
    '=SAVE'.
    perform bdc_field using 'BDC_CURSOR'
    'GLACCOUNT_SCREEN_CCODE-FSTAG'.
    perform bdc_field using 'GLACCOUNT_SCREEN_CCODE-FSTAG'
    it_itab-FSTAG.
    PERFORM bdc_transaction USING 'FS00'.
    CALL TRANSACTION 'FS00' USING bdcdata MODE 'A'
    UPDATE 'S'
    MESSAGES INTO messtab1.
    PERFORM mess1.
    REFRESH bdcdata[].
    ENDLOOP.
    ENDFORM. " bdc_upload
    FORM bdc_fspo .
    LOOP AT it_itab.
    PERFORM bdc_dynpro USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=ACC_CRE'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'GLACCOUNT_SCREEN_KEY-SAKNR'.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_KEY-SAKNR'
    it_itab-saknr.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_KEY-KTOPL'
    '1000'.
    PERFORM bdc_dynpro USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=2102_GROUP'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'GLACCOUNT_SCREEN_COA-KTOKS'.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-KTOKS'
    it_itab-ktoks.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-XPLACCT'
    it_itab-xplacct.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-XBILK'
    it_itab-xbilk.
    PERFORM bdc_dynpro USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=SAVE'.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-KTOKS'
    it_itab-ktoks.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-XPLACCT'
    it_itab-xplacct.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'GLACCOUNT_SCREEN_COA-TXT50_ML'.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-TXT20_ML'
    it_itab-txt20_ml.
    PERFORM bdc_field USING 'GLACCOUNT_SCREEN_COA-TXT50_ML'
    it_itab-txt50_ml.
    *perform bdc_transaction using 'FSP0'.
    CALL TRANSACTION 'FSP0' USING bdcdata MODE 'A'
    UPDATE 'S'
    MESSAGES INTO messtab.
    PERFORM mess.
    REFRESH bdcdata[].
    ENDLOOP.
    ENDFORM. " bdc_fspo
    FORM mess . "fsp0
    LOOP AT messtab.
    CALL FUNCTION 'FORMAT_MESSAGE'
    EXPORTING
    id = messtab-msgid
    lang = messtab-msgspra
    no = messtab-msgnr
    v1 = messtab-msgv1
    v2 = messtab-msgv2
    v3 = messtab-msgv3
    v4 = messtab-msgv4
    IMPORTING
    msg = l_mstring
    EXCEPTIONS
    not_found = 1
    OTHERS = 2.
    CONDENSE l_mstring.
    i_mess1-l_mstring = l_mstring(250).
    i_mess1-msgnr = messtab1-msgnr.
    i_mess1-msgv1 = messtab1-msgv1.
    APPEND i_mess1.
    ENDLOOP.
    ENDFORM. " mess
    FORM mess1 . "fs00
    LOOP AT messtab1.
    CALL FUNCTION 'FORMAT_MESSAGE'
    EXPORTING
    id = messtab1-msgid
    lang = messtab1-msgspra
    no = messtab1-msgnr
    v1 = messtab1-msgv1
    v2 = messtab1-msgv2
    v3 = messtab1-msgv3
    v4 = messtab1-msgv4
    IMPORTING
    msg = l_mstring1
    EXCEPTIONS
    not_found = 1
    OTHERS = 2.
    CONDENSE l_mstring1.
    i_mess-l_mstring = l_mstring1(250).
    i_mess-msgnr = messtab1-msgnr.
    i_mess-msgv1 = messtab1-msgv1.
    APPEND i_mess.
    ENDLOOP.
    ENDFORM. " mess1
    FORM exp_log .
    CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
    filename = 'c:\temp\error_fsp0.txt'
    filetype = 'DAT'
    TABLES
    data_tab = i_mess1.
    CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
    filename = 'c:\temp\error_fs00.txt'
    filetype = 'DAT'
    TABLES
    data_tab = i_mess.
    ENDFORM. " exp_log
    FORM bdc_dynpro USING program dynpro.
    CLEAR bdcdata.
    bdcdata-program = program.
    bdcdata-dynpro = dynpro.
    bdcdata-dynbegin = 'X'.
    APPEND bdcdata.
    ENDFORM. "BDC_DYNPRO
    FORM bdc_field USING fnam fval.
    CLEAR bdcdata.
    bdcdata-fnam = fnam.
    bdcdata-fval = fval.
    APPEND bdcdata.
    ENDFORM. "BDC_Field
    Rewards points.
    Rgds,
    P.Nag

  • How to extract the date value of IBOR date="12/12/2009"

    I have the following query, but do not get the date value out:
    WITH ibors AS (
    SELECT xmltype('<?xml version="1.0" encoding="utf-8"?>
    <IBOR date="12/12/2009">
    <LIBOR currency="USD">
    <OneYear>1.38875</OneYear>
    </LIBOR>
    </IBOR>
    ') ibor_xml
    FROM dual
    SELECT i.ibor_date, i.ibor_oneyear
    FROM ibors,
    XMLTABLE(
    '//IBOR'
    PASSING ibors.ibor_xml
    COLUMNS ibor_date VARCHAR2(20) PATH '/IBOR/date',
    ibor_oneyear VARCHAR2(20) PATH '/IBOR/LIBOR/OneYear'
    ) i;
    How to extract the date value of <IBOR date="12/12/2009">?

    Hi,
    The date is an attribute of element IBOR. So you must use "@date" in the xpath expression :
    WITH ibors AS (
    SELECT xmltype('<?xml version="1.0" encoding="utf-8"?>
    <IBOR date="12/12/2009">
    <LIBOR currency="USD">
    <OneYear>1.38875</OneYear>
    </LIBOR>
    </IBOR>
    ') ibor_xml
    FROM dual
    SELECT i.ibor_date, i.ibor_oneyear
    FROM ibors,
    XMLTABLE(
    '//IBOR'
    PASSING ibors.ibor_xml
    COLUMNS
    ibor_date VARCHAR2(20) PATH '/IBOR/@date',
    ibor_oneyear VARCHAR2(20) PATH '/IBOR/LIBOR/OneYear'
    ) i;

  • How to extract multiple values from a procedure

    Hi, i have a plsql procedure that i have to invoque in a select statement. This procedure return several values (it has multiple OUTPUTS). How can i get this values and how they are returned.
    Thanks

    Hi. This procedure performs a series of calculations and it is used in a userform (forms). Now we need to used to construct a report. Reading the procedure code, in the parameters list apears several (5 to be exact) parameters that are OUTPUTS (are describe like this in the documentation). I don´t know about plsql but i don´t know if there are any way to send parameters by reference to a procedure.
    Another question, how can i invoque it?
    Thanks.

  • How to handle multiple transaction in session method.

    hi experts.
    please tell me how to<b> write code for multiple transaction</b> in session methods.
    Quest.  -de<b>another question is exactly which method we have to follow , how to</b>decide.
    what r the conditions for selecting which method is suitable for which type of
    transaction.

    hi,
    if you have run time validation while updating the data into SAP R/3 Transaction,then use BDC Call Transaction.
    example : when you load the data into Sales order then you need to load the into Header text of sales order.
    for this ,you have to use Update Mode 'S'.
    it is online update and if you small amount of data ,then prefer this one
    2. If you have huge amount of data and then prefer Session Method.
    we have one more advantage in session method...
    suppose file has 1,00,000 records and the if you use all the records at time,then you will get short dump like system time exceed .
    then you can split the each 10,000 records into one session and will process.
    3. Direct Input method : we prefer this method only few Transaction ,
    this will not applicable to when system has customer fields .
    for session method using multiple transactions.
    Have one BDC_OPEN_GROUP, multiple BDC_INSERT s and one BDC_CLOSE_GROUP.
    You should have multiple BDC_INSERT s for multiple transactions.
    call function BDC_OPENGROUP.
    Build BDC data and cal lBDC_INSERT for transaction 1
    Build BDC data and cal lBDC_INSERT for transaction 2
    Build BDC data and cal lBDC_INSERT for transaction 3
    paas the tcodes to bdc_insert.
    call function BDC_CLOSE_GROUP.

  • How to - Select Multiple Filter Values w/o Navigation ability

    Just FYI, I had a requirement to allow users to select multiple characteristic filter values.  Something like a capabilities a combo box would afford us.
    To do this just use a Generic Nav Block Web Item and in the Web Item configuration just uncheck the "Display Navigation Icons". 
    It gives them the ability to select multiple filter values without all the Drill up/down capabilities.

    You can use multiple filter options using the web item dropdwon box.
    There is a How to document available in the BW 2.0B section for this..link below.
    https://websmp206.sap-ag.de/~sapdownload/011000358700003825382001E/HOWTOMULTIPLESELECTION.DOC
    Thanks.

  • How to pass multiple single values to parameter in planning function?

    Hi!
        I can not pass the variables (multiple single Values) from Input Layouts(BexAnalyzer) to Planning Function Types...Anyone have any idea for setting the parameter in the function types. I use the exit class CL_RSPLFC_BPS_EXITS.
    My Parameter Type is Elementary and also use variables allowed

    If you want to use the class as in a planning function type, proceed as follows:
    1. Create an InfoObject that accepts the name of the function module as a characteristic value. We recommend that you create an InfoObject of type character with length 30 and indicate that this InfoObject is "Without Master Data".
    2. In transaction RSPLF1, create a new function type. Chose the "Reference Data" option and enter the name of the class. This does NOT imply that reference data is read automatically, but results from the requirements for implementing the class.
    3. On the "Parameter" tab page, create two parameters - one for the exit module and one for the init module. The parameters should be "elementary". Chose the InfoObject you created in step two as the dedicated InfoObject. The names of the parameters are determined from the values of constant P_C_NAME_EXIT_PARAM and P_C_NAME_INIT_PARAM.
    4. If you require additional parameters in your function module (called exit parameters), you create these parameters as elementary parameters (with appropriate InfoObjects). Note an additional predefined parameter here - in many function modules, the name of the area is used from which the module is called. The area is not used in BI Integrated Planning but it may be the case that an area was created in BPS which only uses the current InfoCube. For this reason, you can create a parameter with the name specified in constant P_C_NAME_AREA_PARAM by specifying the name of this area to the function module. The value of this parameter is passed on to the function module in the interface as the value of the importing parameter I_AREA. Note that this technology can generally only by used for Basis InfoCubes and simple planning areas (not multi- planning areas or MultiProviders).
    You can create additional elementary parameters as long as the names do not correspond to the predefined names. The class automatically recognizes the additional parameters and transfers them to table IT_EXITP in the function modules.
    5. After you have activated the planning function type, you can create planning functions and fill the parameters accordingly.

  • How to extract an element value from a String of HTML

    I have a web service that returns a fragment of HTML that contains a number in a table. The return parameter type is a string. I need to get this number and use it in a BPEL while loop, as the condition for the loop (while the number > 0).
    I have tried using the function bpws:getVariableData() but the BPEL PM faults and says: XPath expression failed to execute. Error while processing xpath expression. I think this is because I am trying to apply an XPath expression over a String variable.
    The return value from my web service looks like this:
    <whileConditionResultSet>
    <part xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" name="response">
    <ns1:string_Response xmlns:ns1="http://systinet.com/xsd/SchemaTypes/"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="d:string">
         <p>SQL Query: select count(*) from delta_manages</p>
         <p><table border='1'>
              <tr> <th bgcolor='#C0C0C0'>COUNT(*)</th></tr>
              <tr> <td>28</td></tr>
              </table>
         </p></ns1:string_Response>
    </part>
    </whileConditionResultSet>
    How do I get the value from the HTML table into a BPEL variable?

    the doSqlService() which executes an arbitrary SQL statement, returns a string of HTML like this:
    <doSqlServiceResponse>
    <part xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" name="response">
    <ns1:string_Response xmlns:ns1="http://systinet.com/xsd/SchemaTypes/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="d:string"><p>SQL Query: select count(*) from delta_manages</p> <p><table border='1'> <tr> <th bgcolor='#C0C0C0'>COUNT(*)</th></tr> <tr> <td>14</td></tr> </table></p></ns1:string_Response>
    </part>
    I then copy the result to the whileResultString variable
    <variable name="whileResultString" type="xsd:string"/>
    <copy>
                                       <from variable="doSqlServiceResponse" part="response" query="/ns1:string_Response">
                                       </from>
                                       <to variable="whileResultString"/>
                                  </copy>
    I realise too, a root element will be needed. This is not a mission critical problem as we could change the web service at the other end. It was originally designed for a client to display the results rather than use them within a business process. Anyway, I'm just interested to know if I can create a node from this string data in BPEL.
    Ross.

  • How to place multiple characteristic values for a single Report line

    hi friends,
          I want to display a report with multiple characteristc values in different columns for each instance, For example there are 2 instances and they have multiple characteristics , so all characteristics of each instance  should be displayed in multiple columns in one by one in the same row.
    Thanks in advance.
    RK
    Message was edited by:
            RK

    Hi RK,
        Try this it may help you for multiple values for one instance....
    *Type-pools
    TYPE-POOLS: slis.
    Data declarations.
    DATA: BEGIN OF t_vbak OCCURS 0,
    vbeln TYPE vbeln,
    bstnk TYPE vbak-bstnk,
    erdat TYPE vbak-erdat,
    kunnr TYPE vbak-kunnr,
    END OF t_vbak.
    DATA: BEGIN OF t_vbap OCCURS 0,
    vbeln TYPE vbeln,
    matnr TYPE vbap-matnr,
    netpr TYPE vbap-netpr,
    waerk TYPE vbap-waerk,
    kwmeng TYPE vbap-kwmeng,
    meins TYPE vbap-meins,
    END OF t_vbap.
    DATA: t_fieldcatalog1 TYPE slis_t_fieldcat_alv.
    DATA: t_fieldcatalog2 TYPE slis_t_fieldcat_alv.
    DATA: v_repid TYPE syrepid.
    DATA: s_layout TYPE slis_layout_alv.
    DATA: v_tabname TYPE slis_tabname.
    DATA: t_events TYPE slis_t_event.
    start-of-selection event.
    START-OF-SELECTION.
    v_repid = sy-repid.
    Get the fieldcatalog for the first block
    PERFORM get_fieldcat1 CHANGING t_fieldcatalog1.
    Get the fieldcatalog for the second block
    PERFORM get_fieldcat2 CHANGING t_fieldcatalog2.
    Get the data for the first block
    SELECT vbeln bstnk erdat kunnr UP TO 10 ROWS
    INTO TABLE t_vbak
    FROM vbak WHERE vbeln > '0060000100'.
    Get the data for the second block
    SELECT vbeln matnr netpr waerk kwmeng meins UP TO 10
    ROWS
    INTO TABLE t_vbap
    FROM vbap WHERE vbeln > '0060000100'.
    init
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
    EXPORTING
    i_callback_program = v_repid.
    First block
    v_tabname = 'ITAB1'.
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
    EXPORTING
    is_layout = s_layout
    it_fieldcat = t_fieldcatalog1
    i_tabname = v_tabname
    it_events = t_events
    TABLES
    t_outtab = t_vbak.
    Second block
    v_tabname = 'ITAB2'.
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
    EXPORTING
    is_layout = s_layout
    it_fieldcat = t_fieldcatalog2
    i_tabname = v_tabname
    it_events = t_events
    TABLES
    t_outtab = t_vbap.
    *Display
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
    FORM GET_FIELDCAT1
    Get the field catalog for the first block
    FORM get_fieldcat1 CHANGING lt_fieldcatalog TYPE
    slis_t_fieldcat_alv.
    DATA: s_fieldcatalog TYPE slis_fieldcat_alv.
    Order number
    s_fieldcatalog-col_pos = '1'.
    s_fieldcatalog-fieldname = 'VBELN'.
    s_fieldcatalog-tabname = 'T_VBAK'.
    s_fieldcatalog-ref_tabname = 'VBAK'.
    s_fieldcatalog-ref_fieldname = 'VBELN'.
    APPEND s_fieldcatalog TO lt_fieldcatalog.
    CLEAR s_fieldcatalog.
    Customer purchase order.
    s_fieldcatalog-col_pos = '2'.
    s_fieldcatalog-fieldname = 'BSTNK'.
    s_fieldcatalog-tabname = 'T_VBAK'.
    s_fieldcatalog-ref_tabname = 'VBAK'.
    s_fieldcatalog-ref_fieldname = 'BSTNK'.
    APPEND s_fieldcatalog TO lt_fieldcatalog.
    CLEAR s_fieldcatalog.
    Creation date.
    s_fieldcatalog-col_pos = '3'.
    s_fieldcatalog-fieldname = 'ERDAT'.
    s_fieldcatalog-tabname = 'T_VBAK'.
    s_fieldcatalog-ref_tabname = 'VBAK'.
    s_fieldcatalog-ref_fieldname = 'ERDAT'.
    APPEND s_fieldcatalog TO lt_fieldcatalog.
    CLEAR s_fieldcatalog.
    Customer
    s_fieldcatalog-col_pos = '4'.
    s_fieldcatalog-fieldname = 'KUNNR'.
    s_fieldcatalog-tabname = 'T_VBAK'.
    s_fieldcatalog-ref_tabname = 'VBAK'.
    s_fieldcatalog-ref_fieldname = 'KUNNR'.
    APPEND s_fieldcatalog TO lt_fieldcatalog.
    CLEAR s_fieldcatalog.
    ENDFORM.
    FORM GET_FIELDCAT2
    Get the field catalog for the second block
    FORM get_fieldcat2 CHANGING lt_fieldcatalog TYPE
    slis_t_fieldcat_alv.
    DATA: s_fieldcatalog TYPE slis_fieldcat_alv.
    Order number
    s_fieldcatalog-col_pos = '1'.
    s_fieldcatalog-fieldname = 'VBELN'.
    s_fieldcatalog-tabname = 'T_VBAP'.
    s_fieldcatalog-ref_tabname = 'VBAP'.
    s_fieldcatalog-ref_fieldname = 'VBELN'.
    APPEND s_fieldcatalog TO lt_fieldcatalog.
    CLEAR s_fieldcatalog.
    Material number
    s_fieldcatalog-col_pos = '2'.
    s_fieldcatalog-fieldname = 'MATNR'.
    s_fieldcatalog-tabname = 'T_VBAP'.
    s_fieldcatalog-ref_tabname = 'VBAP'.
    s_fieldcatalog-ref_fieldname = 'MATNR'.
    APPEND s_fieldcatalog TO lt_fieldcatalog.
    CLEAR s_fieldcatalog.
    Net price
    s_fieldcatalog-col_pos = '3'.
    s_fieldcatalog-fieldname = 'NETPR'.
    s_fieldcatalog-tabname = 'T_VBAP'.
    s_fieldcatalog-ref_tabname = 'VBAP'.
    s_fieldcatalog-ref_fieldname = 'NETPR'.
    s_fieldcatalog-cfieldname = 'WAERK'.
    s_fieldcatalog-ctabname = 'T_VBAP'.
    APPEND s_fieldcatalog TO lt_fieldcatalog.
    CLEAR s_fieldcatalog.
    Currency.
    s_fieldcatalog-col_pos = '4'.
    s_fieldcatalog-fieldname = 'WAERK'.
    s_fieldcatalog-tabname = 'T_VBAP'.
    s_fieldcatalog-ref_tabname = 'VBAP'.
    s_fieldcatalog-ref_fieldname = 'WAERK'.
    APPEND s_fieldcatalog TO lt_fieldcatalog.
    CLEAR s_fieldcatalog.
    Quantity
    s_fieldcatalog-col_pos = '5'.
    s_fieldcatalog-fieldname = 'KWMENG'.
    s_fieldcatalog-tabname = 'T_VBAP'.
    s_fieldcatalog-ref_tabname = 'VBAP'.
    s_fieldcatalog-ref_fieldname = 'KWMENG'.
    s_fieldcatalog-qfieldname = 'MEINS'.
    s_fieldcatalog-qtabname = 'T_VBAP'.
    APPEND s_fieldcatalog TO lt_fieldcatalog.
    CLEAR s_fieldcatalog.
    UOM
    s_fieldcatalog-col_pos = '6'.
    s_fieldcatalog-fieldname = 'MEINS'.
    s_fieldcatalog-tabname = 'T_VBAP'.
    s_fieldcatalog-ref_tabname = 'VBAP'.
    s_fieldcatalog-ref_fieldname = 'MEINS'.
    APPEND s_fieldcatalog TO lt_fieldcatalog.
    CLEAR s_fieldcatalog.
    ENDFORM.
    Plz Reward points if contents are useful,,,
    Regards,
    Mandeep.

  • How to get multiple return value

    hi all!
    I have a method to get some values and put them in 3 arrays which include both one and two dimension arrays. I used String [ ] and String [ ]. The problem is how could I get the values in both String [ ] and String [ ] from outside the method`?
    Thanks a lot !

    Thanks!
    Seems I am on the wrong way. What I am doing is like this example of a picture (arrays used are either String[ ] or String [ ][ ] in following):
    A array Box_array[ ] stores all the names of boxes. Box A (called Source Box) points to Box B (Destination Box) by a directed line called AB. The joints are called Aab on Box A and Bab on Box B respectively. Similarly, Box A may point to another Box C. Box B also may point to Box D. So I use arrary Src_arrary[ k ] to store the name of one Souce Boxe,and Dst_arrary [k ][ ] to store the corresponding Destination Boxes. E.g.,
    Src_array[0] = "A";
    Src_array[1] = "B";
    Dst_array[0][0] = "B";
    Dst_array[0][1] = "C";
    Dst_array[1][0] = "D";
    In the same way,
    Line_array[0][0] ="AB"; Point_Src[0][0] = "Aab"; Point_Dst[0][0]= "Bab";
    Line_array[0][1] ="AC"; Point_Src[0][1] = "Aac"; Point_Dst[0][1]= "Cac";
    Line_array[1][0] ="BD"; Point_Src[1][0] = "Bbd"; Point_Dst[1][0]= "Dbd";
    Line_array[k][ ] stores direted lines which start from the Box indicated by Src_array[k]. Point_Src[k][ ] stores all joint points on the source box (Src_array[k]) and Point_Dst[k][ ] is for joint points on the destination box (Dst_array[k]).
    Now you may understand why I use a two dimension array: because I want to find the right lines and points for a given source box, by using the idex k in the above example.
    Until now, I could represent the picture (Not to draw the picture) like this:
    Directed lines Line_array[k][0] and Line_array[k][1] start from Point_Src[k][0] and Point_Src[k][1] respectively. Both points are on box Src_array[k], and these two lines point to Point_Dst[k][0] on box Dst_array[k][0] and Point_Dst[k][1] and Dst_array[k][1] respectively.
    Then I need to get these values or names stored in these arrays from outside of this method. That is my problem. Maybe it is a wrong way, but as a newbie, I didn't find out other solutions.
    Thank you very much for any hints!

  • How to pass multiple filter values in SAPBEXsetFilterValue function

    I am using SAPBEXsetFilterValue for filtering the query. I want to have multiple filters for same key value for ex. for plant I want the query to be filtered for two plants at the same time using this function please any one could help me out

    Hi,
    Afraid, that is not possible:
    Re: Setting Multiple Filter Values or Filter Range Using SAPBEX API?
    Re: Passing a range to SAPBEX.XLA!SAPBEXSetFilterValue
    Re: SAPBEXsetFilterValue
    Best regards,
    Eugene

  • How to pass multiple MDX values for a single parameter into a drill-through report?

    I'm thinking this will be an easy question for any experienced SSRS/MDX developers, at least I hope so!  I've created a report that gives the user the option to choose viewing data for the current/active week, or YTD.  Depending on which link the
    user selects, the report simply calls itself and needs to pass in the parameter value for Active week.  If it's active week, the parameter value will simply be "true".  If it's YTD, the parameter value needs to be both "True" and "False" so the current
    week's data is accounted for as well.  I've set everything up except for the final step, and I have no idea what to type into the Value field below.  I've tried different things: false, as you see below (it errors saying I'm missing the parameter
    value), the value in MDX format: =[School Dates].[Active Week].&[True] (it said I was missing a bracket), a 1 instead of the word true (again, missing a parameter value).  Nothing is working.
    So my question is kindof two-fold: 1) how do you pass in the value at all and 2) more specifically, how do you pass in multiple values (both true & false) ??

    I'm sorry for being so dense, but I'm not quite following, although what I've tried makes me think if I can follow you, it will work :)
    To answer your initial questions, you are correct with both your assumptions:
    1) detailType is the parameter that specificies YTD/Weekly, this is a "report defined" parameter that I am using to determine which Row Group to display (either YTD or Weekly)
    2) SchoolDaysActiveWeek is the parameter that is being set to either true or false -- this is a field in the cube that states whether that record is for the current week or not
    So in following your instructions, well that's the problem I'm not quite following :)
    1) When you say Delete the SchoolDaysActiveWeek parameter from the report only, do you mean to mark the parameter as Hidden?  If so, I've done this.
    2) I'm not quite sure where to use the statement you provided me.  You said to put it in the dataset, but I don't know which dataset.  I assume you mean the "main" dataset (as opposed to the hidden dataset that gets generated when you mark a field
    as a parameter).  If this is the case, the only place I could see that would allow you to use such a statement is in the Filter section of the properties.  I tried this, and it did not generate any errors, but it also kept my report groups from displaying
    -- it just showed a blank report, so I think it probably wasn't bringing back any rows to populate them with.
    I also tried going into the Expression section for the SchoolDaysActiveWeek parameter in the second screenshot and placing the statement there.  When I did this and ran the report, I would get the following error:
    The 'SchoolDaysActiveWeek' parameter is missing a value
    So what am I missing!? 
    Also, thanks for taking the time to respond!!

  • Using GETGUI command --in ALV grid, how to extract multiple DATA

    Using GETGUI command , I am able to get a single value form the ALV grid. Please explain me how I can read multiple data like rows and columns data from the ALV grid.
    Please be detailed as I already tried selecting the whole block of ALV grid, but I could not help myself.
    Regards
    Srinivas.

    Hi Srinivas,
    You will have to use the concept of Regular expressions for this. We will have to loop through each row/coloumn to do what u desire.
    The ID of an element on grid will be something like GRIDNAME-<ELEMENT NAME>[ROW NO] [COLUMN NO]
    we need to parameterize the row and also the el;ementname changes for each column along with the column number. Please let me know if this much detail is enough. If not i can show u a real time ecatt code snippet on how to play around with grids.
    Regards,
    Justin

  • How to adjust multiple keyframe values accurately?

    How can I precisely adjust a set of keyframes, eg. adding 10 to the X coordinate of all selected position keyframes?
    This is painful in the graph editor.  I have to zoom way in, and then carefully drag the group of keyframes up until I see a delta of "10".  I often end up actually moving it by 10.001.
    Parenting and unparenting isn't a solution, because I need to be able to do this for any keyframe, like expression sliders, not just transforms.
    I started to write a script for this, but I can't find any way to move a keyframe, other than deleting it, creating a new one and then carefully copying over the interpolation settings, which seems risky (if it loses keyframe information, I might not notice until much later).  I guess I could write a native plugin, but that's a lot more work.  This is pretty basic, so hopefully there's already a way to do this.

    Arrow keys only work with position, but I need a solution for any keyframe stream.  Entering equations into the numeric entry doesn't work when moving multiple keyframes, since it still sets every keyframe to that value.  If the value is 10 and you enter "10+20", it doesn't add 20 to every keyframe, it just sets every keyframe to 30.  It would be perfect if it let me type in "n+20", and then evaluated the expression for each keyframe to set its new value, but no such luck.
    As for number scrubbing, there are countless problems, even ignoring the lack of precision. You can't drag by just 1; it doesn't start changing until the cursor has moved a minimum distance, so it doesn't move at all and then suddenly jumps to +3.  (That's normal dragging behavior--it's so you don't accidentally drag when you're just trying to click--but it makes this interface hard to use.)  You also can't easily see the number you're changing (the mouse cursor is covering it!), and if you have an expression on the field you can't see the initial value at all, since it shows the result value until it sees a drag, not the source value.
    I wrote a script for this.  (The issue of changing keyframes was something else--you can change the value of keyframes from scripts, you just can't change their time.  Which is still a problem, but a separate one...)  If anyone wants it: [JavaScript] // Recursively find all keyframes in a property group.  function findKeyframes(p - Pastebin.com
    Examples:
    - Select a bunch of position keyframes, run the script, and enter "n[0] += 50" to add 50 to the X position of all selected keyframes.
    - Select slider control keyframes, and "n++" will increase them all by 1.
    - Select scale keyframes, and "n[0] *= 2; n[1] *= 2; n[2] *= 2;" to double the scale of all of them.
    - "n[0] = Math.round(n[0]); n[1] = Math.round(n[1]);" will snap selected keyframes to the nearest integer.
    - Select rotation keyframes, and "n += 90" will add 90 degrees to all of them.
    - Select checkbox keyframes, and n = !n will flip them all.

  • How to get multiple row values in one text box while clicking one row from grid?

    hi friends,
               i am working on flex4 web application i am using  one datagrid ,it have two records(bills),one button and one text box.
    ex:
    customername      salesrepname   receipt no      amount
    venkat                         raj                         1102          10000
    ramu                          ramesh                   1102         20000
    here both receipt no is same.now i want to select one of this receipt and click pay button which is place in outside the grid.
    now my need is after click the pay button in text box i need 10000+20000=30000,after click that button i want both receipts should be invisible...'
    how i will do this,
    any suggession,
    Thanks
    B.venkatesan

    One way with 10g:
    select mgr,
           rtrim(xmlagg(xmlelement(empno,empno||',').extract('//text()')),',')  emps
    from emp
    where mgr is not null
    group by mgr;10g:
    -- define this function:
    create or replace
    function concatenate(c Sys_refcursor, sep varchar2 default null) return varchar2
    as
      val varchar2(100);
      return_value varchar2(4000);
    begin
    --  open c;
      loop
      fetch c into val;
      exit when c%notfound;
      if return_value is null then
        return_value:=val;
      else
        return_value:=return_value||sep||val;
      end if;
      end loop;
      return return_value;
    end;
    select mgr,
           concatenate(cursor(select empno from emp e where e.mgr=emp.mgr order by empno),',')
    from emp
    where mgr is not null
    group by mgr;With 11g:
    select mgr,
           listagg(empno,',') within group (order by empno) emps
    from emp
    where mgr is not null
    group by mgr;

Maybe you are looking for