BookmarkSubscribeRSS Feed
FerhatD
Calcite | Level 5

Hi expert,

 

I would like to create a data grid that checks for the row numbers in SAS Intelligent Decisioning. As given below I create a Datagrid named 'mpsValidationResult' and want to assign it to 'id_val_row' that I declare before assigning. When I tried to test that code 'id_val_row' returns missing. You can find the code and log as attached.

 

Could you please help with what I am missing? 

 

Thanks in advance,

Regards

 

 

package "${PACKAGE_NAME}" /inline;

 

   method execute(double total_cover_amount,

                  double Cash_and_Cash_Equivalents,

                  in_out package datagrid mpsValidationResult

                  );

 

   dcl int id_val_row ;    

      

                               DataGrid_addCharacterColumn(mpsValidationResult, 'VALRESCODE')  ;  

                               DataGrid_addCharacterColumn(mpsValidationResult, 'VALRESVAR') ; 

                               DataGrid_addNumericColumn(mpsValidationResult, 'id_val_row') ; 

                                                                                         

/*2*/     

                if missing(total_cover_amount) then do ; 

         id_val_row= DATAGRID_ADDROW("mpsValidationResult") ;

         DataGrid_Set("mpsValidationResult",'VALRESCODE', id_val_row,'MISSING') ;

         DataGrid_Set("mpsValidationResult",'VALRESVAR', id_val_row,'total_cover_amount') ;

         end ; 

      else if (total_cover_amount < 0) then do  ; 

         id_val_row=DATAGRID_ADDROW("mpsValidationResult") ;

         DataGrid_Set("mpsValidationResult",'VALRESCODE',id_val_row,'INVRANGE') ;

         DataGrid_Set("mpsValidationResult",'VALRESVAR',id_val_row,'total_cover_amount') ;

         end ; 

                              

/*3 rule OK, logic?*/

      if missing(Cash_and_Cash_Equivalents) then do  ; 

         id_val_row=DATAGRID_ADDROW("mpsValidationResult") ;

         DataGrid_Set("mpsValidationResult",'VALRESCODE',id_val_row,'MISSING') ;

         DataGrid_Set("mpsValidationResult",'VALRESVAR',id_val_row,'Cash_and_Cash_Equivalents') ;

         end ; 

      else if (Cash_and_Cash_Equivalents < 0) then do  ; 

         id_val_row=DATAGRID_ADDROW("mpsValidationResult") ;

         DataGrid_Set("mpsValidationResult",'VALRESCODE',id_val_row,'INVRANGE') ;

         DataGrid_Set("mpsValidationResult",'VALRESVAR',id_val_row,'Cash_and_Cash_Equivalents') ;

         end ; 

                          

   end ;

endpackage;

 

 

 

FerhatD_0-1634566847510.png