project QadFinancials > class BDDocument > API query SelectDDocumentPosting (optimised)


query filter (table tFilter)


tcBusinessFieldNametcDataTypetcOperator
iiCompanyIdi
tCurrency.CurrencyCodec=,>=,>,<>,<=,<,begins,can-do,matches
tDDocument.DDocumentNumberi=,>=,>,<>,<=,<
tDDocumentPostingLine.DDocumentStatusc=,>=,>,<>,<=,<,begins,can-do,matches
tDDocument.DDocumentTypec=,>=,>,<>,<=,<,begins,can-do,matches
tDDocument.DDocumentYeari=,>=,>,<>,<=,<
tGL.GLCodec=,>=,>,<>,<=,<,begins,can-do,matches
tGL.GLDescriptionc=,>=,>,<>,<=,<,begins,can-do,matches
tGL.GLSystemTypeCodec=,>=,>,<>,<=,<,begins,can-do,matches
tGL.GLTypeCodec=,>=,>,<>,<=,<,begins,can-do,matches
tJournal.JournalCodec=,>=,>,<>,<=,<,begins,can-do,matches
tJournal.JournalTypeCodec=,>=,>,<>,<=,<,begins,can-do,matches
tPostingLine.PostingDatet=,>=,>,<>,<=,<
tPostingLine.PostingLineCreditCCd=,>=,>,<>,<=,<
tPostingLine.PostingLineCreditLCd=,>=,>,<>,<=,<
tPostingLine.PostingLineCreditTCd=,>=,>,<>,<=,<
tPostingLine.PostingLineDebitCCd=,>=,>,<>,<=,<
tPostingLine.PostingLineDebitLCd=,>=,>,<>,<=,<
tPostingLine.PostingLineDebitTCd=,>=,>,<>,<=,<
tPosting.PostingPeriodi=,>=,>,<>,<=,<
tPosting.PostingSystemDatet=,>=,>,<>,<=,<
tPosting.PostingVoucheri=,>=,>,<>,<=,<
tPosting.PostingYeari=,>=,>,<>,<=,<
tPostingLine.PostingYearPeriodi=,>=,>,<>,<=,<


Parameters (internal)


iiCompanyIdintegerCompany id


query condition


  each DDocument where
DDocument.Company_Id = iiCompanyId AND

      each DDocumentPostingLine (inner-join) where
DDocumentPostingLine.DDocument_ID = DDocument.DDocument_ID AND

          first PostingLine (inner-join) where
PostingLine.Company_Id = iiCompanyId AND
PostingLine.PostingLine_ID = DDocumentPostingLine.PostingLine_ID AND

              first Currency (inner-join) where
Currency.Currency_ID = PostingLine.Currency_ID AND

              first GL (inner-join) where
GL.SharedSet_Id = vi_GL_sharedset(iiCompanyId) AND
GL.GL_ID = PostingLine.GL_ID AND

              first Posting (inner-join) where
Posting.Company_Id = iiCompanyId AND
Posting.Posting_ID = PostingLine.Posting_ID AND

                  first Journal (inner-join) where
Journal.SharedSet_Id = vi_JOURNAL_sharedset(iiCompanyId) AND
Journal.Journal_ID = Posting.Journal_ID AND


query resultset tqSelectDDocumentPosting


field namedata typedb fielddescription
tdAmountCCCalcdecimalcalculated
tdAmountLCCalcdecimalcalculated
tdAmountTCCalcdecimalcalculated
tcCurrencyCodecharacterCurrency.CurrencyCodeCurrency Code
tcDayBookTypeCalccharactercalculated
tiDDocument_IDintegerDDocument.DDocument_IDRecord ID
tiDDocumentNumberintegerDDocument.DDocumentNumberDocument Number. This field hold a unified number for report use.
tcDDocumentStatuscharacterDDocumentPostingLine.DDocumentStatusCustomer Payment Status. This field indicats the customer payment status.
At a minimum, you must have two statuses: Paid and Void
tcDDocumentStatusCalccharactercalculated
tcDDocumentTypecharacterDDocument.DDocumentTypePayment Instrument. The system displays the payment instrument associated with the payment format linked to the customer bank.
tcDDocumentTypeCalccharactercalculated
tiDDocumentYearintegerDDocument.DDocumentYearYear/Number. This field displays the accounting year and payment sequence number, which is automatically generated by the accounting year.
tiGL_IDintegerGL.GL_IDRecord ID
tcGLCodecharacterGL.GLCodeA code identifying the GL account.
tcGLDescriptioncharacterGL.GLDescriptionA description of the GL account.
tcGLSystemTypeCodecharacterGL.GLSystemTypeCodeSystem Type: A code identifying the type of system account.
tcGLSysTypeCalccharactercalculated
tcGLTypeCalccharactercalculated
tcGLTypeCodecharacterGL.GLTypeCodeA code identifying the type of account.
tcJournalCodecharacterJournal.JournalCodeA daybook code (maximum eight characters).
tcJournalTypeCodecharacterJournal.JournalTypeCodeA daybook type code.
api annotation:Value for this field defaults to "Journal Entries".
tcPaymentKeyCalccharactercalculated
ttPostingDatedatePostingLine.PostingDatePosting Date.
api annotation:If this field is blank, it gets a default value equal to the value of PostingDate in tPosting.
tdPostingLineCreditCCdecimalPostingLine.PostingLineCreditCCSC Credit
api annotation:Partial Update = yes - it will get a default value depending on the value of PostingLinCreditTC, PostingLineCCRate & PostingLineCCScale.
SC Amount = TC Amount * Exchange rate (TC/SC) * Scale Factor (TC/SC). If Partial Update is false, you should enter the correct value for this field
tdPostingLineCreditLCdecimalPostingLine.PostingLineCreditLCBC Credit
api annotation:Partial Update = yes - it will get a default value depends on the value of PostingLineCreditTC, PostingLineExchangeRate & PostingLineRateScale.
BC Amount = TC Amount * Exchange rate (TC/BC) * Scale Factor (TC/BC). If Partial Update is false, enter a value for this field.
tdPostingLineCreditTCdecimalPostingLine.PostingLineCreditTCTC Credit
tdPostingLineDebitCCdecimalPostingLine.PostingLineDebitCCSC Debit
api annotation:Partial Update = yes - it will get a default value depending on the value of PostingLineDebitTC, PostingLineCCRate & PostingLineCCScale.
SC Amount = TC Amount * Exchange rate (TC/SC) * Scale Factor (TC/SC). If Partial Update is false, enter the correct value for this field.
tdPostingLineDebitLCdecimalPostingLine.PostingLineDebitLCBC Debit
api annotation:Partial Update = yes - it will get a default value depending on the value of PostingLineDebitTC, PostingLineExchangeRate and PostingLineRateScale.
BC Amount = TC Amount * Exchange rate (TC/BC) * Scale Factor (TC/BC). If Partial Update = false, enter the correct value into this field.
tdPostingLineDebitTCdecimalPostingLine.PostingLineDebitTCTC Debit
tiPostingPeriodintegerPosting.PostingPeriodThe GL period for the posting. The period must be open.
ttPostingSystemDatedatePosting.PostingSystemDateThe system date of the posting corresponding to "PostingDate".
api annotation:In Create mode, when Partial Update = yes - this field gets a default value which is the current date of the system.
tiPostingVoucherintegerPosting.PostingVoucherVoucher is a sequential number that uniquely identifies the journal entry (within the combination of an entity and a daybook code).
api annotation:In create mode,enter 0 in this field - the voucher number is generated by the system. In Modify/Delete, the correct voucher number must be entered because this identifies the record.
tiPostingYearintegerPosting.PostingYearThe GL calendar year for the posting.
tiPostingYearPeriodintegerPostingLine.PostingYearPeriodThe GL calendar year/period for the journal entry.
api annotation:In Create mode, it will get be defaulted to the value for the field PostingYearPeriod of tPosting.
DDocumentCustomcharactercalculatedcustom fields
DDocumentPostingLineCustomcharactercalculatedcustom fields
PostingLineCustomcharactercalculatedcustom fields
GLCustomcharactercalculatedcustom fields
CurrencyCustomcharactercalculatedcustom fields
PostingCustomcharactercalculatedcustom fields
JournalCustomcharactercalculatedcustom fields
ti_sequenceintegercalculatedprimary index
tc_rowidcharactercalculated = rowid(DDocument),rowid(DDocumentPostingLine),rowid(PostingLine),rowid(Currency),rowid(GL),rowid(Posting),rowid(Journal)


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 = "BDDocument".
create ttContext.
assign ttContext.propertyName = "methodName"
       ttContext.propertyValue = "SelectDDocumentPosting".
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/bddocument.selectddocumentposting.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.