× 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.



I received this reply off list, other than one small bug introduced when 
the code was cleaned up for my perusal, it looks pretty good.
To fix the bug change
     and trim(SPECIFIC_NAME)=trim(code);
to
     and trim(SPECIFIC_NAME)=trim(name);

Rob Berendt
-- 
"All creatures will make merry... under pain of death."
-Ming the Merciless (Flash Gordon)

----- Forwarded by Rob Berendt/DEKKO on 01/13/2004 04:53 PM -----

"Himes, Jay" <jehimes@xxxxxxxxxxx> 
01/13/2004 02:54 PM

To
"'rob@xxxxxxxxx'" <rob@xxxxxxxxx>
cc

Fax to

Subject
RE: Error trapping in RUNSQLSTM






I did indeed replay to the list - but I have had posting problems in the
past with my replys disappearing into thin air; which is why I copied you
directly. You are welcome to post the information to the list if it does 
not
show up.

________________________________

From: rob@xxxxxxxxx [mailto:rob@xxxxxxxxx] 
Sent: Tuesday, January 13, 2004 2:44 PM
To: Himes, Jay
Subject: RE: Error trapping in RUNSQLSTM



Excellent, please reply via the list.  I'd like to share that with others. 

(You probably already replied via the list and I am just waiting for the
turnaround.) 

Rob Berendt
-- 
"All creatures will make merry... under pain of death."
-Ming the Merciless (Flash Gordon)




"Himes, Jay" <jehimes@xxxxxxxxxxx> 

01/13/2004 02:37 PM 

 
To
                 'Midrange Systems Technical Discussion' 
<midrange-l@xxxxxxxxxxxx> 
cc
                 "'rob@xxxxxxxxx'" <rob@xxxxxxxxx> 
Fax to
 
Subject
                 RE: Error trapping in RUNSQLSTM

 




I have had the same problem - I created a stored proc (code below) for
dropping items which I call at the beginning of each SQL member.

Start of a member for creation:
                CALL LBUCMUSR/DRPCODE('LBUCMUSR', 'GETRELSEQ', 'F'); 
                 CREATE FUNCTION lbucmusr/GETRELSEQ(ID1 INT)  
                   RETURNS Numeric(5,0)  
                  LANGUAGE SQL READS SQL DATA  
                  S: BEGIN 
                BLAH BLAH 
 
The stored procedure:
create procedure lbucmusr/DRPCODE ( in lib char(10), in name char(10), in
type char(1) )

LANGUAGE SQL MODIFIES SQL DATA

S: BEGIN

  Declare ct      Int Default 0;

  Declare tsql     char(45);

  select count(*) into ct from sysibm/ROUTINES

   where trim(SPECIFIC_SCHEMA)=trim(lib)

     and trim(SPECIFIC_NAME)=trim(code);

  IF (ct > 0 and type = 'P') then

    set tsql = 'drop Procedure ' || trim(lib) || '/' || trim(name);

  END IF;

  IF (ct > 0 and type = 'F') then

    set tsql = 'drop Function ' || trim(lib) || '/' || trim(name);

  END IF;

  IF (ct > 0) then

    PREPARE drp from tsql;

    EXECUTE drp; 
 END IF; 
END S;


-----Original Message-----
From: rob@xxxxxxxxx [mailto:rob@xxxxxxxxx] 
Sent: Tuesday, January 13, 2004 12:02 PM
To: MIDRANGE-L@xxxxxxxxxxxx
Subject: Error trapping in RUNSQLSTM

I have a source member that I want to use in RUNSQLSTM that looks like:
DROP FUNCTION ROUTINES/STRIPEMAIL;

CREATE FUNCTION ROUTINES/STRIPEMAIL (CHAR (512)) RETURNS CHAR (100)
DETERMINISTIC NO SQL RETURNS NULL ON NULL INPUT NO EXTERNAL ACTION ALLOW
PARALLEL SIMPLE CALL EXTERNAL NAME 'ROUTINES/SRVEMAIL(STRIPEMAIL)';

However the function may or may not already exist.  If it does not exist 
the
RUNSQLSTM aborts.  How does one do error trapping in RUNSQLSTM?  Keep in
mind the following:
DSPMSGD RANGE(SQL0084) MSGF(QSQLMSG)

Rob Berendt
--
"All creatures will make merry... under pain of death."
-Ming the Merciless (Flash Gordon)
_______________________________________________
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing 
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, 
unsubscribe,
or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at http://archive.midrange.com/midrange-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.