project QadFinancials > class BDDocument > method ApiGetDInvoiceIdByUniqueIndexFields

Description

This api method is used for TPM deduction detail maintenance.


Parameters


iccompanyCodeinputcharacterEntity code
iiInvoiceYearinputintegerInvoice year
icJournalinputcharacterDaybook code
iiVoucherinputintegerInvoice voucher
biDInvoiceIdinput-outputintegerAn input-output parameter of DInvoiceId
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


unused


program code (program9/bddocument.p)

/**********************************************************************************/
/* This method will return the DInvoiceId base the input parameters: */
/* Entity, Invoice Year, Invoice Daybook, Invoice Voucher */
/**********************************************************************************/
assign biDInvoiceId = 0.

/* translate companycode to companyid */
<Q-62 run CompanyByAll (all) (Read) (NoCache)
   (input ?, (CompanyId)
    input iccompanyCode, (CompanyCode)
    input yes, (CompanyIsActive)
    output dataset tqCompanyByAll) in BCompany>
find first tqCompanyByAll no-lock no-error.
if available tqCompanyByAll
then do:
    assign viInputCompanyId = tqCompanyByAll.tiCompany_ID.
end.

if viInputCompanyId = 0 or viInputCompanyId = ?
then return.

/* translate journalcode to journalId */
<Q-29 run JournalPrim (all) (Read) (NoCache)
   (input viInputCompanyId, (CompanyId)
    input icJournal, (JournalCode)
    input ?, (JournalID)
    output dataset tqJournalPrim) in BJournal>
find first tqJournalPrim no-lock no-error.
if available tqJournalPrim
then do:
    assign viInputJournalId = tqJournalPrim.tiJournal_ID.
end.

if viInputJournalId = 0 or viInputJournalId = ?
then return.

<Q-25 run DInvoiceByUniqueIndexFields (all) (Read) (NoCache)
   (input iiInvoiceYear, (InvoiceYear)
    input iiVoucher, (Voucher)
    input viInputCompanyId, (CompanyId)
    input viInputJournalId, (JournalId)
    output dataset tqDInvoiceByUniqueIndexFields) in BDInvoice>

find first tqDInvoiceByUniqueIndexFields no-lock no-error.
if available tqDInvoiceByUniqueIndexFields
then do:
    assign biDInvoiceId = tqDInvoiceByUniqueIndexFields.tiDInvoice_ID.
end.