3

私は Business Warehouse で、rspcchain テーブルを使用して親チェーンからサブチェーンへの階層をたどることで、すべてのプロセス チェーンをマップできるようにするプログラムに取り組んでいます。現在、出力を画面に出力していますが、代わりにこの出力をExcelにエクスポートしたいと考えています。この目的に役立つ関数モジュールを見つけることができなかったので、助けていただければ幸いです

- 利用可能な SALV クラスについて学習した後、テーブルを別の方法で表示するようにコードを変更しました。

REPORT  Z_PC_VARIANT_MAPPING.

*Declaring types and variables
TYPES: BEGIN OF t_chains,
  chain_id LIKE  rspcchain-chain_id,
  variant LIKE rspcchain-variante,
END OF t_chains.

DATA: lt_rspcchain TYPE STANDARD TABLE OF t_chains,
      lwa_rspcchain TYPE t_chains,
      o_alv TYPE REF TO cl_salv_table,
      lx_msg TYPE REF TO cx_salv_msg.

TABLES: rspcchain.

*selection screen setup
SELECT-OPTIONS chain_id FOR rspcchain-chain_id.
SELECT-OPTIONS type FOR rspcchain-type.

*filling local table
SELECT chain_id variante
  FROM rspcchain  INTO TABLE lt_rspcchain
  WHERE chain_id IN chain_id AND
  type IN  type AND
  objvers = 'A'.

*original code to test printing output on screen
*LOOP AT lt_rspcchain INTO lwa_rspcchain.
*  skip.
*  WRITE lwa_rspcchain-chain_id.
*  WRITE lwa_rspcchain-variant.
*ENDLOOP.

IF sy-subrc NE 0. "sy-subrc = return code
  WRITE 'Data not found'.
ENDIF.


*loading data from local table into alv object table
TRY.
  cl_salv_table=>factory(
    IMPORTING
      r_salv_table = o_alv
    CHANGING
      t_table      = lt_rspcchain ).
  CATCH cx_salv_msg INTO lx_msg.
ENDTRY.

*calling display method to display table
o_alv->display( ).
4

3 に答える 3

0

以下を試すと、拡張子が .xls の CSV ファイルがダウンロードされ、Excel で問題なく開くことができます。

lt_rspcchain呼び出してcsv内部テーブルに変換しますSAP_CONVERT_TO_CSV_FORMAT

を呼び出して、ユーザーがファイルを保存する場所を見つけます。cl_gui_frontend_services=>file_save_dialog( )

呼び出してファイルを保存するcl_gui_frontend_services=>gui_download( )

これらがどのように機能するかは、経験や Google でわかると思います。

于 2013-05-29T15:14:48.210 に答える