Description
Creates tFARevalDet record.
NOTE: All these RevaluationCreate... methods should be in one segment
Parameters
icParentRowid | input | character | ParentRowid |
iiGLId | input | integer | GLId |
iiDivisionId | input | integer | Division ID |
iiCostCentreId | input | integer | CostCentreId |
iiProjectId | input | integer | Project ID |
idFARevalDetAmountLC | input | decimal | FARevalDetAmountLC |
idFARevalDetAmountCC | input | decimal | FARevalDetAmountCC |
icFARevalDetPostingText | input | character | |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program3/bfixedassetrevaluation.p)
assign iiGLId = if iiGLId = ? then 0 else iiGLId
iiDivisionId = if iiDivisionId = ? then 0 else iiDivisionId
iiCostCentreId = if iiCostCentreId = ? then 0 else iiCostCentreId
iiProjectId = if iiProjectId = ? then 0 else iiProjectId.
<M-1 run AddDetailLine (input 'FARevalDet':U (icTable),
input icParentRowid (icParentRowid),
output viFcReturnSuper (oiReturnStatus)) in BFixedAssetRevaluation>
if viFcReturnSuper <> 0
then do:
assign oiReturnStatus = viFcReturnSuper.
return.
end.
assign tFARevalDet.FARevalDetAmountLC = idFARevalDetAmountLC
tFARevalDet.FARevalDetAmountCC = idFARevalDetAmountCC
tFARevalDet.GL_ID = iiGLId
tFARevalDet.Division_ID = iiDivisionId
tFARevalDet.CostCentre_ID = iiCostCentreId
tFARevalDet.Project_ID = iiProjectId
tFARevalDet.FARevalDetPostingText= icFARevalDetPostingText.
/*Unfortunately Calculate does not work for newly created records
therefore we have to do the Id-Code conversion ourselves (results of the following Prim queries will be cached)*/
/*GL*/
if tFARevalDet.GL_ID > 0
then do:
find first tqGLPrim where
tqGLPrim.tiGL_ID = tFARevalDet.GL_ID no-error.
if not available tqGLPrim
then do:
<Q-2 run GLPrim (all) (Read) (Cache)
(input viCompanyId, (CompanyId)
input '':U, (GLCode)
input tFARevalDet.GL_ID, (GLId)
output dataset tqGLPrim) in BGL >
find first tqGLPrim where
tqGLPrim.tiGL_ID = tFARevalDet.GL_ID no-error.
end.
assign tFARevalDet.tcGLCode = if available tqGLPrim then tqGLPrim.tcGLCode else "":U.
end.
/*Division*/
if tFARevalDet.Division_ID > 0
then do:
find first tqDivisionPrim where
tqDivisionPrim.tiDivision_ID = tFARevalDet.Division_ID no-error.
if not available tqDivisionPrim
then do:
<Q-3 run DivisionPrim (all) (Read) (NoCache)
(input viCompanyId, (CompanyId)
input tFARevalDet.Division_ID, (DivisionID)
input '':U, (DivisionCode)
output dataset tqDivisionPrim) in BDivision >
find first tqDivisionPrim where
tqDivisionPrim.tiDivision_ID = tFARevalDet.Division_ID no-error.
end.
assign tFARevalDet.tcDivisionCode = if available tqDivisionPrim then tqDivisionPrim.tcDivisionCode else "":U.
end.
/*CostCentre*/
if tFARevalDet.CostCentre_ID > 0
then do:
find first tqCostCentrePrim where
tqCostCentrePrim.tiCostCentre_ID = tFARevalDet.CostCentre_ID no-error.
if not available tqCostCentrePrim
then do:
<Q-4 run CostCentrePrim (all) (Read) (NoCache)
(input viCompanyId, (CompanyId)
input tFARevalDet.CostCentre_ID, (CostCentreID)
input '':U, (CostCentreCode)
output dataset tqCostCentrePrim) in BCostCentre >
find first tqCostCentrePrim where
tqCostCentrePrim.tiCostCentre_ID = tFARevalDet.CostCentre_ID no-error.
end.
assign tFARevalDet.tcCostCentreCode = if available tqCostCentrePrim then tqCostCentrePrim.tcCostCentreCode else "":U.
end.
/*Project*/
if tFARevalDet.Project_ID > 0
then do:
find first tqProjectPrim where
tqProjectPrim.tiProject_ID = tFARevalDet.Project_ID no-error.
if not available tqProjectPrim
then do:
<Q-5 run ProjectPrim (all) (Read) (NoCache)
(input viCompanyId, (CompanyId)
input tFARevalDet.Project_ID, (ProjectID)
input '':U, (ProjectCode)
output dataset tqProjectPrim) in BProject >
find first tqProjectPrim where
tqProjectPrim.tiProject_ID = tFARevalDet.Project_ID no-error.
end.
assign tFARevalDet.tcProjectCode = if available tqProjectPrim then tqProjectPrim.tcProjectCode else "":U.
end.