RECEIVE_ALLOCATE
호출된 TP(트랜잭션 프로그램)에서 RECEIVE_ALLOCATE 동사를 실행하여 호출된 TP가 ALLOCATE 또는 MC_ALLOCATE 발급한 호출 TP와의 대화를 시작할 준비가 되었음을 확인합니다.
다음 구조에서는 RECEIVE_ALLOCATE 동사에서 사용하는 동사 제어 블록(VCB)을 설명합니다.
구문
struct receive_allocate {
unsigned short opcode;
unsigned char opext;
unsigned char reserv2;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char tp_name[64];
unsigned char tp_id[8];
unsigned long conv_id;
unsigned char sync_level;
unsigned char conv_type;
unsigned char user_id[10];
unsigned char lu_alias[8];
unsigned char plu_alias[8];
unsigned char mode_name[8];
unsigned char reserv3[2];
unsigned long conv_group_id;
unsigned char fqplu_name[17];
unsigned char pip_incoming;
unsigned char syncpoint_rqd;
unsigned char reserv4[3];
};
구성원
opcode
제공된 매개 변수입니다. 동사 작업 코드 AP_RECEIVE_ALLOCATE 지정합니다.
opext
제공된 매개 변수입니다. 동사 연산 확장 AP_BASIC_CONVERSATION 지정합니다.
reserv2
예약된 필드입니다.
primary_rc
반환된 매개 변수입니다. 동사를 완료할 때 APPC에서 설정하는 기본 반환 코드를 지정합니다. 유효한 반환 코드는 발행된 APPC 동사에 따라 다릅니다. 이 동사의 유효한 오류 코드는 반환 코드를 참조하세요.
secondary_rc
반환된 매개 변수입니다. 동사를 완료할 때 APPC에서 설정하는 보조 반환 코드를 지정합니다. 유효한 반환 코드는 발행된 APPC 동사에 따라 다릅니다. 이 동사의 유효한 오류 코드는 반환 코드를 참조하세요.
tp_name
제공된 매개 변수입니다. 로컬 TP의 이름을 제공합니다.
tp_name 값은 레지스트리 또는 환경 변수를 통해 구성된 TP 이름과 일치해야 합니다. APPC는 RECEIVE_ALLOCATE 동사의 tp_name 매개 변수와 들어오는 할당에 의해 지정된 TP 이름과 일치합니다. 이 이름은 호출하는 TP에서 MC_ALLOCATE 또는 ALLOCATE 에 의해 생성됩니다.
이 매개 변수는 64바이트 EBCDIC 문자열이며 대/소문자를 구분합니다. tp_name 매개 변수는 AE EBCDIC 문자 집합 형식의 문자로 구성됩니다.
대문자 및 소문자
숫자 0~9
특수 문자 $, #, 마침표(.)
tp_name 64바이트 미만인 경우 EBCDIC 공백(0x40)을 사용하여 오른쪽에 패딩합니다.
SNA 규칙은 서비스 TP 이름에 최대 4자까지 포함할 수 있다는 것입니다. 첫 번째 문자는 0x00과 0x3F 사이의 16진수 바이트입니다. 다른 문자는 AE EBCDIC 문자 집합 형식에서 가져옵니다.
tp_id
반환된 매개 변수입니다. 로컬 TP를 식별합니다.conv_id
반환된 매개 변수입니다. 대화 식별자를 제공합니다. 두 파트너 TP 간에 APPC가 설정한 대화를 식별합니다.sync_level
반환된 매개 변수입니다. 대화의 동기화 수준을 지정합니다. TP가 데이터 수신 확인을 요청하고 데이터 수신을 확인할 수 있는지 여부를 결정합니다.AP_NONE 이 대화에서 확인 처리가 사용되지 않도록 지정합니다.
AP_CONFIRM_SYNC_LEVEL TP가 이 대화에서 확인 처리를 사용할 수 있도록 지정합니다.
AP_SYNCPT TP가 이 대화에서 동기화 지점 수준 2 확인 처리를 사용할 수 있도록 지정합니다.
conv_type
반환된 매개 변수입니다. MC_ALLOCATE 또는 ALLOCATE를 사용하여 파트너 TP가 선택한 대화 유형을 지정합니다. 다음은 가능한 값입니다.AP_BASIC_CONVERSATION
AP_MAPPED_CONVERSATION
User_id
반환된 매개 변수입니다. MC_ALLOCATE 또는 ALLOCATE를 사용하여 파트너 TP에서 지정한 사용자 식별자를 제공합니다(파트너 TP가 MC_ALLOCATE 또는 ALLOCATE 동사의 보안 매개 변수를 AP_PGM 또는 AP_SAME 설정한 경우). AE EBCDIC 문자열 형식입니다.lu_alias
반환된 매개 변수입니다. LU(로컬 논리 단위)가 로컬 TP에 알려진 별칭을 제공합니다. ASCII 문자 문자열입니다.plu_alias
반환된 매개 변수입니다. 들어오는 할당을 시작한 파트너 LU가 로컬 TP에 알려진 별칭을 제공합니다. ASCII 문자 문자열입니다.mode_name
반환된 매개 변수입니다. 파트너 TP에서 MC_ALLOCATE 또는 ALLOCATE 로 지정된 모드 이름을 제공합니다. 구성 중에 정의된 네트워킹 특성 집합의 이름입니다. mode_name EBCDIC 문자열 형식입니다.reserv3
예약된 필드입니다.conv_group_id
대화 그룹 식별자입니다.fqplu_name
반환된 이 매개 변수는 정규화된 LU 이름을 제공합니다.pip_incoming
이 선택적 제공 및 반환된 매개 변수는 동기화 지점 서비스가 필요한 경우에만 적용됩니다.제공된 매개 변수의 경우:
TP가 PIP 데이터를 수락하는지 AP_YES.
TP가 PIP 데이터를 허용하지 않는 경우 AP_NO.
반환된 매개 변수의 경우:
PIP 데이터를 사용할 수 있는지 AP_YES.
PIP 데이터를 사용할 수 없는 경우 AP_NO.
syncpoint_rqd
이 매개 변수는 동기화 지점 서비스가 필요한지 나타냅니다.동기화 지점이 필요한 경우 AP_YES입니다.
동기화 지점이 필요하지 않은 경우 AP_NO입니다.
reserv4
예약된 필드입니다.
반환 코드
AP_OK
기본 반환 코드입니다. 동사가 성공적으로 실행되었습니다.
AP_PARAMETER_CHECK
기본 반환 코드입니다. 매개 변수 오류로 인해 동사가 실행되지 않았습니다.
AP_UNDEFINED_TP_NAME
보조 반환 코드; TP 이름이 올바르게 구성되지 않았습니다.
AP_STATE_CHECK
기본 반환 코드입니다. 동사가 잘못된 상태에서 발행되었으므로 실행되지 않았습니다.
AP_ALLOCATE_NOT_PENDING
보조 반환 코드; APPC는 RECEIVE_ALLOCATE 제공하는 tp_name 값과 일치하는 들어오는 할당(호출 TP)을 찾지 못했습니다. RECEIVE_ALLOCATE가 들어오는 할당을 대기하다가 결국 시간 초과되었습니다.
AP_INVALID_PROCESS
보조 반환 코드; RECEIVE_ALLOCATE 발급하는 프로세스는 APPC에서 시작한 프로세스와 다릅니다.
AP_COMM_SUBSYSTEM_ABENDED
기본 반환 코드입니다. 다음 조건 중 하나를 나타냅니다.
이 대화에서 사용하는 노드에 ABEND가 발생했습니다.
TP와 PU 2.1 노드 간의 연결이 끊어졌습니다(LAN 오류).
TP 컴퓨터의 SnaBase에서 ABEND가 발생했습니다.
시스템 관리자는 오류 로그를 검사하여 ABEND의 원인을 확인해야 합니다.
AP_CONV_BUSY
기본 반환 코드; 모든 대화에서 한 번에 하나의 미해결 대화 동사만 있을 수 있습니다.AP_THREAD_BLOCKING
기본 반환 코드입니다. 호출 스레드가 이미 차단 호출에 있습니다.AP_COMM_SUBSYSTEM_NOT_LOADED
기본 반환 코드입니다. 동사를 처리하는 동안 필수 구성 요소를 로드하거나 종료할 수 없습니다. 따라서 통신을 수행할 수 없습니다. 정정 작업은 시스템 관리자에게 문의하세요AP_INVALID_VERB_SEGMENT
기본 반환 코드입니다. VCB가 데이터 세그먼트의 끝을 넘어 확장되었습니다.AP_STACK_TOO_SMALL
기본 반환 코드입니다. 애플리케이션의 스택 크기가 너무 작아서 동사를 실행할 수 없습니다. 애플리케이션의 스택 크기를 늘리세요.AP_UNEXPECTED_DOS_ERROR
기본 반환 코드입니다. 로컬 TP의 APPC 호출을 처리하는 동안 운영 체제가 APPC에 오류를 반환했습니다. 운영 체제 반환 코드는 secondary_rc를 통해 반환됩니다. Intel 바이트 스와핑 순서로 표시됩니다. 문제가 지속되면 시스템 관리자에게 문의하세요.
설명
호출된 TP에서 발급한 첫 번째 APPC 동사여야 합니다. 초기 상태는 RESET입니다. 동사가 성공적으로 실행되면(primary_rc AP_OK) 상태가 RECEIVE로 변경됩니다.
이 동사에 대한 응답으로 APPC는 두 TP 간에 대화를 설정하고 호출된 TP 및 대화 식별자에 대한 TP 식별자를 생성합니다. 이러한 식별자는 후속 APPC 동사에 필요한 매개 변수입니다.
호출된 TP가 RECEIVE_ALLOCATE 문제가 있고 해당 들어오는 할당(호출하는 TP에서 발급된 MC_ALLOCATE 또는 ALLOCATE 에서 발생)이 없는 경우 호출된 TP는 들어오는 할당이 도착하거나 동사가 시간 초과될 때까지 기다립니다. 시간 제한 값은 시스템 관리자가 설정합니다.
또한 Host Integration Server는 APPC RECEIVE_ALLOCATE_EX 및 RECEIVE_ALLOCATE_EX_END 함수를 지원하여 일부 호출 가능한 트랜잭션 프로그램의 설계 및 구현을 간소화합니다. 이 함수를 사용하면 APPC 애플리케이션이 특정 로컬 APPC LU를 통해 호스트 통합 서버에서 받은 들어오는 모든 FMH-5 연결 요청을 수신할 수 있으므로 애플리케이션이 "연결 관리자"로 작동할 수 있습니다. 연결 관리자는 들어오는 FMH-5 연결 요청을 처리하여 LU6.2 대화를 시작하는 프로그램입니다. APPC 애플리케이션이 RECEIVE_ALLOCATE_EX 아니라 RECEIVE_ALLOCATE 호출하는 경우 Host Integration Server는 연결 관리자 기능을 처리합니다.
연결 관리자에 대한 자세한 내용은 RECEIVE_ALLOCATE_EX 참조하세요.