最初のページに戻ります。

総合の目次があるページに戻ります。

よく使うマニュアルです

Wiki

updated on 2004.06.23

16.29.AS400/RPGテスト解答

[ Previous ] [ HOME ] [ Upper ] [ Next ]


AS/400 の「AS」とは何の略ですか?

Application System(1988年6月発表)もしくはAdvanced Siries(1994年5月発表)

IBM は何の略ですか?

International Business Machines (国際事務機)

主記憶域のプールの設定は、どの記述の上で行いますか?

サブシステム記述

5250 エミュレーションの表示属性とは何ですか

表示フィールドの属性を決めるもので、高輝度、反転、明滅、下線、桁区切り...等がある。

OVRDBF の NBRRCDS と SEQONLY は各々どういう場合に使用されますか?

ファイルレコードを読み込む際に、順次処理を指定するコマンド。SEQINLYを指定する場合、当然プログラムは、そのファイルを順次処理(順次読み込み、順次書き出し)としてオープンしたファイルでなくてはならない。メモリに取り込むレコード数を決めるのがNBRRCDS,プログラムの読み込みレコード数を決めるのがSEQONLY。 OSが勝手に最適化してくれる。

DB2 OS/400 用データベース・プログラミング バージョン 3

2.1.6 順次のみの処理

順次のみの処理を指定する場合には、システムのデータベース主記憶域とジョブの内部データ主記憶域との間で 1 単位として転送されるレコードの数を指定することもできます。順次のみの処理で転送するレコードの数を指定しない場合には、システムが、4096 バイト・バッファーに見合うレコードの数に基づいて、レコードの数を計算します。

システムはさらに、補助記憶域と主記憶域との間で 1 単位として転送されるレコードの数を制御する方法も提供します。データが物理的に記憶されている順序でデータを読み取る場合には、OVRDBF コマンドで NBRRCDS パラメーターを使用することによって、ジョブのパフォーマンスを向上させることができる場合があります。

注: 物理データがアクセス・パスと同じ順番でない限り、順次のみの処理をキー順アクセス・パス・ファイルで使用するべきではありません。SEQONLY(*YES)処理は物理データがアクセス・パスの順番に再編成されるまで、アプリケーションのパフォーマンスを低下させる原因となる場合があります。

OS400 を開発した研究所の名前は?

ロチェスタ研究所

RPG 内部でその RPG プログラムの名前をとりだすことはできますか?

可能。プログラム状況データ構造で取り出す。

        I     SDS
        I                       1 10 Z1PGM
閏年計算上ユリウス暦とグレゴリー暦の違いは何ですか?

ユリウス暦は、年4桁を4で割って割り切れたらうるう年とする、うるう年計算で、実際の太陽年との間に誤差を持つ方式。これを訂正してより誤差を減らしたのが、グレゴリー暦。400年間に3回、うるう年の例外を設けた。14.2.閏年の判定方法を参考にしてください。

RPG400(OPM) 内部で定義可能なサブルーチンの最大値はいくつですか?

254個。14.7.RPGの制約事項を参考にしてください。

APW 等のプログラムを使用せずに、帳票に罫線を打ち出す方法はありますか?

SCS (SNA Character String)コードを使う。9.29. SNA Character String Codeについてを参考にしてください。

9.52.罫線を帳票につけたい(1)9.53.罫線を帳票につけたい(2)も参考にしてください。

RPG で 
1	DO	9	JJ	10
	END
とすると、永久ループするのはなぜですか?

DOループから抜けるのは、JJが10に成ってからなのだが、その値を受け止めるJJが整数1桁のために、10ではなく0になってしまうため。7.1.DO loopの罠?!を参考にしてください。

OPNQRYF はどのように使用されますか?また、CLP 内でのコーディングでの注意点はなんですか?

ファイルのアクセスパスの指定やデータの選択などを、動的に行えるコマンド。SQLとエンジンが一緒で、SQLとは別の構文で行う。CLPでは、予め対象となるファイルをSHARE(*YES)でオープンしなくてはならない。3.9.OPNQRYFの基本(RPGとOPNQRYF)を参考にしてください。

CPP とはなんですか?

Command Process Programのことで、コマンドで定義されるプログラム(コマンドで呼び出されるプログラム)のこと。

RPG で READC の機能に深く関係する DDS のキーワードはなんですか?

SFLNXTCHG。2.19.READCとSFLNXTCHG解説を参考にしてください。

ファイルのレコードの排他ロックやスタベーションはどのようなことですか?

更新ファイルをオープンして、レコードを読み込むと、他のジョブから同じレコードを書き換えられないように、レコードを更新するまで、ロックをかけること、を排他ロックといいます。この機能がなければ、データはぐちゃぐちゃになります。大抵はOSが管理する領域です。また、このために、2つのジョブがレコードを獲得しようとして、お互いにお互いのロックが解けるのを待ちつづける状態を、スタベーション(飢餓状態)といいます。尚、ロックには、レコードロックのほかに、オブジェクトロックやメンバーロックなどがあります。7.16.更新レコードロックと飢餓状態を参考にしてください。

ファイルメンバーとは何ですか?

ファイルの構成の中で、データを収める部分のこと。この他に、レコード様式、アクセスパスなどがそろって、データ用のファイルとなる。

毎日特定の時間にジョブを実行させたい場合、どのようなコマンドを使用しますか?

WRKJOBSCDE (ADDJOBSCDEなど...)単に、一度のみならば、SBMJOBでスケジュール日時を指定して、ジョブ投入する方法もあるが、毎日ならば、WRKJOBSCDEが便利。

RPG でプライマリーファイルや全手順ファイルとはなんですか?

RPGサイクルを使ってプログラムをコーディングする場合の、中心となるファイルをプライマリーファイルと呼びます。これに対して、全手順方式(自分でファイルにアクセス)のコーディングをする場合の、対象となるファイルを全手順ファイルと呼びます。

ファイルの一時指定変更(OVRDBF)は、ファイルメンバーのオープン後でも可能ですか?

不可能。必ず、ファイルメンバーオープンの「前」に行なわなければならない。

追記 2000-1-12

オープンしてしまうと、OSがすでにODPを作ってしまうからだろうと思う。つまり、クローズ状態で、OVRDBFをしなくてはならない。「不可能」と書いたが、もし、RPGで、オープンがユーザーコントロールによるのならば、CLOSEしてからOVRDBFをして、再度OPENする手がある。まあ、これでもファイルメンバーオープンの後で、OVRDBFを有効にすることができる。

AS/400 の長いコマンド名を短くする最も簡単な方法は何ですか?

CRTDUPOBJを使う。

RPG で文字列'AS'と'400'を合成して'AS400'という文字列をつくる命令語は何ですか?

CAT命令。

添え字付き配列に対して、LOKUP命令を実行する場合の注意は何ですか?

Z-ADD1  添え字  を実行してからLOKUP命令を行う。

DOWとDOU,最初に条件判定をするのはどちらでしょうか?

DOW (DoWhile)

結果の標識で、HI LO EQの欄で、EOF、BOF標識はどの部分(HI LO EQ)ですか?

EQ

C仕様書に、DUMP命令を組み込む場合、他の仕様書にも注意が必要です。何という仕様書ですか?

H仕様書の、15桁目のデバッグオプションに1を入れる。

ITER命令とは英語で、何という単語ですか?

iterate 反復する

DO-ENDの中で、その命令が実行されると、END行に飛ぶ命令は何ですか?

ITER命令

MOVE命令で、Paddingを結果のフィールドに数字を指定した場合、エラーになりますか?

ならない。0がセットされる。

RPG/400 解説書 11.14 転送命令より

転送操作の 53 桁目に P を指定すると、結果フィールドに、MOVEL とMOVEA の場合は右から、MOVE の場合は左から埋め込みが行われます。埋め込み文字は文字の場合はブランク、数字の場合は0、標識の場合は'0' です。埋め込みは操作後に行われます。

UPDAT命令は、データ域に対しても行えますか?

できない。

UNLCK命令は、データ域に対しても行えますか?

できる。

画面のCA01-CA24,またはCF01-CF24に該当する標識で、KAからKYのうち、存在しないKxはなにか?

CF/CA 01 02 03 04 05 06 07 08 09 10 11 12
標識 KA KB KC KD KE KF KG KH KI KJ KK KL
CF/CA 13 14 15 16 17 18 19 20 21 22 23 24
標識 KM KN KP KQ KR KS KT KU KV KW KX KY

KOがない。

レコードロックの秒数はどこできまるか?

ファイル記述。CHGPFのWAITRCDキーワードで変更できる。

RPG400(OPM)において、パラメータの最大数は、いくつか?

255個。14.7.RPGの制約事項を参考にしてください。

*ENTRY PLISTの中のPARM命令の結果のフィールドに、配列要素は指定できるか?

できない。

CALL命令のPARM命令に於いて、結果のフィールドに、配列要素は指定できるか?

できる。

RPG/400 解説書 11.20.60 PARM(パラメーターの識別)

結果フィールドにはパラメーターになるフィールド、データ構造、または配列の名前を入れなければなりません。また *ENTRY PLIST 以外の結果フィールドには配列要素も入れられます。結果フィールドは数字でも文字でも可能です。結果フィールドには *IN、*INxx、*IN,xx、ラベル、リテラル、データ域名、データ域データ構造名、グローバルに初期設定したデータ構造、初期設定したサブフィールドをもつデータ構造、サブフィールドとしてコンパイル時配列をもつデータ構造、またはテーブル名を入れることはできません。さらに、*ENTRY PLIST に指定した PARMの結果フィールドには、配列要素、データ構造サブフィールド名、コンパイル時配列の名前、およびプログラム状況データ構造またはファイル情報データ構造(INFDS) の名前は使用できません。*ENTRY PLIST にはフィールド名は1回だけ指定できます。

DO ENDのEND命令の演算項目2にマイナスの数字を指定すると、カウントダウンできますか?

できない。

1     DO   10	JJ
      END  4
      Z-ADDJJ	LL

LLの値は何か?

JJ=1,5,9,13となり、JJが13のときDoループから抜けるので、LLは13となる。処理される最後の値の9ではない。他の言語のFor-Nextなども同じ結果となる。

4桁のパックの数字を、ディスク上に保管する場合、ディスク上では何バイト占有しますか?

4=2n-1
5=2n
n=2.5
nは整数なのでn=3

  2 4
1 3 F

なので3バイトと考えてもいい。同じディスクの占有バイトで、数字が5桁まで表現できることが分かる。つまり、パック4桁は無駄。パックは大抵奇数桁にするのは、このため。

RPG/400 使用者の手引き 9.1.1 パック 10 進数形式 

パック 10 進数フィールドの数字の桁数を知るためには、次の公式を使用してください。

数字の桁数 = 2n - 1,

n = 使用されているパック入力レコードの桁数

この公式により、パック 10 進数形式で表現できる最大バイト数が分かります。上限は 30 です。

2000-1-7

 

[ Previous ] [ HOME ] [ Upper ] [ Next ]

You are at K's tips-n-kicks of AS/400

 

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送