Focal Point Banner


As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only. Moving forward, myibi is our community platform to learn, share, and collaborate. We have the same Focal Point forum categories in myibi, so you can continue to have all new conversations there. If you need access to myibi, contact us at myibi@ibi.com and provide your corporate email address, company, and name.


Connect to myibi
Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     [SOLVED] How to run a SQL query with @var?

Read-Only Read-Only Topic
Go
Search
Notify
Tools
[SOLVED] How to run a SQL query with @var?
 Login/Join
 
Guru
posted
Hi,
Can anyone help me how to run a SQL query with @var?


-SET &ECHO=ALL;


-****************************************
-* SET SQLMSS ENGINE TO RUN SQL QUERIES
-* THE RESULTS IN BE ON HOLD: HDSR
-****************************************

ENGINE SQLMSS SET DEFAULT_CONNECTION VESIR21815
SQL SQLMSS PREPARE HDSR FOR
-*****************
-* QUERY DSR
-*****************


DECLARE @LAST_MONTH VARCHAR(6)
SET @LAST_MONTH = (SELECT TOP 1 LEFT(CONVERT(VARCHAR(8),RENAVAM.SRSD28_RENAVAM_Y,112),6) AS 'YEARMONTH'
FROM MSRSD28_RENAVAM RENAVAM WHERE RENAVAM.SRSD28_RENAVAM_Y >= '2015-04-01' AND RENAVAM.SRSD28_RENAVAM_Y <= '2015-05-05'
ORDER BY LEFT(CONVERT(VARCHAR(8),RENAVAM.SRSD28_RENAVAM_Y,112),6))

END


TABLE FILE HDSR
PRINT *
END

Error:
0 ERROR AT OR NEAR LINE 26 IN PROCEDURE ADHOCRQ FOCEXEC *
(FOC205) THE DESCRIPTION CANNOT BE FOUND FOR FILE NAMED: HDSR
BYPASSING TO END OF COMMAND


I am able to run it as:
ENGINE SQLMSS SET DEFAULT_CONNECTION VESIR21815
SQL SQLMSS PREPARE HDSR FOR
-*****************
-* QUERY DSR
-*****************


SELECT TOP 1 LEFT(CONVERT(VARCHAR(8),RENAVAM.SRSD28_RENAVAM_Y,112),6) AS 'YEARMONTH'
FROM MSRSD28_RENAVAM RENAVAM WHERE RENAVAM.SRSD28_RENAVAM_Y >= '2015-04-01' AND RENAVAM.SRSD28_RENAVAM_Y <= '2015-05-05'
ORDER BY LEFT(CONVERT(VARCHAR(8),RENAVAM.SRSD28_RENAVAM_Y,112),6)

END

This message has been edited. Last edited by: Ricardo Augusto,


WebFOCUS 8.1.05 / APP Studio
 
Posts: 272 | Location: Brazil | Registered: October 31, 2006Report This Post
Member
posted Hide Post
Not an expert, but could you do something like this instead??

 
-SET &ECHO=ALL;

-SET &LAST_MONTH = 'SELECT TOP 1 LEFT(CONVERT(VARCHAR(8),RENAVAM.SRSD28_RENAVAM_Y,112),6) AS "YEARMONTH" FROM MSRSD28_RENAVAM RENAVAM WHERE RENAVAM.SRSD28_RENAVAM_Y >= ''2015-04-01'' AND RENAVAM.SRSD28_RENAVAM_Y <= ''2015-05-05'' ORDER BY LEFT(CONVERT(VARCHAR(8),RENAVAM.SRSD28_RENAVAM_Y,112),6)';

-****************************************
-* SET SQLMSS ENGINE TO RUN SQL QUERIES
-* THE RESULTS IN BE ON HOLD: HDSR
-****************************************

ENGINE SQLMSS SET DEFAULT_CONNECTION VESIR21815
SQL SQLMSS PREPARE HDSR FOR
-*****************
-* QUERY DSR
-*****************


&LAST_MONTH.EVAL
;
END


TABLE FILE HDSR
PRINT *
END


Not sure about the double quotes around the YEARMONTH column name. We use Teradata, not MSSQL, but it works there.

Patrick


WebFocus 8.2.03, UNIX, HTML, Excel, PDF, CSV, Teradata DB
 
Posts: 3 | Registered: June 18, 2015Report This Post
Guru
posted Hide Post
It worked Patrick. Thanks!


I also got it creating a Stored Procedure then accessing it from WebFOCUS.

See ya.


WebFOCUS 8.1.05 / APP Studio
 
Posts: 272 | Location: Brazil | Registered: October 31, 2006Report This Post
  Powered by Social Strata  

Read-Only Read-Only Topic

Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     [SOLVED] How to run a SQL query with @var?

Copyright © 1996-2020 Information Builders