project QadFinancials > class BSystem > method ApiGetSystemPropertiesExtInvCert
Description
ApiGetSystemPropertiesExtInvCert: Extention of method ApiGetSystemProperties - Call this method to get all the system properties.
Parameters
ocSysLngCode | output | character | Language-code |
ocSysDomainCode | output | character | SYSTEM Domain Code |
olSysPropertyIsBudOverCh | output | logical | SysPropertyIsBudOverCh |
ocSysPropertyCurrencyCode | output | character | SysPropertyCurrencyCode |
olSysPropertyIsWithBudget | output | logical | SysPropertyIsWithBudget |
olSysPropertyIsSpecCIApprove | output | logical | SysPropertyIsSpecCIApprove |
olSysPropertyIsBudOLCheckGL | output | logical | SysPropertyIsBudOLCheckGL |
olSysPropertyIsBudOLCheckPrj | output | logical | SysPropertyIsBudOLCheckPrj |
olSysPropertyIsBudOLCheckCC | output | logical | SysPropertyIsBudOLCheckCC |
ocSystAdminUserLogin | output | character | |
ocSystAdminUserPwd | output | character | |
ocSysApplicationId | output | character | Output parameter System Application ID. It is the unique identification of the application. |
olSysPropertyIsBusRelDomRes | output | logical | default value of BusinessRelation.BusinessRelationIsDomRestr should come from SysPropertyIsBusRelDomRes and have that lather field on System maintenance UI with label Are business relations by domain ? |
ocSysPropertyInvCertCertificate | output | character | SysPropertyInvCertCertificate |
ocSysPropertyInvCertVersion | output | character | SysPropertyInvCertVersion |
ocSysPropertyInvCertPublicKey | output | character | SysPropertyInvCertPublicKey |
ocSysPropertyInvCertOpenSSLDir | output | character | SysPropertyInvCertOpenSSLDir |
oiSysPropertyBankFileBatchSize | output | integer | Bank File Batch Size. |
oiSysPropertyMaxBatchSize | output | integer | Maximum Batch Size |
oiSysPropertyMinBatchSize | output | integer | Minimum Batch Size |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program8/bsystem.p)
/* ===================================== */
/* Get the single system-record */
/* Get the single System-property record */
/* ===================================== */
<Q-75 run System (all) (Read) (NoCache) (input ?, (LanguageID)
output dataset tqSystem) in BSystem >
find first tqSystem no-lock no-error.
if not available tqSystem
then assign ocSysLngCode = "":U
ocSysDomainCode = "":U
ocSystAdminUserLogin = "":U
ocSystAdminUserPwd = "":U
ocSysApplicationId = "":U.
else do :
assign ocSysLngCode = tqSystem.tcLngCode
ocSysDomainCode = tqSystem.tcDomainCode
ocSystAdminUserLogin = tqSystem.tcUsrLogin
ocSystAdminUserPwd = tqSystem.tcSystAdminUserPwd
ocSysApplicationId = tqSystem.tcSystApplicationId.
find next tqSystem no-lock no-error.
if available tqSystem
then do :
assign vcMessage = trim(#T-63'The system cannot get the system properties due to a database corruption. Multiple system settings were detected.':255(3762)T-63#) + " (1)":U
oiReturnStatus = -3.
<M-8 run SetMessage (input vcMessage (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'qadfin-698742':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BSystem>
Return.
end. /* if available next tqSystem */
end. /* if available tqSystem */
<Q-86 run SystemPropertyByAll (all) (Read) (NoCache) (output dataset tqSystemPropertyByAll) in BSystemProperty>
find first tqSystemPropertyByAll no-lock no-error.
if not available tqSystemPropertyByAll then assign olSysPropertyIsSpecCIApprove = false
olSysPropertyIsWithBudget = false
olSysPropertyIsBudOverCh = false
olSysPropertyIsBudOLCheckGL = false
olSysPropertyIsBudOLCheckPrj = false
olSysPropertyIsBudOLCheckCC = false
ocSysPropertyInvCertCertificate = "":U
ocSysPropertyInvCertVersion = "":U
ocSysPropertyInvCertPublicKey = "":U
ocSysPropertyInvCertOpenSSLDir = "":U
oiSysPropertyBankFileBatchSize = 0
oiSysPropertyMaxBatchSize = 1000
oiSysPropertyMinBatchSize = 1.
else do :
assign ocSysPropertyCurrencyCode = tqSystemPropertyByAll.tcCurrencyCode
olSysPropertyIsSpecCIApprove = tqSystemPropertyByAll.tlSysPropertyIsSpecCIApprove
olSysPropertyIsWithBudget = tqSystemPropertyByAll.tlSysPropertyIsWithBudget
olSysPropertyIsBudOverCh = tqSystemPropertyByAll.tlSysPropertyIsBudOverCh
olSysPropertyIsBudOLCheckGL = tqSystemPropertyByAll.tlSysPropertyIsBudOLCheckGL
olSysPropertyIsBudOLCheckPrj = tqSystemPropertyByAll.tlSysPropertyIsBudOLCheckPrj
olSysPropertyIsBudOLCheckCC = tqSystemPropertyByAll.tlSysPropertyIsBudOLCheckCC
olSysPropertyIsBusRelDomRes = tqSystemPropertyByAll.tlSysPropertyIsBusRelDomRes
ocSysPropertyInvCertCertificate = tqSystemPropertyByAll.tcSysPropertyInvCertCertificate
ocSysPropertyInvCertVersion = tqSystemPropertyByAll.tcSysPropertyInvCertVersion
ocSysPropertyInvCertPublicKey = tqSystemPropertyByAll.tcSysPropertyInvCertPublicKey
ocSysPropertyInvCertOpenSSLDir = tqSystemPropertyByAll.tcSysPropertyInvCertOpenSSLDir
oiSysPropertyBankFileBatchSize = tqSystemPropertyByAll.tiSysPropertyBankFileBatchSize
oiSysPropertyMaxBatchSize = tqSystemPropertyByAll.tiSysPropertyPaySelMaxBatchSize
oiSysPropertyMinBatchSize = tqSystemPropertyByAll.tiSysPropertyPaySelMinBatchSize.
if oiSysPropertyMaxBatchSize = 0 or oiSysPropertyMinBatchSize = 0 then
do:
assign oiSysPropertyMaxBatchSize = 1000
oiSysPropertyMinBatchSize = 1.
end.
find next tqSystemPropertyByAll no-lock no-error.
if available tqSystemPropertyByAll
then do :
assign vcMessage = trim(#T-3'The system cannot get the system properties due to a database corruption. Multiple system settings were detected.':255(3762)T-3#) + " (2)":U
oiReturnStatus = -3.
<M-10 run SetMessage (input vcMessage (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'qadfin-207612':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BSystem>
Return.
end. /* if available next tqSystemProp */
end. /* if available tqSystemProp */
Sample code: how to call this method through RPCRequestService (QXtend Inbound)
define temp-table ttContext no-undo
field propertyQualifier as character
field propertyName as character
field propertyValue as character
index entityContext is primary unique
propertyQualifier
propertyName
index propertyQualifier
propertyQualifier.
define dataset dsContext for ttContext.
define variable vhContextDS as handle no-undo.
define variable vhExceptionDS as handle no-undo.
define variable vhServer as handle no-undo.
define variable vhInputDS as handle no-undo.
define variable vhInputOutputDS as handle no-undo.
define variable vhOutputDS as handle no-undo.
define variable vhParameter as handle no-undo.
/* Create context */
create ttContext.
assign ttContext.propertyName = "programName"
ttContext.propertyValue = "BSystem".
create ttContext.
assign ttContext.propertyName = "methodName"
ttContext.propertyValue = "ApiGetSystemPropertiesExtInvCert".
create ttContext.
assign ttContext.propertyName = "applicationId"
ttContext.propertyValue = "fin".
create ttContext.
assign ttContext.propertyName = "entity"
ttContext.propertyValue = "1000".
create ttContext.
assign ttContext.propertyName = "userName"
ttContext.propertyValue = "mfg".
create ttContext.
assign ttContext.propertyName = "password"
ttContext.propertyValue = "".
/* Connect the AppServer */
create server vhServer.
vhServer:connect("-URL <appserver-url>").
if not vhServer:connected()
then do:
message "Could not connect AppServer" view-as alert-box error title "Error".
return.
end.
/* Run */
assign vhContextDS = dataset dsContext:handle.
run program/rpcrequestservice.p on vhServer
(input-output dataset-handle vhContextDS by-reference,
output dataset-handle vhExceptionDS,
input dataset-handle vhInputDS by-reference,
input-output dataset-handle vhInputOutputDS by-reference,
output dataset-handle vhOutputDS).
/* Handle output however you want, in this example, we dump it to xml */
if valid-handle(vhExceptionDS)
then vhExceptionDS:write-xml("file", "Exceptions.xml", true).
if valid-handle(vhOutputDS)
then vhOutputDS:write-xml("file", "Output.xml", true).
/* Cleanup */
vhServer:disconnect().
assign vhServer = ?.
if valid-handle(vhInputDS)
then delete object vhInputDS.
if valid-handle(vhOutputDS)
then delete object vhOutputDS.
if valid-handle(vhExceptionDS)
then delete object vhExceptionDS.