project QadFinancials > class BSystem > method ApiGetSystemPropertiesExtInvCert

Description

ApiGetSystemPropertiesExtInvCert: Extention of method ApiGetSystemProperties - Call this method to get all the system properties.


Parameters


ocSysLngCodeoutputcharacterLanguage-code
ocSysDomainCodeoutputcharacterSYSTEM Domain Code
olSysPropertyIsBudOverChoutputlogicalSysPropertyIsBudOverCh
ocSysPropertyCurrencyCodeoutputcharacterSysPropertyCurrencyCode
olSysPropertyIsWithBudgetoutputlogicalSysPropertyIsWithBudget
olSysPropertyIsSpecCIApproveoutputlogicalSysPropertyIsSpecCIApprove
olSysPropertyIsBudOLCheckGLoutputlogicalSysPropertyIsBudOLCheckGL
olSysPropertyIsBudOLCheckPrjoutputlogicalSysPropertyIsBudOLCheckPrj
olSysPropertyIsBudOLCheckCCoutputlogicalSysPropertyIsBudOLCheckCC
ocSystAdminUserLoginoutputcharacter
ocSystAdminUserPwdoutputcharacter
ocSysApplicationIdoutputcharacterOutput parameter System Application ID. It is the unique identification of the application.
olSysPropertyIsBusRelDomResoutputlogicaldefault value of BusinessRelation.BusinessRelationIsDomRestr should come from SysPropertyIsBusRelDomRes and have that lather field on System maintenance UI with label Are business relations by domain ?
ocSysPropertyInvCertCertificateoutputcharacterSysPropertyInvCertCertificate
ocSysPropertyInvCertVersionoutputcharacterSysPropertyInvCertVersion
ocSysPropertyInvCertPublicKeyoutputcharacterSysPropertyInvCertPublicKey
ocSysPropertyInvCertOpenSSLDiroutputcharacterSysPropertyInvCertOpenSSLDir
oiSysPropertyBankFileBatchSizeoutputintegerBank File Batch Size.
oiSysPropertyMaxBatchSizeoutputintegerMaximum Batch Size
oiSysPropertyMinBatchSizeoutputintegerMinimum Batch Size
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BSystem.ApiGetSystemProperties


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.