project QadFinancials > class BMfgTaxEnv > API query SelectMfgTaxEnvForTaxCode

Description

select query for the tax codes : so it shows only those for that specific environment in that certain domain, it shows also the non-taxable ones


query filter (table tFilter)


tcBusinessFieldNametcDataTypetcOperator
itTx2ExpDatet>
ttx2_mstr.tx2_descc=,>=,>,<>,<=,<,begins,can-do,matches
ttx2_mstr.tx2_domainc=,>=,>,<>,<=,<,begins,can-do,matches
ttx2_mstr.tx2_effdatet=,>=,>,<>,<=,<
ttx2_mstr.tx2_exp_datet=,>=,>,<>,<=,<
ttx2_mstr.tx2_pt_taxcc=,>=,>,<>,<=,<,begins,can-do,matches
ttx2_mstr.tx2_tax_codec=,>=,>,<>,<=,<,begins,can-do,matches
ttx2_mstr.tx2_tax_typec=,>=,>,<>,<=,<,begins,can-do,matches
ttx2_mstr.tx2_tax_usagec=,>=,>,<>,<=,<,begins,can-do,matches
ttxed_det.txed_seqi=,>=,>,<>,<=,<
ttxed_det.txed_tax_typec=,>=,>,<>,<=,<,begins,can-do,matches
ttxenv_mstr.txenv_tax_envc=,>=,>,<>,<=,<,begins,can-do,matches


Parameters (internal)


itTx2ExpDatedateExpiration Date


query condition


  each txenv_mstr where

      each txed_det (inner-join) where
txed_det.txed_tax_env = txenv_mstr.txenv_tax_env AND

          each tx2_mstr (inner-join) where
(tx2_mstr.tx2_exp_date > itTx2ExpDate OR
tx2_mstr.tx2_exp_date = ? ) AND
(tx2_mstr.tx2_tax_type = txed_det.txed_tax_type OR
tx2_mstr.tx2_tax_type = {&VATTAXTYPE-NONTAX} )


query sort order


tx2_mstr.tx2_domain (ascending)
txed_det.txed_tax_type (ascending)
txed_det.txed_seq (ascending)


query resultset tqSelectMfgTaxEnvForTaxCode


field namedata typedb fielddescription
tctx2_desccharactertx2_mstr.tx2_descDescription
tttx2_exp_datedatetx2_mstr.tx2_exp_dateExpiration Date
tctx2_tax_typecharactertx2_mstr.tx2_tax_typeTax Type
tctxenv_tax_envcharactertxenv_mstr.txenv_tax_envTax Environment
tctxed_tax_typecharactertxed_det.txed_tax_typeTax Type
titxed_seqintegertxed_det.txed_seqSequence
tctx2_pt_taxccharactertx2_mstr.tx2_pt_taxcItem Tax Class
tctx2_tax_usagecharactertx2_mstr.tx2_tax_usageTax Usage
tctx2_tax_codecharactertx2_mstr.tx2_tax_codeTax Code
tttx2_effdatedatetx2_mstr.tx2_effdateEffective
tctx2_domaincharactertx2_mstr.tx2_domainDomain
txenv_mstrCustomcharactercalculatedcustom fields
txed_detCustomcharactercalculatedcustom fields
tx2_mstrCustomcharactercalculatedcustom fields
ti_sequenceintegercalculatedprimary index
tc_rowidcharactercalculated = rowid(txenv_mstr),rowid(txed_det),rowid(tx2_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 = "BMfgTaxEnv".
create ttContext.
assign ttContext.propertyName = "methodName"
       ttContext.propertyValue = "SelectMfgTaxEnvForTaxCode".
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/bmfgtaxenv.selectmfgtaxenvfortaxcode.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.