OpenTP1 Version 7 TP1/Client User's Guide TP1/Client/W, TP1/Client/P
(a) In a multi-thread environment
PROCEDURE DIVISION
CALL 'CBLDCCLS' USING identifier-1 identifier-2 identifier-3
DATA DIVISION
01 identifier-1.
02 data-name-A PIC X(8) VALUE 'EXNACPT '.
02 data-name-B PIC X(5).
02 FILLER PIC X(3).
02 data-name-C PIC S9(9) COMP VALUE ZERO.
02 data-name-D PIC 9(4) COMP.
02 FILLER PIC X(2).
02 data-name-E PIC S9(9) COMP.
02 data-name-F PIC X(8).
02 data-name-G PIC X(n).
01 identifier-2.
02 data-name-H PIC S9(9) COMP.
02 data-name-I PIC X(n).
01 identifier-3.
02 FILLER PIC 9(9) COMP.
02 FILLER PIC 9(4) COMP.
02 FILLER PIC X(2).
02 data-name-J PIC X(n).
(b) In a single-thread environment
PROCEDURE DIVISION
CALL 'CBLDCCLT' USING identifier-1 identifier-2
DATA DIVISION
01 identifier-1.
02 data-name-A PIC X(8) VALUE 'EXNACPT '.
02 data-name-B PIC X(5).
02 FILLER PIC X(3).
02 data-name-C PIC S9(9) COMP VALUE ZERO.
02 data-name-D PIC 9(4) COMP.
02 FILLER PIC X(2).
02 data-name-E PIC S9(9) COMP.
02 data-name-F PIC X(8).
02 data-name-G PIC X(n).
01 identifier-2.
02 data-name-H PIC S9(9) COMP.
02 data-name-I PIC X(n).
(2) Purpose
Waits for a message returned by the CBLDCRPC('CLTSEND ') request code issued on the server side. The program stops waiting for the message if a timeout occurs before receiving the message. The timeout is specified in data-name-E. On reception of the message, this program returns the status code, received message, host name of the message-originating server, and node identifier of the message-originating server, and control returns to the CUP. Before executing this program, you do not need to execute CBLDCCLS('CLTIN ') and CBLDCRPS('OPEN ').
Use this request statement when using the host name extension function.
(3) Data area where the UAP sets values
- data-name-A
Set VALUE 'EXNACPT' as a request code for receiving one-way notification messages.
- data-name-C
Set 0.
- data-name-D
Specify a client's port number between 5001 and 65535. Specify a unique port number for each process or thread when multiple processes or multiple threads are executed simultaneously on the same machine.
- data-name-E
Specify a timeout value (seconds) between 0 and 65535.
Value 0 causes an infinite wait.
- data-name-G
Specify an area of 64 bytes# or more for storing the host name of the server that sent a notification message.
- # This area must be larger than 255 bytes if you specify 00000008 for DCCLTOPTION in the client environment definition.
- data-name-H
Specify the length of the area (length of data-name-K) for storing a notification message from the server. Available values are in the range from 0 to DCRPC_MAX_MESSAGE_SIZE#.
- # If you specify 2 or a larger value for DCCLTRPCMAXMSGSIZE in the client environment definition, the value you specify is used rather than the value of DCRPC_MAX_MESSAGE_SIZE (1 megabyte).
- data-name-I
Specify the area for storing a notification message from the server. This area must be larger than the length specified for data-name-H.
- data-name-J
Specify the path name of the client environment definition file. The path name must be specified with the full path or with a relative path from the current drive and the current directory. The following shows the order in which files are loaded when the path name is specified.
- In TP1/Client/P
Client environment definition files are loaded in the following order:
1. The BETRAN.INI file in the Windows directory
2. The client environment definition file specified in data-name-J
The definitions in both the client environment definition file and the BETRAN.INI file take effect.
If the same definition is specified in each file with a different value, the value specified in the client environment definition file takes effect.
If neither the client environment definition file nor the BETRAN.INI file contains the necessary specification, TP1/Client/P uses the defaults.
- In TP1/Client/W
All definitions specified in the environment variables will be invalid. TP1/Client/W uses the defaults for definitions that are not specified in the client environment definition file specified in data-name-J.
You can omit the path name by specifying a space character at the beginning of data-name-J. The following describes the operation when the path name is omitted.
- In TP1/Client/P
TP1/Client/P uses the BETRAN.INI file in the Windows directory as the client environment definition file. If the BETRAN.INI file does not exist or if the contents of the definition file are invalid, TP1/Client/P uses the defaults.
- In TP1/Client/W
TP1/Client/W uses the values specified in the environment variables. If an environment variable is not specified, TP1/Client/W uses the default.
The following describes operation when the client environment definition file specified in data-name-J does not exist or when the contents of the definition file are invalid.
- In TP1/Client/P
TP1/Client/P uses the BETRAN.INI file in the Windows directory as the client environment definition file. If the BETRAN.INI file does not exist or if the contents of the definition file are invalid, TP1/Client/P uses the defaults.
- In TP1/Client/W
TP1/Client/W uses the defaults. The values specified in the environment variables will be invalid.
(4) Data area for which a value is returned
- data-name-B
5-digit status code.
- data-name-F
Node identifier for the server that sent a notification message in the following format.
- data-name-G
Host name of the server that sent a notification message. If resolution to a host name fails, the IP address is returned in the dotted decimal format.
- data-name-H
Length of the notification message from the server.
- data-name-I
Notification message from the server.
(5) Status codes
Status code |
Meaning |
00000 |
Normal termination |
02501 |
Invalid value for the data name. The request code (data-name-A) may be invalid. |
02503 |
Unsuccessful initialization. Alternatively, the client environment definition is specified incorrectly. |
02504 |
A necessary amount of buffer could not be allocated. |
02506 |
Network error |
02507 |
A timeout occurred during message reception. |
02518 |
System error |
02535 |
Different versions |
02546 |
The received message is too large for the CUP-provided area. The part that does not fit is truncated. Values have already been set for data-name-F and data-name-G. |
02547 |
The specified port number is already used. |
02548 |
Invalid message received |
02549 |
The one-way message reception status was canceled by CBLDCCLS('CANCEL ') or CBLDCCLS('EXNCANCL'). Values have already been set for data-name-G, data-name-H, and data-name-I. |
Specify a unique port number in data-name-D for each process or thread when multiple processes or multiple threads are executed simultaneously on the same machine. Do not specify a port number for use by the operating system or other programs even if one can be specified in data-name-D. If you specify a port number in this case, response data might not be received correctly. The port numbers used by the operating system differ depending on the operating system. For details, see the documentation of your operating system.
All Rights Reserved. Copyright (C) 2006, 2009, Hitachi, Ltd.