Enabling Report Approval (Maker-Checker)

Prerequisites

To enable the Report Approval workflow in Sigma Studio, approval workflow should be activated and an authentication access should be provided to the Studio administrators to view and approve or reject the reports.

You can enable the report approval workflow for different user roles. You can assign different roles for the maker, checker and viewer users for your IT & Operations and Implementation teams, thereby enabling the listed maker, checker and viewer users to be assigned with the appropriate accessible roles based on their entitlements. Apart from your IT & Operations and Implementation teams, you can even assign different roles for the maker, checker and viewer users for your corporate clients. Refer IT RolesImplementation Roles and Client Roles for detailed information on the usage of the respective roles.


Perform the following steps on the Studio schema:

  1. In the CT_REQ_MDLR_AUTHFLOW table, change the type of authentication from noauth to foureye or sixeye and make changes to the AUTH_FLOW column accordingly. A sample entry is provided as follows:

    TABLE COLUMN

    VALUES

    GCIFCTSTUD2014ENTL

    FLOW_CTRL_ID

    004

    PRODUCT

    CTSTUDIO

    SUB_PRODUCT

    REPORTS

    CHANNEL_ID

    3

    APPLICATION_ID

    CTSTUDIO

    DEFAULT_IND

    Y

    EVAL_CONDITION

    {

             condition  : [

                              {

                                           id  :  equals ,

                                          field  :  $context.authflow

                                          value  : true

                                }

             ]

    }

    EVAL_ORDER

    1

    STOP_PROCESS_IND

    FALSE

    RESPECT_HIER_IND

    FALSE

    TYPE

    foureye

    AUTH_FLOW

    {

       authflow  : [


    {

                  tier  : [

                                  {

                                     type  : INTEGER,                        

                                     min  : 10,                                      

                                     max  : 100,                                   

                                     workflow  : {                                      

                                     type  :  foureye ,                      

                                                     flow  : {                        

                                                    completed  : false                       

                                                                 }

                                                        }

                                      },

                                     {

                                     type  : INTEGER,

                                     min  : 100,

                                     max  : 1000,

                                      workflow  : {

                                      type  :  sixeye ,

                                                        flow  : {

                                                       completed  : false

                                                                      }

                                                             }

                                         },

                                        {

                                         type  : INTEGER,

                                        min  : 1000,

                                        max  : 10000,

                                        workflow  : {

                                        type  :  tree ,

                                                         flow  : {

                                                         condition  :  OR ,

                                                         completed : false,

                                                          flow : [

                                                                           {

                                                                                   role :  A ,

                                                                                   count : 1,

                                                                                   completed : false

                                                                             },

                                                                            {

                                                                                    role :  B ,

                                                                                    count : 2,

                                                                                    completed : false

                                                                             },

                                                                             {

                                                                                     role :  D ,

                                                                                     count : 1,

                                                                                     completed : false

                                                                               },

                                                                         ]

                                                                     },

                                                         {

                                                             completed : false,

                                                              flow : [

                                                                               {

                                                                                    role :  A ,

                                                                                    count : 1,

                                                                                    completed : false

                                                                                },

                                                                                {

                                                                                     role :  C ,

                                                                                     count : 1,

                                                                                     completed : false

                                                                                  },

                                                                                  {

                                                                                       role :  D,

                                                                                       count : 1,

                                                                                       completed : false

                                                                                    }

                                                                              ]

                                                                        },

                                                          {

                                                             completed : false,

                                                               flow : [

                                                                                    {

                                                                                       role :  X ,

                                                                                       count : 1,

                                                                                       completed : false

                                                                                      },

                                                                                      {

                                                                                              role :  Y ,

                                                                                              count : 1,

                                                                                              completed : false

                                                                                        }

                                                                                 ]

                                                                            },

                                                                                        {

                                                                                              role :  E ,

                                                                                              count : 1,

                                                                                              completed : false

                                                                                              }

                       

                                                                                      ]

                   

                                                                               }

                

                                                                     }

            

                                                          }

         

                                             ]


                                 }


                   ]


       }

  2. In the same CT_REQ_MDLR_AUTHFLOW table, provide an entry to enable the report approval workflow for viewing the reports, which must be approved by the Studio Administrator. A sample entry is provided as follows: 

    TABLE COLUMN

    VALUES

    GCIFCTSTUD2014ENTL

    FLOW_CTRL_ID

    005

    PRODUCT

    VISUALIZATION

    SUB_PRODUCT

    REPORTS

    CHANNEL_ID

    3

    APPLICATION_ID

    CTSTUDIO

    DEFAULT_IND

    Y

    EVAL_CONDITION

    {

             condition  : [

                              {

                                           id  :  equals ,

                                          field  :  $context.authflow

                                          value  : true

                                }

             ]

    }

    EVAL_ORDER

    1

    STOP_PROCESS_IND

    FALSE

    RESPECT_HIER_IND

    FALSE

    TYPE

    foureye

    AUTH_FLOW

    {

       authflow  : [


    {

                  tier  : [

                                  {

                                     type  : INTEGER,                        

                                     min  : 10,                                      

                                     max  : 100,                                   

                                     workflow  : {                                      

                                     type  :  foureye ,                      

                                                     flow  : {                        

                                                    completed  : false                       

                                                                 }

                                                        }

                                      },

                                     {

                                     type  : INTEGER,

                                     min  : 100,

                                     max  : 1000,

                                      workflow  : {

                                      type  :  sixeye ,

                                                        flow  : {

                                                       completed  : false

                                                                      }

                                                             }

                                         },

                                        {

                                         type  : INTEGER,

                                        min  : 1000,

                                        max  : 10000,

                                        workflow  : {

                                        type  :  tree ,

                                                         flow  : {

                                                         condition  :  OR ,

                                                         completed : false,

                                                          flow : [

                                                                           {

                                                                                   role :  A ,

                                                                                   count : 1,

                                                                                   completed : false

                                                                             },

                                                                            {

                                                                                    role :  B ,

                                                                                    count : 2,

                                                                                    completed : false

                                                                             },

                                                                             {

                                                                                     role :  D ,

                                                                                     count : 1,

                                                                                     completed : false

                                                                               },

                                                                         ]

                                                                     },

                                                         {

                                                             completed : false,

                                                              flow : [

                                                                               {

                                                                                    role :  A ,

                                                                                    count : 1,

                                                                                    completed : false

                                                                                },

                                                                                {

                                                                                     role :  C ,

                                                                                     count : 1,

                                                                                     completed : false

                                                                                  },

                                                                                  {

                                                                                       role :  D,

                                                                                       count : 1,

                                                                                       completed : false

                                                                                    }

                                                                              ]

                                                                        },

                                                          {

                                                             completed : false,

                                                               flow : [

                                                                                    {

                                                                                       role :  X ,

                                                                                       count : 1,

                                                                                       completed : false

                                                                                      },

                                                                                      {

                                                                                              role :  Y ,

                                                                                              count : 1,

                                                                                              completed : false

                                                                                        }

                                                                                 ]

                                                                            },

                                                                                        {

                                                                                              role :  E ,

                                                                                              count : 1,

                                                                                              completed : false

                                                                                              }

                       

                                                                                      ]

                   

                                                                               }

                

                                                                     }

            

                                                          }

         

                                             ]


                                 }


                   ]


       }

  3. In the OD_USER_FUNCTION_MB table, update the administrators' details to enable report approval. A sample entry is provided as follows:

    TABLE COLUMN

    VALUES

    OD_GCIFCTSTUD2014ENTL

    OD_USER_NO

    201407010004

    APPLICATION_IDCTSTUDIO

    OD_FUNCTION_CODE

    APPROVE
    OD_PRODUCT_CODECTSTUDIO
    OD_SUB_PROD_CODEREPORTS
    OD_ACC_NOREADONLY
    OD_TRANS_MAX_AMT0
    OD_ACC_GRP_CODE(NULL)
    OD_ROLLBACK_FLAG(NULL)
    CRITERIA_TYPEREADONLY
    USER_ROLEALL

    To roll back the report approval workflow, the values of the EVAL_CONDITION, TYPE and AUTH_FLOW columns must be modified in order to nullify the report approval workflow process. Therefore, it is necessary to specify the appropriate entries for the respective columns In the CT_REQ_MDLR_AUTHFLOW table in the Studio schema, as shown in the following table:

    TABLE COLUMN

    VALUES

    GCIFCTSTUD2014ENTL

    FLOW_CTRL_ID

    004

    PRODUCT

    CTSTUDIO

    SUB_PRODUCT

    REPORTS

    CHANNEL_ID

    3

    APPLICATION_ID

    CTSTUDIO

    DEFAULT_IND

    Y

    EVAL_CONDITION

    {"condition" : true}

    EVAL_ORDER

    1

    STOP_PROCESS_IND

    FALSE

    RESPECT_HIER_IND

    FALSE

    TYPE

    noauth

    AUTH_FLOW

    {"authflow":[{"tier":[{"type":"number","min":10,"max":100,"workflow":{"type":"none","flow":{"completed":true}}}]}]}


    For information about the Report Approval workflow in Sigma Studio, refer the following pages:

Copyright © Intellect Design Arena Limited.

All rights reserved. These materials are confidential and proprietary to Intellect Design Arena Limited and no part of these materials should be reproduced, published in any form by any means, electronic or mechanical including photocopy or any information storage or retrieval system nor should the materials be disclosed to third parties without the express written authorization of Intellect Design Arena Limited.