|Contents:||Main||Chapter||See Also:||Getting Started Manual||Advanced User Manual|
Use EN1^DIP to print a range of entries, in columnar format.
|L||(Required) String that evaluates to zero.|
|DIC||(Required) Global root or file number, in the usual format.|
|FLDS||(Optional) The various fields to be printed.|
|BY||(Optional) The fields by which the data is to be sorted.|
|FR||(Optional) The START WITH: values of the SORT BY fields.|
|FR(n)||(Optional) An alternate way to provide the START WITH: values of the SORT BY fields.|
|TO||(Optional) The GO TO: values of the SORT BY fields.|
|TO(n)||(Optional) An alternate way to provide the GO TO: values of the SORT BY fields.|
|DHD||(Optional) The header desired for the output.|
|DIASKHD||(Optional) Set to null to prompt user for a header.|
|DIPCRIT||(Optional) Set to 1 to print SORT criteria on the first page of the report.|
|PG||(Optional) Starting page number.|
|DHIT||(Optional) M code to execute after each entry is printed.|
|DIOEND||(Optional) M code to execute after the printout has finished.|
|DIOBEG||(Optional) M code to execute before the printout starts.|
|DCOPIES||(Optional) Number of copies to print (for SDP-type devices).|
|IOP||(Optional) Name of device to send output to.|
|DQTIME||(Optional) Time to print, for queued printing.|
|DIS(0)||(Optional) M code to screen out entries.|
|DIS(n)||(Optional) Additional screens, "OR"-ed with each other, "AND"-ed with the DIS(0) screen.|
|DISUPNO||(Optional) Set to 1 to suppress output when no records are found.|
|DISTOP||(Optional) Set to 0 to prevent users from stopping prints.|
|DISTOP("C")||(Optional) M code to execute if a user stops the print.|
|BY(0)||See the "Controlling Sorts with BY(0)" section for more information.|
NOTE: Unlike most calls, EN1^DIP kills all the input variables before it quits. You do not have to kill them.
Input Variables to Control Sorts
You can use a special set of input variables to:
The set of variables for controlling sorts is:
Please see the " Controlling Sorts with BY(0)" section for more information.
Setting up BY, FR, and TO Variables to Sort within a Multiple
|If you have a file like:
.01 PARENT NAME 1 SPOUSE (mult.) .01 SPOUSE NAME 1 SPOUSE DOB 2 CHILDREN (mult.) .01 CHILDS NAME 1 CHILDS DOB 2 CHILDS SEX 3 CHILDS NICKNAME 2 PARENT NICKNAME
And you wish to sort on the NICKNAME field for CHILDREN, from "A" to "Z", then by the PARENT NICKNAME field from "B" to "E". You set:
BY = "1,2,3,2 FR = "A,B" TO = "Z,E"
You must put in all field numbers to get down to the multiple in the BY (1,2,3), but then it pops you out of the multiple so that the following number '2' in the BY gets you field 2 at the top level (PARENT NICKNAME), rather than field 2 within the lowest multiple (SEX).
But note the FR and TO: here you just put the starting and ending values for the two fields on which you wish to sort.
NOTE: This same logic does not work on the FLDS multiple. It is suggested that in order to print fields within a multiple, the print logic should be set up in a PRINT template.
Using EN1^DIP to Print Audit Trails
The audit files are structured differently than other FileMan files. To print audit trails for a file's data or Data Dictionary, the DIC variable must contain the global location of the requested audit file and the file number of the file that was audited as the open root.
To print a data audit trail for File #662001, set DIC="^DIA(662001,". To print the DD audit trail, set DIC="^DDA(662001,". The other input variables are set as for a normal print. Remember that the fields being printed and sorted come from the audit files, not from the file for which the audit trail was recorded.
Reviewed/Updated: March 4, 2007