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 ChatterjeeThanks 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 -
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,
MoorthyHi 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!
GlennYup, 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? -
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 issueDear 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
VenkateshUse 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. ThanksThanks 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 advanceI 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,
MuditaThe 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
ReinerHi 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 -
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 AMyou 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
-
I'm editing iPhone app video for posting as the first screen in the Apple app store. Required size for the video is 750:1334, 9:16. I there a way to setup the initial video in portrait mode? Many posts for how to rotate a specific clip, but I need th
-
Cannot preview attachments using Office Web App Server 2013 ( Preview )
Got a lab environment to test Office Web App Server integration with Exchange 2013 i have followed the instructions given here http://technet.microsoft.com/en-US/jj219455 http://technet.microsoft.com/library/2591b1be-92c4-4192-9f5e-e4e6b319170a After
-
Maven project "src" directory not visible in Application Navigator
JDeveloper 11g Release 2 (11.1.2.1.0) First-time user I built a Maven application containing two Maven projects in JDeveloper but am unable to see the "src" directory in the Application Navigator. When I attempt to create this directory the tool tell
-
I TRY 40 TIMES TO DOWNLOAD-INSTALL IN MY INTERNET EXPLORER 7,64-BIT- ADOBE FLASH PLAYER- no time it was ok...all time fail...MILION SOLUTION IN INTERNET- NOTHING WORK- SO...WHAT SHALL I DO? WHEN I TRY TO DOWNLOAD, NO SEE ASKING FOR
-
How can I recover my Emails and Sent Items for an Accountthat was wiped from my computer?
I had to complete a system restore as my computer failed. This resulted in my account being wiped from the computer, alomg with any files relating to it. I have consequently downloaded Thurderbird again and reinputted my details, whih has resulted in