Description
Write here all tests on database update (new / modify / delete) that cannot be coded with a validation mask.
The type of update can be found in tc_status (N/C/D).
If you find incorrect data, you must write an entry in tFcMessages (using SetMessage) and set the return status of this method to either +1 or -1.
Return status +1 = data will still be accepted.
Return status -1 = data will not be accepted.
This method is run from SetPublicTables, before transferring the received data into the class temp-tables.
Parameters
oiReturnStatus | output | integer | |
Internal usage
unused
program code (program/bfixedassetbook.p)
/* =============================================== */
/* clear depreciation parameters if not applicable */
/* =============================================== */
for each t_sFABook where
t_sFABook.tc_Status = 'N':U or
t_sFABook.tc_Status = 'C':U:
if t_sFABook.FABookDepreciationType <> {&DEPRECIATIONTYPE-CZTAXSTRAIGHT}
then assign t_sFABook.FABookCEEEvenFirstYr = ?
t_sFABook.FABookCEEEvenNextYr = ?
t_sFABook.FABookCEEEvenAddition = ?.
if t_sFABook.FABookDepreciationType <> {&DEPRECIATIONTYPE-CZTAXACCELERATED}
then assign t_sFABook.FABookCEEAccelFirstYr = ?
t_sFABook.FABookCEEAccelNextYr = ?
t_sFABook.FABookCEEAccelIncrDepr = ?
t_sFABook.FABookCEEAccelAddition = ?.
end.
<ANCESTOR-CODE>
/* ================================================ */
/* Set default return status */
/* Check if oiReturnStatus was set in Ancestor Code */
/* ================================================ */
if oiReturnStatus = 0
then assign oiReturnStatus = -98.
for each t_sFABook where
t_sFABook.tc_Status = 'N':U or
t_sFABook.tc_Status = 'C':U:
/* ======================================================================================= */
/* If "With Depreciation" then a Depreciation Type and Calculation Type must be specified. */
/* ======================================================================================= */
if t_sFABook.FABookIsWithDepreciation = true
then do:
/* Depreciation Type */
if t_sFABook.FABookDepreciationType = "":U
then do:
assign vcFABookMsg = trim(substitute(#T-21'You must specify a depreciation type when a book is defined with depreciation.':200(1986)t-21#))
oiReturnStatus = -1.
<M-19 run SetMessage
(input vcFABookMsg (icMessage),
input '':U (icArguments),
input 'tFABook.FABookDepreciationType':U (icFieldName),
input t_sFABook.FABookDepreciationType (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFABook.tc_Rowid (icRowid),
input 'QADFIN-2930':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFixedAssetBook>
end.
/* Calculation Type */
if t_sFABook.FABookCalculationType = "":U
then do:
assign vcFABookMsg = trim(substitute(#T-22'You must specify a calculation type when a book is defined with depreciation.':200(1987)T-22#))
oiReturnStatus = -1.
<M-20 run SetMessage
(input vcFABookMsg (icMessage),
input '':U (icArguments),
input 'tFABook.FABookCalculationType':U (icFieldName),
input t_sFABook.FABookCalculationType (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFABook.tc_Rowid (icRowid),
input 'QADFIN-2931':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFixedAssetBook>
end.
end.
/* ================================== */
/* Check if Life Cycle isn't negative */
/* ================================== */
if t_sFABook.FABookLifeCycle < 0
then do:
assign vcFABookMsg = trim(substitute(#T-23'The life cycle of a book (&1) cannot be negative.':200(1988)T-23#, trim(string(t_sFABook.FABookLifeCycle)) ))
oiReturnStatus = -1.
<M-1 run SetMessage
(input vcFABookMsg (icMessage),
input '':U (icArguments),
input 'tFABook.FABookLifeCycle':U (icFieldName),
input t_sFABook.FABookLifeCycle (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFABook.tc_Rowid (icRowid),
input 'QADFIN-2654':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFixedAssetBook>
end. /* if t_sFABook.FABookLifeCycle < 0 */
/* =============================================================== */
/* The Unit Code is mandatory when the Depreciation Type is 'ACT1' */
/* =============================================================== */
if t_sFABook.FABookDepreciationType = {&DEPRECIATIONTYPE-ACT1} and
(t_sFABook.tcUnitCode = '':U or
t_sFABook.tcUnitCode = ? )
then do:
assign vcFABookMsg = trim(substitute(#T-24'You must enter the unit of measure for books with depreciation type '&1'.':200(1989)T-24#, trim({&DEPRECIATIONTYPE-ACT1-TR}) ))
oiReturnStatus = -1.
<M-2 run SetMessage
(input vcFABookMsg (icMessage),
input '':U (icArguments),
input 'tFABook.tcUnitCode':U (icFieldName),
input t_sFABook.tcUnitCode (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFABook.tc_Rowid (icRowid),
input 'QADFIN-2655':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFixedAssetBook>
end. /* check on mandatory unit code */
/* ======================= */
/* depreciation parameters */
/* range tests */
/* ======================= */
if t_sFABook.FABookCEEEvenFirstYr <> ? and
(t_sFABook.FABookCEEEvenFirstYr < 0 or
t_sFABook.FABookCEEEvenFirstYr > 100)
then do:
assign vcFABookMsg = trim(substitute(#T-26'For the CEE straight line first year, the value is out of range. The valid range is 0-100.':255(17276)t-26#))
oiReturnStatus = -1.
<M-25 run SetMessage
(input vcFABookMsg (icMessage),
input '':U (icArguments),
input 'tFABook.FABookCEEEvenFirstYr':U (icFieldName),
input t_sFABook.FABookCEEEvenFirstYr (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFABook.tc_Rowid (icRowid),
input 'QADFIN-4045':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFixedAssetBook>
end.
if t_sFABook.FABookCEEEvenNextYr <> ? and
(t_sFABook.FABookCEEEvenNextYr < 0 or
t_sFABook.FABookCEEEvenNextYr > 100)
then do:
assign vcFABookMsg = trim(substitute(#T-28'For the CEE straight line next year, the value is out of range. The valid range is 0-100.':255(17277)t-28#))
oiReturnStatus = -1.
<M-27 run SetMessage
(input vcFABookMsg (icMessage),
input '':U (icArguments),
input 'tFABook.FABookCEEEvenNextYr':U (icFieldName),
input t_sFABook.FABookCEEEvenNextYr (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFABook.tc_Rowid (icRowid),
input 'QADFIN-4046':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFixedAssetBook>
end.
if t_sFABook.FABookCEEEvenAddition <> ? and
(t_sFABook.FABookCEEEvenAddition < 0 or
t_sFABook.FABookCEEEvenAddition > 100)
then do:
assign vcFABookMsg = trim(substitute(#T-32'For the CEE straight line after addition, the value is out of range. The valid range is 0-100.':255(17278)t-32#))
oiReturnStatus = -1.
<M-31 run SetMessage
(input vcFABookMsg (icMessage),
input '':U (icArguments),
input 'tFABook.FABookCEEEvenAddition':U (icFieldName),
input t_sFABook.FABookCEEEvenAddition (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFABook.tc_Rowid (icRowid),
input 'QADFIN-4049':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFixedAssetBook>
end.
if t_sFABook.FABookCEEAccelFirstYr <> ? and
t_sFABook.FABookCEEAccelFirstYr < 0
then do:
assign vcFABookMsg = trim(substitute(#T-37'For the CEE accelerated first year, the value is out of range. The value cannot be negative.':255(17279)t-37#))
oiReturnStatus = -1.
<M-33 run SetMessage
(input vcFABookMsg (icMessage),
input '':U (icArguments),
input 'tFABook.FABookCEEAccelFirstYr':U (icFieldName),
input t_sFABook.FABookCEEAccelFirstYr (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFABook.tc_Rowid (icRowid),
input 'QADFIN-4052':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFixedAssetBook>
end.
if t_sFABook.FABookCEEAccelNextYr <> ? and
t_sFABook.FABookCEEAccelNextYr < 0
then do:
assign vcFABookMsg = trim(substitute(#T-38'For CEE accelerated next, the value is out of range. The value cannot be negative.':255(17280)t-38#))
oiReturnStatus = -1.
<M-34 run SetMessage
(input vcFABookMsg (icMessage),
input '':U (icArguments),
input 'tFABook.FABookCEEAccelNextYr':U (icFieldName),
input t_sFABook.FABookCEEAccelNextYr (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFABook.tc_Rowid (icRowid),
input 'QADFIN-4053':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFixedAssetBook>
end.
if t_sFABook.FABookCEEAccelIncrDepr <> ? and
(t_sFABook.FABookCEEAccelIncrDepr < 0 or
t_sFABook.FABookCEEAccelIncrDepr > 100)
then do:
assign vcFABookMsg = trim(substitute(#T-39'For the CEE accelerated depreciation increase in first year, the value is out of range. The valid range is 0-100.':255(17282)t-39#))
oiReturnStatus = -1.
<M-35 run SetMessage
(input vcFABookMsg (icMessage),
input '':U (icArguments),
input 'tFABook.FABookCEEAccelIncrDepr':U (icFieldName),
input t_sFABook.FABookCEEAccelIncrDepr (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFABook.tc_Rowid (icRowid),
input 'QADFIN-4054':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFixedAssetBook>
end.
if t_sFABook.FABookCEEAccelAddition <> ? and
t_sFABook.FABookCEEAccelAddition < 0
then do:
assign vcFABookMsg = trim(substitute(#T-40'For the CEE accelerated after addition, the value is out of range. The value cannot be negative.':255(17283)t-40#))
oiReturnStatus = -1.
<M-36 run SetMessage
(input vcFABookMsg (icMessage),
input '':U (icArguments),
input 'tFABook.FABookCEEAccelAddition':U (icFieldName),
input t_sFABook.FABookCEEAccelAddition (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFABook.tc_Rowid (icRowid),
input 'QADFIN-4055':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFixedAssetBook>
end.
/* ========================================================================= */
/* depriciation parameters are mandatory when an appropriate type is choosen */
/* ========================================================================= */
if t_sFABook.FABookDepreciationType = {&DEPRECIATIONTYPE-CZTAXSTRAIGHT}
then do:
if t_sFABook.FABookCEEEvenFirstYr = ?
then do:
assign vcFABookMsg = trim(substitute(#T-42'You must specify the CEE straight line first year if the depreciation type is CEE Tax Straight Line.':255(17284)t-42#))
oiReturnStatus = -1.
<M-41 run SetMessage
(input vcFABookMsg (icMessage),
input '':U (icArguments),
input 'tFABook.FABookCEEEvenFirstYr':U (icFieldName),
input t_sFABook.FABookCEEEvenFirstYr (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFABook.tc_Rowid (icRowid),
input 'QADFIN-4058':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFixedAssetBook>
end.
if t_sFABook.FABookCEEEvenNextYr = ?
then do:
assign vcFABookMsg = trim(substitute(#T-44'You must specify the CEE straight line next year if the depreciation type is CEE Tax Straight Line.':255(17286)t-44#))
oiReturnStatus = -1.
<M-43 run SetMessage
(input vcFABookMsg (icMessage),
input '':U (icArguments),
input 'tFABook.FABookCEEEvenNextYr':U (icFieldName),
input t_sFABook.FABookCEEEvenNextYr (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFABook.tc_Rowid (icRowid),
input 'QADFIN-4059':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFixedAssetBook>
end.
if t_sFABook.FABookCEEEvenAddition = ?
then do:
assign vcFABookMsg = trim(substitute(#T-46'You must specify the CEE straight line after addition if the depreciation type is CEE Tax Straight Line.':255(17287)t-46#))
oiReturnStatus = -1.
<M-45 run SetMessage
(input vcFABookMsg (icMessage),
input '':U (icArguments),
input 'tFABook.FABookCEEEvenAddition':U (icFieldName),
input t_sFABook.FABookCEEEvenAddition (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFABook.tc_Rowid (icRowid),
input 'QADFIN-4060':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFixedAssetBook>
end.
end.
if t_sFABook.FABookDepreciationType = {&DEPRECIATIONTYPE-CZTAXACCELERATED}
then do:
if t_sFABook.FABookCEEAccelFirstYr = ?
then do:
assign vcFABookMsg = trim(substitute(#T-53'You must specify the CEE accelerated first year if the depreciation type is CEE Tax Accelerated.':255(17288)t-53#))
oiReturnStatus = -1.
<M-49 run SetMessage
(input vcFABookMsg (icMessage),
input '':U (icArguments),
input 'tFABook.FABookCEEAccelFirstYr':U (icFieldName),
input t_sFABook.FABookCEEAccelFirstYr (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFABook.tc_Rowid (icRowid),
input 'QADFIN-4062':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFixedAssetBook>
end.
if t_sFABook.FABookCEEAccelNextYr = ?
then do:
assign vcFABookMsg = trim(substitute(#T-54'You must specify the CEE accelerated next year if the depreciation type is CEE Tax Accelerated.':255(17289)t-54#))
oiReturnStatus = -1.
<M-50 run SetMessage
(input vcFABookMsg (icMessage),
input '':U (icArguments),
input 'tFABook.FABookCEEAccelNextYr':U (icFieldName),
input t_sFABook.FABookCEEAccelNextYr (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFABook.tc_Rowid (icRowid),
input 'QADFIN-4063':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFixedAssetBook>
end.
if t_sFABook.FABookCEEAccelAddition = ?
then do:
assign vcFABookMsg = trim(substitute(#T-55'You must specify the CEE accelerated after addition if the depreciation type is CEE Tax Accelerated.':255(17291)t-55#))
oiReturnStatus = -1.
<M-51 run SetMessage
(input vcFABookMsg (icMessage),
input '':U (icArguments),
input 'tFABook.FABookCEEAccelAddition':U (icFieldName),
input t_sFABook.FABookCEEAccelAddition (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFABook.tc_Rowid (icRowid),
input 'QADFIN-4064':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFixedAssetBook>
end.
if t_sFABook.FABookCEEAccelIncrDepr = ?
then do:
assign vcFABookMsg = trim(substitute(#T-56'You must specify the CEE accelerated depreciation increase in first year if the depreciation type is CEE Tax Accelerated.':255(17290)t-56#))
oiReturnStatus = -1.
<M-52 run SetMessage
(input vcFABookMsg (icMessage),
input '':U (icArguments),
input 'tFABook.FABookCEEAccelIncrDepr':U (icFieldName),
input t_sFABook.FABookCEEAccelIncrDepr (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input t_sFABook.tc_Rowid (icRowid),
input 'QADFIN-4065':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BFixedAssetBook>
end.
end.
end. /* for each t_sFABook where ... */
/* ====================================== */
/* Set Return Status = 0 if all went well */
/* ====================================== */
if oiReturnStatus = -98
then assign oiReturnStatus = 0.