新しく質問する

RPGプログラミングによる、年度毎の集計方法

役に立った:1件
  • 質問者:hikari_tai
  • 投稿日時:2006/02/03 08:02
  • 困り度:暇なときに回答をください
  • 友達に紹介
  • ブログに書く
  • 教えて!gooお気に入り

現在RPGプログラムの研修中なのですが、
RPGプログラムで年度毎の件数集計を行いたいと思っています。
品目マスタというのがあり、
そこに登録日付(TOUROK)というフィールドがあります。

しかし、YYYY/MM/DDという形式で登録されています。

論理ファイルでキーフィールドを選択すると、
登録日付のフィールドは日付順にソートします。

で、RPGプログラムの中で

MOVEL TOUROK 4 0
(自分なりには日付の左4つ(年の部分)を取る、
そしてそれを元に年度毎の登録件数を集計するつもり)

っと記述します。

しかし、これだと登録日付として

2000/01/01
2000/01/01
2000/01/01
2000/03/01
2001/06/01

プログラム全体を載せているわけではないので、
全体的に私がどのような処理をしようとしているのかが、
分かりづらいと思います。

しかし、必要であれば載せます。

上司のアドバイスとしては論理ファイルを作る時点で、
力技でどうにかなるといいますが、
やり方が分かりません。

どなたかご指導願いします。

この質問への回答は締め切られました。
このQ&Aは役に立ちましたか?(役に立った:1件)
  • 参考になった:0件

No.1ベストアンサー10pt

  • 回答者:mkt8589
  • 回答日時:2006/02/03 08:14

RPG、懐かしいです。
データストラクチャで日付フィールドを再定義します
仮に日付をHIDUKEと言うフィールド名とします
I仕様書で、DS宣言をします
1  10 HIDUKE
1   40HIDUKEYY
5  5 HIDUKESR1←SRはスラッシュのつもり
6 70HIDUKEYY
8 8 HIDUKESR2
9 100HIDUKEDD
これでファイルのHIDUKEフィールドが再定義されます。
C仕様書の最初で、MOVE *BLANK HIDUKEで初期化します。
後は普通に処理してやればOKだと思います。

通報する

この回答への補足

アドバイスありがとうございます。
DS宣言というのをはじめて知りました。
ちょっとどんなものか調べたいと思います。
それからアドバイス頂いたコーディングは、
各々何桁目にあたるのでしょうか?
それからそろいかたは
1___10_HIDUKE
1____40HIDUKEYY
5____5_HIDUKE/
6____70HIDUKEYY
8____8_HIDUKE/
9___100HIDUKEDD
っという感じになるのでしょうか?
(ちなみに「_」アンダーバーは桁をそろえるのに使っています。)
何桁目に書くのかすら分かりません。
ご迷惑でなければ追加アドバイスよろしくお願いします。

この回答へのお礼

こちらの方法ではありませんでしたが,
目的の結果がだせました。
どうも質問の仕方が悪かったらしいです。
でも色々と参考になりました。
ありがとうございます。

  
このQ&Aは役に立ちましたか?(役に立った:1件)

このページのトップへ

Facebook公式ページ

公式Twitter