Cara Pad String Karakter Mainframe dengan Spasi
Anda dapat menentukan properti untuk string sehingga lingkungan run-time Integrator Transaksi (TI) menambahkan karakter spasi untuk meningkatkan representasi mainframe string alih-alih bergantung pada karakter penghentian null.
Untuk menggunakan karakter spasi atau karakter penghentian null
Di Microsoft Visual Studio, klik kanan objek, lalu klik Properti.
Di bawah Informasi Tipe Data Host di panel Properti , klik Pembatas String.
Pilih Spasi Padded atau Null Dihentikan.
Tabel berikut menjelaskan apa yang terjadi dengan setiap opsi pembatas (Spasi Diisi atau Dihentikan Null) saat mengonversi ke jenis string yang ditunjukkan.
Jenis operasi string | Apa yang terjadi untuk setiap jenis operasi pembatas string |
---|---|
Konversi ke string EBCDIC | Ruang Padded. Lingkungan run-time TI menambahkan karakter spasi byte tunggal ke akhir string hingga semua byte dalam string berformat PIC X diisi. |
Null dihentikan. Lingkungan run-time TI menambahkan satu karakter null ke akhir string jika ada ruang dalam jumlah PIC X untuk byte. | |
Konversi dari string EBCDIC | Ruang Padded. Lingkungan run-time TI menghapus karakter spasi byte tunggal dari akhir string. |
Null dihentikan. Lingkungan run-time TI memindai dari awal string dan menghentikan konversi pada karakter null pertama yang ditemui dalam string. | |
Konversi ke string DBCS | Ruang Padded. Lingkungan run-time TI menambahkan karakter spasi byte ganda ke akhir string hingga semua karakter dalam string berformat PIC G diisi. |
Null dihentikan. Lingkungan run-time TI menambahkan karakter null kumpulan karakter byte ganda (DBCS) ke akhir string jika ada ruang dalam jumlah PIC G untuk byte. | |
Konversi dari string DBCS | Ruang Padded. Lingkungan run-time TI menghapus karakter spasi byte ganda dari akhir string. |
Null dihentikan. Lingkungan run-time TI memindai dari awal string dan menghentikan konversi pada karakter null DBCS pertama yang ditemui dalam string. | |
Konversi ke string Intermixed | Ruang Padded. Lingkungan run-time TI menambahkan karakter spasi byte tunggal ke akhir string hingga semua byte dalam string berformat PIC X diisi. Jika karakter penghentian dalam string UNICODE dipetakan ke karakter DBCS, lingkungan run-time TI menambahkan karakter SI sebelum menambahkan karakter spasi. |
Null dihentikan. Lingkungan run-time TI menambahkan karakter null byte tunggal ke akhir string jika ada ruang dalam jumlah PIC X. Jika karakter penghentian dalam string UNICODE memetakan ke karakter DBCS, lingkungan run-time TI menambahkan karakter SI sebelum menambahkan karakter null. | |
Konversi dari string Intermixed | Ruang Padded. Lingkungan run-time TI menghapus karakter spasi byte tunggal dan byte ganda yang dihentikan dari akhir string. Ketika menghapus karakter spasi, lingkungan run-time TI memperlakukan karakter SI yang mengakhiri seolah-olah itu adalah spasi. |
Null dihentikan. Lingkungan run-time TI memindai dari awal string dan menghentikan konversi pada karakter null pertama (dari kedua lebar) yang ditemuinya. |
Penanganan khusus terjadi untuk string yang terakhir di buffer host dan yang ditandai sebagai terakhir adalah variabel. Contohnya:
Ruang Padded. Setelah dikonversi ke string Extended Binary Coded Decimal Interchange Code (EBCDIC), string dihentikan oleh jumlah panjang buffer yang berisi, sehingga tidak berisi karakter spasi tambahan. Setelah konversi dari string EBCDIC, buffer dianggap dihentikan oleh jumlah panjang buffer yang berisi; kemudian string diperiksa untuk padding kosong. Host dapat mengirim string ini dengan padding kosong di luar data yang signifikan atau tidak kosong dilapisi tetapi dengan karakter signifikan terakhir dari string di posisi terakhir dalam buffer yang berisi. Karakter spasi ditentukan oleh jenis string (tunggal, ganda, atau terintermiks).
Null dihentikan. Setelah konversi ke string EBCDIC, string dikirim apa adanya. Lingkungan run-time TI memeriksa panjang string, lalu memeriksa apakah jumlah karakter yang tepat dikirim. Dengan kata lain, jumlah karakter yang dikirim sama dengan panjang string. Tidak ada terminator atau spasi null yang ditambahkan ke akhir string.
Tabel berikut menunjukkan cara kerja pembatas string saat properti pembatas String diatur ke Spasi Padded versus Null dihentikan dalam kombinasi dengan pengaturan ukuran variabel. Semua contoh mengasumsikan deklarasi data mainframe sebagai PIC X(5). "b" mewakili spasi,"?" mewakili data yang tidak ditetapkan, dan "\0" mewakili null.
Pembatas string diatur ke Space Padded dan ukuran variabel tidak aktif
Stasiun kerja | Petunjuk | Mainframe |
---|---|---|
ABC\0 | Ke Host | 'ABCbb' |
ABCb | Ke Host | 'ABCbb' |
CBA | Dari Host | 'CBAbb' |
CBA? | Dari Host | 'CBA\0?' |
CBA\0 | Dari Host | 'CBA\0b' |
Pembatas string diatur ke Space Padded dan ukuran variabel aktif
Stasiun kerja | Petunjuk | Mainframe |
---|---|---|
ABC\0 | Ke Host | 'ABC' |
Abb | Ke Host | 'Abb' |
CBA | Dari Host | 'CBAbb' |
CBA? | Dari Host | 'CBA\0?' |
CBA\0 | Dari Host | 'CBA\0b' |
Pembatas string diatur ke Null dihentikan dan ukuran variabel tidak aktif
Stasiun kerja | Petunjuk | Mainframe |
---|---|---|
ABC\0 | Ke Host | 'ABC\0?' |
ABC | Dari Host | 'ABC\0?' |
ABCbb | Dari Host | 'ABCbb' |
ABC | Dari Host | ABC\0\0' |
Pembatas string diatur ke Null dihentikan dan ukuran variabel aktif
Stasiun kerja | Petunjuk | Mainframe |
---|---|---|
ABC\0 | Ke Host | 'ABC\0' |
ABC | Dari Host | 'ABC\0?' |
ABCbb | Dari Host | 'ABCbb' |
ABC | Dari Host | ABC\0\0' |