project QadFinancials > class PLicense > method ValidateProgramLicense
Parameters
| icProgramName | input | character | |
| oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program1/plicense.p)
/* ========================================================================== */
/* Do not run the license check when running in backwards compatibility mode. */
/* (running an older mfgpro version) */
/* ========================================================================== */
<M-58 run StartCacher
(output vhFcComponent (ohCacher),
output viFcReturnSuper (oiReturnStatus)) in PLicense>
<M-7 run GetIntegerValueFromSession
(input viSessionID (iiSessionId),
input 'MfgProMajorVersion':U (icDataItemName),
output vimfgMajorVersion (oiValue),
output viFcReturnSuper (oiReturnStatus)) in Cacher>
<M-86 run GetIntegerValueFromSession
(input viSessionID (iiSessionId),
input 'MfgProMinorVersion':U (icDataItemName),
output vimfgMinorVersion (oiValue),
output viFcReturnSuper (oiReturnStatus)) in Cacher>
if vimfgMajorVersion > 3
or (vimfgMajorVersion = 3 and vimfgMinorVersion > 12)
then do:
empty temp-table ttLicenseValidationParameters.
empty temp-table ttLicenseValidationResponseData.
create ttLicenseValidationParameters.
assign ttLicenseValidationParameters.tcProgramName = icProgramName.
release ttLicenseValidationParameters.
vhin = dataset dsLicenseValidationParameters:handle.
vhinout = ?.
vhout = dataset dsLicenseValidationResponseData:handle.
<M-50 run CallService
(input '' (icProgramName),
input 'validateProgramLicenseAndUserAuthorization' (icMethodName),
input vhin (izInput),
input-output vhinout (bzInputOutput),
input-output vhout (bzOutput),
input ? (icAsyncHandler),
output oiReturnStatus (oiReturnStatus)) in PLicense>
if oiReturnStatus >= 0
then
if can-find (first ttLicenseValidationResponseData)
then for each ttLicenseValidationResponseData on error undo, throw:
if ttLicenseValidationResponseData.tlValidLicense = no
then do:
<M-3 run SetMessage
(input ttLicenseValidationResponseData.tcErrorMessage + ' (' + string(ttLicenseValidationResponseData.tiErrorCode) + ')' (icMessage),
input '' (icArguments),
input '' (icFieldName),
input '' (icFieldValue),
input 'D' (icType),
input 3 (iiSeverity),
input '' (icRowid),
input 'qadfin-881683':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in PLicense>
oiReturnStatus = -1.
end.
end.
else do:
<M-21 run SetMessage
(input #T-21'No response from license server.':255(1670484)T-21# (icMessage),
input '' (icArguments),
input '' (icFieldName),
input '' (icFieldValue),
input 'D' (icType),
input 3 (iiSeverity),
input '' (icRowid),
input 'qadfin-710823':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in PLicense>
oiReturnStatus = -3.
end.
end.