Kami mencakup dasar-dasar menggunakan perintah prosesor AS/400 untuk membantu Anda port aplikasi Anda. Pelajari cara menggunakan perintah mendorong dan membantu,metode instalasi dan pesan produk AS/400.
Saran kode dan pemrograman di sini, yang dilengkapi oleh IBM, adalah serangkaian contoh sederhana, dimaksudkan untuk memberikan ilustrasi dari konsep. Contoh-contoh ini belum diuji secara menyeluruh dalam segala kondisi. IBM, karena itu, tidak dapat menjamin atau menyiratkan keandalan, kemudahan servis, atau fungsi kode ini.
Semua kode program dan saran pemrograman yang terkandung di sini disediakan untuk Anda “SEBAGAIMANA ADANYA”. Jaminan tersirat dapat diperjualbelikan dan kesesuaian untuk tujuan tertentu secara tegas menyangkal. Pada akhirnya, itu adalah tanggung jawab programmer individu untuk memahami aplikasi nya sendiri dan menggunakan saran ini karena berkaitan terbaik untuk aplikasi tersebut.
IBM menawarkan berikut sebagai hanya sebagai solusi potensial, yang harus dievaluasi secara individual digunakan. Semua merek, perusahaan, layanan, atau nama produk yang disebutkan adalah merek dagang, merek layanan, atau merek dagang terdaftar dari perusahaan masing-masing.
Ikhtisar
Untuk melengkapi port dari aplikasi Anda untuk AS/400, Anda akan ingin menggunakan beberapa layanan AS/400 dasar seperti perintah mendorong dan membantu, metode produk instalasi, dan pesan AS/400. Yang pertama dari ketiga topik akan dibahas dalam dokumen ini.
Jika Anda memiliki kesempatan untuk menghabiskan beberapa waktu menggunakan perintah AS/400 mendorong, Anda akan menghargai kegunaan dan mungkin bertanya-tanya mengapa UNIX atau DOS tidak pernah sesuatu yang begitu bersih dan sehingga benar-benar terintegrasi ke dalam sistem operasi. Anda dapat memberikan aplikasi semacam ini sama antarmuka perintah berikut petunjuk sederhana di bawah ini.
Pertama, di sini adalah referensi definitif untuk semua hal yang saya akan membahas:
CL Pemrograman: SC41-5721
Tampilan Aplikasi Pemrograman: SC41-5715
Juga, sementara ada banyak tindakan yang kompleks dan kuat yang dapat dilakukan dengan menggunakan perintah prosesor AS/400, itu bukan maksud dari dokumen ini untuk mencakup semua aspek ini – hanya dasar yang diperlukan.
Berikut adalah gambaran singkat dari objek yang dibutuhkan. Objek perintah (* CMD) adalah apa yang dimasukkan pada baris perintah. Parameter untuk menciptakan perintah termasuk menentukan objek panel membantu kelompok (* PNLGRP) dan objek program (* PGM) untuk memproses data dari perintah. Dalam contoh ke kanan, program pengolah perintah, FOOCPP membangun string perintah, yang digunakan untuk memanggil program foo.
Program yang disebut ‘FOO’ memiliki tiga parameter baris perintah:
-O [nama file] output ke file
-S semacam output yang
-W menampilkan peringatan
Foo memahami semua kombinasi bendera atau ketiadaan. Jadi, menggunakan valid ‘FOO’ dalam lingkungan UNIX mungkin:
Foo%
% Foo-omyfile.out
Foo%-w
Foo%-w-s
Foo% -o/home/joe/out1-s
% Foo-s
Demikian pula, khas perintah AS/400 cocok akan terlihat seperti:
FOO
FOO OUTPUT (‘myfile.out’)
FOO MEMPERINGATKAN (* YES)
FOO OUTPUT (‘/ home/joe/out1′) SORT (* YES)
OO SORT (* YES) WARN (* NO)
Plus, dengan versi AS/400, pengguna akan mengharapkan bantuan kontekstual dengan menekan F1 manapun pada parameter perintah, atau perintah itu sendiri. Memberikan kemampuan ini tidak terlalu sulit dan akan mewakili perbedaan antara ‘aplikasi AS/400′ dan sebuah ‘aplikasi UNIX yang berjalan di AS/400′.
Perintah AS/400, seperti semua hal lain pada sistem, adalah obyek. Benda-benda perintah memiliki jenis CMD *. Mereka diciptakan oleh ‘sumber perintah’ kompilasi. Sumber ini harus berada dalam sebuah file sumber fisik, biasanya disebut QCMDSRC. Bagian dari menciptakan objek CMD * adalah menentukan sebuah program untuk proses perintah. Dalam contoh kita, kita akan menulis sebuah program C yang kecil untuk melakukan pengolahan data dari perintah. Bagian lain dari menciptakan objek CMD * adalah menentukan ‘kelompok panel’ untuk bantuan interaktif. Pembentukan bagian-bagian ini dapat dengan mudah dilakukan dengan menggunakan template yang disediakan.
Secara singkat, langkah-langkahnya:
Mengubah perpustakaan saat ini (* CURLIB).
Buat file sumber fisik.
Masukkan kode sumber untuk perintah, program pengolah perintah, dan kelompok panel membantu.
Buat kelompok bantuan panel (* PNLGRP) objek.
Buat program perintah pengolahan (* PGM) objek.
Buat perintah (* CMD) objek.
Uji perintah.
Buatlah perpustakaan di mana Anda ingin membuat objek ‘perpustakaan saat ini’ Anda. Hal ini dilakukan menggunakan perintah CHGCURLIB. Atau, Anda dapat mengubah profil pengguna Anda untuk mengatur ‘perpustakaan saat ini’ pada saat signon. Lakukan ini dengan mendorong pada perintah CHGPRF. Dalam contoh ini, saya telah mengatur perpustakaan saat ini untuk MYLIB.
Selanjutnya, membuat file sumber fisik. Sangat mungkin bahwa Anda sudah memiliki file sumber bernama QCSRC, yang berisi sumber untuk FOO program yang akhirnya tidak pekerjaan yang kita sedang membangun semua hal ini, jadi pada contoh di bawah, pesan kesalahan ditampilkan saat membuat QCSRC. Untuk membuat file sumber ketiga, masukkan perintah berikut:
CRTSRCPF QCMDSRC
QCMDSRC file yang dibuat di perpustakaan MYLIB.
CRTSRCPF QPNLSRC
QPNLSRC file yang dibuat di perpustakaan MYLIB.
CRTSRCPF QCSRC
Berkas QCSRC sudah ada di MYLIB perpustakaan.
QCSRC File tidak diciptakan di perpustakaan MYLIB.
Kemudian, masukkan sumber. Untuk contoh ini, ini adalah anggota dalam file sumber yang sesuai fisik:
JENIS ANGGOTA
FILE
QCMDSRC FOO CMD
QPNLSRC FOO PNLGRP
QCSRC FOOCPP C
QCSRC FOO C
Ingat, kita mengasumsikan bahwa anggota ini sudah ada.
Berikut adalah tiga anggota sumber baru, dalam urutan yang tercantum di atas.
QCMDSRC / FOO
CMD PROMPT (‘Foo, seperti dalam Fubar’)
Parm KWD (OUTPUT) TYPE (* CHAR) LEN (32) DFT (”) +
BERBEDA (* YES) PROMPT (‘Output nama’)
Parm KWD (SORT) TYPE (* CHAR) LEN (4) RSTD (* YES) +
DFT (* NO) VALUES (* NO * YES) PROMPT (‘Urutkan +
output ‘)
Parm KWD (MEMPERINGATKAN) TYPE (* CHAR) LEN (4) RSTD (* YES) +
DFT (* NO) VALUES (* NO * YES) PROMPT (‘Tampilan +
Peringatan ‘)
QPNLSRC / FOO
: PNLGRP.
: HELP nama = foo.
: P.
Teks di sini menjelaskan apa perintah ‘FOO’ tidak.
Anda dapat menggunakan tag format yang dijelaskan dalam buku untuk membuat tampilan ini lebih cantik.
Tampilan Aplikasi Pemrograman SC41-5715.
: EHELP.
: HELP name = ‘foo / output’.
: P.
Item ini digunakan untuk membantu informasi tentang parameter pertama.
: EHELP.
: HELP name = ‘foo / semacam’.
: P.
Item ini digunakan untuk membantu informasi tentang parameter kedua.
: EHELP.
: HELP name = ‘foo / memperingatkan’.
: P.
Item ini digunakan untuk membantu informasi tentang parameter ketiga.
: EHELP.
: Nama BANTUAN = boo.
: P.
Item ini digunakan untuk membantu informasi tentang perintah hantu, ‘boo’.
: EHELP.
: EPNLGRP.
QCSRC / FOOCPP
# Include <string.h>
# Include
void main (int argc, char * argv [])
{
arang cmdstr [512] = “CALL PGM (FOO) parm (“;
if (argc = 4!)
exit (1);
/ * Ini 2 byte pertama dari string teks yang masuk mewakili, sebagai pendek,
panjang teks masuk. Tidak ada
null terminator pada akhir string.
Hal ini karena BERBEDA (* YES) pilihan parameter dalam sumber perintah.
* /
jika (* (* singkat) argv [1]> 0)
{
strcat (cmdstr, “‘-o”);
strncat (cmdstr, argv [1] +2, * (pendek *) argv [1]);
strcat (cmdstr, “‘”);
}
if (strncmp (argv [2], “* YA”, 4) == 0)
strcat (cmdstr, “‘-s’”);
if (strncmp (argv [3], “* YA”, 4) == 0)
strcat (cmdstr, “‘-w’”);
strcat (cmdstr, “)”);
sistem (cmdstr);
}
Berikutnya, kita akan menciptakan tiga obyek dari kode sumber di atas. Ingat, karena kita telah mengubah perpustakaan saat ini untuk di mana kita ingin membuat benda-benda, mereka akan diciptakan di sana secara default.
CRTCMD CMD (FOO) PGM (FOOCPP) HLPPNLGRP (FOO) HLPID (FOO)
Perintah FOO dibuat di perpustakaan MYLIB.
CRTPNLGRP PNLGRP (FOO)
Pesan peringatan yang dikeluarkan ketika panel kelompok FOO dibuat.
CRTBNDC PGM (FOOCPP)
Program FOOCPP diciptakan di perpustakaan MYLIB pada 11/05/97 di 17:17:50.
Itu saja! Anda sekarang dapat prompt perintah FOO, karena itu dalam daftar perpustakaan. Tentu saja, jika MYLIB tidak dalam daftar perpustakaan, maka Anda bisa meminta pada MLIB / FOO. Anda dapat menekan F1 untuk mendapatkan bantuan tentang parameter. Anda mungkin akan ingin menempatkan semua benda-benda di perpustakaan yang sama seperti semua program aplikasi Anda untuk menyederhanakan hal.
Kembali ke atas
Catatan
Semua bantuan untuk beberapa perintah dapat ditemukan dalam kelompok panel yang sama, dikelompokkan dalam yang sama: PNLGRP dan: EPNLGRP tag. Para: HELP dan: EHELP tag membantu kelompok untuk perintah individu. Anda akan melihat bahwa bahasa ini menyerupai HTML struktural, dengan tag untuk mengidentifikasi bagian. Jika Anda melihat dekat pada kode sumber untuk kelompok panel membantu, Anda akan melihat bahwa ada didefinisikan nama bantuan ‘boo’ untuk perintah hantu, yang tidak ada.
Semua anggota perintah sumber individu, untuk perintah yang berbeda dan program, harus ditempatkan dalam QCMDSRC.
Parameter * Para CHAR dari perintah mendorong, diteruskan ke program pengolah perintah, tidak diakhiri dengan null, dan ini adalah mengapa kita menggunakan BERBEDA (* YES) pilihan untuk parameter. Hal ini membuat command prompt mengirim byte 2-(default) ditandatangani integer sebagai 2 byte pertama dari string. Itulah mengapa C untuk berurusan dengan parameter yang mendapat jelek.
Semua parameter dari perintah yang diberikan kepada program pengolah perintah. Oleh karena itu, bahkan jika Anda tidak memasukkan apa pun untuk parameter tertentu, argc masih akan ditetapkan untuk jumlah parameter yang didefinisikan dalam sumber perintah.
Analyzer perintah (CA) dapat melakukan banyak pemeriksaan sintaks untuk Anda, jadi jika nilai untuk parameter OUTPUT adalah benar-benar nama jalan, Anda dapat menentukan JENIS (* PNAME) dan CA akan memverifikasi bahwa apa yang pengguna tertentu adalah sah nama. Anda juga mungkin ingin menentukan KASUS (* CAMPURAN) sehingga CA tidak monocase nilai-nilai tidak tertutup dalam tanda kutip tunggal.
Analyzer perintah (CA) dapat melakukan banyak pekerjaan parameter validasi untuk Anda dan tidak akan membiarkan pengguna memasukkan parameter yang tidak didefinisikan dalam perintah Anda. Sebagai contoh, cara perintah kita ditentukan, pengguna tidak dapat memasukkan apa pun selain * YA atau TIDAK untuk SORT * dan MEMPERINGATKAN parameter. Jika FOO melakukan banyak hal parameter validasi (seperti memeriksa nilai-nilai yang valid), Anda mungkin ingin menambahkan parameter lain untuk FOO untuk mengatakan bahwa ia sedang dipanggil untuk proses perintah FOO, maka bisa melewatkan parameter validasi setiap pekerjaan yang telah telah dilakukan oleh CA.





