project QadFinancials > class BBankNumber > method ChangeDefaultBankNumber
Description
Change default bank number for customer and supplier
Parameters
| iiNewDefaultBankNumberID | input | integer | |
| oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program1/bbanknumber.p)
assign oiReturnStatus = -98.
if iiNewDefaultBankNumberID = 0 or iiNewDefaultBankNumberID = ?
then do:
assign oiReturnStatus = -1
vcMsg = #T-7'The Bank Number field cannot be blank.':255(70237)t-7#.
<M-6 run SetMessage
(input vcMsg (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'QadFin-8395':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BBankNumber>
return.
end. /* iiNewDefaultBankNumberID = 0 or iiNewDefaultBankNumberID = ? */
find first tBankNumber where
tBankNumber.BankNumber_ID = iiNewDefaultBankNumberID no-error.
if not available tBankNumber
then do:
<M-15 run DataLoad
(input '':U (icRowids),
input string(iinewDefaultBankNumberID) (icPkeys),
input '':U (icObjectIds),
input '':U (icFreeform),
input true (ilKeepPrevious),
output viFcReturnSuper (oiReturnStatus)) in BBankNumber>
if viFcReturnSuper <> 0 then assign oiReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0 then return.
find first tBankNumber where
tBankNumber.BankNumber_ID = iiNewDefaultBankNumberID no-error.
if not available tBankNumber
then do:
assign oiReturnStatus = -1
vcMsg = #T-18'The bank number specified is not defined in the system (ID: $1).':255(70311)t-18#.
<M-17 run SetMessage
(input vcMsg (icMessage),
input string(iiNewDefaultBankNumberID) (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'QadFin-8433':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BBankNumber>
return.
end. /* if not available tBankNumber */
end. /* if not available tBankNumber */
assign viParentObjectID = tBankNumber.ParentObject_ID.
<Q-16 run BankNumberForPayFormatBank (all) (Read) (NoCache)
(input ?, (CompanyId)
input viParentObjectID, (ParentObjectID)
input iiNewDefaultBankNumberID, (BankNumberID)
output dataset tqBankNumberForPayFormatBank) in BBankNumber >
find first tqBankNumberForPayFormatBank where
tqBankNumberForPayFormatBank.tiParentObject_ID = viParentObjectID and
tqBankNumberForPayFormatBank.tiBankNumber_ID = iiNewDefaultBankNumberID no-error.
if not available tqBankNumberForPayFormatBank
then do:
assign oiReturnStatus = -1
vcMsg = #T-20'The bank number specified is not defined in the system (ID: $1).':255(70311)t-20#.
<M-19 run SetMessage
(input vcMsg (icMessage),
input string(iiNewDefaultBankNumberID) (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'QadFin-8434':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BBankNumber>
return.
end. /* if not available tqBankNumberByID */
assign viBankCompanyID = tqBankNumberForPayFormatBank.tiCompany_ID.
<Q-12 run BankNumberByPayFormatParentObj (all) (Read) (NoCache)
(input ?, (PaymentFormatID)
input viParentObjectID, (ParentObjectID)
input viBankCompanyID, (CompanyId)
output dataset tqBankNumberByPayFormatParentObj) in BBankNumber >
assign vcList = "":U.
for each tqBankNumberByPayFormatParentObj where
tqBankNumberByPayFormatParentObj.tiParentObject_ID = viParentObjectID and
tqBankNumberByPayFormatParentObj.tiCompany_ID = viBankCompanyID:
if vcList = "":U then assign vcList = string(tqBankNumberByPayFormatParentObj.tiBankNumber_ID).
else assign vcList = vcList + chr(4) + string(tqBankNumberByPayFormatParentObj.tiBankNumber_ID).
end. /* for each tqBankNumberByPayFormatParentObj where */
if vcList <> "":U
then do:
<M-11 run DataLoad
(input '':U (icRowids),
input vcList (icPkeys),
input '':U (icObjectIds),
input '':U (icFreeform),
input true (ilKeepPrevious),
output viFcReturnSuper (oiReturnStatus)) in BBankNumber>
if viFcReturnSuper <> 0 then assign oiReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0 then return.
end.
if not can-find (first tBankNumber where
tBankNumber.BankNumber_ID = iiNewDefaultBankNumberID)
then do:
assign oiReturnStatus = -1
vcMsg = #T-14'New bank number ($1) does not exist.':255(70385)T-14#.
<M-13 run SetMessage
(input vcMsg (icMessage),
input string(iinewDefaultBankNumberID) (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'QadFin-8401':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BBankNumber>
return.
end. /* if not can-find (first tBankNumber where */
for each tBankNumber where
tBankNumber.ParentObject_ID = viParentObjectID:
if can-find (first tqBankNumberByPayFormatParentObj where
tqBankNumberByPayFormatParentObj.tiBankNumber_ID = tBankNumber.BankNumber_ID and
tqBankNumberByPayFormatParentObj.tiCompany_ID = viBankCompanyID)
then do:
if tBankNumber.BankNumberIsDefault = true and
tBankNumber.BankNumber_ID <> iiNewDefaultBankNumberID
then assign tBankNumber.BankNumberIsDefault = false
tBankNumber.tc_Status = "C":U.
else if tBankNumber.BankNumberIsDefault = false and
tBankNumber.BankNumber_ID = iiNewDefaultBankNumberID
then assign tBankNumber.BankNumberIsDefault = true
tBankNumber.tc_Status = "C":U.
end.
end. /* for each tBankNumber where */
if oiReturnStatus = -98 then assign oiReturnStatus = 0.