Odd Variable Substitution Error in SQL Query

I'm trying to finish up an application but one goofy error is
throwing me for a loop. The error complains about my SQL syntax on
the line containing "#filelist_sql#" near the bottom of the query,
but when I output the SQL and run it in phpMyAdmin, it works fine.
Thanks in advance for any help provided. I think I've just
been looking at this way too long.
Code follows:

Thanks for the quick assistance, Azadi. I am finding the same
bit of strangeness occurring just a bit earlier in my code.
The application complains about the SQL syntax near
"#grouplist_sql#" in the attached code.
After the code gets processed (using '11' for
sql_find_lists.id), the SQL looks like:
SELECT DISTINCT file_id FROM grouplists_to_files WHERE
grouplist_ids = '11' OR grouplist_ids LIKE '11,%' OR grouplist_ids
LIKE '%,11' OR grouplist_ids LIKE '%,11,%'
Hopefully someone can spot something else brilliantly obvious
that is wrong here.

Similar Messages

  • How to replace variable value of a sql query dynamically

    Hi all,
    Trying to execute sql queries present in Oracle table and the query it self contains the ODI variable #EMP_NO.
    At the run time we thought of passing the variable values.
    table contains query like
    update table <table name> set <column name>= 5000 where emp_no = #EMP_NO
    We need to execute the sql query using a ODI procedure, to pick the sql query from table we use another variable #varSQLID and in the command on source tab wrote like
    select sql_query varSQL from emp_sql where query_id=#varSQLID
    Command on target
    #varSQL
    when ever I tried to execute I am getting error please let me know what changes are required .
    The question is whether it's possible to replace the variable value present in the above sql ?
    regards,
    Palash Chatterjee

    Thanks Siddhartha,
    Actually we have been doing the same, means half of the query has been kept in the table and rest is being added in the " command on source " tab of the procedure .
    But the problem is , the "where" condition is not same for all SQL queries,
    to provide 27 different sqls queries for 27 packages we have to create 27 procedures (as "where" condition may take other column values along with "EMPNO" for the JOIN condition ) .
    Any suggestion of keeing SQL along with the variable and storing it in the table may resolve our problem and work of 27 procedures can be performed by a single procedure .
    regards,
    Palash Chatterjee

  • Variable substitution error

    Hello All,
    Below is my source structure:
    <Messages>
       <Message1>
           <MT_BILL>    (0...*)
              <RECORD> (1....*)
                 <FILENAME>  (1...1)
    If using variable substitution for the filed FILE NAME which is in the source structure.
    This is the declaration I used in channel:
    payload:MT_BILL,0,RECORD,1,FILENAME,1
    But i am getting this error in channel monitoring
    DynamicConfigurationException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: var
    Can anyone help me here
    Regards,
    Moorthy

    Hi Dasika,
    In variable substitution we use the receiver message type path.
    Please map the required source field to any of the field at the reeiver side and use variable substitution.
    For 1:N muti-mapping with variable substition go through the below links:
    Re: 1: N File Scenario..
    Using Variable Substitution
    Regards,
    Pranav

  • 'Variable Substitution' error - Expected numeric element index

    Hello everyone!
    I'm using the 'variable substitution' property in XI to replace the filename of the output file to a value in the message payload.
    Here are the parameters I provided:
    File Name Scheme: %filename%.xml
    Variable Name: filename
    Reference: payload:ORDERS05,1,recordset,1,IDOC,1,E1EDK02,BELNR,1
    I'm getting this error in the adapter engine:
    Caught exception while initializing variable substitution engine: Cannot parse pseudo-path for variable substitution: 'filename': Expected numeric element index, got 'BELNR': For input string: "BELNR"
    Can anyone tell me what this means, and how I can fix this problem?
    Thanks in advance!
    Glenn

    Yup, raj! it's IDOC to file.... I did what you asked but I'm now getting this error:
    MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: The Adapter Message Property 'FileName' was configured as mandatory element, but there is no 'DynamicConfiguration' element in the XI Message header: com.sap.aii.adapter.file.configuration.DynamicConfigurationException: The Adapter Message Property 'FileName' was configured as mandatory element, but there is no 'DynamicConfiguration' element in the XI Message header
    any idea what it means?
    Kind regards,
    Glenn

  • Variable substitution error in Prod- Urgent

    Hi Friends
    I transported my objects from dev to production and one of my scenario started giving this error .
    Please guide
    Delivery of the message to the application using connection File_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: store: com.sap.aii.adapter.file.configuration.DynamicConfigurationException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: store.

    this error is beacuse the variable substution which is specified in the rceiver file adapter is failling....
    ROOT cause:
    goto the receiver file adapter of the interface you have moved into PRD...you will c the filename somethinglike this
    %var%.txt...below you will c a variabel substuition screen
    var payload:..........
    check the foeld which is refering from the target strcuutre...the data is not coming into this field of variable substuition...so it is thorwoing this error.....
    this is considering the variable substution path is right? i belive it is right since you haev omved this to PRD from Devlopment...if this was working in development...check the data is coming in that field.
    wehen you did a tranposrt into PRD you went to the change list did u edit the rceiver adapter mandatory fields according to the PRD envinorment? dd u also make sure the variabel substution is not touched when you did this?

  • Error in SQL Query The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator. for the query

    hi Experts,
    while running SQL Query i am getting an error as
    The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator. for the query
    select  T1. Dscription,T1.docEntry,T1.Quantity,T1.Price ,
    T2.LineText
    from OQUT T0  INNER JOIN QUT1 T1 ON T0.DocEntry = T1.DocEntry INNER JOIN
    QUT10 T2 ON T1.DocEntry = T2.DocEntry where T1.DocEntry='590'
    group by  T1. Dscription,T1.docEntry,T1.Quantity,T1.Price
    ,T2.LineText
    how to resolve the issue

    Dear Meghanath,
    Please use the following query, Hope your purpose will serve.
    select  T1. Dscription,T1.docEntry,T1.Quantity,T1.Price ,
    CAST(T2.LineText as nvarchar (MAX))[LineText]
    from OQUT T0  INNER JOIN QUT1 T1 ON T0.DocEntry = T1.DocEntry LEFT OUTER JOIN
    QUT10 T2 ON T1.DocEntry = T2.DocEntry --where T1.DocEntry='590'
    group by  T1. Dscription,T1.docEntry,T1.Quantity,T1.Price
    ,CAST(T2.LineText as nvarchar (MAX))
    Regards,
    Amit

  • SFTP Variable substitution error.

    Hi,
    my scenario is file to sftp fcc.
    I have successfully configured the modules and able to put the ouput fcc file inthe target sftp directory,
    But when implementing variable substitution i am facing issues getting error as
    Error: com.aedaptive.sftp.adapter.exception.VariableSubstitutionException : Error during variable substitution: the following variable was not found in the message payload: var1
    This is the input file:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:M_SFTP_FCC xmlns:ns0="http://xyz.com/pisandbox/testudf">
       <Detailed>
          <MFG_Name>XYZ</MFG_Name>
          <Model_Number>1234</Model_Number>
       </Detailed>
       <Header>
          <Order_No>345</Order_No>
          <Date_of_File>12122012</Date_of_File>
       </Header>
    </ns0:M_SFTP_FCC>
    Variable substitution decleration was:
    var1     payload:M_SFTP_FCC,1,Detailed,1,Model_Number,1
    i need to use the Model_NUmber.
    getting followng error in Comm channel monitoring --> Audit Log
    Unable to write message into file. com.aedaptive.sftp.adapter.exception.VariableSubstitutionException: Error during variable substitution: the following variable was not found in the message payload: var1
    Unable to find where the error is when i configured through file adapter its working fine.
    Thanks,
    --Kishore.

    HI,
    your variable declartion is perfect, can you please check the below points,
       1.To specify variables in the target directory and file name scheme, they must be enclosed by % characters.
       2.variable name is case sensitive, can you give only lower case instead of giving upper case.
       3. Model_Number is giving same as per the message type.
    Please look below link.
    SAP NetWeaver XI: Variable Substitution with Adapter-Specific Message Attributes via DynamicConfigurationBean
    http://wiki.sdn.sap.com/wiki/display/XI/CombiningthreedifferentaspectsofPIinoneshot
    An interesting usage of Variable Substitution in XI
    regards,
    ganesh.
    Edited by: ganesh.nijampudi on Dec 7, 2011 4:51 AM

  • Variable substitution error while using Seeburger module parameter

    Hi Freinds,
    I would like to use the variable substitution in a receiver file adapter to add the invoice no.
    (which is contained in the XML file) to the target filename.
    In addition I have to convert the XML file to an X12 EDI format using the seeburger module "localejbs/CallBicXIRaBean".
    As soon as this entry is made in the modules the following error message occurs:
    "com.sap.aii.adapter.file.configuration.DynamicConfigurationException:
    Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException:
    Caught SAXException while parsing XML payload: Fatal Error: com.sap.engine.lib.xml.parser.ParserException:
    XMLParser: No data allowed here: (hex) 53, 4f, 48(:main:, row:1, col:3)"
    My problem is that the conversion from XML to X12 EDI is done before the variable substitution is started.
    That`s why the reference for the variable is no longer valid as the file is already converted to a X12 EDI (=flatfile) format.
    If I disable one of the two steps (either 1:1-mapping or variable substitution) the other step runs properly.
    Has anybody an idea how to solve this topic?
    Is it possible to specify the variable substitution as module?
    If this is possible I could solve it by just reordering the two steps in the module chain.
    Regards
    Venkatesh

    Use Dynamic Configuration Bean to set this value. You have to use this well before "localejbs/CallBicXIRaBean".
    Check SAP note : 974481 for more information.
    Blog: [/people/jin.shin/blog/2007/04/27/sap-netweaver-xi-variable-substitution-with-adapter-specific-message-attributes-via-dynamicconfigurationbean|/people/jin.shin/blog/2007/04/27/sap-netweaver-xi-variable-substitution-with-adapter-specific-message-attributes-via-dynamicconfigurationbean]
    Second Approach if the above approach doesnt work.
    Use Dynamic Configuration concept in UDF to set the filename under message Mapping.
    Thanks,
    - Gujjeti.
    Edited by: Praveen Gujjeti on Feb 25, 2009 11:25 AM

  • ERROR: Updatable SQL Query already exists on page 20.

    Hello,
    I created a tabular form, then added a where clause and started getting the following error:
    Error in mru internal routine: ORA-20001: no data found in tabular form
    So I deleted all components of the tabular form (region, buttons, branches and process) and started building it again from scratch. This is a strategy that has worked for me a number of times in HTML DB. Unfortunately now I get the following error when trying to build a new tabular form:
    Updatable SQL Query already exists on page 20.You can only add one updatable SQL query per page. Select a different page.
    What is the logic that throws this error. I'm 99% convinced I've cleared the page of any updatable SQL, is there something on the application level I should also clear out?
    Thanks!

    Ignore this, problem solved. It seems I do have SQL reports that are marked as updatable even though they are just plain reports.
    Sorry.

  • Error in SQl Query - SQl Command not properly ended

    Hi All
    I have this SQL query that returns the following error when I run it in TOAD:
    SELECT
    VC.CAMPAIGN_NUMBER,VC.CAMPAIGN_TITLE,VC.CAMPAIGN_DESC,
    VCV.START_DATE, VCV.END_DATE,VC.CAMPAIGN_TYPE,VC.APPLICABILITY,
    VC.CAMPAIGN_PRIORITY
         FROM
         VM_CAMPAIGN_VIN VCV ,VM_CAMPAIGN VC
         WHERE
              VCV.VIN = 'US'
              AND
    VCV.CAMPAIGN_NUMBER = VC.CAMPAIGN_NUMBER AND VC.COUNTRY_CODE = 'E'
              AND VC.LANGUAGE_CODE = 'L' AND VC.CAMPAIGN_TYPE = null
    AND SYSDATE BETWEEN VCV.START_DATE AND VCV.END_DATE
    AND SYSDATE BETWEEN VC.START_DATE AND VC.END_DATE)
    A ORDER BY A.CAMPAIGN_PRIORITY DESC, A.END_DATE
    The error is:
    SQl Command not properly ended
    Any help is highly appreciated. Thanks

    Thanks a lot to everyone. It helped me run the query without any problem. Now I have another issue. This may not be the right place to post this question, I think.My apologies for that. The problem is, Weblogic posts an error as follows:
    java.sql.SQLException: ORA-00923: FROM keyword not found where expected
    I am wondering if this is an Java related error or an SQL related error.
    Well, I am using the SQL Statement which you helped debug, and it is inside something called "XXSQLConstants.java consisting of the following SQL statement:
    public static final String XX_ALL_CAMPS_SELECT = "SELECT * FROM" +
         "(SELECT vc.campaign_number, vc.campaign_title, vc.campaign_desc, vc.start_date," +
         "vc.end_date, vc.campaign_type, vc.applicability, vc.campaign_priority" +
    "FROM vm_campaign vc" +
    "WHERE vc.applicability = 'Y'" +
    "AND vc.country_code = ? " +
    "AND vc.language_code = ? " +
    "AND vc.campaign_type = ? "+
    "AND SYSDATE BETWEEN vc.start_date AND vc.end_date" +
    "AND NOT EXISTS (" +
    "SELECT 'X'" +
    "FROM vm_campaign_vin vcv" +
    "WHERE (vcv.vin = ? " +
    "AND vcv.campaign_number = vc.campaign_number" +
    "))" +
         "UNION" +
         "SELECT vc.campaign_number, vc.campaign_title, vc.campaign_desc," +
         "vcv.start_date, vcv.end_date, vc.campaign_type, vc.applicability," +
    "vc.campaign_priority" +
    "FROM vm_campaign_vin vcv, vm_campaign vc" +
    "WHERE vcv.vin = ? " +
    "AND vcv.campaign_number = vc.campaign_number" +
    "AND vc.country_code = ? " +
    "AND vc.language_code = ? " +
    "AND vc.campaign_type IS NULL" +
    "AND SYSDATE BETWEEN vcv.start_date AND vcv.end_date" +
    "AND SYSDATE BETWEEN vc.start_date AND vc.end_date)";
    The SQl runs fine when tested (well, it does not return any data for the rows returned, but there are no errors), but in my application server I get the following error (pointing out the same SQL code pasted above:
    java.sql.SQLException: ORA-00923: FROM keyword not found where expected
    Any suggestions? Thanks in advance. I appreciate all replies

  • Can I declare variables in Reports from SQL Query

    Hi
    I have a Report from SQL Query published as a portlet on a page among other reports. In the query report I am using the fuction WWCTX_API.GET_USER at quite a few places to filter the data returned to the user. Can I assingn the user id to a variable at some level & replace the fuction WWCTX_API.GET_USER with the variable in all the places.
    For eg:
    usr varchar2(25);
    usr:= PORTAL30.WWCTX_API.GET_USER;
    select USER_ID, USER_LVL, BUSINESS_ID, BRANCH_ID from crs_user where user_id=usr;
    can i declare variable and assign the value like the above at any level(Report or Page Level) to the acces the variale in queries.
    Thanks in advance

    I have found that you can't use a * in a dynamic page.
    Try this:
    <ORACLE>
    DECLARE
    usr varchar2(25):=PORTAL30.WWCTX_API.GET_USER;
    BEGIN
    for c in
    (SELECT <column_name> <alias> FROM PORTALWORK.CRS_USER WHERE USER_ID=usr)
    Loop
    htp.p(c.<alias>);
    END;
    </ORACLE>
    You can also add table tags for column formating:
    <table>
    <tr><td>column 1</td></tr><tr><td nowrap>
    <ORACLE>
    DECLARE
    usr varchar2(25):=PORTAL30.WWCTX_API.GET_USER;
    BEGIN
    for c in
    (SELECT <column_name> <alias> FROM PORTALWORK.CRS_USER WHERE USER_ID=usr)
    Loop
    htp.p(c.<alias>);
    END;
    </ORACLE>
    </td></tr></table>
    Martin

  • Communication channel - Variable Substitution error,.

    Hi,
    I am having the following mesage type used in messag emapping as a target structure
    mt_data
       -> Variable1
    I am having a validation on mt_data node in message mapping for generating it, if condition is satisfied mt_data will be generetaed. Under mt_data i am having a variable. This variable is getting populated with some data using normal source to target mapping.
    I am using this variable in my communication channel as a variable substitution, and is used to replace file name.
    The issue I am facing is, when the mt_data fails to get generated (valid reason, since validation to generate it failed), communciation channel in RWB fails saying variable for substitution not found.
    Kindly advice.
    Thanks,
    Mudita

    The issue I am facing is, when the mt_data fails to get generated (valid reason, since validation to generate it failed), communciation channel in RWB fails saying variable for substitution not found.
    1) make a check on the variable in receiver determination itself...so that if fails then the message stops in Receiver determination itself....why to take it forward till channel and then fail.
    2) Make use of some constant term to fill the variable in the mapping if the validation fails.....this will help to put value in the variable even when the validation fails and the message does not fail in channel...filename created.
    You need to check with the functional people on how they want the message prcessing to occur when the variable cannot be created by the mapping logic.
    Regards,
    Abhishek.

  • Using a Variable to create the SQL Query

    I need to create a "dynamic" Update query. I want to store
    the meet of the command in a variable and then reference the
    variable in in query.
    Example:
    <cfquery name="fred" datasource="mydb">
    update db_table_name set
    pbname = 'Fred Flintstone',
    pbnumber = '555-555-1234'
    pbage = 25
    where recnum = 24
    </cfquery>
    I would like use code this:
    <cfset upst = "pbname = 'Fred Flintstone', pbnumber =
    '555-555-1234', pbage = 25">
    <cfquery name="fred" datasource="mydb">
    update db_table_name set
    #upst#
    where recnum = 24
    </cfquery>
    When I run this, I get the following error message:
    Macromedia][SequeLink JDBC Driver][ODBC
    Socket][Microsoft][ODBC Microsoft Access Driver] Syntax error
    (missing operator) in query expression ''Fred Flintstone''.
    The SQL line is:
    update db_table_name set pbname = ''Fred Flintstone'',
    pbnumber = ''555-555-1234'', pbage = 25 where recnum = 24
    I know its hard to see, but the '' are 2 ' not 1 " . I have
    no idea why Coldfusion (or maybe the ODBC driver??) is placing the
    2nd ' in the command which causes the errors.
    Can anyone shed some light on this topic?
    While this is a simple example, my application is far more
    complex. I have over 50 fields in the udpate and depending on
    changes to the form values, I may need to update all the fields,
    some of the fields or NONE of the fields.
    I can use <cfif> to test if any fields have changed and
    if so, include them in the update command, but if NONE of the
    fields have changed, I would have an empty update command and
    therefore get an error. I want to avoid having to test for changes
    twice (once to determine if I am doing the update and twice to
    perform the update).
    Thanks,
    Mike.

    cf automatically escapes the single quotes, so you need to
    preserve them
    <cfquery name="fred" datasource="mydb">
    update db_table_name set
    #PreserveSingleQuotes(upst)#
    where recnum = 24
    </cfquery>
    Ken

  • Unit Test Variable Substitution in PL/SQL User Vailidation code not running

    Hi
    I am using new Unit Test Feature in SQL Developer 2.1.0.62.
    I have created a test implemented to test a function. The function has a VARCHAR2 parameter as input and returns a BINARY_INTEGER.
    I would like to perform 'Process Validation instead of specifying an explicit 'Result'. The check box 'Test Result' is unchecked.
    I have seen in the doc. that I can use substitution variables in my user defined PL/SQL code. I try
    IF {RETURNS$} < 0
    THEN ...
    but I always get the error
    ERROR
    <RETURN> : Expected: [Any value because apply check was cleared], Received: [-103]
    Validation User PL/Sql Code failed: Non supported SQL92 token at position: 181: RETURNS$
    Obviously, the program doesn't recognize {RETURN$}.
    Am I missing something?
    br
    Reiner

    Hi all,
    I have installed the latest version of SQL Developer (2.1.1) that fixed the problem - must have been a bug.
    The only problem was that I got an ORA-904 TEST_USER_NAME... error. I export my tests, dropped the repository, created a new one and reimported everything. Now it works as it should.
    br
    Reiner

  • Error in SQL query

    I am using the following query to find out the table and column which contain the data '18947567' in any of the column in the whole database.I am gicing some filter condition with the table starting with 'FRI' and with column data type with 'NUMBER' and schema 'FRI' .It is working fine for some schema and tables and this query is giving correct results.But when trying for someother schema it is giving the following errors.
    select distinct table_name
    ,substr (t.column_value.getstringval (), 1, 50) "Column/Value"
    from all_tab_cols,
    table
    (xmlsequence
    (dbms_xmlgen.getxmltype ('select '||column_name
    ||' from '||table_name
    ||' where upper('||column_name||')=''18947567'''
    ).extract('ROWSET/ROW/*'))
    ) t
    where table_name like '%FRI_%'
    and data_type = 'NUMBER'
    and OWNER = 'FRI'
    order by 1
    ORA-19206 AND ORA-06512
    Please help me to solve this error and run the above query.
    Edited by: user10341395 on Jan 18, 2009 10:36 AM
    Edited by: user10341395 on Jan 18, 2009 10:39 AM

    you can post your version?
    SQL> select * from v$version;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
    PL/SQL Release 10.2.0.1.0 - Production
    CORE    10.2.0.1.0      Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    SQL> select distinct table_name
      2  ,substr (t.column_value.getstringval (), 1, 50) "Column/Value"
      3  from all_tab_cols,
      4  table
      5  (xmlsequence
      6  (dbms_xmlgen.getxmltype ('select '||column_name
      7  ||' from '||table_name
      8  ||' where upper('||column_name||')=''18947567'''
      9  ).extract('ROWSET/ROW/*'))
    10  ) t
    11  where table_name like '%FRI_%'
    12  and data_type = 'NUMBER'
    13  and OWNER = 'FRI'
    14  order by 1
    15  /
    no rows selected
    SQL>

Maybe you are looking for