|
I'm developing an application to retreive iSeries data thru a stored procedure and return a result set back to the c# program that called the stored procedure.
I have debug set to program SETCLRLIB on the iSeries which is called to set the correct library list based on the company code, and userid.
When I call the C# program I get a signon screen where I sign in as user CRPRDQUA, and my password.
CRPRDQUA is the testing user signon, any thing else is considered a production signon, so you can see that QUSER coming in there could be
a real problem for me.
When the c# program executes, it calls a stored procedure, which calls program SETCLRLIB to set the library list.
I'm expecting the userid I retreive in the below program to be CRPRDQUA, and it turns out to be QUSER. I'm guessing QUSER is something picked up thru the network. Being a iSeries programmer, I don't normally deal with remote environments, so it boggles me when I signon on as CRPRDQUA and later see QUSER.
Can someone explain how I can get my correct signon passed to my program, so I can determine the correct userid, so I can correctly set the library list.
Below is program SETCLRLIB
Appreciate your help.
PGM PARM(&COCD) (with company code and user id I can determine a library list) DCL VAR(&COCD) TYPE(*CHAR) LEN(2) DCL VAR(&TSTFLG) TYPE(*CHAR) LEN(2) DCL VAR(&USERID) TYPE(*CHAR) LEN(10) RTVJOBA USER(&USERID) *-----------------------------------------------------------------*/ * If testing from SQL SCRIPT user defaults to QUSER */ *-----------------------------------------------------------------*/ IF COND(&USERID *EQ 'QUSER') THEN(DO) I added this code while testing, but
CHGVAR VAR(&USERID) VALUE('CRPRDQUA') this will eventually be taken out once ENDDO the quser issue is resolved *-----------------------------------------------------------------*/ * Clear library list */ *-----------------------------------------------------------------*/ IF COND(&USERID *NE 'CRPRDQUA') THEN(DO) CHGLIBL LIBL(*NONE) CURLIB(CRPRDLIB) This would actually be the correct logic ENDDO from here down. IF COND(&USERID *EQ 'CRPRDQUA') THEN(DO) CHGLIBL LIBL(*NONE) CURLIB(CRPRDLIBTS) ENDDO *-----------------------------------------------------------------*/ * SET UP LIBRARY LIST PROGRAM */ *-----------------------------------------------------------------*/ CALL PGM(SETCMP1) PARM(&COCD) *-----------------------------------------------------------------*/ CHGCURLIB CURLIB(*CRTDFT) DSPLIBL OUTPUT(*PRINT) *-----------------------------------------------------------------*/ ENDPGM
Sincerely,
Darrell Lee
Programmer/Analyst
SWBC
9311 San Pedro Ave., Suite 600
San Antonio, TX 78216
(210) 321-7127 - Direct
Visit our website at www.swbc.com
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.