![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
はじめまして。cobol(easy)でマッチングしたいのですが、うまくいきません.jclデータなので
ファイル内に重複はあります(ソートしても結果うまくいかず)
下記のようにPGしてます。
マスタは修正はいることはないので
1:N N:1マッチングです。
大小(=,<,>)比較ではうまくいかないので
(=と^=)でマッチングしないとだめでしょうか?
cobol、vbaの命令でも意味わかりますので
ロジックのアドバイスいただけないでしょうか?
よろしくお願いします。
======PG===========
初期リード(マスタ、トラン)
メイン処理
do key1 ^= 999999 and key2 ^= 99999
key1 < key2(マスタ:トラン)
マスタ出力
マスタ読み込み
key1 > key2(マスタ:トラン)
トラン出力
トラン読み込み
key1 = key2(マスタ:トラン)
do key1 = key2 ← key1 not key2 で抜ける
マスタリード
end-do
トランリード
end-do
=======データ===========
変更前(マスタ)
0001 //d0001 dd ssssssssss
0002 //dddd2 dd dddddddddd
0003 //d00003 dd 1111111111
0004 //d55454 dd 4444444444
--------------------------------
変更後(トラン)
0001 //d0001 dd ssssssssss
0002 //dddd33 dd aaaaaaaa
0003 //d00099 dd 88888888
0005 //dd0000 dd 444444444
結果
--------------------------------------
0002,0003のレコードは変更されている
0005は追加されている
No.1ベストアンサー
- 回答日時:
ロジックのアドバイスということで!
修正されていないであろう読み込んだマスタで、新たなコピー区を作成!それが、1対Nの1ということですね?
N個あるファイルとマッチングをする際の記述例は、あらかじめ処理を定義しておくのです。
PERFORM UNTIL key1 ^= 999999
AND key2 ^= 99999
IF key1 > key2
PERFORM A
IF key1 < key2
PERFORM B
IF key1 = key2
PERFORM C
END PERFORM.
大小(=,<,>)比較で条件分岐が発生するわけですから、自ずから違う処理も発生するハズかと思われます。はじき出すデータを確保する場所も、異なるでしょうし。
ありがとうございます
データがJCLでキーの比較(<>=)できないので
一度テーブルを作って
=とnot =で判定したら結果でました。最後の
レコード(// )がうまくいきませんが
影響はないのでなんとかなりそうです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SQL Server AccessのInsertクエリのあとつづけてDeleteクエリを行いたいがSQLでどう書いたらいい 3 2023/05/27 14:12
- Visual Basic(VBA) ExcelVBAで、index、match関数を使用して、指定範囲に出力したい 3 2022/10/18 21:53
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Excel(エクセル) IFERROR、SMALL関数について 2 2022/08/22 23:40
- JavaScript Json のキーと値の出力の違いについて 2 2022/06/14 20:22
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
- Visual Basic(VBA) Excel VBAで並べ替えをしたい 3 2023/02/25 09:31
- Excel(エクセル) VBA でvlookup エラーなどは削除したい 8 2022/12/30 04:03
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
多次元配列を、1次元の配列にす...
-
VB.NET で 二次元のハッシュは...
-
重複確認
-
if文などで使用される条件式で...
-
マッチング処理(1:N)
-
3つの連想配列を交互に代入し...
-
二次元配列の分割
-
下記のサイトを参考に,例えばAB...
-
元号の表示
-
foreachで上限回数指定方法また...
-
関数の引数に配列を初期化なしで。
-
PHPで連想配列のプルダウンメニ...
-
PHP、{}記号の意味
-
QUERY_STRINGを連想配列に入れたい
-
テーブルデータ表示
-
$_SESSIONに二次元配列を使える...
-
複数行のデータのPOST処理に関して
-
自動で番号を振りたい
-
CSVデータの行数カウントをした...
-
C言語の配列をPush(追加)する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
重複確認
-
foreachで上限回数指定方法また...
-
マッチング処理(1:N)
-
Excel VBAでフィルター後の対象...
-
VB.NET で 二次元のハッシュは...
-
多次元配列を、1次元の配列にす...
-
SELECT 使用時の bindValue の...
-
Smartyでインクリメント
-
PHPでこのコード自体に意味は無...
-
PHP、{}記号の意味
-
配列を比較して同じものがあっ...
-
phpでforeachの中にforeachがあ...
-
多次元配列の中で条件に合う要...
-
sqlのデーターを『あ行』『か行...
-
キーが倍数の時の値の存在チェ...
-
ジャグ配列
-
foreachで配列を、左から縦3列...
-
ラジオボタンをランダムに表示...
-
三重県南部の温泉
-
構造体の中でユーザー定義型の...
おすすめ情報