9

知っている !STXL.CLUSTDを読み取る「適切な」方法は、SAPABAP関数を使用することです。申し訳ありませんが、パフォーマンスの問題でひどく苦しんでいます。データベース(Oracle)に直接アクセスすることはすでに決定していますが、これまでのところすべてが大幅に改善されているため、決定を元に戻す予定はありません。

ただし、この問題が発生しました。STXL.CLUSTDフィールドのテキストは、理解できない形式で保存されていました。Googleでそのエンコード形式に関する情報を見つけることができません。誰でもSTXL.CLUSTDからテキストをデコードする方法を教えてくれますか?

ありがとう

4

2 に答える 2

11

短いバージョン:あなたはしません。汎用モジュールREAD_TEXTを使用します。

長いバージョン:いわゆるクラスターテーブルを見ています。詳細については、 http://help.sap.com/saphelp_47x200/helpdata/en/fc/eb3bf8358411d1829f0000e829fbfe/frameset.htmを参照してください。表示されるデータはテキストの内部表現であり、ABAPカーネルがデータを内部で処理する方法に何らかの形で関連しています。このデータは、メタデータなしでは意味がありません。互換性のない方法で元の構造を変更すると、データを読み取ることができなくなります。ああ、データにメタデータへの参照が含まれていないことを述べましたか?これらのテーブルの内容を読み取るときは、ABAPでも、元のソースデータ構造を知っている必要があります。そうしないと、運命にあります。メタデータと、カーネルが実行時にこれらのデータ型を処理する方法に関する知識がないと、コンテンツを解読するのに苦労するでしょう。

個人的な意見:SAP R / 3システムの下のデータベースに直接アクセスすることは、すべての安全対策をバイパスするだけでなく、データベースのすべての構造変更に対して非常に脆弱になるため、非常に悪い考えです。データベースに直接アクセスする唯一の本当の理由は、パフォーマンスの欠如ではなく、(ABAP)知識の欠如であり、それは治療可能であるはずです:-)

于 2010-01-22T09:10:45.397 に答える
2

ABAPコードを実行したり、RFCやBAPIを呼び出したりすることなく、クラスターとプールを確実に読み取ることができます。これは非常に優れたアプローチであり、パフォーマンスが高く、使いやすいです。

StackOverflowで製品をむち打ちするのは好きではありませんが、SAPデータにアクセスするためにABAPを使用する必要があるという情報は、7年以上前から古くなっています。

ありがとう、

ビル・マクリーン

  • 私はこのスレッドに気づき、Simplementで働いています。Snow_FFFFは正しいです(ところで、そのユーザーは私ではなく、ASFAIKは私たちの会社の誰でもありません)。Data Liberator製品は、2009年以来、お客様のためにテーブル(および他の多くのもの)のクラスタリングとプール解除を行ってきました。
于 2016-08-25T20:15:07.617 に答える