Last active
March 20, 2022 17:55
-
-
Save RainerRoss/844cf655470b19aeb1e41a7318e61eee to your computer and use it in GitHub Desktop.
ProfileHandle
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//------------------------------------------------------------------// | |
// QSYGETPH - Get Profile Handle // | |
//------------------------------------------------------------------// | |
dcl-pr getPrfHdl extpgm('QSYGETPH'); | |
User like(GblUser) const; // User | |
Password like(GblPassword) const; // Password | |
Handle like(GblHandle); // Profilehandle | |
Apierr like(DsApierr) const; // API-Error | |
Pwdlen like(GblPwdlen) const; // Password-Length | |
CCSID like(GblCCSID) const; // CCSID | |
end-pr; | |
//------------------------------------------------------------------// | |
// QWTSETP - Set Profile Handle // | |
//------------------------------------------------------------------// | |
dcl-pr setPrfHdl extpgm('QWTSETP'); | |
Handle like(GblHandle) const; // Profilehandle | |
Apierr like(DsApierr) const; // API-Error | |
end-pr; | |
//------------------------------------------------------------------// | |
// QSYRLSPH - Release Profile Handle // | |
//------------------------------------------------------------------// | |
dcl-pr rlsPrfHdl extpgm('QSYRLSPH'); | |
Handle like(GblHandle) const; // Profilehandle | |
Apierr like(DsApierr) const; // API-Error | |
end-pr; | |
//------------------------------------------------------------------// | |
// QSYGENPT - Generate Profile Token // | |
//------------------------------------------------------------------// | |
dcl-pr genPrfToken extpgm('QSYGENPT'); | |
Token like(GblToken) const; // Token | |
User like(GblUser) const; // User | |
Password like(GblPassword) const; // Password | |
Timeout like(GblTimeout) const; // Timeout | |
Toktype like(GblToktype) const; // Tokentype | |
Apierr like(DsApierr) const; // API-Error | |
Pwdlen like(GblPwdlen) const; // Password-Length | |
CCSID like(GblCCSID) const; // CCSID | |
end-pr; | |
//------------------------------------------------------------------// | |
// QSYRMVPT - Remove Profile Token // | |
//------------------------------------------------------------------// | |
dcl-pr rmvPrfToken extpgm('QSYRMVPT'); | |
RmvOpt like(GblRmvOpt) const; // Remove-Option | |
Apierr like(DsApierr) const; // API-Error | |
Token like(GblToken) const; // Token | |
end-pr; | |
//------------------------------------------------------------------// | |
// Retrieve ErrorMessage // | |
//------------------------------------------------------------------// | |
dcl-pr rtvErrmsg extpgm('RTVMSGC'); | |
Msgid like(DsApierr.Msgid) const; // MessageId | |
Errdat like(DsApierr.Errdata) const; // ErrorData | |
Errmsg like(GblErrmsg) const; // ErrorMessage | |
end-pr; | |
//------------------------------------------------------------------// | |
// Array API-Error // | |
//------------------------------------------------------------------// | |
dcl-ds DsApierr qualified inz; // API-Error | |
BytesProv int(10) inz(%size(DsApierr)); // Bytes Provided | |
BytesAvail int(10); // Bytes Avail | |
MsgId char(07); // ErrorMessageId | |
*n char(01); | |
ErrData char(256); // ErrorData | |
end-ds; | |
//------------------------------------------------------------------// | |
// Variables // | |
//------------------------------------------------------------------// | |
dcl-s GblOk ind; // ok | |
dcl-s GblUser char(10); // User | |
dcl-s GblPassword char(128); // Password | |
dcl-s GblToken char(32); // Token | |
dcl-s GblToktype char(01); // Tokentype | |
dcl-s GblTokHex char(64); // Token Hex | |
dcl-s GblTimeout int(10); // Timeout | |
dcl-s GblHandle char(12); // Profilehandle | |
dcl-s GblRmvOpt char(10); // Remove-Option | |
dcl-s GblPwdlen int(10); // Password-Length | |
dcl-s GblCCSID int(10); // CCSID 0 = JobCCSID | |
dcl-s GblErrmsg char(132); // ErrorMessage | |
//------------------------------------------------------------------// |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*********************************************************************/ | |
/* */ | |
/* RETRIEVE ERROR MESSAGE TEXT */ | |
/* */ | |
/****************** */ | |
/* R.ROSS 07.2020 * */ | |
/*********************************************************************/ | |
PGM PARM(&MSGID &ERRDAT &ERRMSG) | |
DCL VAR(&MSGID) TYPE(*CHAR) LEN(07) | |
DCL VAR(&MSGF) TYPE(*CHAR) LEN(10) VALUE(QCPFMSG) | |
DCL VAR(&ERRDAT) TYPE(*CHAR) LEN(132) | |
DCL VAR(&ERRMSG) TYPE(*CHAR) LEN(132) | |
DCL VAR(&BLANK) TYPE(*CHAR) LEN(132) | |
/*********************************************************************/ | |
/* RETRIEVE MESSAGE FROM MESSAGEFILE */ | |
/*********************************************************************/ | |
IF COND(&ERRDAT > ' ') THEN(DO) | |
RTVMSG MSGID(&MSGID) MSGF(&MSGF) MSGDTA(&ERRDAT) MSG(&ERRMSG) | |
MONMSG MSGID(CPF0000) EXEC(CHGVAR VAR(&ERRMSG) VALUE(&BLANK)) | |
ENDDO | |
ELSE CMD(DO) | |
RTVMSG MSGID(&MSGID) MSGF(&MSGF) MSG(&ERRMSG) | |
MONMSG MSGID(CPF0000) EXEC(CHGVAR VAR(&ERRMSG) VALUE(&BLANK)) | |
ENDDO | |
/*********************************************************************/ | |
/* ENDE */ | |
/*********************************************************************/ | |
ENDE: RETURN | |
/*********************************************************************/ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ctl-opt dftactgrp(*no) alloc(*teraspace) option(*nodebugio:*nounref) | |
main(main); | |
//------------------------------------------------------------------// | |
// // | |
// Test - Get Profile Handle - QSYGETPH 20.000 per Job // | |
// // | |
//----------------- // | |
// R.Ross 07.2020 * // | |
//------------------------------------------------------------------// | |
// Prototypes // | |
//------------------------------------------------------------------// | |
/include tsts/qcpysrc,prfhdl | |
//------------------------------------------------------------------// | |
// Main // | |
//------------------------------------------------------------------// | |
dcl-proc main; | |
chkUsrprf('HAUSER':'test'); | |
end-proc; | |
//------------------------------------------------------------------// | |
// Check User and Password of Userprofile // | |
//------------------------------------------------------------------// | |
dcl-proc chkUsrprf; | |
dcl-pi *n; | |
PiUser like(GblUser) const; // User | |
PiPassword like(GblPassword) const; // Password | |
end-pi; | |
dcl-s LocHandle like(GblHandle); | |
dcl-s LocLength like(GblPwdlen) inz(%len(PiPassword)); | |
dcl-s LocCcsid like(GblCCSID); // 0 = JobCCSID | |
dcl-s LocErrmsg like(GblErrmsg); | |
getPrfHdl(PiUser:PiPassword:LocHandle:DsApierr:LocLength:LocCcsid); | |
if DsApierr.BytesAvail > *zero; | |
rtvErrmsg(DsApierr.Msgid:DsApierr.Errdata:LocErrmsg); | |
return; | |
endif; | |
setPrfHdl(LocHandle:DsApierr); // Set ProfileHandle | |
if DsApierr.BytesAvail > *zero; | |
rtvErrmsg(DsApierr.Msgid:DsApierr.Errdata:LocErrmsg); | |
return; | |
endif; | |
rlsPrfHdl(LocHandle:DsApierr); // Release ProfileHandle | |
if DsApierr.BytesAvail > *zero; | |
rtvErrmsg(DsApierr.Msgid:DsApierr.Errdata:LocErrmsg); | |
endif; | |
end-proc; | |
//------------------------------------------------------------------// |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment