project QadFinancials > class BCurrency > API query SelectCurrency (optimised)

Description

SelectCurrency = select query
use this query in case you want to lookup a currency
this query should only be used by UI-components!!!!


query filter (table tFilter)


tcBusinessFieldNametcDataTypetcOperator
tCurrency.CurrencyCodec=,>=,>,<>,<=,<,begins,can-do,matches
tCurrency.CurrencyDecimalDescriptionc=,>=,>,<>,<=,<,begins,can-do,matches
tCurrency.CurrencyDescriptionc=,>=,>,<>,<=,<,begins,can-do,matches
tCurrency.CurrencyIsActivel=,<>
tCurrency.CurrencyNumberOfDecimalsi=,>=,>,<>,<=,<
tRoundingMethod.RoundingMethodCodec=,>=,>,<>,<=,<,begins,can-do,matches
tRoundingMethod.RoundingMethodDescriptionc=,>=,>,<>,<=,<,begins,can-do,matches


query condition


  each Currency where

      first RoundingMethod (inner-join) where
RoundingMethod.RoundingMethod_ID = Currency.RoundingMethod_ID AND


query sort order


Currency.CurrencyIsActive (ascending)
Currency.CurrencyCode (ascending)


query resultset tqSelectCurrency


field namedata typedb fielddescription
tcCurrencyDecimalDescriptioncharacterCurrency.CurrencyDecimalDescriptionDecimals Description
tiCurrencyNumberOfDecimalsintegerCurrency.CurrencyNumberOfDecimalsNumber of Decimals
tcCurrencyCodecharacterCurrency.CurrencyCodeCurrency Code
tcCurrencyDescriptioncharacterCurrency.CurrencyDescriptionCurrency Description
tlCurrencyIsActivelogicalCurrency.CurrencyIsActiveActive
tiCurrency_IDintegerCurrency.Currency_IDRecord ID
tiRoundingMethod_IDintegerRoundingMethod.RoundingMethod_IDRecord ID
tcRoundingMethodCodecharacterRoundingMethod.RoundingMethodCodeCode
tcRoundingMethodDescriptioncharacterRoundingMethod.RoundingMethodDescriptionDescription
CurrencyCustomcharactercalculatedcustom fields
RoundingMethodCustomcharactercalculatedcustom fields
ti_sequenceintegercalculatedprimary index
tc_rowidcharactercalculated = rowid(Currency),rowid(RoundingMethod)


Internal usage


QadFinancials
method BAPMatchingReport.MatchingVariance
method BAPMatchingReport.MatchingVarianceForLC
lookup query on tCurrency.CurrencyCode
lookup query on tFRWCube.FRWCubeCurrencyCode
lookup query on tWHT.WHTCompanyLCCurrencyCode
lookup query on tAPMatching.tcCurrencyCode
lookup query on tBankCharge.tcCurrencyCode
lookup query on tBankState.tcCurrencyCode
lookup query on tBankStateAlloc.tcCurrencyCode
lookup query on tBankNumber.tcCurrencyCode
lookup query on tBill.tcCurrencyCode
lookup query on tBudget.tcCurrencyCode
lookup query on tCashReport.tcCurrencyCode
lookup query on tCDocument.tcCurrencyCode
lookup query on tCInvoice.tcCurrencyCode
lookup query on tCInvoice.tcVatCurrencyCode
lookup query on tCompanyProperty.tcCurrencyCode
lookup query on tConsolidDump.tcCurrencyCode
lookup query on tCountry.tcCurrencyCode
lookup query on tCreditor.tcCurrencyCode
lookup query on tDDocument.tcCurrencyCode
lookup query on tDebtor.tcCurrencyCode
lookup query on tDInvoice.tcCurrencyCode
lookup query on tDInvoice.tcVatCurrencyCode
lookup query on tDomainProperty.tcCurrencyCode
lookup query on tDomainProperty.tcStatutoryCurrencyCode
lookup query on tEmployee.tcCurrencyCode
lookup query on tExchangeRate.tcFromCurrencyCode
lookup query on tExchangeRate.tcToCurrencyCode
lookup query on tExpNote.tcCurrencyCode
lookup query on tExpNoteLine.tcCurrencyCode
lookup query on tFACapital.tcCurrencyCode
lookup query on tGL.tcCurrencyCode
lookup query on tPostingLine.tcCurrencyCode
lookup query on tPostingVat.tcCurrencyCode
lookup query on tPostingVatDelay.tcCurrencyCode
lookup query on tPayFormatType.tcCurrencyCode
lookup query on tPaySelPrepay.tcCurrencyCode
lookup query on tProject.tcCurrencyCode
lookup query on tRevalGL.tcCurrencyCode
lookup query on tRevalRate.tcFromCurrencyCode
lookup query on tRevalRate.tcToCurrencyCode
lookup query on tSysProperty.tcCurrencyCode
lookup query on tWHT.tcCurrencyCode
lookup query on tPostingWHT.tcCurrencyCode


Sample code: how to call this query 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 = "BCurrency".
create ttContext.
assign ttContext.propertyName = "methodName"
       ttContext.propertyValue = "SelectCurrency".
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 = "".

/* Create input dataset */
create dataset vhInputDS.
vhInputDS:read-xmlschema("file", "xml/bcurrency.selectcurrency.i.xsd", ?).
vhParameter = vhInputDS:get-buffer-handle("tParameterI").
vhParameter:buffer-create().

assign vhParameter::icRange = "A"
       vhParameter::icRowid = ""
       vhParameter::iiRownum = 0
       vhParameter::iiNumber = 5 /* Number of records to read */
       vhParameter::icSortColumns = ""
       vhParameter::ilCountOnly = false
       vhParameter::ilForwardRead = true
       vhParameter::iiMaximumBrowseRecordsToCount = 0.

vhParameter = vhInputDS:get-buffer-handle("tFilter").
vhParameter:buffer-create().

assign vhParameter::<field-name-1> = <field-value-1>
       vhParameter::<field-name-2> = <field-value-2>
       ...

/* 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.