RUI_BID

Il verbo RUI_BID notifica all'applicazione URI (Request Unit Interface) che un messaggio è in attesa di essere letto usando RUI_READ.

La struttura seguente descrive il membro LUA_COMMON del blocco di controllo verbo (VCB) utilizzato da RUI_BID:

La seconda unione di sintassi descrive il membro LUA_SPECIFIC del blocco di controllo verbo (VCB) utilizzato da RUI_BID. Altri membri dell'unione vengono omessi per maggiore chiarezza:

Sintassi

  
struct LUA_COMMON {  
    unsigned short lua_verb;  
    unsigned short lua_verb_length;  
    unsigned short lua_prim_rc;  
    unsigned long  lua_sec_rc;  
    unsigned short lua_opcode;  
    unsigned long  lua_correlator;  
    unsigned char  lua_luname[8];  
    unsigned short lua_extension_list_offset;  
    unsigned short lua_cobol_offset;  
    unsigned long  lua_sid;  
    unsigned short lua_max_length;  
    unsigned short lua_data_length;  
    char FAR *     lua_data_ptr;  
    unsigned long  lua_post_handle;  
    struct LUA_TH  lua_th;  
    struct LUA_RH  lua_rh;  
    struct LUA_FLAG1 lua_flag1;  
    unsigned char  lua_message_type;  
    struct LUA_FLAG2 lua_flag2;   
    unsigned char  lua_resv56[7];  
    unsigned char  lua_encr_decr_option;  
};  
union LUA_SPECIFIC {  
    unsigned char lua_peek_data[12];  
};  

Members

lua_verb
Parametro fornito. Contiene il codice verbo, LUA_VERB_RUI per i verbi URI.

lua_verb_length
Parametro fornito. Specifica la lunghezza in byte del VCB (LUA) dell'applicazione di unità logica. Deve contenere la lunghezza del record verbo da emettere.

lua_prim_rc
Codice restituito primario impostato da LUA al completamento del verbo. I codici restituiti validi variano a seconda del verbo LUA emesso.

lua_sec_rc
Codice restituito secondario impostato da LUA al completamento del verbo. I codici restituiti validi variano a seconda del verbo LUA emesso.

lua_opcode
Parametro fornito. Contiene il codice del comando LUA (codice dell'operazione verbo) per il verbo da emettere LUA_OPCODE_RUI_BID.

lua_correlator
Parametro fornito. Contiene un valore fornito dall'utente che collega il verbo con altre informazioni fornite dall'utente. LUA non usa o modifica queste informazioni. Questo parametro è facoltativo e,

lua_luname
Parametro fornito. Specifica il nome ASCII dell'lu locale utilizzato dalla sessione LUA di Windows.

RUI_BID richiede questo parametro solo se lua_sid è zero.

Questo parametro è lungo otto byte, riempito a destra con spazi (0x20) se il nome è più breve di otto caratteri.

lua_extension_list_offset
Non usato dalla URI in Microsoft® Host Integration Server e deve essere impostato su zero.

lua_cobol_offset
Non usato da LUA in Host Integration Server e deve essere zero.

lua_sid
Parametro fornito. Specifica l'identificatore di sessione e viene restituito da SLI_OPEN e RUI_INIT. Altri verbi usano questo parametro per identificare la sessione usata per il comando . Se altri verbi usano il parametro lua_luname per identificare le sessioni, impostare il parametro lua_sid su zero.

lua_max_length
Non usato da RUI_BID e deve essere impostato su zero.

lua_data_length
Parametro restituito. Specifica la lunghezza dei dati restituiti in lua_peek_data per RUI_BID.

lua_data_ptr
Questo parametro non viene usato e deve essere impostato su zero.

lua_post_handle
Parametro fornito. Utilizzato in Microsoft Windows Server se la notifica asincrona deve essere eseguita dagli eventi. Questa variabile contiene l'handle dell'evento da segnalare o un handle di finestra.

lua_th
Parametro restituito. Contiene l'intestazione di trasmissione SNA (TH) del messaggio ricevuto. Vari sottoparametri sono impostati per le funzioni di scrittura e restituite per le funzioni di lettura e offerta. I relativi sottoparametri sono i seguenti:

lua_th.flags_fid

Tipo di identificazione del formato 2, quattro bit.

lua_th.flags_mpf

Campo di mapping segmentazione, due bit. Definisce il tipo di segmento di dati. I valori seguenti sono validi:

0x00 Segmento intermedio0x04 Segmento ultimo0x08 Segmento primo0x0C Solo segmento

lua_th.flags_odai

Indicatore dell'assegnatore OAF-DAF (Address Field-DAF) di origine, un bit.

lua_th.flags_efi

Indicatore di flusso accelerato, un bit.

lua_th.daf

Campo indirizzo di destinazione (DAF), un carattere senza segno.

lua_th.oaf

Campo indirizzo di origine (OAF), un carattere senza segno.

lua_th.snf

Campo numero di sequenza, un carattere senza segno[2].

lua_rh
Parametro restituito. Contiene l'intestazione richiesta/risposta SNA del messaggio inviato o ricevuto. Viene impostata per la funzione di scrittura e restituita dalle funzioni di lettura e offerta. I relativi sottoparametri sono i seguenti:

lua_rh.rri

Indicatore di risposta della richiesta, un bit.

lua_rh.ruc

Categoria UR, due bit. I valori seguenti sono validi:

LUA_RH_FMD (0x00) controllo di reteLUA_RH_NC (0x20) Controllo di reteLUA_RH_DFC (0x40) Controllo flusso di datiLUA_RH_SC (0x60) Controllo sessione

lua_rh.fi

Indicatore di formato, un bit.

lua_rh.sdi

Indicatore di rilevamento dei dati inclusi, un bit.

lua_rh.bci

Indicatore della catena di inizio, un bit.

lua_rh.eci

Indicatore catena finale, un bit.

lua_rh.dr1i

Indicatore di risposta definito 1, un bit.

lua_rh.dr2i

Indicatore di risposta definita 2, un bit.

lua_rh.ri

Indicatore di risposta dell'eccezione (per una richiesta) o indicatore del tipo di risposta (per una risposta), un bit.

lua_rh.qri

Indicatore di risposta in coda, un bit.

lua_rh.pi

Indicatore di velocità, un bit.

lua_rh.bbi

Indicatore parentesi quadre iniziale, un bit.

lua_rh.ebi

Indicatore parentesi quadra finale, un bit.

lua_rh.cdi

Indicatore di direzione di modifica, un bit.

lua_rh.csi

Indicatore di selezione del codice, un bit.

lua_rh.edi

Indicatore di dati crittografati, un bit.

lua_rh.pdi

Indicatore dati riempito, un bit.

lua_flag1
Parametro fornito. Contiene una struttura di dati contenente flag per i messaggi forniti dall'applicazione. I relativi sottoparametri sono i seguenti:

lua_flag1.bid_enable

Indicatore di abilitazione dell'offerta, un bit.

lua_flag1.close_abend

Indicatore immediato di chiusura, un bit.

lua_flag1.nowait

Nessuna attesa per il flag di dati, un bit.

lua_flag1.sscp_exp

Flusso accelerato di SSCP, un bit.

lua_flag1.sscp_norm

Flusso normale SSCP, un bit.

lua_flag1.lu_exp

Flusso accelerato lu, un bit.

lua_flag1.lu_norm

Flusso normale LU, un bit.

lua_message_type
Parametro restituito. Specifica il tipo di messaggio SNA indicato per RUI_BID. I valori possibili sono:

LUA_MESSAGE_TYPE_LU_DATA

LUA_MESSAGE_TYPE_SSCP_DATA

LUA_MESSAGE_TYPE_BID

LUA_MESSAGE_TYPE_BIND

LUA_MESSAGE_TYPE_BIS

LUA_MESSAGE_TYPE_CANCEL

LUA_MESSAGE_TYPE_CHASE

LUA_MESSAGE_TYPE_CLEAR

LUA_MESSAGE_TYPE_CRV

LUA_MESSAGE_TYPE_LUSTAT_LU

LUA_MESSAGE_TYPE_LUSTAT_SSCP

LUA_MESSAGE_TYPE_QC

LUA_MESSAGE_TYPE_QEC

LUA_MESSAGE_TYPE_RELQ

LUA_MESSAGE_TYPE_RQR

LUA_MESSAGE_TYPE_RTR

LUA_MESSAGE_TYPE_SBI

LUA_MESSAGE_TYPE_SHUTD

LUA_MESSAGE_TYPE_SIGNAL

LUA_MESSAGE_TYPE_SDT

LUA_MESSAGE_TYPE_STSN

LUA_MESSAGE_TYPE_UNBIND

L'interfaccia SLI (Session Level Interface) riceve e risponde alle richieste BIND, CRV e STSN tramite le routine di estensione dell'interfaccia LUA.

LU_DATA, LUSTAT_LU, LUSTAT_SSCP e SSCP_DATA non sono comandi SNA.

lua_flag2
Parametro restituito. Contiene i flag per i messaggi restituiti da LUA. I relativi sottoparametri sono i seguenti:

lua_flag2.bid_enable

Indica che RUI_BID è stato riabilitato se impostato su 1.

lua_flag2.async

Indica che il verbo dell'interfaccia LUA è stato completato in modo asincrono se impostato su 1.

lua_flag2.sscp_exp

Indica il flusso accelerato di SSCP se impostato su 1.

lua_flag2.sscp_norm

Indica il flusso normale di SSCP se impostato su 1.

lua_flag2.lu_exp

Indica il flusso accelerato lu se impostato su 1.

lua_flag2.lu_norm

Indica il flusso normale lu se impostato su 1.

lua_resv56
Riservato e deve essere impostato su zero.

lua_encr_decr_option
Riservato e deve essere impostato su zero.

lua_peek_data
Membro dell'unione di LUA_SPECIFIC utilizzato dai verbi RUI_BID e SLI_BID. Parametro restituito. Contiene fino a 12 byte dei dati in attesa di lettura.

Codici restituiti

LUA_OK
Codice restituito primario; il verbo eseguito correttamente.

LUA_CANCELED
Codice restituito primario; il verbo non è stato completato correttamente perché è stato annullato da un altro verbo.

LUA_TERMINATED

Codice restituito secondario; RUI_TERM è stato emesso mentre il verbo era in sospeso.

LUA_PARAMETER_CHECK
Codice restituito primario; il verbo non è stato eseguito a causa di un errore di parametro.

LUA_BAD_SESSION_ID

Codice restituito secondario; È stato specificato un valore non valido per lua_sid nel vcb.

LUA_BID_ALREADY_ENABLED

Codice restituito secondario; RUI_BID è stato rifiutato perché un RUI_BID precedente era già in sospeso. Una sola RUI_BID può essere in sospeso in qualsiasi momento.

LUA_INVALID_POST_HANDLE

Codice restituito secondario; per un sistema operativo Windows che usa eventi come metodo di registrazione asincrona, il VCB LUA di Windows non contiene un handle di evento valido.

LUA_RESERVED_FIELD_NOT_ZERO

Codice restituito secondario; Un campo riservato nel record verbo o un parametro non usato da questo verbo è stato impostato su un valore diverso da zero.

LUA_VERB_LENGTH_INVALID

Codice restituito secondario; Un verbo LUA è stato emesso con il valore di lua_verb_length imprevisto da LUA.

LUA_STATE_CHECK
Codice restituito primario; il verbo non è stato eseguito perché è stato emesso in uno stato non valido.

LUA_NO_RUI_SESSION

Codice restituito secondario; RUI_INIT non è ancora stato completato correttamente per il nome lu specificato in questo verbo.

LUA_UNSUCCESSFUL
Codice restituito primario; il record verbo specificato è valido, ma il verbo non è stato completato correttamente.

LUA_INVALID_PROCESS

Codice restituito secondario; il processo che ha emesso questo verbo non è lo stesso processo che ha emesso RUI_INIT per questa sessione. Solo il processo che ha avviato una sessione può emettere verbi in tale sessione.

LUA_NEGATIVE_RSP
Codice restituito primario; LUA ha rilevato un errore nei dati ricevuti dall'host. Invece di passare il messaggio ricevuto all'applicazione in RUI_READ, LUA rimuove il messaggio (e il resto della catena se si trova in una catena) e invia una risposta negativa all'host.

LUA informa l'applicazione su un RUI_READ o RUI_BID successivo che è stata inviata una risposta negativa.

Il codice restituito secondario contiene il codice sense inviato all'host nella risposta negativa. Per informazioni sull'interpretazione dei valori di codice sense che possono essere restituiti, vedere Considerazioni su SNA con LUA.

Un codice restituito secondario zero indica che, dopo un RUI_WRITE precedente di una risposta negativa a un messaggio al centro di una catena, LUA ha ricevuto ed eliminato tutti i messaggi da questa catena.

LUA_COMM_SUBSYSTEM_ABENDED
Codice restituito primario; indica una delle condizioni seguenti:

  • Il nodo usato da questa conversazione ha rilevato un ABEND.

  • La connessione tra il programma di transazione (TP) e il nodo unità fisica (PU) 2.1 è stato interrotto (errore LAN).

  • SnaBase nel computer TPS ha rilevato un ABEND.

    LUA_SESSION_FAILURE
    Codice restituito primario; è stato terminato un componente Host Integration Server necessario.

    LUA_LU_COMPONENT_DISCONNECTED

    Codice restituito secondario; indica che la sessione LUA non è riuscita a causa di un problema con il servizio di collegamento o con l'lu host.

    LUA_RUI_LOGIC_ERROR

    Codice restituito secondario; è stato rilevato un errore interno all'interno di LUA. Questo errore non deve verificarsi durante il normale funzionamento.

    LUA_INVALID_VERB
    Codice restituito primario; Il codice verbo o il codice dell'operazione o entrambi non sono validi. Il verbo non è stato eseguito.

    LUA_STACK_TOO_SMALL
    Codice restituito primario; le dimensioni dello stack dell'applicazione sono troppo piccole per eseguire il verbo. Aumentare le dimensioni dello stack dell'applicazione.

    LUA_COMM_SUBSYSTEM_NOT_LOADED
    Codice restituito primario; Impossibile caricare o terminare un componente richiesto durante l'elaborazione del verbo. Pertanto, la comunicazione non poteva avvenire. Contattare l'amministratore di sistema per un'azione correttiva.

    LUA_UNEXPECTED_DOS_ERROR
    Codice restituito primario; dopo aver eseguito una chiamata al sistema operativo, è stato ricevuto un codice restituito imprevisto del sistema operativo e viene specificato nel codice restituito secondario.

Commenti

RUI_BID viene usato dalle applicazioni che richiedono la notifica che un messaggio è in attesa di lettura. In questo modo l'applicazione può determinare come gestirà il messaggio prima di emettere RUI_READ.

Quando un messaggio è disponibile, RUI_BID restituisce con i dettagli del flusso di messaggio in cui è stato ricevuto, il tipo di messaggio, il TH e RH del messaggio e fino a 12 byte di dati del messaggio.

La differenza principale tra RUI_BID e RUI_READ è che RUI_BID consente all'applicazione di controllare i dati senza rimuoverli dalla coda dei messaggi in ingresso, in modo che possa essere lasciato e accessibile in un secondo momento. RUI_READ rimuove il messaggio dalla coda, quindi quando l'applicazione legge i dati deve anche elaborarlo.

Quando si usa RUI_BID, tenere presente quanto segue:

  • RUI_INIT deve essere completato correttamente prima dell'emissione di questo verbo.

  • Una sola RUI_BID può essere in sospeso in qualsiasi momento.

  • Al termine RUI_BID, è possibile ripubblicarla impostando lua_flag1.bid_enable in un RUI_READ successivo. Se il verbo viene ristampato in questo modo, l'applicazione non deve liberare o modificare lo spazio di archiviazione associato al record RUI_BID .

  • Se un messaggio arriva dall'host quando RUI_READ e RUI_BID sono entrambi in sospeso, RUI_READ viene completato e RUI_BID viene lasciato in corso.

    Ogni messaggio che arriva viene offerto una sola volta. Dopo RUI_BID indica che i dati sono in attesa di un flusso di sessione specifico, l'applicazione genera RUI_READ ricevere i dati. Qualsiasi RUI_BID successiva non segnala i dati in arrivo su tale flusso di sessione fino a quando il messaggio di offerta è stato accettato tramite l'emissione di RUI_READ.

    In generale, il parametro lua_data_length restituito su questo verbo indica solo la lunghezza dei dati in lua_peek_data, non la lunghezza totale dei dati nel messaggio in attesa (tranne quando viene restituito un valore minore di 12). L'applicazione deve garantire che la lunghezza dei dati in RUI_READ che accetta i dati sia sufficiente per contenere il messaggio.

Vedere anche

RUI_INIT
RUI_READ
RUI_TERM
RUI_WRITE
SLI_OPEN