メインフレームからファイルを直接操作する必要があります。テキストは EBCDIC でエンコードされます。データにはバイナリ フィールドとパック 10 進フィールドを含めることができます。データの処理は可能です。変換を回避しようとしています (テキストかバイナリかに基づいて各フィールドを変換する際のトラブルも回避します)。メインフレーム、USS、CentOS システムには精通しています。CentOS を純粋な EBCDIC に変更したいのですが、インターネットや StackExchange で検索してもほとんど何も見つかりません。
Sammyrulez が「/etc/i18n/sysconfig に言語とエンコーディングを追加することで、CentOS ボックスに EBCDIC サポートを正常に追加しました。」という記事を見ました。
どうやらこれよりももっと何かあるようです。
私は、GCC または最も適した製品を介して COBOL を使用する予定です。(一度に 1 つのハードルを乗り越えます)
すでにこれを経験した人はいますか?
答え1
いいえ、システム全体を EBCDIC で動作させることは不可能です。そのためには、すべてのプログラムを再コンパイルし、かなりの数のプログラムのソース コードを変更する必要があります (多くのプログラムは、「ASCII の大文字は、A
との間の文字とまったく同じであるZ
」などの前提を置いています)。
特定のプログラムを EBCDIC で動作させることができます。これをサポートするプログラムは多くなく、最近ではむしろニッチなアプリケーションです。プログラムはdd
ASCII と EBCDIC (少なくとも 1 つの EBCDIC の種類) を変換できますが、選択したフィールドではなく、入力全体を変換します。あなたのような混合データの場合、最善の方法は慎重にプログラムし、テキストとして解釈する必要がある場合は EBCDIC フィールドを ASCII に変換し、その逆に変換することです。
答え2
Giles が言ったように、いいえ。ただし、EBCDIC で作業するために使用できるツールはあります。これらのファイルでは、標準の Linux/Unix ツールセットは使用できません。
また、メインフレーム VB ファイルの転送で問題が発生する可能性もあります (すべてのファイル転送プログラムがメインフレーム VB ファイルを処理するわけではありません)。
多くのJavaプログラム(例:J編集)はEBCDIC(CP037またはIBM037は米国のEbcdic)を処理できますが、ほとんどは処理できません。固定幅またはVBメインフレームで使用されるファイル構造。
記憶からGNU-コボル(および他の多くの Cobol コンパイラ) には、EBCDIC ファイルを処理する方法があります。GNU-Cobol には、メインフレームのバイナリ サイズを使用するメインフレーム互換モードもあります。一部の Cobol ベンダー (Microfocus) は、メインフレームの Cobol ファイルを独自の形式に変換するスマートな Cobol-Cobol 変換プログラムを提供しています。明らかに、再定義は大きな問題です。
私のソフトウェアの恥ずかしげもなく宣伝します:レコードエディターCobol コピーブックを使用して、固定幅 / VB 形式のメインフレーム ファイルを編集 / 更新できます。また、Cobol から Cobol へのユーティリティも備えており、単純なメインフレーム Ebcidic ファイルを同等の Gnu-Cobol ASCII ファイルに変換します。ここでも、ReDefine が大きな問題となります。