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

 

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

Register now

Discussion stats
  • 0 replies
  • 927 views
  • 0 likes
  • 1 in conversation