Description
Prepare instance for dump of detailed postings
Parameters
| iiCompanyId | input | integer | |
| icDumpDirectory | input | character | |
| icConsolCompany | input | character | |
| idCCExchangeRate | input | decimal | |
| idCCExchangeRateScale | input | decimal | |
| icCCCurrencyCode | input | character | |
| iiDumpChunkSize | input | integer | |
| iiFromYear | input | integer | |
| iiFromPeriod | input | integer | |
| iiToYear | input | integer | |
| iiToPeriod | input | integer | |
| bcJournalIDList | input-output | character | |
| bcBusinessRelationIDList | input-output | character | |
| bcDivisionIDList | input-output | character | |
| bcCostCentreIDList | input-output | character | |
| bcProjectIDList | input-output | character | |
| bcSafStructureIDList | input-output | character | |
| bcSafIDList | input-output | character | |
| bcSafStructureLinkIDList | input-output | character | |
| bcGLIDList | input-output | character | |
| oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program1/bjournalentry.p)
/* ========================================================================== */
/* Normalize input paramters */
/* ========================================================================== */
if iiCompanyId = 0 then assign iiCompanyId = viCompanyId.
if iiCompanyId = ? then assign iiCompanyId = viCompanyId.
If oiReturnStatus = 0
Then Assign oiReturnStatus = -98.
Assign bcJournalIDList = Replace(bcJournalIDList, Chr(4),',':U).
Assign bcBusinessRelationIDList = Replace(bcBusinessRelationIDList,Chr(4),',':U).
Assign bcDivisionIDList = Replace(bcDivisionIDList, Chr(4),',':U).
Assign bcCostCentreIDList = Replace(bcCostCentreIDList, Chr(4),',':U).
Assign bcProjectIDList = Replace(bcProjectIDList, Chr(4),',':U).
Assign bcSafStructureIDList = Replace(bcSafStructureIDList, Chr(4),',':U).
Assign bcSafIDList = Replace(bcSafIDList, Chr(4),',':U).
Assign bcSafStructureLinkIDList = Replace(bcSafStructureLinkIDList,Chr(4),',':U).
Assign bcGLIDList = Replace(bcGLIDList, Chr(4),',':U).
<Q-1 run PostingByPeriodRange (all) (Read) (NoCache)
(input iiCompanyId, (CompanyId)
input ((iiFromYear * 100) + iiFromPeriod), (FromYearPeriod)
input ((iiToYear * 100) + iiToPeriod), (ToYearPeriod)
output dataset tqPostingByPeriodRange) in BPosting >
/* Start queries */
<Q-2 run PostingSafByIDs (Start) in BPosting >
<Q-3 run SafStructureLinkByAllIDs (Start) in BSafStructureLink >
For Each tqPostingByPeriodRange Break By tqPostingByPeriodRange.tiPostingYearPeriod:
If Not Can-do(vcPostingIDList + ",0":U, String(tqPostingByPeriodRange.tiPosting_ID))
Then Assign vcPostingIDList = vcPostingIDList + ',':U + String(tqPostingByPeriodRange.tiPosting_ID).
If Not Can-do(bcJournalIDList + ",0":U, String(tqPostingByPeriodRange.tiJournal_ID))
Then Assign bcJournalIDList = bcJournalIDList + ',':U + String(tqPostingByPeriodRange.tiJournal_ID).
If Not Can-do(bcBusinessRelationIDList + ",0":U, String(tqPostingByPeriodRange.tiIntercoBusinessRelation_ID))
Then Assign bcBusinessRelationIDList = bcBusinessRelationIDList + ',':U + String(tqPostingByPeriodRange.tiIntercoBusinessRelation_ID).
If Not Can-do(bcDivisionIDList + ",0":U, String(tqPostingByPeriodRange.tiDivision_ID))
Then Assign bcDivisionIDList = bcDivisionIDList + ',':U + String(tqPostingByPeriodRange.tiDivision_ID).
If Not Can-do(bcCostCentreIDList + ",0":U, String(tqPostingByPeriodRange.tiCostCentre_ID))
Then Assign bcCostCentreIDList = bcCostCentreIDList + ',':U + String(tqPostingByPeriodRange.tiCostCentre_ID).
If Not Can-do(bcProjectIDList + ",0":U, String(tqPostingByPeriodRange.tiProject_ID))
Then Assign bcProjectIDList = bcProjectIDList + ',':U + String(tqPostingByPeriodRange.tiProject_ID).
If Not Can-do(bcGLIDList + ",0":U, String(tqPostingByPeriodRange.tiGL_ID))
Then Assign bcGLIDList = bcGLIDList + ',':U + String(tqPostingByPeriodRange.tiGL_ID).
Assign vcPostingIDList = Trim(vcPostingIDList).
If Num-entries(vcPostingIDList) mod iiDumpChunkSize = 0 Or
Last(tqPostingByPeriodRange.tiPostingYearPeriod)
Then Do:
Assign viDumpSeq = viDumpSeq + 1.
Assign vcDumpFile = icDumpDirectory + "Posting.":U + String(viDumpSeq) + ".xml":U.
Assign vcPostingIDList = Replace(Trim(vcPostingIDList,',':U),',':U,Chr(4)).
<M-4 run DataLoad (input ? (icRowids),
input vcPostingIDList (icPkeys),
input ? (icObjectIds),
input ? (icFreeform),
input false (ilKeepPrevious),
output viFcReturnSuper (oiReturnStatus)) in BJournalEntry>
If viFcReturnSuper <> 0
Then Assign oiReturnStatus = viFcReturnSuper.
If viFcReturnSuper < 0
Then Return.
Assign bcGLIDList = Replace(Trim(bcGLIDList,',':U),',':U,Chr(4)).
<M-11 run DumpJEForConsolid (input vcDumpFile (icDumpFile),
input icConsolCompany (icConsolCompany),
input idCCExchangeRate (idCCExchangeRate),
input idCCExchangeRateScale (idCCExchangeRateScale),
input icCCCurrencyCode (icCCCurrencyCode),
input-output bcGLIDList (bcGLIDList),
output viFcReturnSuper (oiReturnStatus)) in BJournalEntry>
If viFcReturnSuper <> 0
Then Assign oiReturnStatus = viFcReturnSuper.
If viFcReturnSuper < 0
Then Return.
Assign bcGLIDList = Replace(bcGLIDList,Chr(4),',':U).
Assign vcPostingIDList = '':U.
End.
<Q-5 run PostingSafByIDs (all) (Read) (NoCache)
(input ?, (PostingSafId)
input tqPostingByPeriodRange.tiPostingLine_ID, (PostingLineId)
input ?, (SafId)
input ?, (SafStructureId)
output dataset tqPostingSafByIDs) in BPosting >
For Each tqPostingSafByIDs:
If Not Can-do(bcSafStructureIDList + ",0":U, String(tqPostingSafByIDs.tiSafStructure_ID))
Then Assign bcSafStructureIDList = bcSafStructureIDList + ',':U + String(tqPostingSafByIDs.tiSafStructure_ID).
If Not Can-do(bcSafIDList + ",0":U, String(tqPostingSafByIDs.tiSaf_ID))
Then Assign bcSafIDList = bcSafIDList + ',':U + String(tqPostingSafByIDs.tiSaf_ID).
If tqPostingSafByIDs.tiSaf_ID <> 0 And
tqPostingSafByIDs.tiSaf_ID <> ?
Then Do:
If tqPostingSafByIDs.tcPostingSafParentType = {&POSTINGSAFPARENTTYPE-GL}
Then Do:
<Q-6 run SafStructureLinkByAllIDs (all) (Read) (NoCache)
(input ?, (SafStructureLinkID)
input tqPostingSafByIDs.tiSafStructure_ID, (SafStructureID)
input tqPostingByPeriodRange.tiGL_ID, (GLID)
input ?, (ProjectID)
input ?, (CostCentreID)
output dataset tqSafStructureLinkByAllIDs) in BSafStructureLink >
Find First tqSafStructureLinkByAllIDs No-lock No-error.
If Available tqSafStructureLinkByAllIDs
Then Do:
If Not Can-do(bcSafStructureLinkIDList + ",0":U, String(tqSafStructureLinkByAllIDs.tiSafStructureLink_ID))
Then Assign bcSafStructureLinkIDList = bcSafStructureLinkIDList + ',':U + String(tqSafStructureLinkByAllIDs.tiSafStructureLink_ID).
End.
End.
If tqPostingSafByIDs.tcPostingSafParentType = {&POSTINGSAFPARENTTYPE-COSTCENTRE}
Then Do:
<Q-7 run SafStructureLinkByAllIDs (all) (Read) (NoCache)
(input ?, (SafStructureLinkID)
input tqPostingSafByIDs.tiSafStructure_ID, (SafStructureID)
input ?, (GLID)
input ?, (ProjectID)
input tqPostingByPeriodRange.tiCostCentre_ID, (CostCentreID)
output dataset tqSafStructureLinkByAllIDs) in BSafStructureLink >
Find First tqSafStructureLinkByAllIDs No-lock No-error.
If Available tqSafStructureLinkByAllIDs
Then Do:
If Not Can-do(bcSafStructureLinkIDList + ",0":U, String(tqSafStructureLinkByAllIDs.tiSafStructureLink_ID))
Then Assign bcSafStructureLinkIDList = bcSafStructureLinkIDList + ',':U + String(tqSafStructureLinkByAllIDs.tiSafStructureLink_ID).
End.
End.
If tqPostingSafByIDs.tcPostingSafParentType = {&POSTINGSAFPARENTTYPE-PROJECT}
Then Do:
<Q-8 run SafStructureLinkByAllIDs (all) (Read) (NoCache)
(input ?, (SafStructureLinkID)
input tqPostingSafByIDs.tiSafStructure_ID, (SafStructureID)
input ?, (GLID)
input tqPostingByPeriodRange.tiProject_ID, (ProjectID)
input ?, (CostCentreID)
output dataset tqSafStructureLinkByAllIDs) in BSafStructureLink >
Find First tqSafStructureLinkByAllIDs No-lock No-error.
If Available tqSafStructureLinkByAllIDs
Then Do:
If Not Can-do(bcSafStructureLinkIDList + ",0":U, String(tqSafStructureLinkByAllIDs.tiSafStructureLink_ID))
Then Assign bcSafStructureLinkIDList = bcSafStructureLinkIDList + ',':U + String(tqSafStructureLinkByAllIDs.tiSafStructureLink_ID).
End.
End.
End.
End. /* For Each tqPostingSafByIDs: */
End. /* For Each tqPostingByPeriodRange: */
/* Start queries */
<Q-9 run PostingSafByIDs (Stop) in BPosting >
<Q-10 run SafStructureLinkByAllIDs (Stop) in BSafStructureLink >
Assign bcJournalIDList = Replace(Trim(bcJournalIDList, ',':U),',':U,Chr(4)).
Assign bcBusinessRelationIDList = Replace(Trim(bcBusinessRelationIDList,',':U),',':U,Chr(4)).
Assign bcDivisionIDList = Replace(Trim(bcDivisionIDList, ',':U),',':U,Chr(4)).
Assign bcCostCentreIDList = Replace(Trim(bcCostCentreIDList, ',':U),',':U,Chr(4)).
Assign bcProjectIDList = Replace(Trim(bcProjectIDList, ',':U),',':U,Chr(4)).
Assign bcSafStructureIDList = Replace(Trim(bcSafStructureIDList, ',':U),',':U,Chr(4)).
Assign bcSafIDList = Replace(Trim(bcSafIDList, ',':U),',':U,Chr(4)).
Assign bcSafStructureLinkIDList = Replace(Trim(bcSafStructureLinkIDList,',':U),',':U,Chr(4)).
Assign bcGLIDList = Replace(Trim(bcGLIDList, ',':U),',':U,Chr(4)).
If oiReturnStatus = -98
Then Assign oiReturnStatus = 0.