TP_ENDED
TP_ENDED 동사는 호출 및 호출된 TP(트랜잭션 프로그램)에서 모두 발급되며, APPC에 TP가 종료되었음을 알 수 있습니다.
Microsoft® Windows® 버전 3.x 시스템의 경우 이 호출의 차단 버전 대신 WinAsyncAPPC 함수를 사용하는 것이 좋습니다.
다음 구조체는 TP_ENDED 동사에서 사용하는 동사 제어 블록(VCB)을 설명합니다.
구문
struct tp_ended {
unsigned short opcode;
unsigned char opext;
unsigned char reserv2;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char tp_id[8];
unsigned char type;
};
구성원
opcode
제공된 매개 변수입니다. 동사 작업 코드 AP_TP_ENDED 지정합니다.
opext
제공된 매개 변수입니다. 동사 작업 확장을 지정합니다. 이 필드는 TP_ENDED 동사에서 사용되지 않습니다.
reserv2
예약된 필드입니다.
primary_rc
반환된 매개 변수입니다. 동사를 완료할 때 APPC에서 설정하는 기본 반환 코드를 지정합니다. 유효한 반환 코드는 발행된 APPC 동사에 따라 다릅니다. 이 동사의 유효한 오류 코드는 반환 코드를 참조하세요.
secondary_rc
반환된 매개 변수입니다. 동사를 완료할 때 APPC에서 설정하는 보조 반환 코드를 지정합니다. 유효한 반환 코드는 발행된 APPC 동사에 따라 다릅니다. 이 동사의 유효한 오류 코드는 반환 코드를 참조하세요.
tp_id
제공된 매개 변수입니다. 로컬 TP를 식별합니다. 이 매개 변수의 값은 호출하는 TP의 TP_STARTED 또는 호출된 TP의 RECEIVE_ALLOCATE 반환되었습니다.
type
제공된 매개 변수입니다. 수행할 종료 유형을 지정합니다. 허용되는 값은 다음과 같습니다.
AP_HARD TP의 모든 활성 동사가 종료되었음을 나타냅니다. 대화에서 사용하는 세션이 종료됩니다. 로컬 TP와 파트너 TP는 모두 대화 실패 반환 코드(매핑된 대화의 경우 AP_DEALLOC_ABEND, 기본 대화의 경우 AP_DEALLOC_ABEND_PROG)를 받을 수 있습니다.
AP_SOFT TP가 모든 활성 동사가 완료되기를 기다린다는 것을 나타냅니다. 대화에서 사용되는 세션은 활성 상태로 유지합니다.
반환 코드
AP_OK
기본 반환 코드입니다. 동사가 성공적으로 실행되었습니다.
AP_PARAMETER_CHECK
기본 반환 코드입니다. 매개 변수 오류로 인해 동사가 실행되지 않았습니다.
AP_BAD_TP_ID
보조 반환 코드; APPC는 tp_id 할당된 TP 식별자로 인식하지 못했습니다.
AP_BAD_TYPE
보조 반환 코드; 지정된 형식 값이 APPC에서 인식되지 않았습니다.
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_THREAD_BLOCKING
기본 반환 코드입니다. 호출 스레드가 이미 차단 호출에 있습니다.AP_UNEXPECTED_DOS_ERROR
기본 반환 코드입니다. 로컬 TP의 APPC 호출을 처리하는 동안 운영 체제가 APPC에 오류를 반환했습니다. 운영 체제 반환 코드는 secondary_rc를 통해 반환됩니다. Intel 바이트 스와핑 순서로 표시됩니다. 문제가 지속되면 시스템 관리자에게 문의하세요.
설명
TP_ENDED 대한 응답으로 APPC는 TP에서 사용하는 리소스를 해제합니다. 이 동사가 실행되면 TP 식별자가 더 이상 유효하지 않습니다. TP는 더 이상 APPC 대화 동사를 실행할 수 없습니다.
TP가 이 동사를 발급할 때 대화는 모든 상태에 있을 수 있습니다.
대화가 SEND 상태인 경우 TP_ENDED DEALLOC_TYPE AP_FLUSH 설정된 DEALLOCATE 또는 MC_DEALLOCATE 함수를 수행합니다.
대화가 RESET 또는 SEND 이외의 상태에 있는 경우 TP_ENDED DEALLOC_TYPE AP_ABEND(매핑된 대화의 경우) 또는 AP_ABEND_PROG(기본 대화의 경우)로 설정된 DEALLOCATE 또는 MC_DEALLOCATE 함수를 수행합니다.
성공적으로 실행된 후(primary_rc AP_OK) APPC 상태가 없습니다.