Developer Studio Version 7 Release 6.8 is the first release with RStat support and the first release of RStat which generated usable 'C' code for deploying a model in FOCUS. In Version 7 Release 6.9, a better integration of MISSING DATA was implemented. This integration was done on both the server and Developer Studio sides. The Version 7.6.9 server also marked a change in the search strategy for finding FUSELIB functions on the server side, on the APPPATH. As deployed models are simply FOCUS user library (also known as FUSELIB) routines, they can be deployed to any server. Version 7.6.9 marks changes in the server for the handling of MISSING DATA, changes in the methods of compilation of 'C' code on the server regarding the destination paths of the generated DLLs, and the use of APPPATH to find FUSELIB files.
RStat scoring routines can be deployed and used on Reporting Servers prior to Version 7.6.8 with minor modifications and considerations:
In order for the scoring routines to operate successfully on Reporting Servers prior to Version 7.6.8, you will need to add the following line of code to the beginning of the scoring routine before compilation.
Special functionality has been added to the Reporting Server and the scoring routines to allow the routines to receive and return missing values. The routines recognize missing data within the data set, handle the processing of the missing values according to accepted standards for each model, and where appropriate, return a missing value in the score.
Scoring routines deployed on servers prior to Version 7.6.8 do not have access to this new functionality. All processing of missing values must be handled in the data preparation process prior to executing the scoring routine.
To ensure that routines do not return incorrect answers for records with missing values, use the MISSING ON NEEDS ALL command within the scoring COMPUTE or DEFINE. This command causes the COMPUTE or DEFINE to execute the scoring routine only when all input variables contain non-missing values. If any of the input parameters contain missing values, the returned value will be set to missing.
There is no longer a procedure name limit of eight characters for Reporting Servers in Version 7.6.8 and higher. Procedures can have long names limited only by the rules of the specific deployment environment. This supports the development of more meaningful routine names that reflect the models and business scenarios they support.
In deployments prior to Version 7.6.8, procedure names cannot exceed a maximum of 8 characters in length excluding the file extension. For example,
Is a valid procedure name.
Is not a valid procedure name for deployment prior to Version 7.6.8.
Note: You cannot rename an existing scoring routine because the name is also embedded within the routine. The name needs to be defined at generation time.
In some environments, the default compiler functionality does not accept the long text strings used to embed the model PMML or model metadata within the routine. We recommend for deployment prior to Version 7.6.8, you exclude these strings from the routines when they are built.
To exclude the long strings from the routine when creating the scoring routine, turn off the Include PMML and Include Meta data options in the Export dialog box before saving. For more information on exporting the final model to build the scoring application, see Creating a Scoring Application.
Scoring routines prior to Version 7.6.8 can be compiled using GENCPGM to create the load module (.dll). For further detail, see the Compiling and Storing a Subroutine topic in the Using Functions manual: http://documentation.informationbuilders.com/masterindex/html/ html_wf_761/wf761func/source/topic185.htm.
Once the compile is completed successfully, copy the resulting .dll to the location of your dynamic link functions library file as specified by the IBICPG environment variable. If no specific location is defined, the location defaults to:
Once you have deployed the scoring routine using these rules, the scoring routine will be available for use with any DEFINE or COMPUTE commands within your WebFOCUS applications and reports in the same way as standard routines.