× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Hi Niels,

Although I like the nicer look, it's not working. First, the v_LPSEQUENCE and v_LPSERVER variables are no longer defined, so I dropped the v_ prefix.

Then, "trim(LPSERVER)" triggered "[SQL0206] Column or global variable LPSERVER not found." This error resolved when I substituted an actual server name, e.g. 'FROM APZ01B3.qsys2.asp_info ...'.

Then, I started getting "[SQL0206] Column or global variable not found." (Note: 2 blanks between 'variable' and 'not'.) So, I changed
(SELECT LPSEQUENCE as Seq, LPSERVER as Server, ...
to use literals:
(SELECT 1 as Seq, ''DanTest'' as Server, ...
and that "worked", as in, it didn't throw an error, and it inserted 60 rows into qtemp/WRKASP. (LPARS has 30 records and APZ01B3 has two ASPs.)

Dan Bale

-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Niels Liisberg
Sent: Tuesday, May 14, 2024 2:58 AM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: SQL0206: Column or global variable V_LPSERVER not found

Not bad : ) but I would use a "for statement in this case"

1) You don't need do declare the cursor
2) You don't need to control the loop logic
3) You don't need declare host variables
4) - It's so simple !!

something like this:

CREATE or REPLACE PROCEDURE Read_LPARS_loop() modifies SQL data not deterministic language SQL specific AC_WRKASP set option dbgview = *SOURCE

BEGIN
DECLARE SQLstatement VARCHAR(1024);

-- Declare a cursor to fetch rows from the LPARS table
FOR SELECT LPSERVER, LPSEQUENCE
FROM LPARS
order by LPSEQUENCE
DO

-- Execute the query for each LPARS row
Set SQLstatement = 'INSERT INTO qtemp/WRKASP (SELECT v_LPSEQUENCE as Seq, v_LPSERVER as Server, ASP_NUMBER, DEVD_NAME, ' ||
'100 - ( Round( DEC(DEC(TOTAL_CAPACITY_AVAILABLE, 21, 3) / DEC(TOTAL_CAPACITY, 21, 3) * 100, 21, 3), 2) ) as Pct_Used ' ||
'FROM ' || trim(LPSERVER) || '.qsys2.asp_info ORDER BY Asp_Number)';
EXECUTE IMMEDIATE SQLstatement ;

END FOR;

END;

*** CONFIDENTIALITY NOTICE: The information contained in this communication may be confidential, and is intended only for the use of the recipients named above. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution, or copying of this communication, or any of its contents, is strictly prohibited. If you have received this communication in error, please return it to the sender immediately and delete the original message and any copy of it from your computer system. If you have any questions concerning this message, please contact the sender. ***

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.