An array of type Oracle in a procedure - syntax problem

Hello

I try to call the PROCEDURE INSERT_CCR_HISTORY of the InsertCcr_Staging_DEBBIE of the PROCEDURE.
I want to pass the array to the INSERT_CCR_HISTORY procedure to insert into the table. I don't have the correct syntax.
If anyone can help with the syntax.

Thank you.

Jaffee
PROCEDURE INSERT_CCR_HISTORY  (vTable  vName) IS   

BEGIN

declare 
    i number := 0;
 begin
    
         FORALL i IN 1..vTable.COUNT
          insert into ccr_staging_history
            (            
                ccr_staging_history_deb.CCR_ID,                          
                ccr_staging_history_deb.BATCH_ID,                        
                ccr_staging_history_deb.MODIFIED_BY,                     
                ccr_staging_history_deb.MODIFIED_DATE,                   
                ccr_staging_history_deb.ENTERED_BY,                      
                ccr_staging_history_deb.ENTERED_DATE,                    
                ccr_staging_history_deb.DUNS,                            
                ccr_staging_history_deb.DUNS_PLUS4,                      
                ccr_staging_history_deb.CAGE_CODE,                                                
            ) -- end of values for insert            
            values 
            (                        
                v_next_seq.NEXTVAL ,    -- v_n(i).CCR_ID,                          
                1,                      --batch_id null,
                NULL,                   -- modified_by
                NULL,                   -- modified_date
                v_user,                 -- entered_by
                sysdate,                -- entered_date
                vTable(i).DUNS,                           
                vTable(i).DUNS_PLUS4,                      
                vTable(i).CAGE_CODE,                                        
            );  -- end of value session        
                 COMMIT;                                                                
    end;
END INSERT_CCR_HISTORY;

/************************************************************************************************************/
/************************************************************************************************************/ 
PROCEDURE  InsertCcr_Staging
IS

BEGIN       
       
declare        
--
TYPE vName IS TABLE oF got_r_num%ROWTYPE;
--
v_n vName;
--
cursor outer_lp IS
   select distinct(error_vid) error_vid from got_r_num 
 order by 1;
--
CURSOR check_duns_etall(p_vid  IN VARCHAR2, p_dunsall IN VARCHAR2) IS 
    Select count(*) 
      FROM got_r_num 
      where error_vid = (p_vid)                     
       AND lower(duns||duns_plus4||cage_code||tax_payer_id) = lower(p_dunsall);       
--
    v           varchar2(100)  := NULL;
    xt          NUMBER  := 0;
    v_dunsetall varchar2(1000) := NULL;
    v_val       NUMBER := 0;
    v_val_duns  NUMBER := 0;
    v_user      varchar2(30) := SYS_CONTEXT('USERENV','SESSION_USER');
--

bEGIN
--
for i in outer_lp LOOP
  v := i.error_vid;
--
    SELECT * BULK COLLECT INTO v_n FROM
     got_r_num where error_vid = v;
    FOR i in 1..v_n.LAST LOOP 
          
         IF v_n.count > 1 and v_n(i).SITE_TYPE = 'PURCH' THEN 

            v_dunsetall := v_n(i).DUNS||v_n(i).DUNS_PLUS4||v_n(i).CAGE_CODE||v_n(i).TAX_PAYER_ID;

            OPEN check_duns_etall(v,v_dunsetall);
            FETCH check_duns_etall INTO v_val;
            CLOSE check_duns_etall;

           v_num := i;
           
           IF v_val = 1 THEN 
                 -- insert 
                 -- Populate ccr_staging_history    
               CCR_MIGRATION.INSERT_CCR_HISTORY (  v_n );  -- calling procedure to Insert. SYNTAX problem ???
           END IF;                      

              
         end if;    
               
   END LOOP;
END LOOP;
end;


END;  -- end of procedure InsertCcr_Staging

First not precede you calls INSERT_CCR_HISTORY with CCR_MIGRATION. Because there is no CCR_MIGRATION package.
When you are in a loop from the collection, you must call the stored procedure with v_n (i) only one record in this case.

Also the procedure called INSERT_CCR_HISTORY should be accept variable of type got_r_num % ROWTYPE and loop for can be removed with regular insert.

Tags: Database

Similar Questions

  • Error renaming dates to an associative array of type date

    Hi all

    I am facing issue while assigning dates in an associative array of type date:

    Oracle version:

    SQL > select * from v version $;

    BANNER
    ----------------------------------------------------------------
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi
    PL/SQL Release 10.2.0.1.0 - Production
    CORE 10.2.0.1.0 Production
    AMT for Linux: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production

    Stored procedure, I try to write is as follows

    1. create or replace procedure (jp1)
    2. p_start_date default date trunc(sysdate,'MM')
    3. p_end_date date default trunc (sysdate)
    4. )
    5. is
    6. number of l_no_of_days;
    7. type t_date_id is table of date
    8. index by pls_integer;
    9. l_date_id_arr t_date_id;
    10. Start
    11. l_no_of_days: = p_end_date - p_start_date;
    12. for i from 0
    13. .. l_no_of_days - 1
    14. loop
    15. l_date_id_arr: = p_start_date + i;
    16. dbms_output.put_line (p_start_date + i);
    17. end loop;
    18. end;
    19. /

    I get error on line 14 when compiling it. and the error message is as follows:

    JP1 PROCEDURAL errors:

    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    14/5 PL/SQL: statement ignored
    14/22 PLS-00382: expression is of the wrong type

    While studying this, I tried the value of (p_start_date + i) using dbms_output.put_line and the output is so date itself.

    1. create or replace procedure (jp1)
    2. p_start_date default date trunc(sysdate,'MM')
    3. p_end_date date default trunc (sysdate)
    4. )
    5. is
    6. number of l_no_of_days;
    7. type t_date_id is table of date
    8. index by pls_integer;
    9. l_date_id_arr t_date_id;
    10. Start
    11. l_no_of_days: = p_end_date - p_start_date;
    12. for i from 0... l_no_of_days-1

    13. loop
    14. -l_date_id_arr: = p_start_date + i;
    15. dbms_output.put_line (p_start_date + i);
    16. end loop;
    17. end;
    18. /

    output of the

    1. exec jp1

    is as follows:

    1ST DECEMBER 13

    2 DECEMBER 13

    3 DECEMBER 13

    DECEMBER 4, 13

    5 DECEMBER 13

    DECEMBER 6, 13

    7 DECEMBER 13

    DECEMBER 8, 13

    9 DECEMBER 13

    DECEMBER 10, 13

    DECEMBER 11, 13

    DECEMBER 12, 13

    13 DECEMBER 13

    14 DECEMBER 13

    15 DECEMBER 13

    16 DECEMBER 13

    17 DECEMBER 13

    18 DECEMBER 13

    I see the release date itself. so why he throws error while the same assignment to an associative array of type date.

    I tried Google too for the same but without success.

    Any help is appreciated in this regard not or any pointer another thread on the internet or in this forum.

    Thanks in advance

    Jagdeep Seven

    Read associative arrays:

    1. create or replace procedure (jp1)
    2. p_start_date default date trunc(sysdate,'MM')
    3. p_end_date date default trunc (sysdate)
    4. ) is
    5. number of l_no_of_days;
    6. type t_date_id is table of date
    7. index by pls_integer;
    8. l_date_id_arr t_date_id;
    9. Start
    10. l_no_of_days: = p_end_date - p_start_date;
    11. because me in 0.l_no_of_days - 1
    12. loop
    13. l_date_id_arr (I): = p_start_date + i;
    14. dbms_output.put_line (p_start_date + i);
    15. end loop;
    16. end;

    ----

    Ramin Hashimzade

  • Declare a cursor that can be played back in array of type

    Hello

    I have a problem - how to declare a cursor that can be played back in array of type.

    
    create or replace type testType as object  
    (  
      dokid number(10),          
      name varchar2(20)  
    );  
      
    CREATE OR REPLACE TYPE testTableType AS TABLE OF testType;  
      
    procedure test(  
         author in number      
    )   
    is  
      tempTable testTableType := testTableType();  
      --cursor type should be changed
      curs out sys_refcursor;
    begin  
         --open cursor  
         open curs for  
         select documentID, documentName from documents;
         
         --loop that fetches data
         loop
              FETCH curs 
              BULK COLLECT INTO tempTable LIMIT 100;
              --need bulk collect as table has too many records if used without bulk
              EXIT WHEN curs %NOTFOUND;
              --do some work with temp table
              DBMS_OUTPUT.put_line(tempTable .count || ' rows');
         end loop;
         close curs;
           
          
    end test;
    

    First question is why want you to loop through data of cursor? Do it in SQL directly, it is the fastest way to do it.

    What about fixing your code, you can go. Code in RED are which I changed.

    test procedure
    (
    the author number
    )
    is
    tempTable testTableType: = testTableType();

    curs sys_refcursor;
    Start
    Open the curs
    for
    Select testtype (documentID, documentName) in documents;

    loop
    FETCH Curs
    bulk collect into temptable limit 100;
    dbms_output.put_line (TEMPTABLE. Count | "lines");
    When exit curs % notfound;
    end loop;

    close the curs;
    end test;
    /

  • OracleDataAdapter error: unable to cast object of type 'Oracle.DataAccess.Types.OracleDecimal' type 'System.IConvertible '.

    Uses: Oracle9i Standard Edition, ODAC 11.2.0.4, Oracle Instant Client 11.2.0.4

    I am to convert the Microsoft Oracle for Oracle ODP.NET provider of my projects

    * Error *.

    Cannot be cast to type 'Oracle.DataAccess.Types.OracleDecimal' object type 'System.IConvertible '. Could not store < 145982 > in the RECEIPTID column. Type is Int64.

    This error is poped up when my stored Proc has a return parameter. The return is a numeric data type in Oracle. I had no problem when using Oracle Provider from Microsoft.

    Initially, I had my command setting insert the value

    System.Data.OracleClient.OracleType.Number

    for the column RECEIPTID; After ODP.NET, I converted to

    Oracle.DataAccess.Client.OraclDbType.Double

    Then the error throwed upward. Implement

    Oracle.DataAccess.Client.OracleDbType.Int64

    as suggested by the error, but nothing seems to prevent the error a way.

    I am running using the OracleDataAdapter.

    The OracleCommand object initialization *.

    public class ReceiptAccountBusinessTable : EquityBroker32.APP_DATA.config.GenericBusinessTable
            {
                OracleCommand[] nCommandCollection;
    
                public ReceiptAccountBusinessTable()
                {
                    this.Tablename = "JKSBSCHEMA.RECEIPTACCOUNT";
                    this.KeyDBField = "RECEIPTID";
                    this.DefaultSql = string.Format("SELECT * FROM {0} WHERE {1}= (SELECT MAX({1}) FROM {0} )", this.Tablename, this.KeyDBField);
    
                    //select command
                    this.nCommandCollection = new Oracle.DataAccess.Client.OracleCommand[4];
    
                    this.nCommandCollection[0] = new OracleCommand();
                    this.nCommandCollection[0].Connection = this.DataConnection;
                    this.nCommandCollection[0].CommandText = this.DefaultSql;
                    this.nCommandCollection[0].CommandType = System.Data.CommandType.Text;
    
                    //update command
                    this.nCommandCollection[1] = new OracleCommand();
                    this.nCommandCollection[1].Connection = this.DataConnection;
                    this.nCommandCollection[1].CommandText = "JKSBSCHEMA.RECEIPTACCOUNT_ADDCHG_PROC";
                    this.nCommandCollection[1].BindByName = true;
                    this.nCommandCollection[1].CommandType = System.Data.CommandType.StoredProcedure;
                    this.nCommandCollection[1].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PRECEIPTID", Oracle.DataAccess.Client.OracleDbType.Int64, 10, System.Data.ParameterDirection.InputOutput, false, 10, 0, "RECEIPTID", System.Data.DataRowVersion.Current, null));
                    this.nCommandCollection[1].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PACCOUNTID_NEW", Oracle.DataAccess.Client.OracleDbType.Char, 13, System.Data.ParameterDirection.Input, false, 0, 0, "CLIENTACCOUNTID", System.Data.DataRowVersion.Current, null));
                    this.nCommandCollection[1].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PACCOUNTID_OLD", Oracle.DataAccess.Client.OracleDbType.Char, 13, System.Data.ParameterDirection.Input, false, 0, 0, "CLIENTACCOUNTID", System.Data.DataRowVersion.Original, null));
                    this.nCommandCollection[1].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PXSACTVALUE", Oracle.DataAccess.Client.OracleDbType.Double, 22, System.Data.ParameterDirection.Input, false, 0, 0, "XSACTVALUE", System.Data.DataRowVersion.Current, null));
                    this.nCommandCollection[1].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PXSACTDESC", Oracle.DataAccess.Client.OracleDbType.Varchar2, 255, System.Data.ParameterDirection.Input, false, 0, 0, "XSACTDESC", System.Data.DataRowVersion.Current, null));
                    this.nCommandCollection[1].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PPAGEBREAK", Oracle.DataAccess.Client.OracleDbType.Int32, 22, System.Data.ParameterDirection.Input, false, 0, 0, "PAGEBREAK", System.Data.DataRowVersion.Current, null));
    
                    //insert command
                    this.nCommandCollection[2] = new OracleCommand();
                    this.nCommandCollection[2].Connection = this.DataConnection;
                    this.nCommandCollection[2].CommandText = "JKSBSCHEMA.RECEIPTACCOUNT_ADDCHG_PROC";
                    this.nCommandCollection[2].CommandType = System.Data.CommandType.StoredProcedure;
                    this.nCommandCollection[2].BindByName = true;
                    this.nCommandCollection[2].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PRECEIPTID", Oracle.DataAccess.Client.OracleDbType.Int64, 10, System.Data.ParameterDirection.InputOutput, false, 10, 0, "RECEIPTID", System.Data.DataRowVersion.Proposed, null));
                    this.nCommandCollection[2].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PACCOUNTID_NEW", Oracle.DataAccess.Client.OracleDbType.Char, 13, System.Data.ParameterDirection.Input, false, 0, 0, "CLIENTACCOUNTID", System.Data.DataRowVersion.Current, null));
                    this.nCommandCollection[2].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PACCOUNTID_OLD", Oracle.DataAccess.Client.OracleDbType.Char, 13, System.Data.ParameterDirection.Input, false, 0, 0, "CLIENTACCOUNTID", System.Data.DataRowVersion.Original, null));
                    this.nCommandCollection[2].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PXSACTVALUE", Oracle.DataAccess.Client.OracleDbType.Double, 22, System.Data.ParameterDirection.Input, false, 0, 0, "XSACTVALUE", System.Data.DataRowVersion.Current, null));
                    this.nCommandCollection[2].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PXSACTDESC", Oracle.DataAccess.Client.OracleDbType.Varchar2, 255, System.Data.ParameterDirection.Input, false, 0, 0, "XSACTDESC", System.Data.DataRowVersion.Current, null));
                    this.nCommandCollection[2].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PPAGEBREAK", Oracle.DataAccess.Client.OracleDbType.Int32, 22, System.Data.ParameterDirection.Input, false, 0, 0, "PAGEBREAK", System.Data.DataRowVersion.Current, null));
    
                    //delete command
                    this.nCommandCollection[3] = new OracleCommand();
                    this.nCommandCollection[3].Connection = this.DataConnection;
                    this.nCommandCollection[3].CommandText = "DELETE FROM " + this.Tablename + " WHERE RECEIPTID=:p1 AND ACCOUNTID=RPAD(:p2,15)";
                    this.nCommandCollection[3].CommandType = System.Data.CommandType.Text;
                    this.nCommandCollection[3].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("p1", Oracle.DataAccess.Client.OracleDbType.Int64, 22, System.Data.ParameterDirection.Input, false, 0, 0, "RECEIPTID", System.Data.DataRowVersion.Current, null));
                    this.nCommandCollection[3].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("p2", Oracle.DataAccess.Client.OracleDbType.Char, 15, System.Data.ParameterDirection.Input, false, 0, 0, "ACCOUNTID", System.Data.DataRowVersion.Current, null));
    
                    this.CommandCollection = this.nCommandCollection;
                }
            }
    

    * The glance of the stored Proc *.

    PROCEDURE RECEIPT_ADDCHG_PROC
        (
        preceiptid IN OUT NUMBER,
        preceiptmode IN CHAR,
        pxsactdate IN DATE,
        pxsactvalue IN NUMBER,
        pbankaccountid IN VARCHAR2,
        pchequeno IN VARCHAR2,
        pclientbankid IN VARCHAR2,
        pdescription IN VARCHAR2,
        pstatementno in varchar2 default null,
        pcustodypayment IN NUMBER)
        is
        nrow number;
        begin
    
        --check if posted
        SELECT COUNT(*) INTO nrow from accountledger
        WHERE receiptid = preceiptid;
    
        IF nrow > 0 THEN
          RAISE_APPLICATION_ERROR(-20001, 'Record Already Posted');
        END IF;
    
        UPDATE Receipt
          Set pmodeid = preceiptmode,
          xsactdate = pxsactdate,
          xsactvalue = pxsactvalue,
          bankaccountid = pbankaccountid,
          chequeno = pchequeno,
          clientbankid = pclientbankid,
          description = pdescription,
          statementno = pstatementno,
          custodypayment = pcustodypayment
        WHERE receiptid = preceiptid;
    
        IF (SQL%NOTFOUND) THEN
          INSERT INTO RECEIPT(receiptid,
                              pmodeid,
                              xsactdate,
                              xsactvalue,
                              bankaccountid,
                              chequeno,
                              clientbankid,
                              description,
                              statementno,
                              custodypayment
                              )
          VALUES(preceiptid,
                  preceiptmode,
                  pxsactdate,
                  pxsactvalue,
                  pbankaccountid,
                  pchequeno,
                  pclientbankid,
                  pdescription,
                  pstatementno,
                  pcustodypayment
                  ) RETURNING receiptid into (preceiptid);
        END IF;
    
        end;
    

    * It's how I update the Table *.

    public void UpdateData(DataTable tbl, Oracle.DataAccess.Client.OracleTransaction oTran)
                {
                    try
                    {
                        SetTransaction(oTran);
                        this._adapter.Update(tbl);
                        //this was added on 03-Aug-2011
                        tbl.AcceptChanges();
                    }
                    //handling concurrency problem
                    catch (DBConcurrencyException dbcx)
                    {
                        MessageBox.Show(CreateMessage(dbcx.Row), "Concurrency Exception", MessageBoxButtons.YesNo);
                    }
                    catch (OracleException ex)
                    {
                        throw ex;
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
    
                }
    

    * The said Stack Trace *.

    at System.Data.Common.DbDataAdapter.UpdatedRowStatusErrors (Int32 commandCount RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo [batchCommands])
    at System.Data.Common.DbDataAdapter.UpdatedRowStatus (Int32 commandCount RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo [batchCommands])
    to System.Data.Common.DbDataAdapter.Update (DataRow [] dataRows, DataTableMapping tableMapping)
    to Oracle.DataAccess.Client.OracleDataAdapter.Update (DataRow [] dataRows, DataTableMapping tableMapping)
    at System.Data.Common.DbDataAdapter.UpdateFromDataTable (DataTable dataTable, DataTableMapping tableMapping)
    at System.Data.Common.DbDataAdapter.Update (DataTable dataTable)
    at EquityBroker32.APP_DATA.config.GenericBusinessTable.UpdateData (DataTable tbl, OracleTransaction oTran) in d:\REVERSION\Latest\APP_DATA\config\GenericBusinessTable.cs:line 293

    This is found!

    I add the following code to my existing and it worked!

    this.nCommandCollection[1].Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("PRECEIPTID", Oracle.DataAccess.Client.OracleDbType.Double, 10, System.Data.ParameterDirection.InputOutput, false, 10, 0, "RECEIPTID", System.Data.DataRowVersion.Current, null));
    this.nCommandCollection[1].Parameters["PRECEIPTID"].DbType = DbType.Decimal;
    

    Thanks to this site and the person who answered: .Net technology: find a sequence of a S-P with typed DataSet problem - dotnet - tech.todaysummary.com

  • How can I check that an object is an instance of any type in an array of types of partners?

    In LabVIEW, it is possible to check the type of execution of an object to helping the most specific Class.vi. Use of this would be to perform a security check if a sort of class uses instances of another class, but is only able to manage a subset of types of children of this class.

    For example, suppose that you had Beverage.lvclass, which represents an abstract type of product, several subclasses: Coffee.lvclass, Tea.lvclass and Soda.lvclass.

    We also have a Person.lvclass that can drink. A person also has preferences on drinks or don't like:

    Attached is an implementation of this in LabVIEW.

    In Person.lvclass: Drink.vi, I have the following code. For some reason any wire seems broken in these extracts, but it is in the actual code.

    In Scenario.vi, I have the following code:

    What I find is that no error is generated and instead, I get "Yum, I love the!", "Yum, I love coffee!" and "yum, I love soda!" My guess is that the most specific Class.vi throws wire of entry of the 'target class' static type rather than the type of performance - and because I'm passing in the elements of an array of types, the static type of the cable is upcasted to the more specific type which is a superclass of the types contained in the table - which would be Beverage.lvclass. And if distribution tries to determine if an object of static type Beverage.lvclass is an instance of Beverage.lvclass, which of course will happen all the time.

    Is it possible to make the LabVIEW to check the more specific runtype type of an object? As in, is there something I could do that, in this case for example, would allow me to get the required behavior of Joe throwing an error when he did drink soda? Or is this another limitation of LabVIEW that I have to live with?

    Your assumption seems reasonable. I can't check right now, but there is a primitive called preserve run time type, which should do what you want.

  • How to create simultaneous program of type PL/SQL stored procedure?

    I have the procedure to reset sequence as below:

    CREATE OR REPLACE PROCEDURE DEV_RESET_XX IS

    V_NEXT_VAL1 NUMBER;

    BEGIN

    RUN IMMEDIATELY "ALTER SEQUENCE DEV_RECEIPT_S1 MINVALUE 0';"

    RUN IMMEDIATELY "SELECT DEV_RECEIPT_S1. DOUBLE NEXTVAL ' IN V_NEXT_VAL1;

    RUN IMMEDIATELY "ALTER SEQUENCE DEV_RECEIPT_S1 INCREMENT BY ' |" -V_NEXT_VAL1;

    RUN IMMEDIATELY "SELECT DEV_RECEIPT_S1. DOUBLE NEXTVAL ' IN V_NEXT_VAL1;

    RUN IMMEDIATELY "ALTER SEQUENCE INCREMENT DEV_RECEIPT_S1 1 ';"

    END DEV_RESET_XX;

    And if I run this query don't use PL/SQL, no problem and success.

    EXEC DEV_RESET_XX

    And then I want to create simultaneous program for this procedure.

    1. create the executable program

    -Methods: PL/SQL, stored procedure

    2. create the simultaneous program

    -Call the executable program

    -Nothing parameter

    3. assign the application group to receive

    And then I try to run this competitor.

    But, status complete error.

    8-31-2015 7-10-22 PM.jpg

    Help, please.

    Thank you.

    Hello

    To save pl sql program, we have two required parameters. ERRBUFF and RETCODE

    Steps to create a concurrent program of type PL/SQL stored procedure. Techmandate.com

    No need to create these parameters in the simultaneous program window. Just use those in your procedure.

    hope this will help you

  • Addition of channels/filling of an array of type array/string

    Hello

    I'm a newbie here work with vCO.  I'm working on the workflow of VM deployment that begins with the collection of General information (contact server, e-mail, etc.), followed by specific information for VM (i.e. web/application/db as environment).  This last (information VM) entered by the user input for the type of system they wish to deploy an iteration every time based on the number of virtual machines was asked (with a meter - meter = numVMs).  I try to convey this information in an attribute of type "array/string" (the entrance to the server type is 'chain') so I can later call the "VM Clone" for each entry in the array virtual computer.  The rest of the information is passed in the same way for table attributes (environment, operating system, etc.).

    So far, I have tried many variations to fill the table, but it does not work. What this means is that whenever I try to update the attribute that contains the array of type VM with a member of the Group (table [i] = whateverstring ;) I get an error 'object '.  For what I understand, this has to do with the string to the object type, but I'm not 100%.   I also tried to use the "VcArrayUpdateOperation" " " object but I don't know how it works (I guess that there is a special way to do this, but none of the examples).»  Can someone please shed some light on this?

    Thanks in advance!

    You must:

    • Initialize your array (by clicking the attribute 'undefined' and 'accept')
    • Make sure your table is in the inputs and outputs of your box of scriptable.
  • pop up 'incorrect type provided a PDS procedure parameter' MSG by "accessibility Full Check.

    Hello

    When I open a PDF file in 'Adobe Acrobat X' and then do check complete' tool 'accessibility '.

    A pop-up window appears and keep all the default setting, and then I click the button 'start checking '.

    After that, the pop up warning 'Adobe Acrobat X' Windows message with the message "incorrect type provided a PDS procedure parameter.

    The PDF file was made by the "Adobe LiveCycle Designer".

    However, this warning message did not appear when I use "Adobe Acrobat XI".

    You know the reason and any solution to solve?

    Thank you!!

    Kind regards

    George Lee

    HI George,.

    This error message generally when the XML structure is no longer valid, what is it has been changed manually. For example, when you run the verification of accessibility on the document using Acrobat XML structure is not valid.

    Solution

    Open and save the form in the designer, then it will correct the problems in the XML source and work fine in the preview PDF.

    Let me know if you have any questions

    Kind regards

    ~ Dominique

  • "" Type = "java.math.BigDecimal type =" Oracle.jbo.domain.Number "VS".

    Hi all! I need some explanation about types: Type = "oracle.jbo.domain.Number"VS Type = "java.math.BigDecimal"

    I have variable enableEditing:
     this.enableEditing = this.getSelectedTaks().getAttribute("TaksacijasPk").equals(taksId); 
    If attribute EO TaksacijasPk is with the type "oracle.jbo.domain.Number" then all work with above the line, but if this attribute is of type "Java.Math.BigDecimal" then code above line do not work. To fix it, I need to add toString() operation in the line of code:
     this.enableEditing = this.getSelectedTaks().getAttribute("TaksacijasPk").toString().equals(taksId); 
    Maybe the question is, why in one case, I have to add toString() operation and in others not?

    Best regards, Debuger!

    Javadoc for the BigDecimal said

    Unlike compareTo, this method takes two objects BigDecimal equal only if they are equal in value and scale (so 2.0 is not equal to 2.00 compared to this method).

    You try to compare a BigDecimal/number for a taskId (which we don't have no idea what class it is).

    Suppose that taskId is a string.

    . Equals() on a number will simply convert the string to a number and check if the values are equal.

    . Equals() on a BigDecimal allows you to convert the string to a BigDecimal by applying the rules described in the BigDecimal (String) constructor, to-wit:

    The scale of the BigDecimal returned will be the number of digits in the fraction, or zero if the string contains no comma, subject to adjustment for any Exhibitor; If the string contains an exponent, the exponent is subtracted from the scale. The value of the scale that results must be between Integer.MIN_VALUE and Integer.MAX_VALUE, inclusively.

    My conjecture only (since you don't seem to be ready to use the debugger and check), is that you have a scale on your BigDecimal which does not match the scale on the BigDecimal which is built from the identifier.

    If I had to try to understand the difference between the two, I'd read the docs. Maybe even create a few test cases. Maybe to run my code in the debugger to see what that my BigDecimals and numbers looked like

  • Could not create the domain object type oracle.jbo.domain.Date

    Hello

    I'm getting the following exception in the user interface when I click on submit button (/ commit or any other button) for date fields. I created the default objects entity and notices for the database table. I'm poplating the data after executing the "Execute" operation on the iterator for the view.

    Cannot be created with the value ' 22/09/2009' field object type oracle.jbo.domain.Date. +

    Even if I had not made any changes to the date also fields, it's give the exception message in the user interface and do not return the form.

    Could you please help me to solve the issue.

    Thank you and best regards,

    S R Prasad

    Published by: oumar s Prasad on November 18, 2009 15:01

    Prasad,

    What is your version of JDev? And what technology do you use to model? BC4J? Can you try to change the format of the attribute in the object view? Say with the type of Simple date format and format "mm/dd/yyyy".

    Arun-

  • Type 'Oracle.Web.Management.OracleWebEventProvider' cannot be instantiated


    I am using Microsoft Patterns and practices Enterpriese library with SharePoint and Oracle databases. In my SharePoint web.config file, if is set to WSS_Medium trust, I get the following error shows:

    Configuration error
    Description: An error occurred during the processing of a configuration file required to service this request. Check the specific error below information and modify your configuration file of appropriately.

    Parser error message: Type 'Oracle.Web.Management.OracleWebEventProvider' cannot be instantiated with a partially trusted security policy (AllowPartiallyTrustedCallersAttribute is not present on the target assembly).

    Source error:

    [No relevant source lines | http://forums.oracle.com/forums/]

    Source file: machine.config line file: 175

    But, if I change it to full, everything works. I "ve been trying and trying to get this to work, but no matter what I do in the config files, I can't get rid of this error." Any help is greatly appreciated.

    Thank you

    Currently the ASP.NET providers do not support partially trusted callers it is why you are not able to use them in another trust to full trust levels. Next ODAC version go that they support partially trusted callers. You can still post your questions related to ASP.NET providers in Oracle providers for ASP.NET .

    In addition, ODP.NET supports partial trust callers.

  • Trying to force a value of the type 'oracle.jbo.domain.Number' type 'java.

    Hi, I am very new in the world of JDeveloper and I get the following error:
    Trying to force a value of the type 'oracle.jbo.domain.Number' to type 'java.lang.Long.

    I'm trying to multiply two input values, say, 3.5 and 1000.
    It corresponds to a field in the commission which can be modified by the end user (this is why I need to store the value). The arithmetic operation is just a "recommendation" of the value that the end user will be finally type.

    In the jspx (which is using PPR) the button submit, I have the following code in the determination of the value of the field:
    #{bindings.CommProv.inputValue * links.} Monto.inputValue}

    If someone could give any help on this, I would really appreciate it.

    Kind regards
    Max.

    Max,

    Try this:
    #{bindings.CommProv.inputValue.bigDecimalValue * links.} Monto.inputValue.bigDecimalValue}

    This will convert your oracle.jbo.domain.Number values to a form that can be multiplied.

    Hope this helps
    Blaise

  • Defining a job from oracle to a procedure with an input parameter of type date

    Hello

    I am running the following script to create a work for a procedure.


    DECLARE
    jobs NUMBER.
    m_pulsedatetime DATE: = sysdate;
    job_procedure VARCHAR2 (100);
    BEGIN
    job_procedure: = ' Sp_Validation(' || m_pulsedatetime ||) ');';
    DBMS_JOB. SUBMIT (job, job_procedure, SYSDATE, 'SYSDATE + 1', FALSE);
    COMMIT;
    END;
    /


    But am getting the foll error:

    ERROR on line 1:
    ORA-06550: line 1, column 116:
    PLS-00201: identifier 'JAN' must be declared
    ORA-06550: line 1, column 93:
    PL/SQL: Statement ignored
    ORA-06512: at "SYS." Dbms_job", line 79
    ORA-06512: at "SYS." Dbms_job", line 136
    ORA-06512: at line 9 level

    How to solve this problem?
    Please give an example.
    Thank you.

    what he wants to run in the work is the following:

    Sp_Validation(08-JAN-09);
    

    And this isn't a valid syntax... you can replace to:

    job_procedure := 'Sp_Validation(''' ||m_pulsedatetime|| ''');';
    

    but you always pass in a STRING and not a DATE!...

  • How to accept the array as a parameter of stored procedure

    Hi, this is the scenario

    the java team send me a table of numbers as an input for my procedure.

    the size of the array can be dynamic... I do not know the size

    what I have to do is

    I have to write a procedure that must accept this table as parameter
    crosses of the first element of the array too the end of the array to each value in the table

    and get on a table for this value and remove this line in the table

    How can I do?

    Please suggest

    concerning
    REDA

    Published by: raj_fresher on May 7, 2009 11:42

    Raj,

    Here is the code

    --This is you will create
    create or replace type TYP_PHONES as table of Varchar2(15) ;
    /
    --- This will be your procedure
    create or replace
    procedure give_me_an_array1( p_array in TYP_PHONES )
    as
    begin
    -- Do whatever you want to with the data you get
    for i in 1 .. p_array.count
    loop
    dbms_output.put_line( p_array(i) );
    end loop;
    end;
    /
    

    Tell your guy java to define this table as below

    String[] intArray= {"john","miller","scott"};
    ArrayDescriptor descriptor =ArrayDescriptor.createDescriptor( "TYP_PHONES", conn );
    ARRAY array_to_pass = new ARRAY( descriptor, conn, intArray );
    

    * [Full active code | http://db-oracl.blogspot.com/2009/05/passing-arrays-from-java.html] *.

    SS

  • Using RAW type in the SQLEXEC procedure

    Hello

    I'm trying to map a RAW type column by using the conversion function and my procedure has not yet recovered by GoldenGate.

    If I do the same thing with the column of type NUMBER it works OK. Is this a limitation of the GoldenGate or I'm doing something wrong.

    Thank you

    Tomek

    Oracle procedure

    CREATE OR REPLACE PROCEDURE GGT_GET_RAW_BITS(bits RAW,bit_1 OUT NUMBER,bit_2 OUT NUMBER,bit_4 OUT NUMBER,bit_8 OUT NUMBER) IS

    BEGIN

    bit_1: = CASE WHEN (UTL_RAW. BIT_AND (bits, HEXTORAW('1')) = HEXTORAW('1')) THEN 1 ELSE 0 END;

    bit_2: = CASE WHEN (UTL_RAW. BIT_AND (bits, HEXTORAW('2')) = HEXTORAW('2')) THEN 1 ELSE 0 END;

    bit_4: = CASE WHEN (UTL_RAW. BIT_AND (bits, HEXTORAW('4')) = HEXTORAW('4')) THEN 1 ELSE 0 END;

    bit_8: = CASE WHEN (UTL_RAW. BIT_AND (bits, HEXTORAW('8')) = HEXTORAW('8')) THEN 1 ELSE 0 END;

    END;

    /

    Mapping of GG

    TEST THE CARD. N1OTES, THE TARGET TEST. N1OTES

    SQLEXEC (ID GG_GET_RAW_BITS, SPNAME TEST. GGT_GET_RAW_BITS, PARAMS (bits = N1FLAGS)).

    () COLMAP

    USEDEFAULTS,

    n1flags1 = @getval (GG_GET_RAW_BITS.bit_2),

    n1flags2 = @getval (GG_GET_RAW_BITS.bit_4)

    )

    ;

    Hello

    Yes, this is a limitation according to the Note 1303708.1.

    Thank you

    Peter

Maybe you are looking for