home *** CD-ROM | disk | FTP | other *** search
/ Best Objectech Shareware Selections / UNTITLED.iso / boss / data / foxp / 004 / rptfox.doc < prev    next >
Text File  |  1992-06-30  |  16KB  |  360 lines

  1.                        AD HOC REPORT WRITER MODULE
  2.                
  3.  
  4.      Ad Hoc Report Writer requires very little from the user 
  5.   beyond pointing at a desired action and hitting the ENTER key.
  6.   It was designed this way from the start.
  7.      
  8.      Reports and mail label definitions created with Report Writer
  9.   can be saved, edited, and rerun at will.  All output can be 
  10.   sent to the printer, screen, or to a disk file.  Custom index tags
  11.   can be built from within Report for your report and label runs. 
  12.   Theses index tags can be created with conditional expressions
  13.   through the use of a very powerful online Query builder. 
  14.  
  15.  
  16.  
  17.   ( ** VERY IMPORTANT ** ) FOXPRO 2.0 COMPATIBILITY
  18.  
  19.       Report Writer is completely compatible with Foxpro 2.0 database,
  20.   memo, and structural .cdx index files.  Report Writer is written in
  21.   Clipper 5.01 and uses SuccessWare's DBFSIX RDD to achieve Foxpro 2.0
  22.   file compatibility.
  23.  
  24.  
  25.    A FILE MUST HAVE A .CDX BEFORE YOU CAN USE IT WITH THIS REPORT WRITER   
  26.    A FILE MUST HAVE A .CDX BEFORE YOU CAN USE IT WITH THIS REPORT WRITER    
  27.    A FILE MUST HAVE A .CDX BEFORE YOU CAN USE IT WITH THIS REPORT WRITER   
  28.  
  29.  
  30.     You can create structural .cdx index files with Foxpro 2.0 with the
  31.     following syntax:
  32.  
  33.                    INDEX ON <field> TAG <tag name>
  34.  
  35.   
  36.   A FILE MUST HAVE A .CDX BEFORE YOU CAN USE IT WITH THIS REPORT WRITER  
  37.   A FILE MUST HAVE A .CDX BEFORE YOU CAN USE IT WITH THIS REPORT WRITER 
  38.   A FILE MUST HAVE A .CDX BEFORE YOU CAN USE IT WITH THIS REPORT WRITER 
  39.  
  40.  
  41.  
  42. INDEX EXPRESSION IDIOSYNCRACIES AS OF 06/30/92:
  43.  
  44. NOTE: THESE INCOMPATIBILITIES ARE LIMITED TO THE PRESENT RELEASE OF THE
  45.       SUCCESSWARE INDEX DRIVER.  A PHONE CONVERSATION WITH SUCCESSWARE ON
  46.       06/30/92 REVEALED THEIR NEXT RELEASE WHICH COMPLETELY ELIMINATES 
  47.       THESE FEW INCOMPATIBILITES IS IMMINENT.  REGISTERED USERS OF THE
  48.       RPTFOX AD HOC REPORT WRITER WILL RECEIVE AN UPDATED VERSION AT NO
  49.       COST SUBSEQUENT TO THIS NEXT RELEASE.
  50.  
  51.  
  52. HERE ARE SIMPLE WORK AROUNDS FOR THE FEW INCOMPATIBILITIES THAT DO EXIST:
  53.  
  54.  
  55. ******************************************************************************
  56. *                  !!! THE EASIEST WORK AROUND OF ALL !!!                    *
  57. ******************************************************************************
  58.  
  59. IF FOR ANY REASON RPTFOX AD HOC REPORT WRITER IS UNABLE TO OPEN AN EXISTING
  60. FOXPRO 2.0 .CDX INDEX USE THIS SIMPLE TECHNIQUE TO GET UP AND RUNNING:
  61.  
  62. THE INDEX BUILDER MODULE OF REPORT WRITER WILL CREATE EXPRESSIONS THAT
  63. ARE COMPLETELY COMPATIBLE WITH THE DBFSIX RDD!  IF YOU ARE HAVING TROUBLE
  64. WITH AN EXISTING FOXPRO 2.0 .CDX FILE USE FOXPRO TO DELETE ALL THE TAGS. 
  65.  
  66.                            USE <FILENAME>
  67.                            DELETE TAG ALL
  68.  
  69. NEXT USE FOXPRO TO CREATE ONE SIMPLE TAG AS A STARTER SINCE A FILE MUST HAVE
  70. A .CDX TO BE USED BY THE REPORT WRITER.  NOW USE THE INDEX BUILDER OF REPORT
  71. WRITER TO CREATE SYNTAX COMPATIBLE TAGS EFFORTLESSLY!
  72.  
  73. ******************************************************************************
  74. *                  !!! THE EASIEST WORK AROUND OF ALL !!!                    *
  75. ******************************************************************************
  76.  
  77.  
  78.  
  79. PERMANENT INCOMPATIBLITIES WITH .CDX FILES CREATED BY FOXPRO 2.0:
  80.  
  81. 1. IF YOU ARE USING NUMERIC FIELDS AS KEY FIELDS DO NOT USE THE FOLLOWING 
  82.    SYNTAX TO CONVERT THEM TO STRINGS:
  83.  
  84.             DATABASE HAS NUMERIC FIELD "AMOUNT" DEFINED AS 5,0
  85.             
  86.             USE <FILENAME>
  87.             INDEX ON STR(AMOUNT) TAG <TAG NAME>  
  88.           
  89.  
  90.    USE THE FOLLOWING SYNTAX INSTEAD:
  91.           
  92.             DATABASE HAS NUMERIC FIELD "AMOUNT" DEFINED AS 5,0
  93.           
  94.             USE <FILENAME>
  95.             INDEX ON STR(AMOUNT,5) TAG <TAG NAME>  
  96.  
  97.  
  98.    IF YOU HAVE A FILE WITH NUMERIC KEYS CREATED IN THE IMPROPER MANNER YOU
  99.    WILL HAVE TO USE FOXPRO TO RECONSTRUCT THESE INDEXES SINCE AD HOC REPORT
  100.    WRITER WILL NOT BE ABLE TO OPEN THEM UNTIL YOU DO SO. THIS REQUIREMENT
  101.    WILL ALWAYS EXIST!
  102.  
  103.  
  104.  
  105.  TEMPORARY RELEASE RELATED INCOMPATIBILIES:
  106.  
  107. 1. IF YOU ATTEMPT TO CREATE A CONDITIONAL INDEX TAG WITH FOXPRO 2.0 SUCH
  108.    AS  !EMPTY(ORDERNUM), FOXPRO WILL CONVERT THE "!" TO ".NOT." AS IN 
  109.    THE EXPRESSION ".NOT.EMPTY(ORDERNUM)".  THE .NOT. IS INCOMPATIBLE WITH
  110.    WITH THE CURRENT DBFSIX RDD.  RECREATE EXPRESSIONS OF THESE TYPE WITH AN
  111.    EQUIVALENT EXPRESSION LIKE THE FOLLOWING:
  112.       
  113.                !EMPTY(ORDERNUM)  --->  LEN(TRIM(ORDERNUM)) # 0
  114.                
  115.    YOU MUST USE FOXPRO TO RECREATE THE TAG SINCE THE DBFSIX RDD WILL NOT BE
  116.    ABLE TO OPEN THE .CDX FILE UNTIL THE INCOMPATIBLE EXPRESSION IS REMOVED.
  117.  
  118. 2. ANOTHER INCOMPATIBILITY I HAVE DISCOVERED IS IN THE AREA OF EQUALITY
  119.    CHECKS.  FOXPRO ACCEPTS THE FOLLOWING SYNTAX:
  120.   
  121.                       YESNO=.T.
  122.  
  123.                       ? YESNO==.T.  -  EVALUATES AS .T. 
  124.                       ? YESNO=.T.   -  EVALUATES AS .T.
  125.  
  126.    THE DBFSIX RDD WILL NOT ACCEPT AN EXPRESSION LIKE THE ABOVE FOR A CONDITION
  127.    AS IN THE FOLLOWING:
  128.                       
  129.                    BADFLAG = .T.
  130.  
  131.                    INDEX ON ORDERNUM TAG MAIN FOR BADFLAG==.T.
  132.                    INDEX ON ORDERNUM TAG MAIN FOR BADFLAG=.T.
  133.  
  134.    ALTHOUGH FOXPRO WOULD ACCEPT THE ABOVE YOU MUST SUBSTITUTE THE FOLLOWING
  135.    DEPENDING ON WHAT YOU WANT THE INDEX TO REFLECT:
  136.                    
  137.                    BADFLAG = .T.
  138.                    INDEX ON ORDERNUM TAG MAIN FOR BADFLAG        (TRUE)
  139.               (or) INDEX ON ORDERNUM TAG MAIN FOR BADFLAG < .T.  (FALSE)
  140.  
  141.  
  142.   
  143. 3.  ALIASED EXPRESSIONS IN INDEX KEYS SUCH AS IN THE FOLLOWING FOXPRO SYNTAX:
  144.  
  145.                     USE CUSTOMER
  146.                     INDEX ON CUSTOMER.LAST TAG LAST 
  147.  
  148.  
  149.     IN THIS CASE SIMPLY REMOVE THE ALIAS REFERENCE
  150.       
  151.                     USE CUSTOMER
  152.                     INDEX ON LAST TAG LAST 
  153.  
  154.  
  155. IF RPTFOX.EXE GENERATES A DBFSIX ERROR CODE OF 610 FOR "BAD INDEX EXPRESSION"
  156. THERE IS SOME INCOMPATIBLITY WITH FOXPRO SYNTAX IN ONE OR MORE OF THE TAGS IN
  157. THE .CDX YOU ARE TRYING TO OPEN!  YOU WILL NO DOUBT DISCOVER THE SOURCE OF THE
  158. ERROR IS AN INSTANCE OF THE INCOMPATIBILITIES NOTED ABOVE.
  159.  
  160.  
  161.  
  162.   ENVIRONMENT VARIABLE
  163.       
  164.       Report Writer is written in Clipper 5.01.  Since Clipper will
  165.   use expanded memory for indexing purposes it is standard practice to
  166.   include the following statment in your AUTOEXEC.BAT file if you should
  167.   experience corrupt indexes:
  168.       
  169.                            SET CLIPPER=E:0
  170.                       (or) SET CLIPPER=//E:0    
  171.  
  172.   Unlikely index corruption of this sort can occur with incompatible 
  173.   expanded memory managers.  This should alleviate any problems with
  174.   expanded memory you might encounter.
  175.            
  176.  
  177.                 
  178.   *-------------------------------------------------------------------*    
  179.                                 MAIN MENU
  180.   *-------------------------------------------------------------------*    
  181.   
  182.   CREATING A REPORT DEFINITION FOR THE FIRST TIME
  183.   
  184.   Ad Hoc Report Writer creates three distinct types of reports.
  185.   A single file report uses just one primary file.  A relational report
  186.   type one uses both a primary and secondary file.  There is one record 
  187.   in the secondary file for each primary record.  A relational report
  188.   type two uses both a primary and secondary file.  There are multiple
  189.   secondary records for each primary record.  Your data detemines which
  190.   type of report you will need to create.
  191.   
  192.   Creating a report is essentially the same process for all report
  193.   types. First, the report type is chosen and then report parameters 
  194.   are entered. You can control things like the left margin, spaces 
  195.   between printed fields on the report, page width, page length, etc.
  196.   The only parameter that may be confusing to the you is the subtotal
  197.   parameter. 
  198.     
  199.   Say, for example, you have a file of customer purchases like
  200.   ORDER.DBF.  It is indexed on customer number and you are trying to 
  201.   total the purchases for each customer and want a grand total of all
  202.   purchase