Saturday, January 28, 2017

SAP HANA, Scenario error Multiple definitions of node

We were trying to enrich our scenario by adding from SPVR_SCENARIO_EVT table.
In this table there were tasks and people who executed that task.



where "SCOPE_OBJECT_DEF_NAME" = 'Assign Related Lawyer' and "EVENT_NAME" = 'Complete'
For example below query will find who "Complete" the task , "Assign Related Lawyer".

> fitted(res2.mod1)
      select SCOPE_OBJECT_USER_DISPLAY_NAME from  "MYSCENARO.gen_MYSCENARO::SPVR_MYSCENARO_EVT"    
    where "SCOPE_OBJECT_DEF_NAME" = 'Assign Related Lawyer' and "EVENT_NAME" = 'Complete' 

The problem was were adding this query for 6 times for different roles. The OPInt was giving error
after second join ,

The following errors occurred: Inconsistent calculation model (34011)
 Details (Errors):
 - calculationNode (MYSCENARO.gen_MYSCENARO::SPVR_MYSCENARO_EVT) -> operation (TableDataSource): Multiple definitions of node MYSCENARO.gen_MYSCENARO::SPVR_MYSCENARO_EVT found.


We generated a new script view and joined same table for several times.
Dummy join is for bringing a row for every scenario even if related data(s) are null or sparse.

BEGIN 
   var_out = select distinct  
    CAST ( dummyjoin.SCENARIO_INSTANCE_ID AS NVARCHAR) CC_SCENARIO_ID ,
  CAST ( catspec.SCOPE_OBJECT_USER_ID AS NVARCHAR) CC_CATSPEC_USERID ,catspec.SCOPE_OBJECT_USER_DISPLAY_NAME  CC_CATSPEC_DISPLAY,
      CAST (    lawmanager.SCOPE_OBJECT_USER_ID AS NVARCHAR)  CC_LAWYERMGR_USERID,lawmanager.SCOPE_OBJECT_USER_DISPLAY_NAME CC_LAWYERMGR_DISPLAY ,
      CAST (    lawyerjoin.SCOPE_OBJECT_USER_ID AS NVARCHAR) CC_LAWYER_USERID ,lawyerjoin.SCOPE_OBJECT_USER_DISPLAY_NAME      CC_LAWYER_DISPLAY     ,
          intclient.useridagg USERIDAGG ,    intclient.displayagg DISPLAYAGG, 1  MYSUM
 from  
 "MYSCENARO.gen_MYSCENARO::SPVR_MYSCENARO_EVT"    dummyjoin
 left join  "MYSCENARO.gen_MYSCENARO::SPVR_MYSCENARO_EVT"    catspec on dummyjoin.SCENARIO_INSTANCE_ID = catspec.SCENARIO_INSTANCE_ID
 and  catspec."SCOPE_OBJECT_DEF_ID" = 'RFX_POC.001.ACT_PUBL.255.ZPUB' and catspec."EVENT_NAME" = 'Complete'
    left join    "MYSCENARO.gen_MYSCENARO::SPVR_MYSCENARO_EVT"    lawyerjoin on lawyerjoin.SCENARIO_INSTANCE_ID = dummyjoin.SCENARIO_INSTANCE_ID
    and lawyerjoin."SCOPE_OBJECT_DEF_NAME" = 'Review/Revise the Contract for Procurement' and lawyerjoin."EVENT_NAME" = 'Complete' 
 left join "MYSCENARO.gen_MYSCENARO::SPVR_MYSCENARO_EVT"    lawmanager on lawmanager.SCENARIO_INSTANCE_ID = dummyjoin.SCENARIO_INSTANCE_ID
    and lawmanager."SCOPE_OBJECT_DEF_NAME" = 'Assign Related Lawyer' and lawmanager."EVENT_NAME" = 'Complete' 
    
    left join (
    
    select SCENARIO_INSTANCE_ID, STRING_AGG(SCOPE_OBJECT_USER_ID, ';') as useridagg , STRING_AGG(SCOPE_OBJECT_USER_DISPLAY_NAME, ';') as displayagg from
(select distinct SCENARIO_INSTANCE_ID, SCOPE_OBJECT_USER_ID, SCOPE_OBJECT_USER_DISPLAY_NAME from "SYS_PROCESS_VISIBILITY"."MYSCENARO.gen_MYSCENARO::SPVR_MYSCENARO_EVT"
where ( SCOPE_OBJECT_DEF_NAME = 'Analyzing the Questions' or SCOPE_OBJECT_DEF_NAME = 'Create/Revise Technical Evaluation Report' )
 and EVENT_NAME = 'Completed')
 group BY SCENARIO_INSTANCE_ID 
 
     )  intclient on  intclient.SCENARIO_INSTANCE_ID = dummyjoin.SCENARIO_INSTANCE_ID ; 

END 

No comments:

Post a Comment