COBOL 作業用ストレージで a 変数を再定義しようとしています。以下の ID が可能かどうかを確認してください: PIC 句 9(2).9(3) を持つ変数をこの PIC 句 -(2).9(3) に再定義できますか
質問する
901 次
1 に答える
0
COBOL でのフィールドの再定義は、単純に再定義です。つまり、それぞれのフィールドに格納されるバイトをより小さなセグメント/バイトに分解しているだけです。
たとえば、クレジット カードなど、多くの一般的なものに適用できる有効期限を扱っているとします。COBOL の初期作業領域フィールド/変数は次のようになります。
05 EXPIRATION-DATE PIC X(8).
それでは、これらの 8 バイトをより小さなバイトに再定義しましょう。そうすれば、たとえば、有効期限の年だけ、月だけ、または日だけを引き出すことができます。
したがって、次のようになります。
05 EXPIRATION-DATE PIC X(8). ---> 20170623 (data stored in field)
05 EXPIRATION-DATE-NEW REDEFINES EXPIRATION-DATE.
10 EXPIRATION-YEAR PIC 9(4). ---> 2017
10 EXPIRATION-MONTH PIC 9(2). ---> 06
10 EXPIRATION-DAY PIC 9(2). ---> 23
そのため、メイン フィールドには日付が格納されますが、再定義することで、プログラムで何をしようとしているかに応じて、年、月、または日だけで作業できるようになります。
お役に立てれば。
于 2017-06-23T17:52:09.500 に答える