project QadFinancials > class BVAT > API query VatForWHT

Description

Query to return tax related details. Used for withholding tax. Only user on UI.


query filter (table tFilter)


tcBusinessFieldNametcDataTypetcOperator
icDomainCodec=
tlbl_mstr.lbl_langc=,>=,>,<>,<=,<,begins,can-do,matches
tlbl_mstr.lbl_longc=,>=,>,<>,<=,<,begins,can-do,matches
ttx2_mstr.tx2_ap_acctc=,>=,>,<>,<=,<,begins,can-do,matches
ttx2_mstr.tx2_ap_cn_acctc=,>=,>,<>,<=,<,begins,can-do,matches
ttx2_mstr.tx2_ap_cn_subc=,>=,>,<>,<=,<,begins,can-do,matches
ttx2_mstr.tx2_ap_subc=,>=,>,<>,<=,<,begins,can-do,matches
ttx2_mstr.tx2_descc=,>=,>,<>,<=,<,begins,can-do,matches
ttx2_mstr.tx2_pct_recvd=,>=,>,<>,<=,<
ttx2_mstr.tx2_tax_pctd=,>=,>,<>,<=,<
ttx2_mstr.tx2_tax_typec=,>=,>,<>,<=,<,begins,can-do,matches
ttxty_mstr.txty_tax_descc=,>=,>,<>,<=,<,begins,can-do,matches
ttxty_mstr.txty_wt_typel=,<>
tVat.VatCodec=,>=,>,<>,<=,<,begins,can-do,matches
tVat.VatInOutc=,>=,>,<>,<=,<,begins,can-do,matches


Parameters (internal)


icDomainCodecharacterDomain code


query condition


  each Vat where

      first Domains (inner-join) where
Domains.Domain_ID = Vat.Domain_ID AND
Domains.DomainCode = icDomainCode

      first tx2_mstr (inner-join) where
tx2_mstr.tx2_tax_code = Vat.VatCode AND
tx2_mstr.tx2_domain = icDomainCode

          first txty_mstr (inner-join) where
txty_mstr.txty_tax_type = tx2_mstr.tx2_tax_type AND
txty_mstr.txty_wt_type = TRUE

              first lbl_mstr (outer-join) where
lbl_mstr.lbl_term = txty_mstr.txty_tax_desc AND
lbl_mstr.lbl_lang = current-language


query resultset tqVatForWHT


field namedata typedb fielddescription
tiDomain_IDintegerVat.Domain_IDDomain
tclbl_langcharacterlbl_mstr.lbl_langLanguage
tclbl_longcharacterlbl_mstr.lbl_longLong Label
tctx2_ap_acctcharactertx2_mstr.tx2_ap_acctAP Tax Account
tctx2_ap_cn_acctcharactertx2_mstr.tx2_ap_cn_acctAP Tax CN Account
tctx2_ap_cn_subcharactertx2_mstr.tx2_ap_cn_subAP Tax CN Sub-Account
tctx2_ap_subcharactertx2_mstr.tx2_ap_subAP Tax Sub-Account
tctx2_desccharactertx2_mstr.tx2_descDescription
tdtx2_pct_recvdecimaltx2_mstr.tx2_pct_recvPercent Recoverable
tdtx2_tax_pctdecimaltx2_mstr.tx2_tax_pctTax Rate
tctx2_tax_typecharactertx2_mstr.tx2_tax_typeTax Type
tctxty_tax_desccharactertxty_mstr.txty_tax_descDescription
tltxty_wt_typelogicaltxty_mstr.txty_wt_typeWithholding Tax Type
tcVatCodecharacterVat.VatCodeTax Code
tcVatInOutcharacterVat.VatInOutTax In/Out
tcVatInOutCalccharactercalculatedTax In/Out
VatCustomcharactercalculatedcustom fields
tx2_mstrCustomcharactercalculatedcustom fields
txty_mstrCustomcharactercalculatedcustom fields
lbl_mstrCustomcharactercalculatedcustom fields
ti_sequenceintegercalculatedprimary index
tc_rowidcharactercalculated = rowid(Vat),rowid(Domains),rowid(tx2_mstr),rowid(txty_mstr),rowid(lbl_mstr)


Internal usage


unused


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 = "BVAT".
create ttContext.
assign ttContext.propertyName = "methodName"
       ttContext.propertyValue = "VatForWHT".
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/bvat.vatforwht.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.