project QadFinancials > class BBusinessRelation > method ValidateComponentContact

Description

ValidateComponentContact


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BBusinessRelation.ValidateComponent


program code (program1/bbusinessrelation.p)

define buffer bsContact for t_sContact.
for each t_sBusinessRelation,
    each t_sAddress where
         t_sAddress.tc_ParentRowid = t_sBusinessRelation.tc_Rowid,
    each t_sContact where
         t_sContact.tc_ParentRowid = t_sAddress.tc_Rowid and
        (t_sContact.tc_Status      = "N":U or
         t_sContact.tc_Status      = "C":U) :
     
     
     if t_sContact.ContactName = "":U or
       t_sContact.ContactName  = ?    
    then do:
        
            assign vcMessage = trim(substitute(#T-34'Contact Name cannot be Blank':255(319228214)T-34#)) 
                       oiReturnStatus = -1.
            
            <M-93 run SetMessage
               (input  vcMessage (icMessage), 
                input  '':U (icArguments), 
                input  t_sContact.ContactName (icFieldName), 
                input  t_sContact.ContactName (icFieldValue), 
                input  'E':U (icType), 
                input  3 (iiSeverity), 
                input  t_sContact.tc_Rowid (icRowid), 
                input  'QadFin-457703':U (icFcMsgNumber), 
                input  '':U (icFcExplanation), 
                input  '':U (icFcIdentification), 
                input  '':U (icFcContext), 
                output vifcReturnSuper (oiReturnStatus)) in BBusinessRelation>
            
     end. /*IF t_sContact.ContactName*/
    
    if t_sContact.ContactIsPrimary   = true and
       t_sContact.ContactIsSecondary = true
    then do:
        assign vcMessage      = trim(#T-75'The contact cannot be both the primary and secondary contact.':255(47420142)T-75#)
               oiReturnStatus = -1.
        <M-43 run SetMessage
           (input  vcMessage (icMessage), 
            input  '':U (icArguments), 
            input  'tContact.ContactIsPrimary':U (icFieldName), 
            input  t_sContact.ContactIsPrimary (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sContact.tc_rowid (icRowid), 
            input  'QadFin-98153':U (icFcMsgNumber), 
            input  '':U (icFcExplanation), 
            input  '':U (icFcIdentification), 
            input  '':U (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BBusinessRelation>
    
    end. /* if t_sContact.ContactIsPrimary */
                 
    if t_sContact.ContactIsPrimary = true and
       can-find(bsContact where
                bsContact.tc_ParentRowid   =  t_sAddress.tc_Rowid and
                bsContact.ContactIsPrimary =  true and
                bsContact.tc_Rowid         <> t_sContact.tc_Rowid and
                bsContact.tc_Status        <> "D":U)
    then do:
        assign vcMessage      = trim(substitute(#T-1'The address ($1) already has a primary contact.':250(65198)T-1#,t_sBusinessRelation.BusinessRelationCode))
               oiReturnStatus = -1.
        <M-2 run SetMessage
           (input  vcMessage (icMessage), 
            input  t_sAddress.AddressStreet1 (icArguments), 
            input  'tContact.ContactIsPrimary':U (icFieldName), 
            input  t_sContact.ContactIsPrimary (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sContact.tc_Rowid (icRowid), 
            input  'QadFin-4716':U (icFcMsgNumber), 
            input  ? (icFcExplanation), 
            input  ? (icFcIdentification), 
            input  ? (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BBusinessRelation>
    end.
                
    if t_sContact.ContactIsSecondary = true and
       can-find(bsContact where
                bsContact.tc_ParentRowid     =  t_sAddress.tc_Rowid and
                bsContact.ContactIsSecondary =  true and
                bsContact.tc_Rowid           <> t_sContact.tc_Rowid and
                bsContact.tc_Status          <> "D":U)
    then do:
        assign vcMessage      = trim(substitute(#T-4'The business relation ($1) already has a secondary contact.':250(65199)T-4#,t_sBusinessRelation.BusinessRelationCode))
               oiReturnStatus = -1.
        <M-3 run SetMessage
           (input  vcMessage (icMessage), 
            input  t_sAddress.AddressStreet1 (icArguments), 
            input  'tContact.ContactIsSecondary':U (icFieldName), 
            input  t_sContact.ContactIsSecondary (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sContact.tc_Rowid (icRowid), 
            input  'QadFin-4717':U (icFcMsgNumber), 
            input  ? (icFcExplanation), 
            input  ? (icFcIdentification), 
            input  ? (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BBusinessRelation>
    end.
end.