project QadFinancials > class BBusinessRelation > method ValidateComponentDelete


Parameters


iiAddressIDinputinteger
iiBusinessRelationIDinputinteger
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BBusinessRelation.ValidateComponentPre


program code (program1/bbusinessrelation.p)

/* check to see if we we can delete the different addresss types */
<I-11 {bFcOpenInstance
            &CLASS           = "Session"}>
<M-12 run GetLogicalValue
   (input  'EndUserAddressDelete' (icName), 
    output vlEndUserAddressDelete (olValue), 
    output viFcReturnSuper (oiReturnStatus)) in Session>
<M-16 run GetLogicalValue
          (input  'ShiptoAddressDelete' (icName), 
           output vlShiptoAddressDelete (olValue), 
           output viFcReturnSuper (oiReturnStatus)) in Session>
<I-13 {bFcCloseInstance
            &CLASS           = "Session"}>

if vlEndUserAddressDelete <> true
then do:
    <Q-15 run DebtorEndUserByAddress
        (Start) in BDebtorEndUser >
end.

if vlShiptoAddressDelete <> true
then do:
          <Q-25 run DebtorShiptoByAddress
                                           (Start) in BDebtorShipTo >
end.                             

<Q-18 run AddressByFinancialAddress
                   (Start) in BMfgAddress >

/* Check if we are deleting an entire business relation or just an address */
if iiBusinessRelationID <> 0 and iiBusinessRelationID <> ?
then do:    
    for each t_saddress
        where t_saddress.businessrelation_ID = iiBusinessRelationID:
         <M-20 run ValidateComponentAddressDelete
            (input  vlEndUserAddressDelete (ilEndUserAddressDelete), 
             input  t_sAddress.Address_ID (iiAddressID), 
             input  vlShiptoAddressDelete (ilShiptoAddressDelete), 
             output viFcReturnSuper (oiReturnStatus)) in BBusinessRelation>
         if viFcReturnSuper <> 0
         then assign oiReturnStatus = viFcReturnSuper.         
    end.    
end.
else do:
     <M-21 run ValidateComponentAddressDelete
        (input  vlEndUserAddressDelete (ilEndUserAddressDelete), 
         input  iiAddressID (iiAddressID), 
         input  vlShiptoAddressDelete (ilShiptoAddressDelete), 
         output viFcReturnSuper (oiReturnStatus)) in BBusinessRelation>
         if viFcReturnSuper <> 0
         then assign oiReturnStatus = viFcReturnSuper.       
end.

if vlEndUserAddressDelete <> true
then do:
    <Q-14 run DebtorEndUserByAddress
        (Stop) in BDebtorEndUser >
end.

if vlShiptoAddressDelete <> true
then do:
      <Q-26 run DebtorShiptoByAddress
         (Stop) in BDebtorShipTo >
end.

<Q-19 run AddressByFinancialAddress
   (Stop) in BMfgAddress >