Data Management Library TRANSFER Programming Manual Product Version Release ID TRANSFER C31 C30.08 Edition Being Updated Part Number 040970 Update 1 Part Number 069138 Edition Print Date Abstract April 1992 This manual provides guidelines for application programmers who are writing programs that use the features of the TRANSFER delivery system.
Document History Edition Part Number Product Version Release ID Print Date First Second Third Update 1 Update 2 Fourth (Preliminary) Update 1 Fifth Update 1 82325 A00 82325 B00 82525 A00 82207 82233 84030 A00 TRANSFER A04 TRANSFER A04 TRANSFER A05 TRANSFER E08 TRANSFER E08 TRANSFER B40 N/A N/A N/A N/A N/A N/A April 1983 December 1983 March 1985 June 1985 October 1985 October 1986 22856 40970 069138 TRANSFER B40 TRANSFER C30 TRANSFER C31 N/A C30 C30.
New and Changed Information Appendix E of this update package describes the XDIR server, an optional server that users can build and add to their TRANSFER system at a TRANSFER X400 gateway node. The update package also includes minor technical and editorial changes.
New and Changed Information iv 069138 Tandem Computers Incorporated
Contents New and Changed Information About This Manual xv Notation Conventions Section 1 iii xix An Overview of the TRANSFER Delivery System TRANSFER Applications 1-3 End-to-End Communication 1-3 Extended Transaction Processing 1-4 Advantages of the TRANSFER Delivery System 1-5 Limitations of the TRANSFER Delivery System 1-5 The TRANSFER Environment 1-6 Types of Application Processes TRANSFER Objects 1-7 Section 2 1-6 TRANSFER Application Components Clients 2-3 Examples of Clients 2-3 Language Cons
Contents Section 3 TRANSFER Objects Correspondents 3-2 Items and Packages 3-3 Items 3-3 Packages 3-4 Item and Package Identification Depots 3-6 Distribution Lists Profiles 3-6 Folders 3-7 External Objects 3-6 3-8 Interobject Relationships Section 4 3-5 3-9 Naming TRANSFER Objects Characters in Names 4-1 Wild-Card Names and Patterns Correspondent Names 4-3 Correspondent Name Examples Recipient Names 4-4 Item Names 4-6 Item Name Examples 4-2 4-4 4-6 Folder Names 4-6 Folder Name Examples 4
Contents Section 5 TRANSFER Services Session Control 5-2 Item Handling 5-2 Whole Item Operations 5-2 Named Item Operations 5-3 Record Handling Operations 5-3 Item Tree Operations 5-3 Item Retention Times 5-4 Item Handles 5-6 Package Handling 5-6 Submittal Preparation 5-6 Recipient List Definition 5-7 Package Delivery 5-7 Package Receiving 5-7 Folder Manipulation 5-7 External Object Manipulation 5-8 Attachments 5-8 External Object UOWs 5-9 TRANSFER Configuration Inquiry 5-10 Administration Tasks 5-10
Contents The TRANSFER Delivery System and O/R Names 6-9 Basic Steps for Sending an X400 Message 6-11 Guidelines for Customizing an X400 Message 6-12 Basic Steps for Receiving an X400 Message 6-13 X400 UOWs 6-15 X400 Status Packages 6-16 X400 Service Elements 6-17 Authorizing Users (P2) 6-19 Autoforwarded Indication (P2) 6-19 Blind Copy (BCC) Recipients (P2) 6-20 Body Part Encryption Indication (P2) 6-22 Content Type (P1) 6-22 Deferred Delivery (P1) 6-23 Deferred Delivery Cancellation (P1) 6-24 Delivery Not
Contents Section 7 National Language and Character Set Support National Languages 7-1 Character Sets 7-2 National Language Support 7-2 Messages Processed within Standard Sessions 7-3 Messages Processed Outside of Standard Sessions 7-3 Other Programming Hints 7-3 Base Character Set 7-4 Name Character Set 7-4 Character Maps 7-4 Messages Processed within Standard Sessions 7-5 Messages Processed Outside of Standard Sessions 7-7 Extension and Escape Characters 7-7 SCREEN COBOL Character Maps 7-8 Communicatio
Contents Section 9 Designing and Writing a Client Registering a Correspondent Initiating a Session 9-2 Network Guidelines 9-2 9-4 Using TRANSFER UOWs 9-4 Request and Reply Formats 9-5 Request Format 9-6 Reply Format 9-6 Where to Find Structure Definitions 9-6 Linkage Section and Procedure Division Header 9-7 Copying Definitions from GCOB and GLNK 9-7 Where to Find UOW Definitions 9-8 Notes on Package Handling 9-8 Basic Steps for Sending a Package 9-10 Basic Steps for Receiving a Package 9-10 Grouping U
Contents TAREQ Event Packages 10-5 Configuring an Agent 10-6 Assigning Names to Agents 10-6 When to Write Your Own Configuration Program 10-7 Configuration/Deletion Program Operation 10-8 Writing an Agent Tester 10-12 A Sample TRANSFER Agent 10-13 UOWs 10-13 Sample Agent Functional Description 10-13 General Notes 10-14 Installing and Configuring the Sample Agent 10-14 Sample Agent Program Code 10-15 Section 11 A Sample TRANSFER Program Agent Tester Sample Session 11-1 How to Install the Agent Tester 1
Contents Appendix B Processes Running Outside PATHWAY Appendix C Standard TRANSFER Base Character Set Appendix D Standard TRANSFER Name Character Set Appendix E The XDIR Server Building the XDIR Server E-1 Configuring the XDIR Server E-2 UOW Definitions E-3 NAME-CONTEXT E-4 CAPABILITIES E-5 X400-TO-CORR E-7 CORR-TO-X400 E-9 IMPORT-MSG E-11 EXPORT-MSG E-13 Managing the XDIR Server E-15 Compatibility E-15 Performance E-15 Security and Integrity E-16 Glossary Glossary-1 Index Figures Index-1 Figu
Contents Figure 6-1. The OSI Model 6-2 Figure 6-2. A P2 Message 6-3 Figure 6-3. A P1 Message 6-4 Figure 6-4. P2 Message Embedded in a P1 Message Figure 6-5. An X.400 Network 6-6 Figure 6-6. TRANSFER to X400 Translation Figure 8-1. Sample Transactions 6-36 8-5 Figure 8-2. PS MAIL Scan Screen 8-6 Figure 8-3. Avoiding a Nesting Problem Figure 9-1. Elements of a Session 8-10 9-3 Figure 9-2. TRANSFER Request Format Figure 9-3. TRANSFER Reply Format Figure 9-4.
Contents Table 9-1. DEBUGLOGLEVEL Values Table 10-1. Function Key Operation 9-19 10-8 Table 10-2. RETURN-ACTION-FLAG Values 10-12 Table A-1. APPLIC-ID Values for Tandem Clients A-1 Table A-2. APPLIC-ID Values for Tandem Agents A-2 Table A-3. ITEM-TYPE Values Table A-4. REC-TYPE Values A-3 A-4 Table A-5. RECIP-TYPE Values A-6 Table A-6. COMPNT-TYPE Values Table C-1. ASCII Null C-1 Table C-2. Superscript C-2 Table C-3. Format Effector A-6 C-2 Table C-4.
About This Manual The TRANSFER Programming Guide describes how you write application programs that use the TRANSFER delivery system for information delivery on Tandem NonStop systems. Such programs cooperate with the TRANSFER delivery system in moving information throughout a single computer system or a network of distributed systems. The programs typically run under the PATHWAY transaction processing system and use the services of the Transaction Monitoring Facility (TMF) to ensure transaction consistency.
About This Manual What’s New in This Manual What’s New in This Manual This manual describes several features that are new to the TRANSFER delivery system, including: Shared depots, folders, and distribution lists Depot storage statistics collection and retrieval X.400 service elements, X.400 correspondents, and related X.400 objects You access these features through standard units of work (UOWs).
About This Manual Where to Go for More Information The following manuals contain detailed information for programs that are written in a language other than SCREEN COBOL or that interface with programs written in other languages: C Reference Manual COBOL85 Reference Manual FORTRAN Reference Manual Pascal Reference Manual Transaction Application Language (TAL) Reference Manual The GUARDIAN 90 Operating System Programmer's Guide and GUARDIAN 90 Operating System User's Guide provide information about interfac
About This Manual Where to Go for More Information xviii 069138, Update 1 to 040970 Tandem Computers Incorporated
Notation Conventions The following list summarizes the conventions for syntax presentation in this manual. Notation Meaning UPPERCASE LETTERS Uppercase letters represent keywords and reserved words; enter these items exactly as shown. Lowercase italic letters represent variable items that you supply. Brackets enclose optional syntax items. A group of vertically aligned items enclosed in brackets represents a list of selections from which you can choose one or none. Braces enclose required syntax items.
1 An Overview of the TRANSFER Delivery System The TRANSFER delivery system is a high-level software product that supports the reliable delivery of information among people, input/output devices, and processes. The product is especially useful in situations where system resources are widely distributed or intermittently available. In addition to supporting standard electronic mail applications supplied by Tandem, the TRANSFER system supports a wide spectrum of user-written applications.
An Overview of the TRANSFER Delivery System Figure 1-1. Information Delivery with the TRANSFER Delivery System Application User A (Customer Service) TRANSFER Printer User B Package 2 Package 2 User E User C Package 1 Application User F (Manufacturing) User D (Order Entry) 001 An application can have interactive communication with users or can have one process interact with another process with no human intervention.
An Overview of the TRANSFER Delivery System TRANSFER Applications TRANSFER The TRANSFER delivery system is suitable for use with many different kinds of Applications applications that involve information transmittal. The TRANSFER delivery system is particularly valuable for dealing with two types of communication found in business transactions: end-to-end communication and extended transaction processing.
An Overview of the TRANSFER Delivery System Extended Transaction Processing Extended Transaction Processing In extended transaction processing, a sender initiates one transaction and then proceeds immediately to a new one without waiting for work on the original transaction to be completed. This is frequently called nowait transaction processing. For an example of extended transaction processing, consider an application that allows the following actions to take place: 1.
An Overview of the TRANSFER Delivery System Limiitations of the TRANSFER Delivery System Advantages of the TRANSFER Delivery System The TRANSFER delivery system relieves application programs of several tasks that they would otherwise have to perform.
An Overview of the TRANSFER Delivery System The TRANSFER Environment Section 8, “Developing TRANSFER Applications,” contains guidelines for developing a TRANSFER application and includes planning steps to help you determine whether the TRANSFER delivery system is appropriate for your application environment. The TRANSFER A TRANSFER application can run under the PATHWAY transaction processing Environment system, taking advantage of the requester-server model on which all PATHWAY applications are based.
An Overview of the TRANSFER Delivery System TRANSFER Objects There are two types of user processes: clients and agents. Each type is defined by the task it performs: Clients provide the interface between the TRANSFER delivery system and the person, device, or process that makes requests to the TRANSFER delivery system. Clients allow the user to build, alter, and send packages for delivery and allow the user to examine and respond to incoming messages.
2 TRANSFER Application Components A TRANSFER application consists of a number of processes. Some of these processes are supplied as part of the TRANSFER delivery system or PATHWAY and some are written by the application programmer. The following components are written by the application programmer for a specific application: Clients Agents Specialized servers that may be required by clients and agents Tandem supplies clients and agents for the TRANSFER administration and for the PS MAIL application.
TRANSFER Application Components Figure 2-1.
TRANSFER Application Components Examples of Clients Clients Clients are requester programs that provide the interface between correspondents and the TRANSFER delivery system. They allow correspondents to communicate and interact with the TRANSFER delivery system. A client, for example, enables a correspondent to create new items, assemble them into packages, send these packages, retrieve incoming packages, and request various administrative services.
TRANSFER Application Components Language Considerations A client can be either a stand-alone client that operates as an entire application or a dependent client that is actually a component of a larger application.
TRANSFER Application Components Agents Agents Agents are SCREEN COBOL requester programs or PATHWAY server classes that are automatically invoked to handle packages received at a depot. Agents are invoked by TRANSFER asynchronous requesters (TAREQs), which are responsible for actual package delivery. A correspondent can receive packages from other correspondents or from the TRANSFER delivery system itself.
TRANSFER Application Components Examples of Agents An agent can be a requester or a PATHWAY server. In general, the following statements are true of agents: An agent that makes requests of TRANSFER server classes to retrieve, save, or send packages should be a requester written in SCREEN COBOL. An agent that accesses an input/output device, or that performs string handling, complex computations, or tasks of long duration should be a server written in COBOL, FORTRAN, TAL, Pascal, or C.
TRANSFER Application Components Clients and Agents Compared An interfacing agent that supports the transmittal of packages between a Tandem network and a network consisting of systems furnished by other manufacturers. The sender of the mail, at a Tandem system node, specifies the external mail address of the recipient in a suffix appended to the recipient's name. The agent then uses the suffix to address the package, entering it for delivery in the other system.
TRANSFER Application Components Specialized Servers Figure 2-2 illustrates the information flow for clients and agents. Figure 2-2. Client and Agent Information Flow Received Packages TRANSFER User Processes Other Processes Agent Client TRANSFER TRANSFER External Devices Processes TRANSFER 025 Specialized Servers Your clients and agents might require specialized servers. These servers perform tasks that are specific to your application.
TRANSFER Application Components TRANSFER Interactive Server (TISERV) TRANSFER Interactive TRANSFER applications always have a TRANSFER interactive server class defined at Server (TISERV) each node. This server class is called interactive because its primary job is to receive and reply to requests from your clients and thus provide the interface between the TRANSFER delivery system and your clients. The server is usually named TISERV.
TRANSFER Application Components TRANSFER Asynchronous Processes TRANSFER TRANSFER asynchronous processes handle package delivery. They schedule Asynchronous packages for delivery, locate recipients for those packages, and transmit the packages. Processes They ensure that a package is delivered within the timeframe specified by the sender. If a network node is unavailable, they ensure packages destined for the node are transported as soon as the node becomes available.
TRANSFER Application Components TRANSFER Asynchronous Requesters (TAREQs) TRANSFER Asynchronous Requesters (TAREQs) A TAREQ is a collection of SCREEN COBOL programs that handle the actual delivery of a package to a depot. These programs are supplied by Tandem and run within a standard PATHWAY TCP. Every node has at least one TAREQ. A TAREQ requests work assignments from the scheduler and processes one assignment at a time.
TRANSFER Application Components TRANSFER Asynchronous Requesters (TAREQs) Figure 2-3.
TRANSFER Application Components Name Server (NAMESRV) TFRONT Pseudoterminals The TFRONT pseudoterminals are programs that act as front ends for the TRANSFER network receiver (TRECV) processes. Like TAREQs, they run within standard PATHWAY TCPs, typically sharing a TCP with a TAREQ and an agent requester. They are called pseudoterminals because they, like TAREQs, communicate with the scheduler as though the scheduler were a group of conversational terminals.
TRANSFER Application Components Text Server (TEXTSRV) Text Server (TEXTSRV) TISERV relies on the text server process, TEXTSRV, for text retrieval.
3 TRANSFER Objects The various elements that the TRANSFER delivery system maintains and manages during package creation and transmittal are known as objects. TRANSFER objects include the following: Correspondents Items Packages Depots Distribution lists Folders Profiles External objects Your application can add, modify, and delete these objects within the framework of a TRANSFER session. This section describes each type of object, and ends with a discussion of the relationships between TRANSFER objects.
TRANSFER Objects Correspondents Correspondents A correspondent can be a person, an input/output device, or a process, as illustrated in Figure 3-1. Each correspondent is assigned a unique name that explicitly identifies both the correspondent and the node where the correspondent receives packages. The TRANSFER delivery system keeps track of all correspondent names in its own database. Figure 3-1.
TRANSFER Objects Items Items and Packages A package is a collection of data that one correspondent sends to another correspondent. A person-to-person package can be interoffice mail. A process-toprocess package can be data and transaction codes needed to update a database. Packages are made up of discrete collections of data known as items. Items Each item includes an item descriptor, which is composed of one or more records that describe the attributes and composition of the item.
TRANSFER Objects Packages Packages For the TRANSFER delivery system to deliver items from one correspondent to another, the items must be assembled as packages, as shown in Figure 3-3. Packages are identified by the setting of the package header flag in an item. Figure 3-3.
TRANSFER Objects Item and Package Identification item, along with other items. You can nest a package within another package, as shown in Figure 3-4. If a package is nested within another package, the list of components of the outer package includes the package header item for the nested package. A package that contains another package is one instance of the general rule that an item can contain other items. Figure 3-4.
TRANSFER Objects Depots Depots A depot is that portion of a TRANSFER database associated with a particular correspondent. The depot is established when an application registers the correspondent with the TRANSFER delivery system. Every correspondent has precisely one depot and that depot has a network-unique identity, which an application references implicitly through the correspondent name.
TRANSFER Objects Folders Through requests to the TRANSFER delivery system, an application can examine the profile records for the correspondent that it is representing and can alter certain fields within these records. A correspondent with system administrator capability can examine and change certain fields in the profile records of other correspondents at the node.
TRANSFER Objects External Objects OUTLOG folder—The OUTLOG behaves like any other folder, except that, like the other special folders, you cannot delete it. You can file any item in the OUTLOG. Tandem PS MAIL clients automatically save posted items in the OUTLOG, so that correspondents still have access to items after sending them. Items are automatically removed from the OUTLOG folder when the folder's item-retention time has elapsed. The default item retention time for the OUTLOG folder is one day.
TRANSFER Objects Interobject Relationships An alternate external object that contains item data that is of interest to the local node only and that is not transported to other nodes. Your application can attach this object to either a TRANSFER item or a primary external object, creating what is known as an alternate attachment. Alternate external objects allow you to avoid making unnecessary copies of files or shipping files to nodes that do not require them.
TRANSFER Objects Interobject Relationships In the sender's depot, in a folder named REPLIES containing the reply sent back to the sender by the recipient According to this arrangement, several packages can include the same item. Also, several folders can include the item without necessarily including any package of which the item is a part. Finally, the folders that include the item need not all belong to the same depot.
4 Naming TRANSFER Objects Programs written for a TRANSFER application reference various types of TRANSFER objects. The following TRANSFER objects can be referenced by the TRANSFER delivery system simple names, either alone or in combination with each other: Correspondents Items Folders Distribution lists Items and packages have unique identifiers that are described in Section 3. This section discusses TRANSFER simple names and the elements of each type of TRANSFER object name.
Naming TRANSFER Objects Wild-Card Names and Patterns The TRANSFER delivery system upshifts characters in names according to the following rules: All lowercase alphabetic characters are treated the same as, and are upshifted to, their equivalent uppercase characters. For example, lowercase a becomes uppercase A. All digits, special characters, and the German "sharp s" (ß) and lowercase "u-umlaut" (ü) remain as entered. Correspondents supply required names within 80-byte or 120-byte fields.
Naming TRANSFER Objects Correspondent Names defined, Benson-Ji* is sufficient to identify Benson-Jill unless another name also begins with Benson-Ji. You cannot use the asterisk if the resulting expression identifies more than one name at the node; the name specified must be unique. If, for example, two correspondents are defined at the node with the last name Smith, the entry Smith-* is ambiguous and results in a resolution error.
Naming TRANSFER Objects Correspondent Name Examples If trigger is omitted, the TRANSFER delivery system must use a search list and scan internal directories to fully resolve the correspondent name. A standard search list is built for each depot when the depot is created. node is the name of the network node where the correspondent is registered. You can address any correspondent in the network by name. Only alphanumeric characters are allowed.
Naming TRANSFER Objects Recipient Names A process supplies a recipient name in a 120-byte field. Leading blanks are permitted within this field. Characters in a name or suffix cannot extend beyond the one hundred and nineteenth byte. The one hundred twentieth byte must contain a null character (binary zero) or a blank. With the exception of the field length and suffix, the rules for recipient names are the same as those for other types of names.
Naming TRANSFER Objects Item Names Item Names A process can reference a named item by entering the folder name and item name together in the following format: [ folder-name . ] item-name folder-name is a simple name that identifies the folder. If folder-name is omitted, the TRANSFER delivery system uses the folder name identified in the FOLDERNAME field of the UOW. item-name is a simple name that identifies the item. Item Name Examples Examples of item names are: MYBILLS.
Naming TRANSFER Objects Folder Name Examples The presence of trigger indicates that correspondent-name.folder-name is a fully qualified name and requires no resolution by the TRANSFER delivery system. Embedded blanks are allowed between folder-name and trigger. If the system trigger is specified, the correspondent name is required. If the system trigger is omitted, the TRANSFER delivery system must fully resolve the correspondent name.
Naming TRANSFER Objects Distribution List Names Distribution List You can reference an existing distribution list in your program by entering the Names distribution list name in the following format: [ correspondent-name . ] list-name [ trigger [ node ] ] correspondent-name is a simple name that identifies the correspondent who owns the distribution list. If the correspondent name is omitted, the TRANSFER delivery system assumes the name of the correspondent currently represented by your process.
Naming TRANSFER Objects Distribution List Name Examples Using Correspondent Names for Distribution Lists You can use correspondent names as an aid in naming distribution lists. As an example, you could create a correspondent called LIST to help identify public distribution lists. This would indicate to accessors that they were indeed accessing a distribution list; it would also help them recall the correct way to reference the list by requiring them to remember only the distribution list name.
Naming TRANSFER Objects Node Designation Node Designation If a correspondent at a node references a TRANSFER name defined at that same node, the correspondent need not enter the node designator. Specific ramifications of this rule are as follows: A new correspondent must be registered(defined) at the same node as the correspondent who requests the registration. Therefore, a process can omit the node designation from the new correspondent name in the CREATE-DEPOT UOW.
Naming TRANSFER Objects Name Validation TRANSFER Name Directory The names of all correspondents, folders, and distribution lists in a TRANSFER application are defined in the TRANSFER name directory. This directory exists at each node and identifies all named objects (except instances of items in folders) defined at the node. At node \NY, for example, the directory contains the names of all correspondents defined at the New York node. The recommended name for identifying the name directory is $T.
Naming TRANSFER Objects The Validation Process When a user process supplies one or more names in a request to the TRANSFER delivery system on behalf of a correspondent. The TRANSFER delivery system uses the fields within the correspondent’s profile to determine whether the name is resolved immediately or later.
Naming TRANSFER Objects Network Considerations Once a name is resolved into the identification of an object, the TRANSFER delivery system validates the fully qualified name as follows: 1. Checks the TRANSFER name directory to verify that the name is registered 2. Checks to make sure that the name designates the correct object type (such as correspondent or distribution list), as follows: a.
5 TRANSFER Services Clients and agents communicate with TRANSFER processes through the use of interprocessor communication messages (IPCs). Within each IPC is a series of TRANSFER units of work (UOWs). You construct a UOW for each service request; the TRANSFER delivery system returns information in response UOWs. The TRANSFER Reference Manual lists complete descriptions and syntax information for each UOW. This section provides an overview of UOW capabilities.
TRANSFER Services Session Control Session Control Before a process can transmit requests, the process must establish communication with TISERV by initiating a session with the START-SESSION UOW. When interaction with TISERV is no longer required, the process terminates this communication by issuing an END-SESSION UOW.
TRANSFER Services Item Tree Operations Named Item Operations You can assign, remove, or modify a name for any instance of an item that exists in a folder. To make this assignment, the process issues the ALTER-ITEM-NAME UOW. The process can also retrieve one or more named items from a specific folder by using the SCAN-BY-ITEM-NAME UOW. This UOW allows the process to select one or more item instances by folder and item name or name pattern rather than by item ID.
TRANSFER Services Item Retention Times Item Retention Times Individual correspondents and system administrators can manage the length of time items are stored by specifying either an automatic unsave time for an individual item or an item retention time for a folder or depot. You can specify an unsave time when you save an item with the SAVE-ITEM-B00 and SAVE-ITEM-BY-KEY UOWs. You can also use the CREATE-FOLDER-B10 and ALTER-FOLDER-DESCR UOWs to specify a default item retention time.
TRANSFER Services Item Retention Times The folder-level default retention time assumes the value specifically assigned for this parameter in the depot profile, which may be different from the value assigned for the depot-level maximum retention time. In other words, folders created with the CREATE-FOLDER, CREATE-FOLDER B00, and CREATE-FOLDER B10 UOWs receive an item retention time default equal to the folder-level constraint.
TRANSFER Services Item Handles Item Handles To refer to an item produced by a previous UOW within the same request (IPC), you can use an item handle. You can also use an item handle to refer to an external object. You can substitute an item handle for the standard item ID in any UOW that, within the same IPC, follows the UOW whose item you want to reference. An item handle is valid only within one IPC.
TRANSFER Services Folder Manipulation You can perform the following operations: Access information in the item descriptor (GET-ITEM-DESCR UOW) Update fields in the item descriptor (ALTER-ITEM-DESCR UOW) Recipient List Definition The recipient list contains the names of correspondents and distribution lists that are to receive the package.
TRANSFER Services External Object Manipulation Only a correspondent with system administrator capability at a node can create folders, delete folders, or obtain a list of folders that belong to another correspondent at that same node. External Object The way in which your client handles external objects and presents information about Manipulation them to correspondents is defined by the client, not by the TRANSFER delivery system.
TRANSFER Services External Object UOWs The TRANSFER delivery system handles attachments as follows: Always transports primary attachments to destination nodes when the items to which they are attached are transported. Never transports alternate attachments to other nodes. Views primary and alternate attachments as two separate lists; in each of these lists, the attachments are ordered by relative position.
TRANSFER Services TRANSFER Configuration Inquiry Disabling the external objects capability does not affect deliveries in progress—it only means that new attachments cannot be made and that current attachments cannot be altered or dissolved. Any deliveries that involve external objects and that are in progress when the capability is disabled at the destination node will be completed. But after the capability is disabled, any new delivery attempts involving external objects will be rejected.
TRANSFER Services Depot Storage Statistics Requests In the area of folder management, a process can: Create a folder (CREATE-FOLDER, CREATE-FOLDER-B00, and CREATEFOLDER-B10 UOWs). A folder must be created before an item or a package can be saved in it.
TRANSFER Services User-Supplied Profile Records and Modules User-Supplied Profile Records and Modules In addition to the standard profile records created and managed by the TRANSFER delivery system, your application can allow the writing of user-supplied profile records to the Profile file. These are records whose structure, format, and content are defined by your application.
6 X400 Services The X400 Gateway allows TRANSFER correspondents to exchange messages with users of different message systems that are based on international X.400 standards. The gateway translates the format of a TRANSFER message into a format defined by the International Telegraph and Telephone Consultative Committee (CCITT) recommendations for X.400 message handling systems. X.
X400 Services P2 Messages—Mail Messages Figure 6-1 shows the OSI model and X.400 layers. You do not need to understand the OSI model in order to use the X400 Gateway; this diagram is provided for additional information. Figure 6-1.
X400 Services P2 Messages—Mail Messages Figure 6-2 illustrates the format of a P2 message. Figure 6-2. A P2 Message P2 Message Sample Contents P2 Message P2 Header Subject: X400 Installation Recipients: ... P2 Body Text Body Part Enclosed is our plan for installing the X400 gateway. Text Body Part Date ... Steps ... Message Body Part Message Body Part Header Message Body Part Body P2 Message Original request for installation, being forwarded along with the new message.
X400 Services P1 Messages—General Message Handling Mail service elements include a wide range of mail features that can be used for X.400 or TRANSFER messages. For example, you can request the following services: Receipt notification—notify the originator when a recipient reads a message. Sensitivity—assign a relative security to the message. Values include personal, private, company-confidential, and default (no security).
X400 Services Management Domains Figure 6-4 shows a P1 message with a P2 message content. Figure 6-4. P2 Message Embedded in a P1 Message P1 Envelope P1 Envelope Header P1 Content P2 Message P2 Header P2 Body Body Part Body Part P2 Message 023 Management Domains The nodes in an X.400 network are organized into management domains that define organizational boundaries within the network.
X400 Services Management Domains A Private Management Domain (PRMD) can send and receive messages for members of a private organization. A PRMD can be associated with ADMDs that perform message transfer to other organizations. A PRMD, unlike an ADMD, does not provide intermediate message routing for other private organizations. A PRMD, unlike an ADMD, cannot extend over country boundaries. One or more PRMDs can be defined for a private organization.
X400 Services How to Send and Receive X400 Messages To route a message to its destination in an X.400 network, X.400 uses O/R name attributes hierarchically. The message goes to the country and the ADMD, and then to the PRMD, if a PRMD is specified. The destination domain uses personal-name and other attributes to deliver the message to the appropriate recipient. Specific O/R name attributes are listed in “TRANSFER and O/R Names,” later in this section.
X400 Services Organization of this Section To support X400, the TRANSFER delivery system provides X400 UOWs, status packages, and configuration settings. Organization of this Section This subsection describes how X400 features work from within the TRANSFER environment.
X400 Services The TRANSFER Delivery System and O/R Names The TRANSFER Delivery System and O/R Names An O/R name uniquely identifies a UA (or a user who uses the UA) within an X.400 network. A TRANSFER O/R name can contain the attributes in Table 6-1. Table 6-1.
X400 Services The TRANSFER Delivery System and O/R Names The X400 Gateway supports two forms of O/R names. Table 6-2 lists the attributes in each form. Your choice of form depends on whether the O/R name identifies an X400 UA or a TRANSFER correspondent. Other forms of O/R names are not supported by the TRANSFER delivery system. Table 6-2.
X400 Services Basic Steps for Sending an X400 Message Table 6-3. O/R Name Fields Field Name Contents ADMD name The TRANSFER delivery system obtains the value of this field from the TRANSFER configuration. The TRANSFER delivery system obtains the value of this field from the TRANSFER configuration. If the TRANSFER correspondent name has a suffix, then the TRANSFER delivery system places the suffix into the first domaindefined value field and sets type to ID.
X400 Services Guidelines for Customizing an X400 Message Guidelines for Customizing an X400 Message The following paragraphs provide guidelines for customizing X400 messages. Once you create a mail item, select P2 service elements that apply to your message. The service element descriptions in “X400 Service Elements,” later in this section, describe how to set each element.
X400 Services Basic Steps for Receiving an X400 Message Basic Steps for Receiving an X400 Message The basic steps for receiving a package from an X400 originator are very similar to the steps described in Section 9, “Designing and Writing a Client,” for receiving a package from a TRANSFER originator. The main difference is that you use the GET-ITEMDES-C20 UOW to determine if the message is an X400 message. If the X400-ORIG flag in the item descriptor equals Y, the package is an X400 package.
X400 Services Basic Steps for Receiving an X400 Message Beyond these basic steps, you can check for service elements in an incoming X400 message. Many service elements rely on the recipient client or UA to enforce the service or provide part of the service. Such service elements include: Disclosure of recipients Grade of delivery Delivery notification Nondelivery notification Receipt notification The functionality you provide in your client depends on which service elements you choose to support.
X400 Services X400 UOWs X400 UOWs The TRANSFER delivery system provides several UOWs for X400 support. Table 6-4 lists these UOWs. Table 6-4.
X400 Services X400 Status Packages X400 Status Packages To support communication with X400 nodes, X400-specific status packages are provided. Table 6-5 lists these status packages. All of these packages have an item type of 100. Table 6-5.
X400 Services X400 Service Elements X400 Service Elements This subsection describes service elements that are provided for X400 messages. The TRANSFER delivery system stores most service elements in one of three locations: Service elements with one word of text or no text reside in the item descriptor. Service elements that contain more than one word of text reside in a specific item data record defined for them.
X400 Services X400 Service Elements Table 6-6.
X400 Services Autoforwarded Indication (P2) The following paragraphs describe X400 service elements in alphabetic order. Each description defines the service element, describes how the service element is stored by the TRANSFER delivery system, and tells how to access the service element. Authorizing Users (P2) Authorizing users are users who authorized a mail package that was sent by another originator. For example, secretaries can send packages on behalf of their managers.
X400 Services Blind Copy (BCC) Recipients (P2) Blind Copy (BCC) Recipients (P2) Note Blind copy (BCC—blind courtesy copy) recipients are TRANSFER or X400 recipients whose names should not be disclosed to other (primary or copy) recipients of a message. Restriction of BCC recipients is the responsibility of the recipient client or UA. There is no guarantee that the destination domain restricts access to BCC recipient names. A client can specify up to 9999 BCC recipients.
X400 Services Blind Copy (BCC) Recipients (P2) Data Structure Table 6-7 shows how the TRANSFER delivery system stores BCC names. Table 6-7.
X400 Services Body Part Encryption Indication (P2) Body Part Encryption Indication (P2) The body part encryption indication specifies whether a body part within a mail message is encrypted or not. Data Structure The body part encryption indication resides in the BODY-PART-ENCRYPTED BOOLEAN field in the item descriptor. Access Use the GET-ITEM-DES-C20 UOW to determine if a message has its body part encrypted. Content Type (P1) Content type specifies a content type for a message.
X400 Services Deferred Delivery (P1) Deferred Delivery (P1) Deferred delivery indicates that a submitted message must be delivered no earlier than a specified date and time. The originator can specify an absolute date and time or a date and time relative to submission date and time.
X400 Services Deferred Delivery Cancellation (P1) Deferred Delivery Cancellation (P1) Deferred delivery cancellation allows you to cancel a package with deferred delivery before the delivery time passes. Access Use the CANCEL-PKG-TIMED UOW if you want to check for a nonzero SUBMIT-TIMED field and make sure the time is in the future before you cancel the package. The CANCEL-PKG-TIMED UOW returns an error if the submit time is no longer in the future.
X400 Services Expiry Date Indication (P2) Use the GET-RECIP-REC, GET-RECIP-REC-C20, or GET-X400-RECIP UOW to determine whether the originator requested delivery notification for a package. Disclosure of Other Recipients (P1) This feature allows you to restrict disclosure of recipient names to other recipients; recipients cannot retrieve any recipient name other than their own. You can specify disclosure for individual messages.
X400 Services Forwarded IP-Message Indication (P2) Forwarded IP-Message Indication (P2) The forwarded IP-message indication specifies that a message is being forwarded. Data Structure Forwarded messages are indicated by item type 111, 114, and 117. Access The gateway automatically sets forwarded IP-message indication for items of type 111, 114, and 117, and includes as body parts all components that have a mail content type.
X400 Services Importance (P2) When a package is imported, the gateway sets priority according to the three grades of delivery, as listed in Table 6-9. Table 6-9. X400 to TRANSFER Grade of Delivery Mapping Importance (P2) X400 Grade of Delivery TRANSFER Priority Not urgent Normal Urgent 25 75 125 Importance specifies one of three levels of importance. The meaning of importance is determined by clients and UAs.
X400 Services Multidestination Delivery (P1) Multidestination Delivery (P1) Multidestination delivery allows an originator to specify delivery to more than one recipient or UA. TRANSFER items can be addressed to multiple users within the TRANSFER delivery system and X400 networks. Access Use the ADD-RECIP, ADD-RECIP-C20, or ADD-X400-RECIP UOW to add recipients to a package.
X400 Services Originator Indication (P1 and P2) Use the GET-RECIP-REC-C20 and GET-X400-RECIP UOWs to determine which recipients have nonreceipt notification requested for them. Obsoleting Indication (P2) Obsoleting indication indicates that at least one previous mail messages is obsolete. The message that carries this indication replaces the obsoleted message or messages. (See also “Related (cross-Referencing) Indication,” later in this subsection.
X400 Services Primary and Copy Recipients Indication (P2) Primary and Copy Recipients Indication (P2) This feature allows you to specify primary recipients and copy recipients of a mail message. Recipients can be individual correspondents or distribution lists. Recipient names occupy two records—one for delivery (P1) and one for display (P2).
X400 Services Recipient Notification (P2) Access To specify a primary or copy recipient, you must add two recipient records: A recipient for delivery purposes A recipient for display purposes To add a TRANSFER primary or copy recipient: 1. Submit an ADD-RECIP UOW with the RECIP-TYPE field set to 340 for a primary recipient or 323 for a copy recipient. 2. Submit an ADD-ITEM-REC UOW with the record type set to 340 for a primary recipient or 323 for a copy recipient.
X400 Services Related (Cross-Referencing) Indication (P2) The TRANSFER delivery system returns receipt notification for incoming messages when you request an ACK-RECEIPT UOW for the package. To determine which recipients have receipt notification requested for them, use the GET-RECIP-REC-C20 and GET-X400-RECIP UOWs. Related (CrossReferencing) Indication (P2) Related indication allows you to indicate whether related items (also called crossreferencing items) are associated with the mail message being sent.
X400 Services Related (Cross-Referencing) Indication (P2) The TRANSFER delivery system allows clients to request that specific recipients reply to a package, but does not enforce the request ; it simply carries the information that the originator requested a reply. You can specify up to 9999 recipients to receive the reply. Recipients must reside in the same domain as the node where the package is being created.
X400 Services Sensitivity Indication (P2) Sensitivity Indication (P2) Sensitivity indication allows you to specify the relative security of a message. Sensitivity has four defined levels: Default—No restrictions. Personal—The message is for the recipient as an individual rather than for a person occupying a position or role. Company-Confidential—The message contains information that should be handled according to company-specific procedures.
X400 Services UA Content ID (P1) UA Content ID (P1) UA content ID specifies a printable string of characters to be used by a UA to relate notification messages to original messages that were previously sent out. The TRANSFER delivery system supports the UA content ID, but does not interpret the data. Up to 16 characters can be specified; the gateway truncates remaining characters. Data Structure UA content ID resides in an item data record of type 211 with record sequence number 1.
X400 Services Additional Data Mapping Information Additional Data This subsection is included in case you need to know exactly how the TRANSFER Mapping Information delivery system maps data to and from X400 messages. This subsection is written from an X400 perspective and is organized by P2 and P1 header format. TRANSFER to X400 Message Translation Figure 6-6 shows how a sample TRANSFER message maps to X400 format. Figure 6-6.
X400 Services P2 Message Contents P2 Message Contents Most P2 protocol elements are described in "X400 Service Elements,” earlier in this section. Table 6-14 lists the protocol elements that were not described earlier. Table 6-14.
X400 Services P2 Status Reports P2 Status Reports Table 6-15 lists additional information in TAREQ status packages for P2 notifications. Table 6-15.
X400 Services P1 Message Contents P1 Message Contents Table 6-16 lists header information for outbound P1 messages, in case you need to know exactly what the gateway stores in the MPDU header. Table 6-16.
X400 Services P1 Message Contents The content of an outbound P1 message depends on item type: If the package contains a mail message, the gateway concatenates the text and places carriage-return and line-feed characters between text records. The gateway maps the package header item and each component item of type 120 to separate text body parts. If the package does not contain a mail message, the gateway stores outbound data sequentially. Record types 210 through 222 and 800 through 899 are not included.
7 National Language and Character Set Support The TRANSFER delivery system supports limited input and output capabilities in languages other than English so that correspondents who use TRANSFER clients can work in their own native languages. This feature is especially helpful in distributed systems where correspondents communicate using different languages.
National Language and Character Set Support Character Sets Character Sets Just as you can select a native language other than English, you can also select character sets. You can do either of the following: Use the standard base character set and name character set and a set of character maps supplied by Tandem. Specify different base and name character sets and different character maps. (Tandem supplies two base character sets and a number of character maps from which to choose.
National Language and Character Set Support Other Programming Hints Messages Processed within Standard Sessions Standard TRANSFER sessions are those initiated explicitly with the START-SESSION-B40 UOW or START-SESSION UOW. If your program uses the START-SESSION-B40 UOW to initiate a standard session, you can programmatically specify the language in which requests and responses are to be processed during this session.
National Language and Character Set Support Base Character Set Base Character Set The base character set is the group of all characters that your particular TRANSFER system stores and makes available for message text. (The base character set is sometimes also known as the canonical character set.) With the exception of input text for item data, all text input and output within TRANSFER UOWs consists of characters from the base character set.
National Language and Character Set Support Messages Processed within Standard Sessions character maps is that they allow people to use different kinds of terminals to interact with the TRANSFER delivery system. In a running TRANSFER system, the character maps reside in a file managed by the Text Server process. These maps are customized to support the characters used in the corresponding national language.
National Language and Character Set Support Messages Processed within Standard Sessions Note When an IPC that contains a START-SESSION-B40 request has a B20 or previous version in the VERSION-CODE field of the IPC header, the TRANSFER delivery system always assigns the US ASCII map as the map for that session.
National Language and Character Set Support Extension and Escape Characters Entity names supplied with the GET-CONFIG-NAME UOW This rule applies to GUARDIAN 90 File Server keywords, too. Examples are file names that pertain to a correspondent's TRANSFER and PS MAIL client profiles, such as the names of the program files for the default formatter, editor, and IXF programs. These file names, and the default volume and subvolume names, are entered, stored, and returned in ASCII code.
National Language and Character Set Support SCREEN COBOL Character Maps When the Danish correspondent receives this message, the o-slash character is displayed in the name displayed on the "TO" line of the message. To continue this example, when someone at another terminal transmits a name containing the o-slash to the German correspondent's terminal, it would appear on the German correspondent's screen as a slash mark (/) followed by an "o.
National Language and Character Set Support Communication between Different Versions of TRANSFER shifted according to the rule for the specific character set type. The national use characters are a special group of characters in the ASCII character set, as follows: @ [ \ ] ^ ` { | } ~ # $ The TRANSFER name character set and upshift rule are defined independently of any SCREEN COBOL character set type.
8 Developing TRANSFER Applications A TRANSFER application can be designed and developed in many different ways. As a general guideline, Tandem suggests the following combination of steps as one possible way to proceed in developing a TRANSFER application: 1. Decide whether your application should use the TRANSFER delivery system. 2. Specify the functional aspects of the application.
Developing TRANSFER Applications Deciding Whether to Use the TRANSFER Delivery System Deciding Whether Consider using the TRANSFER delivery system if your application requires delivery to Use the TRANSFER of information to multiple correspondents, particularly across a network, or if it Delivery System depends upon the staging of transactions over time.
Developing TRANSFER Applications Specifying the Functional Aspects Privileges of System Administrators System administrators with read privileges can examine the contents of any local depot, but cannot update another depot's objects or profiles, and cannot create or delete depots. System administrators with write privileges can register new correspondents at their node or remove them from the node.
Developing TRANSFER Applications Recipients Recipients How many recipients will be defined in your application? Will they be grouped into distribution lists? Will all recipients receive identical packages? Decide what action a recipient of a package takes, such as adding items to it or forwarding it to another recipient.
Developing TRANSFER Applications Additional Considerations When the sender receives notification for every recipient that the package was received, that it could not be delivered, or that it expired before it was received When every recipient has taken some action and explicitly replied to the sender When the sender has taken some specific action based on the reply When replies to senders are part of a transaction, define exactly what the reply means to the sender and how that reply is linked to the origin
Developing TRANSFER Applications Designing Input Screens Designing Input If your application involves users at terminals, design the input screens and establish Screens conventions for reporting errors. Determine what screens are needed, how the screens should be grouped, and what path the user should take while progressing through particular screen sequences. As an example: A client presents a user with a logon screen.
Developing TRANSFER Applications Dividing Application Tasks Carefully integrate the use of function keys with the screen displays. An operator will use these keys either to signal completion of an operator function or to specify a choice, such as adding an item or deleting an item. To avoid errors and confusion: Use the keys consistently on all screens. Lay out the references to the keys distinctly on the screen. Limit the number of function keys needed on each screen.
Developing TRANSFER Applications Defining Package Formats and Protocol Defining Package To move items from one depot to another, your application must bind the items into Formats packages. Each package includes a package header item, zero or more component and Protocol items, zero or more item data records, and a list of recipients.
Developing TRANSFER Applications Defining Package Structure Defining Package Structure Design the structure of the packages and replies and determine how correspondents should interpret them. Often, a single application uses many package formats. Designing a package entails not only deciding what the structure will be, but also defining delivery parameters such as priority, certification, and timeframes. When you include one package within another, the number of levels of nesting can affect performance.
Developing TRANSFER Applications Addition of Records to Package Header Items If you have a choice within the requirements of your application, it is better to structure large packages and items so that they contain many components at the same level but incorporate fewer levels. Figure 8-3 illustrates two structures that have the same number of component items. The items are spread more evenly across the second structure than across the first. Figure 8-3.
Developing TRANSFER Applications Planning High-Level Transactions Planning High-Level A TRANSFER transaction typically consists of several TMF transactions, possibly in Transactions different PATHWAY systems.
Developing TRANSFER Applications Planning High-Level Transactions Your application should abort TMF transactions whenever a server detects an error that would make the database inconsistent. An example of such a TMF transaction is one in which one item is being attached to, or detached from, another. This involves changing both the PARENT-COUNT of the component item and the COMPNT-COUNT of the parent item; an error occurring between these changes would leave the TRANSFER database inconsistent.
Developing TRANSFER Applications Planning Low-Level Implementation Because TRANSFER groups records into blocks rather than storing each record individually, these TMF locking limits do not always correspond exactly to the number of records per item, items per folder, and so on, that are actually permitted in a particular case. In the worst case, the values as specified by the TMF locking restrictions apply. In many other cases, the following rules might be helpful.
Developing TRANSFER Applications Error Reporting Error Reporting Plan the methods for reporting errors to users. Your application can find out about errors in several different ways. Problem reports can arrive as packages in the INBOX folder. A package might state that another package expired before it was acknowledged or that it could not be delivered on time to a specific recipient. Errors in a request, but not specific to a UOW, are reported by the TRANSFER delivery system in the reply header.
Developing TRANSFER Applications Error Reporting Fields with the PIC X characteristic, such as the ITEM-ID or SESSION-ID fields, are not displayable as output to terminal sessions. Test your application module by module. If your application is based upon the requester-server model, you can test your servers alone before evaluating their interaction with SCREEN COBOL requesters. Later, you can evaluate your requesters with debugged servers.
9 Designing and Writing a Client Every TRANSFER application must include one or more clients. Clients allow correspondents to communicate and interact with the TRANSFER delivery system.
Designing and Writing a Client Registering a Correspondent Registering a An application must register any new correspondent at the same node as the TISERV Correspondent process through which the application requests this registration. Registration is requested by a process running on behalf of the system administrator for the node. When an application requests this registration, the TRANSFER delivery system places the name of the correspondent in the name directory.
Designing and Writing a Client Initiating a Session Figure 9-1. Elements of a Session TCP TISERV Depot TRANSFER Asynchronous Process Depot Agent 010 Because session IDs are unique in the network and TRANSFER servers are context free, the following relationships can exist among requesters, servers, correspondents, and sessions: One requester can maintain sessions in progress for several correspondents. Requests for each correspondent carry that correspondent's session ID.
Designing and Writing a Client Network Guidelines Network Guidelines Using TRANSFER UOWs When your process issues a START-SESSION UOW for a correspondent, it must direct this UOW to a server or server class running at the node where the correspondent is registered. Your application must continue to use the same server or server class because the SESSION-ID assigned in the response to the START-SESSION UOW is defined only at the node where the correspondent is registered.
Designing and Writing a Client Request and Reply Formats Request and Reply Formats Figures 9-2 and 9-3 show the general format of requests and replies. Within an application program, request and reply headers are defined together as the interprocess communication (IPC) header. Your application must establish values for the IPC header fields that are transmitted in the request. Details for how to use the IPC header are described in the TRANSFER Reference Manual. Figure 9-2.
Designing and Writing a Client Request Format Request Format The data buffer for each request consists of the following: A request header that denotes the session on whose behalf the request is being made and that provides space for reply and return codes One or more UOWs, each of which specifies a code for an operation plus any necessary parameters (For example, the operation ADD-RECIP would include the name of the recipient to be added.
Designing and Writing a Client Where to Find Structure Definitions Linkage Section and Procedure Division Header Note that the names of GLNK fields that appear in the USING clause in the first line of the Procedure Division must match exactly the names that appear in the Linkage Section (from the GLNK file). For example, in the following code the names ls-agentlink and ls-agent-link-reply must match the names used for the copied information in the Linkage Section. LINKAGE SECTION. 01 ls-agent-link.
Designing and Writing a Client Where to Find UOW Descriptions Where to Find UOW Descriptions UOWs are organized into the following functional areas: Session control Item handling (including whole item, named item, record handling, and item tree operations) Package handling (including submittal preparation, recipient list definition, package delivery, and package receipt) Folder manipulation External object manipulation National language support Character set and map support TRANSFER configuration inquiry
Designing and Writing a Client Notes on Package Handling TISERV checks the nesting when your application attaches a component item to a parent (with the ATTACH-COMPNT-A01 UOW) and examines the item tree to see if there is a reference to the parent anywhere in the item tree below the component. If there is such a reference, a component cycle exists as shown in Figure 9-4 and the error E-COMPNT-CYCLE is returned.
Designing and Writing a Client Basic Steps for Sending a Package Basic Steps for Sending a Package Basic Steps for Receiving a Package Grouping UOWs into IPCs 9–10 The basic steps for sending a package are listed below by UOW: 1. START-SESSION. Establish TRANSFER context. 2. CREATE-ITEM. Create an item. Set IS-PKG-HDR to Y. To create a mail message, set ITEM-TYPE to a number from 109 (original mail package) to 114. This step also creates a default item descriptor.
Designing and Writing a Client Error Handling In your program, you group UOWs into an interprocess communication (IPC) that is forwarded to TISERV by the SEND statement or WRITEREAD call. One IPC exists for each SEND statement or WRITEREAD call; one UOW exists for each operation requested. The TRANSFER delivery system processes the UOWs in the order in which they appear in the IPC. The more UOWs you can pack into one IPC (SEND or WRITEREAD request) and the fewer IPCs in your program, the better.
Designing and Writing a Client Error Handling By putting the SAVE-ITEM and UNSAVE-ITEM UOWs in the same IPC and transmitting the IPC within the framework of a TMF transaction, you can ensure that both of these operations take place or that neither of them does. If the SAVE-ITEM UOW succeeds but the UNSAVE-ITEM UOW fails, TMF will remove the item from the WASTEBASKET folder when the transaction is aborted.
Designing and Writing a Client Communicating with TISERV Text format 1, sent to the sender, has the following format: AGENT-SELECTOR = Event (1, 2, 3, 6, 7, 8, 10, 13, 14, 15) RECORD-SEQ-NUM = 1 Data-length = 0 2 Recipient (**) 3 recipient-name 4 Data-length = 0 Text format 2, sent to the recipient, has the following format: AGENT-SELECTOR = Event (9) RECORD-SEQ-NUM = 1 Data-length = 0 2 Sender (**) 3 sender-name 4 Data-length = 0 Text format 3, sent to the sender, has the following format: AGENT-SELECTOR
Designing and Writing a Client Communicating with TISERV Communicating Once your request is ready, you send it to the TRANSFER interactive server class with TISERV (TISERV). TRANSFER server use is slightly different from that of general PATHWAY servers. A general rule for PATHWAY applications is to design server classes so that each request sent to each server takes approximately the same amount of time. When you direct UOWs to TISERV, however, you do not send individual requests; you send groups of UOWs.
Designing and Writing a Client COBOL STRING and UNSTRING Operations You can use the working storage established for the initial transmission of some UOWs to TISERV repeatedly in subsequent transmissions of the same UOW. This is true, in particular, where the responses for some UOWs have the same format and can thus be used as the requests. The READ-NEXT-MEMBER and READNEXT-NAME UOWs fall into this category.
Designing and Writing a Client COBOL STRING and UNSTRING Operations 3. In the Working-Storage Section of the Data Division, include definitions for: Data fields that your application will use for computing the size of the fixedlength and variable-length data to be returned by the GET-ITEM-REC UOW. For example: WORKING-STORAGE SECTION. 01 fixed-part-size 01 88 eof 88 not-eof 01 header-size 01 ptr 01 rec-size 01 temp-nbr 01 temp-str 01 variable-part-size PIC 9(4) COMP. PIC 9 COMP VALUE 0. VALUE 1 VALUE 0.
Designing and Writing a Client COBOL STRING and UNSTRING Operations 02 02 num-returned recs-returned 03 03 03 03 4. rec-type rec-seq-num data-len data-string NATIVE-2. OCCURS 0 TO 20 TIMES DEPENDING ON num- returned. PIC 9(4) COMP. PIC 9(4) COMP. NATIVE-2. PIC X(80). In the Procedure Division, after opening your file and performing other preparatory operations, compute the sizes of the various fields to be returned by TISERV.
Designing and Writing a Client Debugging Techniques 7. When you are ready to read the records returned by the UOW, issue a read request: READ xfer-file WITH PROMPT xfer-rec (1: ptr - 1) END SET eof TO TRUE NOT AT END Then, break the record down by following the steps shown in the PERFORM construct in the listing.
Designing and Writing a Client Debugging Techniques The following elements are part of the preceding example: The ASSIGN directive specifies the log file, which is the logical file DEBUGLOG. The first PARAM directive selects which information is logged, as follows: if DEBUGLOGLEVEL is set to a following value, and the PW-REPLY-CODE field in the IPC header of the reply is greater than or equal to this value, the action taken is as indicated in Table 9-1.
Designing and Writing a Client A Sample TRANSFER Client A Sample TRANSFER The TRANSFER program described on the following pages is an example of a mail Client client that performs the following operations: Initiates interaction between the user and the application Assembles packages and transmits them to recipients Receives and reads packages from other senders Terminates interaction between the user and the application Despite its simplicity, this client illustrates some of the most important functions av
Designing and Writing a Client Sample Client Functional Description Sample Client Functional Description The following pages describe a sample session with the client. Step 1: Display the Base screen and the Logon screen. The Logon screen looks like this: E L E C - M A I L CLIENT -- LOGON SCREEN -- Please enter Name and Password: Name: Password: F1 = Logon SF16 = Exit The user enters a correspondent name and a password.
Designing and Writing a Client Sample Client Functional Description Step 3: Display the Function Menu screen and branch to the appropriate function.
Designing and Writing a Client Sample Client Functional Description Step 4: Display the Mail Posting screen. The client next displays the Mail Posting screen: -- MAIL POSTING SCREEN -- To: Subject: Text F6 -- Send F16 -- Quit and Return SF16 -- Logoff This screen allows the correspondent to enter the name of the recipient of the package, a subject line, and up to five lines of text. After entering this information, the correspondent presses the F6 key to send the package.
Designing and Writing a Client Sample Client Functional Description Step 8: Save the recipient name the sender specified. In another IPC, the client issues an ADD-ITEM-REC UOW (as ADD-RECIP-TEXT) to send the TRANSFER delivery system a text version of the recipient name that was returned in the ACCEPTED-NAME field of the original ADD-RECIP reply. This saves the recipient name the sender originally specified so that Tandem mail clients can later display the name.
Designing and Writing a Client Sample Client Functional Description Step 13: Display the message. The client displays the date and time that the package was sent, the sender's and recipient's names, and the subject and text records on the Mail Display screen: E L E C - M A I L CLIENT -- MAIL DISPLAY SCREEN -Sent: From: To: Subj: 11 / 15 / 1990 13 : 47 ROE_JANE BURKE_TINA @SVLDEV test message for Thursday Text Tina, Please disregard this message; it is a test of the TRANWSFER sample client.
Designing and Writing a Client Sample Client Code Step 15: Discard a package. The user can discard a package from the INBOX while reading the mail by pressing the F4 function key. In response, the client executes a BEGIN-TRANSACTION operation, issues an UNSAVE-ITEM UOW, and then executes an END-TRANSACTION operation. (If the UNSAVE UOW fails, TISERV reports the error and the client displays an error message.) If more packages reside in the INBOX, TISERV displays the next package.
Designing and Writing a Client Sample Client Code Running the Sample Client The following steps explain how to configure and run the sample client. Arbitrary names are shown in lowercase letters; substitute appropriate names for your installation. 1. Log on and set your current volume to the volume and subvolume where your TRANSFER software resides. 2. The sample client source code has been supplied by Tandem and is on your system. The file is named SMPCLNT. 3.
Designing and Writing a Client Sample Client Code PATHWAY SCREEN COBOL - T9153C11 - (27MAR89) COMPILED: 13 NOV 90 16:16:16 1 2 3 4 5 6 7 8 9 10 11 13 14 15 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 9–28 SOURCE LANGUAGE: SCOBOL OPTIONS: ON - (LIST,WARN) ?symbols IDENTIFICATION DIVISION. PROGRAM-ID. AUTHOR. SAMPLE-CLIENT. TANDEM INSTALLATION. DATE-COMPILED. 90/11/13 - 16:16:24.
Designing and Writing a Client Sample Client Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 dim IS DIM normal IS NORMAL hidden IS HIDDEN blink IS BLINK reverse IS REVERSE u
Designing and Writing a Client Sample Client Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 9–30 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 95 96 97 98 99 100 101 102 103 104 105 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 106 107 108 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2
Designing and Writing a Client Sample Client Code 2< 2< 2< 2< 2< 2< 2< 2< 2741 2742 2743 2744 2745 2746 2747 2748 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 109 110 111 1451 1452 1453 1454 1455 1456 112 113 114 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 88 88 88 88 88 88 88 88 rsp-ss-E-CORR-
Designing and Writing a Client Sample Client Code 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 9–32 139 140 141 142 143 144 145 146 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 166 167 168 169 170 171 172 * * allowed within OCCURS...DEPENDING ON. The program must set this value.
Designing and Writing a Client Sample Client Code 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 189 190 191 192 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 193 194 195 580 DEPENDING ON add-text-array-count. atx-hdr.
Designing and Writing a Client Sample Client Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 9–34 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 196 197 198 199 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 05 rsp-ar-ADD-RECIP-RSP. 10 rsp-ar-HDR. 15 rsp-ar-SELF-IDENT PIC AA VALUE "UW".
Designing and Writing a Client Sample Client Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 207 208 209 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 210 211 212 213 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301
Designing and Writing a Client Sample Client Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 9–36 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 252 253 254 1595 1596 1597 1598 1599 88 uow-scn-TTEXT-ITEM value 88 uow-scn-DATA-ITEM value 88 uow-s
Designing and Writing a Client Sample Client Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 165
Designing and Writing a Client Sample Client Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 9–38 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 17
Designing and Writing a Client Sample Client Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1754 1755 255 256 257 258 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 15 rsp
Designing and Writing a Client Sample Client Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 9–40 280 281 282 283 284 285 286 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 1809 03 gsu-rec-seq-num PIC S9(4) COMP.
Designing and Writing a Client Sample Client Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 2< 470 2< 471 2< 472 05 uow-gir-GET-ITEM-REC-UOW. 10 uow-gir-HDR.
Designing and Writing a Client Sample Client Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 9–42 473 474 475 476 477 478 479 480 481 482 357 358 359 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 360 361 362 363 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 364 365 366 2893 2894 2895 2896 2897 2898 2899 2900 2901
Designing and Writing a Client Sample Client Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 88 rsp-usv-E-FLD-NOT-FOUND VALUE 5676. 88 rsp-usv-E-FLD-BAD-NAME VALUE 5677. 88 rsp-usv-E-FLD-BAD-TYPE VALUE 5678.
Designing and Writing a Client Sample Client Code 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 9–44 01 base-screen SIZE 24, 80 . FILLER AT 1, 28 REVERSE VALUE "E L E C - M A I L CLIENT ". 05 overlay-area AREA AT 3, 1 SIZE 20, 80. 05 msg AT 23, 2 PIC X(25) BLINK FROM ws-msg.
Designing and Writing a Client Sample Client Code 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 05 05 05 05 05 05 LENGTH MUST BE 1 THRU 32 REVERSE, DIM TO uow-ar-recip-name . FILLER AT 6, 1 VALUE "Subject:" .
Designing and Writing a Client Sample Client Code 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 9–46 05 05 05 05 05 PIC X(40) FROM gsu-data-string . FILLER AT 8, 1 VALUE "Text" . line-out AT 10, 2 PIC X(78) OCCURS ON 5 LINES REVERSE, DIM FROM ws-data-recs .
Designing and Writing a Client Sample Client Code 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 * function by setting key-value to 8. * ********************************************************************* DISPLAY OVERLAY logon-screen AT overlay-area. logon-display-data.
Designing and Writing a Client Sample Client Code 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 9–48 ON ERROR MOVE TERMINATION-STATUS TO term-status PERFORM error-section ABORT-TRANSACTION GO TO logon-accept-data.
Designing and Writing a Client Sample Client Code 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 * initialized once. * ********************************************************************** MOVE MOVE MOVE MOVE MOVE MOVE MOVE 115 TO uow-gir-rec-type OF get-subject-rec-uow.
Designing and Writing a Client Sample Client Code 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 9–50 CODE 3 YIELDS ipc-hdr, ON ERROR MOVE TERMINATION-STATUS TO term-status PERFORM error-section GO TO scan-mail-section-exit.
Designing and Writing a Client Sample Client Code 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 IF ih-pw-reply-code > 1 PERFORM error-section ABORT-TRANSACTION GO TO accept-mail-data. END-TRANSACTION.
Designing and Writing a Client Sample Client Code 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 9–52 ********************************************************************* * Remove any unwanted packages; this program removes packages
Designing and Writing a Client Sample Client Code 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 IF NOT post-request MOVE "FUNCTION KEY PRESSED IS NOT ALLOWED" TO ws-error DISPLAY TEMP error-line OF base-screen G
Designing and Writing a Client Sample Client Code 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 9–54 ********************************************************************* SEND ipc-hdr, add-recip-uow, add-subjec
Designing and Writing a Client Sample Client Code 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1251 1252 1253 MOVE MOVE MOVE MOVE rsp-cri-item-id TO atx-item-id( air-index ). 120 TO atx-rec-type( air-index ).
Designing and Writing a Client Sample Client Code 1254 1256 1257 1258 1259 1261 1262 1263 1264 1265 1266 1267 1268 1269 1271 1272 1273 1274 1275 1277 1278 1279 1280 1281 1283 1285 1286 9–56 ADD 1 TO esub. IF ih-ipc-retn-code NOT = 0 MOVE " PWRT" TO e-name( esub ) MOVE ih-ipc-retn-code TO e-field( ESUB ) ADD 1 TO esub.
10 Designing and Writing an Agent A TRANSFER application frequently includes one or more agents. The TRANSFER delivery system optionally notifies these agents when the TRANSFER system delivers a package to a recipient's depot, and the agent generally takes some kind of action as a result. Agent notification is handled by the TRANSFER asynchronous requester (TAREQ) that delivers the package.
Designing and Writing an Agent Selecting a Programming Language Selecting a TAREQs are composed of SCREEN COBOL programs and, therefore, they interact Programming with agents that are implemented either as SCREEN COBOL requester programs or as Language PATHWAY servers. Agents can operate as either requesters or servers, as follows: An agent that requires ongoing access to the TRANSFER database should be written in SCREEN COBOL.
Designing and Writing an Agent Working with TAREQ through the ALTER-AGENT-SELECT UOW issued to TISERV. The sender can use fields within package headers to specify information that must match the selection criteria in the recipient's profile in order for the agent to be executed. Through the use of selection criteria, different agents at a depot can handle different types of packages and applications.
Designing and Writing an Agent Working with TAREQ message. The TAREQ continues this process until it encounters no further qualified agents or until an agent requests the TAREQ to discontinue agent selection. If an agent selection record for a selected agent specifies that a session should be started when the agent is invoked, the TAREQ starts a session and obtains a session ID from TISERV.
Designing and Writing an Agent TAREQ Event Packages Agent Notification Message The agent notification message includes the following information: Name of the correspondent that sent the package Application ID that identifies the client Name of the recipient to whom the package is sent Package ID of the header item of the package Selection criteria that determine which agent or agents are activated when the package is received Data to be passed to the agent for its own use Agent Reply TAREQ Event Package
Designing and Writing an Agent Configuring an Agent Configuring an Agent Assigning Names to Agents When you configure an agent, you must supply certain information for the agent in the depot profile record. This information is described in the discussions of the ALTER-AGENT-SELECT and GET-AGENT-SELECT UOWs. To enable you to supply this information, Tandem provides a standard (default) configuration program that is sufficient for many cases.
Designing and Writing an Agent When to Write Your Own Configuration Program When to Write Your Own Configuration Program You can supply your own agent configuration program and tailor it to the specific needs of your agent. The program can display a screen through which you can enter information. The program can next determine which of the entries are appropriate for copying to the profile record and then issue the ALTER-AGENT-SELECT UOW to write the information to that record.
Designing and Writing an Agent When to Write Your Own Configuration Program Configuration/Deletion Program Operation An agent configuration or deletion program is invoked when you press one of the function keys while the ADMIN Agent Selection Screen is displayed. If the TRANSFER delivery system does not locate a user-supplied program, the following occurs: The default program named ADMIN-AGENT-CONFIGURE, which is supplied by Tandem, is invoked in response to the pressing of configuration function keys.
Designing and Writing an Agent When to Write Your Own Configuration Program Calling the Configuration or Deletion Program The ADMIN application calls the configuration program through the following calling sequence, where xxxxxxxx is the name of the agent supplied on the screen: CALL xxxxxxxx-CONFIG USING LNKSC-IPC-HDR-L, LNKSD-LINKAGE-BLOCK, LNKSE-ERROR-BLOCK, LNKSF-AGENT-MANAGE-DATA-L.
Designing and Writing an Agent When to Write Your Own Configuration Program In this definition, the fields have the following meanings: corr-name is the correspondent name of the logged-on correspondent, or the correspondent name entered on the ADMIN Main Menu Screen by a system administrator. Do not alter this field. sys-admin-flag indicates whether the logged-on correspondent is a system administrator. Do not alter this flag.
Designing and Writing an Agent When to Write Your Own Configuration Program In this definition, the fields have the following meanings: error-message contains the error message text, which can include up to 67 characters. The definition for this field is: DEF error-message. 02 error-text 02 error-detail. 03 sign-field-2 03 error-field-2 03 sign-field-1 03 error-field-1 03 unusable END. TYPE CHARACTER 67 VALUE SPACES.
Designing and Writing an Agent Writing an Agent Tester In this definition, the fields have the following meanings: return-action-flag contains the result of your program's execution. It can be set to one of the values in Table 10-2. Table 10-2. RETURN-ACTION-FLAG Values Value Meaning -1 Your program rejected the configuration or deletion request, either by the program’s intent or because of an error in any UOW or server request it attempted. (The program might have placed a message in the error block.
Designing and Writing an Agent Sample Agent Functional Description A Sample TRANSFER The TRANSFER program described on the following pages is an example of a very Agent simple agent that performs the following operations: Forwards each package received at the depot to which it is attached to another correspondent Removes the package from the depot's INBOX folder Acknowledges receipt of the package The correspondent to whom the package should be forwarded is specified through the Agent Selection function in
Designing and Writing an Agent General Notes Step 4: Attach the original package to the new package. The program sends the ATTACH-COMPNT-A01 UOW to TISERV to attach the original item as a component to the new item. The ID of the original package header (ag-lnk-package-id) from the Linkage Section becomes the component ID, while the parent ID is the item ID returned in Step 1. Step 5: Submit the new package for delivery.
Designing and Writing an Agent Sample Agent Program Code Sample Agent Program Code PAGE 1 The following pages list program code for the sample agent. $JUICE.MLBTFER.
Designing and Writing an Agent Sample Agent Program Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 10–16 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 55 56 57 58 59 60 61 62 63 470 471 472 473 * *
Designing and Writing an Agent Sample Agent Program Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 474 475 476 477 478 479 480 481 482 64 65 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 66 67 68 69 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 70 71 72 533 534 535 536 *
Designing and Writing an Agent Sample Agent Program Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 10–18 537 538 539 540 541 542 543 544 545 546 547 548 549 73 74 75 76 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 77 78 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1
Designing and Writing an Agent Sample Agent Program Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 83 84 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 85 86 87 88 1316 1317 1318 1319
Designing and Writing an Agent Sample Agent Program Code 2< 1323 2< 1324 2< 1325 89 90 2< 1327 2< 1328 2< 1329 2< 1330 2< 1331 2< 1332 2< 1333 2< 1334 2< 1335 2< 1336 2< 1337 2< 1338 2< 1339 2< 1340 2< 1341 91 92 93 94 2< 2840 2< 2841 2< 2842 2< 2843 2< 2844 2< 2845 2< 2846 2< 2847 2< 2848 2< 2849 2< 2850 2< 2851 2< 2852 95 96 2< 2854 2< 2855 2< 2856 2< 2857 2< 2858 2< 2859 2< 2860 2< 2861 2< 2862 2< 2863 2< 2864 2< 2865 2< 2866 2< 2867 2< 2868 2< 2869 2< 2870 2< 2871 2< 2872 2< 2873 2< 2874 2< 2875 2< 287
Designing and Writing an Agent Sample Agent Program Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 101 102 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 103 104 105 106 107 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 31
Designing and Writing an Agent Sample Agent Program Code 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 10–22 3210 3211 3212 3213 3214 3215 3216 3217 3218 108 109 110 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 20 AG-LNK-RESERVED-5 PIC A . 20 AG-LNK-RESERVED-6 PIC A .
Designing and Writing an Agent Sample Agent Program Code 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 ********************************************************************** * FIRST, CREATE A NEW ITEM (new item-id will be in rsp-cri-item-id) * ************************************
Designing and Writing an Agent Sample Agent Program Code 225 226 227 228 229 230 231 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 10–24 SEND ih-ipc-hdr, uow-ar-add-recip-uow, uow-air-add-item-rec-uow TO "TISERV" REPLY CODE 0, 1, 2 YIELDS ih-ipc-hdr, rsp-ar-add-recip-rsp, rsp-air-add-item-rec-rsp, CODE 3 YIELDS ih
Designing and Writing an Agent Sample Agent Program Code 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 MOVE "INBOX" TO uow-usv-folder-name. ********************************************************************** * ISSUE THE SEND * ********************************************************************** MOVE MOVE 2 TO ih-uows-to-process. -2 TO ih-request-code.
11 A Sample TRANSFER Program The TRANSFER client described on the following pages is an example of a TRANSFER program that issues only five UOWs yet performs a useful task. This program, the agent tester, facilitates developing a user-written agent by bypassing the interface to the TRANSFER asynchronous requesters (TAREQs). The agent tester uses the same linkage data that TAREQs use to call the agent.
A Sample TRANSFER Program Agent Tester Sample Session Step 1: Display the base screen and the Logon screen.
A Sample TRANSFER Program Agent Tester Sample Session Step 3: Display the Scan Folder Selection Criteria screen and accept the selection criteria.
A Sample TRANSFER Program Agent Tester Sample Session Step 6: Display the Item Record Data Description screen.
A Sample TRANSFER Program How to Use INSPECT with the Agent Tester Step 7: Display the Agent Linkage Information screen and accept linkage information.
A Sample TRANSFER Program How to Use INSPECT with the Agent Tester PATHMON starts for the agent tester is named 999-MYTERM1-999 (to see what TERM name PATHMON has assigned for the agent, you use the PATHCOM STATUS TERM * command). You want the agent tester and test agent to run on $MYTERM1 and the INSPECT session to run on $MYTERM2. The test agent is named test-agent. You set the first breakpoint at the point where the agent tester calls the test agent. Figure 11-1.
A Sample TRANSFER Program Agent Tester Program Code Agent Tester Program Code The following pages list agent tester program code.
A Sample TRANSFER Program Agent Tester Program Code 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 11–8 F9-KEY IS F9, SF9-KEY IS F10-KEY IS F10, SF10-KEY F11-KEY IS F11, SF11-KEY F12-KEY IS F12, SF12-KEY F13-KEY IS F13, SF13-KEY F14-KEY IS F14, SF14-KEY F15-KEY IS F15, SF15-KEY F16-KEY IS F16, SF16-KEY SF9, IS SF10, I
A Sample TRANSFER Program Agent Tester Program Code 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 02 PIC X(32) VALUE "Error during terminal open ". * Termination status = 0018 02 FILLER PIC X(32) VALUE "Error during terminal IO ".
A Sample TRANSFER Program Agent Tester Program Code 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 11–10 VALUE "SE#7 Message is too large ". Termination status = 0008 02 FILLER PIC X(32) VALUE "SE#8 Maximum reply too large ".
A Sample TRANSFER Program Agent Tester Program Code 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 88 88 ANOTHER-AGENT-YES ANOTHER-AGENT-NO VALUE "Y". VALUE "N". 05 REQUEST-NEW-ITEM-CONTROL PIC X VALUE "Y". 88 REQUEST-NEW-ITEM-YES VALUE "Y". 88 REQUEST-NEW-ITEM-NO VALUE "N".
A Sample TRANSFER Program Agent Tester Program Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 11–12 336 337 338 339 340 341 342 343 344 345 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 346
A Sample TRANSFER Program Agent Tester Program Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 347 348 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 349 350 351 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 275
A Sample TRANSFER Program Agent Tester Program Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 11–14 1452 1453 1454 1455 1456 355 356 357 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 358 359 360 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320
A Sample TRANSFER Program Agent Tester Program Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 364 365 366 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 367 368 369 1595 1596 1597 1598 159
A Sample TRANSFER Program Agent Tester Program Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 11–16 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662
A Sample TRANSFER Program Agent Tester Program Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1
A Sample TRANSFER Program Agent Tester Program Code 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 2< 3< 11–18 1752 1753 1754 1755 370 371 372 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 373 374 375 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854
A Sample TRANSFER Program Agent Tester Program Code 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3< 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 379 380 381 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402
A Sample TRANSFER Program Agent Tester Program Code 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 11–20 FROM SCRN-MESSAGE UNDERLINE ADVISORY UPSHIFT INPUT-OUTPUT . *============================================================================= 01 OVERLAY1 OVERLAY SIZE 18, 80 .
A Sample TRANSFER Program Agent Tester Program Code 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 VALUE "Forward package = 111" . 05 FILLER AT 14, 38 VALUE "Unformatted text item = 120" . 05 FILLER AT 16, 5 VALUE "Press F1 To scan the INBOX folder" .
A Sample TRANSFER Program Agent Tester Program Code 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 11–22 05 FILLER AT 8, 6 VALUE "Application ID" . 05 APPLICATION-ID-DISPLAY AT 8, 28 PIC 9(4) FROM APPLICATION-ID UNDERLINE . 05 FILLER AT 8, 36 VALUE "Agent selector" .
A Sample TRANSFER Program Agent Tester Program Code 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 FROM APPLICATION-ID UNDERLINE . 05 FILLER AT 3, 31 VALUE "Agent selector:" . 05 AGENT-SELECT-DISPLAY AT 3, 47 PIC 9(4) FROM AGENT-SELECT UNDERLINE .
A Sample TRANSFER Program Agent Tester Program Code 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 11–24 MOVE "SCREEN RECOVERY" TO MESSAGE-ALPHA. DISPLAY BASE SCREEN1. DISPLAY OVERLAY OVERLAY1 AT OVERLAYA. DISPLAY OVERLAY1. DISPLAY TEMP ERROR-MESSAGE OF SCREEN1. END DECLARATIVES.
A Sample TRANSFER Program Agent Tester Program Code 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 20-SCAN-FOLDER-NEXT. MOVE SPACES TO OPERATOR-MESSAGE. MOVE SPACES TO SCRN-MESSAGE.
A Sample TRANSFER Program Agent Tester Program Code 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 11–26 31-NEXT-RECORD.
A Sample TRANSFER Program Agent Tester Program Code 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 ON ERROR PERFORM 100-SS-ON-ERROR.
A Sample TRANSFER Program Agent Tester Program Code 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 11–28 100-SS-ON-ERROR. IF TERMINATION-STATUS NOT EQUAL 11 MOVE 4 TO IH-PW-REPLY-CODE ELSE NEXT SENTENCE.
A Sample TRANSFER Program Agent Tester Program Code 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 MOVE RSP-SCN-RETN-CODE-DETAIL TO ERROR-NUMBER-2 MOVE "SCAN INBOX FOLDER ERROR" TO MESSAGE-ALPHA MOVE RSP-SCN-NUM-
A Sample TRANSFER Program Agent Tester Program Code 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 11–30 MOVE RSP-GID-RESERVED-1 OF RSP-GID-DELIV-CONTROL-FLAGS TO AG-LNK-RESERVED-1 MOVE RSP-GID-RESERVED-2 OF RSP
A Sample TRANSFER Program Agent Tester Program Code 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 * Next line if appropriate: MOVE SPACES TO SCRN-MESSAGE MOVE "Y" TO FATAL-ERRORS-CONTROL MOVE "ITEM DESCRIPTION N
A Sample TRANSFER Program Agent Tester Program Code 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 11–32 400-ES-BAD-IPC, 400-ES-SEND-ERROR DEPENDING ON ih-PW-REPLY-CODE. 400-ES-EXIT. EXIT. 400-ES-SEND-ERROR.
A Sample TRANSFER Program Agent Tester Program Code 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 899-CALL-ERROR. MOVE SPACES TO SCRN-MESSAGE. MOVE TERMINATION-STATUS TO ERROR-NUMBER-1. MOVE TERMINATION-SUBSTATUS TO ERROR-NUMBER-2.
Appendix A Conventions for Application Interface In certain cases, your application might need to interact with one of the TRANSFER clients or agents supplied by Tandem. This is necessary, for example, when a Tandem application is embedded within your own, or when you write application software that is called by a Tandem application. This appendix describes conventions common to all TRANSFER applications supplied by Tandem and discusses considerations specific to Tandem electronic mail clients.
Conventions for Application Interface Application ID The TRANSFER/MAIL (T/MAIL) function is obsolete, but you could still have an item in your database that was created by T/MAIL. Such an item would have an application ID of 111. WPLINK and FAXLINK are obsolete products, but you might still see application IDs of 300, 400, or 401 in your database. Table A-2 lists the APPLIC-ID values for Tandem agents that have been defined. Table A-2.
Conventions for Application Interface Item Types Item Types The TRANSFER delivery system assigns special meaning to the following types of items, as designated by the ITEM-TYPE field of the item descriptor. Table A-3 lists and describes the ITEM-TYPE values assigned by the TRANSFER delivery system. Table A-3.
Conventions for Application Interface Packages and Items The following notes apply to the items in Table A-3: Item type values 109 through 114 always indicate a package header. Item types 109 through 114 can contain item data records of record type 120. If records of type 120 hold TTEXT data containing unprintable ASCII characters, use an item type of 112 through 114. Item type 120 and item type 121 should contain only records with a record type of 120.
Conventions for Application Interface Packages and Items If a user provides text for the subject field while creating an electronic mail message through a Tandem PS MAIL client, the client inserts within a package header a subject text record with a REC-TYPE of 115 and a sequence number (REC-SEQ-NUM) of 1 within that record type. When the client reads a package, it searches for the subject text record as a record with REC-TYPE 115 and REC-SEQ-NUM 1.
Conventions for Application Interface Recipients Recipients The RECIP-TYPE field has three possible values, as Table A-5 indicates. Table A-5. RECIP-TYPE Values Component Types Recipient Type Value in RECIP-TYPE Field Courtesy-copy recipient Blind-copy recipient To recipient 323 324 340 The COMPNT-TYPE field has two possible values, as Table A-6 indicates. Table A-6.
Conventions for Application Interface Examples of Standard Packages Examples of Standard Packages Figure A-1 shows examples of standard send and reply packages. In these examples, a correspondent named SMITH transmits a send package to a recipient named JONES, who responds by transmitting a reply package to SMITH. Each package consists of a package header item and one component item, and references its own recipient list. Each component item contains two or three data records.
Conventions for Application Interface Examples of Standard Packages Figure A-1.
Conventions for Application Interface Recipients Interfacing with The following pages offer guidelines for interacting with all Tandem mail clients.
Conventions for Application Interface Certification of Receipt Certification of Receipt Some applications must receive certification of package delivery.
Appendix B Processes Running Outside PATHWAY PATHWAY is required for configuring a TRANSFER system.
Appendix C Standard TRANSFER Base Character Set The standard base (canonical) character set for TRANSFER includes all graphic characters and format effectors in both the ANSI (1977) and ISO 8859/1.2 standards. With regard to these standards, TRANSFER makes the following choices: Code %H27 is identified as a right single quote ('). This character is assumed to be the same as the apostrophe. It is not the same as the acute accent (´), which is code %HB4 in the ISO standard.
Standard TRANSFER Base Character Set Table C-2. Superscript Base Code Master Character List Code Character %H01 %H01A2 Superscript n Table C-3. Format Effector Base Code Master Character List Code Character %H02 %H03 %H04 %H05 %H06 %H0101 %H010E %H010F %H0114 %H0119 CTRL Numeric space CTRL Subscript CTRL Superscript CTRL Left margin tab CTRL Stop Table C-4.
Standard TRANSFER Base Character Set Table C-5. Mathematical Symbols Base Code Master Character List Code Character %H0E %H0F %H10 %H11 %H12 %H13 %H14 %H15 %H16 %H01A1 %H0080 %H0081 %H0082 %H0088 %H008B %H00AB %H012E %H0133 Reverse not sign ≤ ≠ ≥ ≡ √ ∞ ∩ ≅ Table C-6. Miscellaneous Symbols Base Code Master Character List Code Character %H17 %H18 %H0075 %H0093 (Double underline) ↑ (Up arrow) Table C-7.
Standard TRANSFER Base Character Set Table C-8.
Standard TRANSFER Base Character Set Table C-8.
Standard TRANSFER Base Character Set Table C-8.
Standard TRANSFER Base Character Set Table C-10. TRANSFER Reserved Symbols Base Code Master Character List Code %H80 %H81 %H82 %H83 %H0FF0 %H0FF1 %H0FF2 %H0FF3 Character Table C-11. Greek Letters Base Code Master Character List Code Character %H84 %H85 %H86 %H87 %H88 %H89 %H8A %H8B %H8C %H8D %H8E %H8F %H0178 %H016F %H018C %H017C %H0170 %H017D %H0171 %H0189 %H018A %H0163 %H017B %H016A α Γ δ ε Θ π Σ σ τ Φ ϕ Ω Table C-12.
Standard TRANSFER Base Character Set Table C-13. Pictures Base Code Master Character List Code Character %H9B %H9C %H00BD %H00BE Open convex square • Table C-14.
Standard TRANSFER Base Character Set Table C-15. ISO 8859/1.
Standard TRANSFER Base Character Set Table C-15. ISO 8859/1.
Standard TRANSFER Base Character Set Table C-15. ISO 8859/1.
Appendix D Standard TRANSFER Name Character Set The standard name character set for TRANSFER contains the legal name characters for the following languages: Danish Dutch English (American and UK) Finnish French (National and Canadian) German Hebrew Italian Norwegian Spanish Swedish The name character set consists of: All alphabetic characters in the ANSI (1977) and ISO 8859/1.
Standard TRANSFER Name Character Set Table D-1 contains the following items, in the order listed, for each character: The uppercase character The lowercase character The category of character (separator, alphabetic, or numeric) Table D-1.
Standard TRANSFER Name Character Set Table D-1.
Appendix E The XDIR Server The XDIR server is an optional server that users can build and add to their TRANSFER system at a TRANSFER X400 gateway node. When the Exporter needs to translate a name, it sends the TRANSFER correspondent name in a UOW to the XDIR server; the Exporter then uses the X400 originator/recipient (O/R) address that comes back in the RSP.
The XDIR Server Configuring the XDIR Server Configuring the XDIR To configure the XDIR server, do the following: Server 1. Add the server to the TRANSFER system's PATHWAY configuration.
The XDIR Server UOW Definitions 2. Alter the Exporter and Importer definitions to refer to these XDIR servers, entering the PARAM specifications NUMXDIR and XDIR. NUMXDIR is the number of server processes that can be running. XDIR is the process name range for the servers.
The XDIR Server NAME-CONTEXT NAME-CONTEXT NAME-CONTEXT is included in the X400-TO-CORR and CORR-TO-X400 UOWs to indicate to the XDIR server what type of name is referenced. You can program the XDIR server to process different types differently; the gateway servers do not interpret the names that are returned. DEF NAME-CONTEXT. 05 CONTEXT-CODE type binary 16 unsigned. 88 P1-ORIGINATOR VALUE 0. 88 P1-RECIP VALUE 1. 88 P2-ORIGINATOR VALUE 2. 88 P2-PRIMARY VALUE 3. 88 P2-CC VALUE 4. 88 P2-BCC VALUE 5.
The XDIR Server CAPABILITIES CAPABILITIES (UOW Code 1002) The CAPABILITIES UOW allows an XDIR server to tell the gateway servers which functions it can support. It is used when a gateway server starts, indicating which UOWs are appropriate to send to the XDIR server. *#PREFIX: uow-capDEF CAPABILITIES-UOW. 02 HDR *END. *#PREFIX: rsp-capDEF CAPABILITIES-RSP. 02 HDR 02 RETN-CODE 02 RETN-CODE-DETAIL 02 CAPABILITY-FLAGS.
The XDIR Server CAPABILITIES The flags are defined as follows: DONT-X400-CORR when set to Y, indicates that the XDIR server should not be used to translate X400 O/R names to TRANSFER correspondent names. The default value of N indicates that the XDIR server can perform this conversion. DONT-CORR-X400 when set to Y, indicates that the XDIR server should not be used to translate TRANSFER correspondent names to X400 O/R names. The default value of N indicates that the XDIR server can perform this conversion.
The XDIR Server X400-TO-CORR X400-TO-CORR (UOW Code 1000) The X400-TO-CORR UOW accepts an X400 O/R name and translates the name to the TRANSFER correspondent name equivalent. The Importer sends that name to the user's XDIR server. *#PREFIX: uow-xtcDEF X400-TO-CORR-UOW. 02 HDR *02 X400-NAME 02 NAME-CONTEXT END. *#PREFIX: rsp-xtcDEF X400-TO-CORR-RSP. 02 HDR 02 RETN-CODE 02 RETN-CODE-DETAIL 02 CORR-NAME 02 REASON-CODE 02 DIAGNOSTIC-CODE END. type UOW-HDR. value 1000. type X400-NAME. type NAME-CONTEXT.
The XDIR Server X400-TO-CORR RETN-CODE-DETAIL is an error number that can be returned as a further qualification of an error; it is ignored. CORR-NAME is the TRANSFER correspondent name equivalent of the O/R name in the UOW. Although the Importer does not interpret this name, it must be a syntactically correct name. REASON-CODE is the reason code to be used in a nondelivery report if RETN-CODE is 5300. DIAGNOSTIC-CODE is the diagnostic code to be used in a nondelivery report if RETN-CODE is 5300.
The XDIR Server CORR-TO-X400 CORR-TO-X400 (UOW Code 1001) The CORR-TO-X400 UOW accepts a TRANSFER correspondent name and translates the name to the X400 O/R name equivalent. The Exporter sends that name to the user's XDIR server. *#PREFIX: uow-ctxDEF CORR-TO-X400-UOW. 02 HDR *02 CORR-NAME 02 NAME-CONTEXT END. *#PREFIX: rsp-ctxDEF CORR-TO-X400-RSP. 02 HDR 02 RETN-CODE 02 RETN-CODE-DETAIL 02 X400-NAME END. type UOW-HDR. value 1001. type CORR-NAME. type NAME-CONTEXT. type type type type UOW-HDR.
The XDIR Server CORR-TO-X400 RETN-CODE-DETAIL is an error number that can be returned as a further qualification of an error; it is ignored. X400-NAME specifies the O/R name equivalent of the TRANSFER correspondent name in the UOW. CORR-TO-X400 Operation The CORR-TO-X400 UOW accepts a TRANSFER correspondent name and translates the name to the X400 O/R name equivalent. The Exporter sends this UOW to the user's XDIR server. A return code of 0 or a negative value indicates a successful processing.
The XDIR Server IMPORT-MSG IMPORT-MSG (UOW code 1003) Note The IMPORT-MSG UOW tells the XDIR server of a TRANSFER package that the Importer is ready to submit. You can program the XDIR server to modify or reject the package. If you do not need this functionality, it is recommended that you disable this UOW with the SENDIMPORT-MSG field of the CAPABILITIES RSP. *#PREFIX: uow-immDEF IMPORT-MSG-UOW. 02 HDR *02 ITEM-ID 02 SESSION-ID END. *#PREFIX: rsp-immDEF IMPORT-MSG-RSP.
The XDIR Server IMPORT-MSG RETN-CODE-DETAIL is an error number that can be returned as a further qualification of an error; it is ignored. REASON-CODE is the reason code to be used in a nondelivery report if RETN-CODE is 5300. DIAGNOSTIC-CODE is the diagnostic code to be used in a nondelivery report if RETN-CODE is 5300. IMPORT-MSG Operation The IMPORT-MSG UOW tells the XDIR server of a TRANSFER package that the Importer is ready to submit. You can program the XDIR server, to modify the package.
The XDIR Server EXPORT-MSG EXPORT-MSG (UOW Code 1004) The EXPORT-MSG UOW tells the XDIR server of an encoded PDU entry for an exported message that the Exporter has translated. The Exporter is ready to notify the MTA of the message. Although it takes significant effort for the user to modify this PDU store entry, this UOW is included for users who need it. Note If you do not need this functionality, it is recommended that you disable this UOW with the SENDEXPORT-MSG field of the CAPABILITIES RSP.
The XDIR Server EXPORT-MSG RETN-CODE-DETAIL is an error number that can be returned as a further qualification of an error; it is ignored. PDU-ID (in RSP) is the ID of the message's PDU store entry to be given to the MTA for transport. This is normally the same value as that of the PDU-ID field of the UOW. It can be set to zeros to indicate that the same value should be used. If the XDIR server has made a modified copy of the original message, the copy's PDU ID can be returned in this field.
The XDIR Server Managing the XDIR Server Managing the XDIR Server You need to be aware of certain issues of compatibility, performance, and security and integrity when you configure an XDIR server. Compatibility The necessary changes to the gateway make XDIR servers built with the C30 version of TRANSFER (or IPM T9110AAK) incompatible with the C31 release of TRANSFER. You must do the following for compatibility: 1. Add the PROC UOW^CAPABILITIES to your XDIR source code.
The XDIR Server Managing the XDIR Server Security and Integrity If an XDIR server is configured and misbehaves, mail could be directed to the wrong user. Because of this, you must be careful when you design a customized XDIR server. In addition, if the XDIR server is configured incorrectly, it can refer to the wrong server. Therefore, if someone has access to alter the PATHWAY system's configuration, that user poses a security risk. Again, caution is advised.
Glossary ADMD. See Administration Management Domain. ADMD name. The name of the ADMD that is assigned to a TRANSFER correspondent; the ADMD name comes from the configuration parameters when the X400 gateway is installed on a node. All TRANSFER correspondents registered on nodes grouped into the same domain have the same ADMD name. ADMIN. An application that allows administrators to perform administrative tasks for correspondents, interest groups, distribution lists, folders, and the TRANSFER system.
Glossary bulletin board. A folder for an interest group. Group members can read items in the group bulletin board folder and save items to the bulletin board for other members to read. character map. A set of codes that establishes the correspondence between the native form of a character and a character in the base character set. In effect, this map is a set of rules for encoding or representing characters in that set.
Glossary default model depot. The depot whose profiles are copied when a model depot is not specified for a new correspondent. The default model depot is established when TRANSFER is initialized. default model group depot. The group depot whose profiles are copied when a model depot is not specified for a new group. The default model group depot is established when TRANSFER is initialized. Defaults file. A file that contains keyword parameters and default values to be used as the source of a define file.
Glossary depot storage old statistics. Displayed on the OLD STATISTICS screen, the samples taken for the preceding configuration period if the depot storage facility was keeping previous samples. depot storage statistic. The byte count of data stored in a depot. This data includes item data, external objects, and distribution list records. Item data is data saved in data records for all item and record types.
Glossary foreign correspondent. An X400 user in a PRMD and ADMD outside the TRANSFER network. foreign domain. An X400 domain outside the TRANSFER network. FOSERV. Format server, used in the FORMAT server class to format screen data internally for the PS MAIL 6530 and PS MAIL 3270 clients. FPSERV. File Utility Program (FUP) server, which is invoked by the TISERV, TWORK, and GFILE to create and copy external objects. It is not configured as a PATHWAY server class. fully qualified correspondent name.
Glossary Interprocess communication (IPC). The request to or reply from the TRANSFER interactive server. The IPC contains a header and one or more units-of-work. IPC header. The first entry in an IPC. The header in an IPC request establishes processing conditions. The header in an IPC reply indicates what occurred during processing. IPC interface. The means by which a client communicates with TRANSFER. item.
Glossary Name server (NAMESRV). A TRANSFER process that manages the TRANSFER name directory. name space. The database managed by the TRANSFER name server. It contains lists of all correspondents on a node of a TRANSFER system, all distribution lists and folders owned by those correspondents, and the relationships between all correspondents and the distribution lists and folders they own. It also contains entries for most of the configuration entities defined in the system.
Glossary stay in the OUTLOG for the length of time configured, usually 24 hours. The OUTLOG cannot be deleted. P-1. X.400 protocol used to format and route messages through the X400 network. P-1 message. An X400 message that consists of an envelope and its content. The envelope contains delivery information; the content is the actual information that is to be delivered to the recipient. The combination of an envelope and its content is functionally equivalent to a TRANSFER package.
Glossary the same domain have the same PRMD name. PRMD names are required for X400 messages coming into a TRANSFER system; PRMD names are optional for X400 messages exported from a TRANSFER system. process. A running program. profile. A collection of attributes that describes an individual depot, a group depot, or the system as a whole. Each depot has a TRANSFER correspondent profile and a mail profile. Any depot can also include one or more agent profiles and user-supplied profiles.
Glossary recipient. A correspondent to whom a package is delivered. recipient list. The names of correspondents, interest groups, and distribution lists that are to receive a particular package. The recipient list is an attribute of the package and applies only to the package for which the recipient list is created. Contrast with distribution list. recipient name. A correspondent name, interest group name, or distribution list name that appears in the recipient list for a particular package. registration.
Glossary Site Update (SUT) Tape. The tape on which Tandem ships its software for installation. The product files on the SUT tape are grouped into distribution subvolumes (DSVs), the names of which appear on the last part of the packing list. SMSERV. The interactive TRANSFER system-management server, which performs system-management functions. The system-management server is called by TMANAGER. SPREP.
Glossary abbreviations, keywords, and the names of objects. It also handles such output text as prompts, screen field labels, error messages, and help information. The text server, in addition, performs various character mapping functions. For example, it manages the transformation of characters from external to internal format. TFRONT pseudo-terminal. TRANSFER receiver front end.
Glossary TRANSFER interactive server (TISERV). A TRANSFER server that starts and terminates sessions, services item and package handling requests, and handles administrative requests. TRANSFER name directory. A directory of all names of correspondents, interest groups, distribution lists, and folders defined at the local node. TRANSFER uses this directory whenever a local name is supplied by a correspondent. TRANSFER X400 gateway.
Glossary UOW. See Unit-of-work. user application. An application that a user develops and supplies to run on a TRANSFER system. User ID. A name assigned by the system manager, consisting of a group ID and a unique user ID (for example, REP.STEVE). user-defined profile. A depot profile that includes information about a correspondent for programs developed by Tandem users. user-DSV.
Glossary X400-EXPORT-PROBLEM folder. A special folder that holds X400 messages that were not exported because of a problem. X400 gateway node. The node where the TRANSFER X400 gateway is installed. Each group of TRANSFER nodes has a single TRANSFER X400 gateway node. When you send a package to a foreign recipient, the package is transported to the gateway node and is then exported. X400-IMPORT folder. A special folder that holds X400 messages that were successfully imported. X400 Importer server.
Index A ADMIN application calling 5-12, A-1, A-10 Administration, TRANSFER 5-10 Agents coding 10-3 communicating with TRANSFER processes 2-14 configuring 10-7 defined 2-5 designing 10-1 examples of uses for 2-6 notification message 10-5 sample 10-13 sample agent tester program 11-1 writing an agent tester program 10-12 ALTER-FOLDER-DESCR UOW 5-5 Alternate external objects See External objects Application interface, conventions A-1 Attachments defined 5-8 information about relationships between attachments 3
Index Clients communicating with TRANSFER processes 2-14 compared with agents 2-7 defined 2-3 developing 9-1 mail, interfacing with A-9 sample 9-20, 11-1 Tandem, interfacing with A-1 COBOL, STRING and UNSTRING operations 9-15 Configuration parameters altering 5-12 in sample agent 10-7 retrieving 5-10 Content type (X400) 6-22 Correspondents defined 3-2 designing 8-2 naming 4-3 privileges 8-2 registering 9-2 statistics, retrieving 5-11 UOWs, X400 6-10 Courier application, interfacing with A-1 Cross-referenci
Index Disk usage, retrieving statistics 5-11 Distribution lists defined 3-6 expansion 4-10 names 4-8 UOWs 5-11 Domains (X400) 6-8 E Errors handling 9-11 reporting 8-14 Event packages 6-16 Expiry date indication 6-25 External objects and Tandem clients A-6 defined 3-8 primary and alternate 3-8 UOWs used for 5-9 Extobjs file 3-9 F Files, TRANSFER 3-9 Folders defined 3-7 INBOX defined 3-7 item retention time 5-5 MEMOS 3-9 naming 4-6 OUTLOG A-6 item retention time 5-5 REPLIES 3-9 statistics,retrieving 5-11 sto
Index G Gateway See X400 Grade of delivery selection 6-26 Groups See Interest groups I Importance 6-27 INBOX folder defined 3-7 item retention time 5-5 INSPECT, using with sample agent tester 11-5 Interactive server See TISERV process Interest groups statistics, retrieving 5-11 Inverted Attachment file 3-9 Inverted Folder file 3-9 Item Data file 3-9 Item Descriptor file 3-9 Items and mail client A-9 as components, UOWs used for 5-3 creating, example 9-23 data records, UOWs used for 5-3 defined 3-3 descript
Index L Languages national 7-1/3 programming 2-4, 10-2 M Mail clients, interfacing with A-9 Mail messages (X400) See Messages Management domains (X400) 6-6 MEMOS folder 3-9 Messages displaying, example 9-25 mail (X400) 6-2 retrieving, example 9-24 Multidestination delivery 6-28 Multipart body 6-28 N Name server (NAMESRV) 2-13 Names character set 7-4, D-1 directory 4-11 for objects 4-1/13 length restrictions 4-10 nodes 4-10 O/R (X400) 6-6, 6-9 reading, UOWs used for 5-11 removing item names 5-3 resolution d
Index O O/R names (X400) 6-6, 6-9 Objects 3-1 external 3-8, 5-9, A-6 naming 4-1/13 Obsoleting indication 6-29 Originator and recipient (O/R) names (X400) 6-6, 6-9 Originator indication 6-29 OUTLOG folder and PS MAIL clients A-6 defined 3-8 item retention time 5-5 P P1 messages 6-4 P2 messages 6-2 Packages defined 3-4 defining a format 8-8 defining recipients 5-7 delivering 2-10, 9-24 errors 9-12 TAREQ process 2-11 delivery across a network 4-13 designing 8-4 example of A-7 header item records 8-10 identifi
Index Processes asynchronous 2-10 division of work 8-7 external to the PATHWAY environment B-1 Profile file contents 3-9 user-maintained records 5-12 Profiles 3-6, 3-9 PS MAIL, interfacing with A-1 R Receipt notification 6-31 Recipients adding 5-7, 9-23, 10-13 X400 6-10, 6-30 blind copy 6-20 designing actions for 8-4 disclosure of 6-25 mail client A-9 naming 4-4 Records handling, UOWs used for 5-3 mail client A-9 standard types A-4 storing 3-9 Related indication 6-32 REPLIES folder 3-9 Reply request indica
Index Sessions and character maps 7-5 and national languages 7-3 elements 9-3 initiating 9-2 for an agent 10-3 sample, for agent tester client 11-1 UOWs 5-2, 5-10 SMSERV system management server 2-13 Status packages TRANSFER 6-16, 10-5 X400 6-38 Storage statistics, depot, UOWs used for 5-11 STRING operations (COBOL) 9-15 Subject indication 6-34 System administrators 8-3 System Management Server (SMSERV) 2-13 T TAREQ event packages 10-5 TAREQ process 2-11, 10-3 Text server process (TEXTSRV) 2-14 TFRONT pseu
Index TRANSFER environment administration 5-10 advantages and limitations 1-5 agents 2-5 altering configuration parameters 5-12 application interface conventions A-1 applications overview 1-3 clients 2-3, 2-7 coding and testing software 8-14 communicating between TRANSFER versions 7-9 components 2-1 debugging techniques 9-18 domains (X400) 6-8 files 3-9 objects 3-1 overview 1-6 processes, asynchronous 2-10 processes, division of work 8-7 retrieving configuration parameters 5-10 servers 9-14 services 5-1 X4
Index UOWs controlling sessions 5-10 defining recipient lists 5-7 general information 9-8 grouping into IPC messages 9-10 handling data records 5-3 handling packages 5-6 inquiring about TRANSFER configuration 5-10 managing depots 5-10 managing distribution lists 5-11 managing names 5-11 manipulating attachments 5-3 manipulating folders 5-7 manipulating items 5-2/6 request and reply formats 9-5 session control 5-2 summarized 5-1/11 using 9-4 X400 6-1/40 V Validation, of names 4-11 W WASTEBASKET folder defin
Index messages customizing 6-12 format 6-36 P1 header contents 6-39 P2 contents 6-37 P2 status packages 6-38 receiving 6-7, 6-13 sending 6-7, 6-11 originator and recipient (O/R) names 6-6, 6-9 overview 6-1 service elements authorizing users 6-19 autoforwarded indication 6-19 blind copy (BCC) recipients 6-20 body part encryption indication 6-22 content type 6-22 deferred delivery 6-23 deferred delivery, cancelling 6-24 delivery notification 6-24 disclosure of other recipients 6-25 expiry date indication 6-2
Index status packages 6-16 UOWs, listed by function 6-15 XDIR server building E-1 CAPABILITIES UOW E-5 configuring E-2 CORR-TO-X400 UOW E-9 defined E-1 errors E-3 EXPORT-MSG UOW E-13 files E-1 IMPORT-MSG UOW E-11 managing E-15 NAME-CONTEXT UOW E-4 X400-TO-CORR UOW E-7 Special characters $T.