70 likes | 206 Views
Multiple Indicator Cluster Surveys Data Processing Workshop. Revisiting Data Path and Error Messages in a Data Entry Application. Moving Through a Field. There are two ways to move through a field (i.e., pass through without allowing input) within CSPro: Making the field protected
E N D
MICS Data Processing Workshop Multiple Indicator Cluster SurveysData Processing Workshop Revisiting Data Path and Error Messages in a Data Entry Application
Moving Through a Field There are two ways to move through a field (i.e., pass through without allowing input) within CSPro: • Making the field protected • if a field on a form is protected, the data entry operator can’t enter it; this property must be set during the design of the data entry application • Using the noinput command • the command must be placed in the field’s preproc • the field must be assigned a value for the command to work • going forward, the data entry operator can’t enter the field • going backward, the field can be entered; therefore, need a check in the postproc that the value has not been changed
Questionnaire Filters • Filters have a questionnaire number but generally do not appear in the dictionary • Filters usually refer to previously-entered data (e.g., WB6) • These filters are implemented in either • the postproc of the variable that precedes them • the preproc of the variable that follows them • WB6 is implemented in the postproc of WB5 (but could have also been implemented in the preproc of WB7)
Controlling the Number of Individual Questionnaires • CSPro will add level-two questionnaires until it is forced to stop by an endlevel command • Logic ensuring that the correct number of level two questionnaires are entered is located in • the postproc of FormWM • the preproc and postproc of WMCH • This code does not need to be modified
Customizing your application • Once you have customized your dictionary and forms, you should review it to: • Remove obsolete logic • Fix any compilation errors • Correct any erroneous skips • Check data entry path • Add checks for new variables/modules
Common Compile Error Messages • Problem: Forgot to declare a variable Error: <variable> is not a declared variable or is a misspelled dictionary entry To correct this, either: • Declare it in the PROC GLOBAL section (preferred method) • use ‘set implicit' in PROC GLOBAL • Problem: Forgot ; at the end of a line ERROR: Expecting ';' or operator near line <X> in <foo> procedure
Common Compile Error Messages • Problem: Deleted a module/variable in dictionary that had logic ERROR: PROC invalid - 'HL6' does not exist To correct this, either: • Reinstate the dictionary item, if you deleted the item by mistake • Delete the obsolete logic from this module/ variable (Warning: Be positive this code does not belong elsewhere due to a variable name change, etc.)