2

構文の強調表示を実現できる ABAP カスタム コントロールはありますか? Web Dynpro ではなく、DynPro を使用しています。

XML コードをハイライト表示するテキストエリアを表示したいと考えています。テキストエリア内、つまりコード内の特定の位置にカーソルを移動できれば、それも素晴らしいことです。

でこれを行うことはできますcl_gui_texteditか?

4

3 に答える 3

4

このcl_gui_html_viewerクラスを使用して、SAP GUI に XML コードを表示できます。このコントロールは、既定で Internet Explorer を使用して HTML コンテンツを表示し、XML コンテンツを表示することもできます。手始めに簡単なサンプル コードを次に示します。これは、 (高さ 27、幅 120)100という名前のカスタム コントロールを含む1 つの screen を持つプログラムの一部です。XMLDEMO

レポート zxmldemo:

report zxmldemo.
include zxmldemo_status_0100o01.
start-of-selection.
  set screen '100'.

そしてインクルード zxmldemo_status_0100o01:

module status_0100 output.
  data xmlstringtable type standard table of char255.
  append '<?xml version="1.0" encoding="ISO-8859-1"?>' to xmlstringtable.
  append '<note><to>Tove</to><from>Jani</from>' to xmlstringtable.
  append '<heading>Reminder</heading>' to xmlstringtable.
  append '<body>Don''t forget me this weekend!</body></note>' to xmlstringtable.
  data container type ref to cl_gui_custom_container.
  create object container
    exporting
      container_name = 'XMLDEMO'.
  data htmlviewer type ref to cl_gui_html_viewer.
  create object htmlviewer
    exporting
      parent = container.
  data url(1024) type c value 'test.xml'.
  htmlviewer->load_data( exporting url = url type = 'text' subtype = 'xml'
                         changing data_table = xmlstringtable ).
  htmlviewer->show_url( url ).
endmodule.

カーソルを表示して移動することはできないと思います。

于 2011-12-23T21:12:41.973 に答える
2

クライアントで OLE オートメーションをサポートする任意の ActiveX オブジェクトまたはオブジェクトを使用して、SAP GUI 画面のカスタム コントロール内で実行できます。グーグルで検索すると、ニーズに合ったものが見つかると思います。次に、画面上にカスタム コントロール領域を確立し、そこでアプリケーションを実行できます。

これにはもちろん、問題のアプリケーションがクライアントにインストールされていることを事前に知っている必要があり、ABAP からインスタンス化できない場合は、ユーザーにエラーを与えることができます。

于 2011-12-25T16:50:34.063 に答える
1

René の回答の改善: HTML コントロールがある場合は、ソース ドキュメントの代わりにEditAreaなどの HTML ベースのエディターをそれにロードし、そのエディターで XML を表示および/または編集することもできます。

于 2011-12-25T18:16:43.400 に答える