2016-11-04 115 views
0

將直接回答這個問題。程序從參數中更新數據庫表格從ABAP中的選擇選項中選擇選項

有2個參數如文件名和表名。要求是將數據從Excel工作表上載到數據庫表中輸入其他參數。這應該在運行時間。沒有字段名稱的硬編碼,並且該程序應該足夠靈活以適應任何表格。請幫忙。

+1

請花些時間閱讀幫助頁面,尤其是名爲[「我可以詢問什麼主題?」(http://stackoverflow.com/help/on-topic)和[「什麼類型的我應該避免提問?「](http://stackoverflow.com/help/dont-ask)。更重要的是,請閱讀[Stack Overflow問題清單](http://meta.stackexchange.com/q/156810/204922)。您可能還想了解[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve) – hering

+0

@hering說什麼 - 另外,直接更新任意數據庫表通常是一個壞主意。爲什麼我們有像LSMW這樣的東西是有原因的。 – vwegert

+0

Excel數據讀取或保存到數據庫表時是否存在問題?第二個問題,你是從XLS文件還是從Excel工作表讀取數據? –

回答

0

我能想到的兩種可能的方法:

  1. 動態代碼生成 - 編寫一個程序,寫一個程序
  2. 使用動態類型的工具

對於1.儘量使用Google

有關2.請參閱https://wiki.scn.sap.com/wiki/display/Snippets/Example+-+create+a+dynamic+internal+table - 此wiki顯示了一種方法(不確定它是否過分,因爲它從頭開始創建類型,而SAP系統中的任何表m在數據字典中已經是定義的類型)。

您可以輕鬆地在Open SQL中引用參數化表格,例如MODIFY(p_tab)...

也許你可以做一個通過分隔符從文件中讀入行的通用SPLIT到字段表 - 然後你可以使用ASSIGN COMPONENT來匹配你已經讀入的字段內部類型的字段。

如果你這樣做,我認爲允許的表的白名單將是明智的 - 和驗證檢查。否則,有人可能無權授權上傳SAP標準表。