2016-11-04 5 views
0

質問に直接つながります。ABAPの選択オプションからExcelシートのパラメータからデータベーステーブルを更新するプログラム

filenameとtable nameのような2つのパラメータがあります。要件は、Excelシートからデータベーステーブルにデータをアップロードして、別のパラメータに入力することです。これは実行時に行う必要があります。フィールド名をハードコーディングする必要はなく、そのプログラムはテーブルをスイート化するのに十分柔軟でなければなりません。助けてください。

+1

ヘルプページ、特に[ここではどのトピックについて聞かせていただけますか?](http://stackoverflow.com/help/on-topic)と[質問するのは避けるべきですか?」](http://stackoverflow.com/help/dont-ask)。さらに重要なことは、[Stack Overflow question checklist](http://meta.stackexchange.com/q/156810/204922)をお読みください。また、[最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve) – hering

+0

について知りたいかもしれません。任意のデータベーステーブルを直接更新することは、通常は悪い考えです。 LSMWのようなものがある理由があります。 – vwegert

+0

Excelデータの読み取りに問題があるのか​​、DBテーブルに保存して問題がありますか。 2番目の質問ですが、XLSファイルまたはExcelシートからデータを読みましたか? –

答えて

0

私は2つの可能なアプローチを考えることができます。

  1. 動的なコード生成 -

    をグーグル1.試みについて
  2. 使用ダイナミック型ツールに

をプログラムを書き込むプログラムを書きます

2. https://wiki.scn.sap.com/wiki/display/Snippets/Example+-+create+a+dynamic+internal+tableを参照してください - このウィキは方法を示しています(SAPシステムのどのテーブルでも型をゼロから作成するため、 mはすでにデータディクショナリで定義された型です)。

Open SQLでパラメータ化されたテーブルを簡単に参照できます。 MODIFY(p_tab)...

おそらく、区切り文字でファイルから読み込まれた行の一般的なSPLITをフィールドテーブルに入れることができます。次に、ASSIGN COMPONENTを使用して、読み込んだフィールドを内部型のフィールド。

これを実行している場合、許可されたテーブルのホワイトリストが賢明であり、認証チェックを行うと思います。それ以外の場合は、承認なしでSAP標準テーブルをアップロードすることができます。

関連する問題