-4

COBOL 作業用ストレージで a 変数を再定義しようとしています。以下の ID が可能かどうかを確認してください: PIC 句 9(2).9(3) を持つ変数をこの PIC 句 -(2).9(3) に再定義できますか

4

1 に答える 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 に答える