質問

3270 プロトコルを使用してデータを取得した経験のある人はいるだろうかと思いました。これまでの私の理解は次のとおりです。

繋がり

Telnet を使用して SNA サーバーに接続し、コマンドを発行する必要があります。そうすると、データが返されます。標準の Telnet 接続は機能しないと読んだので、この接続がどのように行われるのかわかりません。また、IBM には役立つライブラリがあるという記事も読みましたが、それについては詳しく知りませんでした。

解析中

3278 画面は 80x24 文字であったため、返されるデータは 1920 文字の文字列であると想定していました。これらの文字を適切なフィールドに解析するだけで済みます。3270 プロトコルについて読めば読むほど、これは当てはまらないように思えます。私は 3270 プロトコルの試用版に付属のドキュメントを読みました。 Jagacy 3270 Java ライブラリ プロトコルでは、属性は属性の前に文字「A」でマークされており、フィールドが編集可能かどうかなど、他の要素を示す文字がさらにあると理解しています。

私の考えが単純すぎたのは確かです。アイテムのリストを含む画面のような例を考えてみましょう。表示されている 24 行の 1 つで特殊キーを押すと、その行に関するより詳細な情報が表示されます。

また、印刷コマンドを発行できることも示唆されています。これにはいくつかの肯定的な意味があります。返された文字列の形式が 1920 でない場合、ユーザーが端末とどのように対話するかを示す「A」などの文字が含まれているため、印刷によってこれらの文字が消去されます。また、大量のデータをページングする必要もなくなります。逆に言えば、print コマンドから Java にデータを取得する方法がわかりません。

それで..

現在、SNA サーバーにアクセスできませんが、接続が確立されたときに端末がどのように表示されるかのスクリーン ショットをいくつか持っているため、解析の作業を開始する予定でした。仮定が非常に多く、データがどのようになるかについてのアイデアがあまりないため、本当に困惑しています。軌道に戻るのに役立つ可能性のあるこれらのシステムについての知識を持っている人はいますか?

役に立ちましたか?

解決

あなたはそこで問題を切り裂く者を選んだのです。3270 は確かに非常に複雑なプロトコルです。私はそれを実装しようとする気はありません。それは愚かな用事であり、私は痛い個人的な経験に基づいて話しています。TN3270 (Telnet 32​​70) クライアント API を探してください。

他のヒント

これはあなたの質問に具体的に答えないかもしれませんが、...

Z/OSにRational Developerを使用している場合、Javaコードは統合HATS製品を使用して3270ストリームを扱うことができるはずです。それはあなたのプロジェクトに合わないかもしれませんが、あなたがやろうとしているのは、いくつかの簡単な画面スクレイピングだけで、それは非常に簡単になります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top