
現在COBOLで以下のようなプログラムを作成しています。
受付日と今日の日付を比較して1ヶ月経過したデータと振り分ける。
1ヶ月経過したものは、削除分のデータとしてディスクに保存
1ヶ月経過していないものは、保存分のデータとしてディスクに保存
ただし、入力データは、受付日(6桁)に書かれているのは6桁(例:080524)
本日の日付は、システム時間で8桁(例:20080824)
このままでは、桁数が違うので、比較することができないため、受付日を8桁にしたいと考えています。
つまり、「'20'+受付日」としたいのです。
この場合、どのようにすればよろしいのでしょうか?
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
ANo1と殆ど変わらないのですが・・・
01 WK-DATE.
03 X8DATE PIC X(08).
03 X8DATE-R REDEFINES X8DATE.
05 YY20 PIC X(02).
05 X6DATE
07 X6YY PIC X(02).
07 X6MMDD PIC X(04).
・・・・・
IF X6YY > '60'
MOVE '19' TO X6YY
ELSE '20' TO X6YY
ENDIF.
或いは。
01 WK-DATE.
03 X8DATE PIC 9(08).
03 X8DATE-R REDEFINES X8DATE.
05 YY20 PIC 9(02).
05 X6DATE
07 X6YY PIC 9(02).
07 X6MMDD PIC 9(04).
・・・・・
IF X6YY > 60
MOVE 19 TO X6YY
ELSE 20 TO X6YY
ENDIF.
データが2000年以降と決まっているならば、
01 WK-DATE.
03 X8DATE PIC 9(08).
03 X8DATE-R REDEFINES X8DATE.
05 YY20 PIC 9(02) VALUE 20.
05 X6DATER PIC 9(6) VALUE ZERO.
・・・・
MOVE 元の6桁日付 TO X6DATE.
(比較はX8DATEとシステム日付の一カ月前と比較する)
(WK-DATEを他用せないのならばこれだけで良い)
等など色々考えられます。
この回答への補足
LN-TFさん、回答ありがとうございます。
補足させていただきます。
・判定するのは、年月のみ
・現在年月の1ヶ月前の年月を別のエリアで計算する
・受付年月は、
01 WORK-AREA.
05 WK-UKETUKEBI
10 WK-UKETUKE-YM PIC X(04).
10 FILLER PIC X(02).
01 DATE-AREA.
05 SISUTEMU-DATE.
10 SISUTEMU-NENGETU PIC X(06).
10 FILLER PIC X(02).
です。
No.1
- 回答日時:
COBOLといっても何COBOLなのかな?
ずいぶん離れて久しいので間違ってたらすみません。
REDEFINESを利用して以下のように宣言。
01 X8DATE.
03 WK-PUNIPUNI PIC X(08).
01 X8DATE-R REDEFINES X8DATE.
03 YY20 PIC X(02).
03 X6DATE PIC X(06).
【使い方】
初回のみYY20に '20'を放り込む。
以降、X6DATEに '080524'を放り込んでからX8DATEを参照すると '20080524'に見えます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
配列でデータが入っている要素...
-
VBA 空白セルを削除ではない方...
-
多量のSUMIF式を軽くしたい
-
Accessで該当データにフラグを...
-
Excelのマクロでワードのテキス...
-
この行は既に別のテーブルに属...
-
アクセス2000で画像データ...
-
カンマからスラッシュに
-
Excel VBAでのオートフィルター...
-
C#にてDropDownListの値を動的...
-
[C言語] コメント文字列を無視...
-
Sheet2の日付をキーにオートフ...
-
VBAでのリストビューにおけるド...
-
【VBA】データを入力後に,同一...
-
エクセルで2つの時系列のデー...
-
特定のデータの抽出方法を教え...
-
ユーザーフォームのテキストボ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
配列でデータが入っている要素...
-
<VB>String→Object
-
二分探索の平均探索回数
-
多量のSUMIF式を軽くしたい
-
EXCELVBAでSQLserverからデータ...
-
この行は既に別のテーブルに属...
-
ユーザーフォームのテキストボ...
-
VBA 空白セルを削除ではない方...
-
特定のデータの抽出方法を教え...
-
パースとはなんですか?
-
C# ソケット通信でデータ受信時...
-
エクセルで2つの時系列のデー...
-
[C言語] コメント文字列を無視...
-
Accessで該当データにフラグを...
-
カンマからスラッシュに
-
C# でDataTableの更新を高速化...
-
アクセス2000で画像データ...
おすすめ情報