|
I think you should qualify a call to UDF: select tpttype, tpt400, tptlib, tptfile, tptfield, web/VALIDTPNBR(tpttype,'19049 ') from web/tptype Alexei Pytel speaking for myself rob@dekko.com Sent by: To: rpg400-l@midrange.com rpg400-l-admin@mi cc: drange.com Subject: UDF: SQL0204-VALIDTPNBR in *LIBL type *N not found. 04/26/2002 03:31 PM Please respond to rpg400-l This is a multipart message in MIME format. -- [ Picked text/plain from multipart/alternative ] I've created a UDF, or User Defined Function, with the following: P*-------------------------------------- P* Procedure name: VALIDTPNBR P* Purpose: Validates Trading partner number P* Returns: '1'=Yes the tp number is valid, '0'=No it is not P* Parameter: tpttype => Trading partner type P* Parameter: tpnbr => Trading partner number P*-------------------------------------- P VALIDTPNBR B EXPORT D VALIDTPNBR PI N D tpttype LIKE(tpnbr.tpttype) CONST D tpnbr LIKE(tpnbr.tpnbr) CONST D* Local fields D rValidTpNbr S N D wTpName s 100a /free wTpName=RtvTpData(tpttype:tpnbr:'TPTPNAME'); Select; When wTpName=*loval or wTpName=*blanks or wTpName='*NONE'; rValidTpNbr=*off; Other; rValidTpNbr=*on; EndSl; return rValidTpNbr; /end-free P VALIDTPNBR E create function WEB/VALIDTPNBR (CHAR (8), CHAR (10)) returns CHAR (1) simple call language rpgle deterministic reads sql data returns null on null input no external action allow parallel external name 'WEB/WEBSRV(VALIDTPNBR)'; This select tpttype, tpt400, tptlib, tptfile, tptfield from web/tptype results in: Trading AS/400 Library File Field Partner Partner Partner Partner Type Type Type Nbr V01.073 GDISYS DATDIVF AVM VENDOR This: select tpttype, tpt400, tptlib, tptfile, tptfield, VALIDTPNBR(tpttype,'19049 ') from web/tptype Results in: Additional Message Information Message ID . . . . . . : SQL0204 Severity . . . . . . . : 30 Message type . . . . . : Diagnostic Message . . . . : VALIDTPNBR in *LIBL type *N not found. Cause . . . . . : VALIDTPNBR in *LIBL type *N was not found. If this is an ALTER TABLE statement and the type is *N, a constraint was not found. If this is not an ALTER TABLE statement and the type is *N, a function, procedure, or trigger was not found. Recovery . . . : Change the name and try the request again. If the object is a node group, ensure that the DB2 Multisystem product is installed on your system and create a nodegroup with the CRTNODGRP CL command. QSYS2/SYSFUNCS has: SPECIFIC_SCHEMA SPECIFIC_NAME ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_CREATED ROUTINE_DEFINER ROUTINE_BODY QDIRSRV QGLDRSDX QDIRSRV QGLDRSDX 2001-03-10-08.21.26.962000 QDIRSRV EXTERNAL ROB3 ONHAND ROB3 ONHAND 2001-11-30-08.02.52.040000 ROB EXTERNAL ROUTINES FAXA ROUTINES FAXA 2002-02-13-08.41.04.050000 ROB EXTERNAL ROUTINES FAXN ROUTINES FAXN 2002-02-13-08.41.04.695000 ROB EXTERNAL ROUTINES FAXAREACODE ROUTINES FAXAREACODE 2002-02-13-08.41.04.796000 ROB EXTERNAL ROUTINES FAXEXCHANGE ROUTINES FAXEXCHANGE 2002-02-13-08.41.04.884000 ROB EXTERNAL ROUTINES FAXNUMBER ROUTINES FAXNUMBER 2002-02-13-08.41.05.021000 ROB EXTERNAL ROUTINES FAXNEWAREA ROUTINES FAXNEWAREA 2002-02-13-08.41.05.127000 ROB EXTERNAL ROB ONHAND ROB ONHAND 2002-02-13-10.16.20.950000 ROB EXTERNAL ROUTINES FAXNEWPHONEA ROUTINES FAXNEWPHONEA 2002-02-14-10.57.21.240000 ROB EXTERNAL ROUTINES FAXNEWSTRING ROUTINES FAXNEWSTRING 2002-02-14-10.59.46.287000 ROB EXTERNAL ROUTINES FAXNEWPHONEN ROUTINES FAXNEWPHONEN 2002-02-14-13.54.38.057000 ROB EXTERNAL WEB VALIDTPNBR WEB VALIDTPNBR 2002-04-26-15.21.50.249000 ROB EXTERNAL EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS QSYS/QGLDRSDX C SQL YES NONE ROB3/INVENTORY(ONHAND) RPGLE GENERAL YES NONE ROUTINES/SRVPGM(FAXA) RPGLE GENERAL YES NONE ROUTINES/SRVPGM(FAXN) RPGLE GENERAL YES NONE ROUTINES/SRVPGM(FAXAREACODE) RPGLE GENERAL YES NONE ROUTINES/SRVPGM(FAXEXCHANGE) RPGLE GENERAL YES NONE ROUTINES/SRVPGM(FAXNUMBER) RPGLE GENERAL YES NONE ROUTINES/SRVPGM(FAXNEWAREA) RPGLE GENERAL YES READS ROB/ONHAND(ONHAND) RPGLE GENERAL YES NONE ROUTINES/SRVPGM(FAXNEWPHONEA) RPGLE GENERAL YES NONE ROUTINES/SRVPGM(FAXNEWSTRING) RPGLE GENERAL YES NONE ROUTINES/SRVPGM(FAXNEWPHONEN) RPGLE GENERAL YES NONE WEB/WEBSRV(VALIDTPNBR) RPGLE GENERAL YES READS Rob Berendt -- "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." Benjamin Franklin _______________________________________________ This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@midrange.com To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l or email: RPG400-L-request@midrange.com Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.
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.