• 締切済み

COBOLでこんなプログラムをつくりたいです

COBOLを使ってこんなプログラムを作りたいです トランザクションファイルに店コード 売り上げ (01 100万  01 100万  01 100万  02 120万  04 140万)などが入っている マスターファイルに店コード 店名が入っている (01 大阪店  02 名古屋店  03 札幌店  04 東京店)など この2つのファイルを使って以下のファイルを出力する方法を教えてください。 出力ファイル 店名 売り上げ (大阪店 100万円  大阪店 100万円  大阪店 100万円) 注意:出力ファイルには、一致するコードをすべて 出力するのではなく、01の大阪店のみをすべて出力したいです。 ●SERCHを使いたいです ~~~~~~~~~~~~~~~~~ SET IDX 1 SERCH □□□ AT END エラー処理 WHEN ○○○=△△△(IDX) これは、2つのファイルが一致するすべてを出力してしまいます。 求めたいのは、一部のコード(01)のときだけです。 どうすればいいですか? 前提として、トランザクションファイルをすべて読み込みます。 マスターファイルは、テーブルにすべて読み込みます。 ~~~~~~~~~~~~~ 自分の見解 SERCHをやってトランザクションファイルとマスターファイルとが一致するのを探して一致する場合、さらに01か判断するような感じになると思うんですが・・・ 実際に簡単にプログラムを書いていただけるとうれしいです。

みんなの回答

  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1

IDENTIFICATION DIVISION. ENVIRONMENT DIVISION. DATA DIVISION.  これらを、きちんと設定していただければ、 PROCEDURE DIVISION.  この部分を提示できると思います。

kou_ha_otu
質問者

補足

DATA DIVISION. FIFLE SECTION. FD MASTER-FILE. 01 MAS-REC PIC X(80). FD TRAN-FILE. 01 TRAN-REC PIC X(80). FD LP-FILE. 01 LP-REC PIC X(80). WORKING-STORAGE SECTION. 01 KKDR PIC 9(02) VALUE 01. (↑これは出力時に01しか表示しないようにするためのものです。 いつ使うかわかりません。) 01 NYUURYOKU-A(マスターファイルの入力形式) 05 X-CODE PIC 9(02). 05 X-MEI PIC X(05). 01 NYUURYOKU-B(トランザクションの入力形式) 05 T-CODE PIC 9(02). 05 KINGAKU PIC 9(08). 01 T-TABLE(マスターファイルの内容をこのテーブルにすべて入れる) 05 T-MEI OCCURS 4 INDEXED BY K 10 Y-CODE PIC 9(02). 10 Y-MEi PIC X(05). あとは、わかりません。

関連するQ&A

  • COBOL

    COBOLを使ってこんなプログラムを作りたいです トランザクションファイルに店コード 売り上げ (01 100万  01 100万  01 100万  02 120万  04 140万)などが入っている マスターファイルに店コード 店名が入っている (01 大阪店  02 名古屋店  03 札幌店  04 東京店)など この2つのファイルを使って以下のファイルを出力する方法を教えてください。 出力ファイル 店名 売り上げ (大阪店 100万円  大阪店 100万円  大阪店 100万円) 注意:出力ファイルには、一致するコードをすべて 出力するのではなく、01の大阪店のみをすべて出力したいです。 ●SERCHを使いたいです ~~~~~~~~~~~~~~~~~ SET IDX 1 SERCH □□□ AT END エラー処理 WHEN ○○○=△△△(IDX) これは、2つのファイルが一致するすべてを出力してしまいます。 求めたいのは、一部のコード(01)のときだけです。 どうすればいいですか? 前提として、トランザクションファイルをすべて読み込みます。 マスターファイルは、テーブルにすべて読み込みます。 ~~~~~~~~~~~~~ 自分の見解 SERCHをやってトランザクションファイルとマスターファイルとが一致するのを探して一致する場合、さらに01か判断するような感じになると思うんですが・・・ 実際に簡単にプログラムを書いていただけるとうれしいです。

  • 両替プログラムなど

    学校の課題で出たプログラムなのですが、いまいちわかりません。 (1)1000円を500円、100円、50円、10円を使って両替する全てのパターンを出力するプログラム。 (2)整数を入力し、上位の桁から順に各桁の英語読みを出力するプログラム。配列使用。 (3)0~100までの任意の値を複数入力して、入力された値の個数、平均値、最大値、最小値を出力するプログラム。 (2)については、315と入力するとthree one fiveと出力されるプログラムです。 (3)については、複数入力と入力された値の個数の部分がわかりません。 コードを全て記述して教えてくれればうれしいですが、考え方、ヒントだけでも結構です。 非常に困っています。助けてください。

  • 集計のプログラムを組むには・・・・

    以前はCOBOLでプログラムを作っていましたが、今はリタイアして管理的な仕事をしています。 VBやACCESSの本は読みましたが理解は十分ではありません。 こんな私ですが、学ぶ努力はいといません。 一定期間の売上データを商品コードをキーに集計するプログラムをパソコン(WindowsXP)で作ろうと思っています。  売上データはサーバにあります。商品マスタもありますが、売上データより新規に作りたいと考えています。 COBOLであれば、処理イメージを描けるのですが、VBやACCESSではどのようにすればいいのでしょうか? または、他の言語ありましたら紹介していただきたいと思います。

  • ACCESSでの検索方法について

    マスタファイル2万件、トランザクションファイル約50件程度のデータベースがあります。 50件のデータを1件1件マスタから検索し(キーは2つ)、あればマスタを修正し、なければマスタに追加するプログラムを作成する場合、どういった方法が良いのでしょうか? 1.Do until トランザクション.eof    クエリの実行(約50回)  loop 2.Do until トランザクション.eof findで検索(約50回) loop 3.2つともレコードセットを開いて上から順番に検索していく。 分かりづらかったらすみません。方法はこれ位しか思い浮かびませんでした。 ほかにあれば教えて下さい。 1の方法がプログラム的には一番楽なのですが、実行スピードは3なのでしょうか? すみませんがご教授お願いします。

  • IBM AS/400 RPG

    プログラミング歴1週間、RPG歴1週間の初心者です。 RPGについての本やサイトが少なく、サンプルコードも数えるほどしかわからない私にどうか救いの手を・・・。 今困っているのは初歩的なものなのですが、E仕様書のテーブル定義の仕方とC仕様書で検索キーを宣言してマスタファイルから検索をかける方法がわかりません。 たとえば受注明細ファイル(トランザクションファイル)を出力するのに商品コードしか記載されてないとします。 そこで商品マスタの商品コードをキーにして、検索をかけ、該当レコードが会った場合はその商品名称を出力し、なければブランクにする・・・という感じです。 文章がおかしいので理解しずらいとは思いますが、わかる方はサンプルコードをお願いします;;

  • RPGについて

    基礎的なことなのですが、CHAINの書き方がわかりません。 今やっているのは、受注明細ファイルを出力するもので、 受注明細ファイルの商品コードをキーにして商品マスタを検索。 該当レコードがあれば、マスタの商品名称を出力ファイルの商品名称へ送るプログラムです。 CHAINを使って検索するのはわかるのですが、それをどう書けばいいかがわかりません。 またまた図々しいですが、できればサンプルのソースコードがあるとありがたいです。 よろしくおねがいします;;

  • COBOLで全角変換を行いたいのですが...

    汎用機(ACOS-4)でCOBOLを使って開発を行っている者です。 INファイルのある項目を全角変換し、 OUTファイルに出力するプログラムを作成しています。 ただ困った事に変換元の項目の内容が 半角のデータ、全角のデータ、半角全角が混在しているデータもあるのです。 現在は項目の中に半角スペースの文字コードが存在すれば全て半角とし、 以外は全て全角と判断しています。 もちろん項目中のデータが全て埋まっている場合や、 半角全角が混在しているデータについては文字化けを起こしています。 どなたかこのような変換について良い方法があればご教授願います。 宜しくお願い致します。

  • Excelの置換でセル内にある数字を全部消したい

    複数店舗の売上データを会社のシステムでExcel出力すると、一つのセル内にお店のコード(数字9ケタ)と店名が一緒に入って出てきます。 この数字のコードが長くてじゃまなので、店名だけを残してコードを全店分消したいのですが、現在は全店の店名セルを選択して、「1」→「」(文字なし)、「2」→「」と、数字を一文字ずつ置換で消しているので、0~9まで10回置換してる状態です。 きっともっと簡単に数字だけ消す数式とかがあるのでしょうが、過去の質問を検索してもよくわかりません。 どうやったら数字のみをまとめて消せるのでしょうか?

  • アクセスのクエリについて(前当期比較させたい)

    現在、アクセス2010を勉強中の超初心者です。 アクセスを用いて、前期と当期の商品売上数量比較表(得意先ごとの)を作成できないか考えております。  ■さっそくですが、以下の4つのテーブルがあったと仮定します。 テーブル(1)(商品マスター)           テーブル(2)(得意先マスター) 品コード | 品名                  店コード |  店名   1    | ○○                       A  |  あか   2    | ××                       B  |  いき   3    | △△                       C  |  うす テーブル(3)(前期売上データ)          テーブル(4)(当期売上データ) 店コード | 品コード | 売上数量         店コード | 品コード | 売上数量  A     |   1    |  10               A      |   3     |  20     A     |    3     |  15             A      |    4     |  25     B     |    1     |  17              B     |    2    |  27     :     |    :    |  :               :     |    :     |  :     ■以下のようなデータ抽出できないかを検討しています。 店コード | 品コード | 前期売上数量 | 当期売上数量   A    |    1     |     10       |     0   A    |    3      |     15       |     20   A    |   4      |     0       |     25  ◆自身で検討してみましたが、「前期に売上実績があるが、当期に売上実績がないケース」、及び「その逆のケース」についてうまく抽出できません。(上記例で言いますと、A店に対する売上で品コード1 と 品コード3 の商品売上数量比較ができませんでした。)  解決方法わかる方、ご教授のほどよろしくお願い致します。

  • COBOL OCCURSで指定したデータの参照の仕方

    IBM COBOL でプログラムを作成しています。 初歩的な質問で恥ずかしいのですが、どなたか教えていただけますか。 まず、以下のようなTABLEを定義しました。 01 A-TABLE. 03 B OCCURS 100. 05 C PIC X(08) VALUE SPACE. 05 D PIC X(02) VALUE SPACE. 05 E PIC X(08) VALUE SPACE. 05 F PIC X(05) VALUE SPACE. 05 G PIC X(05) VALUE SPACE. 05 H PIC X(05) VALUE SPACE. その後に、INPUTファイルからREADしたデータのうち、必要な部分だけを 該当のTABLEに添え字を使用して代入していく処理を作成したいと思っています。 その場合に、上記の「C」~「H」に代入するにはどうすればよいでしょうか? また後続の処理で直接その値を参照したいのですが、どうすれば良いでしょうか? 私の考えられる範囲で以下のようにプログラムしましたが、 実行時に「OUTSIDE THE REGION OF THE TABLE.」というようなエラーが出力されてしまいました。 MOVE I TO C(IDX1) MOVE J TO D(IDX1) MOVE K TO E(IDX1) MOVE L TO F(IDX1) MOVE M TO G(IDX1) MOVE N TO H(IDX1) どなたかよろしくお願いします。

専門家に質問してみよう