project BLF > class BUser > method Calculate
Description
Add code here to initialize the calculated fields of the class temp-tables after loading existing records from the application database.
Parameters
oiReturnStatus | output | integer | |
Internal usage
unused
program code (program/buser.p)
<ANCESTOR-CODE>
<Q-1 run DomainsByActive (all) (Read) (NoCache)
(input true, (DomainIsActive)
output dataset tqDomainsByActive) in BDomain >
assign vhAvailableDomains = temp-table tAvailableDomains:handle.
vhAvailableDomains:copy-temp-table(temp-table tqDomainsByActive:handle).
empty temp-table tAvailableCompanies.
for each tUsr on error undo, throw:
if vlDataLoadKeepPrevious and can-find (tAlreadyCalculatedRecords where
tAlreadyCalculatedRecords.tcTableName = "Usr" and
tAlreadyCalculatedRecords.tc_Rowid = tUsr.tc_Rowid)
then next.
for each tUsrDomain where
tUsrDomain.tc_ParentRowid = tUsr.tc_Rowid on error undo, throw:
<Q-3 run CompanyByDomainActive (all) (Read) (NoCache)
(input ?, (CompanyId)
input tUsrDomain.Domain_ID, (DomainId)
input true, (CompanyIsActive)
output dataset tqCompanyByDomainActive) in BCompany >
for each tqCompanyByDomainActive where
tqCompanyByDomainActive.tiDomain_ID = tUsrDomain.Domain_ID and
tqCompanyByDomainActive.tlCompanyIsActive = true on error undo, throw:
create tAvailableCompanies.
assign tAvailableCompanies.tcCompanyCode = tqCompanyByDomainActive.tcCompanyCode
tAvailableCompanies.tcDomainCode = tUsrDomain.tcDomainCode
tAvailableCompanies.tiCompanyId = tqCompanyByDomainActive.tiCompany_ID
tAvailableCompanies.tiDomainId = tqCompanyByDomainActive.tiDomain_ID.
end.
end.
end.