SET_TP_PROPERTIES
SET_TP_PROPERTIES 동사를 사용하면 TP(트랜잭션 프로그램)가 LUWID를 제공하여 LUWID(논리 작업 단위 식별자)를 기존 값으로 설정하거나 SNA 서버에서 새 항목을 생성하고 그 때부터 사용하도록 요청할 수 있습니다. LUWID가 SNA 서버에서 생성되는 경우 고유한 것으로 보장됩니다. 이 동사는 동기화 지점 지원을 사용하도록 설정한 경우에만 사용됩니다.
다음 구조체는 SET_TP_PROPERTIES 동사에서 사용하는 VCB(동사 제어 블록)에 대해 설명합니다.
구문
struct set_tp_properties {
unsigned short opcode;
unsigned char opext;
unsigned char reserv2;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char tp_id[8];
unsigned char set_prot_id;
unsigned char new_prot_id;
unsigned char prot_id[26];
unsigned char set_unprot_id;
unsigned char new_unprot_id;
unsigned char unprot_id[26];
unsigned char set_user_id;
unsigned char reserv3;
unsigned char user_id[10];
unsigned char reserv4[10];
};
구성원
opcode
제공된 매개 변수입니다. 동사 작업 코드 AP_SET_TP_PROPERTIES 지정합니다.
opext
제공된 매개 변수입니다. 동사 작업 확장을 지정합니다. set_tp_properties 구조에 동기화 지점 지원이 필요함을 나타내기 위해 AP_EXTD_VCB 비트를 설정해야 합니다.
reserv2
예약된 필드입니다.
primary_rc
반환된 매개 변수입니다. 동사를 완료할 때 APPC에서 설정하는 기본 반환 코드를 지정합니다. 유효한 반환 코드는 발행된 APPC 동사에 따라 다릅니다. 이 동사의 유효한 오류 코드는 반환 코드를 참조하세요.
secondary_rc
반환된 매개 변수입니다. 동사를 완료할 때 APPC에서 설정하는 보조 반환 코드를 지정합니다. 유효한 반환 코드는 발행된 APPC 동사에 따라 다릅니다. 이 동사의 유효한 오류 코드는 반환 코드를 참조하세요.
tp_id
제공된 매개 변수입니다. 로컬 TP를 식별합니다. 이 매개 변수의 값은 호출하는 TP의 TP_STARTED 또는 호출된 TP의 RECEIVE_ALLOCATE 반환되었습니다.
set_prot_id
제공된 매개 변수입니다. prot_id 멤버를 수정해야 하는지 여부를 나타냅니다. 법적 값은 AP_YES 또는 AP_NO.
new_prot_id
제공된 매개 변수입니다. Microsoft® Host Integration Server에서 제공된 prot_id LUWID 멤버를 사용해야 하는지 아니면 새 LUWID를 만들어야 하는지 여부를 나타냅니다. 법적 값은 AP_YES(새 LUWID 만들기) 또는 AP_NO(제공된 LUWID 사용)입니다.
prot_id
이 멤버는 TP가 참여하는 트랜잭션에 대한 보호된 논리 작업 단위 식별자입니다. set_prot_id AP_NO 경우 무시됩니다. new_unprot_id AP_NO 경우 제공된 매개 변수이거나 new_unprot_id AP_YES 경우 반환된 매개 변수입니다.
트랜잭션에 여러 TP를 포함할 수 있습니다. 트랜잭션을 시작하는 TP를 대신하여 할당된 이 식별자를 사용하면 트랜잭션을 구성하는 대화가 논리적으로 연결될 수 있습니다.
prot_id 다음 필드를 사용하여 luw_id_overlay 구조체로 나타낼 수 있습니다.
typedef struct luw_id_overlay { unsigned char fqla_name_len; unsigned char fqla_name[17]; nsigned char instance[6]; unsigned char sequence[2];} LUW_ID_OVERLAY;
luw_id.fqla_name_len
원래 TP의 LU에 대한 정규화된 LU 이름의 1 바이트 길이입니다.
luw_id.fqla_name
원래 TP에 대한 LU의 정규화된 이름입니다. 이름은 NETID, 마침표 및 LU 이름으로 구성된 17 바이트 EBCDIC 문자열로 반환됩니다. 이름의 길이가 17바이트 미만이면 instance 및 시퀀스 번호가 즉시 수행됩니다. 이 때문에 luw_id_overlay 구조체의 필드를 사용하여 해당 값에 액세스해서는 안 됩니다. 호환성을 위해서만 제공됩니다).
luw_id.instance
원래 TP에 대해 LU에서 고유하게 생성된 6 바이트 문자열입니다.
luw_id.sequence
작업 단위의 세그먼트를 나타내는 2 바이트 숫자입니다. 동기화 지점이 지원되지 않는 경우 항상 1로 설정됩니다.
luw_id 길이가 26바이트 미만이면 오른쪽에 EBCDIC 공백으로 패딩됩니다.
set_unprot_id
제공된 매개 변수입니다. unprot_id 멤버를 수정해야 하는지 여부를 나타냅니다. 법적 값은 AP_YES 또는 AP_NO.
new_unprot_id
제공된 매개 변수입니다. 호스트 통합 서버가 제공된 unprot_id LUWID 멤버를 사용해야 하는지 아니면 새 LUWID를 만들어야 하는지 여부를 나타냅니다. 법적 값은 AP_YES(새 LUWID 만들기) 또는 AP_NO(제공된 LUWID 사용)입니다.
unprot_id
이 멤버는 TP가 참여하는 트랜잭션에 대한 보호되지 않는 논리 작업 단위 식별자입니다. set_unprot_id AP_NO 경우 무시됩니다. new_unprot_id AP_NO 경우 제공된 매개 변수이거나 new_unprot_id AP_YES 경우 반환된 매개 변수입니다.
트랜잭션에 여러 TP를 포함할 수 있습니다. 트랜잭션을 시작하는 TP를 대신하여 할당된 이 식별자를 사용하면 트랜잭션을 구성하는 대화가 논리적으로 연결될 수 있습니다.
prot_id 다음 필드를 사용하여 luw_id_overlay 구조체로 나타낼 수 있습니다.
typedef struct luw_id_overlay { unsigned char fqla_name_len; unsigned char fqla_name[17]; nsigned char instance[6]; unsigned char sequence[2];} LUW_ID_OVERLAY;
luw_id.fqla_name_len
원래 TP의 LU에 대한 정규화된 LU 이름의 1 바이트 길이입니다.
luw_id.fqla_name
원래 TP에 대한 LU의 정규화된 이름입니다. 이름은 NETID, 마침표 및 LU 이름으로 구성된 17 바이트 EBCDIC 문자열로 반환됩니다. 이름의 길이가 17바이트 미만이면 instance 및 시퀀스 번호가 즉시 수행됩니다. 이 때문에 luw_id_overlay 구조체의 필드를 사용하여 해당 값에 액세스해서는 안 됩니다. 호환성을 위해서만 제공됩니다.)
luw_id.instance
원래 TP에 대해 LU에서 고유하게 생성된 6 바이트 문자열입니다.
luw_id.sequence
작업 단위의 세그먼트를 나타내는 2 바이트 숫자입니다. 동기화 지점이 지원되지 않는 경우 항상 1로 설정됩니다.
luw_id 길이가 26바이트 미만이면 오른쪽에 EBCDIC 공백으로 패딩됩니다.
set_user_id
제공된 매개 변수입니다. user_id 멤버를 수정해야 하는지 여부를 나타냅니다. 법적 값은 AP_YES 또는 AP_NO.
reserve3
예약된 필드입니다.
User_id
제공된 매개 변수입니다. 할당 요청에서 시작 TP에서 사용해야 하는 user_id 나타냅니다. 이름은 EBCDIC 공백이 있는 오른쪽에 패딩된 10바이트 EBCDIC 문자열입니다. set_user_id AP_NO 경우 이 매개 변수는 무시됩니다.
reserve4
예약된 필드입니다.
반환 코드
AP_OK
기본 반환 코드입니다. 동사가 성공적으로 실행되었습니다.
AP_PARAMETER_CHECK
기본 반환 코드입니다. 매개 변수 오류로 인해 동사가 실행되지 않았습니다.
AP_BAD_TP_ID
보조 반환 코드; tp_id 값이 APPC에서 할당한 TP 식별자와 일치하지 않습니다.
AP_COMM_SUBSYSTEM_ABENDED
기본 반환 코드입니다. 다음 조건 중 하나를 나타냅니다.
이 대화에서 사용하는 노드에 ABEND가 발생했습니다.
TP와 PU 2.1 노드 간의 연결이 끊어졌습니다(LAN 오류).
TP 컴퓨터의 SnaBase에서 ABEND가 발생했습니다.
시스템 관리자는 오류 로그를 검사하여 ABEND의 원인을 확인해야 합니다.
AP_COMM_SUBSYSTEM_NOT_LOADED
기본 반환 코드입니다. 동사를 처리하는 동안 필수 구성 요소를 로드하거나 종료할 수 없습니다. 따라서 통신을 수행할 수 없습니다. 정정 작업은 시스템 관리자에게 문의하세요AP_INVALID_VERB_SEGMENT
기본 반환 코드입니다. VCB가 데이터 세그먼트의 끝을 넘어 확장되었습니다.AP_STACK_TOO_SMALL
기본 반환 코드입니다. 애플리케이션의 스택 크기가 너무 작아서 동사를 실행할 수 없습니다. 애플리케이션의 스택 크기를 늘리세요.AP_TP_BUSY
기본 반환 코드입니다. APPC가 동일한 TP에 대한 다른 호출을 처리하는 동안 로컬 TP에서 APPC에 대한 호출을 발행했습니다. 로컬 TP에 여러 스레드가 있고 둘 이상의 스레드가 동일한 tp_id 사용하여 APPC 호출을 실행하는 경우에 발생할 수 있습니다.AP_UNEXPECTED_DOS_ERROR
기본 반환 코드입니다. 로컬 TP의 APPC 호출을 처리하는 동안 운영 체제가 APPC에 오류를 반환했습니다. 운영 체제 반환 코드는 secondary_rc를 통해 반환됩니다. Intel 바이트 스와핑 순서로 표시됩니다. 문제가 지속되면 시스템 관리자에게 문의하세요.
설명
이 동사는 사양 대화가 아닌 TP와 관련이 있으므로 TP는 모든 상태에서 동사를 발급할 수 있습니다. 상태 변경은 없습니다.
prot_id 및 unprot_id 멤버에는 fqla_name_len(TP를 시작하는 LU의 정규화된 LU 이름 길이), fqla_name(TP를 시작하는 LU의 정규화된 이름), instance(TP를 시작하는 LU에서 고유하게 생성됨) 및 시퀀스(항상 1로 설정되고 작업 단위 세그먼트를 나타낸)에 대한 필드가 포함됩니다.
보호된 LUWID가 변경될 때 새 LUWID PS 헤더를 파트너 동기화 지점 지원으로 전송하는 것은 애플리케이션(동기화 지점 지원 구성 요소)의 책임입니다. 마찬가지로 새 LUWID PS 헤더가 수신되면 애플리케이션은 SET_TP_PROPERTIES 동사를 발급하여 LU에 알려야 합니다.