How to correct copy/append/insert a array in BPEL

BPEL
Hi @ all,
I have a message type I'd like to iterate through and extract values from array (1).
Then place into another array (2):
TestOutputVariable(Array (1)):
<roottest>
<AAA>
<BBB>result1.1</BBB>
<BBB>result1.2</BBB>
<testname>test1</testname>
</AAA>
<AAA>
<BBB>result2.1</BBB>
<BBB>result2.2</BBB>
<testname>test2</testname>
</AAA>
</roottest>
ReportInputVariable(Array(2)):
<rootreport>
<AAA>
<name/>
</AAA>
</rootreport>
for example ReportInputVariable must be like:
<rootreport>
<AAA>
<name>test1
</AAA>
<AAA>
<name>test2
</AAA>
</rootreport>

Ok let's see (staying in english is allright I hope... eventhough my is getting really bad).
As I said I only can extract the data until now, haven't tried to write it to an array. In addition don't copy the code I give here because it's only to give you an hint. But the JDeveloper is a really cool tool to "click" the right expressions together...
So the trick is to "build" the xpath to access the arrayfield you want to fetch. Therefore at first you need an counter:
<assign><copy><from expression="1"><to variable="counter"></copy></assign>
Now you're going to build your xpath:
<copy><from expression="concat('/roottest/AAA[',bpws:getVariableData('counter'),']')"/>
<to variable="xpathPosition"/>
</copy>
Now you an xPath which is pointing to the child elements of your first node <AAA>. You use these expression now for the copy process:
<copy>
<from expression="bpws:getVariableData(???, ???, concat(bpws:getVariableData('xpathPosition'),'/testname'))"/>
<to variable="output"/>
</copy>
Notice that ??? stands for Variable and Part name - still fighting with the syntax. The main point is that concat gives you the xpath expression to the array field you want (for counter = 1 eg. "/roottest/AAA[1]/testname") - that's it.
To assign the value to an array - sorry, haven't tried it but the link I posted seemed good. The problem is that in order to insert the data into an array you have to append a new element into the array and therefore use one of the extended functions (=bpelx).
Viel Spaß damit :-)

Similar Messages

  • How to correct copy/append/insert a array

    Hi @ all,
    I have a message type I'd like to iterate through and extract values from array (1).
    Then place into another array (2):
    TestOutputVariable(Array (1)):
    <roottest>
    <AAA>
    <BBB>result1.1</BBB>
    <BBB>result1.2</BBB>
    <testname>test1</testname>
    </AAA>
    <AAA>
    <BBB>result2.1</BBB>
    <BBB>result2.2</BBB>
    <testname>test2</testname>
    </AAA>
    </roottest>
    ReportInputVariable(Array(2)):
    <rootreport>
    <AAA>
    <name/>
    </AAA>
    </rootreport>
    for example ReportInputVariable must be like:
    <rootreport>
    <AAA>
    <name>test1
    </AAA>
    <AAA>
    <name>test2
    </AAA>
    </rootreport>
    <while name="While_1"
    condition="bpws:getVariableData('count') >= bpws:getVariableData('iterator')">
    <assign name="AssignTests">
    <copy>
    <from variable="TestOutputVariable"
    part="parameters"
    query="/ns2:getTests/ns2:result/ns2:roottest/ns2:AAA[bpws:getVariableData('iterator')]/ns2:testname"/>
    <to variable="ReportInputVariable" part="payload"
    query="/client:ReportBPELProcessProcessResponse/client:result/client:rootreport/client:AAA[bpws:getVariableData('iterator')]/client:name"/>
    </copy>
    <copy>
    <from expression="bpws:getVariableData('iterator') + 1"/>
    <to variable="iterator"/>
    </copy>
    </assign>
    </while>
    But exception: XPATH returns null node...
    How to populate Array(2)?

    Ok let's see (staying in english is allright I hope... eventhough my is getting really bad).
    As I said I only can extract the data until now, haven't tried to write it to an array. In addition don't copy the code I give here because it's only to give you an hint. But the JDeveloper is a really cool tool to "click" the right expressions together...
    So the trick is to "build" the xpath to access the arrayfield you want to fetch. Therefore at first you need an counter:
    <assign><copy><from expression="1"><to variable="counter"></copy></assign>
    Now you're going to build your xpath:
    <copy><from expression="concat('/roottest/AAA[',bpws:getVariableData('counter'),']')"/>
    <to variable="xpathPosition"/>
    </copy>
    Now you an xPath which is pointing to the child elements of your first node <AAA>. You use these expression now for the copy process:
    <copy>
    <from expression="bpws:getVariableData(???, ???, concat(bpws:getVariableData('xpathPosition'),'/testname'))"/>
    <to variable="output"/>
    </copy>
    Notice that ??? stands for Variable and Part name - still fighting with the syntax. The main point is that concat gives you the xpath expression to the array field you want (for counter = 1 eg. "/roottest/AAA[1]/testname") - that's it.
    To assign the value to an array - sorry, haven't tried it but the link I posted seemed good. The problem is that in order to insert the data into an array you have to append a new element into the array and therefore use one of the extended functions (=bpelx).
    Viel Spaß damit :-)

  • How to remove the the standard button APPEND/INSERT/DELETE in webdynpro alv

    Hello,
    how to remove the the standard button APPEND/INSERT/DELETE in webdynpro-abap  alv
    Thanks
    Rakshar

    Use  this.
        data lo_cmp_usage type ref to if_wd_component_usage.
        lo_cmp_usage =   wd_this->wd_cpuse_alv1( ).
        if lo_cmp_usage->has_active_component( ) is initial.
          lo_cmp_usage->create_component( ).
        endif.
        data lo_interfacecontroller type ref to iwci_salv_wd_table .
        lo_interfacecontroller =   wd_this->wd_cpifc_alv1( ).
        data lo_value type ref to cl_salv_wd_config_table.
        lo_value = lo_interfacecontroller->get_model(
        data: lr_std type ref to if_salv_wd_std_functions.
        lr_std ?= lo_value.
        lr_std->set_export_allowed( abap_false ).
    NOte: ALV1 is alv component name
    Regards
    Srinivas
    Edited by: sanasrinivas on Dec 1, 2011 6:11 AM

  • I have a DVD I recorded from my tv.  I am trying to make copies and when I insert the DVD I get a message saying it is blank even though it is not.  My question are: Why does my computer think it's blank? And how can I copy a DVD?

    I have a DVD I recorded from my tv.  I am trying to make copies and when I insert the DVD, I get a message saying the DVD is blank, which it is not.  My questions are: Why does my computer think it's blank?  And how can I copy the DVD providing my computer recognizes there is content on it?
    Thanks, Sheila

    TV video typically is copyrighted content.  We'd be breaking several rules trying to help you.  Good luck!

  • Every time I download a file to my macbook pro, it saves it to downloads but changes the name and inserts % sign.  Please advise how to correct the name that it is saved under.

    Every time I download a file to my macbook pro, it saves it to downloads but changes the name and inserts % sign.  Please advise how to correct the name that it is saved under.

    Anything Downloaded with a Particular Apple ID is tied to that Apple ID and Cannot be Merged or Transferred to a Different Apple ID.
    Apple ID FAQs
    http://support.apple.com/kb/HE37

  • I keep getting this message:DEBUG flag to true in config.php when I try to copy/paste to Pages on my iMac or upload a picture to a website chat forum. I don't know what it means or how to correct it. I am running an iMac desktop with Lion 10.7.3 with 2 GB

    I keep getting this message the past week when I try to copy/paste text to Pages or upload a picture to a website chat forum. I don't know what it means, or how to correct it. I'm running a 2009 iMac desktop with OSX Lion 10.7.3  with 2 GB  Any help appreciated.
    Angie

    Running the Lion Os requires a MINIMUM of 2 GB of RAM, as you have.  However, with that little RAM the computer will have trouble with many memory based tasks, such as copying and pasting.  You really need to increase the amount of RAM your computer has in order to increase its speed and performance.  Now, when a task requires more RAM than your system has available then the OS will use some harddrive space temporarily instead.  This is called "Virtual Memory."  Is it possible that at this time that your harddrive is very full relative to its stated capacity, so that even "virtual memory" is not really available?  If that is the case, you really need to cleanup your harddrive by deleting a fair number of less used files.
    Hope this helps

  • How can I do to insert a 1D array in a line of a table or a 2D array ?

    I have some vectors I concatenate in a 1D array when I pushed a button. Furthermore, when I pushed the same button, I would like to insert this 1D array in a line of a 2D array or in a line of a table. How can I do ?
    Thanks.
    Cyril.

    Hi,
    to insert 1D array into 2D array you must use
    Functions->Array->Insert Into Array.
    Wire your 2D array to array input of this vi, then specify the row index you want your 1D array will be, and then wire your 1D array to element input. The output will be what you want. The length of all 1D arrays must be the same, otherwise you may loose some data.
    If you want to add data to text table then you need first to convert your numeric array to textual form with
    Function->String->String/Number Coversion VIs
    Good luck.
    The example is attached.
    Oleg Chutko.
    Attachments:
    Insert.vi ‏17 KB

  • I am trying to upgrade from Tiger to Snow Leopard.  When I insert the disk and install starts, it states "This disk is used for Time Machine backups" and Mac OSX can't be installed.  Does anyone know how to correct this (since Tiger doesn't have Time Mach

    I am trying to upgrade from Tiger to Snow Leopard.  When I insert the disk and install starts, it states "This disk is used for Time Machine backups" and Mac OSX can't be installed.  Does anyone know how to correct this (since Tiger doesn't have Time Machine)?

    http://support.apple.com/kb/TS2986

  • How to insert an array of number into access database?

    How can I insert an array of numbers(double) into an access database and later read them back to an array I labview. I don't have the Database Connectivity toolset. I would prefer using the LABSQL or other free solution. Any idea on how to solve this. I have tried LABSQL and SQL commands, but when I do that I have to convert the number to a string and then make a SQL-command string. Is there a way where I don't have to convert the number into a string?

    Hello,
    I am not familiar with LABSQL and we do not do any support on that particular product. However I still want to give you some information on how to proceed. You can either store the array to binary format and by doing this you can save an entire array to one single element of the database. The other alternative is of course to save one-to-one in other words one element of the array in one element in the database.
    More info can be found here:
    http://digital.ni.com/public.nsf/websearch/3FE68BBDA95E845986256DB4006A22C0?OpenDocument
    Have you checked MSDN for information regarding this? You might be able to find useful SQL code there to use.
    Regards,
    Jimmie A.
    Applications Engineer, National Instruments
    Regards,
    Jimmie Adolph
    Systems Engineer Manager, National Instruments Northern Region
    Bring Me The Horizon - Sempiternal

  • How can I append to an array of defined length and have the first value added be the first value out.

    I want to build/append to an array. Let's say the length is defined at 10 elements. When the 11th element comes in I want the first element to be kicked out so that the array always has the most recent 10 elements in it in order. the arrays should look like this:
    {0,1,2,3,4,5,6,7,8,9}
    {1,2,3,4,5,6,7,8,9,10}
    {2,3,4,5,6,7,8,9,10,11}
    etc.
    Any help is greatly appreciated. Thanks 
    Solved!
    Go to Solution.

    Here's a revised VI, except I'm using LV8.5 and the lowest I can save down to is 8 so perhaps someone will be kind enough to convert this?
    Attached an image too
    Message Edited by Sima on 01-13-2009 06:14 PM
    Attachments:
    rotatearray[1].vi ‏14 KB
    rotatearray[1].JPG ‏66 KB

  • How copy part of the array buffer from ColorFrame

    I want copy part of the color frame When I receive it.
    Is there way to do that without copy all the byte array first? (+ example)
    (Question similar to Kinect 1,
    but for kinect 2)

    if you access the raw data you can set offsets based not he width/height of the color frame(y*width+x). The c++ and managed api provide that as a function of the frame. These api's are used in some of the samples so review the code if you are
    unsure of the api use:
    c++ AccessRawUnderlyingBuffer
    https://msdn.microsoft.com/en-us/library/microsoft.kinect.kinect.icolorframe.accessrawunderlyingbuffer.aspx
    .Net c# - LockRawImageBuffer
    https://msdn.microsoft.com/en-us/library/windowspreview.kinect.colorframe.lockrawimagebuffer.aspx
    Carmine Sirignano - MSFT

  • Want to copy/append data in one table to another

    Hi,
    I have two similar tables Alo_table and Alo_table_test with different indexes, partitions etc.
    Alo_table has some data. I want to copy/append this data in to Alo_table_test for further testing. How to copy/append data without changing the other settings from Alo_table to Alo_table_test?
    Thanks in advance,
    S

    May be you are Looking for MERGE statement
    It will Insert New Record if not Found to your Destinamtion table or Update if Record Found
    MERGE INTO bonuses B
    USING (
      SELECT employee_id, salary
      FROM employee
      WHERE dept_no =20) E
    ON (B.employee_id = E.employee_id)
    WHEN MATCHED THEN
      UPDATE SET B.bonus = E.salary * 0.1
    WHEN NOT MATCHED THEN
      INSERT (B.employee_id, B.bonus)
      VALUES (E.employee_id, E.salary * 0.05);

  • How can I copy, paste, and email a web site page?

    Hello.  Basic Safari question: How can I Copy, then paste, web site content from Safari, into a document (ie. Powerpoint Presentation)?  I am interested in copying / pasting so that the content in the document looks (formatted) identical to the content on the web site?
    Thanks!
    KD
    ps.  R.I.P. S.J.

    This one kills me as well - editing phone numbers in the keypad/dialer is a pretty basic function, I could never fathom why it didn't exist.  We need to be able to place a cursor, and copy/paste part-numbers!  I'm constantly trying to paste just an area code, or an extension, or insert the country code, and I should not need to create a new number in the contact directory to do it!
    Currently I do the copy/paste editing in Notes, and then paste the corrected number into the dialer - pointless and inefficient, and contrary to the Apple philosophy of making the user experience easy and seamless...

  • How can i copy the variant

    Hi abap gurus,
    Plz can any one tell how we can copy the variant from one client to another client.
    Plz give me the answer or any program is there plz send me that.
    Rgds,

    Hi rangamma,
    Plz go through  this program . I think it will help.
    DATA : BEGIN OF MYVARID OCCURS 0 .
            INCLUDE STRUCTURE VARID .
    DATA : END OF MYVARID .
    DATA : BEGIN OF MYVARIS OCCURS 0 .
            INCLUDE STRUCTURE VARIS .
    DATA : END OF MYVARIS .
    DATA : BEGIN OF MYVARIT OCCURS 0 .
            INCLUDE STRUCTURE VARIT .
    DATA : END OF MYVARIT .
    DATA : BEGIN OF MYVARI  OCCURS 0 .
            INCLUDE STRUCTURE VARI  .
    DATA : END OF MYVARI .
    DATA : MANS(1) TYPE C .
    DATA :   PROGRAMM LIKE RS38M-PROGRAMM  .
    DATA : BEGIN OF MDYNPFIELDS OCCURS 1 .
            INCLUDE STRUCTURE DYNPREAD .
    DATA : END OF MDYNPFIELDS .
    CONSTANTS BUTTONSELECTED(1) TYPE C VALUE 'X' .
    DEFINE GET_FILENAME .
      CALL FUNCTION 'WS_FILENAME_GET'
          EXPORTING
            DEF_FILENAME     = ' '
               DEF_PATH         = &1
               MASK             = ',.,..'
               MODE             = '0'
            TITLE            = ' '
          IMPORTING
               FILENAME         = &2
            RC               =
           EXCEPTIONS
                INV_WINSYS       = 1
                NO_BATCH         = 2
                SELECTION_CANCEL = 3
                SELECTION_ERROR  = 4
                OTHERS           = 5.
    END-OF-DEFINITION .
    DEFINE DOWNLOAD_TO_ASCII .
      CALL FUNCTION 'WS_DOWNLOAD'
          EXPORTING
            BIN_FILESIZE            = ' '
            CODEPAGE                = ' '
               FILENAME                = &1
               FILETYPE                = 'DAT'
            MODE                    = ' '
            WK1_N_FORMAT            = ' '
            WK1_N_SIZE              = ' '
            WK1_T_FORMAT            = ' '
            WK1_T_SIZE              = ' '
            COL_SELECT              = ' '
            COL_SELECTMASK          = ' '
            NO_AUTH_CHECK           = ' '
       IMPORTING
            FILELENGTH              =
           TABLES
                DATA_TAB                = &2
            FIELDNAMES              =
           EXCEPTIONS
                FILE_OPEN_ERROR         = 1
                FILE_WRITE_ERROR        = 2
                INVALID_FILESIZE        = 3
                INVALID_TABLE_WIDTH     = 4
                INVALID_TYPE            = 5
                NO_BATCH                = 6
                UNKNOWN_ERROR           = 7
                GUI_REFUSE_FILETRANSFER = 8
                OTHERS                  = 9.
    END-OF-DEFINITION .
    DEFINE UPLOAD_FROM_ASCII .
      CALL FUNCTION 'WS_UPLOAD'
          EXPORTING
            CODEPAGE                = ' '
               FILENAME                = &1
               FILETYPE                = 'DAT'
            HEADLEN                 = ' '
            LINE_EXIT               = ' '
            TRUNCLEN                = ' '
            USER_FORM               = ' '
            USER_PROG               = ' '
       IMPORTING
            FILELENGTH              =
           TABLES
                DATA_TAB                = &2
           EXCEPTIONS
                CONVERSION_ERROR        = 1
                FILE_OPEN_ERROR         = 2
                FILE_READ_ERROR         = 3
                INVALID_TABLE_WIDTH     = 4
                INVALID_TYPE            = 5
                NO_BATCH                = 6
                UNKNOWN_ERROR           = 7
                GUI_REFUSE_FILETRANSFER = 8
                CUSTOMER_ERROR          = 9
                OTHERS                  = 10.
    END-OF-DEFINITION .
    SELECTION-SCREEN begin of line.
    SELECTION-SCREEN COMMENT 5(23) T_FROM_P .
    PARAMETERS : P_FROM_P LIKE RS38M-PROGRAMM OBLIGATORY .
    selection-screen end of line.
    SELECTION-SCREEN begin of line.
    SELECTION-SCREEN COMMENT 5(23) T_TO_P .
    PARAMETERS : P_TO_P LIKE RS38M-PROGRAMM OBLIGATORY .
    selection-screen end of line.
    SELECTION-SCREEN begin of line.
    SELECTION-SCREEN COMMENT 5(23) T_SAME_S .
    PARAMETERS : P_SAME_S RADIOBUTTON GROUP GRP1 DEFAULT 'X' .
    selection-screen end of line.
    SELECTION-SCREEN begin of line.
    SELECTION-SCREEN COMMENT 5(23) T_DOWNLD .
    PARAMETERS : P_DOWNLD RADIOBUTTON GROUP GRP1   .
    selection-screen end of line.
    SELECTION-SCREEN begin of line.
    SELECTION-SCREEN COMMENT 5(23) T_UPLOAD .
    PARAMETERS : P_UPLOAD RADIOBUTTON GROUP GRP1   .
    selection-screen end of line.
    SELECTION-SCREEN begin of line.
    SELECTION-SCREEN COMMENT 5(23) T_FILE_D .
    PARAMETERS : P_FILE_D  LIKE   RLGRAP-FILENAME DEFAULT 'c:\varid.txt' .
    selection-screen end of line.
    SELECTION-SCREEN begin of line.
    SELECTION-SCREEN COMMENT 5(23) T_FILE_S .
    PARAMETERS : P_FILE_S  LIKE   RLGRAP-FILENAME DEFAULT 'c:\varis.txt' .
    selection-screen end of line.
    SELECTION-SCREEN begin of line.
    SELECTION-SCREEN COMMENT 5(23) T_FILE_T .
    PARAMETERS : P_FILE_T  LIKE   RLGRAP-FILENAME DEFAULT 'c:\varit.txt' .
    selection-screen end of line.
    SELECTION-SCREEN begin of line.
    SELECTION-SCREEN COMMENT 5(23) T_FILE   .
    PARAMETERS : P_FILE    LIKE   RLGRAP-FILENAME DEFAULT 'c:\vari.txt' .
    selection-screen end of line.
    AT SELECTION-SCREEN .
      PROGRAMM = P_FROM_P .
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE_D .
      GET_FILENAME 'c:\varid.txt' P_FILE_D .
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE_S .
      GET_FILENAME 'c:\varis.txt' P_FILE_S .
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE_T .
      GET_FILENAME 'c:\varit.txt' P_FILE_T .
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE .
      GET_FILENAME 'c:\vari.txt' P_FILE .
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FROM_P .
      CLEAR  MDYNPFIELDS . REFRESH MDYNPFIELDS .
      MDYNPFIELDS-FIELDNAME = 'P_FROM_P' .
      APPEND  MDYNPFIELDS .
      CALL FUNCTION 'DYNP_VALUES_READ'
           EXPORTING
                DYNAME               = SY-CPROG
                DYNUMB               = SY-DYNNR
           TABLES
                DYNPFIELDS           = MDYNPFIELDS
           EXCEPTIONS
                INVALID_ABAPWORKAREA = 1
                INVALID_DYNPROFIELD  = 2
                INVALID_DYNPRONAME   = 3
                INVALID_DYNPRONUMMER = 4
                INVALID_REQUEST      = 5
                NO_FIELDDESCRIPTION  = 6
                INVALID_PARAMETER    = 7
                UNDEFIND_ERROR       = 8
                DOUBLE_CONVERSION    = 9
                STEPL_NOT_FOUND      = 10
                OTHERS               = 11.
      READ TABLE MDYNPFIELDS INDEX 1 .
      PROGRAMM = MDYNPFIELDS-FIELDVALUE .
      CALL FUNCTION 'REPOSITORY_INFO_SYSTEM_F4'
           EXPORTING
                OBJECT_TYPE          = 'PROG'
                OBJECT_NAME          = PROGRAMM
           IMPORTING
                OBJECT_NAME_SELECTED = PROGRAMM
           EXCEPTIONS
                CANCEL               = 1
                WRONG_TYPE           = 2
                OTHERS               = 3.
      P_FROM_P = PROGRAMM .
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_TO_P .
      CLEAR  MDYNPFIELDS . REFRESH MDYNPFIELDS .
      MDYNPFIELDS-FIELDNAME = 'P_TO_P' .
      APPEND  MDYNPFIELDS .
      CALL FUNCTION 'DYNP_VALUES_READ'
           EXPORTING
                DYNAME               = SY-CPROG
                DYNUMB               = SY-DYNNR
           TABLES
                DYNPFIELDS           = MDYNPFIELDS
           EXCEPTIONS
                INVALID_ABAPWORKAREA = 1
                INVALID_DYNPROFIELD  = 2
                INVALID_DYNPRONAME   = 3
                INVALID_DYNPRONUMMER = 4
                INVALID_REQUEST      = 5
                NO_FIELDDESCRIPTION  = 6
                INVALID_PARAMETER    = 7
                UNDEFIND_ERROR       = 8
                DOUBLE_CONVERSION    = 9
                STEPL_NOT_FOUND      = 10
                OTHERS               = 11.
      READ TABLE MDYNPFIELDS INDEX 1 .
      PROGRAMM = MDYNPFIELDS-FIELDVALUE .
      CALL FUNCTION 'REPOSITORY_INFO_SYSTEM_F4'
           EXPORTING
                OBJECT_TYPE          = 'PROG'
                OBJECT_NAME          = PROGRAMM
           IMPORTING
                OBJECT_NAME_SELECTED = PROGRAMM
           EXCEPTIONS
                CANCEL               = 1
                WRONG_TYPE           = 2
                OTHERS               = 3.
      P_TO_P = PROGRAMM .
    INITIALIZATION .
      T_FROM_P = 'From Program'.
      T_TO_P   = 'To Program  ' .
      T_SAME_S = 'Copy from Prog to Prog' .
      T_DOWNLD = 'Download to Local Disk' .
      T_UPLOAD = 'Upload from Local Disk' .
      T_FILE_D = 'Local File VARID' .
      T_FILE_S = 'Local File VARIS' .
      T_FILE_T = 'Local File VARIT' .
      T_FILE   = 'Local File VARI' .
    START-OF-SELECTION .
      CASE BUTTONSELECTED.
        WHEN P_SAME_S .
          PERFORM COPY_FROM_PROG_TO_PROG .
        WHEN P_DOWNLD .
          PERFORM VDOWNLOAD .
        WHEN P_UPLOAD .
          PERFORM VUPLOAD .
      ENDCASE .
    FORM COPY_FROM_PROG_TO_PROG.
      CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
           EXPORTING
            DEFAULTOPTION  = 'Y'
               TEXTLINE1      = 'Are you sure you want to copy Variants ? '
            TEXTLINE2      = ' '
                TITEL          = 'Confirmation '
            START_COLUMN   = 25
            START_ROW      = 6
            CANCEL_DISPLAY = 'X'
          IMPORTING
               ANSWER         = MANS
           EXCEPTIONS
                OTHERS         = 1.
      IF MANS = 'J' .
        REFRESH MYVARID . CLEAR MYVARID .
        SELECT * FROM VARID  INTO TABLE MYVARID
                            WHERE REPORT = P_FROM_P.
        LOOP AT MYVARID .
          MYVARID-REPORT = P_TO_P .
          MODIFY MYVARID .
        ENDLOOP .
        IF SY-SUBRC = 0 .
          DELETE FROM VARID WHERE REPORT = P_TO_P .
          INSERT VARID FROM TABLE MYVARID .
        ENDIF .
        REFRESH MYVARIS . CLEAR MYVARIS .
        SELECT * FROM VARIS  INTO TABLE MYVARIS
                            WHERE REPORT = P_FROM_P.
        LOOP AT MYVARIS .
          MYVARIS-REPORT = P_TO_P .
          MODIFY MYVARIS .
        ENDLOOP .
        IF SY-SUBRC = 0 .
          DELETE FROM VARIS WHERE REPORT = P_TO_P .
          INSERT VARIS FROM TABLE MYVARIS .
        ENDIF .
        REFRESH MYVARIT . CLEAR MYVARIT .
        SELECT * FROM VARIT  INTO TABLE MYVARIT
                            WHERE REPORT = P_FROM_P.
        LOOP AT MYVARIT .
          MYVARIT-REPORT = P_TO_P .
          MODIFY MYVARIT .
        ENDLOOP .
        IF SY-SUBRC = 0 .
          DELETE FROM VARIT WHERE REPORT = P_TO_P .
          INSERT VARIT FROM TABLE MYVARIT .
        ENDIF .
        REFRESH MYVARI . CLEAR MYVARI .
        SELECT * FROM VARI   INTO TABLE MYVARI
                            WHERE REPORT = P_FROM_P.
        LOOP AT MYVARI  .
          MYVARI-REPORT = P_TO_P .
          MODIFY MYVARI  .
        ENDLOOP .
        IF SY-SUBRC = 0 .
          DELETE FROM VARI WHERE REPORT = P_TO_P .
          INSERT VARI FROM TABLE MYVARI .
        ENDIF .
      ENDIF .
    ENDFORM.                               " COPY_FROM_PROG_TO_PROG
    FORM VDOWNLOAD.
      REFRESH MYVARID . CLEAR MYVARID .
      SELECT * FROM VARID  INTO TABLE MYVARID
                          WHERE REPORT = P_FROM_P.
      DOWNLOAD_TO_ASCII  P_FILE_D  MYVARID .
      REFRESH MYVARIS . CLEAR MYVARIS .
      SELECT * FROM VARIS  INTO TABLE MYVARIS
                          WHERE REPORT = P_FROM_P.
      DOWNLOAD_TO_ASCII P_FILE_S  MYVARIS .
      REFRESH MYVARIT . CLEAR MYVARIT .
      SELECT * FROM VARIT  INTO TABLE MYVARIT
                          WHERE REPORT = P_FROM_P.
      DOWNLOAD_TO_ASCII P_FILE_T  MYVARIT .
      REFRESH MYVARI . CLEAR MYVARI .
      SELECT * FROM VARI   INTO TABLE MYVARI
                          WHERE REPORT = P_FROM_P.
      DOWNLOAD_TO_ASCII P_FILE  MYVARI .
    ENDFORM.                               " VDOWNLOAD
    FORM VUPLOAD.
      CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
           EXPORTING
            DEFAULTOPTION  = 'Y'
               TEXTLINE1      =
               'Are you sure you want to upload Variants ? '
            TEXTLINE2      = ' '
                TITEL          = 'Confirmation '
            START_COLUMN   = 25
            START_ROW      = 6
            CANCEL_DISPLAY = 'X'
          IMPORTING
               ANSWER         = MANS
           EXCEPTIONS
                OTHERS         = 1.
      IF MANS = 'J' .
        REFRESH MYVARID . CLEAR MYVARID .
        UPLOAD_FROM_ASCII P_FILE_D MYVARID .
        LOOP AT MYVARID .
          MYVARID-REPORT = P_TO_P .
          MODIFY MYVARID .
        ENDLOOP .
        IF SY-SUBRC = 0 .
          DELETE FROM VARID WHERE REPORT = P_TO_P .
          INSERT VARID FROM TABLE MYVARID .
        ENDIF .
        REFRESH MYVARIS . CLEAR MYVARIS .
        UPLOAD_FROM_ASCII P_FILE_S MYVARIS  .
        LOOP AT MYVARIS .
          MYVARIS-REPORT = P_TO_P .
          MODIFY MYVARIS .
        ENDLOOP .
        IF SY-SUBRC = 0 .
          DELETE FROM VARIS WHERE REPORT = P_TO_P .
          INSERT VARIS FROM TABLE MYVARIS .
        ENDIF .
        REFRESH MYVARIT . CLEAR MYVARIT .
        UPLOAD_FROM_ASCII P_FILE_T MYVARIT  .
        LOOP AT MYVARIT .
          MYVARIT-REPORT = P_TO_P .
          MODIFY MYVARIT .
        ENDLOOP .
        IF SY-SUBRC = 0 .
          DELETE FROM VARIT WHERE REPORT = P_TO_P .
          INSERT VARIT FROM TABLE MYVARIT .
        ENDIF .
        REFRESH MYVARI . CLEAR MYVARI .
        UPLOAD_FROM_ASCII P_FILE  MYVARI   .
        LOOP AT MYVARI  .
          MYVARI-REPORT = P_TO_P .
          MODIFY MYVARI  .
        ENDLOOP .
        IF SY-SUBRC = 0 .
          DELETE FROM VARI WHERE REPORT = P_TO_P .
          INSERT VARI FROM TABLE MYVARI .
        ENDIF .
      ENDIF .
    ENDFORM.                               " VUPLOAD
    Rewards points if it is helpful.
    Rgds,
    P.Naganjana Reddy

  • How to assign an expression to an array of strings

    i'm assuming this is simple, but have searched the forums and googled and a can't seem to make this work
    all i need to do is create an element in the "to" array
    here's info from the wsdl:
    8< snip -------
    <xsd:complexType name="ArrayOfString">
    <xsd:complexContent>
    <xsd:restriction base="SOAP-ENC:Array">
    <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd:string[]"/>
    </xsd:restriction>
    </xsd:complexContent>
    </xsd:complexType>
    8< snip -------
    <message name="sendmsgInput">
    <part name="session_id" type="xsd:string" />
    <part name="api_id" type="xsd:int" />
    <part name="user" type="xsd:string" />
    <part name="password" type="xsd:string" />
    <part name="to" type="tns:ArrayOfString" />
    8< snip ---------
    here's an example of the XML i need to send:
    <to xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[2]">
    <item xsi:type="xsd:string">2799912345</item>
    <item xsi:type="xsd:string">27999123134</item>
    </to>
    i'm having trouble making the "Assign" activity work using copy, append or insert-after
    i'm new to BPEL and i suspect an expert can whip out the copy XML for this in no time
    if you're that expert, please reply
    thanks
    brett

    sorry about nto givng a detailed reply to your question but i hope this link would help you out.
    http://www.oracle.com/technology/products/ias/bpel/pdf/orabpel-Tutorial3-DataManipulationTutorial.pdf

Maybe you are looking for

  • Can you move the aperture library without losing images?

    my library is defaulted to imac.. but can you house it on external drive..I know, yes, as a referenced library. but I already have some [lots] images in library. can I move the library and maintain contents? also.. once you import into library, is th

  • SG300-28 Firmware 1.1.2.0 and 1.2.7.76 - Dynamic VLAN+freeRADIUS - Client get rejected

    Hello ladies and gentlemen, I am using several SG300-28 Switches with firmware version 1.1.2.0. I have dynamic VLAN enabled. As RADIUS server I am using freeradius 2.1.12. Authentication is only based on the MAC address. (I configured that on the swi

  • I lost the Development Panel on right side. Only Histogram shows.

    I am using LR5 and it has been working for me pretty well but today I may have accidentally clicked on something that resulted in the loss of those Development panels. Only the Histogram shows. I wish to restore all the missing panels.  I was too afr

  • I can't be living in a black hole... can I?

    I am fairly new to Mac's and this AEBS is just a couple of months old. My connection is absolutely horrible and I don't know what else to do about it. I just updated to the latest version of firmware (it took me weeks to actually be able to) and I ha

  • Can't see entire audo region?

    Hi, I have made a recording in GB09, and I have 'hidden' or decreased part of it with the audio region length cursos that appears when you place the mouse over the bottom right or bottom left of a region However, I now want to do the reverse, to see