CSPro on www.census.gov
Download the latest versions of CSPro, CSEntry, and CSWeb. Watch CSPro videos and learn about upcoming U.S. Census Bureau workshops.
CSPro Help
CSPro Help is an excellent resource whether you are just getting started or an expert user. The help is available offline with an installation of CSPro or online at http://www.csprousers.org/help.
Popular Help Topics
- What is CSPro?
- What’s New in CSPro?
- Programming Standards
- Alphabetical List of Statements and Functions
CSPro Examples
CSPro Examples are a collection of data entry, edits & batch, and tabulation projects. Some projects are standalone, while others simply demonstrate common techniques. Here, you can see how the developers of CSPro design and code their applications. Feel free to use anything you see in these projects in your own project. The examples are an optional install. If selected they will be installed to your Documents folder under CSPro.
Debugging
Use of errmsg and trace
One of the most effective debugging tools at your disposal is the errmsg function. It can be useful to place them in PROCs, so you can see the order in which your application is executed. When this becomes burdensome, use the trace function. By enabling trace you’ll see the execution of your application as it enters and exits each PROC. To see even more detail, set trace to output logic statements.
Has your application taken an unexpected path? Use trace in much the same way you would use errmsg to log the values of the conditional statement.
PROC DEBUGGING_FF
preproc
// Enable trace to see path of execution
trace(on);
postproc
// Disable trace
trace(off);
PROC ELIGIBLE
// Log user-generated information
trace("AGE %d > 15 and SEX %d = 2", AGE, SEX);
// Begin outputting logic statements
set trace;
if AGE > 15 and SEX = 2 then
skip to FERTILITY_FORM;
endif;
// Stop outputting logic statements
set trace(off);
Use of Log Files
Log files expose a layer of detail otherwise unavailable.
Specifics of every synchronization will be written to the sync log. Depending on your OS you will find the sync log in either one of two places:
- Android: csentry\sync.log
- Windows: Users\username\AppData\Roaming\CSPro\sync.log
CSWeb makes use of two log files. These logs will only exist if you are using CSWeb:
- csweb\logs\api.log
- csweb\logs\ui.log
The API log records details related to the underlying RESTful API, while the UI log records actions related the navigation of the website.
Forum/Email
Need additional assistance? You can post questions to our forum at http://www.csprousers.org/forum. The forum has a couple of advantages. You may get a quicker response, because anyone in the CSPro Users community can respond. Also, it is likely someone has the same question as you, so it benefits the entire CSPro Users community to see the answer. As a secondary option, you can email the team at cspro@lists.census.gov. It is important to use the above email and not contact us directly. This helps us manage email support across our team.
Writing a clear question can be a challenge, but it is worth the extra effort. A clear question will lead to a quicker and more accurate response. Here are some tips to consider when writing your next question:
- First, search the forum for an answer. Your question may have already been addressed.
- Write a one sentence subject line in your forum post or email that summarizes the issue.
- Start your post or email by expanding on your subject line and fill in necessary details.
- Tell us how to reproduce the issue in bullet points.
- If necessary, include just enough code to reproduce the issue.
- This may be a snippet of code or a simplified application, but you should not be sending the entire application.
- To prepare projects for attachment, use CSPack (Tools > Pack Application).
- If useful, attach the appropriate log file (sync.log, api.log, or ui.log).
- Proof-read your question— is everything clear?
- Finally, be prepared to answer follow-up questions when contacted by the team.