다음을 통해 공유


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 A 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 참조하세요.