The Format of the Transaction File [ HP DeskManager Intrinsics ] MPE/iX 5.0 Documentation
HP DeskManager Intrinsics
The Format of the Transaction File
Normally the Transaction File is a permanent binary file, although
occasionally it may be temporary and only last for one session. Its
record width depends on the type of information you expect it to contain,
256 words is sufficient for the basic sending and receiving of messages.
The maximum width possible is 768 words. If a Transaction File is
defined which is too small for its purpose, the Intrinsics report back to
the calling application using the appropriate status returns.
The Transaction File is given the MPE file code 1521. You may want to
give the same file code to any Transaction File that you create.
If you think it would be beneficial in your circumstances, you only need
to have one Transaction File. If applications repeatedly send similarly
formatted messages they can use the same file over and over, like a
template.
Transaction Files are made up of numbered transaction records which are
divided into groups depending on what they are used for. The numbers
allocated to the various transaction record types is not significant
except that ranges of numbers have been selected to allow for future
expansion.[REV BEG] Within groups, records can be in any order, for
example the transaction record 2000 can be before 1000. The groups,
however, must appear in order.[REV END] There are 10 groups as described
below:
Group Transaction No. Usage
Range
<0 Reserved for future use by HP
X 0 - 999 Special transactions - reserved for use by HP
1 1000 - 9999 Item identifiers
2 10000 - 19999 Item header related
3 20000 - 29999 Distribution List/directory related
4 30000 - 39999 Message content related
40000 - 69999 Reserved for future use by HP
L 70000 - 79999 Logging/status related - reserved for future use
C 80000 - 89999 Configuration - reserved for future use
U 90000 - 99999 Reserved for use by customers - HP will not use
S 100000 - 109999 Reserved for use with the sign on configuration
file
T 200000 on Trailer transactions
The validity of a Transaction File submitted to the Intrinsics is
determined from the tt_body_type record. This is the first transaction
in the file, and contains special identifying information indicating to
the Driver process that it can go ahead and process the file.
A Transaction File used by HPDUserReceive to return a message from a
user's In Tray could contain the following transaction records:
Group Transaction Record Number
1 1000 Body type identifier
2 10000 Message sender/creator name & address
11000 Message creation date & time
11100 Item subject
11200 Message item priority indicator
11400 Requested Acknowledgment level
3 21100 To name & address
4 30500 Included content file
T 200000 Referenced file indentifier
The Intrinsics Driver process validates each transaction record submitted
to it and writes the result of unsuccessful validations to a result field
within the record. This is how the Intrinsics identify to the calling
program such information as a potential message recipient who is not
configured in the system or a malformed name. The Intrinsics Driver
process must be able to open the Transaction File for read and write
access.
Further extensions and enhancements may be made to the Driver process by
adding new transaction record types. It is important that applications
ignore unrecognized transaction records in returned Transaction Files.
All Transaction Files output by the Intrinsics hold a list of files that
they reference in a trailer at the end. If an application does not need
to process an item it is presented with, it can identify what files it
needs to delete without having to be aware of the internal format of the
message. This facility is also useful when deleting files once your
application has finished with them; there is a pointer at the start of
every Transaction File to the start of the transaction trailer so this
removes the need to scan the whole file to discover what files have been
used.
Group X: Special Transactions
This group of transactions is reserved for use by Hewlett-Packard. It is
available to Hewlett-Packard products which use the Intrinsics, for
example, the HP OfficeConnect products. These transactions may appear in
any order, in any number, anywhere within a submitted transaction file
and will be ignored by the Intrinsics. For this reason, the information
contained in these special transactions will not be translated into the
resulting HP Desk item.
Transactions of type 0 are regarded as comment transactions.
Group 1: Item Identifiers
Two types of transaction fall into this category:
* Transaction File body type identifiers that must appear as the
first record (i.e. record 0) of a Transaction File * Selector
transaction types which define which message to extract from the
In Tray or which item to get from the Diary etc. Transactions
from this group also describe the results of list requests on the
In Tray, Pending Tray, etc.
Group 2: Item Header Related
This group contains all the elements normally associated with the header
of a message, for example, the subject, creator name (sender), priority
etc. It does not include the Distribution List. Transaction records
from this group can be used in contexts other than just messages, for
example, the same transaction record is used to identify the subject of a
diary item.
Group 3: Distribution List and Directory Related
This group contains transaction records that:
* Identify the names of countries, locations and sublocations to be
used as search items in directory searches
* Denote user names that are recipients of messages
* Denote names of HP Desk Distribution Lists
Group 4: Content Related
This group contains transaction records that describe the actual content
of a message or diary item and also transaction records that allow
definition of a content structure, namely "start package" and "end
package".
Documents to be converted are referenced by a transaction record from
this group.
Group U: For Use by Customers
This group is reserved for use by customers, to allow things like the
insertion of comment information in a submitted transaction file. None
of the transaction records in this group will be used by Hewlett-Packard.
These records may appear in any order, any number and anywhere within a
submitted Transaction File and will be ignored by the Intrinsics,
therefore the information contained in them will not be translated into
the resulting HP Desk item.
Group S: Session Profile Transactions
See Chapter 8 .
Group T: Trailer Transaction Records
This group of transaction records allows supplementary information
relating to the previous transactions to be added to the end of a
Transaction File.
Trailer transaction records appear in Transaction Files output by the
Intrinsics. They identify, by name, each file that is referenced in a
preceding transaction record contained in that file. There is one
trailer transaction record per file name. A pointer exists in the first
record in the Transaction File (the body type identifier) to identify the
record number of the first trailer transaction.
The Order of Transactions in a File
The Transaction File body type identifier (tt_body_type) must appear as
the first record of the file. After that the transaction records in
groups 1 to 4 that appear in a file submitted to the Intrinsics must
occur in group order, the transaction records that are contained within a
group need not appear in numeric order. Files returned by the Intrinsics
will always obey this rule and will append Group T transaction records,
where relevant, to the end.
Transaction records from groups U and X can appear anywhere in the file
except at the start.
Obviously a Transaction File does not have to contain every type of
transaction record. Some of them will not be relevant to what you are
doing, also not all the groups 1 to 4 will necessarily appear (for
example if an item is extracted from the diary). However, despite this,
the grouping sequence must remain. For example, even if you only have
records from groups 1 and 3, they must appear in that order, records from
group 3 cannot appear before records from group 1 etc.
In Group 4, the order of transaction records can be important from a
user's point of view. The order of content file references defines the
order in which the files themselves appear inside the resulting HP Desk
message. Also the order of the start and end package defines the package
structure inside the resulting HP Desk message.
Transaction Record Numbering
The absolute numbering of transaction records is not significant, except
that ranges of numbers have been selected to allow for future expansion.
To help reference the various transaction records in the following
sections of this chapter, each transaction record is referred to by
number and by a descriptive name. These names are the names of constants
appearing in the include files that are supplied with the HP Desk
Intrinsics product and which programmers can use in their code to
identify the various transaction records.
Wherever possible a transaction record is intended to have the same
meaning or effect in whatever context it is used. For example, the
transaction record 11700 means an appointment time and duration whether
it appears in a message or a diary item.
MPE/iX 5.0 Documentation