project BLF > class BWorkClass > method ValidateWorkClass

Description

ValidateWorkClass


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


BLF
method BWorkClass.ValidateComponent


program code (program1/bworkclass.p)

<Q-14 run SelectObjectFlexStat (Start) in BObjectFlexStatus >
    <Q-15 run RolePrim (Start) in BRole >
    <Q-16 run BusComponentPrim (Start) in BBusinessComponent >
    <Q-17 run BusActivityPrim (Start) in BBusinessComponent >
    
    for each t_sWorkClass where
             t_sWorkClass.tc_Status = "N":U or
             t_sWorkClass.tc_Status = "C":U :
    
        if t_sWorkClass.tcObjectFlexStatusCode = "":U or
           t_sWorkClass.tcObjectFlexStatusCode = ?
        then assign t_sWorkClass.ObjectFlexStatus_ID = 0.
        else do:
            <Q-1 run SelectObjectFlexStat (all)  (Read)  (Cache)  (input t_sWorkClass.tcObjectFlexStatusCode, (ObjectFlexStatusCode) 
                               input '', (ObjectFlexStatusDescription) 
                               input t_sWorkClass.tcBusComponentCode, (BusinessComponent)
                               output dataset tqSelectObjectFlexStat) in BObjectFlexStatus >
            find first tqSelectObjectFlexStat no-error.
            if available tqSelectObjectFlexStat
            then assign t_sWorkClass.ObjectFlexStatus_ID = tqSelectObjectFlexStat.tiObjectFlexStatus_ID.
            else do:
                <M-5 run SetMessage
          (input  #T-22'Invalid flex status.':100(479)t-22# (icMessage), 
           input  '' (icArguments), 
           input  'tWorkClass.tcObjectFlexStatusCode':U (icFieldName), 
           input  t_sWorkClass.tcObjectFlexStatusCode (icFieldValue), 
           input  'E':U (icType), 
           input  3 (iiSeverity), 
           input  tWorkClass.tc_Rowid (icRowid), 
           input  'BLF-267':U (icFcMsgNumber), 
           input  '' (icFcExplanation), 
           input  '' (icFcIdentification), 
           input  '' (icFcContext), 
           output viFcReturnSuper (oiReturnStatus)) in BWorkClass>
                assign oiReturnStatus = -1.
            end.
        end.
        
        if t_sWorkClass.tcRoleName = "":U or
           t_sWorkClass.tcRoleName = ?
        then assign t_sWorkClass.Role_ID = 0.
        else do:
            <Q-7 run RolePrim (all) (Read) (Cache)
          (input ?, (RoleID)
           input t_sWorkClass.tcRoleName, (RoleName)
           output dataset tqRolePrim) in BRole >
            find first tqRolePrim no-error.
            if available tqRolePrim
            then assign t_sWorkClass.Role_ID = tqRolePrim.tiRole_ID.
            else do:
                <M-6 run SetMessage
          (input  #T-23'Invalid role.':100(480)t-23# (icMessage), 
           input  '' (icArguments), 
           input  'tWorkClass.tcRoleName':U (icFieldName), 
           input  t_sWorkClass.tcRoleName (icFieldValue), 
           input  'E':U (icType), 
           input  3 (iiSeverity), 
           input  tWorkClass.tc_Rowid (icRowid), 
           input  'BLF-268':U (icFcMsgNumber), 
           input  '' (icFcExplanation), 
           input  '' (icFcIdentification), 
           input  '' (icFcContext), 
           output viFcReturnSuper (oiReturnStatus)) in BWorkClass>
                assign oiReturnStatus = -1.
            end.
        end.
        
        if t_sWorkClass.tcBusComponentCode = "":U or
           t_sWorkClass.tcBusComponentCode = ?
        then assign t_sWorkClass.Role_ID = 0.
        else do :
            <Q-10 run BusComponentPrim (all)  (Read)  (Cache)  (input ?, (BusComponentID) 
                            input t_sWorkClass.tcBusComponentCode, (BusComponentCode)
                            output dataset tqBusComponentPrim) in BBusinessComponent >
            find first tqBusComponentPrim no-error.
            if available tqBusComponentPrim
            then assign t_sWorkClass.BusComponent_ID = tqBusComponentPrim.tiBusComponent_ID.
            else do:
                <M-9 run SetMessage (input  trim(#T-24'Invalid business class.':100(481)T-24#) (icMessage), 
                     input  '' (icArguments), 
                     input  'tWorkClass.tcBusComponentCode':U (icFieldName), 
                     input  t_sWorkClass.tcBusComponentCode (icFieldValue), 
                     input  'E':U (icType), 
                     input  3 (iiSeverity), 
                     input  tWorkClass.tc_Rowid (icRowid), 
                     input  'BLF-269':U (icFcMsgNumber), 
                     input  '' (icFcExplanation), 
                     input  '' (icFcIdentification), 
                     input  '' (icFcContext), 
                     output viFcReturnSuper (oiReturnStatus)) in BWorkClass>
                assign oiReturnStatus = -1.
            end.
        end.
        
        if t_sWorkClass.tcBusActivityCode = "":U or
           t_sWorkClass.tcBusActivityCode = ?
        then assign t_sWorkClass.Role_ID = 0.
        else do :
            <Q-13 run BusActivityPrim (all)  (Read)  (Cache)  (input ?, (BusActivityID) 
                           input t_sWorkClass.tcBusActivityCode, (BusActivityCode) 
                           input t_sWorkClass.tcBusComponentCode, (BusComponentCode)
                           output dataset tqBusActivityPrim) in BBusinessComponent >
            find first tqBusActivityPrim no-error.
            if available tqBusActivityPrim
            then assign t_sWorkClass.BusActivity_ID = tqBusActivityPrim.tiBusActivity_ID.
            else do:
                <M-12 run SetMessage
          (input  trim(#T-25'Invalid business activity.':100(482)T-25#) (icMessage), 
           input  '' (icArguments), 
           input  'tWorkClass.tcBusActivityCode':U (icFieldName), 
           input  t_sWorkClass.tcBusActivityCode (icFieldValue), 
           input  'E':U (icType), 
           input  3 (iiSeverity), 
           input  tWorkClass.tc_Rowid (icRowid), 
           input  'BLF-270':U (icFcMsgNumber), 
           input  '' (icFcExplanation), 
           input  '' (icFcIdentification), 
           input  '' (icFcContext), 
           output viFcReturnSuper (oiReturnStatus)) in BWorkClass>
                assign oiReturnStatus = -1.
            end.
        end.
        
    end.
    
    <Q-18 run SelectObjectFlexStat (Stop) in BObjectFlexStatus >
    <Q-19 run RolePrim (Stop) in BRole >
    <Q-20 run BusComponentPrim (Stop) in BBusinessComponent >
    <Q-21 run BusActivityPrim (Stop) in BBusinessComponent >