Query Errors:  ORA-01036: illegal variable name/number

Hi All,
When I run a query against two tables within our data warehouse I am getting an IO Exception. Due to company restrictions I can't quickly increase my IO Limit So what I have done is written a query that cycles through all of the large tables partitions and extracts the data.
The problem I get is that when I run this query in Toad. It thinks my :MI, :SS are variables and wont run this. Does anyone know what I can do to resolve this issue?
create table completion_log
  action_complate_dt        date,
  table_name                   varchar2(1000),
  partition_number            varchar2(1000)
nologging
compress ;
create table  STORE_DATA_HERE
  field_1                varchar2(1000),
  field_2                date,
  field_3                varchar2(1000)
nologging
compress ;
commit;
begin
   for ptn in (select partition_name p from all_tab_partitions t where table_name='REALLY_LARGE_TABLE')
   loop
      execute immediate q'^
      insert /*+ APPEND */ into STORE_DATA_HERE
        SELECT  field_1,
                field_2,
                field_3      
          FROM  REALLY_LARGE_TABLE partition (^'||ptn.p||q'^)
         WHERE  field_3 IN (  'XXXX',  'YYYY')
                AND data_date BETWEEN TO_DATE('07/12/2011 00:00:00', 'DD/MM/YYYY HH24:MI:SS')
                        AND TO_DATE('08/12/2011 23:59:59', 'DD/MM/YYYY HH24:MI:SS')
      ^';
     insert into completion_log values (sysdate,'STORE_DATA_HERE',ptn.p);
     commit;
   end loop;
end;

In your case it is quite easy...
just remove the collons from the format and the literal...and off you go
begin
   for ptn in (select partition_name p from all_tab_partitions t where table_name='REALLY_LARGE_TABLE')
   loop
      execute immediate q'^
      insert /*+ APPEND */ into STORE_DATA_HERE
        SELECT  field_1,
                field_2,
                field_3      
          FROM  REALLY_LARGE_TABLE partition (^'||ptn.p||q'^)
         WHERE  field_3 IN (  'XXXX',  'YYYY')
                AND data_date BETWEEN TO_DATE('07/12/2011 000000', 'DD/MM/YYYY HH24MISS')
                        AND TO_DATE('08/12/2011 235959', 'DD/MM/YYYY HH24MISS')
      ^';
     insert into completion_log values (sysdate,'STORE_DATA_HERE',ptn.p);
     commit;
   end loop;
end;

Similar Messages

  • External table and error: ORA-01036: illegal variable name/number

    using the following script I get the referenced error:
    create table dol_sch_c_part2
    (DLN NUMBER(14) ,
    PAGE_ID VARCHAR2(20),
    PAGE_SEQ VARCHAR2(20),
    PAGE_ROW_NUM VARCHAR2(20),
    ROW_NUM VARCHAR2(20),
    IMAGE_FORM_ID VARCHAR2(20),
    PROVIDER_TERM_01_NAME VARCHAR2(35),
    PROVIDER_TERM_01_EIN VARCHAR2(9) ,
    PROVIDER_TERM_01_POSITION VARCHAR2(25),
    PROVIDER_TERM_01_STR_ADDRESS VARCHAR2(35),
    PROVIDER_TERM_01_CITY VARCHAR2(20),
    PROVIDER_TERM_01_STATE VARCHAR2(2),
    PROVIDER_TERM_01_ZIP_CODE VARCHAR2(9),
    PROVIDER_TERM_01_PHONE_NUM VARCHAR2(10),
    PROVIDER_TERM_01_TEXT VARCHAR2(250)
    ORGANIZATION EXTERNAL
    ( type oracle_loader
    default directory data_dir
    access parameters
    RECORDS FIXED 510
    FIELDS
    DLN(1:14) char(14),
    PAGE_ID(15:34) char(20) NULLIF PAGE_ID=BLANKS,
    PAGE_SEQ(35:54) char(20) NULLIF PAGE_SEQ=BLANKS,
    PAGE_ROW_NUM(55:74) char(20) NULLIF PAGE_ROW_NUM=BLANKS,
    ROW_NUM(75:94) char(20) NULLIF ROW_NUM=BLANKS,
    IMAGE_FORM_ID(95:114) char(20) NULLIF IMAGE_FORM_ID=BLANKS,
    PROVIDER_TERM_01_NAME(115:149) char(35) NULLIF PROVIDER_TERM_01_NAME=BLANKS,
    PROVIDER_TERM_01_EIN(150:158) char(9) NULLIF PROVIDER_TERM_01_EIN=BLANKS,
    PROVIDER_TERM_01_POSITION(159:183) char(25) NULLIF PROVIDER_TERM_01_POSITION=BLANKS,
    PROVIDER_TERM_01_STR_ADDRESS(184:218) char(35) NULLIF PROVIDER_TERM_01_STR_ADDRESS=BLANKS,
    PROVIDER_TERM_01_CITY(219:238) char(20) NULLIF PROVIDER_TERM_01_CITY=BLANKS,
    PROVIDER_TERM_01_STATE(239:240) char(2) NULLIF PROVIDER_TERM_01_STATE=BLANKS,
    PROVIDER_TERM_01_ZIP_CODE(241:249) char(9) NULLIF PROVIDER_TERM_01_ZIP_CODE=BLANKS,
    PROVIDER_TERM_01_PHONE_NUM(250:259) char(10) NULLIF PROVIDER_TERM_01_PHONE_NUM=BLANKS,
    PROVIDER_TERM_01_TEXT(260:509) char(250) NULLIF PROVIDER_TERM_01_TEXT=BLANKS
    location ('f_dol_sch_c_part2.txt')
    I've tried it with and without the char(*) in the fields section - no change
    thanks

    *** SCRIPT START : Session:GLEN_SELF@RAMBO(8) 8/31/2006 12:16:48 PM ***
    Processing ...
    create or replace directory data_dir as 'c:\dol\'
    create table dol_sch_c_part2
    (DLN NUMBER(14) ,
    PAGE_ID VARCHAR2(20),
    PAGE_SEQ VARCHAR2(20),
    PAGE_ROW_NUM VARCHAR2(20),
    ROW_NUM VARCHAR2(20),
    IMAGE_FORM_ID VARCHAR2(20),
    PROVIDER_TERM_01_NAME VARCHAR2(35),
    PROVIDER_TERM_01_EIN VARCHAR2(9),
    PROVIDER_TERM_01_POSITION VARCHAR2(25),
    PROVIDER_TERM_01_STR_ADDRESS VARCHAR2(35),
    PROVIDER_TERM_01_CITY VARCHAR2(20),
    PROVIDER_TERM_01_STATE VARCHAR2(2),
    PROVIDER_TERM_01_ZIP_CODE VARCHAR2(9),
    PROVIDER_TERM_01_PHONE_NUM VARCHAR2(10),
    PROVIDER_TERM_01_TEXT VARCHAR2(250)
    ORGANIZATION EXTERNAL
    ( type oracle_loader
    default directory data_dir
    logfile 'ext_tab.log'
    access parameters
    RECORDS FIXED 510
    FIELDS
    DLN(1:14),
    PAGE_ID(15:34),
    PAGE_SEQ(35:54),
    PAGE_ROW_NUM(55:74),
    ROW_NUM(75:94),
    IMAGE_FORM_ID(95:114),
    PROVIDER_TERM_01_NAME(115:149),
    PROVIDER_TERM_01_EIN(150:158),
    PROVIDER_TERM_01_POSITION(159:183),
    PROVIDER_TERM_01_STR_ADDRESS(184:218),
    PROVIDER_TERM_01_CITY(219:238),
    PROVIDER_TERM_01_STATE(239:240),
    PROVIDER_TERM_01_ZIP_CODE(241:249),
    PROVIDER_TERM_01_PHONE_NUM(250:259),
    PROVIDER_TERM_01_TEXT(260:509)
    location ('f_dol_sch_c_part2.txt')
    create or replace directory data_dir as 'c:\dol\'
    ORA-01036: illegal variable name/number
    *** Script stopped due to error ***
    *** SCRIPT END : Session:GLEN_SELF@RAMBO(8) 8/31/2006 12:16:49 PM ***

  • Oracle 11G and SqlDataSource: 'ORA-01036: illegal variable name/number'

    [Resolved - http://forums.oracle.com/forums/thread.jspa?messageID=2366331&#2366331]
    I've created a short video to explain my problem with Oracle and SqlDataSource. If you'd rather watch than read, go see the video at http://www.kencox.ca/video/oracelandsqldatasource.html.
    I'm trying to do some extremely simple drag and drop development in Visual Web Developer 2008 with the Oracle 11g database and ODP.NET. According to Oracle, "The data provider can be used with the latest .NET Framework 3.5 version. "
    The SELECT statement works fine, but any attempt to use UPDATE via the SQLDataSource UpdateCommand nets me the infamous 'ORA-01036: illegal variable name/number' error.
    I wouldn't mind using one of my MSDN Support Incidents to have Microsoft take a look at this issue, but I'm not sure the problem is Microsoft's. It seems like Oracle is doing a poor job in its Visual Studio integration.
    Question: Has anyone successfully used an UpdateCommand statement in SQLDataSource against Oracle 11g? If so, let me know!
    Below, you see the entire code as generated in Visual Web Developer 2008. To see it in action, check the video at http://www.kencox.ca/video/oracelandsqldatasource.html.
    Ken
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <title>Untitled Page</title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
    DataSourceID="SqlDataSource1"
    EmptyDataText="There are no data records to display.">
    <Columns>
    <asp:CommandField ShowEditButton="True" />
    <asp:BoundField DataField="ACCOUNTID" HeaderText="ACCOUNTID"
    SortExpression="ACCOUNTID" />
    <asp:BoundField DataField="ACCOUNTNAME" HeaderText="ACCOUNTNAME"
    SortExpression="ACCOUNTNAME" />
    <asp:BoundField DataField="ACCOUNTLOCATION" HeaderText="ACCOUNTLOCATION"
    SortExpression="ACCOUNTLOCATION" />
    <asp:BoundField DataField="ACCOUNTPHONE" HeaderText="ACCOUNTPHONE"
    SortExpression="ACCOUNTPHONE" />
    <asp:BoundField DataField="ACCOUNTCONTACT" HeaderText="ACCOUNTCONTACT"
    SortExpression="ACCOUNTCONTACT" />
    <asp:BoundField DataField="ACCOUNTWEBSITE" HeaderText="ACCOUNTWEBSITE"
    SortExpression="ACCOUNTWEBSITE" />
    </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server"
    ConnectionString="<%$ ConnectionStrings:ConnectionString1 %>"
    ProviderName="<%$ ConnectionStrings:ConnectionString1.ProviderName %>"
    SelectCommand="SELECT "ACCOUNTID", "ACCOUNTNAME", "ACCOUNTLOCATION", "ACCOUNTPHONE", "ACCOUNTCONTACT", "ACCOUNTWEBSITE" FROM "ACCOUNTS""
    UpdateCommand="UPDATE ACCOUNTS SET ACCOUNTLOCATION = 'This Place' WHERE (ACCOUNTID = 4)">
    </asp:SqlDataSource>
    </div>
    </form>
    </body>
    </html>//////////using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    public partial class _Default : System.Web.UI.Page
    protected void Page_Load(object sender, EventArgs e)
    Message was edited by:
    kjopc

    Ken,
    One thing to be aware of is Microsoft has produced Visual Studio database tools and data provider for Oracle. In addition, Oracle has produced its own tools. Knowing which products you are using is important because you want to know which company you should be complaining about. :-)
    In your video, you are using all Microsoft tools and data provider, not Oracle's.
    I would recommend using Oracle Developer Tools (ODT) for VS and ODP.NET since these products are much better integrated with .NET and Oracle.
    ODP.NET uses Oracle.DataAccess.Client namespace. System.Data.OracleClient belongs to the MS provider for Oracle, which Mark pointed out. If you drag and drop DB objects using ODT, it will generate ODP.NET code for you (and give you more data source wizard options as well).
    You can download the latest 11g version of ODP.NET and ODT here:
    http://www.oracle.com/technology/software/tech/windows/odpnet/index.html
    These support .NET 3.5 and VS 2008.

  • Need help with ora-01036  illegal variable name/number

    Can you help me fix the following problem.
    I'm getting an oracle exceptioin while running the following.
    OracleParameter[] myParameters = new OracleParameter[] { new OracleParameter("SELECTEDREGIONS", OracleDbType.RefCursor, ParameterDirection.Output) };
    XmlReader xRdr = oraclehelper.ExecuteXmlReader(myConnection,CommandType.StoredProcedure,"TEST_TESTPACKAGE.TEST_GETREGIONS_SP",myParameters);
    the oracle helper function is
    public XmlReader ExecuteXmlReader(OracleConnection inConnection,
    CommandType inCommandType,
    string inCommandText,
    params OracleParameter[] inCommandParameters)
    //create a command and prepare it for execution
    OracleCommand cmd = new OracleCommand(inCommandText,inConnection);
    cmd.CommandType = inCommandType;
    if (inCommandParameters != null)
    foreach (OracleParameter op in inCommandParameters)
    cmd.Parameters.Add(op);
    cmd.BindByName = true;
    cmd.XmlCommandType = OracleXmlCommandType.Query;
    cmd.XmlQueryProperties.RootTag = "Result";
    cmd.XmlQueryProperties.RowTag = "Row";
    if (cmd.Connection.State != ConnectionState.Open) cmd.Connection.Open();
    XmlReader retval = null;
    //create the DataAdapter & DataSet
    retval = cmd.ExecuteXmlReader();
    // detach the OracleParameters from the command object, so they can be used again.
    cmd.Parameters.Clear();
    return retval;
    The stored proc is:
    CREATE OR REPLACE package GJUTRAS.test_TestPackage AS
    type sregions is REF CURSOR;
    procedure test_GetRegions_sp
    selectedregions out sregions
    procedure test_GetRegByDescrip_sp
    descript in varchar2,
    selectedregions out sregions
    end test_TestPackage;
    CREATE OR REPLACE package body GJUTRAS.test_TestPackage AS
    procedure test_GetRegions_sp
    selectedregions out sregions
    is
    begin
    open selectedregions for
    select * from ods.region;
    end test_GetRegions_sp;
    procedure test_GetRegByDescrip_sp
    descript in varchar2,
    selectedregions out sregions
    is
    begin
    open selectedregions for
    select * from ods.region where description = descript;
    end test_GetRegByDescrip_sp;
    end test_TestPackage;
    /

    The versions of the function that use text "select * from ods.region" work fine. It's using a stored procedure with ExecuteXmlReader that I can't seem to get working. The table is
    CREATE TABLE REGION (
    ID NUMBER(10) NOT NULL,
    CODE VARCHAR2(100 BYTE),
    ABBREV VARCHAR2(100 BYTE),
    NAME VARCHAR2(500 BYTE),
    EXTRA_FIELDS_ID NUMBER(10) NOT NULL,
    ACTIVE_FLAG VARCHAR2(1 BYTE) NOT NULL,
    DESCRIPTION VARCHAR2(4000 BYTE),
    COMMENTS VARCHAR2(4000 BYTE),
    KEYWORDS VARCHAR2(4000 BYTE),
    CHNG_REASON_TYPE_ID NUMBER(10),
    CHNG_REASON_CMNT VARCHAR2(4000 BYTE),
    BEG_DATE DATE NOT NULL,
    BEG_USER_ID NUMBER(10) NOT NULL,
    CREATOR_ID NUMBER(10) NOT NULL,
    CREATION_DATE DATE NOT NULL )

  • Anonymous PL/SQL . Illegal variable Name/number.

    Hi
    I have tested ODP.NET in ASP.NET for upload images. But when read back from DB then save image to local drive. When I tested given sample code working fine. But when I modify code only select statment in PL/SQL it gives error.
    Following statment is the error. Illegal variable Name/number. Pl.
    advice me what need to change.
    Dim block As String = " BEGIN " & _
    " SELECT Ad_Image into :2 from Printmedia WHERE Product_ID = " + ProdID + ";" & _
    " end ;"

    You use bind variables. Great!
    And then you do not use bind variables. Bummer!!
    Why can you make the output from the SQL a bind variable, but you do not supply Product ID as a bind variable? This causes a unique and non-sharable SQL statement in the SQL Shared Pool. Where the emphasis is very obvious - shared SQL.
    The definition should be something like this:
    Dim block As String = "BEGIN SELECT Ad_Image into :1 from Printmedia WHERE Product_ID = :2; END;"But why are you using an anonymous PL/SQL block and a bind variable to get to the image? Deal with it as a cursor. Much easier. E.g.
    Dim cursorSQL As String = "SELECT Ad_Image FROM Printmedia WHERE Product_ID = :1"Open the cursor. And there you have the resulting image column as a result.

  • SP2-0553: Illegal variable name "#25340;音字&#22411"

    hi..
    how to Insert Japanese language in oracle table
    if i'm inserting French it inserted succesfully
    if i'm inserting Japanese i'm getting these error
    ' SP2-0553: Illegal variable name "#25340;&#38899;&#23383;&#22411". '
    my DB setting is
    Character set -> utf-8
    NLS_LANG -> AMERICAN
    NLS_TERRITORY - > AMERICA
    Thanks
    Venkataraman.L

    Hi,
    What tool are you using to insert the data?
    It can be difficult to perform inserts of multi-byte data using SQL*Plus and standard INSERT statements because of character mapping between the OS and SQL*Plus. I've had success with SQL*Loader, perl, and Java.
    Regards,
    Rob

  • DB Link , ORA - 02083: illegal database name character '-'

    Hi,
    I work for an integration company and right now we are putting together an application that is moving a small subset of data from one db to another. I have created a db link to move the data. However, when I try to compile the procedure, that moves the data, into the database, the compile fails and I am given the following error:
    ORA-02083: database name has illegal character ‘-‘.
    The instances I’m developing/testing to are on the same machine, which is a Solaris X86 machine and the Oracle version is 8.1.7.
    Now 2 things. If I do a simple query like the one below using SQL*PLUS, the link works fine.
    Select sysdate
    From dual@<dblink_name>;
    The other thing is the domain name does in fact have a ‘-‘ in it, but I have removed the domain name from everyplace I can thing of from Oracle; i.e. tnsnames, init.ora file, etc.
    Does anyone have any ideas?
    Thanks,
    Roger Christophel

    and set this parameter with its correct value.
    DB_DOMAIN
    Parameter type
    String
    Syntax
    DB_DOMAIN = domain_name
    Default value
    There is no default value.
    Parameter class
    Static
    Range of values
    Any legal string of name components, separated by periods and up to 128 characters long (including the periods). This value cannot be NULL.
    Real Application Clusters
    You must set this parameter for every instance, and multiple instances must have the same value.
    In a distributed database system, DB_DOMAIN specifies the logical location of the database within the network structure. You should set this parameter if this database is or ever will be part of a distributed system. The value consists of the extension components of a global database name, consisting of valid identifiers, separated by periods. Oracle Corporation recommends that you specify DB_DOMAIN as a unique string for all databases in a domain.
    This parameter allows one department to create a database without worrying that it might have the same name as a database created by another department. If one sales department's DB_DOMAIN is JAPAN.ACME.COM, then their SALES database (SALES.JAPAN.ACME.COM) is uniquely distinguished from another database with DB_NAME = SALES but with DB_DOMAIN = US.ACME.COM.
    If you omit the domains from the name of a database link, Oracle expands the name by qualifying the database with the domain of your local database as it currently exists in the data dictionary, and then stores the link name in the data dictionary. The characters valid in a database domain name are: alphanumeric characters, underscore (_), and number sign (#).
    See Also:
    Oracle9i Database Performance Tuning Guide and Reference for more information on setting this parameter
    The data dictionary view "GLOBAL_NAME"
    http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96536/ch142.htm#REFRN10036
    Joel Pérez

  • Parallel Query Error (Ora 12801 Ora-00904)

    when i run this particular query in a report or in SQL it wrks
    but some times it give the error .........
    any one who could help ........ASAP
    SELECT
    D.DISTRIBUTOR_CODE "DIST_CODE",
    D.DISTRIBUTOR_NAME "DIST_NAME",
    O.OPERATOR_CODE "OPER_CODE",
    O.OPERATOR_NAME "OPER_NAME",
    O.ACTIVE_STATUS "Act",
    r.receipt_no "receipt_no",
    r.ch_or_dd_no "cheque",
    r.receipt_date "receipt_date",
    '' "channel Code",
    '' "channel_name",
    b. SUBS_IRD "ird_subs",
    b.amount "amount"
    FROM
    dms_channel_dump z,
    DMS_OPERATOR_MASTER O,
    DMS_DISTRIBUTOR_MAIN D,
    dms_receipt_header r,
    DMS_BIFURCATION b
    WHERE
    b.channel_code = z.channel_code
    and r.OPERATOR_CODE = O.OPERATOR_CODE
    AND r.DISTRIBUTOR_CODE = D.DISTRIBUTOR_CODE
    AND r.receipt_no = b.receiopt_no
    union all
    SELECT
    D.DISTRIBUTOR_CODE "DIST_CODE",
    D.DISTRIBUTOR_NAME "DIST_NAME",
    '' "OPER_CODE",
    '' "OPER_NAME",
    'N' "Act",
    r.receipt_no "receipt_no",
    r.ch_or_dd_no "cheque",
    r.receipt_date "receipt_date",
    b.channel_code "channel Code",
    z.channel_name "channel_name",
    b. SUBS_IRD "ird_subs",
    b.amount "amount"
    FROM
    dms_channel_dump z,
    DMS_OPERATOR_MASTER O,
    DMS_DISTRIBUTOR_MAIN D,
    dms_receipt_header r,
    DMS_BIFURCATION b
    WHERE
    b.channel_code = z.channel_code
    and r.OPERATOR_CODE is null
    AND r.DISTRIBUTOR_CODE = D.DISTRIBUTOR_CODE
    AND r.receipt_no = b.receiopt_no
    order by 4,7
    ERROR:
    ORA-12801: error signaled in parallel query server P004
    ORA-00904: invalid column name
    no rows selecte
    REGARDS AND TIA
    ADOLPH

    If the data never changes, there would be no reason to gather statistics.
    If the data changes, there may or may not be a reason to gather statistics. There is some risk to gathering statistics because that can cause query plans to change and you could find that a query that was working fine yesterday is running very slowly today. Failing to gather statistics, though, can have the same effect-- if a histogram on a column indicates that the maximum value of a date field is December 1, 2006 because you haven't updated statistics in a few days, the CBO may conclude that a query this column with a value of December 4 would return very few row, rather than the many rows that are really there, causing Oracle to use a different query plan. Oracle tends to believe that the latter risk is more of a concern than the former and in 10g regularly and automatically gathers statistics unless you susped that job. Some DBAs disagree with Oracle and prefer less frequent, more controlled statistics gathering.
    If you GATHER AUTO, assuming your tables are set to MONITORING, Oracle gathers statistics on every table that has had more than some cutoff percentage of rows changed since statistics were last gathered. This cutoff is generally pretty reasonable, though ideally you'd probably want to gather statistics more frequently on smaller tables (adding 30 new rows to a 100 row table is probably more significant from a query plan perspective than adding 3 million rows to a 10 million row table) and less frequently on larger tables, more frequently on tables that have volatile data distributions (i.e. our DATE table) and less frequently on tables whose data distribution is relatively constant.
    Justin

  • Error while using the variable name "VARIABLE" in variable substitution

    Hi Experts,
      I am using variable substitution to have my output filename set as a payload field value. It is working fine when I am using the variable name as fname, subs etc but channel goes in error when I am using the variable name as "VARIABLE". This is probably a reserved word but i would like to know where i can find a detailed documentation on this. Say things to note / restrictions while using variable substitution.
    This is the error in the channel:
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Error during variable substitution: java.text.ParseException: Variable 'variable' not found in variable substitution table: com.sap.aii.adapter.file.configuration.DynamicConfigurationException: Error during variable substitution: java.text.ParseException: Variable 'variable' not found in variable substitution table
    Thanks,
    Diya

    Hi Zevik,
    Thanks for the reply. The output file is created correctly by merely changing the variable name to something else and hence the doubt.
    Below is the configuration:
    Variable Substituition
    VARIABLE    payload:interface_dummy,1,Recordset,1,Header,1,field1,1
    Filename schema : TEST_%VARIABLE%.txt
    Output xml structure:
    <?xml version="1.0" encoding="utf-8" ?>
    - <ns:interface_dummy xmlns:ns="http://training.eu.unilever.com">
    - <ns:Recordset xmlns:ns="http://training.eu.unilever.com">
    - <Header>
      <identifier>HDR</identifier>
      <field1>001</field1>
      <field2>001</field2>
      <field3>R</field3>
      </Header>
    - <Detail>
      <identifier>A</identifier>
      <field1>000000002</field1>
      <field2 />
      <field3>Doretha.Walker</field3>
      </Detail>
    I thimk my configuration is correct as it is working correctly with the variable name change, However, maybe i missed something !

  • SQL Statement error - ORA-00903: invalid table name

    Hi
    I have written a sql script that gets executed from a form within e-business suite. Unfortunately, the script is falling over with an error:
    unknown command beginning "MERGE INTO..." - rest of line ignored.
    unknown command beginning "USING edop..." - rest of line ignored.
    unknown command beginning "ON (elw.ro..." - rest of line ignored.
    unknown command beginning "WHEN MATCH..." - rest of line ignored.
    For a list of known commands enter HELP
    and to leave enter EXIT.
          SET ELW.billed_flag          = t.billed_flag,
    ERROR at line 2:
    ORA-00903: invalid table name the actual statement that is causing the issue is:
    MERGE INTO edopaif.table1 elw
    USING edopaif.tablw2 t
    ON (elw.rowid = t.LOAD_WORKING_ROWID)
    WHEN MATCHED THEN
       UPDATE
          SET ELW.billed_flag          = t.billed_flag,
              ELW.last_bill_generated   = t.last_bill_generated,
              ELW.last_bill_type        = t.last_bill_type,
              ELW.load_month            = t.load_month,
              ELW.BILL_TRANSACTION_ID   = t.bill_transaction_id
    WHEN NOT MATCHED THEN
       INSERT(error_meaning)
       VALUES('ROWID error with ins_ptia');The version of e-business suite that we are using is: 11.5.10.2.
    The version of the Oracle database that we are using is:
    Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
    PL/SQL Release 9.2.0.6.0 - Production
    CORE 9.2.0.6.0 Production
    TNS for IBM/AIX RISC System/6000: Version 9.2.0.6.0 - Production
    NLSRTL Version 9.2.0.6.0 - Production
    Please note that I am able to successfully run the statement directly connected as the APPS schema in the database - the error only occurs when the script is run from the forms front-end (which is really confusing me).
    Many thanks
    Paul

    Hi
    I've modified the script to include only the statement that is erroring and it still errors when executed from the front end application.
    Next I re-wrote the statement to use PL/SQL instead of the MERGE statement, to do the update, and the script completes succesfully, i.e.:
    DECLARE
       CURSOR cu_lw IS
             SELECT t.billed_flag,
                    t.last_bill_generated,
                    t.last_bill_type,
                    t.load_month,
                    t.bill_transaction_id,
                    t.load_working_rowid
               FROM table2 t;
    BEGIN
       FOR rec_cu_lw IN cu_lw LOOP
          UPDATE table1 elw
             SET ELW.billed_flag           = rec_cu_lw.billed_flag,
              ELW.last_bill_generated      = rec_cu_lw.last_bill_generated,
              ELW.last_bill_type           = rec_cu_lw.last_bill_type,
              ELW.load_month               = rec_cu_lw.load_month,
              ELW.BILL_TRANSACTION_ID      = rec_cu_lw.bill_transaction_id
          WHERE elw.rowid                  = rec_cu_lw.load_working_rowid;
       END LOOP;
    END;
    /I am still unsure as to why the MERGE statement is failing when executed in the front end, but completes in the backend with no issues at all. Obviously I would prefer to use the MERGE statement instead of PL/SQL to do the update.
    Thanks
    Paul

  • Reconciliation error: ORA-00903: invalid table name

    I am facing this error, below:
    SELECT * FROM WHERE ORC_KEY = ? AND UD_RES_P_KEY = ?: java.sql.SQLSyntaxErrorException: ORA-00903: invalid table name
    Is it a product issue from OIM 9.1.0.2?
    best regards,
    Robert

    No, it is not a product issue. Please go to the process definition tab related and
    set all Multivalued attribute as a key field in Reconciliation mapping in Process definition.
    Let me know the result, please.
    hope this helps,
    Thiago L Guimaraes

  • Default Errors= ORA-00904: invalid column name

    Hi,
    I nto expert in plsql , whenever i'm trying to run procedure or function mostly i got this same error and even i didn't view the error using
    show errors ,
    show errors procedure|function name
    CREATE OR REPLACE PROCEDURE SEND_MAIL (
    ERROR at line 1:
    ORA-00604: error occurred at recursive SQL level 1
    ORA-20000: ORA-00904: invalid column name
    ORA-06512: at line 13
    plz explain why this error often display
    regards
    venki

    Hi,
    unless just give me a suitable thread, please...

  • Error: Cannot find symbol: Variable Name

    Hi Guys,
    I'm having some trouble with a piece of code. The error that I'm getting is:
    program.java:17: cannot find symbol
    symbol : variable name
    location: class program
    name.CTI(names[0].charAt(0));
    ^
    My Code is shown here:
    import java.io.*;
    import java.lang.*;
    class program{
         public static void main(String[] args){
              String names [] = {"brian", "stu", "mouse"};
              program name = new program ();
              name.sortArrayStr(names);
              //name.CTI(names[0].charAt(0));
         public void sortArrayStr( String[] names ){
              name.CTI(names[0].charAt(0));
         public int CTI ( char letter ){
              char c = letter;
            int k = (int) c;
            System.out.println("ASCII  = "  + k + ".");
              return k;
    }What I'm trying to do is get the name.CTI method caled from within sortArrayStr. When i call name.CTI from main it works fine, (commented part) but when i try from sortArrayStr I get this problem.
    Anyone have any ideas?
    Many Thanks

    Variable name is a local variable defined in method main, so it can not be referenced by writing name in another method like sortArrayStr.
    The good news is, if you want to call CTI from sortArrayStr, just do it:
    public void sortArrayStr( String[] names ){
        CTI(names[0].charAt(0));
    }

  • Error when rendering illegal file name

    I appreciate any help. I am trying to finish a video and I have three clips in the video sequence that won't render. The message I get is "illegal file name, unable to render". I tried renaming the clip; saving the project under a different name; replacing the clip; overwriting the clip; shutting down the program; shutting down the computer. I have searched the manual and the discussion forums and have not been able to figure this out.
    This is not the first video I've edited - am using final cut express.. iMAC WITH OS -X 10.6.1
    Again, appreciate any assistance. Renee

    Thank you all for helping me with this! I am using FCE 4.0.1 IMAC 24" 3.06SD/ intel core 2 DUO Machine is only 2 months old/ came with all software preinstalled. Video is taken on JVC Everio in MOD format and converted to MOV by Iverio convertmod program (which I installed). The video file permission is "you can read and write". The file itself is one clip - it is from the funeral service from my Mom's funeral and all I wanted to do is take out some of the dead space/ insert some video transistions/ and burn the video for relatives that were unable to attend. I am wondering if it has something to do with the fact that it is one clip that I have spliced into several clips. The file name is 2009-07-14 09h16mn16s.MOV When I rendered most of the clips that I spliced and added the transistions to, they rendered fine, but the last three spliced clips keep giving me the error reading "file error ..illegal name" When I try renaming just that spliced clip - it changes the name on all the clips in the timeline (including the previous rendered clips. I know I'm probably not thinking as clearly being that this video is a bit more emotional to me than the others I've worked with, but other than the fact that it is my mom's funeral - the only other difference is in the other video's I've done - each clip has a specific name (and maybe are 5-7 minutes long - and not just one long 52 minute clip that I'm splicing)
    Again, I appreciate any help - I'm about ready to scrap the whole thing and start from the beginning -
    Renee

  • Alias problem in query error: ORA-00923

    Hi,
    While using alias for query as below I am getting the below error:
    ORA-00923: FROM keyword not found where expected
    Select (b.forecast_value * a.Spec_P90_cpuutil) as "ForecastSPECCPU" ||',' ||a.Spec_P90_cpuutil as "alias" FROM SM_System_Capacity a ,R_CustomerForecast b ,K_SystemCapacity d where TO_CHAR(a.ta_period,'YYYY-MM-DD') = '2007-11-01' and b.ta_period IS NOT NULL and a.target_name = d.dsi_target_name and a.target_name = 'xxxx';
    "Select a.dsi_target_name ,a.dsi_table_key ,b.ta_period ,b.AVGAVGcpuutil, b.AVGAVGmemutil, b.AVGMAXcpuutil, b.P90AVGmemutil, (b.AVGAVGcpuutil * a.power_rating_value / 100) SPEC_Cpu_Util, (b.AVGMAXcpuutil* a.power_rating_value / 100) SPEC90_Cpu_Util,a.cpu, a.mhz, a.ram,a.os,a.applicationcomp,a.systemcomp,a.dsi_table_key,a.power_rating_value,(a.power_rating_value *80/ 100) System_Threshold,a.power_rating_value Business_Threshold, b.dsi_key_id_ from K_SystemCapacity a,SM_Systemtest b where a.dsikey = b.dsi_key_id_";
    The full query is as above on which I used the || operator and got the same error, so I tried in parts which is also not working.
    Please let me know how can I use alias for such queries.
    Thanks,
    Arun

    you cannot concatenate aliased columns together
    Select (b.forecast_value * a.Spec_P90_cpuutil) as "ForecastSPECCPU" ||',' ||a.Spec_P90_cpuutil as "alias"
    you can select two columns
    Select (b.forecast_value * a.Spec_P90_cpuutil) as "ForecastSPECCPU", a.Spec_P90_cpuutil as "alias"
    or concat them, and then alias
    Select (b.forecast_value * a.Spec_P90_cpuutil) ||',' ||a.Spec_P90_cpuutil as "alias"

Maybe you are looking for