Bagikan melalui


RUI_BID

Kata kerja RUI_BID memberi tahu aplikasi Request Unit Interface (RUI) bahwa pesan menunggu untuk dibaca menggunakan RUI_READ.

Struktur berikut menjelaskan anggota LUA_COMMON blok kontrol kata kerja (VCB) yang digunakan oleh RUI_BID:

Penyatuan sintaks kedua menjelaskan anggota LUA_SPECIFIC blok kontrol kata kerja (VCB) yang digunakan oleh RUI_BID. Anggota serikat lainnya dihilangkan untuk kejelasan:

Sintaksis

  
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];  
};  

Anggota

lua_verb
Parameter yang disediakan. Berisi kode kata kerja, LUA_VERB_RUI untuk kata kerja RUI.

lua_verb_length
Parameter yang disediakan. Menentukan panjang byte aplikasi unit logis (LUA) VCB. Ini harus berisi panjang catatan kata kerja yang dikeluarkan.

lua_prim_rc
Kode pengembalian utama yang ditetapkan oleh LUA pada penyelesaian kata kerja. Kode pengembalian yang valid bervariasi tergantung pada kata kerja LUA yang dikeluarkan.

lua_sec_rc
Kode pengembalian sekunder yang ditetapkan oleh LUA pada penyelesaian kata kerja. Kode pengembalian yang valid bervariasi tergantung pada kata kerja LUA yang dikeluarkan.

lua_opcode
Parameter yang disediakan. Berisi kode perintah LUA (kode operasi kata kerja) agar kata kerja dikeluarkan, LUA_OPCODE_RUI_BID.

lua_correlator
Parameter yang disediakan. Berisi nilai yang disediakan pengguna yang menautkan kata kerja dengan informasi lain yang disediakan pengguna. LUA tidak menggunakan atau mengubah informasi ini. Parameter ini bersifat opsional.

lua_luname
Parameter yang disediakan. Menentukan nama ASCII dari LU lokal yang digunakan oleh sesi LUA Windows.

RUI_BID hanya memerlukan parameter ini jika lua_sid nol.

Parameter ini panjangnya delapan byte, diisi di sebelah kanan dengan spasi (0x20) jika namanya lebih pendek dari delapan karakter.

lua_extension_list_offset
Tidak digunakan oleh RUI di Microsoft® Host Integration Server dan harus diatur ke nol.

lua_cobol_offset
Tidak digunakan oleh LUA di Server Integrasi Host dan harus nol.

lua_sid
Parameter yang disediakan. Menentukan pengidentifikasi sesi dan dikembalikan oleh SLI_OPEN dan RUI_INIT. Kata kerja lain menggunakan parameter ini untuk mengidentifikasi sesi yang digunakan untuk perintah . Jika kata kerja lain menggunakan parameter lua_luname untuk mengidentifikasi sesi, atur parameter lua_sid ke nol.

lua_max_length
Tidak digunakan oleh RUI_BID dan harus diatur ke nol.

lua_data_length
Parameter yang dikembalikan. Menentukan panjang data yang dikembalikan dalam lua_peek_data untuk RUI_BID.

lua_data_ptr
Parameter ini tidak digunakan dan harus diatur ke nol.

lua_post_handle
Parameter yang disediakan. Digunakan di bawah Microsoft Windows Server jika pemberitahuan asinkron akan dicapai oleh peristiwa. Variabel ini berisi handel peristiwa yang akan disinyalir atau handel jendela.

lua_th
Parameter yang dikembalikan. Berisi header transmisi SNA (TH) pesan yang diterima. Berbagai subparameter diatur untuk fungsi tulis dan dikembalikan untuk fungsi baca dan bid. Subparameternya adalah sebagai berikut:

lua_th.flags_fid

Format identifikasi tipe 2, empat bit.

lua_th.flags_mpf

Bidang pemetaan segmenting, dua bit. Menentukan jenis segmen data. Nilai berikut ini valid:

segmen 0x00 Tengah0x04 Segmen terakhir0x08 Segmen pertama0x0C Segmen saja

lua_th.flags_odai

Indikator penugasan bidang alamat asal–alamat tujuan (OAF–DAF), satu bit.

lua_th.flags_efi

Indikator alur yang dipercepat, satu bit.

lua_th.daf

Bidang alamat tujuan (DAF), karakter yang tidak ditandatangani.

lua_th.oaf

Bidang alamat asal (OAF), karakter yang tidak ditandatangani.

lua_th.snf

Bidang nomor urut, karakter yang tidak ditandatangani[2].

lua_rh
Parameter yang dikembalikan. Berisi header permintaan/respons SNA (RH) dari pesan yang dikirim atau diterima. Ini diatur untuk fungsi tulis dan dikembalikan oleh fungsi baca dan bid. Subparameternya adalah sebagai berikut:

lua_rh.rri

Indikator respons permintaan, satu bit.

lua_rh.ruc

Kategori RU, dua bit. Nilai berikut ini valid:

LUA_RH_FMD (0x00) segmen data FMLUA_RH_NC (0x20) Kontrol aliran dataLUA_RH_DFC (0x40) Kontrol sesi LUA_RH_SC (0x60) Kontrol aliran data (0x60)

lua_rh.fi

Indikator format, satu bit.

lua_rh.sdi

Merasakan data menyertakan indikator, satu bit.

lua_rh.bci

Mulai indikator rantai, satu bit.

lua_rh.eci

Indikator rantai akhir, satu bit.

lua_rh.dr1i

Indikator respons pasti 1, satu bit.

lua_rh.dr2i

Indikator respons pasti 2, satu bit.

lua_rh.ri

Indikator respons pengecualian (untuk permintaan), atau indikator jenis respons (untuk respons), satu bit.

lua_rh.qri

Indikator respons antrean, satu bit.

lua_rh.pi

Indikator pacing, satu bit.

lua_rh.bbi

Mulai indikator tanda kurung siku, satu bit.

lua_rh.ebi

Indikator tanda kurung akhir, satu bit.

lua_rh.cdi

Ubah indikator arah, satu bit.

lua_rh.csi

Indikator pemilihan kode, satu bit.

lua_rh.edi

Indikator data yang disandikan, satu bit.

lua_rh.pdi

Indikator data berlapis, satu bit.

lua_flag1
Parameter yang disediakan. Berisi struktur data yang berisi bendera untuk pesan yang disediakan oleh aplikasi. Subparameternya adalah sebagai berikut:

lua_flag1.bid_enable

Indikator pengaktifan bid, satu bit.

lua_flag1.close_abend

Tutup indikator langsung, satu bit.

lua_flag1.nowait

Tidak menunggu bendera data, satu bit.

lua_flag1.sscp_exp

Alur yang dipercepat SSCP, satu bit.

lua_flag1.sscp_norm

Aliran normal SSCP, satu bit.

lua_flag1.lu_exp

LU dipercepat alur, satu bit.

lua_flag1.lu_norm

Lu aliran normal, satu bit.

lua_message_type
Parameter yang dikembalikan. Menentukan jenis pesan SNA yang ditunjukkan ke RUI_BID. Nilai yang mungkin adalah:

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

Antarmuka Tingkat Sesi (SLI) menerima dan merespons permintaan BIND, CRV, dan STSN melalui rutinitas ekstensi antarmuka LUA.

LU_DATA, LUSTAT_LU, LUSTAT_SSCP, dan SSCP_DATA bukan perintah SNA.

lua_flag2
Parameter yang dikembalikan. Berisi bendera untuk pesan yang dikembalikan oleh LUA. Subparameternya adalah sebagai berikut:

lua_flag2.bid_enable

Menunjukkan bahwa RUI_BID berhasil diaktifkan kembali jika diatur ke 1.

lua_flag2.asinkron

Menunjukkan bahwa kata kerja antarmuka LUA selesai secara asinkron jika diatur ke 1.

lua_flag2.sscp_exp

Menunjukkan alur yang dipercepat SSCP jika diatur ke 1.

lua_flag2.sscp_norm

Menunjukkan alur normal SSCP jika diatur ke 1.

lua_flag2.lu_exp

Menunjukkan alur lu yang dipercepat jika diatur ke 1.

lua_flag2.lu_norm

Menunjukkan alur normal LU jika diatur ke 1.

lua_resv56
Dicadangkan dan harus diatur ke nol.

lua_encr_decr_option
Dicadangkan dan harus diatur ke nol.

lua_peek_data
Anggota serikat LUA_SPECIFIC yang digunakan oleh kata kerja RUI_BID dan SLI_BID. Parameter yang dikembalikan. Berisi hingga 12 byte data yang menunggu untuk dibaca.

Kode Pengembalian

LUA_OK
Kode pengembalian utama; kata kerja berhasil dijalankan.

LUA_CANCELED
Kode pengembalian utama; kata kerja tidak berhasil diselesaikan karena dibatalkan oleh kata kerja lain.

LUA_TERMINATED

Kode pengembalian sekunder; RUI_TERM dikeluarkan saat kata kerja ini tertunda.

LUA_PARAMETER_CHECK
Kode pengembalian utama; kata kerja tidak dijalankan karena kesalahan parameter.

LUA_BAD_SESSION_ID

Kode pengembalian sekunder; nilai yang tidak valid untuk lua_sid ditentukan dalam VCB.

LUA_BID_ALREADY_ENABLED

Kode pengembalian sekunder; RUI_BID ditolak karena RUI_BID sebelumnya sudah luar biasa. Hanya satu RUI_BID yang bisa menjadi luar biasa kapan saja.

LUA_INVALID_POST_HANDLE

Kode pengembalian sekunder; untuk sistem operasi Windows yang menggunakan peristiwa sebagai metode posting asinkron, Windows LUA VCB tidak berisi handel peristiwa yang valid.

LUA_RESERVED_FIELD_NOT_ZERO

Kode pengembalian sekunder; bidang yang dipesan dalam catatan kata kerja, atau parameter yang tidak digunakan oleh kata kerja ini, diatur ke nilai bukan nol.

LUA_VERB_LENGTH_INVALID

Kode pengembalian sekunder; kata kerja LUA dikeluarkan dengan nilai lua_verb_length tidak terduga oleh LUA.

LUA_STATE_CHECK
Kode pengembalian utama; kata kerja tidak dijalankan karena dikeluarkan dalam status tidak valid.

LUA_NO_RUI_SESSION

Kode pengembalian sekunder; RUI_INIT belum berhasil diselesaikan untuk nama LU yang ditentukan pada kata kerja ini.

LUA_UNSUCCESSFUL
Kode pengembalian utama; catatan kata kerja yang disediakan valid, tetapi kata kerja tidak berhasil diselesaikan.

LUA_INVALID_PROCESS

Kode pengembalian sekunder; proses yang mengeluarkan kata kerja ini bukan proses yang sama yang dikeluarkan RUI_INIT untuk sesi ini. Hanya proses yang memulai sesi yang dapat mengeluarkan kata kerja pada sesi tersebut.

LUA_NEGATIVE_RSP
Kode pengembalian utama; LUA mendeteksi kesalahan dalam data yang diterima dari host. Alih-alih meneruskan pesan yang diterima ke aplikasi pada RUI_READ, LUA membuang pesan (dan rantai lainnya jika berada dalam rantai), dan mengirim respons negatif ke host.

LUA menginformasikan aplikasi pada RUI_READ atau RUI_BID berikutnya bahwa respons negatif dikirim.

Kode pengembalian sekunder berisi kode indra yang dikirim ke host pada respons negatif. Untuk informasi tentang menginterpretasikan nilai kode indra yang dapat dikembalikan, lihat Pertimbangan SNA Menggunakan LUA.

Kode pengembalian sekunder nol menunjukkan bahwa, mengikuti RUI_WRITE sebelumnya dari respons negatif terhadap pesan di tengah rantai, LUA sekarang telah menerima dan membuang semua pesan dari rantai ini.

LUA_COMM_SUBSYSTEM_ABENDED
Kode pengembalian utama; menunjukkan salah satu kondisi berikut:

  • Simpul yang digunakan oleh percakapan ini menemukan ABEND.

  • Koneksi antara program transaksi (TP) dan simpul unit fisik (PU) 2.1 telah rusak (kesalahan LAN).

  • SnaBase di komputer TPs mengalami ABEND.

    LUA_SESSION_FAILURE
    Kode pengembalian utama; komponen Server Integrasi Host yang diperlukan telah dihentikan.

    LUA_LU_COMPONENT_DISCONNECTED

    Kode pengembalian sekunder; menunjukkan bahwa sesi LUA telah gagal karena masalah dengan layanan tautan atau dengan LU host.

    LUA_RUI_LOGIC_ERROR

    Kode pengembalian sekunder; kesalahan internal terdeteksi dalam LUA. Kesalahan ini tidak boleh terjadi selama operasi normal.

    LUA_INVALID_VERB
    Kode pengembalian utama; kode kata kerja atau kode operasi, atau keduanya, tidak valid. Kata kerja tidak dijalankan.

    LUA_STACK_TOO_SMALL
    Kode pengembalian utama; ukuran tumpukan aplikasi terlalu kecil untuk menjalankan kata kerja. Tingkatkan ukuran tumpukan aplikasi Anda.

    LUA_COMM_SUBSYSTEM_NOT_LOADED
    Kode pengembalian utama; komponen yang diperlukan tidak dapat dimuat atau telah dihentikan saat memproses kata kerja. Dengan demikian, komunikasi tidak dapat terjadi. Hubungi administrator sistem untuk tindakan korektif.

    LUA_UNEXPECTED_DOS_ERROR
    Kode pengembalian utama; setelah mengeluarkan panggilan sistem operasi, kode pengembalian sistem operasi yang tidak terduga diterima dan ditentukan dalam kode pengembalian sekunder.

Komentar

RUI_BID digunakan oleh aplikasi yang memerlukan pemberitahuan bahwa pesan sedang menunggu untuk dibaca. Ini memungkinkan aplikasi untuk menentukan bagaimana aplikasi akan menangani pesan sebelum mengeluarkan RUI_READ.

Saat pesan tersedia, RUI_BID kembali dengan detail alur pesan tempat pesan diterima, jenis pesan, TH dan RH pesan, dan hingga 12 byte data pesan.

Perbedaan utama antara RUI_BID dan RUI_READ adalah bahwa RUI_BID memungkinkan aplikasi untuk memeriksa data tanpa menghapusnya dari antrean pesan masuk, sehingga dapat dibiarkan dan diakses nanti. RUI_READ menghapus pesan dari antrean, jadi ketika aplikasi membaca data, aplikasi juga harus memprosesnya.

Perhatikan hal berikut saat menggunakan RUI_BID:

  • RUI_INIT harus berhasil diselesaikan sebelum kata kerja ini diterbitkan.

  • Hanya satu RUI_BID yang bisa menjadi luar biasa kapan saja.

  • Setelah RUI_BID berhasil diselesaikan, RUI_BID dapat diterbitkan kembali dengan mengatur lua_flag1.bid_enable pada RUI_READ berikutnya. Jika kata kerja diterbitkan kembali dengan cara ini, aplikasi tidak boleh membebaskan atau memodifikasi penyimpanan yang terkait dengan rekaman RUI_BID .

  • Jika pesan tiba dari host saat RUI_READ dan RUI_BID keduanya luar biasa, RUI_READ selesai dan RUI_BID dibiarkan sedang berlangsung.

    Setiap pesan yang tiba hanya ditawari sekali. Setelah RUI_BID menunjukkan bahwa data menunggu alur sesi tertentu, aplikasi mengeluarkan RUI_READ untuk menerima data. Setiap RUI_BID berikutnya tidak melaporkan data yang tiba pada alur sesi tersebut hingga pesan yang diajukan telah diterima dengan mengeluarkan RUI_READ.

    Secara umum, parameter lua_data_length yang dikembalikan pada kata kerja ini hanya menunjukkan panjang data dalam lua_peek_data, bukan panjang total data pada pesan tunggu (kecuali ketika nilai kurang dari 12 dikembalikan). Aplikasi harus memastikan bahwa panjang data pada RUI_READ yang menerima data cukup untuk berisi pesan.

Lihat Juga

RUI_INIT
RUI_READ
RUI_TERM
RUI_WRITE
SLI_OPEN