Sasshiato Crash Guide

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 6

SASSHIATO© Crash Guide
Sasshiato is designed to replace rp_gentable macro and to work “silently” without having
to change existing programs. Only if post-processing is used, the calls to rp_gentable
should be replaced with calls to __sasshiato macro.
Sasshiato uses a configuration file to define the format of the report (font size, font face,
paper size, margins, position of headers and footers, and many more formatting aspects).
If you reporting standards change with respect to formatting, you will only need to
change the configuration file.
Please refer to comments in the configuration file for usage of configuration switches.
The configuration file can be used across all projects if it does not define system headers
or footers. Alternatively, it can be used per project (analysis) and system headers/footers
can be defined inside configuration file.
Configuration file can be also set up to read titles/footers from the central dataset. This is
not set up in evaluation version.
Unsupported features
Page numbers can only be placed in system headers ( system headers can be either
placed in header area or as part of the RTF table)
If SRTF (simple RTF) format is used, the page numbers can only be placed in
system headers and system headers must be placed in header area of the page (see
configuration file comments for instructions)
Sasshiato uses XML as an engine to communicate between SAS® and Java™.
XML has restrictions as to the characters that can be used without encoding.
Basically, only some ascii characters can be used, and other must be encoded. No
special symbols are allowed in XML file and must be also encoded.
Sasshiato will generate an error if dataset passed to it contains illegal characters.
If this happens, re-run Sasshiato with debug=101 option. Sasshiato will encode
restricted ascii characters and you should be able to generate the report. Because
of performance impact, this option is not turned on by default. Note that Sasshiato
will encode only ascii characters recognized by SAS. Please see “Character
restrictions/Printing special characters” for additional restrictions.
Sasshiato will not work on the RCD generated with previous versions of CDAR.
Feature unsupported in the evaluation version
Bookmarks
Grid
“no data tables” (need to modify CDAR)
If decimal alignment (D or RD) is used, page break control string (“//”) is treated
as a regular string. If a cell with D or RD alignment contains text string, this text
string will be placed to the left of the decimal point and will be attempted to
appear without wrapping. This is a limitation of evaluation version
Some alignments do not work properly in evaluation version (e.g. display of
NAE, or overall p-values). This is because CDAR was “hacked” to work with
courier font and the alignments were implemented in rp_gentable. Changing this
to work properly with Sasshiato was not practical for evaluation purpose but of
course can be done during final integration
I have done my best to connect all the “switches” between CDAR and Sasshiato,
but I might have missed something. If you see anything amiss please contact me
Evaluation version does not fully support spanned variables is output (wholerow
parameter of rp_define). It requires a bit more “surgery” into CDAR.
I have not have time to fully test Sasshiato integration into CDAR. Please
consider this to be “beta” integration and report any issues to me.
“Appendability” (combining RCDs) is a bit more cumbersome until we fully
integrate Sasshiato into CDAR
Instructions for Use
Sasshiato has been incorporated into CDAR code (on evaluation basis) and replaces
rp_gentable. In general, you should not need to modify your existing programs. If you
use %rp_gentable after post-processing, you will need to replace it with the call to
Sasshiato (%__sasshiato(dataset=<RCD dataset>)
If you encounter problems, I urge you to re-run your program with debug=101 parameter.
This parameter can be passed ro RPX_execute or RPX_Genlist, or directly to __sasshiato
macro. When debog=101, the xmal document will be saved in the output folder. This xml
document, along with SAS log file, will help me support you as efficiently as possible.
Explanation of __Sasshiato parameters
Most of Sasshiato parameters are optional. Sometimes you may want to adjust their
default values. In general, you should not need to specify any of the parameters except
DATASET (required) and possibly DEBUG (to help me diagnose issues if any) and
APPEND/APPENDABLE (to combine two or more RCDs into one report, see section
below)
dataset=
name of the RCD dataset
savexml=N,
whether XML document should be permanently saved. If debug>0, savexmal is
set to Y
debug=0,
debug level. Specify 101 for diagnostic purposes and to encode illegal characters
in data. Other debugging levels may be implemented in the future
append=,
whether the output should be appended to existing output with the same name
appendable=,
whether the output is not page-stamped awaiting additional documents to be
appended
colspacing=,
default spacing between columns. By default it is 12 (pt). It is not recommended
to set colspacing to less than 4
addlines=,
ADVANCE USE ONLY. BEYOND THE SCOPE OF EVALUATION
splitchars=,
list of characters on which words are allowed to wrap to another line (if wrapping
is allowed). The default is , /- and space.
esc_char= ,
Escape character used to indicate tabs and line breaks. Default is “/”
rtf_linesplit=,
ADVANCE USE ONLY. BEYOND THE SCOPE OF EVALUATION
stretch=,
space-delimited list of tokens (each having value of Y or N) indicating whether
stretching of a column is allowed.
extralines=,
<DEPRECATED>
indentsize=
size of the single indent.
The default (1) is approximately the width of a letter “A”.
Character restrictions/Printing special characters
The following characters/strings are restricted since they have special meaning to
Sasshiato:
The string “~{super” is restricted to indicate superscript.
The following characters are restricted and must be encoded (see below):
\
{
}
The forward slash “/” is also restricted by default since it is a default value of
escape character, but user can specify other escape character using ESC_CHAR
macro parameter, or can encode it as explained below.
Each of the restricted characters can be printed by encoding it as explained below.
To encode the restricted character, replace it with the following construct:
/#<number><space>, where <number> is the ascii decimal encoding of the character.
To print special symbols, encode them using the following construct:
/s#<number><space>, where <number> is the ascii decimal encoding of the symbol
character.
The easiest way to find the ascii decimal encoding number is to open Word, click on
Insert Symbol (change to normal font (e.g. Times New Roman) or Symbol font, as
needed) and click on a symbol. A box will show the ascii decimal number of the symbol.
Shortcuts for encoding restricted and some common non-ascii characters:
/s#le<space>
/s#ge<space>
± /s#pm<space>
/ /#47<space>
\ /#92<space>
{ /#123<space>
} /#125<space>
To print text in superscript, use the following construct: ~{super text}.
The superscripted text cannot contain the string “~{super”.
Combining several RCDs
There are some cases when two or more RCDs need to be combined into one report:
1. Titles, footnotes, and table header rows are the same but different parts of the
reports require the use of differet CDAR macros that can not be called together in
one report
2. Titles, footnotes or headers are different for different parts of the report (it is
unusual for titles to change)
3. Titles and footnotes are the same but table headers change or different parts of the
report
Case 1 is easily achieved by manually combining different parts for the reports using
RCD datasets (keeping RINFO and HEAD records from the first one, but appending
TBODY records) and generating the report
Case 2 and Case 3 can be done with SASSHIATO using APPEND and APPENDABLE
parameters. These parameters are NOT currently included in RPX_EXECUTE, so you
will need to run Sasshiato as a dummy post-processing (be sure to specify createtable=n
in RPX_EXECUTE). When Sasshiato is fully integrated into CDAR, these parameters
will be added to RPX_EXECUTE.
For the first part of the report, run your program with
CREATETABLE=n and then run __sasshiato with APPEND=N and APPENDABLE=Y
(this will produce report with “_PAGE_” instead of page numbers)
If you have more than 2 “parts”, run the program for the other ones (except the last one)
with CREATETABLE=n and then run __sasshiato with APPEND=Y and
APPENDABLE=Y Make sure that output file name is the same as in the previous step.
For the last part, run the program for the other ones (except the last one) with
CREATETABLE=n and then run __sasshiato with APPEND=Y and APPENDABLE=N.
This will result in final page stamping. Make sure that output file name is the same as in
the previous step.
Note: because of CDAR design, where titles/footnotes and output filename are derives
from program name passed to RPX_EXECUTE, it is not possible to have different
footnotes for different parts of the report, unless you replace them in the RCD file passed
to Sasshiato.
Note also that this process is not yet optimized for performance. Future Sasshiato
version(s) will try to address the performance issue.
Use of Background Images
Sasshiato supports background images (“watermarks”) when the pagination is requested.
To use a background image, specify a fully qualified path to the graphic file in the
configuration file WATERMARK property.
This could be jpeg, png, wmf, or bmp file.
Miscellanea
Supported values for column widths
N - no wrapping,
NH - no wrapping including header,
LW - longest word,
LWH - longest word with header included,
<number> - fixed number in points, 1in=72 points
<number>in - fixed number in inches
<number>cm - fixed number in cm
If not all columns are provided with column width values, the following defaults are set:
if no instructions are provided, 72 points is set for __col_0 if it is an ID column
(otherwise 15 points is set) and N is set for all remaining columns.
if only width for the first column is provided, all other columns are assumed to
have width = N.
if width for more than one column is provided, the last width value is repeated
for the remaining columns
Stretch Parameter
It takes values of Y or N. If __stretch variable is blank in RCD and STRETCH parameter
of __sasshiato macro is also blank, all the columns are assumed to be allowed to stretch.
(this is implemented in CDAR and can be changed if desired)
If fewer instructions are provided than number of columns, stretch=N is assumed for the
remaining columns.
__dist2next variable in RCD
This space delimited set of distances between columns, in points. Leave blank to let
default take effect. Otherwise, specify value for each column, using D for default, or
providing a number. Default value is the value of COLSPACING parameter.

Navigation menu