VA FileMan V. 22.0 Programmer Manual Banner


Main Chapter Getting Started Manual Advanced User Manual



The PACKAGE file (#9.4) is used both to document a software package and to aid in exporting the package. A PACKAGE file entry is not required to build inits; inits can be built on the fly. Some of the fields are used for documentation only and some for both the export process and documentation. Whenever you build an init using an entry in the PACKAGE file, that entry is also put into the PACKAGE file of the target system when the init is run. Thus, a copy of the documentation for the package will be on both the source and target systems.

The fields that DIFROM uses during the package export process are described below. All fields not noted below are used for documentation only:

  1. NAME


  3. Template Multiples





  8. FILE

  9. Other PACKAGE File Fields


This is a brief (4-30 characters) name describing the package. It is used to identify the package and does not affect the init directly. However, it is the key field used when installing the PACKAGE file entry on the target system. If you change the name and install a package on a system where it already exists under a different name, a new entry will be created in the PACKAGE file on the target system. The unchanged old entry will remain, too.


This is the 2-4 character namespace of the package. It is the unique identifier for the package. The PREFIX controls which Templates, Options, Bulletins, etc., are included in the init routines for export. Those components with names beginning with the package's PREFIX are automatically exported, except for those beginning with the letters in the EXCLUDED NAME SPACE multiple.

Template Multiples

There is a multiple field for each of the following template types: INPUT, SORT, PRINT, and SCREEN (FORM). The developer uses these multiples to have the init include templates in addition to those within the PREFIX namespace. Each of these multiples contains the free-text name of a template and the number of the file associated with that template (a pointer to the FILE of Files).

Note that for SCREEN (FORM) templates, all blocks pointed-to by exported forms are automatically included in the init regardless of their namespace. The blocks need not be specified by the developer.


The developer can use the EXCLUDED NAME SPACE multiple to exclude templates, options, bulletins, etc., that are a subset of the package's namespace. For example, if the namespace of a package were PRC and the EXCLUDED NAME SPACE multiple contained the entry PRCZ, then any of the components of the package with names beginning with "PRCZ" would not be exported.


When the installer starts the init, the routine identified in the ENVIRONMENT CHECK ROUTINE field is run before any of the init routines DIFROM created and before any questions are asked. The installer cannot interrupt the init process until this routine has completed. Thus, this pre-init should be used to simply examine the environment; it should not change any data.


The routine named in the PRE-INIT AFTER USER COMMIT field runs after the installer has committed to proceeding with the install but before any data is updated. This routine may edit or delete data. The developer uses this routine to make any data conversions, etc., that need to be performed before the init brings in new data.


The routine named in the POST-INITIALIZATION ROUTINE field runs after the inits put everything in place. Here, the developer makes any data conversions, etc., that need to be performed after the new data is installed.


This is a multiple field used to describe how the data dictionaries (DDs) and data from the exported files are to be handled in the inits. The following fields are included within the FILE multiple:

Other PACKAGE File Fields

Other PACKAGE file fields are used only for documentation and do not affect the DIFROM procedure. One of the documentation fields, SHORT DESCRIPTION, is required. It is a free text field of up to 60 characters. Other documentation fields include: ROUTINE, GLOBAL, VERSION, DEVELOPMENT ISC, and KEY VARIABLE. There are fields to document the development, verification, site installation, and patch history. This data describing the package is bundled and exported with the rest of the package. It is put into the recipient's PACKAGE file.

Some of the documentation fields are updated on the target system when the init is run. For example, the date/time that the pre- and post-inits are run is automatically recorded in the PACKAGE file entry as is the version number.


Reviewed/Updated: March 4, 2007