- 締切済み
RPGプログラミングによる、年度毎の集計方法
現在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 プログラム全体を載せているわけではないので、 全体的に私がどのような処理をしようとしているのかが、 分かりづらいと思います。 しかし、必要であれば載せます。 上司のアドバイスとしては論理ファイルを作る時点で、 力技でどうにかなるといいますが、 やり方が分かりません。 どなたかご指導願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- mkt8589
- ベストアンサー率25% (47/181)
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 っという感じになるのでしょうか? (ちなみに「_」アンダーバーは桁をそろえるのに使っています。) 何桁目に書くのかすら分かりません。 ご迷惑でなければ追加アドバイスよろしくお願いします。