- return_code
-
Direction: Output | Type: Integer |
The return code specifies the general result of the callable
service. Appendix A. ICSF and TSS Return and Reason Codes lists the return codes.
- reason_code
-
Direction: Output | Type: Integer |
The reason code specifies the result of the callable service
that is returned to the application program. Each return code has
different reason codes that indicate specific processing problems. Appendix A. ICSF and TSS Return and Reason Codes lists the reason codes.
- exit_data_length
-
Direction: Input/Output | Type: Integer |
The length of the data that is passed to the installation
exit. The length can be from X'00000000' to X'7FFFFFFFFF' (2
gigabytes). The data is defined in the exit_data parameter.
- exit_data
-
Direction: Input/Output | Type: String |
The data that is passed to the installation exit.
- PIN_generating_key_identifier
-
Direction: Input/Output | Type: String |
The 64-byte internal key token or a key label of an internal
key token in the CKDS. The internal key token contains the PIN-generating
key. The control vector must specify the PINGEN key type and have
the EPINGEN usage bit set to 1.
- outbound_PIN_encrypting_key_identifier
-
Direction: Input | Type: String |
A 64-byte internal key token or a key label of an internal
key token in the CKDS. The internal key token contains the key to
be used to encrypt the formatted PIN and must contain a control vector
that specifies the OPINENC key type and has the EPINGEN usage bit
set to 1.
- rule_array_count
-
Direction: Input | Type: Integer |
The number of keywords you are supplying in the rule_array parameter.
The value must be 1.
- rule_array
-
Direction: Input | Type: Character string |
Keywords that provide control information to the callable
service. Each keyword is left-justified in an 8-byte field, and padded
on the right with blanks. All keywords must be in contiguous storage.
The rule array keywords are shown as follows:
Table 187. Process Rules for the Encrypted PIN Generate Callable ServiceProcess Rule | Description |
---|
GBP-PIN | This keyword specifies the IBM German
Bank Pool Institution PIN calculation method is to be used to generate
a PIN. |
IBM-PIN | This keyword specifies the IBM 3624
PIN calculation method is to be used to generate a PIN. |
INBK-PIN | This keyword specifies the Interbank
PIN calculation method is to be used to generate a PIN. |
- PIN_length
-
Direction: Input | Type: Integer |
A integer defining the PIN length for those PIN calculation
methods with variable length PINs; otherwise, the variable should
be set to zero.
- data_array
-
Direction: Input | Type: String |
Three 16-byte character strings, which are equivalent to
a single 48-byte string. The values in the data array depend on the
keyword for the PIN calculation method. Each element is not always
used, but you must always declare a complete data array. The numeric
characters in each 16-byte string must be from 1 to 16 bytes in length,
uppercase, left-justified, and padded on the right with space characters. Table 188 describes the array elements.
Table 188. Array Elements for the Encrypted PIN Generate Callable ServiceArray Element | Description |
---|
Decimalization_table | Decimalization table for IBM and
GBP only. Sixteen characters that are used to map the hexadecimal
digits (X'0' to X'F') of the encrypted validation
data to decimal digits (X'0' to X'9').
Note:
If the ANSI X9.8 PIN - Use stored
decimalization tables only access control point is enabled in
the ICSF role, this table must match one of the active decimalization
tables in the coprocessors. |
Trans_sec_parm | For Interbank only, sixteen digits.
Eleven right-most digits of the personal account number (PAN). A constant
of 6. One digit key selector index. Three digits of PIN validation
data. |
Validation_data | Validation data for IBM and IBM German
Bank Pool padded to 16 bytes. One to sixteen characters of hexadecimal
account data left-justified and padded on the right with blanks. |
Table 189 lists the data array elements required
by the process rule (rule_array parameter). The numbers
refer to the process rule’s position within the array.
- PIN_profile
-
Direction: Input | Type: String array |
A 24-byte string containing the PIN profile including the
PIN block format. See The PIN Profile for additional information.
- PAN_data
-
Direction: Input | Type: String |
A 12-byte string that contains 12 digits of Personal Account
Number (PAN) data. The service uses this parameter if the PIN profile
specifies the ISO-0 or VISA-4 keyword for the PIN block format. Otherwise,
ensure that this parameter is a 4-byte variable in application storage.
The information in this variable will be ignored, but the variable
must be specified.
Note:
When using the ISO-0 keyword, use
the 12 rightmost digit of the PAN data, excluding the check digit.
When using the VISA-4 keyword, use the 12 leftmost digits of the PAN
data, excluding the check digit.
- sequence_number
-
Direction: Input | Type: Integer |
The 4-byte string that contains the sequence number used
by certain PIN block formats. The service uses this parameter if the
PIN profile specifies the 3621 or 4704-EPP keyword for the PIN block
format. Otherwise, ensure that this parameter is a 4-byte variable
in application data storage. The information in the variable will
be ignored, but the variable must be declared. To enter a sequence
number, do this:
- Enter 99999 to use a random sequence number that the service generates.
- For the 3621 PIN block format, enter a value in the range from
0 to 65535.
- For the 4704-EPP PIN block format, enter a value in the range
from 0 to 255.
- encrypted_PIN_block
-
Direction: Output | Type: String |
The field where the service returns the 8-byte encrypted
PIN.