130 likes | 240 Vues
This presentation highlights the key features and best practices of Rich Text Format (RTF) in contexts like SiteManager. Designed for users unfamiliar with RTF's capabilities, it showcases vital strategies for developing reports efficiently. Emphasizing code organization, logical structure, and collaborative sharing, attendees will learn to avoid common pitfalls such as excessive queries and unnecessary code in loops. The session also covers exporting data and integrating external programs within RTF templates, making it a comprehensive guide to optimizing reporting tasks.
E N D
RTF Tips and Tricks Trns•port Users GroupPresentation October 15, 2004
Why We’re Here • C/S Release 5 added a lot to RTF • RTF was added to SiteManager fairly recently • Many people haven’t worked with it, or aren’t aware of all its capabilities • This is not an RTF class
Zen and the Art of RTF • Read the manual, significant updates in December 04 release • Study existing templates • Adapt, instead of re-invent, if possible • Develop reports incrementally • Logic before formatting • Outline • Work from the outside in • Develop as plain text report first
Save Someone’s Sanity(possibly even your own) • Develop with sharing in mind • e.g., multiple-project proposals/contracts • Comment, comment, comment • Then comment some more • RTFLOG.TXT is your friend • Indent code blocks • Comment ENDIFs, ENDREPEATs, etc.
Enhance Your Performance • SELECT * usually isn’t the best query • Do you really need all the columns? • Avoid WHERE_OR_AFTER • Retrieves ALL rows matching the condition • Keep database keys in mind • Keep unnecessary statements out of loops
Good Stuff™ • NUM_ROWS special variable • Gives the number of rows that the latest GET or REPEAT command found • FOUND special variable • Returns true if the latest GET or REPEAT command found a record that matches the condition in the command • “&!” can be used as a pointer of sorts (code_ex.) (output_ex.)
More Good Stuff • Exporting data using RTF • CSV, COLUMNAR built in • Can also export any text-based format, e.g., XML, HTML • Running external programs and DLL functions within an RTF template (code_ex.)(rawout_ex.)(finout_ex.)
Exporting Data • From CAS ArchiveContracts.rtf: %LET table_name = "CONTMOD" %REPEAT OVER CONTMOD WHERE CONTID IS SUBSET.CONTID %EXPORT CSV table_name, SUBSET.CONTID,, CONTMOD.CMODTYPE,, ...
Calling an External Program – Example 1 • From SiteManager SMVend2ebs.rtf: %load SystemCall ... %let OutputFile = t_cd_tbl_dtl.cd_desc ... %call plug in SystemCall( "if exist " || OutputFile || " del " || OutputFile ) ...
Calling an External Program – Example 2 • From CAS casecnt.rtf: %load SystemCall ... %call plug in SystemCall( "del " || CFBEXPTDIR || "\d" || subset.cnfacs || ".dat" ) ...
What on Earth is CFBEXPTDIR? • Environment variable • Defined in ITIDPSSV.CFG • Other job-specific variables are defined in the job parameter file • Other examples: OutFiles, SysFiles • For a list, look at a JOBPARM.TXT file • JOBEXEC.TXT also handy
RTF Tips and Tricks Mark Douglas mark.douglas@infotechfl.com