How to loop through a collection of records which is return value of func.

Hi all.
Have this situation:
- Stored function (member of pkg procedure) that returns a collection of records.
Package Spec:
=========
type tipo_pvt is table of s08_plan_venta_totalizado_r % rowtype;
rc_pvt tipo_pvt;
(s08_plan_venta_totalizado_r is a view).
Package Body:
=========
select col1
,col2
,etc
bulk collect into rc_pvt
from s08_lista_precio_producto_r lpp
,s03_producto_r prd
where condition;
return rc_pvt;
Once collection is loaded and returned (i know it loads records). I just want to loop through every record on a pl/sql procedure on the client (forms6i procedure), but it gives me the error: ORA-06531 Reference to uninitialized collection:
On the forms6i client procedure i have something like:
procedure p_carga_plan_venta_inv (p_id_plan_venta in number) is
v_contador integer;
v_mensaje varchar2(10);
rc_pvt sk08_gestiona_plan_venta.tipo_pvt; (sk08_gestiona_plan_venta is package name)
begin
     rc_pvt := sk08_gestiona_plan_venta.tipo_pvt();
     rc_pvt := sk08_gestiona_plan_venta.f_genera_plan_venta_inv (:pvv.lip_id_lista_precio
,:pvv.ems_id_sucursal
                                        ,:control4.v_metodo_calculo
,:pvv.unm_co_unidad_monetaria
,:pvp.fe_fin_periodo) ;
-- previous statement dos not fail BUT THIS:
message('rc_pvt.count= '||rc_pvt.count);pause;
DOES FAIL
end;
So my question is : since i have already returned the collection, how come is not initialized....?
Do i have to extend it first? In this case i have to return the number of records in the collection.....
Look what happen when done from sqlplus:
declare
rc_pvt sk08_gestiona_plan_venta.tipo_pvt;
begin
rc_pvt := sk08_gestiona_plan_venta.tipo_pvt();
rc_pvt :=
sk08_gestiona_plan_venta.f_genera_plan_venta_inv (8713171
,null
,'m'
,'BS.F'
,to_date('28/02/2001','dd/mm/yyyy'));
end;
SQL> /
Registros en la coleccion =6
Procedimiento PL/SQL finalizado con éxito.
SQL>
I put a dbms_output.put_line on stored function .....
Please help ....!
Apparently it fails when calling the stored function:
rc_pvt := sk08_gestiona_plan_venta.f_genera_plan_venta_inv (:pvv.lip_id_lista_precio
,:pvv.ems_id_sucursal
,:control4.v_metodo_calculo
,:pvv.unm_co_unidad_monetaria
,:pvp.fe_fin_periodo) ;
I don't undestand since this function return the appropiate type. It seems the collection is empty, although having test that on sqlplus works ...
rc_pvt := sk08_gestiona_plan_venta.f_genera_plan_venta_inv (:pvv.lip_id_lista_precio
,:pvv.ems_id_sucursal
,:control4.v_metodo_calculo
,:pvv.unm_co_unidad_monetaria
,:pvp.fe_fin_periodo) ;
function f_genera_plan_venta_inv (p_id_lista_precio in number
,p_id_sucursal in number
,p_tipo_nivel_inv in varchar2
,p_co_unidad_monetaria in varchar2
,p_fe_fin_periodo in date) return tipo_pvt;
for some reason it works on plus:
SQL> declare
2 rc_pvt sk08_gestiona_plan_venta.tipo_pvt;
3 begin
4 rc_pvt := sk08_gestiona_plan_venta.tipo_pvt();
5 rc_pvt :=
6 sk08_gestiona_plan_venta.f_genera_plan_venta_inv (8713171
7 ,null
8 ,'m'
9 ,'BS.F'
10 ,to_date('28/02/2001','dd/mm/yyyy'));
11 --
12 dbms_output.put_line('Registros en la coleccion = '||rc_pvt.count);
13 for i in 1 .. rc_pvt.count loop
14 --
15 dbms_output.put_line('En '||i||rc_pvt(i).prd_co_producto);
16 end loop;
17 end;
18 /
Registros en la coleccion =6
Registros en la coleccion = 6
En 1PT.REF.PET.KO05
En 2PT.REF.PET.LM15
En 3PT.ALM.VDR.001
En 4PT.REF.GRN.CN
En 5PT.REF.GRN.KO
En 6PT.REF.GRN.LM
Procedimiento PL/SQL finalizado con éxito.
Don't understand why it works on plus8 (same version that comes with 6i).
Can't loop through records on forms...? WHY ...?
Edited by: myluism on 02-abr-2012 14:40

Forms 6i is an antique ... write your code to run on the server.
Multiple examples of how to loop through an array loaded with bulk collect can be found here.
http://www.morganslibrary.org/reference/array_processing.html
The main library page is:
http://www.morganslibrary.org/library.html

Similar Messages

  • How to loop through Multiple Excel sheets and load them into a SQL Table?

    Hi ,
    I am having 1 excel sheet with 3 worksheet.
    I have configured using For each loop container and ADO.net rowset enumerator.
    Every thing is fine, but after running my package I am getting below error
    [Excel Source [1]] Error: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.  The AcquireConnection method call to the connection manager "Excel Connection Manager" failed with error code 0xC0202009.  There may
    be error messages posted before this with more information on why the AcquireConnection method call failed.
    Warning: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED.  The Execution method succeeded, but the number of errors raised (5) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified
    in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.
    [Connection manager "Excel Connection Manager"] Error: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80004005.
    An OLE DB record is available.  Source: "Microsoft Access Database Engine"  Hresult: 0x80004005  Description: "The Microsoft Access database engine cannot open or write to the file ''. It is already opened exclusively by
    another user, or you need permission to view and write its data.".
    Pleas suggest me the correct way of solving above issues.
    Thanks in advance :)
    regards,
    Vipin jha
    Thankx & regards, Vipin jha MCP

    Hi ,
    Please refer the below link for Looping multiple worksheet in a single SQL Table.
    http://www.singhvikash.in/2012/11/ssis-how-to-loop-through-multiple-excel.html
    Note:-If you using excel 2010 then you have to use EXCEL 12.0 .
    Above link explaining  step by step of Looping multiple worksheet in a single SQL Table.
    regards,
    Vipin jha
    Thankx & regards, Vipin jha MCP

  • How to loop through a KM Folder ?

    Hi ....can someone please let me know how  to loop through a KM Folder having many documents , files etc .
    Waiting for replies !!
    Regards
    Smita

    Hi Smita
    Here is the code:
    String rLocationtest = "/documents/Folder1";
    IResourceContext c = ResourceFactory.getInstance().getServiceContext("cmadmin_service");
    ICollection collection = (ICollection)ResourceFactory.getInstance().getResource(RID.getRID(rLocationtest),c);
    loopFolder(collection,c);
    public void loopFolder(ICollection collection, IResourceContext c){      
             try{
             IResourceList resList = collection.getChildren();
         IResourceListIterator resItr = resList.listIterator();
                 while(resItr.hasNext()){
              IResource restemp = resItr.next();
              if(restemp.isCollection() && LinkType.NONE.equals(restemp.getLinkType())){     
                             loopFolder((ICollection)restemp,c);
                                    //If the restemp is not a collection, it is a resource.
                                    //Do the resource related operations here.
         }// End of while
             }catch(Exception e){
                  e.printStackTrace();
        }//End of loopFolder
    Hope it helps
    Thanks
    Deepak

  • How to loop through a single row of data?

    What I'm trying to do is use a cursor to loop through a clob. When I create my cursor I get the an error telling me that the table does not exist. Which implies that I have an implicit cursor. Is there a way to get around this?

    > How to loop through a single row of data?
    By not looping as there is only a single row?
    > What I'm trying to do is use a cursor to loop through a clob
    Processing (looping through) a CLOB has nothing to do with a cursor.
    > When I create my cursor I get the an error telling me that the table does
    not exist. Which implies that I have an implicit cursor.
    Incorrect. It simply means that
    a) you do not have permissions to access that table from within the current context
    b) it does not exist (e.g. you have misspelled the object name, you have not qualified it properly within the current scope, etc)

  • How To Loop Through GregorianCalendar ?

    I wonder if anyone knows how to loop through GregorianCalendar , such as :
    GregorianCalendar Start_Date,End_Date;
    Start_Date=new GregorianCalendar(2000,Calendar.DECEMBER,25);
    End_Date=new GregorianCalendar(2006,Calendar.DECEMBER,25);
    for ( GregorianCalendar Day_Index=Start_Date ; Day_Index<End_Date ; Day_Index++ )
    Thanks
    Frank

    for ( GregorianCalendar Day_Index=Start_Date ;
    Day_Index<End_Date ; Day_Index++ )
    Day_Index.add(Calendar.DATE, 1);

  • How to Loop through App and finding popup Windows

    Does anyone know how to loop through the app and find any
    popup windows..

    I guess application by default creates a SystemManager
    object... So i used
    this.systemManager.popUpChildren.numChildren and it gives me
    0 all the time.. even though I have instances of windows to the
    app.. According to the documentation this should give you the
    number of popup children but it doesn't.. Any more ideas?

  • How to loop through an associative array

    Guys,
    How to loop through an associative array. where the key is string but the value is an object
    -Thanks

    It depends if you are using a Java HashMap or a BPM Associative array. You'd use the "keySet" if for the former and the "keys" if it's the latter.
    I know you want an object for the array, but Any[String] is used here just so you can see something coming back in the display statements shown below. Remove the input and display statements - they're just in there so you can see something working.
    Here's how to go through a Hashmap's array using a loop:
    map as Java.Util.HashMap
    map.put(1, "One")
    map.put(2, "Two")
    map.put(3, "Three")
    map.put(4, "Four")
    map.put(5, "Five")
    display map.keySet
    for each item in keySet(map) do
         display item
         display get(map, arg1 : item)
    endHere's how to go through an associative array using a loop:
    hashMap as Any[String]
    hashMap = ["One": 1,"Two":2]
    for each item in hashMap.keys do
         display item
         display "Item in the array is: " + hashMap[item]
    endDan

  • How to loop through xml records from file without ROW , /ROW tags?

    I am using dbms_XMLSave.insertXML procedure to insert xml formated record from file. MY xmlformated records does not have open and close ROW tags. I have multiple records in the file.How can I loop through without <ROW>,</ROW> tags?

    I am using dbms_XMLSave.insertXML procedure to insert xml formated record from file. MY xmlformated records does not have open and close ROW tags. I have multiple records in the file.How can I loop through without <ROW>,</ROW> tags?

  • How to loop through records in a block

    How do I get the count of records in a data block after the EXECUTE_QUERY?
    If I want to manually insert or update records into the table from the datablock how do I loop thru' records in the block.?
    Also for 'WHERE' clause of update statement is there anyway to tie up the rowid to the current row in the form.

    Use get_block_property('block',QUERY_HITS).
    For the second question :
    Set the properties of block to be INSERT_ALLOWED=FALSE,UPDATE_ALLOWED=FALSE, next do:
    go_block('block');
    first_record;
    set a local handler of errors
    loop
    next_record;
    end loop;
    when others then
    catch the error "Record must be inserted first...'
    For the third question set the DML Returning Value = Yes in property palette of the block and access the rowid as
    declare
    rowid_ rowid;
    begin
    rowid_:=:block.rowid;
    end;
    HTH

  • How to loop through records in the block

    Hello,
    I have 2 blocks one emp_control_block and the other one based on the emp. The emp control block basically has some search critieria which is then passed onto the emp block to execute the query. However, I don't want to show any emp block data until the user presses the search button in the control block then I automatically want to make visible the EMP block and also set the width of columns. Right now, in the properties I have not assigned any Canvas to the EMP Block
    Can anyone tell me How do I loop through the block and show the items/columns in a canvas that I have already created. Any example of the code would be really appreciated. Thanks

    Monica,
    I tried your code but I get NO NAVIGABLE ITEMS IN DESTINATION BLOCK error. In the property palette for the items in the EMP block I have assigned Null as Canvas because I want to programatically assign it to the emp_stack_canvas. How do I do that? Also I want to change the item width for each column to say a fixed width of 50.
    Thanks

  • How to loop through SYS_REF cursor records

    Hello, I'm using the following oracle version
    PL/SQL Release 11.2.0.2.0 - Production
    I'd like to create an Oracle anonymous block which calls another procedureB. ProcedureB returns the result of a query in the form of a SYS_REF cursor. Once the result is returned into the anonymous block, I'd like to loop through specific columns of the result set. I've started with this, but it isn't right. Could you please let me know what I'm doing wrongly?
    create or replace procedure procedureRFHA(numIn IN number, cursorOUT OUT sys_refcursor) as
    begin
    open cursorOUT for
    select 'A' col1, 'B' col2
    from dual
    where 3 = numIn
    union all
    select 'C' col1, 'D' col2
    from dual
    where 3 = numIn;
    end;
    declare
    TYPE r_type IS RECORD (
    col1 VARCHAR2 (1),
    col2 VARCHAR2 (1)
    returnCursor sys_refcursor;
    begin
    procedureRFHA(3, returnCursor);
    LOOP
    FETCH returnCursor INTO r_type;
    dbms_output.put_line(r_type.col1);
    EXIT WHEN returnCursor%NOTFOUND;
    END LOOP;
    CLOSE returnCursor;
    end;

    Then please mark the question ANSWERED.

  • How to loop through report records and update the record

    I have a updateable report. And there is a select LOV in that report. How to loop though the report and save all the changes to the LOV.

    1. Please tell us your first name and put it in your handle and/or profile to help us.
    2. Explain your question in more detail, perhaps with an example and by showing code you already are using.
    Scott

  • How to loop through XML data in a table of XMLType?

    Hi,
    I am failry new to xml document processing in Oracle using PL/SQL.
    My DB version: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
    I have successfully loaded an xml document into a table using the following two statements:
    1) CREATE TABLE mytable2 OF XMLType;
    2) INSERT INTO mytable2 VALUES (XMLType(bfilename('IMAGE_FILE_LOC', 'IFTDISB20100330172157C002.xml'), nls_charset_id('AL32UTF8')));
    Now I need to traverse through the various nodes within the xml document and extract values of elements of each node. The question I have is:
    How do I loop through a node? A VALID record is enclosed within the <checkItem> </checkItem> tags.
    Here is a snippet of the data in that xml document:
    ++++++++++++++++++++++++++++++++++++++++++++++++
    <?xml version="1.0" encoding="UTF-8"?>
    <bdiData>
    <documentControlInfo>
    <documentInfo>
    <docDescription>Check images and data for Test Company, account number 1234567890</docDescription>
    <docID>
    <ID>20100330172157</ID>
    </docID>
    <docModifier>Test Company</docModifier>
    <docCreateDate>2010-03-30</docCreateDate>
    <docCreateTime>17:21:57-0700</docCreateTime>
    <standardVersion>1.0</standardVersion>
    <testIndicator>0</testIndicator>
    <resendIndicator>0</resendIndicator>
    </documentInfo>
    <sourceInfo>
    <sourceName>The Bank IFT</sourceName>
    <sourceID>
    <idOther>TheBankIFT</idOther>
    </sourceID>
    </sourceInfo>
    <destinationInfo>
    <destinationName>Test Company</destinationName>
    <destinationID>
    <idOther>FEI3592</idOther>
    </destinationID>
    </destinationInfo>
    </documentControlInfo>
    <checkItemCollection>
    <collectionInfo>
    <description>Items</description>
    <ID>1269994919135</ID>
    <Classification>
    <classification>Items</classification>
    </Classification>
    </collectionInfo>
    <checkItemBatch>
    <checkItemBatchInfo>
    <description>Paid Checks</description>
    <ID>1269994919135</ID>
    <Classification>
    <classification>Paid Checks</classification>
    </Classification>
    </checkItemBatchInfo>
    <checkItem>
    <checkItemType>check</checkItemType>
    <checkAmount>86468</checkAmount>
    <postingInfo>
    <date>2010-03-29</date>
    <RT>10700543</RT>
    <accountNumber>1234567890</accountNumber>
    <seqNum>009906631032</seqNum>
    <trancode>001051</trancode>
    <amount>86468</amount>
    <serialNumber>300040647</serialNumber>
    </postingInfo>
    <totalImageViewsDelivered>2</totalImageViewsDelivered>
    <imageView>
    <imageIndicator>Actual Item Image Present</imageIndicator>
    <imageViewInfo>
    <Format>
    <Baseline>TIF</Baseline>
    </Format>
    <Compression>
    <Baseline>CCITT</Baseline>
    </Compression>
    <ViewSide>Front</ViewSide>
    <imageViewLocator>
    <imageRefKey>201003260000738400851844567205_Front.TIF</imageRefKey>
    <imageFileLocator>IFTDISB20100330172157M002.zip</imageFileLocator>
    </imageViewLocator>
    </imageViewInfo>
    <imageViewInfo>
    <Format>
    <Baseline>TIF</Baseline>
    </Format>
    <Compression>
    <Baseline>CCITT</Baseline>
    </Compression>
    <ViewSide>Rear</ViewSide>
    <imageViewLocator>
    <imageRefKey>201003260000738400851844567205_Rear.TIF</imageRefKey>
    <imageFileLocator>IFTDISB20100330172157M002.zip</imageFileLocator>
    </imageViewLocator>
    </imageViewInfo>
    </imageView>
    </checkItem>
    <checkItem>
    <checkItemType>check</checkItemType>
    <checkAmount>045</checkAmount>
    <postingInfo>
    <date>2010-03-29</date>
    <RT>10700543</RT>
    <accountNumber>1234567890</accountNumber>
    <seqNum>008518967429</seqNum>
    <trancode>001051</trancode>
    <amount>045</amount>
    <serialNumber>200244935</serialNumber>
    </postingInfo>
    <totalImageViewsDelivered>2</totalImageViewsDelivered>
    <imageView>
    <imageIndicator>Actual Item Image Present</imageIndicator>
    <imageViewInfo>
    <Format>
    <Baseline>TIF</Baseline>
    </Format>
    <Compression>
    <Baseline>CCITT</Baseline>
    </Compression>
    <ViewSide>Front</ViewSide>
    <imageViewLocator>
    <imageRefKey>201003290000713900851896742901_Front.TIF</imageRefKey>
    <imageFileLocator>IFTDISB20100330172157M002.zip</imageFileLocator>
    </imageViewLocator>
    </imageViewInfo>
    <imageViewInfo>
    <Format>
    <Baseline>TIF</Baseline>
    </Format>
    <Compression>
    <Baseline>CCITT</Baseline>
    </Compression>
    <ViewSide>Rear</ViewSide>
    <imageViewLocator>
    <imageRefKey>201003290000713900851896742901_Rear.TIF</imageRefKey>
    <imageFileLocator>IFTDISB20100330172157M002.zip</imageFileLocator>
    </imageViewLocator>
    </imageViewInfo>
    </imageView>
    </checkItem>
    <checkItemBatchSummary>
    <totalItemCount>1028</totalItemCount>
    <totalBatchAmount>61370501</totalBatchAmount>
    <totalBatchImageViewsDelivered>2056</totalBatchImageViewsDelivered>
    </checkItemBatchSummary>
    </checkItemBatch>
    <collectionSummary>
    <totalBatchCount>1</totalBatchCount>
    <totalItemCount>1028</totalItemCount>
    <totalCollectionAmount>61370501</totalCollectionAmount>
    <totalCollectionImageViewsDelivered>2056</totalCollectionImageViewsDelivered>
    </collectionSummary>
    </checkItemCollection>
    <documentSummaryInfo>
    <totalCollectionCount>1</totalCollectionCount>
    <totalBatchCount>1</totalBatchCount>
    <totalItemCount>1028</totalItemCount>
    <totalDocumentAmount>61370501</totalDocumentAmount>
    <totalDocumentImageViewsDelivered>2056</totalDocumentImageViewsDelivered>
    </documentSummaryInfo>
    </bdiData>
    ++++++++++++++++++++++++++++++++++++++++++++++++
    Any ideas and or suggestions will be greatly appreciated.
    Cheers!
    Edited by: user12021655 on Aug 3, 2010 1:25 PM

    I really need to update my blog to get the example you are looking for posted. I did a quick search on the forums for XMLTable and found a good example at {message:id=4325701}. You will want to use OBJECT_VALUE in the PASSING clause where you need to reference the column in your table.
    Note: See the FAQ in the upper right for how to use the tag to wrap objects to retain formatting.  Also your XML is missing closing nodes.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • How to loop through xmldom.getNextSibling?

    Hello,
    I have been working with an example that Steve provided me with that uses xpath to pull the value of a specific node from an xml doc. This works fine as long as there is only one node, I would like to use getNextSibling to loop through all the values that exist for that node in the document. I am pasting in the code I am working with. I know I need to use the getNextSibling but am unsure of where I should loop. I left some commented stuff in there to illustrate some of the directions that I wanted to go, I will be writing the results to a nested table. Any assistance greatly appreciated.
    Thanks,
    Travis
    PROCEDURE testit (dummy in varchar2 default null) IS
    -- dummy will be xml doc passed in when this goes live
    xml varchar2(32000) := '<?xml version="1.0"?>
    <Pip3A2PriceAndAvailabilityQuery>
    <ProductPriceAndAvailabilityQuery>
    <ProductPriceAndAvailability>
    <ProductLineItem>
    <ProductQuantity>0</ProductQuantity>
    <productUnit>
    <ProductPackageDescription>
    <ProductDescription>
    <GlobalProductIdentifier>A00012</GlobalProductIdentifier>
    </ProductDescription>
    </ProductPackageDescription>
    </productUnit>
    <requestedPrice>
    <FinancialAmount>
    <GlobalCurrencyCode>USD</GlobalCurrencyCode>
    </FinancialAmount>
    </requestedPrice>
    </ProductLineItem>
    <ProductLineItem>
    <ProductQuantity>0</ProductQuantity>
    <productUnit>
    <ProductPackageDescription>
    <ProductDescription>
    <GlobalProductIdentifier>A00018</GlobalProductIdentifier>
    </ProductDescription>
    </ProductPackageDescription>
    </productUnit>
    <requestedPrice>
    <FinancialAmount>
    <GlobalCurrencyCode>USD</GlobalCurrencyCode>
    </FinancialAmount>
    </requestedPrice>
    </ProductLineItem>
    </ProductPriceAndAvailability>
    </ProductPriceAndAvailabilityQuery>
    <fromRole>
    <PartnerRoleDescription>
    <GlobalPartnerRoleClassificationCode>Customer</GlobalPartnerRoleClassificationCode>
    <PartnerDescription>
    <GlobalPartnerClassificationCode>End User</GlobalPartnerClassificationCode>
    <BusinessDescription>
    <GlobalBusinessIdentifier>00031583</GlobalBusinessIdentifier>
    <GlobalSupplyChainCode>Information Technology</GlobalSupplyChainCode>
    </BusinessDescription>
    </PartnerDescription>
    </PartnerRoleDescription>
    </fromRole>
    <toRole>
    <PartnerRoleDescription>
    <GlobalPartnerRoleClassificationCode>Customer</GlobalPartnerRoleClassificationCode>
    <PartnerDescription>
    <GlobalPartnerClassificationCode>End User</GlobalPartnerClassificationCode>
    <BusinessDescription>
    <GlobalBusinessIdentifier/>
    <GlobalSupplyChainCode>Information Technology</GlobalSupplyChainCode>
    </BusinessDescription>
    </PartnerDescription>
    </PartnerRoleDescription>
    </toRole>
    <thisDocumentGenerationDateTime>
    <DateTimeStamp>20000229T140102.333Z</DateTimeStamp>
    </thisDocumentGenerationDateTime>
    <thisDocumentIdentifier>
    <ProprietaryDocumentIdentifier>Panda20000229T140102.333Z</ProprietaryDocumentIdentifier>
    </thisDocumentIdentifier>
    <GlobalDocumentFunctionCode>request</GlobalDocumentFunctionCode>
    </Pip3A2PriceAndAvailabilityQuery>
    v_counter number := 1;
    partno varchar2(25) := 'IM NOT NULL';
    quantity varchar2(10);
    custid varchar2(25);
    conpart varchar2(50);
    p xmlparser.parser;
    xd xmldom.DOMDocument;
    -- Variables for the pricing call
    in_caller_name varchar2(50) := 'xsourcer';
    in_commit_allow_flag varchar2(50) := NULL;
    in_customer_no number;
    in_part_no_arg varchar2(50);
    in_mfg_arg varchar2(50) := NULL;
    in_cat_arg varchar2(50) := NULL;
    in_sub_arg varchar2(50) := NULL;
    in_opt_arg varchar2(50) := NULL;
    out_price n umber;
    out_prior_var number;
    out_ret_val varchar2(50);
    out_success_code number;
    out_error_code number;
    out_error_message varchar2(500);
    v_partlist partlist;
    -- This function converts the GlobalProductIdentifier (Manufacturer Part Number)
    -- to an elcom part number by performing a query against the dfp_parts table
    -- I created a local table with a few manufacturer part no's and elcom part no's
    function valueOf(xd xmldom.DOMDocument, xpath VARCHAR2) return varchar2 is
    n xmldom.DOMNode;
    nl xmldom.DOMNodeList;
    e xmldom.DOMElement;
    begin
    -- Cast the document to a node
    n := xmldom.makenode(xd);
    -- Select Nodes Matching XPath Pattern
    nl := xslprocessor.selectNodes(n,xpath);
    IF xmldom.getLength(nl) > 0
    THEN
    e := xmldom.makeElement(xmldom.item(nl,0));
    xmldom.normalize(e);
    RETURN ltrim(rtrim(xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item(nl,1)))));
    END IF;
    end;
    begin
    -- New Parser
    p := xmlparser.newparser;
    -- Parse the XML document
    xmlparser.parseBuffer(p,xml);
    -- Get the XML document that's been parsed
    xd := xmlparser.getdocument(p);
    custid := valueof(xd,'//GlobalBusinessIdentifier');
    insert into xrequest values (44, custid,null,sysdate);
    in_customer_no := to_number(custid);
    -- Calls to the xpath function to get the tags we want the value of
    /* FOR v_count IN 1..
    xd.length LOOP
    getNextSibling() RETURN DOMNode;
    WHILE (PARTNO IS NOT NULL) LOOP
    partno := valueof(xd,'//GlobalProductIdentifier');
    in_part_no_arg := partno;
    v_counter := v_counter + 1;
    -- call pricing here pass in custid, partno
    -- assign outprice_var to price of nested table
    corp_get_price_sp(in_caller_name, in_commit_allow_flag, in_customer_no,
    in_part_no_arg, in_mfg_arg, in_cat_arg, in_sub_arg,
    in_opt_arg, out_price, out_prior_var, out_ret_val,
    out_success_code, out_error_code, out_error_message);
    IF V_COUNTER = 100 THEN
    HTP.P('EXIT OUT');
    EXIT;
    END IF;
    --XREQUEST.PART_NO := PARTNO;
    --XREQUEST.PRICE := OUT_PRICE_VAR;
    htp.p(out_price);
    htp.br;
    -- insert into xrequest values (44, custid,(Partlist(PartObj(partno, out_price, null, null, null, null)))sysdate);
    END LOOP;
    quantity := valueof(xd,'//ProductQuantity');
    end;
    null

    You can first create a databank with the Input values and associated navigation. For eg. Navigation,csv will have
    Input, Navigation
    Hardware, window(index=0).link(text="Hardware" | href="http://..." | index=28)
    Monitors,
    Record the script by selecting from the dropdown box and then going to the resulting page. Attach the databank to the script and use the databank to select the Input value for the dropdown on the page. On the Resulting Page add code to the PageBeforePlay method -
    dim strNav as string
    'get the navigation value from the databank
    RSWApp.GetDataBankValue "Navigation", strNav
    rswapp.ChangeNavigation "", strNav, , , False
    The resulting page will then be the page that the navigation is changed to.
    You can loop through all the records in the databank to check the navigation for all of them.
    You will also have to look at how the value is set in the dropdown, as an Index or the actual value. If it is by Index, then in the databank file, change the Input to be the number of the selection like 1 or 2.
    Hope the above is what you are looking for.
    Question - The resulting page for each navigation will be different. How are you going to verfiy the different pages or continue on in the script?
    Message was edited by: mpalivela

  • How to loop through the "On My Mac" folders in mail?

    Hi there - i am new to applescript, but am slowly working out how to use it.
    I am stumped on how to write a rule that will move a message to a folder identified by a tag in a message (I am using MailTags).
    I have script that will take the first tag and move the message to a mail folder in a fixed location (e.g. Archive/<tag name>) however I wanted to make it more generic by looping over all of my mail folders and finding one that matched the tag name.
    However I am stumped on how to loop over all of my mail folder names - I have tried:
    repeat with aFolder in (every mailbox of (mailbox for "ON MY MAC"))
    and
    repeat with aFolder in every mailbox of inbox
    etc.
    but none of these seem to work.
    Is there some magic syntax to do this, so that I can do:
    if (name of aFolder = msgTag) then
    move oneMessage to mailbox (name of aFolder)
    end if
    Tim

    You don't necessarily need to assign a variable to the entire list in order to loop through them (unless you really want to) - for example:
    tell application "Mail" to repeat with aFolder in (get mailboxes)
            -- do stuff with aFolder
    end repeat
    There are several AppleScript resources, but the main ones I use are:
    AppleScript Language Guide
    AppleScript Tutorials at MacScripter.net

Maybe you are looking for

  • How do I get my Iphone 4s to stop showing music that is no longer in my library?

    I recently upgraded from my gen 2 Ipod Nano 2gb (which I have had for years) to an Iphone 4s 16gb. While I have a lot of room left on my phone, I don't like to fill it up and I like to keep it small so I can find what I want to listen to quickly. As

  • Where can I find a new or used version of Tiger?

    Hi, I would like to upgrade my old g4 Ibook, 10.3.9 (Panther) to run either Tiger or Leopard.  Where can I buy either new or used versions of this software?  Used would be fine, as long as it works.  The Apple store doesn't sell these anymore, and wh

  • How put ipod songs on iTunes on MacBook

    I have songs on ipod that it cannot add to itunes.  Does anyone know how to do this?  Thanks

  • Guest password on E1000

    Hello there, Just bought myself an Cisco E1000 today and I am having problems figuring out what the "Guest" password is, how to change it and how to possibly disable it all together?. The Cisco CD can't access my router now claiming i changed the adm

  • HT1414 error code 21

    my iphone stopped working and is displaying the itunes symbol with connect cable. I have tried restoring it but keep receiving error code 21. Itunes software is up to date on pc. any ideas? or is iphone knackered? it is a 16gb iphone 4