6.3.API基礎講座3 ユーザー・スペースの扱い方 |
ユーザー・スペースを使うAPIを呼び出すプログラムのロジックは、すべてほとんど同じです。
まるで、ファイルにデータを書き出して、それを読み込んでいるようですよね。そうです。感覚的に、同じといってもいいのです。但し、*FILEではなく、*USRSPCがデータの蓄積場所です。 データの取り出しは、ファイルではないので、当然READやCHAINなんてできません。取り出し命令そのものは、専用のAPIプログラムがあります。それをCALLします。また、DSPPFMの代わりに、DMPOBJで内容確認ができます。見づらいですけど。 このユーザー・スペースで重要なのは、展開されたユーザー・スペース内部では、ある規則にのっとり、きちんと中身の構造が別れていることです。それは、「総称見出し」と「リスト・セクション」(変な言葉ですが、マニュアルにあわせました。)に別れます。この「リストセクション」は、さらに「入力パラメータセクション」と「見出しセクション」と「リストデータセクション」に別れます。 ややこしいのですが、「見出し」とつく名前が二つありますが、両者は別物です。
例えば、ユーザースペースは、こんな感じで利用するのです。
このようにして、データ項目の数分読み込むのです。 この切り出されたデータの項目(ファイルで言えば、フィールドの定義)に関しては、後で説明します。 総称見出しの位置は、固定的に独立していて、そこから得られる情報で、可変的なリストデータの情報を取り出します。 マニュアルにもあるように、総称見出しからの情報で、データ検索をしたほうがいいです。リストセクションの読み込みまでもプログラム固定にしてしまうと(項目数は分からないけど、データ長は予めマニュアルで分かってしまうものがある)、将来のOSのバージョンアップなどでデータ長が変わった場合、そのプログラムは正しく動きません。V3.1ではデータ長45バイトだったのが、V4.Xなどでデータ長100バイトに変わることもありえます。それで、総称見出し内にセットされた値を使って、リスト検索をすべきなのです。
|
You are at K's tips-n-kicks of AS/400
|
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||