|
I have created user defined functions in DB2 that call c libraries. I understand how the C return type maps to the SQL return type. I am now trying to create a procedure that calls a C program....I am a little confused becasue it looks like the return values are passed back using argv. How can a C stored procedure return a Float ? Here is the code I am trying to work with: CREATE PROCEDURE sysStats( OUT APS FLOAT, OUT CPU FLOAT, OUT JOBS INTEGER ) EXTERNAL NAME PGMRPGMLIB/SYSSTATS LANGUAGE C GENERAL WITH NULLS #include <stdio.h> #include <string.h> #include <qwcrssts.h> int main ( int argc, char *argv[] ) { Qwc_SSTS0200_t info; double aspPercent; double cpupct; int jobs; QWCRSSTS(&info, sizeof(info), "SSTS0200", "*NO ", "\0\0\0\0\0\0\0\0"); aspPercent = (double)info.Pct_System_ASP_used / 10000; cpupct = (double)info.Pct_Processing_Unit_Used / 10; jobs = info.Jobs_In_System; // What to do here ???? sprintf( argv[1], "%2.1f", aspPercent ); sprintf( argv[2], "%2.1f", cpupct ); sprintf( argv[3], "%d", jobs ); } -Thanks Steve More
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.