- 締切済み
COBOL85のコーディングについて
COBOL85のコーディングについて教えてください。 以下のようなレコードを持つテーブルで、CD1="B"のレコードを、(1)→(2)→(3)の降順で読み込むには、どのようにコーディングすれば可能でしょうか? コーディング例をお願いします。 CD1|CD2|DATE ―――――――――――――――― A |1 |20120101 A |2 |20991231 (3) B |1 |20120101 (2) B |2 |20131231 (1) B |3 |20991231 C |1 |20120101 C |2 |20991231
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- PUNCHI_PUNTA
- ベストアンサー率50% (1/2)
- ToOrisugaru
- ベストアンサー率28% (80/280)
- ToOrisugaru
- ベストアンサー率28% (80/280)
関連するQ&A
- COBOLのコーディングについて
下記の内容を実行するときのコーディングを教えてください。 01 WORK-TABLE. 03 ITEM PIC X(02)OCCURS 10. テーブルの中身。 02,01,03,04,05,06,04,03,02,01の時、 (1)ITEMの最大値を求める→答え:06 (2)ITEMの種類をカウントする→答え:01~06の6種類 (3)降順に3つだけ他のテーブルに転記する→答え:01,02,03 本当に教えて君で申し訳ありませんが宜しくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- select文
お世話になります。 以下のような内容のテーブルA、B、Cがあります。 テーブルA id a_data a_date ----------- テーブルB id b_data b_date テーブルC id c_data c_date ----------- テーブルAとテーブルBは「id」がキーで1:N テーブルAとテーブルCは「id」がキーで1:N このような3のテーブルで idを検索キーにして次のフィールドのデータを抽出したいのですが。。。(テーブルCのc_dateを降順で) id a_data a_date テーブルBのidで検索したレコード数 説明不足かもしれませんがよろしくお願いします。
- 締切済み
- MySQL
- COBOLについて
COBOL初心者なのですが。 COBOLで 01 A. 03 B PIC 9(02). 03 C PIC X(02). MOVE SPACE TO A. とした時、基本項目であるBには何が入っているのでしょうか? 数字項目にSPACEというのはありえないですよね。 どなたかわかる方、教えていただけませんか?
- ベストアンサー
- その他(プログラミング・開発)
- COBOLの動的SQLについて
COBOLにおいて、動的にSQLを組みたいのですが、 取得する方法も含めてご教授願いませんでしょうか? 例) 条件により コード=1の場合、 SELECT A.ID,B.NAME FROM ID A,NAME B コード=2の場合、 SELECT A.ID,B.NAME,C.ADDRESS FROM ID A,NAME B,ADDRESS C のように条件により取得する項目も数もテーブルも違います。 この場合でのSQLの組み方とデータを取得する(FETCHの方法)がわかりません。 また、取得する件数も1件ではありません。 よろしくお願い致します。
- 締切済み
- その他(プログラミング・開発)
- COBOLの文字列検索を教えて下さい。
cobol初心者です。 「100バイトのレコードを複数件読み込み、決まった文字列を検索する」というPGMを作ろうとしています。 03 REC-1 PIC X(100) 03 REC-2 PIC X(05) という定義があるとき REC-1 = "abcdefghijklmnopqrstu…" というデータに対して、 REC2 = "hijkl" の検索をしたい場合 どのようなコーディングで調べることができるのでしょうか? 何レコード目の何バイトでヒットしたかを表示したいので、 INSPECT命令は使用せず、REC-1を1バイト単位で取り出して、 1文字ずつ判定しようと思っています。 レコードを越えてのヒットは行いません。 この場合配列を使うという考え方は正しいですか? 読み込んだ100バイトのレコードを1バイト単位で取り出して比較するには、 REDEFINEを用いて再定義すると考えています。 その場合のREADでの読み込み方がよくわかりません。 コーディング例等を載せてもらえると助かります。 cobolをはじめたばかりで、基本的な知識が抜けているかもしれません・・・ よろしくお願い致します。
- 締切済み
- その他(プログラミング・開発)
- 複数テーブルの結合
テーブルA a_id id a_data a_date ----------- テーブルB id b_data b_date テーブルC id c_data c_date ----------- テーブルAとテーブルBは「id」がキーで1:N(Nは0も含む) テーブルAとテーブルCは「id」がキーで1:N(Nは0も含む) このような3のテーブルで a_idを検索キーにして次のフィールドのデータを抽出したいのですが。。。 ※テーブルCのc_dateを降順で先頭の1レコードのみ ※テーブルBのidをカウントする selectの結果(イメージ) id a_data a_date count(B.id) c_date ------------------------------------- 001 AAAA 2007/02/01 20 2007/02/14 005 BBBB 2007/02/02 0 2007/02/10 006 CCCC 2007/02/02 0 2007/01/08 003 DDDD 2007/02/01 100 002 EEEE 2007/02/01 9 004 FFFF 2007/02/01 0 よろしくお願いします
- 締切済み
- MySQL
- COBOL プログラミング
課題で「DBからデータを取得する際、それぞれの項目から登録日が最新のデータを1件取得する」という課題をしています。 そこで以下のような処理のプログラムを書きました。 IF MECIDENPYO_NO NOT = SPACE EXEC SQL SELECT SKA_SAKI_CD --出荷先 ,SKA_TYPE --出荷タイプ INTO :A. SKA_SAKI_CD, :A. SKA_TYPE FROM テーブル名 WHERE SKA_SLIP_NO LIKE '____' || :HST-EDIT_BIKOU AND DEL_FLG = '0' AND INS_DATE =(SELECT MAX(INS_DATE) FROM テーブル名 END-EXEC END-IF 上記の処理だとテーブルの中で登録日(INS_DATE)の最大値であるデータ1件だけしか取得できません。 私が実現したい機能はたとえば Aという項目とBという項目があったとして 登録日 A 2011/9/9 A 2011/9/11 A 2011/9/10 B 2011/8/9 B 2011/8/18 B 2011/9/20 Aの中で登録日が最新(最大)である A 2011/9/11 Aの中で登録日が最新(最大)である B 2011/9/20 を取得する処理を実現したいです!! これを実現するにはORDER BY して降順に並べた後に、ROWNUMを使うらしいのですが よくわかりません。どなたかプログラムで書いていただけますかか?? ヒントや考え方でもかまいません よろしくお願いいたします。
- 締切済み
- その他(プログラミング・開発)
- COBOLで入力レコードフォーマットが可変の場合
COBOLのプログラミングの質問です。 基本的な質問かもしれませんが。。。 入力となるレコードのフォーマットが可変である場合、 DATA DIVISIONをどのように定義をすれば必要な項目を得られるでしょうか? たとえば以下の場合です。 入力レコード:1024バイト レコード内容:開始4バイトは固定。 以降は、A(10バイト)、B(20バイト)、C(30バイト)のいずれかのパターンが来る。 ※AからCの先頭1バイトのフラグでA,B,Cのどれかがわかる Aのフォーマット 1バイト目:フラグ、2~4バイト目:レコード長、5~10バイト目:会社名 Bのフォーマット 1バイト目:フラグ、2~4バイト目:レコード長、5~10バイト目:会社名、 11~20バイト目:会社の従業員数 Cのフォーマット 1バイト目:フラグ、2~4バイト目:レコード長、5~10バイト目:会社名、 11~20バイト目:会社の従業員数、21~30バイト目:会社の売上金額 [レコードの例] 1レコード目:固定部,C,B,A,B,B・・・B,B 2レコード目:固定部,A,C,C,A,B・・・B,C 上記のレコードから、会社名や会社の売上金額を取り出すようにしたいです。 入力レコードのフォーマットが決まっていれば、その項目にそって定義すればよいと思いますが 決まっていない場合の方法がわかりません。 また、読み込んでから判断する必要があるため、どうしてよいかわかりません。 質問内容がわかりにくくてすみませんが、わかる方がいましたらよろしくおねがいします。
- ベストアンサー
- その他(プログラミング・開発)
- COBOL
すごい簡単な問題なんで恐縮します。COBOL超初心者です。 通信学習で学んでるのですが、テキストに詳しく載っていないので行き詰っています。 下記A, B, Cの値を求めなさい。 MOVE 9 TO A. COMPUTE B = A / 3 COMPUTE C = A + B COMPUTE A = A * 2 で、私が考えた答は、 A = 18 B = 3 C = 12 です。 自分の出した答に全く自信がありません。 どなたか、合っているか教えて下さいませんか? そして、間違っている場合、答の求め方を教えて下されば幸いです。 宜しくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- cobolのカーソルについて
cobolのカーソルについて 初投稿させていただきます。ですので体裁やルールを守れていない場合は、ご指摘願います。 cobolにおいて埋め込みSQL文によるカーソルをオープンし、fetchでテーブルを読み込む作業についてなんですが、一度のプログラム起動において同じテーブルを複数回読むにはどのようなソースを描けばよいのでしょうか。 具体的にはあるテーブルの5個のレコードを上から順に何度も読むといった次第です。 お分かりになられる方がいましたら、ご指導願います。よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
補足
大変失礼しました。 ACOS2の環境で取り扱います。