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;