project QadFinancials > class BFRWAnalysisCode > method ValidateComponentPostFRWAnCodeElem
Parameters
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program1/bfrwanalysiscode.p)
for each t_sFRWAnCodeElem where
t_sFRWAnCodeElem.tc_ParentRowid = t_sFRWAnCode.tc_Rowid and
t_sFRWAnCodeElem.tc_Status <> "D":U:
assign vcLineNbr = "":U.
find first tAnCodeExcelMapping where
tAnCodeExcelMapping.tiQCode_ID = t_sFRWAnCodeElem.FRWAnCodeElem_ID
no-error.
if available tAnCodeExcelMapping then
do:
assign vcLineNbr = substitute(#T-50'(Excel Line &1)':255(264440525)T-50#, tAnCodeExcelMapping.tiRowNbr).
end.
/* User cannot define both begins and range */
if t_sFRWAnCodeElem.tc_Status <> "":U and
(t_sFRWAnCodeElem.FRWAnCodeElemMask <> "":U and
t_sFRWAnCodeElem.FRWAnCodeElemMask <> ? and
((t_sFRWAnCodeElem.FRWAnCodeElemMaskRange1 <> "":U and
t_sFRWAnCodeElem.FRWAnCodeElemMaskRange1 <> ?) or
(t_sFRWAnCodeElem.FRWAnCodeElemMaskRange2 <> "":U and
t_sFRWAnCodeElem.FRWAnCodeElemMaskRange2 <> ?)))
then do:
assign vcMessage = #T-72'Range definition for Report analysis code cannot be combined with Begins definition. Analysis code &1, COA element &2.':255(176662831)T-72#
vcMessage = substitute(vcMessage, t_sFRWAnCode.FRWAnCodeCode, t_sFRWAnCodeElem.FRWAnCodeElemCOAType).
if vcLineNbr <> "":U then assign vcMessage = vcMessage + vcLineNbr.
<M-74 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input 'tFRWAnCode.FRWAnCodeCalcElement':U (icFieldName),
input t_sFRWAnCode.FRWAnCodeCalcElement (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFRWAnCode.tc_Rowid (icRowid),
input 'qadfin-317589':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFRWAnalysisCode>
assign oiReturnStatus = -1.
end.
/* User have to enter or Begins, or Range or Individual values */
if t_sFRWAnCodeElem.tc_Status <> "":U and
((t_sFRWAnCodeElem.FRWAnCodeElemMask = "":U or t_sFRWAnCodeElem.FRWAnCodeElemMask = ?) and
(t_sFRWAnCodeElem.FRWAnCodeElemMaskRange1 = "":U or t_sFRWAnCodeElem.FRWAnCodeElemMaskRange1 = ?) and
(t_sFRWAnCodeElem.FRWAnCodeElemMaskRange2 = "":U or t_sFRWAnCodeElem.FRWAnCodeElemMaskRange2 = ?) and
not can-find(first t_sFRWAnCodeElemDet where
t_sFRWAnCodeElemDet.tc_ParentRowid = t_sFRWAnCodeElem.tc_Rowid and
t_sFRWAnCodeElemDet.tc_Status <> "D":U))
then do:
assign vcMessage = #T-40'COA element of type &1 does not contain definition of the values, which should be taken for report calculation.':255(767822378)T-40#
vcMessage = substitute(vcMessage, <M-41 GetCOATypeTr (input t_sFRWAnCodeElem.FRWAnCodeElemCOAType (icCOAType)) in BFRWAnalysisCode> ).
if vcLineNbr <> "":U then assign vcMessage = vcMessage + vcLineNbr.
<M-16 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFRWAnCodeElem.tc_Rowid (icRowid),
input 'qadfin-265858':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFRWAnalysisCode>
assign oiReturnStatus = -1.
end.
/* Some analysis types does not allow blank value for elements */
if (t_sFRWAnCodeElem.FRWAnCodeElemCOAType = {&FRWANALYSISCOATYPE-COMPANY} or
t_sFRWAnCodeElem.FRWAnCodeElemCOAType = {&FRWANALYSISCOATYPE-CURRENCY} or
t_sFRWAnCodeElem.FRWAnCodeElemCOAType = {&FRWANALYSISCOATYPE-GL} or
t_sFRWAnCodeElem.FRWAnCodeElemCOAType = {&FRWANALYSISCOATYPE-JOURNAL} or
t_sFRWAnCodeElem.FRWAnCodeElemCOAType = {&FRWANALYSISCOATYPE-LAYER}) and
can-find(first t_sFRWAnCodeElemDet where
t_sFRWAnCodeElemDet.tc_ParentRowid = t_sFRWAnCodeElem.tc_Rowid and
t_sFRWAnCodeElemDet.tc_Status <> "D":U and
t_sFRWAnCodeElemDet.FRWAnCodeElemDetValue = 0)
then do:
assign vcMessage = #T-69'COA element of type &1 does not allow definition of Blank value.':255(255066371)T-69#
vcMessage = substitute(vcMessage, <M-67 GetCOATypeTr (input t_sFRWAnCodeElem.FRWAnCodeElemCOAType (icCOAType)) in BFRWAnalysisCode>).
if vcLineNbr <> "":U then assign vcMessage = vcMessage + vcLineNbr.
<M-23 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFRWAnCodeElem.tc_Rowid (icRowid),
input 'qadfin-940244':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFRWAnalysisCode>
assign oiReturnStatus = -1.
end.
end. /* for each t_sFRWAnCodeElem where */