CSPro 2.3.006 07 May 2003 Release Notes ============= This document contains the following sections: [1] Updates since initial release [2] What's new in CSPro 2.3 [3] Migrating applications from CSPro 2.2 to 2.3 [4] CSPro 2.3 list of modules [5] Hardware and Software Requirements [6] Example files ============================================================================ [1] Updates since initial release CSPro 2.3 Release History ------------------------------ 24 Jan 2003 - 2.3.001 Initial release 13 Feb 2003 - 2.3.002 Update release 04 Mar 2003 - 2.3.003 Update release 10 Apr 2003 - 2.3.004 Update release 02 May 2003 - 2.3.005 Update release 07 May 2003 - 2.3.006 Update release Update Notes ============ CSPro (all modules) =================== 13 Feb 2003 - File names with partial paths are now handled correctly. 10 Apr 2003 - Spec files now load correctly if they have an EOF character at the end. CSPro (language) ================ 13 Feb 2003 - Warnings are no longer given when array subscript of zero is used. Erroneous subscript errors are no longer given in Data Entry and with Output dictionaries. Certain subscript errors no longer generate bad data or create records. When some records are deleted, looping through the remaining records now works correctly. 10 Apr 2003 - The "in" operator now works for alpha items and variables. 02 May 2003 - Problems with the "in" operator introduced in the 10 Apr 2003 version are corrected. CSPro (Data Dictionary) =========================== 13 Feb 2003 - When a new dictionary is created, default names are now derived from the dictionary file name. When entering starting positions and number of occurrences, the data dictionary now horizontally scrolls numbers. 10 Apr 2003 - Some subitem errors no longer cause CSPro to crash. When dictionaries open, the screen no longer dances. When converting items to subitems, the item length is correctly calculated when subitems have occurrences. Pressing Undo or Redo after a save now marks the dictionary modified. CSPro Application Designers =========================== 04 Mar 2003 - Whenever an application specification file has been modified, an asterisk (*) will appear next to the file name on the title bar. 10 Apr 2003 - Close button on tree window has been eliminated. Data Entry Designer =================== 10 Apr 2003 - The compiler no longer allows reenter to a persistent field. Align top and bottom now work correctly in all cases. When aligns are completed, all the selected items now remain selected. Undo no longer crashes trying to undo aligns. Edit Designer ============= 10 Apr 2003 - Edit files containing certain errors no longer crash CSPro 07 May 2003 - CSPro no longer crashes when attempting to open certain edit applications Data Entry ========== 04 Mar 2003 - Data Entry will not lose data when use moves between level 3 and level 2 within modify mode. In modify mode when persistent fields are changed, temporary files needed for the change are stored in Windows Temp. 10 Apr 2003 - If the Find function is used on the main data entry file, it no longer tries to close the file. Cross-Tabulate ============== 07 May 2003 - Cross-tabulate now correctly tabulates an area table when separate multiple files area chosen. Text Viewer =========== 04 Mar 2003 - Text Viewer will now open files if it is called a second time. Previously it just became active, but did not open files. 10 Apr 2003 - New features have been added to TextViewer. 1. Changing the font size now effects both the screen and the printing. 2. New toolbar buttons are added to perform Window/Cascade, Tile Top to Bottom, Tile Side by Side, Next, and Previous. All these functions have keyboard short cuts and appear in the Window menu. 3. Double clicking on the view selects the word under the cursor. A word is defined as a contiguous set of alphabetic, numeric, and underline characters. 4. Right clicking on the view brings up a menu to Copy, Copy to a Spreadsheet, Save, Print Preview and Print. 5. If part of a single line is copied, no CR/LF is added to the end of the text string. If an entire single line is copied or multiple lines, the last line always has a CR/LF. 6. Clicking on a line number or column number when the ruler is active, selects the entire line or column specified. If you press down the left button on a line number of column number and move the mouse, a contiguous set of lines or columns can be selected. 7. If a single line or part of a line is selected when the Find button is pressed, the selected text becomes the current find string. 8. The history of find strings persists between runs of Text Viewer. 9. Pressing F3 (for Find Next, or Ctrl+F3 (for Find Previous) will find the last text string specified by the find dialog whether the find dialog box is present or not. Map Viewer ========== 10 Apr 2003 - The legend title no longer changes when other parts of the legend are changed. Reformat Data ============= 13 Feb 2003 - Reformat no longer crashes under certain conditions. Reformat correctly enlarges subitems. Concatenate Data ================ 10 Apr 2003 - Concatenate now correctly handles eof and other special characters at the end of concatenated files. The OK buttons on file open dialog boxes now correctly indicate their functions. Simple files (without paths) are now correctly handled as output file names. Examples ======== 10 Apr 2003 - Blank numeric values are always defined as NotAppl in the example data dictionary. ============================================================================ [2] What's new in CSPro 2.3 Those of you who are already familiar with CSPro 2.2 should note the following significant changes and new features. Please refer to the CSPro documentation or on-line helps for more information. CSPro (Data Entry Designer) =========================== - COLOR IN FORMS. You now have total control over the colors you use in your data entry applications. Each form can have its own color, and every text item can have its own color. - MORE ALIGNMENT FUNCTIONS FOR FORMS DESIGN. In addition to aligning things left, right, top and bottom, you can now center things and space them evenly. CONCATENATE DATA UTILITY ======================== - This utility allows you to concatenate (join together) as many data files (or text files) as you like. The data files can be from any folder and you can sort them in a variety of ways. You'll find it on CSPro's Tools menu. CSPro (language) ================ - INSERT/DELETE/SORT COMMANDS. These are new commands in the CSPro language, which provide you more power in manipulating your data files. - DECLARING VARIABLES IN YOUR LOGIC. Variables that are not declared in PROC GLOBAL will be flagged as errors to help you avoid unintentional errors in your logic. If you prefer, you can easily set the compiler not to flag these as errors, as in CSPro 2.2. See the CSPro documentation on "Declarations" for more details. - SUBSCRIPT CHECKING. The CSPro compiler now issues warnings for unusual or improper use of subscripts. This will help you find errors in your logic, avoid run-time errors, and help ensure that your applications work the way you want. - REENGINEERED EXECUTION MODULES. We've done a lot of work "under the hood" to improve the way CSPro runs your applications. Several small bugs have been fixed and unusual behaviors corrected. CSPro (all modules) =================== - MORE PRODUCTION SUPPORT. We've standardized the Run Information files (.PFF) and provided more options for you to control the way CSPro data applications run. You can now double click on any .PFF file and CSPro will execute it. - BACKWARD COMPATIBILITY. You can open any application created in CSPro 2.2 and run it in CSPro 2.3. However, there are some differences between 2.2 and 2.3 that might affect the way your applications run. You may need to make some small modifications to your applications to make then run properly in 2.3. See the next section on "Migrating applications from CSPro 2.2 to 2.3" for more details. ============================================================================ [3] Migrating applications from CSPro 2.2 to 2.3 If you have an existing CSPro 2.2 application which you plan to run using CSPro 2.3, you must check the following: COMPILER ERRORS AND WARNINGS Compiler errors have changed. Before if you had an error in your logic, CSPro would flag the offending line with a blue oval to the left of the line. Now you will see a red circle. Compiler warnings have been added. CSPro will flag these with a yellow circle to the left of the line. Some important new types of errors and warnings are described below. VARIABLE DECLARATIONS IN YOUR LOGIC The first time you compile your logic the CSPro compiler will indicate an error (red circle on the left) for any variable that is not in any dictionary and not explicitly declared in PROC GLOBAL. This is called compiling in "explicit mode". CSPro 2.2 uses "implicit mode" as the compiler default, meaning you can use any variable name in any procedure without declaring it in PROC GLOBAL. The purpose of explicit mode is to catch unintentional errors in your logic, such as misspelled dictionary item names. When you see this kind of compiler error, you should first check to make sure the variable name is what you intended. If it is, you should either declare the variable in PROC GLOBAL, or set the compiler to implicit mode. You can change the default mode on your computer by checking or unchecking the Options/Set Explicit setting. This setting will then remain in effect for all applications. Note that this setting is in effect only on your computer; if you move your application to another computer with a different setting, you may get a different result when you compile. If you include either a "set implicit" or "set explicit" statement in PROC GLOBAL, this will override the computer’s default setting and your application will always give the same result on any machine. NEW .PFF FILE FORMATS .PFF file formats have changed slightly in CSPro 2.3. This will only affect you if you are creating your own .PFF files and running them in a production setting. Otherwise this change will be transparent to you. CSPro 2.3 can read any .PFF file created in 2.2 and will automatically convert it to the new format. SEQUENTIAL FIELDS Protected Sequential fields work correctly in CSPro 2.3. Using both the "protected" and "sequential" attributes did not execute correctly in CSPro 2.2. If you wrote logic in your application to achieve this behavior, you may be able to eliminate it. Some users who wrote their own logic for sequential fields discovered an odd behavior of the "curocc" and "totocc" functions in CSPro 2.2. This happens in the preproc of the first item in a group (roster). The "current occurrence" in this situation is one less than in the postproc, or proc for any other item in the group (roster). For example, if LINENUM is the first item in the person roster and your logic is: PROC LINENUM preproc $ = curocc(); you will get the runtime error "Index for variable LINENUM exceeds section limits in Var LINENUM Preproc. Index is 0,0,0". This behavior has been corrected in CSPro 2.3, and the above logic executes as you would expect with no runtime error. SUBSCRIPT WARNINGS The CSPro 2.3 compiler gives a warning (yellow circle on the left) whenever it finds an item that does not have a subscript in a context where it would expect one. The CSPro 2.2 compiler does not give these warnings. In 2.3, as in 2.2, applications with these warnings will execute. A subscript will be assumed at runtime, but it may not be what you anticipated, and may generate runtime errors. If you see these warnings, you should examine your logic (and dictionary) very carefully and consider adding a subscript in your logic. GENERATING NEW RECORDS In CSPro 2.2 batch applications, you can generate new records by using subscripts. For example, if a case has three person records and your logic says "AGE(i) = 99" and the value of "i" is 5, then two new records are generated. In CSPro 2.3, this situation gives a runtime error and no new records are generated. Usually this situation only happens due to errors in your logic. However, if you are using this behavior intentionally, you should use the "insert" command. ============================================================================ [4] CSPro 2.3 list of modules Data Dictionary Data Entry Designer Batch Edit Designer Cross Tabulation Data Entry Run Batch Edit Run Text Viewer Table Viewer Map Viewer Table Retrieval Tabulate Frequencies Sort Data Export Data Reformat Data Compare Data Concatenate Data Data Dictionary Converter Shape to Map Converter ============================================================================ [5] Hardware and Software Requirements Pentium processor 32 MB of memory SVGA monitor mouse 12 MB of free disk space Windows 95, 98, Me, NT 4.0, 2000, XP ============================================================================ [6] Example files The "\Program Files\CSPro 2.3\Examples" folder contains the CSPro Example files: Census 2000 Dictionary.dcf -- Census Data Dictionary example Census 2000 Data Entry.ent -- Census Data Entry example application Census 2000 National Tabs.xtb -- Census Tabulations -- National level Census 2000 Prov-Dist Tabs.xtb -- Census Tabulations -- Subnational levels Popstan Census 2000.dat -- Census data file for above applications Popstan Census 2000.anm -- Area Names file (Province/District) Popstan Census 2000.map -- Popstan map polygon file (ASCII) Popstan Census 2000.mpc -- Popstan map polygon file (binary) Popstan Census 2000.mdf -- Map data file for Map Viewer Popstan.trs -- TRS file for Table Retrieval There are examples folders: ..\Examples\DateCheck ..\Examples\HotDeck ..\Examples\ItemDriveDE ..\Examples\Lookup ..\Examples\Current Population Survey ============================================================================ Comments, questions, and suggestions should be addressed to: Methodology & Software Development Branch International Programs Center U.S. Census Bureau Washington, DC 20233-8860 USA Phone: 1 (301) 763-1451 Fax: 1 (301) 457-3033 E-mail: CSPro@census.gov Web site: www.census.gov/ipc/www/cspro