Description:
Initializes or updates profile information for a conversation that calls APPCStart. This routine can be used with APPCGetInitProfile to query the user for the profile values.
Declaration:
subroutine APPCSetInitProfile(string: PROFILE_NAME,
integer:ACTION,
string: LOCAL_LU_ALIAS_NAME,
string: PARTNER_LU_ALIAS_NAME,
string: PARTNER_TP_NAME,
string: MODE_NAME,
string: SECURITY_PARAMETERS,
integer:INACTIVITY_TIMEOUT,
integer:BUFFER_SIZE,
integer:ASCII_TABLE,
integer:EBCDIC_TABLE )
library "eslappc"
Arguments:
•PROFILE_NAME is a string variable that specifies the name of the profile. This name is the same name specified as an argument to the APPCStart subroutine call. (This argument is case sensitive.)
•ACTION is an integer variable that specifies the profile operation to be undertaken. Its values are:
APPC_CreateProfile |
(Default) A new profile is being created. If a profile with the same name already exists, the existing profile is not updated and errorlevel is set to indicate that an error has occurred. |
APPC_ReplaceProfile |
An existing profile is being updated. If the profile does not exist, it is created automatically. |
APPC_DeleteProfile |
An existing profile is being deleted. The profile entry represented by PROFILE_NAME is deleted from the profile file. |
•LOCAL_LU_ALIAS_NAME is a string variable that specifies the locally-known name for the logical unit (LU). This name was established during configuration of your communications program. Its maximum length is eight characters. It also must be identified in the Partner LU Profile.
•PARTNER_LU_ALIAS_NAME is a string variable that specifies the name of a partner logical unit (LU) profile that was established during configuration. Its maximum length is eight characters.
•PARTNER_TP_NAME is a string variable that specifies the name of the partner transaction program (TP). (This argument is case sensitive.) Its maximum length is 64 characters. This is the TP name specified in the partner's configuration using the Remotely Attachable Transition Program Profile. If the partner is invoking an ESL program, the partner TP name must be the same as the profile name specified in the APPCAcceptStart subroutine call, and the partner TP filename must be ESLAPPCA.EXE.
•MODE_NAME is a string variable that specifies the mode name. The mode identifies the characteristics of the allocated session. The name must match a mode name established during configuration. Its maximum length is eight characters.
•SECURITY_PARAMETERS is a string variable that specifies the parameters used to validate access to a partner transaction program and its resources. The following options may be used:
None |
The conversation does not use security. |
Same |
The user ID is verified locally. |
pgm/USERID/PASSWORD |
The partner logical unit (LU) validates access with the security information provided. Separate parameters with a forward slash (/). USERID is the ID of the local user; its maximum length is ten characters. (This argument is case sensitive.) PASSWORD is the password of the local user; its maximum length is ten characters. (This argument is case sensitive.) |
INACTIVITY_TIMEOUT |
is an integer variable that specifies a timer value (in seconds) allowing state switching to occur automatically when a conversation with authority to send is inactive for more than the specified number of seconds. This is a value that may require tuning. (Five seconds is a reasonable initial value.) If set to zero, no check is made to see if the partner application wants to send data between sends. This prevents automatic switching from being initiated by the partner. If automatic switching is disabled, your program, when it has completed sending, must be sure to call the APPCReadyToReceive subroutine, or call the APPCSendString subroutine with the MORE_TO_SEND argument set to APPC_ReadyToReceive. Maximum value is 2,145,600. |
BUFFER_SIZE |
is an integer between 0 and 65500 (default 2048) that specifies the buffer size (in bytes) to be used to send and receive data. If specified as zero, a default buffer size of 2K bytes is used. The buffer size must be large enough to contain the largest number of characters or bytes of data to be sent in one call. |
ASCII_TABLE |
is an integer value that represents the ASCII code page used for conversions. If specified as zero, the current system code page is used. |
EBCDIC_TABLE |
is an integer value that represents the EBCDIC code page used for conversions. If specified as zero, the international code page, 500, is used. |
Remarks:
The profile values are used by the transaction program that issues the APPC calls. We have provided a sample program to do profile maintenance (APPCPROF.EAL).
Errors:
APPC_NORMAL_COMPLETION |
Normal completion. |
APPC_ERR_ON_FILE_OPEN |
Error opening file. |
APPC_ERR_ON_FILE_WRITE |
Error writing file. |
APPC_ERR_OUT_OF_DISK_SPACE |
Out of disk space. |
APPC_ERR_OUT_OF_MEMORY |
Out of memory. |
APPC_ERR_INV_PROFILE_NAME |
Invalid argument: PROFILE_NAME |
APPC_ERR_INV_LOC_LU_ALIAS_NAME |
Invalid argument: LOCAL_LU_ALIAS_NAME |
APPC_ERR_INV_PAR_LU_ALIAS_NAME |
Invalid argument: PARTNER_LU_ALIAS_NAME |
APPC_ERR_INV_PAR_TP_NAME |
Invalid argument: PARTNER_TP_NAME |
APPC_ERR_INV_MODE_NAME |
Invalid argument: MODE_NAME |
APPC_ERR_INV_SEC_PARMS |
Invalid argument: SECURITY_PARAMETERS |
APPC_ERR_INV_INACT_TIMEOUT |
Invalid argument: INACTIVITY_TIMEOUT |
APPC_ERR_INV_BUFFER_SIZE |
Invalid argument: BUFFER_SIZE |
APPC_ERR_INV_ASCII_TABLE |
Invalid argument: ASCII_TABLE |
APPC_ERR_INV_EBCDIC_TABLE |
Invalid argument: EBCDIC_TABLE |
APPC_ERR_INV_PROFILE_ACTION |
Invalid argument: ACTION |
APPC_ERR_PROFILE_ALREADY_EXISTS |
Profile already exists when APPC_CreateProfile specified. |
Example:
response to start
call APPCSetInitProfile(Profile, # "MYPROF"
ProfileAction, # "APPC_ReplaceProfile"
MyLU, # "LU1" example name
PartnerLU, # "LU4" example name
ReceiveTPName, # "MYPROF"
ModeName, # "TKNRING" example name
NoSecurity, # "none"
TimeOut, # 5 five seconds
Buffer_Size, # 0 use 2K byte buffer
ASCII_Table, # 0 use current code page
EBCDIC_Table ) # 0 use code page 500