How to use a loop for a object

Hi, All
I have a procedure that needs a collection to pass in. The pass_in collection has multiple records with multiple fields, so I guess I need a loop for each record.
How to assign each record of multiple fields to each corresponding local variables?
Thanks In advance
T_Object is a table object
T_ProfileInfo is a collection
procedure P_Updateprofile(UserId in number, NewProfileInfo in T_ProfileInfo) as
V_B_ID number;
V_A_ID number;
V_Profile      T_ProfileInfo;     
begin
     V_Profile := NewProfileInfo;
     --use the loop for each records
FORALL i IN V_Profile.FIRST..V_Profile.LAST
-- assign each value to the local variables
-- I got error here. ideally I want to assign each record to the local variables
     select B_ID, A_ID
     into V_B_ID, V_A_ID
     from table(V_Profile(i));
     -- insert the record into the table
     INSERT INTO PROFILE
     VALUES (UserId, V_B_ID, V_A_ID);
     commit;
end;

You don't say which version of the database you are using. Oracle extended the collections functionality in 9.2....
Cheers, APC
SQL> CREATE OR REPLACE PACKAGE t1_utl AS
  2      TYPE rt_t1 IS TABLE OF t1%ROWTYPE;
  3      FUNCTION gen_t1 (p1 IN NUMBER) RETURN rt_t1;
  4      PROCEDURE pop_t1 (t1rows IN rt_t1);
  5  END t1_utl;
  6  /
Package created.
SQL> CREATE OR REPLACE PACKAGE BODY t1_utl AS
  2      FUNCTION gen_t1 (p1 IN NUMBER) RETURN rt_t1
  3      IS 
  4          CURSOR cur (pn NUMBER) IS
  5              SELECT a12.NEXTVAL, col1, col2, rownum AS rn, substr(col3,30), sysdate
  6              FROM t2
  7              WHERE rownum <= pn;
  8          return_value rt_t1;
  9      BEGIN
10          OPEN cur(p1);
11          LOOP
12              FETCH cur BULK COLLECT INTO return_value LIMIT 100;
13              EXIT WHEN cur%NOTFOUND;
14          END LOOP;
15          RETURN return_value;
16      END gen_t1;
17      PROCEDURE pop_t1 (t1rows IN rt_t1) IS
18      BEGIN
19          FORALL indx IN t1rows.FIRST .. t1rows.LAST
20              INSERT INTO t1
21                VALUES t1rows (indx);
22      END pop_t1;
23  END t1_utl;
24  /
Package body created.
SQL> SELECT * FROM t1
  2  /
no rows selected
SQL> DECLARE
  2      x t1_utl.rt_t1;
  3  BEGIN
  4      x := t1_utl.gen_t1(2);
  5      t1_utl.pop_t1(x);
  6  END;
  7  /
PL/SQL procedure successfully completed.
SQL> SELECT * FROM t1
  2  /
      COL1       COL2       COL3       COL4 COLA
COLD
        56     165765      87979          1
11-AUG-04
        57       3128    8217220          2
11-AUG-04
SQL>

Similar Messages

  • How to use jampack loops for multiple accounts

    I have one computer but there are two people that will be using it. I have the jampack loops and added them to my account...but when the other person logged into their account those loops weren't in their GB library...do we have to ad them into each accounts libraries for seperatly or is there a way to do it once for both??? (it would save more HD space, wouldn't it?)
    thanks

    OK I FEEL STUPID, before i did was i said i was going to, i look in the pref for GB and noticed under the loops tab, at the bottom there is a box to be able to choose user only or all users...so i took out the loops from the library folder and trashed them, the checked the box for all user and repulled the loops back into the GB loop browser as instructed, logged into the other users account and as if by magic, the jampack loops where there!!!
    Thank you very much for trying to help me HangTime, i appreciate it!
    I guess next time i'll look for the obvious.

  • How to use reflection package for dynamic object creation

    I want to convert a "DataObject (SDO) " into "Pure java object".
    For this i want to create a java object with the fields in Dataobject, and this should be in generic way.

    Use Java reflection if you have the java class already created.
    Otherwise use Java IO API for creating the .java file and compile it dynamically by calling javac exe from java code and executing using reflection

  • How to use a Logger for programm object

    Hello,
    we developed some functionality using BO Enterprise SDK and place it in a Porgram Object that is to be added to BO server.
    As far as we recognized every System.out.println() is wirtten into the result - txt of a program object run.
    How can we implement logging in that program object, and there may any log be written ?
    Tanks Johannes

    found not input on this - not solved

  • How to Use PM BAPI for equipment Master upload : BAPI_EQUIPMENT_SAVEREPLICA

    Hi ,
      How to use PM BAPI for equipment Master upload : BAPI_EQUIPMENT_SAVEREPLICA.
      May i know what are the input parameters & fields mandatory
      for each Table structures ct_data , ct_datax , it_descript , it_longtext.
      Can any one explain me Step by Step Process.
      B'cos i tried with below code. Equipment is not getting created.
      wa_itab-equipment_ext = '000000000100000001'.
      wa_itab-descript      = 'Test 2 -> Lube Oil Pump'.
      wa_itab-text_language = 'EN'.
      wa_itab-sdescript     = 'Short Description'.
      APPEND wa_itab TO it_itab.
      CLEAR  wa_itab.
      LOOP AT it_itab INTO wa_itab.
        ct_data-ta_guid       = '000000000000000001'.
        ct_data-equipment_ext = wa_itab-equipment_ext.
        ct_data-descript      = wa_itab-descript     .
        ct_data-valid_date    = sy-datum.
        ct_data-equicatgry    = 'M'.
        APPEND ct_data.
        CLEAR  ct_data.
        ct_datax-ta_guid       = '000000000000000001'.
        ct_datax-equipment_ext = 'X'.
        ct_datax-equipment     = 'X'.
        APPEND ct_datax.
        CLEAR  ct_datax.
        it_descript-ta_guid       = '000000000000000001'.
        it_descript-text_language = wa_itab-text_language.
        it_descript-descript      = wa_itab-sdescript    .
        APPEND it_descript.
        CLEAR  it_descript.
        it_longtext-ta_guid        = '000000000000000001'.
        it_longtext-text_language  = wa_itab-text_language.
        it_longtext-text_id        = 'LTXT'.
        it_longtext-text_line      = 'SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS'.
        APPEND it_longtext.
        CLEAR  it_longtext.
        it_longtext-ta_guid        = '000000000000000001'.
        it_longtext-text_language  = wa_itab-text_language.
        it_longtext-text_id        = 'INTV'.
        it_longtext-text_line      = 'aaaaaaaaaaaaaaa'.
        APPEND it_longtext.
        CLEAR  it_longtext.
        it_longtext-ta_guid        = '000000000000000001'.
        it_longtext-text_language  = wa_itab-text_language.
        it_longtext-text_id        = 'INTV'.
        it_longtext-text_line      = 'bbbbbbbbbbbb'.
        APPEND it_longtext.
        CLEAR  it_longtext.
        it_longtext-ta_guid        = '000000000000000001'.
        it_longtext-text_language  = wa_itab-text_language.
        it_longtext-text_id        = 'INTV'.
        it_longtext-text_line      = 'cccccccccccccccc'.
        APPEND it_longtext.
        CLEAR  it_longtext.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
      call BAPI-function in this system
        CALL FUNCTION 'BAPI_EQUIPMENT_SAVEREPLICA'
          TABLES
            ct_data     = ct_data
            ct_datax    = ct_datax
            it_descript = it_descript
            it_longtext = it_longtext
            return      = return
          EXCEPTIONS
            OTHERS      = 1.
        IF sy-subrc = 0.
          CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
          WRITE : 'Successful'.
        ENDIF.
        IF NOT return IS INITIAL.
          LOOP AT return.
            IF return-type = 'A' OR return-type = 'E'.
              WRITE : 'Error'.
            ENDIF.
          ENDLOOP.
        ENDIF.
        REFRESH  return.
      ENDLOOP.
    Regards
    SUrendar

    Hi ,
      How to use PM BAPI for equipment Master upload : BAPI_EQUIPMENT_SAVEREPLICA.
      May i know what are the input parameters & fields mandatory
      for each Table structures ct_data , ct_datax , it_descript , it_longtext.
      Can any one explain me Step by Step Process.
      B'cos i tried with below code. Equipment is not getting created.
      wa_itab-equipment_ext = '000000000100000001'.
      wa_itab-descript      = 'Test 2 -> Lube Oil Pump'.
      wa_itab-text_language = 'EN'.
      wa_itab-sdescript     = 'Short Description'.
      APPEND wa_itab TO it_itab.
      CLEAR  wa_itab.
      LOOP AT it_itab INTO wa_itab.
        ct_data-ta_guid       = '000000000000000001'.
        ct_data-equipment_ext = wa_itab-equipment_ext.
        ct_data-descript      = wa_itab-descript     .
        ct_data-valid_date    = sy-datum.
        ct_data-equicatgry    = 'M'.
        APPEND ct_data.
        CLEAR  ct_data.
        ct_datax-ta_guid       = '000000000000000001'.
        ct_datax-equipment_ext = 'X'.
        ct_datax-equipment     = 'X'.
        APPEND ct_datax.
        CLEAR  ct_datax.
        it_descript-ta_guid       = '000000000000000001'.
        it_descript-text_language = wa_itab-text_language.
        it_descript-descript      = wa_itab-sdescript    .
        APPEND it_descript.
        CLEAR  it_descript.
        it_longtext-ta_guid        = '000000000000000001'.
        it_longtext-text_language  = wa_itab-text_language.
        it_longtext-text_id        = 'LTXT'.
        it_longtext-text_line      = 'SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS'.
        APPEND it_longtext.
        CLEAR  it_longtext.
        it_longtext-ta_guid        = '000000000000000001'.
        it_longtext-text_language  = wa_itab-text_language.
        it_longtext-text_id        = 'INTV'.
        it_longtext-text_line      = 'aaaaaaaaaaaaaaa'.
        APPEND it_longtext.
        CLEAR  it_longtext.
        it_longtext-ta_guid        = '000000000000000001'.
        it_longtext-text_language  = wa_itab-text_language.
        it_longtext-text_id        = 'INTV'.
        it_longtext-text_line      = 'bbbbbbbbbbbb'.
        APPEND it_longtext.
        CLEAR  it_longtext.
        it_longtext-ta_guid        = '000000000000000001'.
        it_longtext-text_language  = wa_itab-text_language.
        it_longtext-text_id        = 'INTV'.
        it_longtext-text_line      = 'cccccccccccccccc'.
        APPEND it_longtext.
        CLEAR  it_longtext.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
      call BAPI-function in this system
        CALL FUNCTION 'BAPI_EQUIPMENT_SAVEREPLICA'
          TABLES
            ct_data     = ct_data
            ct_datax    = ct_datax
            it_descript = it_descript
            it_longtext = it_longtext
            return      = return
          EXCEPTIONS
            OTHERS      = 1.
        IF sy-subrc = 0.
          CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
          WRITE : 'Successful'.
        ENDIF.
        IF NOT return IS INITIAL.
          LOOP AT return.
            IF return-type = 'A' OR return-type = 'E'.
              WRITE : 'Error'.
            ENDIF.
          ENDLOOP.
        ENDIF.
        REFRESH  return.
      ENDLOOP.
    Regards
    SUrendar

  • How to use User exit for MM_MATBEL

    Hi
    I want to exclude some material documents while archiving a range of material document through archive Object MM_MATBEL.
    Can you please suggest how to use user exit for this to exclude the material document while archiving.
    Please brief me details.
    Thanks,
    Debadatta

    Hi Debadatta,
    Welcome to SDN.
    Have you looked report program <b>RM07MAAU</b> (Report for Material Document Archiving)?
    Hope this will help.
    Regards,
    Ferry Lianto

  • How to download apple loops for Garageband 10.0.1 ?

    How to download apple loops for Garageband 10.0.1 ?

    If iDVD was not preinstalled on your Mac you'll have to obtain it by purchasing a copy of the iLife 09 disk from a 3rd party retailier like Amazon.com: ilife 09: Software or eBay.com.  Why, because iDVD (and iWeb) was discontinued by Apple over a year ago. 
    Why iLife 09 instead of 11?
    If you have to purchase an iLife disc in order to obtain the iDVD application remember that the iLife 11 disc only provides  themes from iDVD 5-7.  The Software Update no longer installs the earlier themes when starting from the iLIfe 11 disk nor do any of the iDVD 7 updaters available from the Apple Downloads website contain them. 
    Currently the only sure fire way to get all themes is to start with the iLife 09 disc:
    This shows the iDVD contents in the iLife 09 disc via Pacifist:
    You then can upgrade from iDVD 7.0.3 to iDVD 7.1.2 via the updaters at the Apple Downloads webpage.
    Export the slideshow out of iPhoto as a QT movie file via the Export button in the lower toolbar.  Select Size = Medium or Large.
    Open iDVD, select a theme and drag the exported QT movie file into the open iDVD window being careful to avoid any drop zones.
    Follow this workflow to help assure the best qualty video DVD:
    Once you have the project as you want it save it as a disk image via the File ➙ Save as Disk Image  menu option. This will separate the encoding process from the burn process. 
    To check the encoding mount the disk image, launch DVD Player and play it.  If it plays OK with DVD Player the encoding is good.
    Then burn to disk with Disk Utility or Toast at the slowest speed available (2x-4x) to assure the best burn quality.  Always use top quality media:  Verbatim, Maxell or Taiyo Yuden DVD-R are the most recommended in these forums.
    And yes, iDVD 7.1.2 will work with Mavericks.
    Happy New Year

  • Hello !  pls give some ti[ps how to use bapi's for data uploading?

    hello !
      pls give some ti[ps how to use bapi's for data uploading?
    regards,
    Arjun

    Hi,
    See the below report extract:
    where it_data is having uploaded data.
    LOOP AT<b> it_data</b> INTO wa_data.
        line_count = sy-tabix.
        "Date Validation
        CONCATENATE wa_data-uplft_date4(4) wa_data-uplft_date2(2) wa_data-uplft_date+0(2)
        INTO wa_data-uplft_date.
        "READ TABLE it_ekko INTO wa_ekko WITH KEY lifnr = wa_data-vendor.
        LOOP AT it_ekko_temp INTO wa_ekko_temp WHERE lifnr = wa_data-vendor.
          IF wa_ekko_temp-kdatb <= wa_data-uplft_date AND wa_ekko_temp-kdate >= wa_data-uplft_date.
            MOVE-CORRESPONDING wa_ekko_temp TO wa_ekko.
            APPEND wa_ekko TO it_ekko.
          ENDIF.
        ENDLOOP.
        "IF sy-subrc = 0 AND wa_ekko-kdatb <= wa_data-uplft_date AND wa_ekko-kdate >= wa_data-uplft_date.
        LOOP AT it_ekko INTO wa_ekko.
          wa_data_header-pstng_date = wa_data-uplft_date.
          wa_data_header-doc_date = sy-datum.
          wa_data_header-bill_of_lading = wa_data-bill_of_lad.
          wa_data_header-ref_doc_no = wa_data-del_no.
          CONCATENATE wa_data-header_text1 '-'
                      wa_data-header_text2 '-'
                      wa_data-header_text3 '-'
                      wa_data-header_text4
                      into wa_data_header-HEADER_TXT.
          IF wa_data-indicator = 'Y'.
            wa_data_item-material = '000000000000200568'.
          ELSE.
            wa_data_item-material = '000000000000200566'.
          ENDIF.
          LOOP AT it_ekpo INTO wa_ekpo WHERE ebeln = wa_ekko-ebeln AND matnr = wa_data_item-material.
            "Collect Item Level Data
            wa_data_item-plant = '1000'.
            wa_data_item-stge_loc = '1001'.
            wa_data_item-move_type = '101'.
            wa_data_item-vendor = wa_data-vendor.
            wa_data-qnty = wa_data-qnty / 1000.
            wa_data_item-entry_qnt = wa_data-qnty.
            wa_data_item-po_pr_qnt = wa_data-qnty.
            wa_data_item-entry_uom = 'KL'.
            wa_data_item-entry_uom_iso = 'KL'.
            wa_data_item-orderpr_un = 'KL'.
            wa_data_item-orderpr_un_iso = 'KL'.
            wa_data_item-no_more_gr = 'X'.
            wa_data_item-po_number = wa_ekpo-ebeln.
            wa_data_item-po_item = wa_ekpo-ebelp.
            wa_data_item-unload_pt = wa_data-unload_pt.
            wa_data_item-mvt_ind = 'B'.
            APPEND wa_data_item TO it_data_item.
            CLEAR wa_data_item.
          ENDLOOP.
          CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
            EXPORTING
              goodsmvt_header = wa_data_header
              goodsmvt_code   = goodsmvt_code
              testrun         = 'X'
            TABLES
              goodsmvt_item   = it_data_item
              return          = return.
          READ TABLE return INTO wa_return WITH KEY type = 'S'.
          IF sy-subrc <> 0.
            DESCRIBE TABLE return LINES sy-tfill.
            IF sy-tfill = 0.
              CALL FUNCTION <b>'BAPI_GOODSMVT_CREATE'</b>   
            EXPORTING
                  goodsmvt_header = wa_data_header
                  goodsmvt_code   = goodsmvt_code
                  testrun         = ' '
                TABLES
                  goodsmvt_item   = it_data_item
                  return          = return.
              CALL FUNCTION <b>'BAPI_TRANSACTION_COMMIT'</b>
               EXPORTING
                 WAIT          = 'X'
              IMPORTING
                RETURN        =
            ENDIF.
          ENDIF.
          LOOP AT return INTO wa_return.
            WRITE: 'Messsage TYPE  ', wa_return-type,
                  /,'ID  ', wa_return-id,
                  /, 'Number  ', wa_return-number,
                  /, 'Message  ', wa_return-message,
                  /, 'Long Text  ', wa_return-message_v1,
                                    wa_return-message_v2,
                                    wa_return-message_v3,
                                    wa_return-message_v4,
                 /, 'Failed at line', line_count.
          ENDLOOP.
          CLEAR: wa_ekko, wa_ekpo, wa_data, it_data_item[], wa_data_header.
        ENDLOOP.
    Reward if useful!

  • How to use Synth LookAndFeel for scrollbar?

    Hello there,
    I read many articles on Synth ookAndFeel but in any article I could not find how to use Synth LookAndFeel for ScrollBar.
    How can use SynthLookAndFeel without using any extra LookAndFeel

    Hi,
    what u do is this:
      <style id="button">
        <state value="DEFAULT">
          <imagePainter path="Synth/testdown.png" sourceInsets="6 6 6 6" paintCenter="false" stretch="true"/>
          <color value="#3333FF" type="TEXT_FOREGROUND"/>
        </state> 
        <state value="SELECTED">
          <imagePainter path="Synth/test.png" sourceInsets="6 6 6 6" paintCenter="false" stretch="true"/>
          <color value="#0000FF" type="TEXT_FOREGROUND"/>
          </state>
        <state value="PRESSED">
          <color value="#0000FF" type="TEXT_FOREGROUND"/>
          <imagePainter path="Synth/test.png" sourceInsets="6 6 6 6" paintCenter="true" stretch="true"/>
        </state>
      </style>
      <bind style="button" type="region" key="BUTTON"/>the <bind> element applys the style 2 the object (JButton). It's actually a region, u can get all the regions at
    http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/synth/Region.html
    good luck!
    DirectXMan
    P.S. If u find more sites on Synth please post them.

  • How to use Batch operation for two xsodata services?

    Hi All,
    I have two xsodata services. How to use submit batch for two xsodata services
    Thanks,
         Mj

    Gateway Batch Calls from SAPUI5

  • How to use same actions for differ pop-up

    Hi gurus,
    I am using 2 popup in a view.same popup's having same buttons 'Yes', 'No'.when i use 1st one i have to create an action for that Yes button where i put my code for that particular Action.
    But when i used 2nd one the action define for that is not acceptable with differ name.it takes only standard one.
    Now my Query is : How to use same actions for differ pop-up buttons with in a similar view?Where i put my code.
    Plz sugges me.
    <b>Points will be sured.</b>
    Sanket sethi

    Hi,
    Take one integer value attribute in the context of view
    when you r performing action on POP1 set it's value to 1
    when you r performing action on POP2 set it's value to 2
    create one method which receives integer argument, say diaplay(int a)
    In the action call display(wdContext.currentContextElement().get<intvariable>()) by passing the value in the context attribute
    in display() method, Check the value of integer variable..
    if it is 1 then perform action related to POP1
    if it is 2 then perform action related to POP2
    Regards
    LakshmiNarayana

  • How to use same actions for differ pop-up buttons

    Hi gurus,
    I am using 2 popup in a view.same popup's having same buttons 'Yes', 'No'.when i use 1st one i have to create an action for that Yes button where i put my code for that particular Action.
    But when i used 2nd one the action define for that is not acceptable with differ name.it takes only standard one.
    Now my Query is : How to use same actions for differ pop-up buttons with in a similar view?Where i put my code.
    Plz sugges me.
    <b>Points will be sured.</b>
    Sanket sethi

    Hi ,
    u can use the method SUBSCRIBE_TO_BUTTON_EVENT of the IF_WD_WINDOW interface ... to handle the event fired by the popup .....used this method after creating the popup window ...
    regards
    Yash

  • How to use Web Serivce for not jsr 172 phone

    Hi:
    Is anyone know, how to use web service for phones that only have standard J2ME package installed (without jsr 172 web service packagenstalled)?
    thank you

    Hi,
    I think you need to write the code for this from scratch (built on top of existing HTTP functionality). There may be open-source J2ME code you could use. I've never tried this so I'm afraid I don't know any more. But maybe that is what you were asking... i.e. does anyone have code that does this already...
    Tx,
    Sam

  • How to use 2 GL for loss made on asset retirement w/o revenue ?

    how to use 2 GL for loss made on asset retirement w/o revenue.
    hello everyone
    i have some trouble.
    my company want to use 2 GL account for asset retirement
    example  some time use GL 6500001  some time use 6500002
    in standard configuration AO90 , field loss made on asset retirement w/o revenue, there is only one field.
    so i can use only one G/L.
    it' s not good if i must to change configuration (and transport request )every time that user need to change GL.
    now i got one idea.
    i know that table T095 keep account determinaton and GL account data.
    so if i make program that change data from table T095 directly. i donot need to change config everytime.
    but i am not sure that this way will make impact other standard program or not.
    i will wait for better idea from everyone.
    please help.

    Substitution consist of several steps  each with two parts:
    1- Prerequisite
    2- Replacement
    If the prerequisite is satisfied (TRUE), substitution (Replacement) is performed.
    Transaction Code: OBBH.
    Thank you
    Javed

  • Explain how to use standard LSMW for MM01

    Can anyone explain how to use standard LSMW for MM01 Tcode.pls explain briefly.

    Hi
    Create a project using 0020 as method.
    Max

Maybe you are looking for

  • How to fix a 1st generation ipod touch that wont restore out of recovery mode

    My iPod touch (1st gen) is currently in recovery mode, however when i go to restore it so i can use it, the iPod turns off after iTunes extracts the software, and when it turns back on, i get an error message.

  • IBook G4 PMU problem?

    I just recently got a 12 inch iBook G4 running at 1.07 GHz and it works fine other than every 4 or 5 hours it will just shut off randomly and I have to hold down the control-shift-power button combination to get it to turn on again. This is kind of a

  • Rounding Rule upto 3 Decimal Places in Tax Condition(SABRIX)

    Hi, We are Using SABRIX for Tax determination and need to round up Condition Type XR1- XR6 to round upto 3 Decimal Places. Do we need to To Change ALT Calc Type- 301306or Alt Cond Base Value -- 16  or have to change Currency  decimal Places in transa

  • Why is iphone 5 not in other colors

    All the ipods came in all sorts if collors. Why does the iphone 5 not come in colors as well.

  • HAL Compatible With EPM 11.1.1.3?

    Does HAL (Hyperion Application Link) work with EPM 11.1.1.3? I understand it's no longer supported by Oracle, but will it still work against Essbase? Am looking to upgrade from 9.3.1 to 11.1.1.3 but not sure if I also need to upgrade from HAL to ODI.