project QadFinancials > class BMirroringGL > method ValidateComponentPostAnalysis1

Description

This method is used within validatecomponentPost. All validation against analytical dimension of mirror 2 account is included.


Parameters


blGLByIDstartedinput-outputlogical
blMirroringGLstartedinput-outputlogical
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BMirroringGL.ValidateComponentPost


program code (program4/bmirroringgl.p)

/*************************************************************************************/
/* validation on Mirror 2 Account and Source 2 Account*/
/* Please note, this method should only be invoked by ValidateComponentPost */
/*************************************************************************************/

assign oiReturnStatus = -98
       viLocalStatus  = 0.

if blGLByIdstarted <> true 
then do:
    <Q-1 run GLById  (Start) in BGL > 
    assign blGLByIdstarted = true.
end.

if not blMirroringGLstarted 
then do:
    <Q-40 run MirroringGLBySourceGLAnalysis  (Start) in BMirroringGL >
    assign blMirroringGLstarted = true.
end.

/* If the mirror account has an analytical dimension, 
     then the mirror account must have a default value for that dimension. */

/* Lookup analytical information for source 1 account */
<Q-39 run GLById (all) (Read) (NoCache)
   (input t_sMirroringGL.Company_ID, (CompanyId)
    input t_sMirroringGL.Source2GL_ID, (GLId)
    output dataset tqGLById) in BGL > 
find first tqGLById no-error.
if available tqGLById 
then 
    assign vlGLIsCostCentreAccount = tqGLById.tlGLIsCostCentreAccount
           vlGLIsProjectAccount    = tqGLById.tlGLIsProjectAccount
           vlGLIsDivisionAccount   = tqGLById.tlGLIsDivisionAccount.

/* Lookup analytical information for mirror 1 account */
<Q-2 run GLById (all) (Read) (NoCache)
   (input t_sMirroringGL.Company_ID, (CompanyId)
    input t_sMirroringGL.Mirror2GL_ID, (GLId)
    output dataset tqGLById) in BGL > 
find first tqGLById no-error.

/*Make sure mirror 2 accont don't support SAF analysis */
if(tqGLById.tlGLIsSafAccount)
then do:
    assign vcMsg = trim(substitute( #T-20'Mirror account &1 cannot support SAF analysis.':100(68003)t-20#,
                                   trim(t_sMirroringGL.tcMirror2GLCode)))
           viLocalStatus = -1.
    <M-3 run SetMessage
       (input  vcMsg (icMessage), 
        input  '' (icArguments), 
        input  'tMirroringGL.tcMirror2GLCode':U (icFieldName), 
        input  t_sMirroringGL.tcMirror2GLCode (icFieldValue), 
        input  'E':U (icType), 
        input  3 (iiSeverity), 
        input  t_sMirroringGL.tc_Rowid (icRowid), 
        input  'QadFin-7547':U (icFcMsgNumber), 
        input  '' (icFcExplanation), 
        input  '' (icFcIdentification), 
        input  '' (icFcContext), 
        output viFcReturnSuper (oiReturnStatus)) in BMirroringGL>
end. /* if(tqGLById.tlGLIsSafAccount) */

/* If mirror 2 account is a cost center account,then it should have default value for cost center */
if tqGLById.tlGLIsCostCentreAccount        and
   (tqGLById.tiCostCentreProfile_ID = 0 or
    tqGLById.tiCostCentreProfile_ID = ?)
    then do:
        assign vcMsg = trim(substitute( #T-21'Mirror 2 Account &1 is a cost center account. It must have a default cost center value.':255(69292)t-21#,
                                         trim(t_sMirroringGL.tcMirror2GLCode)))
               viLocalStatus = -1.
        <M-5 run SetMessage
           (input  vcMsg (icMessage), 
            input  '' (icArguments), 
            input  'tMirroringGL.tcMirror2GLCode':U (icFieldName), 
            input  t_sMirroringGL.tcMirror2GLCode (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sMirroringGL.tc_Rowid (icRowid), 
            input  'QadFin-7548':U (icFcMsgNumber), 
            input  '' (icFcExplanation), 
            input  '' (icFcIdentification), 
            input  '' (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BMirroringGL>
    end. /* if tqGLById.tlGLIsCostCentreAccount        and */

    /* If mirror 2 account is a project account, then it should have default value for project*/
    if tqGLById.tlGLIsProjectAccount        and
       (tqGLById.tiProjectProfile_ID = 0 or
        tqGLById.tiProjectProfile_ID = ?)
    then do:
        assign vcMsg = trim(substitute( #T-22'Mirror 2 Account &1 is a project account. A default project must be specified for it.':255(69293)t-22#,
                                         trim(t_sMirroringGL.tcMirror2GLCode)))
               viLocalStatus = -1.
        <M-6 run SetMessage
           (input  vcMsg (icMessage), 
            input  '' (icArguments), 
            input  'tMirroringGL.tcMirror2GLCode':U (icFieldName), 
            input  t_sMirroringGL.tcMirror2GLCode (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sMirroringGL.tc_Rowid (icRowid), 
            input  'QadFin-7549':U (icFcMsgNumber), 
            input  '' (icFcExplanation), 
            input  '' (icFcIdentification), 
            input  '' (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BMirroringGL>
    end. /* if tqGLById.tlGLIsProjectAccount        and */

    /* If mirror 2 account is a sub-account account, then it should have default value for sub-account*/
    if tqGLById.tlGLIsDivisionAccount        and
       (tqGLById.tiDivisionProfile_ID = 0 or
        tqGLById.tiDivisionProfile_ID = ?)
    then do:
        assign vcMsg = trim(substitute( #T-23'Mirror 2 Account &1 is defined with sub-account analysis. You must define a default sub-account.':255(69294)t-23#,
                                         trim(t_sMirroringGL.tcMirror2GLCode)))
               viLocalStatus = -1.
        <M-7 run SetMessage
           (input  vcMsg (icMessage), 
            input  '' (icArguments), 
            input  'tMirroringGL.tcMirror2GLCode':U (icFieldName), 
            input  t_sMirroringGL.tcMirror2GLCode (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sMirroringGL.tc_Rowid (icRowid), 
            input  'QadFin-7550':U (icFcMsgNumber), 
            input  '' (icFcExplanation), 
            input  '' (icFcIdentification), 
            input  '' (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BMirroringGL>
    end. /* if tqGLById.tlGLIsDivisionAccount        and */

/* If Source2GL is defined with costcentre and Source2CostCentre_ID is filled
Make sure we can't find any MirroringGL record with the same Source1GL and Source2GL that has Source2CostCentre_ID blank.
Vice versa  */

if vlGLIsCostCentreAccount                  and 
   t_sMirroringGL.Source2CostCentre_ID <> 0 and
   t_sMirroringGL.Source2CostCentre_ID <> ? 
then do:
    find first bMirroringGL where 
               bMirroringGL.Source1GL_ID         =   t_sMirroringGL.Source1GL_ID  and 
               bMirroringGL.Source2GL_ID         =   t_sMirroringGL.Source2GL_ID  and
               bMirroringGL.Company_ID           =   t_sMirroringGL.Company_ID    and
               bMirroringGL.Domain_ID            =   t_sMirroringGL.Domain_ID     and
               bMirroringGL.tc_Rowid            <>   t_sMirroringGL.tc_Rowid      and 
              (bMirroringGL.Source2CostCentre_ID = 0                               or
               bMirroringGL.Source2CostCentre_ID = ?)
         no-error.

    <Q-8 run MirroringGLBySourceGLAnalysis (all) (Read) (NoCache)
       (input t_sMirroringGL.Company_ID, (CompanyId)
        input t_sMirroringGL.Domain_ID, (DomainId)
        input t_sMirroringGL.Source1GL_ID, (Source1GLId)
        input t_sMirroringGL.Source2GL_ID, (Source2GLId)
        output dataset tqMirroringGLBySourceGLAnalysis) in BMirroringGL >
    find first tqMirroringGLBySourceGLAnalysis where 
        tqMirroringGLBySourceGLAnalysis.tiSource2CostCentre_ID  = 0 or
        tqMirroringGLBySourceGLAnalysis.tiSource2CostCentre_ID  = ? and
        tqMirroringGLBySourceGLAnalysis.tiMirroringGL_ID <> t_sMirroringGL.MirroringGL_ID
        no-error.

    if available tqMirroringGLBySourceGLAnalysis or available bMirroringGL
    then do:
         assign vcMsg = trim( #T-24'Another record with the same source accounts is already created with a blank cost center.':100(68320)T-24#) + chr(10) +
                        trim( #T-25'You cannot specify a cost center when using wildcards.':100(67963)t-25#) + chr(10) + 
                        trim( substitute(#T-26'Cost center code: &1':100(67964)T-26#, t_sMirroringGL.tcSource2CostCentreCode))
                viLocalStatus = -1.
        <M-9 run SetMessage
           (input  vcMsg (icMessage), 
            input  '' (icArguments), 
            input  'tMirroringGL.tcSource2CostCentreCode':U (icFieldName), 
            input  t_sMirroringGL.tcSource2CostCentreCode (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sMirroringGL.tc_Rowid (icRowid), 
            input  'QadFin-7551':U (icFcMsgNumber), 
            input  '' (icFcExplanation), 
            input  '' (icFcIdentification), 
            input  '' (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BMirroringGL>
    end.
end. /* If Source2GL is defined with costcentre and Source2CostCentre_ID is filled */

/* If Source2GL is defined with costcentre and Source2CostCentre_ID is not filled */
if vlGLIsCostCentreAccount                  and 
   (t_sMirroringGL.Source2CostCentre_ID = 0 or
    t_sMirroringGL.Source2CostCentre_ID = ?)
then do:
    find first bMirroringGL where 
               bMirroringGL.Source1GL_ID         =   t_sMirroringGL.Source1GL_ID and 
               bMirroringGL.Source2GL_ID         =   t_sMirroringGL.Source2GL_ID and
               bMirroringGL.Company_ID           =   t_sMirroringGL.Company_ID   and
               bMirroringGL.Domain_ID            =   t_sMirroringGL.Domain_ID    and
               bMirroringGL.tc_Rowid      <>   t_sMirroringGL.tc_Rowid           and
              (bMirroringGL.Source2CostCentre_ID <> 0                            and
               bMirroringGL.Source2CostCentre_ID <> ?)
         no-error.

    <Q-10 run MirroringGLBySourceGLAnalysis (all) (Read) (NoCache)
       (input t_sMirroringGL.Company_ID, (CompanyId)
        input t_sMirroringGL.Domain_ID, (DomainId)
        input t_sMirroringGL.Source1GL_ID, (Source1GLId)
        input t_sMirroringGL.Source2GL_ID, (Source2GLId)
        output dataset tqMirroringGLBySourceGLAnalysis) in BMirroringGL >
    find first tqMirroringGLBySourceGLAnalysis where 
        tqMirroringGLBySourceGLAnalysis.tiSource2CostCentre_ID  <> 0 and
        tqMirroringGLBySourceGLAnalysis.tiSource2CostCentre_ID  <> ? and
        tqMirroringGLBySourceGLAnalysis.tiMirroringGL_ID <> t_sMirroringGL.MirroringGL_ID
        no-error.

    if available tqMirroringGLBySourceGLAnalysis or available bMirroringGL
    then do:
         assign vcMsg = trim(#T-27'Another record with the same source accounts is already created with a non-blank cost center':100(68321)T-27#) + chr(10) +
                        trim(#T-28'You cannot use wildcards for cost center when a specific cost center is already used.':100(67968)t-28#).
         <M-11 run SetMessage
            (input  vcMsg (icMessage), 
             input  '' (icArguments), 
             input  'tMirroringGL.tcSource2CostCentreCode':U (icFieldName), 
             input  t_sMirroringGL.tcSource2CostCentreCode (icFieldValue), 
             input  'E':U (icType), 
             input  3 (iiSeverity), 
             input  t_sMirroringGL.tc_Rowid (icRowid), 
             input  'QadFin-7552':U (icFcMsgNumber), 
             input  '' (icFcExplanation), 
             input  '' (icFcIdentification), 
             input  '' (icFcContext), 
             output viFcReturnSuper (oiReturnStatus)) in BMirroringGL>
       assign viLocalStatus = -1.
    end.
end. /* If Source2GL is defined with costcentre and Source2CostCentre_ID not is filled */

/*	
If Source1GL is defined with division and Source1Division_ID is filled
Make sure we can?t find any MirroringGL record
 with the same Source1GL and Source2GL that has Source1Division_ID blank.
*/
if vlGLIsDivisionAccount                  and 
   t_sMirroringGL.Source2Division_ID <> 0 and
   t_sMirroringGL.Source2Division_ID <> ? 
then do:
    find first bMirroringGL where 
               bMirroringGL.Source1GL_ID         = t_sMirroringGL.Source1GL_ID       and 
               bMirroringGL.Source2GL_ID         = t_sMirroringGL.Source2GL_ID       and
               bMirroringGL.Company_ID           = t_sMirroringGL.Company_ID         and
               bMirroringGL.Domain_ID            = t_sMirroringGL.Domain_ID          and
               bMirroringGL.MirroringGL_ID      <> t_sMirroringGL.MirroringGL_ID     and
              (bMirroringGL.Source2Division_ID   = 0                                 or
               bMirroringGL.Source2Division_ID   = ?)
         no-error.

    <Q-12 run MirroringGLBySourceGLAnalysis (all) (Read) (NoCache)
       (input t_sMirroringGL.Company_ID, (CompanyId)
        input t_sMirroringGL.Domain_ID, (DomainId)
        input t_sMirroringGL.Source1GL_ID, (Source1GLId)
        input t_sMirroringGL.Source2GL_ID, (Source2GLId)
        output dataset tqMirroringGLBySourceGLAnalysis) in BMirroringGL >
    find first tqMirroringGLBySourceGLAnalysis where 
        (tqMirroringGLBySourceGLAnalysis.tiSource2Division_ID  = 0 or
        tqMirroringGLBySourceGLAnalysis.tiSource2Division_ID  = ? )and
        tqMirroringGLBySourceGLAnalysis.tiMirroringGL_ID <> t_sMirroringGL.MirroringGL_ID
        no-error.

    if available tqMirroringGLBySourceGLAnalysis or available bMirroringGL
    then do:
        assign vcMsg = trim( #T-29'Another record with the same source accounts is already created with a blank sub-account.':100(68322)T-29#) + chr(10) +
                        trim( #T-30'You cannot specify a sub-account when using wildcards.':100(67970)t-30#) + chr(10) + 
                        trim( substitute(#T-31'Sub-account code: &1':100(67971)T-31#, t_sMirroringGL.tcSource2DivisionCode)).
        <M-13 run SetMessage
           (input  vcMsg (icMessage), 
            input  '' (icArguments), 
            input  'tMirroringGL.tcSource2DivisionCode':U (icFieldName), 
            input  t_sMirroringGL.tcSource2DivisionCode (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sMirroringGL.tc_Rowid (icRowid), 
            input  'QadFin-7553':U (icFcMsgNumber), 
            input  '' (icFcExplanation), 
            input  '' (icFcIdentification), 
            input  '' (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BMirroringGL>
       assign viLocalStatus = -1.
    end.
end. /* If Source2GL is defined with division and Source2Division_ID is filled */

/* If Source2GL is defined with division and Source2Division_ID is not filled */
if vlGLIsDivisionAccount                   and 
   (t_sMirroringGL.Source2Division_ID = 0  or
    t_sMirroringGL.Source2Division_ID = ?) 
then do:
    find first bMirroringGL where 
               bMirroringGL.Source1GL_ID        = t_sMirroringGL.Source1GL_ID and 
               bMirroringGL.Source2GL_ID        = t_sMirroringGL.Source2GL_ID and
               bMirroringGL.Company_ID          = t_sMirroringGL.Company_ID   and
               bMirroringGL.Domain_ID           = t_sMirroringGL.Domain_ID    and
               bMirroringGL.tc_Rowid           <> t_sMirroringGL.tc_Rowid     and
              (bMirroringGL.Source2Division_ID <> 0                           and
               bMirroringGL.Source2Division_ID <> ?)
         no-error.

    <Q-14 run MirroringGLBySourceGLAnalysis (all) (Read) (NoCache)
       (input t_sMirroringGL.Company_ID, (CompanyId)
        input t_sMirroringGL.Domain_ID, (DomainId)
        input t_sMirroringGL.Source1GL_ID, (Source1GLId)
        input t_sMirroringGL.Source2GL_ID, (Source2GLId)
        output dataset tqMirroringGLBySourceGLAnalysis) in BMirroringGL >
    find first tqMirroringGLBySourceGLAnalysis where 
        tqMirroringGLBySourceGLAnalysis.tiSource2Division_ID  <> 0 and
        tqMirroringGLBySourceGLAnalysis.tiSource2Division_ID  <> ? and
        tqMirroringGLBySourceGLAnalysis.tiMirroringGL_ID <> t_sMirroringGL.MirroringGL_ID
        no-error.

    if available tqMirroringGLBySourceGLAnalysis or available bMirroringGL
    then do:
        assign vcMsg = trim(#T-32'Another record with the same source accounts is already created with a non-blank sub-account':100(68323)T-32#) + chr(10) +
                        trim(#T-33'You cannot use wildcards for the sub-account when a specific sub-account is already used.':100(67975)t-33#)
               viLocalStatus = -1.
        <M-15 run SetMessage
           (input  vcMsg (icMessage), 
            input  '' (icArguments), 
            input  'tMirroringGL.tcSource2DivisionCode':U (icFieldName), 
            input  t_sMirroringGL.tcSource2DivisionCode (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sMirroringGL.tc_Rowid (icRowid), 
            input  'QadFin-7554':U (icFcMsgNumber), 
            input  '' (icFcExplanation), 
            input  '' (icFcIdentification), 
            input  '' (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BMirroringGL>
    end. /*if available tqMirroringGLBySourceGLAnalysis or available bMirroringGL */
end. /* If Source2GL is defined with division and Source2Division_ID is not filled */

/*	
If Source2GL is defined with project and Source2project_ID is filled
Make sure we can?t find any MirroringGL record
 with the same Source1GL and Source2GL that has Source2Project_ID blank.
*/
if vlGLIsProjectAccount                  and 
   t_sMirroringGL.Source2Project_ID <> 0 and
   t_sMirroringGL.Source2Project_ID <> ? 
then do:
    find first bMirroringGL where 
               bMirroringGL.Source2GL_ID         = t_sMirroringGL.Source1GL_ID and 
               bMirroringGL.Source1GL_ID         = t_sMirroringGL.Source2GL_ID and
               bMirroringGL.Company_ID           = t_sMirroringGL.Company_ID   and
               bMirroringGL.Domain_ID            = t_sMirroringGL.Domain_ID    and
               bMirroringGL.tc_Rowid            <> t_sMirroringGL.tc_Rowid     and
              (bMirroringGL.Source2Project_ID    = 0                            or
               bMirroringGL.Source2Project_ID    = ?)
         no-error.

    <Q-16 run MirroringGLBySourceGLAnalysis (all) (Read) (NoCache)
       (input t_sMirroringGL.Company_ID, (CompanyId)
        input t_sMirroringGL.Domain_ID, (DomainId)
        input t_sMirroringGL.Source1GL_ID, (Source1GLId)
        input t_sMirroringGL.Source2GL_ID, (Source2GLId)
        output dataset tqMirroringGLBySourceGLAnalysis) in BMirroringGL >
    find first tqMirroringGLBySourceGLAnalysis where 
        (tqMirroringGLBySourceGLAnalysis.tiSource2Project_ID  = 0 or
        tqMirroringGLBySourceGLAnalysis.tiSource2Project_ID  = ?) and
        tqMirroringGLBySourceGLAnalysis.tiMirroringGL_ID <> t_sMirroringGL.MirroringGL_ID
        no-error.
    if available tqMirroringGLBySourceGLAnalysis or available bMirroringGL
    then do:
        assign vcMsg = trim( #T-34'Another record with the same source accounts is already created with a blank project.':100(68324)T-34#) + chr(10) +
                        trim( #T-35'You cannot specify a project when using wildcards.':100(67977)t-35#) + chr(10) + 
                        trim( substitute(#T-36'Project code: &1':100(67978)T-36#, t_sMirroringGL.tcSource2ProjectCode)).
        <M-17 run SetMessage
           (input  vcMsg (icMessage), 
            input  '' (icArguments), 
            input  'tMirroringGL.tcSource2ProjectCode':U (icFieldName), 
            input  t_sMirroringGL.tcSource2ProjectCode (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sMirroringGL.tc_Rowid (icRowid), 
            input  'QadFin-7555':U (icFcMsgNumber), 
            input  '' (icFcExplanation), 
            input  '' (icFcIdentification), 
            input  '' (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BMirroringGL>
       assign viLocalStatus = -1.
    end.    
end. /* If Source2GL is defined with project and Source2Project_ID is filled */

/* If Source2GL is defined with project and Source2Project_ID is not filled */
if vlGLIsProjectAccount                  and
   (t_sMirroringGL.Source2Project_ID = 0  or
    t_sMirroringGL.Source2Project_ID = ?) 
then do:
    find first bMirroringGL where 
               bMirroringGL.Source2GL_ID         = t_sMirroringGL.Source1GL_ID and 
               bMirroringGL.Source1GL_ID         = t_sMirroringGL.Source2GL_ID and
               bMirroringGL.Company_ID           = t_sMirroringGL.Company_ID   and
               bMirroringGL.Domain_ID            = t_sMirroringGL.Domain_ID    and
               bMirroringGL.tc_Rowid            <> t_sMirroringGL.tc_Rowid     and
              (bMirroringGL.Source2Project_ID    <> 0                          and
               bMirroringGL.Source2Project_ID    <> ?)
         no-error.

    <Q-18 run MirroringGLBySourceGLAnalysis (all) (Read) (NoCache)
       (input t_sMirroringGL.Company_ID, (CompanyId)
        input t_sMirroringGL.Domain_ID, (DomainId)
        input t_sMirroringGL.Source1GL_ID, (Source1GLId)
        input t_sMirroringGL.Source2GL_ID, (Source2GLId)
        output dataset tqMirroringGLBySourceGLAnalysis) in BMirroringGL >
    find first tqMirroringGLBySourceGLAnalysis where 
        tqMirroringGLBySourceGLAnalysis.tiSource2Project_ID  <> 0 and
        tqMirroringGLBySourceGLAnalysis.tiSource2Project_ID  <> ? and
        tqMirroringGLBySourceGLAnalysis.tiMirroringGL_ID <> t_sMirroringGL.MirroringGL_ID
        no-error.

    if available tqMirroringGLBySourceGLAnalysis or available bMirroringGL
    then do:
        assign vcMsg = trim(#T-37'Another record with the same source accounts is already created with a non-blank project.':100(68325)T-37#) + chr(10) +
                        trim(#T-38'You cannot specify wildcards for projecst when a specific project is already defined.':100(67980)t-38#)
               viLocalStatus = -1.
        <M-19 run SetMessage
           (input  vcMsg (icMessage), 
            input  '' (icArguments), 
            input  'tMirroringGL.tcSource2ProjectCode':U (icFieldName), 
            input  t_sMirroringGL.tcSource2ProjectCode (icFieldValue), 
            input  'E':U (icType), 
            input  3 (iiSeverity), 
            input  t_sMirroringGL.tc_Rowid (icRowid), 
            input  'QadFin-7556':U (icFcMsgNumber), 
            input  '' (icFcExplanation), 
            input  '' (icFcIdentification), 
            input  '' (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BMirroringGL>
    end. /* if available tqMirroringGLBySourceGLAnalysis or available bMirroringGL. */
end. /* If Source2GL is defined with project and Source2Project_ID is not filled */

assign oiReturnStatus = viLocalStatus.