cobolで何度もシーケンシャルファイルを読む方法はありますか?たとえば、ファイルの最後に達した後、ファイルの先頭から戻ってきますか?cobolでシーケンシャルファイルを読む
答えて
ファイルを閉じて、再度開いて、再度読み込みます。
私はなぜこれをしたいと思うか知りたいですか?
ループ内のファイルを読み込んだり、さまざまな動作を実行したりすることもできます。他の答えと同様に、最後に到達するたびにファイルを閉じて、再度開いてください。
こんにちはビル、ファイルを再オープンすると、私はあまりにも高価になると思います非効率的である。 – Grekoz
この場合、JOINKEYS
のDFSORT
は大変役に立ちます。あなたの要求がfile2の文字列のリストでfile1の文字列を検索する場合にのみ、あなたのアプローチを強く示唆していません。
こんにちはRaja、Joinkeysもdfsortは助けてくれません。ファイル1はガベージであり、ファイル2は1行に1つの文字列を持ちます。目的は、ファイル1の1行にファイル1の単一文字列を見つけることです。ファイル1に特定の文字列が見つかった場合は、その文字列にファイル2のフラグを設定し、次の行の次の項目を取得してから、ファイル1の文字列が上から出現する。 – Grekoz
私はそれを得る...しかし、あなたがそれらを使うことができると感じたら組み込むことを試みる...私はあなたが思っていたと感じている...あなたのコボルのプログラムロジックだけを進める...まだいくつかの提案が必要な場合は、ファイルのレイアウトとlreclsの要件の要約..解決しようとする可能性があります... –
代替案:ファイル1のコピーをユーティリティ(または別のCOBOLプログラム)で作成します。ファイル1aのコピーにはORGANIZATION RELATIVE(VSAM RRDS、おそらく)があります。スキャン/マッチングプログラムでは、START文でファイル1aの最初のレコードに移動することができます。
同様に、インデックス付きシーケンシャルファイル1aを作成することもできます。ここでは、キーはレコード番号と同じように任意の昇順番号になります。
オープン、プロセス、クローズ、再オープン、再処理、再クローズを任意の回数行うことができます。非常に時間がかかります。
Cobolプログラムでは、提案されているように、小さなファイルをテーブルに格納し、大きなファイルに対してテーブルを処理します。
ただし、プログラムは必要ありません。 JOINKEYS あなたに解決策を教えてください。
鍵がありませんか?ああ、こんにちは。あなたは1つを作る。両方のファイルの各レコードに対して、同じ値を持つ同じ1バイトのキーを作成します。そのキーでジョインクをやります。 JOINKEYSでSORTEDを指定します(DFSORTを使用している場合はNOSEQCK)。「デカルト」結合があります。レコード全体またはレコードの一部に使用できるSS(サブストリング一致)を使用します。実際に必要とされる出力は不明ですが、私はあなたが今それを考え出すとは思いません。
DFSORTを使用すると、1ステップで実行できます。 SyncSortを使用すると、JNFnCMTLファイルをサポートしているバージョンであれば、一度に実行できます。
- 1. hadoopシーケンシャルファイルを読むには?
- 2. COBOLでSTDIN(SYSIN)を読む
- 3. BizTalkシーケンシャルファイル名
- 4. Hadoopのシーケンシャルファイル
- 5. オープンなcobol dllを含むjniコール
- 6. Fujitsu COBOL 3.0 - 富士通COBOL 3.0でcobol progを実行中に
- 7. COBOLでファイルから浮動小数点数を読み取る
- 8. COBOLファイルの終わりopen-cobol
- 9. COBOLでのファイル読み込みの問題
- 10. Jasonをhadoopのシーケンシャルファイルに変換する
- 11. COBOLで子プロセスを開始
- 12. シーケンシャルファイルの効率的な処理C#
- 13. CICS-COBOLからCOBOL-DB2プログラムにパラメーターを渡す方法
- 14. GMPとのエラー私はCOBOLで、このハローワールドプログラムを実行したいCOBOL
- 15. Pythonでシーケンシャルファイル名を作成する方法
- 16. COBOLからSQL Server
- 17. テーブルの検索(COBOL)
- 18. COBOLで日付時刻をフォーマットする
- 19. COBOLでSQLiteコールバックを書く方法
- 20. 続きを読む続きを読む
- 21. COBOLを使用してUnicode文字列をファイルに書き込む
- 22. バックスラッシュを含むJavaで.CSVを読む
- 23. z/OS上のDLL cobolプログラムからNODLL cobolプログラムを動的に呼び出す
- 24. ファイルを読むループ内でBashを読む
- 25. Windows Mobile 5.0で未読SMSを読む
- 26. COBOL CALL「SYSTEM」戻り値
- 27. COBOLファイルI/O書式
- 28. COBOLプログラムのファイルコード変換
- 29. メインフレームのCOBOL DB2はプログラム
- 30. C#プログラマーのCOBOLコピーブック仕様
こんにちはTrueDub、私はファイル2の項目からファイル1の文字列の出現を検索していますが、キーはありません。しかし、すばらしい返信をありがとう。 – Grekoz
ファイルを配列に読み込み、毎回そのファイルを検索する方が簡単でしょうか?確かに高速ですが、巨大なファイルであればメモリの問題が発生する可能性があります。 – TrueDub
その場合、 'DFSORT'の' JOINKEYS'は大いに役立ちます。私はあなたの要求がfile2の文字列のリストでfile1から文字列を検索する場合にのみあなたのアプローチを提案しません... –