Getting Started with CSPro


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.

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 GLOBAL

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.

#Beginner