Description
This method is used to generate prodataset for Entity Report.
Parameters
| ohEntity | output | handle | Handle of Entity Prodataset. |
| oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program3/baccountinginterface.p)
assign oiReturnStatus = -98.
/* Empty tem */
empty temp-table tEntity.
empty temp-table tReport.
/* to create a temp table, due to EDI limitation */
create tReport.
assign tReport.tiReportID = 1.
/* Start querys */
<Q-1 run BusinessRelationInfo (Start) in BBusinessRelation >
<Q-7 run AddressByAddressBusRelType (Start) in BBusinessRelation >
<Q-8 run ContactByIDAllInfo (Start) in BBusinessRelation >
<Q-9 run CorporateGroupPrim (Start) in BCorporateGroup >
<Q-10 run DebtorByBusinessRelation (Start) in BDebtor >
<Q-11 run CreditorByBusinessRelation (Start) in BCreditor >
<Q-17 run BusinessRelationInfo (all) (Read) (NoCache)
(input ?, (BusinessRelationID)
output dataset tqBusinessRelationInfo) in BBusinessRelation >
for each tqBusinessRelationInfo:
<Q-2 run AddressByAddressBusRelType (all) (Read) (NoCache)
(input ?, (AddressTypeId)
input ?, (AddressTypeCode)
input tqBusinessRelationInfo.tiBusinessRelation_ID, (BusinessRelationId)
input ?, (BusinessRelationCode)
input ?, (AddressId)
output dataset tqAddressByAddressBusRelType) in BBusinessRelation >
<Q-3 run ContactByIDAllInfo (all) (Read) (NoCache)
(input tqBusinessRelationInfo.tiBusinessRelation_ID, (BusinessRelation_ID)
output dataset tqContactByIDAllInfo) in BBusinessRelation >
<Q-4 run CorporateGroupPrim (all) (Read) (NoCache)
(input tqBusinessRelationInfo.tiCorporateGroup_ID, (CorporateGroup_ID)
input ?, (CorporateGroupCode)
output dataset tqCorporateGroupPrim) in BCorporateGroup >
find first tqAddressByAddressBusRelType no-error.
find first tqContactByIDAllInfo no-error.
find first tqCorporateGroupPrim no-error.
<Q-5 run DebtorByBusinessRelation (all) (Read) (NoCache)
(input ?, (CompanyId)
input ?, (DebtorCode)
input ?, (DebtorId)
input tqBusinessRelationInfo.tiBusinessRelation_ID, (BusinessRelationID)
output dataset tqDebtorByBusinessRelation) in BDebtor >
<Q-6 run CreditorByBusinessRelation (all) (Read) (NoCache)
(input ?, (CompanyId)
input ?, (CreditorCode)
input tqBusinessRelationInfo.tiBusinessRelation_ID, (BusinessRelationId)
output dataset tqCreditorByBusinessRelation) in BCreditor >
find first tqDebtorByBusinessRelation no-error.
find first tqCreditorByBusinessRelation no-error.
if available tqDebtorByBusinessRelation or available tqCreditorByBusinessRelation
then do:
create tEntity.
assign
tEntity.tcAddressCity = tqAddressByAddressBusRelType.tcAddressCity
tEntity.tcAddressStreet = tqAddressByAddressBusRelType.tcAddressStreet1 + tqAddressByAddressBusRelType.tcAddressPostalAddress2
tEntity.tcBusinessRelationCode = tqBusinessRelationInfo.tcBusinessRelationCode
tEntity.tcBusinessRelationName1 = tqBusinessRelationInfo.tcBusinessRelationName1
tEntity.tcCreditLevel = '':U
tEntity.tiReportID = 1.
if available tqContactByIDAllInfo
then assign tEntity.tcContactPhone = tqContactByIDAllInfo.tcContactTelephone.
else assign tEntity.tcContactPhone = '':U.
if available tqCorporateGroupPrim
then assign tEntity.tcCorperateGroupCode = tqCorporateGroupPrim.tcCorporateGroupCode.
else assign tEntity.tcCorperateGroupCode = '':U.
end. /* if available tqDebtorByBusinessRelation or available tqCreditorByBusinessRelation */
end. /* for each tqBusinessRelationInfo: */
/* Stop querys */
<Q-18 run BusinessRelationInfo (Stop) in BBusinessRelation >
<Q-12 run AddressByAddressBusRelType (Stop) in BBusinessRelation >
<Q-13 run ContactByIDAllInfo (Stop) in BBusinessRelation >
<Q-14 run CorporateGroupPrim (Stop) in BCorporateGroup >
<Q-15 run DebtorByBusinessRelation (Stop) in BDebtor >
<Q-16 run CreditorByBusinessRelation (Stop) in BCreditor >
/* Use prodataset to encapsulat thetemp-table */
create dataset ohEntity in widget-pool "non-persistent".
create buffer vhReport for table buffer tReport:handle in widget-pool "non-persistent".
create buffer vhEntity for table buffer tEntity:handle in widget-pool "non-persistent".
ohEntity:set-buffers(vhReport, vhEntity).
ohEntity:add-relation(vhReport, vhEntity, 'tiReportID,tiReportID', ?, true).
ohEntity:name = {&EXPORTREPORTCODE-WLDW}.
if oiReturnStatus = -98
then assign oiReturnStatus = 0.