Вы находитесь на странице: 1из 58

____________________

Inter.Pel 6.6
____________________
COBOL Programming Manual
____________________
0102-660-02-CBPR6600
The information contained in this document is subject to revision without prior notice and shall
not be regarded as binding on SOPRA. The rights relative to the use of the software described
in this document are granted as part of the licensing contract and the software shall be used
only in accordance with the terms of that contract. Any reproduction or transmission in any
form or by any process whatever (electronic or mechanical, photocopy and recording included)
and for any purposes other than the personal use of the purchaser without the written
authorization of SOPRA is strictly prohibited.
Copyright 2003 SOPRA.
All rights reserved. All trademarks registered.
November 2003.
CONTENTS
1. ABOUT THIS MANUAL 1
1.1. Abstract 1
1.2. Content 1
1.3. Reading guidelines 1
2. DOCUMENTATION 2
3. INTERFACE PRESENTATION 3
4. COBOL- API PRIMITIVES 4
4.1. Presentation 4
4.2. List of API primitives 5
4.3. Data structures for primitives call 5
4.4. How to use API data structures 6
4.4.1. Input and output data structures 7
4.4.2. Protocol specific parameters 7
4.5. Primitive calls layout 9
4.6. Examples 10
4.6.1. Transfer request submission. 10
4.6.2. Sequential processing of a set of selected transfers 11
4.7. Description of API primitives 13
4.7.1. ITCLOGIN 13
4.7.2. ITCLOGOUT 14
4.7.3. ITCXREQ 15
4.7.4. ITCMXREQ 17
4.7.5. ITCXGET 19
4.7.6. ITCXUPD 20
4.7.7. ITCXDEL 22
4.7.8. ITCXUNL 23
4.7.9. ITCXSEL 24
4.7.10. ITCXGETN 25
4.7.11. ITCXCAN 26
4.7.12. ITCXSUSP 27
4.7.13. ITCXRESM 28
CONTENTS COBOL Programming Manual Page iii
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
5. API HEADERS 29
5.1. itcdefs.cpy 29
5.2. itcapi.cpy 33
5.3. itcerr.cpy 44
6. API SAMPLES 46
6.1. cobxreq.cbl 46
6.2. cobxsel.cbl 48
6.3. cobxctrl.cbl 50
6.4. cobxupd.cbl 52
1. ABOUT THIS MANUAL COBOL Programming Manual Page 1
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
1. ABOUT THIS MANUAL
1.1. Abstract
This manual is a programming-oriented manual describing the COBOL user
programming interface supplied by Inter.Pel. It includes the description of
application programming interface (A.P.I.) and of sample programs.
It does not explain every feature of COBOL language, run-time library and user
environment (compilation and system dependencies). To understand its
explanations, you must have some experience with COBOL programming
language. Refer to public reference manuals on COBOL language, and to your
platform documentation, for detailed information on this language and its
compilation tools.
1.2. Content
Section 1 Document abstract
Section 2 Presentation of Inter.Pel documentation
Section 3 Presentation of Inter.Pel programming interface
Section 4 Description of API programming interface
Section 5 API header files
Section 6 API sample programs
1.3. Reading guidelines
To gain basic understanding of Inter.Pel, read the Inter.Pel Overview manual.
User's Guide provides information on how to use the product for file transfer.
Protocols Guide explains how to use file transfer protocols with Inter.Pel.
Once your programs are written, you must refer to your platform Inter.Pel specific
documents for details on how to compile and link a program with the monitor's
libraries.
3. INTERFACE PRESENTATION COBOL Programming Manual Page 2
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
2. DOCUMENTATION
The Inter.Pel documentation contains two categories of technical publications:
- Generic manuals: they are designed for all platforms running Inter.Pel.
- Specific manuals containing platform dependent features. Each platform
is provided with its own set of specific manuals.
Title Type Function
Product Overview Overview Presentation
User's Guide Services How To Use
On-line commands Manual Utilities Operations & Mgmt
Protocols Guide How it works Understanding & Using transfer protocols
Messages & Codes Description Interpreting Information and errors messages
C programming Manual
COBOL programming Manual
Programming Integration of user applications
Installation & Configuration Guide(1) Install & Config Install & Config
Platform Specific Document (1) Specific supplement OS specific features
Getting Started (1) Running a transfer Quick User's Guide
PELISF Manual (2) Utilities Script mode operator's interface
I.H.M. Manual (2) Utilities Graphical operator's interface
PELOP Manual (2) Utilities Character mode operator's interface
(1): Specific manual: one document for each platform.
(2): Document provided when the related interface is supplied for the platform.
3. INTERFACE PRESENTATION COBOL Programming Manual Page 3
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
3. INTERFACE PRESENTATION
The COBOL A.P.I. routines (primitives) allow user programs to use Inter.Pel
services.
The user program containing A.P.I. calls must be compiled and linked with
Inter.Pel libraries. It must be used with an active Inter.Pel.
The API primitives use request/response mode to communicate with Inter.Pel. The
response is supplied on the return of primitive calls. On some platforms, a time-
out is fixed for API calls, in order to avoid the indefinite locking of a user program
on an API call. This parameter sets the maximum delay for a user program to wait
for the return of an API call. Above this delay, Inter.Pel forces the return from the
primitive call with an error.
A.P.I. primitives use and description are supplied in section "4. COBOL- API
PRIMITIVES".
All COBOL primitives are called according to the following generic syntax:
CALL "<verb>" USING ITC-DIAG ...<other parameters>.
ITC-DIAG is an item used by Inter.Pel to store diagnostic information on the
return of the primitive call. It is defined as follow:
01 ITC-DIAG
03 ERR-COD PIC 9(8) COMP VALUE 0
03 ERR-MSG PIC X(200)
ERR-COD is filled in by Inter.Pel with 0 in case of successful primitive call, and
with a non zero value otherwise.
ERR-MSG is filled with a text string that describes the error. It is relevant when
ERR-COD is not 0.
After the return of a primitive call, you must test the return value using the
following instruction pattern:
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO ERROR.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 4
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
4. COBOL- API PRIMITIVES
4.1. Presentation
COBOL API primitives are called from COBOL user programs.
They provide following Inter.Pel services:
- Opening and closing a session with Inter.Pel monitor
- Submitting a transfer request
- Displaying a transfer request parameters
- Deleting transfers from the mailbox
- Listing transfers using multi-criteria on transfer parameters
- Canceling a transfer
- Suspending a transfer
- Restarting a transfer previously suspended
- Updating a transfer request record
This API has the following characteristics:
- It shall be used when Inter.Pel is active
- Its primitives are called from programs written in COBOL
- Its primitives communicate with Inter.Pel in request-response mode
- Data structures are used to exchange transfer parameters between the
primitives and Inter.Pel
- The parameter structures used as arguments for the primitives calls are
allocated in the user program space
- The primitives use Inter.Pel internal objects (sites, applications). These
objects must have been created previously to the primitive call, using
Inter.Pel on-line commands or graphical user interfaces. No primitive is
supplied for site or application management
- They are available for all protocols currently supported (PEL, PeSIT Hors
SIT D and E, ETEBAC3, ETEBAC5 client, ODETTE and FTP)
This guide describes the primitives, their parameters and how they operate.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 5
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
4.2. List of API primitives
Primitive name Function supplied
ITCLOGIN Open a session (communication path) with Inter.Pel
ITCLOGOUT Close the session previously opened with Inter.Pel
ITCXREQ Submits a transfer request
ITCXMREQ Submits a message transfer request
ITCXGET Reads a transfer request from the mailbox
This reading can lock or not the corresponding mailbox record
ITCXUNL Unlocks the current mailbox record after a read with lock
ITCXUPD Updates a transfer request
ITCXDEL Deletes a transfer request from the mailbox
ITCXSEL Selects a set of transfer requests using multi-criteria on parameters
ITCXGETN Reads the next transfer requests from the current selected set
Returns F_EOF after all transfers requests have been read.
ITCXCAN Cancels a transfer request
ITCXSUSP Freezes a transfer processing
ITCXRESM Restarts a suspended transfer
4.3. Data structures for primitives call
All COBOL primitives use data structures defined in three copy sections supplied
by Inter.Pel delivery:
itcdefs.cpy contains general COBOL API constants' definitions
itcapi.cpy contains COBOL API parameter definitions
itcerr.cpy contains error codes definitions
Note: Depending on your platform file system rules, these header files may be
named without ".cpy" suffix.
To use the primitives, you must include in your program the header files using
COPY compiler directives:
DATA DIVISION
WORKING-STORAGE SECTION
COPY "itcdefs.cpy"
COPY "itcapi.cpy"
COPY "itcerr.cpy"
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 6
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
COBOL primitives generally use parameters named with a mnemonic prefix
according to the type of operation involved:
- XR- For requesting a transfer
- XG- To retrieve (get) transfer parameters from the mailbox
- XS- To select file transfers using multi-criteria on transfer attributes
- XI- For transfer local identifier
- LOGIN- For parameters used to connect to Inter.pel
- ERR- For parameters of error structure
The corresponding data structures are named with the prefix ITC-:
items
xfer request
parameters
01 ITC-XREQ.
03 XR-APPLI PIC X(76).
...
mailbox record (get) 01 ITC-XREC.
03 XG-LOCAL-IDENT PIC 9(8) COMP.
...
xfer selection 01 ITC-XSEL.
03 XS-COUNT-MAX PIC 9(8) COMP VALUE 0.
...
xfer local identifier 01 ITC-XID.
03 XI-LOCAL-IDENT PIC 9(8) COMP VALUE 0.
login input
parameters
01 ITC-LOGIN.
03 LOGIN-USERNAME PIC X(32).
...
diagnostic parameters 01 ITC-DIAG.
03 ERR-COD PIC 9(8) COMP VALUE 0.
03 ERR-MSG PIC X(200).
Note that the parameters' structures are the same for all protocols. However,
depending on the F.T. protocol used, some of the parameters may be meaningless.
4.4. How to use API data structures
Before calling a primitive, you must fill up the parameters of its input data
structures using MOVE instructions.
The output data structures are automatically filled up by the monitor upon
primitive execution.
Note that one must check the return code (ERR-COD parameter) to know if the
primitive call is successful. The A.P.I. sets ERR-COD to zero when the call is
successful. Any non-zero value of ERR-COD indicates an error condition.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 7
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
4.4.1. Input and output data structures
The following table presents the input an output items to use for each primitive.
Primitive name Input items Output items
ITCLOGIN ITC-LOGIN ITC-DIAG
ITCLOGOUT
ITCXREQ ITC-XREQ ITC-DIAG
ITC-XID
ITCMXREQ ITC-XREQ
ITC-MSG-BUF
ITC-MSG-SIZ
ITC-DIAG
ITC-XID
ITCXGET ITC-XID
XO-LOCK
ITC-DIAG
ITC-XREC
ITCXUNL ITC-DIAG
ITCXUPD ITC-XREC ITC-DIAG
ITCXDEL ITC-DIAG
ITCXSEL ITC-XSEL ITC-DIAG
ITCXGETN XO-LOCK ITC-DIAG
ITC-XREC
ITCXCAN ITC-XID ITC-DIAG
ITCXSUSP ITC-XID ITC-DIAG
ITCXRES ITC-XID ITC-DIAG
XO-LOCK defines a flag that may be used to indicate that the record is requested
to be locked for further update or deletion.
4.4.2. Protocol specific parameters
This subsection briefly describes the transfer request parameters that are to be
used and understood according to the underlined F.T. protocol. Additionally,
meaningless parameters are also listed.
All other transfer request parameters are common to all protocols. They are not
mentioned.
The following layout lists transfer request parameters that are either specific to an
F.T. protocol, meaningless (i.e. not used) or for which possible values are
restricted to a subset of available values. In case of values restrictions, the subset
of authorized values is indicated.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 8
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
F.T. protocol Specific
PARTICULAR
meaningless
PARAMETERS
parameters with dedicated values
PEL FILE-NAME
FILE-TYPE
TYPE = REQ-LOTS | REQ-POLL
PESIT Hors SIT FILE-NAME
FILE-TYPE
TYPE = REQ-MSG
ODETTE FILE-NAME FILE-TYPE TYPE = REQ-EERP
XFER-REQ-FMT = REC-TEXT
ETEBAC3 FILE-NAME
FILE-TYPE
REC-FMT = XFER-REC-FMT = REC-FIXED
ETEBAC5 FILE-NAME
FILE-TYPE
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 9
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
4.5. Primitive calls layout
Before using any primitive, a user program must open a session with the monitor
using the ITCLOGIN primitive call. Close the session at the end of the program
using ITCLOGOUT primitive.
Between two calls, the program can request Inter.Pel services listed in subsection
"4.1. Presentation". Prior to the call of each primitive, input items parameters
must be filled in.
The following layouts provide guidelines for the programming of these services.
Action COBOL routines
layout
comments
submitting a transfer
CALL ITCLOGIN
CALL ITCXREQ
CALL ITCLOGOUT
- Fill in ITC-XREQ item prior to calling
ITCXREQ
submitting a transfer of
a message
CALL ITCLOGIN
CALL ITCMXREQ
CALL ITCLOGOUT
- Fill in ITC-XREQ and prepare the
message content (ITC-MSG-BUF) prior
to calling ITCMXREQ
Displaying transfer
parameters
CALL ITCLOGIN
CALL ITCXGET
CALL ITCLOGOUT
- Fill in ITC-XID item prior to calling of
ITCXREC. A LOCK option is required
if the record is to be updated or deleted
Deleting and updating
transfers from mailbox
CALL ITCLOGIN
CALL ITCXSEL
CALL ITCXGETN
CALL ITCXDEL
CALL ITCXUPD
...
CALL ITCLOGOUT
- Fill in ITC-XSEL item with a selection
criteria, then call ITCXSEL primitive
- Read all the records that match the
criteria, one at a time using
ITCXGETN. A LOCK option must be
used to read a record for updating or
deleting
- ERR-COD = E_EOF after all records
have been read
Suspending a transfer
CALL ITCLOGIN
CALL ITCXSUS
CALL ITCLOGOUT
- The transfer request must be in one of
the following states:
XFER-TO-BEGIN
XFER-PROGRESSING
XFER-SERVICING
XFER-DELAYED
Restarting a suspended
or frozen transfer
CALL ITCLOGIN
CALL ITCXSUSP
CALL ITCLOGOUT
- The transfer request must be in one of
the following states:
XFER-SUSPENDED
XFER-FROZEN
Canceling a transfer
CALL ITCLOGIN
CALL ITCXRESM
CALL ITCLOGOUT
- The transfer request must be in one of
the following states:
XFER-TO-BEGIN
XFER-FROZEN
XFER-SUSPENDED
XFER-DELAYED
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 10
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
4.6. Examples
4.6.1. Transfer request submission.
************************************************************
* INTERPEL COBOL API. SAMPLE PROGRAM. *
************************************************************
*
IDENTIFICATION DIVISION.
PROGRAM-ID. COBXREQ.
AUTHOR. SOPRA/DT2I.
*
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
OBJECT-COMPUTER. MY-MACHINE.
SPECIAL-NAMES. CONSOLE IS MY-CONSOLE.
*
DATA DIVISION.
WORKING-STORAGE SECTION.
COPY "itcdefs.cpy".
COPY "itcapi.cpy".
COPY "itcerr.cpy.
*
PROCEDURE DIVISION.
*
XREQ-START.
MOVE SPACES TO LOGIN-USERNAME.
MOVE SPACES TO LOGIN-PASSWORD.
DISPLAY "CALLING ITCLOGIN ...".
CALL "ITCLOGIN" USING ITC-DIAG ITC-LOGIN.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG STOP RUN
ELSE DISPLAY "OK.".
*
MOVE "F3NR" TO XR-APPLI.
MOVE "LOOPPEL" TO XR-RECEIVER-ALIAS.
MOVE "testfile.f9r" TO XR-PATHNAME.
MOVE REQ-TRANS TO XR-TYPE.
MOVE MODE-INITIATOR TO XR-MODE.
MOVE DIRECTION-OUT TO XR-DIRECTION.
*
DISPLAY "CALLING ITCXREQ ...".
CALL "ITCXREQ" USING ITC-DIAG ITC-XID ITC-XREQ.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG
ELSE DISPLAY "OK, IDENT=" XI-LOCAL-IDENT.
*
DISPLAY "CALLING ITCLOGOUT ...".
CALL "ITCLOGOUT"
*
DISPLAY "EXITING ..."
STOP RUN.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 11
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
4.6.2. Sequential processing of a set of selected transfers
You can select a set of transfer requests, then read sequentially one a time, and
update or delete records providing that the lock option has been set during the read
operation.
This requires the following steps:
1 - Provide a selection criteria. If a blank criteria is supplied then all the
mailbox records will be selected. This example fills up a criterion that
will match all transfer requests in either ENDED or CANCELED state.
MOVE XFER-ENDED TO XS-STAT-LIST-VAL(1).
MOVE XFER-CANCELED TO XS-STAT-LIST-VAL(2).
MOVE 2 TO XS-STAT-LIST-LEN.
MOVE REQ-TRANS TO XS-TYPE.
2 - Selection of the set of transfer requests
CALL ITCXSEL USING ITC-DIAG ITC-XSEL.
IF ERR-COD NOT EQUAL ZERO THEN
DISPLAY ERR-MSG GOTO ERROR.
3 - Reading selected transfer requests
XO-LOCK PIC 9(8) VALUE 0.
CALL ITCXGETN USING ITC-DIAG XO-LOCK ITC-XREQ.
IF ERR-COD EQUAL E-EOF THEN
GOTO END-LOOP.
IF ERR-COD NOT EQUAL ZERO THEN
DISPLAY ERR-MSG GOTO ERROR.
You may use value 1 for parameter XO-LOCK to indicate that a lock is
required for either updating or deleting operation on the record.
ITCXGETN reads sequentially the selected transfer requests, and copies
their attributes in the structure ITC-XREQ.
Application must check ERR-COD against E-FEOF. This condition
indicates that the last record has been read upon the previous call to
ITCXGETN. Any other non zero value of ERR-COD is an error condition.
If the current record has been read with XO-LOCK option set to 1, it can be
either updated, deleted or unlocked. The following code examples perform
these tasks:
*
* Update the current transfer record.
*
CALL ITCXUPD USING ITC-DIAG.ITC-XREQ.
IF ERR-COD NOT EQUAL ZERO THEN
DISPLAY ERR-MSG GOTO ERROR.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 12
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
*
* Delete the current transfer record.
*
CALL ITCXDEL USING ITC-DIAG.
IF ERR-COD NOT EQUAL ZERO THEN
DISPLAY ERR-MSG GOTO ERROR.
*
* Unlock the current transfer record.
*
CALL ITCXUNL USING ITC-DIAG.
IF ERR-COD NOT EQUAL ZERO THEN
DISPLAY ERR-MSG GOTO ERROR.
4 - Closing the session with Inter.Pel.
CALL ITCLOGOUT.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 13
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
4.7. Description of API primitives
4.7.1. ITCLOGIN
Syntax
CALL ITCLOGIN USING ITC-DIAG ITC-LOGIN.
Return value
On success, a ZERO value is returned in ERR-COD variable.
Any non zero value indicates an error condition. The corresponding error
text is automatically filled in by the monitor in ERR-MSG field.
Description
ITCLOGIN function is used to open a session with the monitor before
calling any other API primitive.
Close the session at the end of the program using ITCLOGIN.
Note
When parameter LOGIN-NEWPASSWORD is supplied, the current
password of the user will be replaced.
Example
MOVE "ANY_NAME" TO LOGIN-USERNAME.
MOVE "HIS_PASSWORD" TO LOGIN-PASSWORD.
MOVE SPACES TO LOGIN-NEWPASSWORD.
CALL ITCLOGIN USING ITC-DIAG ITC-LOGIN.
IF ERRCOD NOT EQUAL ZERO THEN GOTO ERROR.
See program examples in section 6. API SAMPLES of this manual.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 14
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
4.7.2. ITCLOGOUT
Syntax
CALLITCLOGOUT.
Return value
None.
Description
These functions is used to close the session with the monitor.
Note
No API primitive will be available after this operation.
Example
See program examples in section 6. API SAMPLES of this manual.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 15
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
4.7.3. ITCXREQ
Syntax
CALL ITCXREQ.USING ITC-DIAG ITC-XID ITC-XREQ.
Return value
On success, a ZERO value is returned in ERR-COD variable.
Any non zero value indicates an error condition. The corresponding error
text is automatically filled in by the monitor in ERR-MSG field.
Description
This function is used to submit a transfer request.
The attributes describing the transfer request must be supplied as input
arguments. Among them are:
* File attributes (file structure, record description, ...)
* Transfer direction (sending or receiving)
* Origin and destination sites for the transfer
* Protocol parameters
* Transfer monitoring parameters (date to begin, retry count, ...)
On return, ITC-XID item is filled in with an integer value representing the
local identifier of the request. This identifier is to be used for subsequent
operations on the request.
The user program must declare and initialize ITC-XREQ structure with the
transfer request parameters before calling the function (see itcapi.cpy header
file).
Parameters not supplied must be initialized to ZERO for numeric areas, and
SPACE for string characters.
Before creating the transfer request, Inter.Pel completes the parameters
missing in the request. If an application name has been supplied in the
request, Inter.Pel sets the missing parameters with the value of
corresponding attributes contained in that application object. If some
parameters are still unresolved, default values supplied by the API or fixed
up internally in the monitor are used (see section 6. API SAMPLES ).
The API interface checks the consistency of the parameters before creating
the transfer request.
If an invalid parameter value is found, or a mandatory parameter is missing,
the operation is rejected, and an error condition is returned.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 16
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
Note
1. The parameters supplied for a transfer request depends on the protocol
and the type of request, for example:
The following parameters are specific to PeSIT protocol:
XR-KEY-LEN
XR-KEY-OFFSET
XR-HIST-CREATE-DATE
Parameter XR-INTERVAL is only meaningful for PEL LOTS transfer
requests.
2. Refer to the header files section 5. API HEADERS for comments on
API parameters.
Example
This sample program submits a file sending request. It does not supply the
mode and the direction of the transfer since the monitor will assign to these
attributes, the values stored in the application record.
MOVE "MY_FILE_NAME" TO XR-PATHNAME.
MOVE "MY_APPLI" TO XR-APPLI.
MOVE "REMOTE_SITE" TO XR-RECEIVER-ALIAS.
CALL ITCXREQ.USING ITC-DIAG ITC-XID ITC-XREQ.
IF ERRCOD NOT EQUAL ZERO THEN GOTO ERROR.
Subsection 6.1. cobxreq.cbl provides a complete example.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 17
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
4.7.4. ITCMXREQ
Syntax
CALL ITCXREQ.USING ITC-DIAG ITC-XID ITC-XREQ
ITC-MSG-BUF ITC-MSG-SIZ.
Return value
On success, a ZERO value is returned in ERR-COD variable.
Any non zero value indicates an error condition. The corresponding error
text is automatically filled in by the monitor in ERR-MSG field.
Description
This function is used to submit a message transfer request.
The attributes describing the transfer request must be supplied as input
arguments. Among them are:
* Origin and destination sites for the transfer
* Protocol parameters
* Transfer monitoring parameters (date to begin, retry count, ...)
* Message content
* Message size
On return, ITC-XID item is filled in with an integer value representing the
local identifier of the request. This identifier is to be used for subsequent
operations on the request.
The user program must declare and initialize ITC-XREQ structure with the
transfer request parameters before calling the function (see itcapi.cpy header
file).
Parameters not supplied must be initialized to ZERO for numeric areas, and
SPACE for string characters.
Before creating the transfer request, Inter.Pel completes the parameters
missing in the request. If an application name has been supplied in the
request, Inter.Pel sets the missing parameters with the value of
corresponding attributes contained in that application object. If some
parameters are still unresolved, default values supplied by the API or fixed
up internally in the monitor are used (see section 6. API SAMPLES ).
The API interface checks the consistency of the parameters before creating
the transfer request.
If an invalid parameter value is found, or a mandatory parameter is missing,
the operation is rejected, and an error condition is returned.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 18
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
Note
1. The protocol being used must support the message transfer facility.
Therefore, the request of a message transfer is only supported for the
following protocols:
PESIT HORS SIT version D and E
ODETTE
ETEBAC5 version 1 and version 2

2. Refer to the header files section 5. API HEADERS for comments on
API parameters.
Example
This sample program submits a message transfer request. The message that
is to be sent contains HELLO
01 MSG-BUF PIC X(5).
01 MSG-SIZ PIC 9(8) COMP.
...
MOVE "HELLO" TO MSG-BUF.
MOVE 5 TO MSG-SIZE.
MOVE "MY_APPLI" TO XR-APPLI.
MOVE "REMOTE-SITE" TO XR-RECEIVER-ALIAS.
CALL ITCMXREQ.USING ITC-DIAG ITC-XID ITC-XREQ
MSG-BUF MSG-SIZ.
IF ERRCOD NOT EQUAL ZERO THEN GOTO ERROR.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 19
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
4.7.5. ITCXGET
Syntax
CALL ITCXGET.USING ITC-DIAG XO-LOCK ITC-XID ITC-XREC.
Return value
On success, a ZERO value is returned in ERR-COD variable.
Any non zero value indicates an error condition. The corresponding error
text is automatically filled in by the monitor in ERR-MSG field.
Description
This function reads a transfer request record, and copies attributes in the
structure ITC-XREC. The local identifier is supplied in the structure ITC-
XID.
You must provide the local identifier of the record and the lock option as
input parameters.
Refer to section 5. API HEADERS for the description of ITC-XREC
and ITC-XID structures.
If the lock option parameter XO-LOCK is set to 1, the transfer request will
be locked for further update or delete operations of the corresponding
mailbox record.
The API keeps an unique LOCK that only applies to the latest record that
have been read (current record).
Any API call following a read with lock (including update or delete
operations) automatically cancels an existing lock.
Note
Some fields of ITC-XREQ structure are specific to the F.T. protocol
involved: see subsection 4.4.2. Protocol specific parameters .
Example
Read without lock transfer request number 12345.
MOVE 12345 TO XI-LOCAL-IDENT.
MOVE ZERO TO XO-LOCK
CALL ITCXGET.USING ITC-DIAG XO-LOCK ITC-XID ITC-XREC.
IF ERRCOD NOT EQUAL ZERO THEN GOTO ERROR.
See program examples in section 6. API SAMPLES of this manual.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 20
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
4.7.6. ITCXUPD
Syntax
CALL ITCXUPD.USING ITC-DIAG ITC-XREC.
Return value
On success, a ZERO value is returned in ERR-COD variable.
Any non zero value indicates an error condition. The corresponding error
text is automatically filled in by the monitor in ERR-MSG field.
Description
This function is used to modify transfer request attributes, depending on
the transfer request state (see note below).
The operation must be preceded by a successful call to a read function
(ITCXGET, ITCXGETN) with lock option parameter XO-LOCK set to 1.
When a record has been locked, any concurrent read with lock attempted by
an other process on the same record is rejected with E-FRLOCKED error
condition.
The transfer request can be modified according to the following rules:
Allowed transfer state to update
a request
New allowed parameters
XFER-ACKED
XFER-ENDED
option_file
user_state
XFER-CANCELED option_file
user_state
XFER-FROZEN
XFER-DELAYED
XFER-TO-BEGIN
All the parameters
XFER-TO-SIGN userarea
The lock on the transfer request record is automatically disabled after a
successful update.
Note
2. The syntax and semantics of each transfer parameter are explained in
API appendix section.
3. The record lock can also be disabled by calling ITC-XUNL primitive.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 21
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
Example
Read and lock transfer request number 12345 and update it.
MOVE 12345 TO XI-LOCAL-IDENT.
MOVE 1 TO XO-LOCK.
CALL ITCXGET.USING ITC-DIAG XO-LOCK ITC-XID ITC-
XREC.
IF ERRCOD NOT EQUAL ZERO THEN GOTO ERROR.
CALL ITCXUPD.USING ITC-DIAG ITC-XREC.
IF ERRCOD NOT EQUAL ZERO THEN GOTO ERROR.
See program examples in section 6. API SAMPLES of this manual.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 22
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
4.7.7. ITCXDEL
Syntax
CALL ITCXGET.USING ITC-DIAG XO-LOCK ITC-XID ITC-XREC.
Return value
On success, a ZERO value is returned in ERR-COD variable.
Any non zero value indicates an error condition. The corresponding error
text is automatically filled in by the monitor in ERR-MSG field.
Description
This function deletes a transfer request.
The operation must be preceded by a successful call to a read function
(ITC-XGET, ITC-XGETN) with lock option ( X0-LOCK parameter set to 1).
When a record has been locked, any concurrent read with lock attempted by
an other process on the same record is rejected with E-FRLOCKED error
condition.
The transfer request can be deleted only when it is in one of the following
states:
- XFER-DELAYED
- XFER-FROZEN
- XFER-ENDED
- XFER-CANCELED
- XFER-ACKNOWLEDGED
Example
Read with lock transfer request number 12345 and delete the corresponding
record from the mailbox:
MOVE 12345 TO XI-LOCAL-IDENT
MOVE 1 TO XO-LOCK
CALL ITCXGET.USING ITC-DIAG XO-LOCK ITC-XID ITC-XREC
IF ERRCOD NOT EQUAL ZERO THEN GOTO ERROR
CALL ITCXDEL.USING ITC-DIAG
IF ERRCOD NOT EQUAL ZERO THEN GOTO ERROR
See program examples in section 6. API SAMPLES of this manual.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 23
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
4.7.8. ITCXUNL
Syntax
CALL ITCXUNL.USING ITC-DIAG.
Return value
On success, a ZERO value is returned in ERR-COD variable.
Any non zero value indicates an error condition. The corresponding error
text is automatically filled in by the monitor in ERR-MSG field.
Description
This function unlocks a transfer request that has been previously locked
using a read with the lock option (XO-LOCK option set to 1).
Note
None.
Example
Reads with lock transfer request number 12345 and unlocks it.
MOVE 12345 TO XI-LOCAL-IDENT.
MOVE 1 TO XO-LOCK.
CALL ITCXGET.USING ITC-DIAG XO-LOCK ITC-XID ITC-XREC.
IF ERRCOD NOT EQUAL ZERO THEN GOTO ERROR.
CALL ITCXUNL.USING ITC-DIAG.
IF ERRCOD NOT EQUAL ZERO THEN GOTO ERROR.
See program examples in section 6. API SAMPLES of this manual.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 24
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
4.7.9. ITCXSEL
Syntax
CALL ITCXSEL.USING ITC-DIAG ITC-XSEL.
Return value
On success, a ZERO value is returned in ERR-COD variable.
Any non zero value indicates an error condition. The corresponding error
text is automatically filled in by the monitor in ERR-MSG field.
Description
This function is used to select the set of transfer requests that matches the
criteria specified in the ITC-XSEL structure.
When the ITC-SEL structure is left blank, all the mailbox records are
selected.
Note
Selected transfer requests can be read sequentially by repetitive calls to
ITCXGETN primitive.
After a successful ITCXGETN call, the following operations are allowed:
- Calling ITCXGETN to obtain the next record of the selection
- Delete the read transfer request using ITCXDEL
- Update the read transfer request using ITCXUPD
Example
Select all transfer requests where the filename attribute is FB80.
MOVE FB80 TO XS-FILE-NAME.
CALL ITCXSEL.USING ITC-DIAG ITC-XSEL.
IF ERRCOD NOT EQUAL ZERO THEN GOTO ERROR.
See program examples in section 6. API SAMPLES of this manual.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 25
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
4.7.10. ITCXGETN
Syntax
CALL ITCXGETN.USING ITC-DIAG XO-LOCK ITC-XREC.
See API appendix section for the full description of the structure used.
Return value
On success, a ZERO value is returned in ERR-COD variable.
Any non zero value indicates an error condition. The corresponding error
text is automatically filled in by the monitor in ERR-MSG field.
Description
This function is used to read the next transfer request from the set
previously selected by the ITC-XSEL function.
For a read with lock, set the XO-LOCK parameter to 1.
When a record has been locked, any concurrent read with lock attempted by
an other process on the same record is rejected with E-FRLOCKED error
condition.
The lock is automatically disabled on the subsequent access to the mailbox
by the same process that sets up the lock.
After reading the last record of the set, the next call to ITCXGETN primitive
returns the error code E-FEOF (end of file).
Example
See program examples in section 6. API SAMPLES of this manual.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 26
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
4.7.11. ITCXCAN
Syntax
CALL ITCXCAN.USING ITC-DIAG ITC-XID.
See API appendix section for the full description of the structure used.
Return value
On success, a ZERO value is returned in ERR-COD variable.
Any non zero value indicates an error condition. The corresponding error
text is automatically filled in by the monitor in ERR-MSG field.
Description
This function cancels a transfer request identified by its local identifier.
The corresponding transfer record is not deleted from the mailbox.
The transfer request will be canceled if it is in one of the following states:
- XFER-FROZEN
- XFER-DELAYED
- XFER-SUSPENDED
- XFER-TO-BEGIN
- XFER-TO-RESTART
- XFER-CREATED
- XFER-INTERRUPTED
- XFER-PROGRESSING
- XFER-SERVICING
- XFER-TO-SIGN
When the call is successful, the transfer state attribute is set to XFER-
CANCELED
After a successful call, the corresponding transfer is switched into the state
XFER-CANCELED.
The transfer request does not need to be locked to perform this operation.
Note
A call to ITCXCAN with a transfer in any other state returns the error
condition:E-XWRONGSTATE (Invalid transfer state).
Example
See program examples in section 6. API SAMPLES of this manual.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 27
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
4.7.12. ITCXSUSP
Syntax
CALL ITCXSUSP.USING ITC-DIAG ITC-XID.
See section "4.3. Data structures for primitives call" for the full description
of the structure used.
Return value
On success, a ZERO value is returned in ERR-COD variable.
Any non zero value indicates an error condition. The corresponding error
text is automatically filled in by the monitor in ERR-MSG field.
Description
This function stops the processing of the transfer identified by its local
identifier.
The resulting transfer request states are listed below:
Initial state Final state
XFER-TO-BEGIN XFER-FROZEN
XFER-DELAYED XFER-FROZEN
XFER-PROGRESSING XFER-SUSPENDED
XFER-SERVICING XFER-INTERRUPTED
The transfer request is not required to be locked to perform this operation.
Example
See program examples in section 6. API SAMPLES of this manual.
4. COBOL- API PRIMITIVES COBOL Programming Manual Page 28
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
4.7.13. ITCXRESM
Syntax
CALL ITCXRESM.USING ITC-DIAG ITC-XID.
See API appendix section for the full description of the structure used.
Return value
On success, a ZERO value is returned in ERR-COD variable.
Any non zero value indicates an error condition. The corresponding error
text is automatically filled in by the monitor in ERR-MSG field.
Description
This function is used to reactivate a suspended transfer or to do again
the same transfer. The transfer is identified by its local identifier.
The transfer request must be in one of the following states:
- Reactivate a suspended transfer:
XFER-SUSPENDED
XFER-FROZEN
- Do again the same transfer:
XFER-CANCELED
XFER-ENDED
XFER-ACKED
This request does not require to be locked to perform this operation.
Example
See program examples in section 6. API SAMPLES of this manual.
5. API HEADERS COBOL Programming Manual Page 29
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
5. API HEADERS
5.1. itcdefs.cpy
************************************************************
* INTERPEL COBOL API CONSTANTS DEFINITIONS. *
* COPYRIGHT SOPRA S.A. 1997. *
************************************************************
01 ITC-DEFS.
*
* FILE DATA TRANSFER DIRECTION.
* DIRECTION-BOTH IS NOT CURRENTLY SUPPORTED.
*
03 DIRECTION-IN PIC 9(8) COMP VALUE 1.
03 DIRECTION-OUT PIC 9(8) COMP VALUE 2.
03 DIRECTION-BOTH PIC 9(8) COMP VALUE 3.
*
* USER AVAILABLE OPTION FLAG VALUE.
*
03 OPT-SCRATCH-FILE PIC 9(8) COMP VALUE 1.
03 OPT-USER-PROCESSED PIC 9(8) COMP VALUE 2.
*
* TRANSFER MODE.
* MODE-BOTH IS NOT CURRENTLY SUPPORTED.
*
03 MODE-INITIATOR PIC 9(8) COMP VALUE 1.
03 MODE-RESPONDER PIC 9(8) COMP VALUE 2.
03 MODE-BOTH PIC 9(8) COMP VALUE 3.
*
* PROTOCOL IDENTIFIERS.
*
03 PROTO-PSIT-HS-E PIC 9(8) COMP VALUE 1.
03 PROTO-PSIT-HS PIC 9(8) COMP VALUE 1.
03 PROTO-PSIT-HS-D PIC 9(8) COMP VALUE 2.
03 PROTO-PEL PIC 9(8) COMP VALUE 4.
03 PROTO-ETB3 PIC 9(8) COMP VALUE 8.
03 PROTO-ODT PIC 9(8) COMP VALUE 16.
03 PROTO-ETB5 PIC 9(8) COMP VALUE 64.
03 PROTO-GEN PIC 9(8) COMP VALUE 256.
*
* DATA CODE IDENTIFIERS.
*
03 CODE-UNDEFINED PIC 9(8) COMP VALUE 0.
03 CODE-ASCII PIC 9(8) COMP VALUE 1.
03 CODE-EBCDIC PIC 9(8) COMP VALUE 2.
03 CODE-BINARY PIC 9(8) COMP VALUE 3.
03 CODE-ISO PIC 9(8) COMP VALUE 4.
03 CODE-OEMPC PIC 9(8) COMP VALUE 5.
03 CODE-USER1 PIC 9(8) COMP VALUE 11.
03 CODE-USER2 PIC 9(8) COMP VALUE 12.
03 CODE-USER3 PIC 9(8) COMP VALUE 13.
03 CODE-USER4 PIC 9(8) COMP VALUE 14.
03 CODE-USER5 PIC 9(8) COMP VALUE 15.
03 CODE-USER6 PIC 9(8) COMP VALUE 16.
03 CODE-USER7 PIC 9(8) COMP VALUE 17.
03 CODE-USER8 PIC 9(8) COMP VALUE 18.
03 CODE-USER9 PIC 9(8) COMP VALUE 19.
03 CODE-USER10 PIC 9(8) COMP VALUE 20.
03 CODE-ASCII1 PIC 9(8) COMP VALUE 11.
03 CODE-ASCII2 PIC 9(8) COMP VALUE 12.
03 CODE-ASCII3 PIC 9(8) COMP VALUE 13.
03 CODE-ASCII4 PIC 9(8) COMP VALUE 14.
03 CODE-ASCII5 PIC 9(8) COMP VALUE 15.
03 CODE-EBCDIC1 PIC 9(8) COMP VALUE 16.
03 CODE-EBCDIC2 PIC 9(8) COMP VALUE 17.
03 CODE-EBCDIC3 PIC 9(8) COMP VALUE 18.
5. API HEADERS COBOL Programming Manual Page 30
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
03 CODE-EBCDIC4 PIC 9(8) COMP VALUE 19.
03 CODE-EBCDIC5 PIC 9(8) COMP VALUE 20.
*
* FILE ORGANISATION.
*
03 ORG-UNDEFINED PIC 9(8) COMP VALUE 0.
03 ORG-SEQUENTIAL PIC 9(8) COMP VALUE 1.
*
* RECORD FORMAT.
*
03 REC-UNDEFINED PIC 9(8) COMP VALUE 0.
03 REC-FIXED PIC 9(8) COMP VALUE 1.
03 REC-VARIABLE PIC 9(8) COMP VALUE 2.
03 REC-TEXT PIC 9(8) COMP VALUE 4.
03 REC-FIX-TEXT PIC 9(8) COMP VALUE 5.
03 REC-VAR-TEXT PIC 9(8) COMP VALUE 6.
*
* ALLOCATION UNIT USED FOR FILE SIZE ESTIMATION.
*
03 ALLOC-UNIT-UNDEFINED PIC 9(8) COMP VALUE 0.
03 ALLOC-UNIT-RECORD PIC 9(8) COMP VALUE 1.
03 ALLOC-UNIT-KBYTES PIC 9(8) COMP VALUE 2.
*
* COMPRESSION ALGORITHM.
*
03 COMP-UNDEFINED PIC 9(8) COMP VALUE 0.
03 COMP-HORIZONTAL PIC 9(8) COMP VALUE 1.
03 COMP-VERTICAL PIC 9(8) COMP VALUE 2.
03 COMP-BOTH PIC 9(8) COMP VALUE 3.
03 COMP-FORCE-NO PIC 9(8) COMP VALUE 4.
*
* COMMUNICATION SERVICE.
* USED FOR SITE DEFINITION.
*
03 COMM-UNDEFINED PIC 9(8) COMP VALUE 0.
03 COMM-X25 PIC 9(8) COMP VALUE 1.
03 COMM-PAD PIC 9(8) COMP VALUE 2.
03 COMM-OSI-SESSION PIC 9(8) COMP VALUE 3.
03 COMM-TCPIP PIC 9(8) COMP VALUE 4.
03 COMM-SNA-LU6-2 PIC 9(8) COMP VALUE 5.
03 COMM-DSA PIC 9(8) COMP VALUE 6.
*
* COMMUNICATION PATH IN USE.
* USED FOR SITE DEFINITION.
*
03 COMMPATH-MAIN PIC 9(8) COMP VALUE 1.
03 COMMPATH-ALT1 PIC 9(8) COMP VALUE 2.
03 COMMPATH-ALT2 PIC 9(8) COMP VALUE 3.
03 COMMPATH-ALT3 PIC 9(8) COMP VALUE 4.
*
* TRANSFER STATE.
*
03 XFER-TO-BEGIN PIC 9(8) COMP VALUE 1.
03 XFER-TO-RESTART PIC 9(8) COMP VALUE 2.
03 XFER-TO-CANCEL PIC 9(8) COMP VALUE 3.
03 XFER-TO-SUSPEND PIC 9(8) COMP VALUE 4.
03 XFER-DELAYED PIC 9(8) COMP VALUE 5.
03 XFER-FROZEN PIC 9(8) COMP VALUE 6.
03 XFER-BEGINNING PIC 9(8) COMP VALUE 7.
03 XFER-PROGESSING PIC 9(8) COMP VALUE 8.
03 XFER-CANCELING PIC 9(8) COMP VALUE 9.
03 XFER-SUSPENDING PIC 9(8) COMP VALUE 10.
03 XFER-SUSPENDED PIC 9(8) COMP VALUE 11.
03 XFER-CANCELED PIC 9(8) COMP VALUE 13.
03 XFER-ENDED PIC 9(8) COMP VALUE 14.
03 XFER-ACKED PIC 9(8) COMP VALUE 15.
03 XFER-CREATED PIC 9(8) COMP VALUE 20.
03 XFER-SERVICING PIC 9(8) COMP VALUE 21.
03 XFER-INTERRUPTED PIC 9(8) COMP VALUE 22.
03 XFER-DELETED PIC 9(8) COMP VALUE 23.
03 XFER-ACTIVE PIC 9(8) COMP VALUE 99.
5. API HEADERS COBOL Programming Manual Page 31
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
03 XFER-INACTIVE PIC 9(8) COMP VALUE 98.
*
* TRANSFER REQUEST TYPE.
*
03 REQ-TRANS PIC 9(8) COMP VALUE 1.
03 REQ-LOTS PIC 9(8) COMP VALUE 2.
03 REQ-POLL PIC 9(8) COMP VALUE 3.
03 REQ-EERP PIC 9(8) COMP VALUE 4.
03 REQ-MSG PIC 9(8) COMP VALUE 5.
03 REQ-LIST PIC 9(8) COMP VALUE 6.
*
* EQUIVALENT NAMES FOR TRANSFER REQUEST TYPES.
*
03 TYPE-TRANS PIC 9(8) COMP VALUE 1.
03 TYPE-LOTS PIC 9(8) COMP VALUE 2.
03 TYPE-POLL PIC 9(8) COMP VALUE 3.
03 TYPE-EERP PIC 9(8) COMP VALUE 4.
03 TYPE-MESSAGE PIC 9(8) COMP VALUE 5.
03 TYPE-LIST PIC 9(8) COMP VALUE 6.
*
* FODT ERRP FORMAT.
*
03 ODT-EERP-FR PIC 9(8) COMP VALUE 1.
03 ODT-EERP-IN PIC 9(8) COMP VALUE 2.
*
* ETEBAC5 IDENT MAX LENGTH.
*
03 ETB5-IDENT-MAX PIC 9(8) COMP VALUE 24.
*
* MAX RECORD NUMBER AND LENGTH FOR ETEBAC5 MEMO FILES.
*
03 MEMO-NBREC-MAX PIC 9(8) COMP VALUE 1000.
03 MEMO-RECSZ-MAX PIC 9(8) COMP VALUE 256.
*
* ETEBAC5 AUTHORIZATION TYPE.
*
03 AUTH-TYPE-UNUSED PIC 9(8) COMP VALUE 0.
03 AUTH-TYPE-SIMPLE PIC 9(8) COMP VALUE 1.
03 AUTH-TYPE-RECIPR PIC 9(8) COMP VALUE 2.
*
* ETEBAC5 SEAL TYPE.
*
03 SEAL-TYPE-UNUSED PIC 9(8) COMP VALUE 0.
03 SEAL-TYPE-PAR-ART PIC 9(8) COMP VALUE 1.
03 SEAL-TYPE-FIN-ART PIC 9(8) COMP VALUE 2.
03 SEAL-TYPE-FIN-FIC PIC 9(8) COMP VALUE 4.
*
* ETEBAC5 CIPHER TYPE.
*
03 CIPH-TYPE-UNUSED PIC 9(8) COMP VALUE 0.
03 CIPH-TYPE-ARTICLE PIC 9(8) COMP VALUE 1.
03 CIPH-TYPE-FICHIER PIC 9(8) COMP VALUE 2.
*
* ETEBAC5 SIGNATURE TYPE.
*
03 SIGN-TYPE-UNUSED PIC 9(8) COMP VALUE 0.
03 SIGN-TYPE-SIMPLE PIC 9(8) COMP VALUE 1.
03 SIGN-TYPE-DOUBLE PIC 9(8) COMP VALUE 2.
*
* TYPE OF ETEBAC5 SIGNATURE.
*
03 SIGNATORY-LOCAL PIC 9(8) COMP VALUE 0.
03 SIGNATORY-REMOTE PIC 9(8) COMP VALUE 1.
03 SIGNATORY-CHECK-INTEGRITY PIC 9(8) COMP VALUE 1.
*
* YES/NO FOR PARAF FIELDS.
*
03 PARAF-NO PIC 9(8) COMP VALUE 0.
03 PARAF-YES PIC 9(8) COMP VALUE 1.
*
* YES/NO FOR REMOTE SIGNATURE FIELDS.
5. API HEADERS COBOL Programming Manual Page 32
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
*
03 RSIGN-NO PIC 9(8) COMP VALUE 0.
03 RSIGN-YES PIC 9(8) COMP VALUE 1.
*
* ETEBAC5 MEMO FILE TYPE VALUES.
*
03 MEMO-UNUSED PIC 9(8) COMP VALUE 0.
03 MEMO-STANDARD PIC 9(8) COMP VALUE 1.
03 MEMO-WHOLE PIC 9(8) COMP VALUE 2.
*
* MAX NUMBER OF STATES VALUES FOR TRANSFER SELECTION CRITERIA.
*
03 XFER-LST-LEN PIC 9(8) COMP VALUE 5.
*
* XNTF FILTER VALUES.
*
03 XNTF-FILTER-NA PIC 9(8) COMP VALUE 0.
03 XNTF-FILTER-ALL PIC 9(8) COMP VALUE 1.
03 XNTF-FILTER-SUMMARY PIC 9(8) COMP VALUE 2.
03 XNTF-FILTER-NO PIC 9(8) COMP VALUE 3.
5. API HEADERS COBOL Programming Manual Page 33
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
5.2. itcapi.cpy
*******************************************************
* INTERPEL COBOL API PARAMETERS DEFINITIONS. *
* COPYRIGHT SOPRA S.A. 1997. *
*******************************************************
*
*******************************************************
* ITC-XSEL : TRANSFER SELECTION CRITERIA. *
*******************************************************
* *
* MUST BE SUPPLIED TO THE API VERB: *
* ITCXSEL : TRANSFER REQUEST SELECTION. *
* *
*******************************************************
*
*
01 ITC-XSEL.
*
* MAXIMUM NUMBER OF RECORDS TO SELECT.
*
03 XS-COUNT-MAX PIC 9(8) COMP VALUE 0.
*
* LOCAL IDENT OF THE RECORD TO SELECT.
* WILL SELECT AT MOST 1 RECORD IF SUPPLIED.
*
03 XS-LOCAL-IDENT PIC 9(8) COMP VALUE 0.
*
* LOCAL-IDENT VALUE RANGE.
*
03 XS-LOCAL-IDENT-INF PIC 9(8) COMP VALUE 0.
03 XS-LOCAL-IDENT-SUP PIC 9(8) COMP VALUE 0.
*
* PROTOCOL, SENDER AND RECEIVER NAME.
*
03 XS-PROTOCOL PIC 9(8) COMP VALUE 0.
03 XS-SENDER-ALIAS PIC X(32).
03 XS-RECEIVER-ALIAS PIC X(32).
*
* DAY OF YEAR (1-365) VALUE RANGE.
*
03 XS-YDAY-INF PIC 9(8) COMP VALUE 0.
03 XS-YDAY-SUP PIC 9(8) COMP VALUE 0.
*
* SEQUENCE NUMBER (1-9999) VALUE RANGE.
*
03 XS-SEQUENCE-INF PIC 9(8) COMP VALUE 0.
03 XS-SEQUENCE-SUP PIC 9(8) COMP VALUE 0.
*
* SELECT REQUESTS CREATED BETWEEN THESE DATES.
*
03 XS-CREATED-AFTER.
05 XS-CREATED-AFTER-CENT PIC 9(2) VALUE 0.
05 XS-CREATED-AFTER-YEAR PIC 9(2) VALUE 0.
05 XS-CREATED-AFTER-MON PIC 9(2) VALUE 0.
05 XS-CREATED-AFTER-MDAY PIC 9(2) VALUE 0.
05 XS-CREATED-AFTER-HOUR PIC 9(2) VALUE 0.
05 XS-CREATED-AFTER-MIN PIC 9(2) VALUE 0.
05 XS-CREATED-AFTER-SEC PIC 9(2) VALUE 0.
05 XS-CREATED-AFTER-HSEC PIC 9(2) VALUE 0.
*
03 XS-CREATED-BEFORE.
05 XS-CREATED-BEFORE-CENT PIC 9(2) VALUE 0.
05 XS-CREATED-BEFORE-YEAR PIC 9(2) VALUE 0.
05 XS-CREATED-BEFORE-MON PIC 9(2) VALUE 0.
05 XS-CREATED-BEFORE-MDAY PIC 9(2) VALUE 0.
05 XS-CREATED-BEFORE-HOUR PIC 9(2) VALUE 0.
05 XS-CREATED-BEFORE-MIN PIC 9(2) VALUE 0.
5. API HEADERS COBOL Programming Manual Page 34
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
05 XS-CREATED-BEFORE-SEC PIC 9(2) VALUE 0.
05 XS-CREATED-BEFORE-HSEC PIC 9(2) VALUE 0.
*
* LIST OF STATE VALUES.
*
03 XS-STAT-LIST-LEN PIC 9(8) COMP VALUE 0.
03 XS-STAT-LIST-VAL PIC 9(8) COMP OCCURS 5 VALUE 0.
*
* FILE DATA TRANSFER DIRECTION.
*
03 XS-DIRECTION PIC 9(8) COMP VALUE 0.
*
* PESIT FILE-TYPE AND FILE-NAME PARAMETERS VALUE.
*
03 XS-FILE-TYPE PIC X(16).
03 XS-FILE-NAME PIC X(76).
*
* LOCAL AND REMOTE PHYSICAL SITE NAMES.
*
03 XS-LOCAL-AGENT PIC X(32).
03 XS-REMOTE-AGENT PIC X(32).
*
* TRANSFER REQUESTS OWNER NAME.
*
03 XS-USER-NAME PIC X(32).
*
* APPLICATION NAME.
*
03 XS-APPLICATION PIC X(8).
*
* USER STATE VALUE.
*
03 XS-USER-STATE PIC 9(8) COMP VALUE 0.
*
* TRANSFER REQUEST TYPE.
*
03 XS-TYPE PIC 9(8) COMP VALUE 0.
*
* LOCAL IDENT OF THE MASTER RECORD FOR LIST SELECTION.
*
03 XS-MASTER PIC 9(8) COMP VALUE 0.
*
* PROTOCOL IDENTIFIER OF THE TRANSFER (RANK).
*
03 XS-PROTO-ID PIC X(8).
*
* IF SET TO 1, SELECT EARLIEST TRANSFER REQUESTS
* THAT MATCH THE CRITERIA.
*
03 XS-FIRSTREC PIC 9(8) COMP VALUE 0.
*
* MODE (INITIATOR / RESPONDER).
*
03 XS-MODE PIC 9(8) COMP VALUE 0.
*
* TRANSFER PRIORITY RANGE.
*
03 XS-BEGIN-PRIORITY PIC 9(8) COMP VALUE 0.
03 XS-END-PRIORITY PIC 9(8) COMP VALUE 0.
*
* SELECT REQUESTS THAN BEGAN WITHIN THESE DATE.
*
03 XS-BEGIN-BEFORE.
05 XS-BEGIN-BEFORE-CENT PIC 9(2) VALUE 0.
05 XS-BEGIN-BEFORE-YEAR PIC 9(2) VALUE 0.
05 XS-BEGIN-BEFORE-MON PIC 9(2) VALUE 0.
05 XS-BEGIN-BEFORE-MDAY PIC 9(2) VALUE 0.
05 XS-BEGIN-BEFORE-HOUR PIC 9(2) VALUE 0.
05 XS-BEGIN-BEFORE-MIN PIC 9(2) VALUE 0.
05 XS-BEGIN-BEFORE-SEC PIC 9(2) VALUE 0.
05 XS-BEGIN-BEFORE-HSEC PIC 9(2) VALUE 0.
5. API HEADERS COBOL Programming Manual Page 35
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
03 XS-BEGIN-AFTER.
05 XS-BEGIN-AFTER-CENT PIC 9(2) VALUE 0.
05 XS-BEGIN-AFTER-YEAR PIC 9(2) VALUE 0.
05 XS-BEGIN-AFTER-MON PIC 9(2) VALUE 0.
05 XS-BEGIN-AFTER-MDAY PIC 9(2) VALUE 0.
05 XS-BEGIN-AFTER-HOUR PIC 9(2) VALUE 0.
05 XS-BEGIN-AFTER-MIN PIC 9(2) VALUE 0.
05 XS-BEGIN-AFTER-SEC PIC 9(2) VALUE 0.
05 XS-BEGIN-AFTER-HSEC PIC 9(2) VALUE 0.
*
* SELECT REQUESTS THAN ENDED WITHIN THESE DATE.
*
03 XS-END-BEFORE.
05 XS-END-BEFORE-CENT PIC 9(2) VALUE 0.
05 XS-END-BEFORE-YEAR PIC 9(2) VALUE 0.
05 XS-END-BEFORE-MON PIC 9(2) VALUE 0.
05 XS-END-BEFORE-MDAY PIC 9(2) VALUE 0.
05 XS-END-BEFORE-HOUR PIC 9(2) VALUE 0.
05 XS-END-BEFORE-MIN PIC 9(2) VALUE 0.
05 XS-END-BEFORE-SEC PIC 9(2) VALUE 0.
05 XS-END-BEFORE-HSEC PIC 9(2) VALUE 0.
03 XS-END-AFTER.
05 XS-END-AFTER-CENT PIC 9(2) VALUE 0.
05 XS-END-AFTER-YEAR PIC 9(2) VALUE 0.
05 XS-END-AFTER-MON PIC 9(2) VALUE 0.
05 XS-END-AFTER-MDAY PIC 9(2) VALUE 0.
05 XS-END-AFTER-HOUR PIC 9(2) VALUE 0.
05 XS-END-AFTER-MIN PIC 9(2) VALUE 0.
05 XS-END-AFTER-SEC PIC 9(2) VALUE 0.
05 XS-END-AFTER-HSEC PIC 9(2) VALUE 0.
*
* INTERNAL USED.
* DONNOT CHANGE THIS FIELD.
*
03 XS-MAGIC-END PIC X(4) VALUE "CB64".
*
*
*******************************************************
* ITC-XREQ : XFER REQUEST SUBMISSION PARAMETERS. *
*******************************************************
* *
* MUST BE SUPPLIED TO THE API VERB: *
* ITCXREQ : TRANSFER REQUEST SUBMISSION. *
* *
*******************************************************
*
*
01 ITC-XREQ.
*
* APPLICATION, SENDER (ORIGIN), RECEIVER (DESTINATION) AND
* FILE PATHNAME FOR THIS REQUEST.
* ONLY XR-APPLI, XR-RECEIVER AND XR-PATHNAME ARE REQUIRED FOR
* A FILE TRANSMISSION REQUEST SUBMISSION.
*
03 XR-SENDER-ALIAS PIC X(28).
03 XR-RECEIVER-ALIAS PIC X(28).
03 XR-APPLI PIC X(76).
03 XR-MODEL-NAME PIC X(28).
03 XR-PATHNAME PIC X(256).
*
* XFER IDENTIFIER TO REPLY TO.
*
03 XR-REPLY-TO-XFER PIC 9(8) COMP VALUE 0.
*
* XR-TYPE IS TO BE SUPPLIED FOR SPECIAL REQUESTS AS
* LOTS, POLL, EERP.
*
03 XR-TYPE PIC 9(8) COMP VALUE 0.
*
* SUPPLY THE MODE IF NOT MODE-INITIATOR.
5. API HEADERS COBOL Programming Manual Page 36
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
* SUPPLY THE DIRECTION IF NOT DIRECTION-OUT.
*
03 XR-MODE PIC 9(8) COMP VALUE 0.
03 XR-DIRECTION PIC 9(8) COMP VALUE 0.
03 XR-COMPRESSION PIC 9(8) COMP VALUE 0.
*
* MAY BE SUPPLIED FOR OVERRIDING INTERPEL DEFAULT VALUE
* USED FOR PESIT PROTOCOL.
*
03 XR-FILE-TYPE PIC X(16).
03 XR-FILE-NAME PIC X(76).
*
* USER AVAILABLE LOCAL PARAMETERS.
*
03 XR-PARAM1 PIC X(40).
03 XR-PARAM2 PIC X(40).
*
* DAY OF THE YEAR [1..366].
*
03 XR-YDAY PIC 9(8) COMP VALUE 0.
*
* INTERVAL WITHIN WHICH THE TRANSFER CAN BE STARTED.
*
03 XR-DATE-TO-BEGIN.
05 XR-DATE-TO-BEGIN-CENT PIC 9(2) VALUE 0.
05 XR-DATE-TO-BEGIN-YEAR PIC 9(2) VALUE 0.
05 XR-DATE-TO-BEGIN-MON PIC 9(2) VALUE 0.
05 XR-DATE-TO-BEGIN-MDAY PIC 9(2) VALUE 0.
05 XR-DATE-TO-BEGIN-HOUR PIC 9(2) VALUE 0.
05 XR-DATE-TO-BEGIN-MIN PIC 9(2) VALUE 0.
05 XR-DATE-TO-BEGIN-SEC PIC 9(2) VALUE 0.
05 XR-DATE-TO-BEGIN-HSEC PIC 9(2) VALUE 0.
*
03 XR-DATE-TO-END.
05 XR-DATE-TO-END-CENT PIC 9(2) VALUE 0.
05 XR-DATE-TO-END-YEAR PIC 9(2) VALUE 0.
05 XR-DATE-TO-END-MON PIC 9(2) VALUE 0.
05 XR-DATE-TO-END-MDAY PIC 9(2) VALUE 0.
05 XR-DATE-TO-END-HOUR PIC 9(2) VALUE 0.
05 XR-DATE-TO-END-MIN PIC 9(2) VALUE 0.
05 XR-DATE-TO-END-SEC PIC 9(2) VALUE 0.
05 XR-DATE-TO-END-HSEC PIC 9(2) VALUE 0.
*
* USER SUPPLIED CREATION DATE FOR PESIT HISTORY ATTRIBUTES.
*
03 XR-HIST-CREATE-DATE.
05 XR-HIST-CREATE-DATE-CENT PIC 9(2) VALUE 0.
05 XR-HIST-CREATE-DATE-YEAR PIC 9(2) VALUE 0.
05 XR-HIST-CREATE-DATE-MON PIC 9(2) VALUE 0.
05 XR-HIST-CREATE-DATE-MDAY PIC 9(2) VALUE 0.
05 XR-HIST-CREATE-DATE-HOUR PIC 9(2) VALUE 0.
05 XR-HIST-CREATE-DATE-MIN PIC 9(2) VALUE 0.
05 XR-HIST-CREATE-DATE-SEC PIC 9(2) VALUE 0.
05 XR-HIST-CREATE-DATE-HSEC PIC 9(2) VALUE 0.
*
* SCHEDULING PARAMETERS.
* XR-INTERVAL (SECONDS) IS FOR PEL LOTS COMMANDS ONLY.
*
03 XR-PRIORITY PIC 9(8) COMP VALUE 0.
03 XR-RETRY-COUNT-MAX PIC 9(8) COMP VALUE 0.
03 XR-INTERVAL PIC 9(8) COMP VALUE 0.
*
* IF SET, THE REQUEST WILL BE IN THE FROZEN STATE.
*
03 XR-FROZEN-STATE PIC 9(8) COMP VALUE 0.
*
* IF SET, THE REQUEST WILL BE A PERMANENT ONE.
*
03 XR-PERMANENT PIC 9(8) COMP VALUE 0.
*
* ATTRIBUTES OF THE LOCAL FILE.
5. API HEADERS COBOL Programming Manual Page 37
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
*
03 XR-FILE-ORG PIC 9(8) COMP VALUE 0.
03 XR-REC-FMT PIC 9(8) COMP VALUE 0.
03 XR-REC-LEN PIC 9(8) COMP VALUE 0.
03 XR-FILE-SYS-DEP-PARAM PIC X(24).
03 XR-BLOCK-SIZE PIC 9(8) COMP VALUE 0.
03 XR-DATA-CODE PIC 9(8) COMP VALUE 0.
03 XR-PADDING PIC 9(8) COMP VALUE 0.
*
* FILES ATTRIBUTES TO USE ON ACTUAL FILE DATA TRANSFER.
*
03 XR-XFER-REC-FMT PIC 9(8) COMP VALUE 0.
03 XR-XFER-REC-LEN PIC 9(8) COMP VALUE 0.
03 XR-XFER-DATA-CODE PIC 9(8) COMP VALUE 0.
03 XR-KEY-LEN PIC 9(8) COMP VALUE 0.
03 XR-KEY-OFFSET PIC 9(8) COMP VALUE 0.
03 XR-TEXT-FILE PIC 9(8) COMP VALUE 0.
*
* IF SET, RECORD TRUNCATION FROM VARIABLE TO FIX IS ALLOWED.
*
03 XR-TRUNCATING-ALLOWED PIC 9(8) COMP VALUE 0.
*
* IF SET, A END-TO-END AKNOWLEDGEMENT WILL BE SENT.
*
03 XR-ACK-OPTION PIC 9(8) COMP VALUE 0.
*
* IF SET, ALL FILES RELATED TO THE TRANSFER WILL BE REMOVED
* WHEN THE TRANSFER WILL BE PURGED.
*
03 XR-PURGE-OPTION PIC 9(8) COMP VALUE 0.
*
* AVOID OVERRIDE OF EXISTING FILE (FTP SEPCIFIC).
*
03 XR-UNIQ-FILENAME PIC 9(8) COMP VALUE 0.
*
* VARIOUS MESSAGES USED BY PESIT HORS SIT PROTOCOL.
*
03 XR-SND-MSG PIC X(256).
03 XR-SND-USER PIC X(8).
03 XR-SND-APPLI PIC X(8).
03 XR-SND-TEST PIC X(8).
03 XR-RCV-USER PIC X(8).
03 XR-RCV-APPLI PIC X(8).
03 XR-RCV-TEXT PIC X(8).
*
* LIMITS FOR PESIT HORS SITE GENERIC SELECTION.
*
03 XR-MAXI-REQUESTS PIC 9(8) COMP VALUE 0.
03 XR-MAXI-FILES PIC 9(8) COMP VALUE 0.
*
* ETEBAC5 PARAMETERS.
*
03 XR-ID-CLIENT PIC X(24).
03 XR-ID-BANQUE PIC X(24).
03 XR-ID-CLIENT-SEC PIC X(24).
03 XR-ID-BANQUE-SEC PIC X(24).
03 XR-AUTH-TYPE PIC 9(8) COMP VALUE 0.
03 XR-SEAL-TYPE PIC 9(8) COMP VALUE 0.
03 XR-CIPH-TYPE PIC 9(8) COMP VALUE 0.
03 XR-SIGN-TYPE PIC 9(8) COMP VALUE 0.
03 XR-PARAF-USED PIC 9(8) COMP VALUE 0.
03 XR-RSIGN1-USED PIC 9(8) COMP VALUE 0.
03 XR-RSIGN2-USED PIC 9(8) COMP VALUE 0.
03 XR-MEMO-TYPE PIC 9(8) COMP VALUE 0.
03 XR-USERAREA PIC X(100).
03 XR-USERCOMMAND PIC X(80).
03 XR-XNTF-FILTER PIC 9(8) COMP VALUE 0.
03 XR-XNTF-PROFILE PIC X(8).
*
5. API HEADERS COBOL Programming Manual Page 38
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
* COMPATABILITY FIELDS.
*
* AGENT NAMES MAY BE SUPPLIED TO OVERRIDE PHYSICAL
* SITES NAMES ASSOCIATED WITH ORIGIN AND/OR DESTINATION.
*
03 XR-LOCAL-AGENT PIC X(48).
03 XR-REMOTE-AGENT PIC X(48).
03 XR-MSG1 PIC X(40).
03 XR-MSG2 PIC X(40).
03 XR-ALLOC-UNIT PIC 9(8) COMP VALUE 0.
03 XR-ALLOC-SIZE PIC 9(8) COMP VALUE 0.
03 XR-OPTION-FILE PIC 9(8) COMP VALUE 0.
*
* INTERNAL USED.
* DONNOT CHANGE THIS FIELD.
*
03 XR-MAGIC-END PIC X(4) VALUE "CB64".
*
*
*******************************************************
* ITC-XID : XFER REQUEST LOCAL IDENTIFIER. *
*******************************************************
* *
* MUST BE SUPPLIED TO THE FOLLOWING API VERBS: *
* *
* ITCXGET : READ A TRANSFER REQUEST BY ITS *
* LOCAL IDENTIFIER. *
* ITCXGETN : READ THE NEXT TRANSFER REQUEST *
* FROM THE CURRENT SET. *
* ITCXSUSP : SUSPEND A TRANSFER REQUEST. *
* ITCXRESM : RESUME A TRANSFER REQUEST. *
* ITCXCAN : CANCEL A TRANSFER REQUEST. *
* *
*******************************************************
*
*
01 ITC-XID.
03 XI-LOCAL-IDENT PIC 9(8) COMP VALUE 0.
*
*
*******************************************************
* ITC-LOGIN : LOGIN INPUT PARAMETERS. *
*******************************************************
* *
* MUST BE SUPPLIED TO THE API VERB: *
* ITCLOGIN : REQUEST AN APPLICATION SESSION *
* WITH INTERPEL. *
* *
*******************************************************
*
*
01 ITC-LOGIN.
*
* USER IDENTIFICATION.
* LOGIN-NEW-PASSWORD MAY BE USED TO CHANGE THE USER PASSWORD
* ON THE FLY.
*
03 LOGIN-USERNAME PIC X(32).
03 LOGIN-PASSWORD PIC X(16).
03 LOGIN-NEW-PASSWORD PIC X(16).
*
* INTERNAL USED.
* DONNOT CHANGE THIS FIELD.
*
03 LOGIN-MAGIC-END PIC X(4) VALUE "CB64".
*
*******************************************************
* ITC-DIAG : DIAGNOSTIC PARAMETERS. *
*******************************************************
* *
* MUST BE SUPPLIED TO ANY API VERB EXCEPTED ITCLOGOUT.*
5. API HEADERS COBOL Programming Manual Page 39
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
* *
*******************************************************
*
*
01 ITC-DIAG.
*
* ERR-COD=ZERO MEANS SUCCESS.
*
03 ERR-COD PIC 9(8) COMP VALUE 0.
*
* IF ERR-COD IS NOT ZERO, THEN ERR-MSG CONTAINS THE
* CORRESPONDING INTERPEL ERROR MESSAGE.
*
03 ERR-MSG PIC X(200).
*
*
*******************************************************
* ITC-XREC : TRANSFER REQUEST RECORD. *
*******************************************************
* *
* MUST BE SUPPLIED TO THE FOLLOWING API VERBS: *
* *
* ITCXGET : READ A TRANSFER REQUEST BY ITS *
* LOCAL IDENTIFIER. *
* ITCXGETN : READ THE NEXT TRANSFER REQUEST *
* FROM THE CURRENT SET. *
* ITCXUPD : UPDATE THE CURRENT TRANSFER RECORD. *
* *
*******************************************************
*
*
01 ITC-XREC.
*
* RECORD LOCAL IDENTIFIER.
*
03 XG-LOCAL-IDENT PIC 9(8) COMP.
*
* USER PARAMETERS.
* SND-MSG/RCV-MSG ARE EXCHANGED WITH THE REMOTE SITE.
*
03 XG-PARAM1 PIC X(40).
03 XG-PARAM2 PIC X(40).
03 XG-SND-MSG PIC X(256).
03 XG-RCV-MSG PIC X(256).
03 XG-END-XFER-SCRIPT-PATH PIC X(128).
03 XG-USER-NAME PIC X(32).
*
* VARIOUS MESSAGES USED BY PESIT HORS SITE.
*
03 XG-SND-USER PIC X(8).
03 XG-SND-APPLI PIC X(8).
03 XG-SND-TEXT PIC X(8).
03 XG-RCV-USER PIC X(8).
03 XG-RCV-APPLI PIC X(8).
03 XG-RCV-TEXT PIC X(8).
*
* COUNTERS THAT REFECTS PEL LOTS COMMAND STATE.
*
03 XG-COUNTS PIC 9(8) COMP OCCURS 10.
03 XG-COMMAND PIC X(80).
*
* PARAMETERS FOR XNTF.
*
03 XG-XNTF-FILTER PIC 9(8) COMP.
03 XG-XNTF-PROFILE PIC X(8).
03 XG-MAGIC-USER PIC X(4) VALUE "CB64".
*
* SUPERVISION ATTRIBUTES.
* VALUES MAY HAVE BEEN SUPPLIED AT REQUEST SUBMISSION OR
* COPIED FROM APPLICATION AND/OR MODEL PROFILE.
5. API HEADERS COBOL Programming Manual Page 40
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
*
03 XG-DIRECTION PIC 9(8) COMP.
03 XG-MODE PIC 9(8) COMP.
03 XG-PRIORITY PIC 9(8) COMP.
03 XG-RETRY-COUNT-MAX PIC 9(8) COMP.
*
03 XG-DATE-TO-BEGIN.
05 XG-DATE-TO-BEGIN-CENT PIC 9(2).
05 XG-DATE-TO-BEGIN-YEAR PIC 9(2).
05 XG-DATE-TO-BEGIN-MON PIC 9(2).
05 XG-DATE-TO-BEGIN-MDAY PIC 9(2).
05 XG-DATE-TO-BEGIN-HOUR PIC 9(2).
05 XG-DATE-TO-BEGIN-MIN PIC 9(2).
05 XG-DATE-TO-BEGIN-SEC PIC 9(2).
05 XG-DATE-TO-BEGIN-HSEC PIC 9(2).
*
03 XG-DATE-TO-END.
05 XG-DATE-TO-END-CENT PIC 9(2).
05 XG-DATE-TO-END-YEAR PIC 9(2).
05 XG-DATE-TO-END-MON PIC 9(2).
05 XG-DATE-TO-END-MDAY PIC 9(2).
05 XG-DATE-TO-END-HOUR PIC 9(2).
05 XG-DATE-TO-END-MIN PIC 9(2).
05 XG-DATE-TO-END-SEC PIC 9(2).
05 XG-DATE-TO-END-HSEC PIC 9(2).
*
03 XG-DATE-CREATE.
05 XG-DATE-CREATE-CENT PIC 9(2).
05 XG-DATE-CREATE-YEAR PIC 9(2).
05 XG-DATE-CREATE-MON PIC 9(2).
05 XG-DATE-CREATE-MDAY PIC 9(2).
05 XG-DATE-CREATE-HOUR PIC 9(2).
05 XG-DATE-CREATE-MIN PIC 9(2).
05 XG-DATE-CREATE-SEC PIC 9(2).
05 XG-DATE-CREATE-HSEC PIC 9(2).
*
03 XG-YDAY PIC 9(8) COMP.
03 XG-SEQUENCE PIC 9(8) COMP.
*
03 XG-FILE-ATTR.
05 XG-FILE-ATTR-MAP PIC X OCCURS 32 VALUE "N".
*
05 XG-FILE-ATTR-FILE-ORG PIC 9(8) COMP.
05 XG-FILE-ATTR-REC-FMT PIC 9(8) COMP.
05 XG-FILE-ATTR-REC-LEN PIC 9(8) COMP.
05 XG-FILE-ATTR-KEY-LEN PIC 9(8) COMP.
05 XG-FILE-ATTR-KEY-OFFSET PIC 9(8) COMP.
05 XG-FILE-ATTR-DATA-CODE PIC 9(8) COMP.
05 XG-FILE-ATTR-ALLOC-UNIT PIC 9(8) COMP.
05 XG-FILE-ATTR-SEEK-OPT PIC 9(8) COMP.
05 XG-FILE-ATTR-TEXT-FILE PIC 9(8) COMP.
05 XG-FILE-ATTR-PADDING PIC 9(8) COMP.
05 XG-FILE-ATTR-BLOCK-SIZE PIC 9(8) COMP.
*
05 XG-FILE-ATTR-DIR-PATH PIC X(128).
05 XG-FILE-ATTR-FILE-NAME PIC X(128).
05 XG-FILE-ATTR-FILE-LABEL PIC X(80).
*
05 XG-FILE-ATTR-CREATE-DATE.
07 XG-FILE-ATTR-CREATE-DATE-CENT PIC 9(2).
07 XG-FILE-ATTR-CREATE-DATE-YEAR PIC 9(2).
07 XG-FILE-ATTR-CREATE-DATE-MON PIC 9(2).
07 XG-FILE-ATTR-CREATE-DATE-MDAY PIC 9(2).
07 XG-FILE-ATTR-CREATE-DATE-HOUR PIC 9(2).
07 XG-FILE-ATTR-CREATE-DATE-MIN PIC 9(2).
07 XG-FILE-ATTR-CREATE-DATE-SEC PIC 9(2).
07 XG-FILE-ATTR-CREATE-DATE-HSEC PIC 9(2).
*
05 XG-FILE-ATTR-EXTRACT-DATE.
07 XG-FILE-ATTR-EXTRACT-DATE-CENT PIC 9(2).
07 XG-FILE-ATTR-EXTRACT-DATE-YEAR PIC 9(2).
5. API HEADERS COBOL Programming Manual Page 41
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
07 XG-FILE-ATTR-EXTRACT-DATE-MON PIC 9(2).
07 XG-FILE-ATTR-EXTRACT-DATE-MDAY PIC 9(2).
07 XG-FILE-ATTR-EXTRACT-DATE-HOUR PIC 9(2).
07 XG-FILE-ATTR-EXTRACT-DATE-MIN PIC 9(2).
07 XG-FILE-ATTR-EXTRACT-DATE-SEC PIC 9(2).
07 XG-FILE-ATTR-EXTRACT-DATE-HSEC PIC 9(2).
*
05 XG-FILE-ATTR-MAX-ALLOC-SIZE PIC 9(8) COMP.
05 XG-FILE-ATTR-FILE-SIZE PIC 9(12).
05 XG-FILE-ATTR-REC-COUNT PIC 9(8) COMP.
05 XG-FILE-ATTR-ACCESS-RIGHT PIC 9(8) COMP.
*
03 XG-COMPRESSION PIC 9(8) COMP.
03 XG-REMOTE-AGENT PIC X(32).
03 XG-LOCAL-AGENT PIC X(32).
03 XG-SENDER-ALIAS PIC X(32).
03 XG-RECEIVER-ALIAS PIC X(32).
03 XG-APPLI PIC X(76).
*
03 XG-XFER-ATTR.
05 XG-XFER-ATTR-MAP PIC X OCCURS 32 VALUE "N".
*
05 XG-XFER-ATTR-FILE-ORG PIC 9(8) COMP.
05 XG-XFER-ATTR-REC-FMT PIC 9(8) COMP.
05 XG-XFER-ATTR-REC-LEN PIC 9(8) COMP.
05 XG-XFER-ATTR-KEY-LEN PIC 9(8) COMP.
05 XG-XFER-ATTR-KEY-OFFSET PIC 9(8) COMP.
05 XG-XFER-ATTR-DATA-CODE PIC 9(8) COMP.
05 XG-XFER-ATTR-ALLOC-UNIT PIC 9(8) COMP.
05 XG-XFER-ATTR-SEEK-OPT PIC 9(8) COMP.
05 XG-XFER-ATTR-TEXT-FILE PIC 9(8) COMP.
05 XG-XFER-ATTR-PADDING PIC 9(8) COMP.
05 XG-XFER-ATTR-BLOCK-SIZE PIC 9(8) COMP.
*
03 XG-TYPE PIC 9(8) COMP.
03 XG-GATEWAY-TYPE PIC 9(8) COMP.
03 XG-INTERVAL PIC 9(8) COMP.
*
03 XG-FILE-SYS-DEP-PARAM PIC X(24).
*
03 XG-PROCESSED PIC 9(8) COMP.
03 XG-PURGE-OPTION PIC 9(8) COMP.
03 XG-ACK-OPTION PIC 9(8) COMP.
03 XG-PERMANENT PIC 9(8) COMP.
03 XG-UNIQ-FILENAME PIC 9(8) COMP.
03 XG-DUPLICATE-FROM-XFER PIC 9(8) COMP.
03 XG-REPLY-TO-XFER PIC 9(8) COMP.
03 XG-REPLY-BY-XFER PIC 9(8) COMP.
03 XG-REPLY-FROM-XFER PIC 9(8) COMP.
03 XG-ROUTE-TO-XFER PIC 9(8) COMP.
03 XG-SELECT-REQ PIC 9(8) COMP.
03 XG-PREV-XFER PIC 9(8) COMP.
03 XG-NEXT-XFER PIC 9(8) COMP.
03 XG-MAXI-REQUESTS PIC 9(8) COMP.
03 XG-MAXI-FILES PIC 9(8) COMP.
*
* INTERNAL USED.
* DONNOT CHANGE THIS FIELD.
*
03 XG-MAGIC-SUP PIC X(4) VALUE "CB64".
*
* DYNAMIC ATTRIBUTES.
* EXCEPTED FOR THE USER-STATE, THESE ATTRIBUTES ARE MAINTAINED
* BY INTERPEL MONITOR.
*
03 XG-STATE PIC 9(8) COMP.
*
03 XG-LAST-ERR PIC 9(8) COMP.
03 XG-RETRY-COUNT PIC 9(8) COMP.
5. API HEADERS COBOL Programming Manual Page 42
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
03 XG-X-BYTES PIC 9(12) VALUE 0.
03 XG-F-BYTES PIC 9(12) VALUE 0.
*
03 XG-DATE-BEGIN.
05 XG-DATE-BEGIN-CENT PIC 9(2).
05 XG-DATE-BEGIN-YEAR PIC 9(2).
05 XG-DATE-BEGIN-MON PIC 9(2).
05 XG-DATE-BEGIN-MDAY PIC 9(2).
05 XG-DATE-BEGIN-HOUR PIC 9(2).
05 XG-DATE-BEGIN-MIN PIC 9(2).
05 XG-DATE-BEGIN-SEC PIC 9(2).
05 XG-DATE-BEGIN-HSEC PIC 9(2).
*
03 XG-DATE-END.
05 XG-DATE-END-CENT PIC 9(2).
05 XG-DATE-END-YEAR PIC 9(2).
05 XG-DATE-END-MON PIC 9(2).
05 XG-DATE-END-MDAY PIC 9(2).
05 XG-DATE-END-HOUR PIC 9(2).
05 XG-DATE-END-MIN PIC 9(2).
05 XG-DATE-END-SEC PIC 9(2).
05 XG-DATE-END-HSEC PIC 9(2).
*
03 XG-LAST-END-REASON PIC 9(8) COMP.
03 XG-LAST-END-DIAG PIC 9(8) COMP.
03 XG-LAST-END-ERR PIC 9(8) COMP.
*
03 XG-ROUTE-STATE PIC 9(8) COMP.
03 XG-USER-STATE PIC 9(8) COMP.
*
03 XG-TOTAL-REQUESTS PIC 9(8) COMP.
03 XG-TOTAL-FILES PIC 9(8) COMP.
*
* INTERNAL USED.
* DONNOT CHANGE THIS FIELD.
*
03 XG-MAGIC-DYN PIC X(4) VALUE "CB64".
*
* PROTOCOL RELATED INFORMATION.
* THE XFER-IDENT PARAMETER IS FILLED AT THE FIRST TIME THE
* TRANSFER IS ATTEMPTED. IT MAY BE USED BY THE MONITOR TO
* RETRIEVE THE RECORD WHEN THIS TRANSFER IS RESTARTED DUE TO
* A COMMUNCATION PROBLEM.
*
03 XG-PROTOCOL PIC 9(8) COMP.
03 XG-ORIGINATOR PIC X(32).
03 XG-DESTINATION PIC X(32).
03 XG-FILE-TYPE PIC X(16).
03 XG-FILE-NAME PIC X(76).
03 XG-XFER-IDENT PIC X(48).
*
* INTERNAL USED.
* DONNOT CHANGE THIS FIELD.
*
03 XG-MAGIC-PROTO PIC X(4) VALUE "CB64".
*
* DISFUSION LIST ATTRIBUTES.
* ALL THE REQUESTS THAT HAVE BEEN SUBMITTED AS THE RESULT OF
* A FILE DIFFUSION REQUEST ARE LINKED TOGETHER USING RECORD
* LOCAL IDENT VALUES AS RECORD POINTERS.
* XG-MASTER IS THE LOCAL IDENT OF THE REQUESTS SET MASTER RECORD.
* XG-LINK-XFER IS THE POINTER TO THE NEXT RECORD OF THE LIST.
* OTHER ATTRIBUTES (XG-NB PREFIXED) CONTAIN THE CURRENT NUMBER
* OF REQUEST FOR ALL POSSIBLE TRANSFER STATE VALUES.
*
03 XG-MASTER PIC 9(8) COMP.
03 XG-LINK-XFER PIC 9(8) COMP.
03 XG-NB-ENDED PIC 9(8) COMP.
03 XG-NB-TO-BEGIN PIC 9(8) COMP.
03 XG-NB-CANCELED PIC 9(8) COMP.
03 XG-NB-SUSPENDED PIC 9(8) COMP.
5. API HEADERS COBOL Programming Manual Page 43
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
03 XG-NB-FROZEN PIC 9(8) COMP.
03 XG-NB-PROGRESSING PIC 9(8) COMP.
03 XG-NB-OTHER PIC 9(8) COMP.
03 XG-NB-TOTAL PIC 9(8) COMP.
03 XG-NB-DELAYED PIC 9(8) COMP.
*
* INTERNAL USED.
* DONNOT CHANGE THIS FIELD.
*
03 XG-MAGIC-DLIST PIC X(4) VALUE "CB64".
*
03 XG-ROUTE-LOCAL-AGENT PIC X(32).
03 XG-ROUTE-REMOTE-AGENT PIC X(32).
03 XG-ROUTE-DESTINATION PIC X(32).
03 XG-ROUTE-ORIGINATOR PIC X(32).
03 XG-MAGIC-ROUTE PIC X(4) VALUE "CB64".
*
* USED FOR ALIGNMENT CHECKING BETWEEN COBOL AND C STRUCTURES.
* DONNOT CHANGE THIS FIELD.
*
03 XG-MAGIC-END PIC X(4) VALUE "CB64".
5. API HEADERS COBOL Programming Manual Page 44
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
5.3. itcerr.cpy
************************************************************
* INTERPEL COBOL API ERROR CONDITION CODES DEFINITION. *
* COPYRIGHT SOPRA S.A. 1997. *
************************************************************
01 ITC-ERR.
*
* GENERAL ERROR CODES.
*
03 E-KERN PIC 9(8) COMP VALUE 1.
03 E-CONFIG PIC 9(8) COMP VALUE 2.
03 E-TIMEOUT PIC 9(8) COMP VALUE 3.
03 E-QUEUEREAD PIC 9(8) COMP VALUE 4.
03 E-QUEUEWRITE PIC 9(8) COMP VALUE 6.
03 E-BADMSG PIC 9(8) COMP VALUE 6.
03 E-SHUTDOWN PIC 9(8) COMP VALUE 7.
03 E-NOROOM PIC 9(8) COMP VALUE 8.
03 E-EXITED PIC 9(8) COMP VALUE 9.
*
* SYNTAX ANALYSIS ERROR CODES.
*
03 E-PSYNTAX PIC 9(8) COMP VALUE 11.
03 E-PUNKNOWN PIC 9(8) COMP VALUE 12.
03 E-PAMBIGUOUS PIC 9(8) COMP VALUE 13.
03 E-PTRUNCATED PIC 9(8) COMP VALUE 14.
03 E-PREQUIRED PIC 9(8) COMP VALUE 15.
03 E-PTOOBIG PIC 9(8) COMP VALUE 16.
03 E-PTOOSMALL PIC 9(8) COMP VALUE 17.
*
* FILE ACCESS ERROR CODES.
*
03 E-FBADKEY PIC 9(8) COMP VALUE 19.
03 E-FRBADADDR PIC 9(8) COMP VALUE 20.
03 E-FINEX PIC 9(8) COMP VALUE 21.
03 E-FACCES PIC 9(8) COMP VALUE 22.
03 E-FBADSTR PIC 9(8) COMP VALUE 23.
03 E-FRTOOBIG PIC 9(8) COMP VALUE 24.
03 E-FBADRSIZ PIC 9(8) COMP VALUE 25.
03 E-FEOF PIC 9(8) COMP VALUE 26.
03 E-FRLOCKED PIC 9(8) COMP VALUE 27.
03 E-FRNOTLOCKED PIC 9(8) COMP VALUE 28.
03 E-FRNOTFOUND PIC 9(8) COMP VALUE 29.
03 E-FREXISTS PIC 9(8) COMP VALUE 30.
03 E-FBADDIRPATH PIC 9(8) COMP VALUE 31.
03 E-FBADFILENAME PIC 9(8) COMP VALUE 32.
03 E-FBADFILEID PIC 9(8) COMP VALUE 33.
03 E-FNOTOPEN PIC 9(8) COMP VALUE 34.
03 E-FBADMODE PIC 9(8) COMP VALUE 35.
03 E-FACCESS PIC 9(8) COMP VALUE 36.
03 E-FBADATTR PIC 9(8) COMP VALUE 37.
03 E-FBADACCUNIT PIC 9(8) COMP VALUE 38.
03 E-FBADSYSDEP PIC 9(8) COMP VALUE 39.
03 E-FNOUNREAD PIC 9(8) COMP VALUE 40.
03 E-FOPEN PIC 9(8) COMP VALUE 41.
03 E-FEXIST PIC 9(8) COMP VALUE 42.
03 E-FREADERR PIC 9(8) COMP VALUE 43.
03 E-FWRITERR PIC 9(8) COMP VALUE 44.
03 E-FRDUPKEY PIC 9(8) COMP VALUE 45.
03 E-FEMPTY PIC 9(8) COMP VALUE 46.
*
* APPLICATION ACCESS ERROR CODES.
*
03 E-AEXISTS PIC 9(8) COMP VALUE 61.
03 E-AINEX PIC 9(8) COMP VALUE 62.
03 E-AFILEOP PIC 9(8) COMP VALUE 63.
*
* SITE ACCESS ERROR CODES.
*
03 E-SNOTLOCAL PIC 9(8) COMP VALUE 69.
5. API HEADERS COBOL Programming Manual Page 45
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
03 E-SUNREACH PIC 9(8) COMP VALUE 70.
03 E-SEXISTS PIC 9(8) COMP VALUE 71.
03 E-SINEX PIC 9(8) COMP VALUE 72.
03 E-SSTARTED PIC 9(8) COMP VALUE 73.
03 E-SDUPIDENT PIC 9(8) COMP VALUE 74.
03 E-SFILEOP PIC 9(8) COMP VALUE 80.
03 E-SINUSE PIC 9(8) COMP VALUE 107.
*
* TRANSFER REQUEST ACCESS ERROR CODES.
*
03 E-XINEX PIC 9(8) COMP VALUE 81.
03 E-XWRONGSTATE PIC 9(8) COMP VALUE 82.
03 E-XPROGRESSING PIC 9(8) COMP VALUE 83.
03 E-XNOTTODO PIC 9(8) COMP VALUE 84.
03 E-XTODO PIC 9(8) COMP VALUE 85.
03 E-XNOTSUSPENDED PIC 9(8) COMP VALUE 86.
03 E-XFILEOP PIC 9(8) COMP VALUE 87.
03 E-XINVMODE PIC 9(8) COMP VALUE 89.
03 E-XLOCINEX PIC 9(8) COMP VALUE 100.
03 E-XREMINEX PIC 9(8) COMP VALUE 101.
03 E-XNOTLOCAL PIC 9(8) COMP VALUE 102.
03 E-XUNREACH PIC 9(8) COMP VALUE 103.
03 E-XORGINEX PIC 9(8) COMP VALUE 104.
03 E-XDESTINEX PIC 9(8) COMP VALUE 105.
03 E-XINUSE PIC 9(8) COMP VALUE 106.
*
* PROTECTION KEY ERROR CODES.
*
03 E-SBADPROTKEY PIC 9(8) COMP VALUE 91.
03 E-SEXPPROTKEY PIC 9(8) COMP VALUE 92.
03 E-SOVERFLOW PIC 9(8) COMP VALUE 93.
03 E-SBADPROTO PIC 9(8) COMP VALUE 94.
*
* TRANSFER PARAMETERS VALIDATION ERROR CODES.
*
03 E-XINVTYPE PIC 9(8) COMP VALUE 94.
03 E-XINVPROTO PIC 9(8) COMP VALUE 94.
03 E-XINVCOMP PIC 9(8) COMP VALUE 94.
*
* CONVERSION SPECIFIC ERROR CONDITION CODES.
*
03 E-TRNERR PIC 9(8) COMP VALUE 120.
03 E-TRNBADTABLE PIC 9(8) COMP VALUE 121.
03 E-TRNBADCODE PIC 9(8) COMP VALUE 122.
*
* UNKNOWN SYSTEM ERROR.
*
03 E-SYSTEM PIC 9(8) COMP VALUE 255.
*
* MISCELLANEOUS.
*
03 E-EXITANNUL PIC 9(8) COMP VALUE 124.
6. API SAMPLES COBOL Programming Manual Page 46
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
6. API SAMPLES
6.1. cobxreq.cbl
************************************************************
* INTERPEL COBOL API SAMPLE PROGRAM. *
* COPYRIGHT SOPRA S.A. 1997. *
************************************************************
* *
* API VERBS USED: *
* *
* ITCLOGIN : APPLICATION SESSION ESTABLISHMENT. *
* ITCXREQ : TRANSFER REQUEST SUBMISSION. *
* ITCXGET : GET A TRANSFER REQUEST BY ITS *
* LOCAL IDENTIFIER *
* ITCLOGOUT : APPLICATION SESSION SHUT DOWN. *
* *
************************************************************
*
IDENTIFICATION DIVISION.
PROGRAM-ID. COBXREQ.
AUTHOR. SOPRA/DT2I.
*
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
OBJECT-COMPUTER. ANYTHING.
SPECIAL-NAMES. CONSOLE IS TTY.
*
DATA DIVISION.
WORKING-STORAGE SECTION.
*
* INCLUDE INTERPEL COBOL API DEFINITIONS.
*
COPY "itcdefs.cpy".
COPY "itcapi.cpy".
01 XO-LOCK PIC 9(8) COMP VALUE 0.
*
PROCEDURE DIVISION.
*
XGET-START.
*
* ESTABLISH THE APPLICATION SESSION.
* SUPPLIED USERNAME AND PASSWORD MUST BE VALID.
*
MOVE SPACES TO LOGIN-USERNAME.
MOVE SPACES TO LOGIN-PASSWORD.
CALL "ITCLOGIN" USING ITC-DIAG ITC-LOGIN.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO PROG-OUT.
*
* FILL UP TRANSFER PARAMETERS.
* FOR A FILE EMISSION IN INITIATOR MODE, YOU ARE ONLY REQUIRED
* TO SUPPLY THE APPLICATION NAME, THE DESTINATION NAME
* (RECEIVER)
* AND THE FILE PATHNAME.
*
MOVE "UNIX" TO XR-APPLI.
MOVE "HPX3_P" TO XR-RECEIVER-ALIAS.
MOVE "FILE" TO XR-PATHNAME.
MOVE REQ-TRANS TO XR-TYPE.
MOVE MODE-INITIATOR TO XR-MODE.
MOVE DIRECTION-OUT TO XR-DIRECTION.
MOVE "MESSAGE NUMBER 1" TO XR-MSG1.
*
* SUBMIT THE TRANSFER REQUEST TO THE MONITOR.
*
6. API SAMPLES COBOL Programming Manual Page 47
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
CALL "ITCXREQ" USING ITC-DIAG ITC-XID ITC-XREQ.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO LOG-OUT
ELSE DISPLAY "LOCAL-IDENT = " XI-LOCAL-IDENT.
*
* READ BACK THE TRANSFER REQUEST WITH LOCK MODE OFF USING THE
* LOCAL IDENT PREVIOUSLY RETURNED.
*
MOVE 0 TO XO-LOCK
CALL "ITCXGET" USING ITC-DIAG XO-LOCK ITC-XID ITC-XREC.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO LOG-OUT.
*
* DISPLAY THE CREATION DATE OF THE REQUEST.
*
DISPLAY "DATE CREATE =" XG-DATE-CREATE.
*
* SHUT DOWN THE APPLICATION SESSION AND EXIT.
*
LOG-OUT.
CALL "ITCLOGOUT".
*
PROG-OUT.
DISPLAY "EXITING ..."
STOP RUN.
6. API SAMPLES COBOL Programming Manual Page 48
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
6.2. cobxsel.cbl
************************************************************
* INTERPEL COBOL API SAMPLE PROGRAM. *
* COPYRIGHT SOPRA S.A. 1997. *
************************************************************
* *
* API VERBS USED: *
* *
* ITCLOGIN : APPLICATION SESSION ESTABLISHMENT. *
* ITCXSEL : SELECT A SET OF TRANSFER REQUESTS. *
* ITCXGETN : GET THE NEXT TRANSFER REQUEST OF THE SET.*
* ITCLOGOUT : APPLICATION SESSION SHUT DOWN. *
* *
************************************************************
*
IDENTIFICATION DIVISION.
PROGRAM-ID. COBXSEL.
AUTHOR. SOPRA/DT2I.
*
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
OBJECT-COMPUTER. ANYTHING.
SPECIAL-NAMES. CONSOLE IS TTY.
*
DATA DIVISION.
WORKING-STORAGE SECTION.
*
* INCLUDE INTERPEL COBOL API DEFINITIONS.
*
COPY "itcdefs.cpy".
COPY "itcapi.cpy".
COPY "itcerr.cpy".
01 XO-LOCK PIC 9(8) COMP VALUE 0.
*
PROCEDURE DIVISION.
*
XSEL-START.
*
* OPEN THE APPLICATION SESSION WITH INTERPEL MONITOR.
*
MOVE SPACES TO LOGIN-USERNAME.
MOVE SPACES TO LOGIN-PASSWORD.
CALL "ITCLOGIN" USING ITC-DIAG ITC-LOGIN.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO OUT.
*
* FILL UP THE SELECTION CRITERIA AND SELECT THE TRANSFER
* REQUESTS THAT MATCH THIS CRITERIA.
*
MOVE SPACES TO XS-FILE-NAME.
CALL "ITCXSEL" USING ITC-DIAG ITC-XSEL.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO LOG-OUT.
*
* READ SEQUENTIALLY ALL REQUESTS THAT HAVE BEEN SELECTED AND
* PRINT THE LOCAL IDENT OF EACH REQUEST.
*
LOOP-BEGIN.
CALL "ITCXGETN" USING ITC-DIAG XO-LOCK ITC-XREC.
IF ERR-COD EQUAL E-FEOF GO TO LOOP-END.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO LOOP-END.
DISPLAY "LOCAL-IDENT = " XG-LOCAL-IDENT.
GO TO LOOP-BEGIN.
LOOP-END.
*
* SHUT DOWN THE APPLICATION SESSION AND EXIT.
*
6. API SAMPLES COBOL Programming Manual Page 49
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
LOG-OUT.
CALL "ITCLOGOUT".
*
OUT.
DISPLAY "EXITING ..."
STOP RUN.
6. API SAMPLES COBOL Programming Manual Page 50
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
6.3. cobxctrl.cbl
************************************************************
* INTERPEL COBOL API SAMPLE PROGRAM. *
* COPYRIGHT SOPRA S.A. 1997. *
************************************************************
* *
* API VERBS USED: *
* *
* ITCLOGIN : APPLICATION SESSION ESTABLISHMENT. *
* ITCXREQ : TRANSFER REQUEST SUBMISSION. *
* ITCXGET : GET A TRANSFER REQUEST BY ITS *
* LOCAL IDENTIFIER *
* ITCXSUSP : SUSPEND A TRANSFER REQUEST. *
* ITCXSRESM : RESUME A TRANSFER REQUEST. *
* ITCXCAN : CANCEL A TRANSFER REQUEST. *
* ITCLOGOUT : APPLICATION SESSION SHUT DOWN. *
* *
************************************************************
*
IDENTIFICATION DIVISION.
PROGRAM-ID. COBXCTRL.
AUTHOR. SOPRA/DT2I.
*
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
OBJECT-COMPUTER. ANYTHING.
SPECIAL-NAMES. CONSOLE IS TTY.
*
DATA DIVISION.
WORKING-STORAGE SECTION.
*
* INCLUDE INTERPEL COBOL API DEFINITIONS.
*
COPY "itcdefs.cpy".
COPY "itcapi.cpy".
01 XO-LOCK PIC 9(8) COMP VALUE 0.
*
PROCEDURE DIVISION.
*
XCTRL-START.
MOVE SPACES TO LOGIN-USERNAME.
MOVE SPACES TO LOGIN-PASSWORD.
CALL "ITCLOGIN" USING ITC-DIAG ITC-LOGIN.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO PROG-OUT.
*
* SUBMIT A TRANSFER REQUEST THAT IS TO BE STARTED LATER.
*
MOVE "UNIX" TO XR-APPLI.
MOVE "HPX3_P" TO XR-RECEIVER-ALIAS.
MOVE "FILE" TO XR-PATHNAME.
MOVE REQ-TRANS TO XR-TYPE.
MOVE MODE-INITIATOR TO XR-MODE.
MOVE DIRECTION-OUT TO XR-DIRECTION.
MOVE "1999123100000000" TO XR-DATE-TO-BEGIN.
*
CALL "ITCXREQ" USING ITC-DIAG ITC-XID ITC-XREQ.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO LOG-OUT.
DISPLAY "ITCXREQ --> IDENT = " XI-LOCAL-IDENT.
*
* READ BACK THE CREATED RECORD.
*
MOVE 0 TO XO-LOCK.
CALL "ITCXGET" USING ITC-DIAG XO-LOCK ITC-XID ITC-XREC.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO LOG-OUT.
*
* DISPLAY SOME INFORMATIONS THAT HAS BEEN FILLED BY INTERPEL.
*
DISPLAY "DATE CREATE =" XG-DATE-CREATE.
DISPLAY "ITCXGET --> STATE = " XG-STATE.
6. API SAMPLES COBOL Programming Manual Page 51
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
*
* DISPLAY ALL MAGIC NUMBERS FOR ALIGNMENT CHECKING.
* THIS MAY BE USEFUL IS ORDER TO CHECK THAT COMPILER OPTIONS
* ARE COMPATIBLE WITH INTERPEL HEADER FILES.
*
DISPLAY "ITCXGET --> MAGIC-USER = " XG-MAGIC-USER.
DISPLAY "ITCXGET --> MAGIC-SUP = " XG-MAGIC-SUP.
DISPLAY "ITCXGET --> MAGIC-DYN = " XG-MAGIC-DYN.
DISPLAY "ITCXGET --> MAGIC-PROTO = " XG-MAGIC-PROTO.
DISPLAY "ITCXGET --> MAGIC-DLIST = " XG-MAGIC-DLIST.
DISPLAY "ITCXGET --> MAGIC-END = " XG-MAGIC-END.
*
* SUSPEND THE TRANSFER REQUEST AND DISPLAY ITS RESULTING STATE.
*
CALL "ITCXSUSP" USING ITC-DIAG ITC-XID.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO LOG-OUT.
CALL "ITCXGET" USING ITC-DIAG XO-LOCK ITC-XID ITC-XREC.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO LOG-OUT.
DISPLAY "ITCXSUSP --> STATE = " XG-STATE.
*
* RESUME THE TRANSFER REQUEST AND DISPLAY ITS RESULTING STATE.
*
CALL "ITCXRESM" USING ITC-DIAG ITC-XID.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO LOG-OUT.
CALL "ITCXGET" USING ITC-DIAG XO-LOCK ITC-XID ITC-XREC.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO LOG-OUT.
DISPLAY "ITCXRESM --> STATE = " XG-STATE.
*
* CANCEL THE TRANSFER REQUEST AND DISPLAY ITS RESULTING STATE.
*
CALL "ITCXCAN" USING ITC-DIAG ITC-XID.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO LOG-OUT.
CALL "ITCXGET" USING ITC-DIAG XO-LOCK ITC-XID ITC-XREC.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO LOG-OUT.
DISPLAY "ITCXCAN --> STATE = " XG-STATE.
*
* READ THE TRANSFER REQUEST WITH LOCK OPTION AND DELETE THE
* ASSOCIATED RECORD.
*
MOVE 1 TO XO-LOCK.
CALL "ITCXGET" USING ITC-DIAG XO-LOCK ITC-XID ITC-XREC.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO LOG-OUT.
CALL "ITCXDEL" USING ITC-DIAG.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO LOG-OUT.
*
* SHUT DOWN THE APPLICATION SESSION AND EXIT.
*
LOG-OUT.
CALL "ITCLOGOUT".
*
PROG-OUT.
DISPLAY "EXITING ..."
STOP RUN.
6. API SAMPLES COBOL Programming Manual Page 52
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
6.4. cobxupd.cbl
************************************************************
* INTERPEL COBOL API SAMPLE PROGRAM. *
* COPYRIGHT SOPRA S.A. 1997. *
************************************************************
* *
* API VERBS USED: *
* *
* ITCLOGIN : APPLICATION SESSION ESTABLISHMENT. *
* ITCXREQ : TRANSFER REQUEST SUBMISSION. *
* ITCXGET : GET A TRANSFER REQUEST BY ITS *
* LOCAL IDENTIFIER *
* ITCXUPD : UPDATE THE CURRENT RECORD *
* ITCLOGOUT : APPLICATION SESSION SHUT DOWN. *
* *
************************************************************
*
IDENTIFICATION DIVISION.
PROGRAM-ID. COBXREQ.
AUTHOR. SOPRA/DT2I.
*
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
OBJECT-COMPUTER. ANYTHING.
SPECIAL-NAMES. CONSOLE IS TTY.
*
DATA DIVISION.
WORKING-STORAGE SECTION.
*
* INCLUDE INTERPEL COBOL API DEFINITIONS.
*
COPY "itcdefs.cpy" IN ..
COPY "itcapi.cpy" IN ..
01 XO-LOCK PIC 9(8) COMP VALUE 0.
*
PROCEDURE DIVISION.
*
XGET-START.
*
* COBOL API GENERAL INITIALIZATIONS.
*
CALL "ITCAPI".
*
* ESTABLISH THE APPLICATION SESSION.
* SUPPLIED USERNAME AND PASSWORD MUST BE VALID.
*
MOVE SPACES TO LOGIN-USERNAME.
MOVE SPACES TO LOGIN-PASSWORD.
CALL "ITCLOGIN" USING ITC-DIAG ITC-LOGIN.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO PROG-OUT.
*
* FILL UP TRANSFER PARAMETERS.
* FOR A FILE SENDING IN INITIATOR MODE, YOU ARE ONLY REQUIRED
* TO SUPPLY THE APPLICATION NAME, THE FILE PATHNAME AND
* THE DESTINATION NAME (RECEIVER)
*
MOVE "STREAM" TO XR-APPLI.
MOVE "REMOTE" TO XR-RECEIVER-ALIAS.
MOVE "FILE" TO XR-PATHNAME.
MOVE REQ-TRANS TO XR-TYPE.
MOVE MODE-INITIATOR TO XR-MODE.
MOVE DIRECTION-OUT TO XR-DIRECTION.
MOVE "MESSAGE NUMBER 1" TO XR-MSG1.
MOVE "2021123115153300" TO XR-DATE-TO-BEGIN.
*
* SUBMIT THE TRANSFER REQUEST TO THE MONITOR.
*
CALL "ITCXREQ" USING ITC-DIAG ITC-XID ITC-XREQ.
6. API SAMPLES COBOL Programming Manual Page 53
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO LOG-OUT
ELSE DISPLAY "LOCAL-IDENT = " XI-LOCAL-IDENT.
*
* READ BACK THE TRANSFER REQUEST WITH LOCK MODE ON USING THE
* LOCAL IDENT PREVIOUSLY RETURNED.
*
MOVE 1 TO XO-LOCK
CALL "ITCXGET" USING ITC-DIAG XO-LOCK ITC-XID ITC-XREC.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO LOG-OUT.
*
* DISPLAY SOME ATTRIBUTES THAT WILL BE CHANGED USING ITCXUPD.
*
DISPLAY "ATTRIBUTE VALUES BEFORE UPDATE".
DISPLAY " USER-STATE = " XG-USER-STATE.
DISPLAY " MESSAGE 1 = " XG-MSG1.
*
* CHANGE SOME RECORD ATTRIBUTES AND UPDATE THE RECORD.
*
MOVE 123 TO XG-USER-STATE.
MOVE "NEW MESSAGE 1" TO XG-MSG1.
CALL "ITCXUPD" USING ITC-DIAG ITC-XREC.
IF ERR-COD NOT EQUAL ZERO DISPLAY ERR-MSG GO TO LOG-OUT.
*
* DISPLAY ATTRIBUTES THAT HAVE BEEN CHANGED.
*
DISPLAY "ATTRIBUTES VALUES AFTER UPDATE".
DISPLAY " USER-STATE = " XG-USER-STATE.
DISPLAY " MESSAGE 1 = " XG-MSG1.
*
* SHUT DOWN THE APPLICATION SESSION AND EXIT.
*
LOG-OUT.
CALL "ITCLOGOUT".
*
PROG-OUT.
DISPLAY "EXITING ..."
STOP RUN.
6. API SAMPLES COBOL Programming Manual Page 54
__________________________________________________________________________________________________
Inter.Pel 6.6 SOPRA.

Вам также может понравиться