Академический Документы
Профессиональный Документы
Культура Документы
er
enc
eGui
def
or.
NET
Ver
a
s
t
r
ea
m Br
i
dgeI
nt
egr
a
t
or
Table of Contents
Using Verastream Bridge Integrator in the Microsoft .NET Environment ....................................................................................2
Optimizing High Performance 3270 Solutions .............................................................................................................................2
SendKeys Optimization ................................................................................................................................................................... 2
GetString Optimization ................................................................................................................................................................... 3
Combined Optimizations ............................................................................................................................................................ 3
SetFieldValue and GetFieldValue Optimization .............................................................................................................................. 4
QACOM Methods ....................................................................................................................................................................... 5
ChangePassword............................................................................................................................................................................. 5
ConnectBridge ................................................................................................................................................................................. 6
ConnectBridge(Overloaded Methods) ........................................................................................................................................7
Disconnect....................................................................................................................................................................................... 8
FindString ........................................................................................................................................................................................ 8
GetAllFieldInformation .................................................................................................................................................................. 10
GetAllFieldInformation (Overloaded Method) .............................................................................................................................. 11
GetConnectionStatus .................................................................................................................................................................... 13
GetCurrentScreenName ................................................................................................................................................................ 14
GetCursorPosition ......................................................................................................................................................................... 15
GetFieldAttributes ......................................................................................................................................................................... 16
GetFieldCoordinates...................................................................................................................................................................... 17
GetFieldCount ............................................................................................................................................................................... 18
GetFieldNameFromIndex .............................................................................................................................................................. 19
GetFieldValue ................................................................................................................................................................................ 20
GetScreenInformation ................................................................................................................................................................... 21
GetScreenSize................................................................................................................................................................................ 23
GetString ....................................................................................................................................................................................... 24
GetTransactionSystemId ............................................................................................................................................................... 25
Initialize......................................................................................................................................................................................... 26
InterpretFieldAttribute .................................................................................................................................................................. 27
Pause............................................................................................................................................................................................. 28
PutString ....................................................................................................................................................................................... 29
SendKeys ....................................................................................................................................................................................... 30
SendKeysEx ................................................................................................................................................................................... 33
SendKeysGetAllFieldInformation................................................................................................................................................... 34
i
ii
SendKeys Optimization
Your application will undoubtedly make use of several SendKeys() API to drive the host CICS
application to the desired screens. Although the programming effort of coding these keystrokes
as a series of distinct API seems easier, by stacking multiple API into a single invocation, many
3270 exchanges can be accomplished with just one trip to the host.
For example, consider an application that connects to a given CICS region, enters a transaction
APPL to determine how many crates of apples are in storage, makes a menu selection 1 to
designate Golden Delicious apples, presses <ENTER>, enters the crate size desired (12 pound)
into the second field of the 3270 screen, and presses <ENTER> to go to the confirmation screen.
By coding with distinct API, the solution might look something like this:
ConnectBridge("nnn.nnn.nnn.nnn",
SendKeys("APPL@E")
SendKeys("1@E")
SendKeys("@T")
SendKeys("12@E")
Note that five API are used in the application so far, and consequently five TCP/IP request
packets will be exchanged with the host to invoke the various API services illustrated above.
Now lets look at the same transaction invoked by stacking the SendKeys.
To implement this interaction, all of the keystrokes from the three distinct SendKeys calls will be
stacked up in a single SendKeys call as follows:
SendKeys(APPL@E1@E@T12@E)
This will sign on, start the Apples transaction, Select Golden Delicious, specify 12 pound crate,
and return with the 3270 screen parked on the confirmation screen. The application will then be
free to harvest data from the confirmation screen (for instance, returning a confirmation number
to the caller). The application could then issue a SendKeys to exit the application, and issue a
Disconnect, freeing the session for another client.
The savings in terms of network time is substantial, and worth the analysis effort of the
developers.
GetString Optimization
When retrieving data from many 3270 fields on a single screen, it may be worth issuing one
GetString(sess, 0, 0, 1920, scrbuff) to retrieve the entire 3270 screen into your local buffer. Once
all of the data for the screen is contained in the applications local buffer, carving multiple fields
out of that 3270 screen buffer becomes a fairly simple programming task. The code might look
like the following to return four 20 byte fields from column 15 of rows 10, 11, 12, 13 and 14 of a
given screen.
GetString(10, 15 400, scrbuff)
Field1
Field1
Field1
Field1
Field1
Get
Get
Get
Get
Get
=
=
=
=
=
Mid(scrbuff,
Mid(scrbuff,
Mid(scrbuff,
Mid(scrbuff,
Mid(scrbuff,
1, 20)
81, 20)
161, 20)
241, 20)
321, 20)
the
the
the
the
the
data
data
data
data
data
from
from
from
from
from
field
field
field
field
field
at
at
at
at
at
(10,15)
(11,15)
(12,15)
(13,15)
(14,15)
Again, with a bit more work, the application is saved four additional trips across the network.
During the design of an application, you can identify many ways to reduce the number of API
trips to the host, and with a reasonable amount of analysis; you can create the fastest application
possible for your CICS applications.
Make sure that you need to verify where you are before asking for a GetString. Often, given the
knowledge of your application, it is unnecessary to confirm several elements on each and every
intermediate screen. You can confirm once, at the end of a chain of host screens, that the proper
destination has been reached without the involvement multiple GetString API along the way.
Combined Optimizations
By combining lessons learned from SendKeys optimization and GetString optimization, further
improvement is attainable. Where appropriate, you can further reduce the total network latency
by combining a concatenated SendKeys with an optimized GetString into a single
SendKeysGetString call. With this approach, the concatenated SendKeys and the subsequent
GetString are executed in a single trip to the host. Using the examples from the previous
optimization sections, we would issue the following high performance call:
SendKeysGetString("APPL@E1@E@T12@E", 10, 15, 400, scrbuff)
QACOM Methods
All supported QACOM methods return a zero on success, or an error code used to identify the
specific problem.
ChangePassword
This method changes the password for a specified existing userid and password combination.
Syntax
ChangePassword hostIP, hostPort, UserId, Password, newPassword
Prerequisites
None
Parameters
Name
Description
Type
hostIP
String
hostPort
Integer
UserId
String
Password
String
newPassword
String
ConnectBridge
This method obtains a session state context from the host data engine.
Syntax
ConnectBridge hostIP, hostPort, terminalModel, UserId, Password
Prerequisites
None
Parameters
Name
Description
Type
hostIP
String
hostPort
Integer
terminalModel
Integer
2 Model 2
3 Model 3
4 Model 4
5 Model 5
UserId
String
Password
String
ConnectBridge(Overloaded Methods)
This overloaded method is used to request additional and specific characteristics to be associated
with this request for a session state context from the host data engine.
Syntax
ConnectBridge hostIP, hostPort, terminalModel, UserId, Password,
terminalPool
ConnectBridge hostIP, hostPort, terminalModel, UserId, Password,
terminalPool, networkName
ConnectBridge hostIP, hostPort, terminalModel, UserId, Password,
terminalPool, networkName, terminalFacilityLike
Prerequisites
None
Parameters
Name
Description
Type
hostIP
String
hostPort
Integer
terminalModel
Integer
2 Model 2
3 Model 3
4 Model 4
5 Model 5
UserId
String
Password
String
terminalPool
String
networkName
String
terminalFacilityLi
ke
String
Disconnect
This method disconnects the session, releasing the session state context from the host data
engine.
Syntax
Disconnect
Prerequisites
None
FindString
This method attempts to locate a given string on the current screen, beginning at a specified row
and column position.
Syntax
FindString inScreen, inString, inStartRow, inStartColumn, inFlags, outRow,
outColumn
Prerequisites
ConnectBridge
Parameters
Name
Description
Type
inScreen
Integer or
String
inString
String
inStartRow
Integer
inStartColumn
Integer
inFlags
Integer
Parameters (continued)
Name
Description
inFlags
(continued)
Type
outRow
Integer
outColumn
Integer
GetAllFieldInformation
This method retrieves the information of all fields on the current screen.
Syntax
GetAllFieldInformation inScreen, outFieldCount, outFieldNames,
outFieldValues, outFieldAttributes, outFieldRows, outFieldCols,
outFieldLengths
Description
Type
inScreen
Integer
or
String
outFieldCount
Integer
outFieldNames
String
Array
outFieldValues
String
Array
outFieldAttributes
Integer
Array
outFieldRows
Integer
Array
outFieldColumns
Integer
Array
outFieldLengths
Integer
Array
10
Description
Type
inScreen
Integer or
String
outFieldCount
Integer
outFieldNames
String Array
outFieldValues
String Array
Integer Array
Integer Array
outFieldAttributes
outFieldRows
11
Integer
Array
outFieldLengths
Integer
Array
outFieldColors
Integer
Array
outFieldHighlights
White
Blue
Red
Pink
Green
Turquoise
Yellow
White
Normal
Blinking
Reversed video
Underscore
Integer
Array
12
GetConnectionStatus
This method returns the status of the host connection.
Syntax
GetConnectionStatus outStatus
Prerequisites
ConnectBridge
Parameters
Name
Description
Type
outStatus
Integer
13
GetCurrentScreenName
This method returns the name of the current host screen.
Syntax
GetCurrentScreenName inTimeOut, outScreenName
Prerequisites
ConnectBridge
Parameters
Name
Description
Type
inTimeOut
Integer
outScreenName
String
14
GetCursorPosition
This method retrieves the cursor position on the current host screen.
Syntax
GetCursorPosition outRow, outColumn
Prerequisites
ConnectBridge
Parameters
Name
Description
Type
outRow
Integer
outColumn
Integer
15
GetFieldAttributes
This method retrieves the attributes of a specified field on the current screen.
Syntax
GetFieldAttributes inScreen, inField, outAttributes
Prerequisites
ConnectBridge
Parameters
Name
Description
Type
inScreen
Integer
or String
inField
Integer
or String
outFieldNames
String
Array
outAttributes
Integer
16
GetFieldCoordinates
This method retrieves the coordinates (row, column, and length) of a specified field on the
current screen.
Syntax
GetFieldCoordinates inScreen, inField, outFieldRow, outFieldColumn,
outFieldLength
Prerequisites
ConnectBridge
Parameters
Name
Description
Type
inScreen
Integer
or String
inField
Integer
or String
outFieldRow
Integer
outFieldColumn
Integer
outFieldLength
Integer
17
GetFieldCount
This method retrieves the number of fields for the current screen.
Syntax
GetFieldCount inScreen, outFieldCount
Prerequisites
ConnectBridge
Parameters
Name
Description
Type
inScreen
Integer
or String
outFieldCount
Integer
18
GetFieldNameFromIndex
This method retrieves the field name based on its index on the current screen. The index
numbers start at zero and end at 1 less than the field count.
For example, the third field on the screen has a field index of 2. Use GetAllFieldInformation to
determine the index values for all fields on a given screen.
Syntax
GetFieldNameFromIndex inScreen, inFieldIndex, outFieldName
Prerequisites
ConnectBridge
Parameters
Name
Description
Type
inScreen
Integer
or String
inFieldIndex
Integer
outFieldName
String
19
GetFieldValue
This method retrieves the value of a specified field on the current screen.
Synt
a
x
Caution: The GetFieldValue method returns the correct value even for values
contained in non-display fields. Therefore, be sure to check the field attribute before
displaying text retrieved with this method.
G
etFieldValue inScreen, inField, outValue
Prerequisites
ConnectBridge
Parameters
Name
Description
Type
inScreen
Integer
or string
inField
Integer
or string
outValue
String
20
GetScreenInformation
This method retrieves all available information for the current screen.
Syntax
GetScreenInformation outCursorPosition, outAidKey ,outFieldCount,
outScreenName, outFieldNames, outFieldValues,
out3270FieldAttributes, outFieldRows, outFieldCols, outFieldLengths,
outFieldColors, outFieldHighlights
Description
Type
outCursor
Integer
outAidkey
String
Integer
outScreenName
String
String
Array
outFieldValues
String
Array
21
Description
Type
out3270FA
Byte
Array
Bit: 2
0 = Unprotected
1 = Protected
3 0 = Alphanumeric
1 = Numeric
* Note 11 in bits 2 and 3
* denotes Autoskip field
4-5 00
01
10
11
=
=
=
=
Normal nonlightpen
Normal/lightpen
Bright/lightpen
non-display
reserved
0 = Not modified
1 = Modified
Integer
Array
outFieldColumns
Integer
Array
outFieldLengths
Integer
Array
outFieldColors
Integer
Array
outFieldHighlights
Integer
Array
22
GetScreenSize
This method retrieves the size of the current screen.
Syntax
GetScreenSize inScreen, outRows, outColumns
Prerequisites
ConnectBridge
Parameters
Name
Description
Type
inScreen
Integer
or string
outRows
Integer
outColumns
Integer
23
GetString
This method retrieves any text on the current screen at the specified row, column, and length. If
the length parameter is zero, GetString retrieves text from the specified row and column to the
end of the screen. The Row and Column parameters must always be greater than or equal to 1.
Caution: The GetString method returns the correct value even for values contained in nondisplay fields. Therefore, be sure to check the field attribute before displaying text retrieved
with this method.
Syntax
GetString inScreen, inRow, inColumn, inLength, outText
Prerequisites
ConnectBridge
Parameters
Name
Description
Type
inScreen
Integer
or string
inRow
Integer
inColumn
Integer
inLength
Integer
outText
String
24
GetTransactionSystemId
This method supplies information as to the execution location of the requested transaction ID. If
the requested transaction ID executes locally in the specified CICS region, this method returns an
outSystemIdentification value of spaces. If the requested transaction ID is defined in the
specified region as residing in another region, this method returns the value of that other regions
system ID from the REMOTESystem specification of the transaction table. If the transaction ID is
unknown to this region, both locally and through its transaction tables REMOTESystem
information, a method return code of 718 is returned.
Syntax
GetTransactionSysemId inHostIP, inHostPort, inTransactionId,
outSystemIdentification
Prerequisites
None
Parameters
Name
Description
Type
inHostIP
String
InHostPort
Integer
inTransactionID
String
outSystemId
String
25
Initialize
Not required. Executes as a NOP. Included for backward compatibility only.
Syntax
Initialize inSessionTermType
Prerequisites
None
Parameter
Name
Description
Type
inSessionTermType
Integer
26
InterpretFieldAttribute
Convert a real 3270 Field Attribute value into an HPS style numeric attribute.
Syntax
InterpretFieldAttribute in3270FA
Prerequisites
None
Parameter
Name
Description
Type
In3270FA
Unsigned
Integer
Returns
Integer value containing an HPS-style representation of the attribute byte as follows:
Description
Type
Integer
27
Pause
This method causes execution to pause for the amount of time that is indicated in the inTime
parameter. This method does not return until the pause time has elapsed.
Syntax
Pause inTime
Prerequisites
None
Parameters
Name
Description
Type
inTime
Integer
28
PutString
This method writes text to the session presentation space beginning at the row and column
specified. If a protected field is encountered while writing, characters from the text string are
discarded, and writing continues with the next unprotected field.
Syntax
PutString inText, inRow, inColumn, outNumChars
Prerequisites
ConnectBridge
Parameters
Name
Description
Type
inText
String
inRow
Integer
inColumn
Integer
outNumChars
Integer
29
SendKeys
This method writes text to the session presentation space beginning at the current cursor
position. If a protected field is encountered while writing, characters from the text string are
discarded, and writing continues with the next unprotected field.
If the HLLAPI representation of an AID keystroke is encountered in the text string, SendKeys
initiates transmission to the host of the AID key followed by any modified fields in the session
presentation space. Text and AID keystrokes can be combined multiple times in the input string
in this implementation.
Syntax
SendKeys inKeys
Prerequisites
ConnectBridge
Parameter
Name
Description
Type
inKeys
String
30
PC Keys
Backtab
@B
Clear
@C
Enter
@E
Erase EOF
@F
Cursor Left
@L
@N
Tab
@T
Cursor Up
@U
Cursor Down
@V
Cursor Right
@Z
Backspace
@<
Home
@0
PF1
@1
PF2
@2
PF3
@3
PF4
@4
PF5
@5
PF6
@6
PF7
@7
PF8
@8
PF9
@9
PF10
@a
PF11
@b
31
Comments
@c
PF13
@d
PF14
@e
PF15
@f
PF16
@g
PF17
@h
PF18
@i
PF19
@j
PF20
@k
PF21
@l
PF22
@m
PF23
@n
PF24
@o
PA1
@x
PA2
@y
PA3
@z
ErInp
@A@F
32
SendKeysEx
This method is included for backward compatibility only. It is implemented as a SendKeys method
call.
Syntax
SendKeys inKeys
Prerequisites
ConnectBridge
Parameter
Name
Description
Type
inKeys
String
33
SendKeysGetAllFieldInformation
This method combines a SendKeys and a GetAllFieldInformation in a single call to the host.
The SendKeys part of this method writes text to the session presentation space beginning at the
current cursor position. If a protected field is encountered while writing, characters from the text
string are discarded, and writing continues with the next unprotected field.
If the HLLAPI representation of an AID keystroke is encountered in the text string, SendKeys
initiates transmission to the host of the AID key followed by any modified fields in the session
presentation space. Text and AID keystrokes can be combined multiple times in the input string
in this implementation.
The GetAllFieldInformation part of this method retrieves the information of all fields on the
current screen.
Syntax
SendKeysGetAllFieldInformation inKey, outFieldCount, outFieldNames,
outFieldValues, outFieldAttributes, outFieldRows, outFieldCols,
outFieldLengths, outFieldColors, outFieldHighlights
Prerequisites
ConnectBridge
34
Parameters
Name
Description
Type
inKeys
String
outFieldCount
Long
Integer
outFieldNames
String Array
outFieldValues
String Array
outFieldAttributes
Long
Integer
Array
outFieldRows
Long
Integer
Array
outFieldCols
Long
Integer
Array
35
Long
Integer
Array
outFieldColors
Long
Integer
Array
0
1
2
3
4
5
6
7
outFieldHighlights
White
Blue
Red
Pink
Green
Turquoise
Yellow
White
Long
Integer
Array
Normal
Blinking
Reversed video
Underscore
36
SendKeysGetString
This method combines a SendKeys and a GetString into a single call to the host.
The SendKeys part of this method writes text to the session presentation space beginning at the
current cursor position. If a protected field is encountered while writing, characters from the text
string are discarded, and writing continues with the next unprotected field.
If the HLLAPI representation of an AID keystroke is encountered in the text string, SendKeys
initiates transmission to the host of the AID key followed by any modified fields in the session
presentation space. Text and AID keystrokes can be combined multiple times in the input string
in this implementation.
The GetString part of this method retrieves any text on the current screen at the specified row,
column, and length. If the length parameter is zero, GetString retrieves text from the specified
row and column to the end of the screen. The Row and Column parameters must always be
greater than or equal to 1.
Caution: The SendKeysGetString method returns the correct value, even though it
is contained in non-display fields. Therefore, be sure to check the field attribute
prior to displaying text retrieved with this method.
Syntax
SetCursorPosition inRow, inColumn
Prerequisites
ConnectBridge
Parameters
Name
Description
Type
inKeys
String
inRow
Integer
inColumn
Integer
inLength
Integer
outText
String
37
SetCursorPosition
This method sets the cursor position on the current host screen.
Syntax
SetCursorPosition inRow, inColumn
Prerequisites
ConnectBridge
Parameters
Name
Description
Type
inRow
Integer
inColumn
Integer
SetFieldValue
This method sets the value of a specified unprotected field on the current screen
Syntax
SetFieldValue inField, inValue
Prerequisites
ConnectBridge
Parameters
Name
Description
Type
inField
Integer
or String
inValue
String
Prerequisites
ConnectBridge
38
Parameters
Name
Description
Type
infields
String
inValues
String
Example
Dim setFieldNames(4) As String
SetSettleTime
This method is included for backward compatibility only. It is implemented as a NOP. There is no
settle time requirement with the host data engine.
Syntax
SetSettleTime inSettleTime
Prerequisites
None
Parameter
Name
Description
inSettleTime
39
Type
Integer
SetTimeOut
This method is included for backward compatibility only. It is implemented as a NOP.
Syntax
SetTimeOut inTimeOut
Prerequisites
None
Parameter
Name
Description
Type
inTimeOut
Integer
SetTraceActive
This method sets the connectors trace facility active for this session, and optionally identifies the
specific CICS Temporary Storage Queue for holding the trace output. If the queue name is
supplied, but the queue does not exist in the CICS region handling this session, it will be created
as a result of this request. Inactive is the default starting status for the trace facility.
Note: CICS Temporary Storage Queues are not deleted from this API. They are automatically
removed when the CICS region is restarted. They can be removed at any time using the proper
and authorized CICS commands.
Syntax
SetTraceActive TraceQueueName
Prerequisites
ConnectBridge
Parameter
Name
Description
Type
TraceQueueName
String
40
SetTraceInactive
This method sets the connectors trace facility inactive for this session. Inactive is the default
starting status for the trace facility.
Syntax
SetTraceInactive
Prerequisites
ConnectBridge
SetTraceName
This method identifies the specific CICS Temporary Storage Queue for holding the trace output.
If the queue name is supplied, but the queue does not exist in the CICS region handling this
session, it is created as a result of this request. If a different queue name was previously
associated with the trace facility for this session, it will be changed to the supplied trace queue
name in this method call.
Note: CICS Temporary Storage Queues are not deleted from this API. They are automatically
removed when the CICS region is restarted. They can be removed at any time using the proper
and authorized CICS commands.
Syntax
SetTraceName TraceQueueName
Prerequisites
ConnectBridge
Parameter
Name
Description
Type
TraceQueueName
String
Terminate
This method is included for backward compatibility only. It is implemented as a NOP.
Syntax
Terminate
Prerequisites
None
41
X3270Screen
This method combines a SendKeys and a SetFieldValue with GetScreenInformation in a single call
to the host.
SendKeys
The SendKeys part of this method writes text to the session presentation space beginning at the
current cursor position. If a protected field is encountered while writing, characters from the text
string are discarded, and writing continues with the next unprotected field.
If the HLLAPI representation of an AID keystroke is encountered in the text string, SendKeys
initiates transmission to the host of the AID key followed by any modified fields in the session
presentation space. Text and AID keystrokes can be combined multiple times in the input string
in this implementation.
SetFieldValue
The SetFieldValue part of this method allows the placing of field-index/value paired data into the
indentified field in the screen buffer when the Mnemonic @A@P is encountered within the
SendKeys string.
GetScreenInformation
The GetScreenInformation part of this method retrieves all information from the 3270 screen
(from either the end of the Sendkeys string or as remembered when encountering the @A@G
Mnemonic while processing the SendKeys string).
Optionally, the special mnemonic @A@X can be sent to indicate that after the
GetScreenInformation is returned to the client the host will automatically Disconnect() the session
on the clients behalf thus saving the need to initiate a Disconnect() API exchange with the host
and dispatch the related network traffic.
This method is a multi-operation function that is intended for use only by advanced VBI
developers
Parameters
Name
Description
Type
inKeys
String
Integer
String
42
outCursor
Integer
outAidkey
String
Integer
outScreenName
String
String
Array
outFieldValues
String
Array
out3270FA
Byte
Array
Bit: 2
0 = Unprotected
1 = Protected
3 0 = Alphanumeric
1 = Numeric
* Note 11 in bits 2 and 3
* denotes Autoskip field
4-5 00
01
10
11
=
=
=
=
Normal nonlightpen
Normal/lightpen
Bright/lightpen
non-display
reserved
0 = Not modified
1 = Modified
Integer
Array
outFieldColumns
Integer
Array
43
Integer
Array
outFieldColors
Integer
Array
outFieldHighlights
Integer
Array
44
Parameters
Name
Description
Type
inKeys
String
String
String
Integer
outAidkey
String
Integer
outScreenName
String
String
Array
outFieldValues
String
Array
45
Description
Type
out3270FA
Byte Array
Bit: 2
0 = Unprotected
1 = Protected
3 0 = Alphanumeric
1 = Numeric
* Note 11 in bits 2 and 3
* denotes Autoskip field
4-5 00
01
10
11
=
=
=
=
Normal nonlightpen
Normal/lightpen
Bright/lightpen
non-display
reserved
0 = Not modified
1 = Modified
Integer
Array
outFieldColumns
Integer
Array
outFieldLengths
Integer
Array
outFieldColors
Integer
Array
outFieldHighlights
Integer
Array
46
47
Description
Type
inKeys
String
String
Array
inFieldValue
String
Array
outCursor
Integer
outAidkey
String
outFieldCount
Integer
outScreenName
String
outFieldNames
String Array
outFieldValues
String Array
48
Parameters (continued)
Name
Description
Type
out3270FA
Byte Array
Bit: 2
0 = Unprotected
1 = Protected
3 0 = Alphanumeric
1 = Numeric
* Note 11 in bits 2 and 3
* denotes Autoskip field
4-5 00
01
10
11
=
=
=
=
Normal nonlightpen
Normal/lightpen
Bright/lightpen
non-display
reserved
0 = Not modified
1 = Modified
Integer Array
outFieldColumns
Integer Array
outFieldLengths
Integer Array
outFieldColors
Integer Array
outFieldHighlights
Integer Array
Example
An example of a 3270 application that requires:
49
Transaction ABCD
Menu selection of entering the character 1 into a menu choice 3270 field
Collection of all information from the 3270 screen returned by the CICS application
A <PF3> 3270 AID key to exit out of this account display screen
A <clear> 3270 AID key to exit completely out of the CICS application
One could accomplish all of this with two trips to the mainframe CICS region as follows:
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim RC As Integer
outCursorPosition As Integer
outAidKey As String
outFieldCount As Integer
outScreenName As String
outFieldNames() As String
outFieldValues() As String
out3270FieldAttributes() As Byte
outFieldRows() As Integer
outFieldCols() As Integer
outFieldLengths() As Integer
outFieldColors() As Integer
outFieldHighlights() As Integer
RC = Bridge.ConnectBridge("140.147.249.7", 2317, 2,
"MYUSERID", "MYPASSWD")
RC = Bridge.X3270Screen( "ABCD@E@T1@E@A@P@E@A@G@3@3@A@X",
ACCOUNT,
"12345",
outCursorPosition,
outAidKey,
outFieldCount,
outScreenName,
outFieldNames,
outFieldValues,
out3270FieldAttributes,
outFieldRows,
outFieldCols,
outFieldLengths,
outFieldColors,
outFieldHighlights)
50
Error Codes
Mainframe Server Error Codes
Return
Code
Description
200
201
202
210
212
214
215
TERMINAL ID IN USE
320
330
340
350
351
352
353
354
355
401
410
460
461
51
Description
470
480
490
600
610
620
649
650
651
700
710
715
718
750
755
760
800
801
810
52
Description
999
1001
1002
1003
1010
1100
1110
1120
1200
1210
1300
1301
1302
1303
1305
1306
53
Description
1307
1308
1309
1310
1311
1312
1304
1313
1314
1320
FIELDCOUNT FAILED
1321
FINDFIELD FAILED
1322
FINDSTRING FAILED
1323
1326
GETATTRIBUTES FAILED
1327
1328
1329
1330
1331
1332
1402
54
Description
1403
1404
1408
1413
1418
1419
1422
1429
1431
1432
1490
1492
1497
1498
1499
91000
92000
93000
FOR THE ABOVE 3 CATEGORIES, MORE INFORMATION MAY BE AVAILABLE, AND IF SO, IT IS
INCLUDED AS THE 3 LOW ORDER POSITIONS OF THE RETURN CODE.
55
21
22
23
24
25
26
40
41
42
43
44
45
61
62
63
64
65
66
80
82
56
TRANSACTION IS DISABLED
85
86
87
100
120
121
140
141
VECTOR IS INVALID
142
143
160
57
Description
-9
-15
-20
-30
-35
-37
-38
-39
-40
-50
UserId invalid.
-60
Password Invalid.
-70
-85
-99
-100
58