SAP FI 系列 009: LSMW導入會計科目主數據

會計科目作爲 FI 模塊非常重要的主數據,數據導入是非常重要的一環。本篇介紹利用 SAP 標準的批輸入導入程序 RFBISA00 結合 LSMW 進行導入的方法。使用標準導入程序的優點是通用性比較好,不必每個項目都重複操作一遍。

批輸入程序 RFBISA00 適用於 ECC6 之前的版本,因爲 S/4 Hana 變更了會計科目主數據的數據表 SKB1 的字段結構,而 RFBISA00 的程序代碼並沒有考慮這些字段結構的變化,相應變更程序的字段結構,所以不能使用。具體來說:

1)增加了 總賬科目類型 字段,該字段有如下幾種類型:

  • X: 資產負債表科目
  • P: 初級成本和收入 (既是會計科目,又是成本要素)
  • N: 營業外收支 (只在 FI 中作爲科目使用,不是成本要素)
  • S: 次級成本

2)增加了 Cost Element Type: 如果啓用了 Controlling area,並且科目的類型爲 P 或者 N , 才顯示這個字段

會計科目主數據的字段結構

RFBISA00 程序定義的數據結構包括如下類型:

BGR00 record type 0 session prefix
BSK00 record type 1 header data
BSKA1 record type 2 data record (chart of accounts data)
BSKAT record type 2 data record (name of G/L accounts)
BSKB1 record type 2 data record (company code data)
BSKX  record type 5 extended header record

程序並且規定導入文件必須符合下面的兩種結構:

Alternative 1 
Record type 0 (BGR00)
   Record type 1 (BSK00)
      Record type 2 (BSKA1)
      Record type 2 (BSKAT)
      Record type 2 (BSKB1)
   Record type 1 (BSK00)
        ...
  Record type 0 (BGR00)
        ...


Alternative 2 
  Record type 0  (BGR00)
     Record type 5  (BSKX)
     Record type 5  (BSKX)
        ...
  Record type 0  (BGR00)
        ...

好在我們並不需要進入源代碼瞭解各個結構所包含的字段,SAP 提供的數據傳輸工具 SXDA_TOOLS 可以幫我們瞭解主數據的數據結構。用事務碼 SXDA_TOOLS 進入下面的界面,選擇對象類型程序

然後通過菜單 Goto -> Mapping plan 進入下面界面:

界面列出了會計科目主數據的所有字段,點擊 Save to PC File 按鈕導出爲文件,最好保存爲 Excel File,以方便在後續步驟中利用本步驟導出的數據。對導出的文件稍作整理,保留必要的字段,一般來說,下面這些字段已經夠了:

LSMW 導入會計科目主數據

創建 LSMW 工程

LSMW 工程包括project、sub-project 和 object 三個層次,這個主要是爲了增加靈活性,比如可以定義:

  • Project: ZFI, 表示 FI 模塊數據導入
  • Sub-project: ZFI01 表示主數據導入,ZFI02 表示業務數據導入
  • Object: ZFICOA 表示會計科目導入

維護工程的屬性

LSMW 工程屬性定義採取什麼方法來導入數據,可以是以下 4 種:

  • 錄屏
  • Batch input / Direct input
  • BAPI
  • IDoc

會計科目主數據導入使用 SAP 提供的 Batch input 程序:

完成該步驟後保存。下面界面是選擇的程序:

維護源結構

對於程序 RFBISA00 來說,需要的字段是確定的,在導入的時候,數據來自文本文件,所以關鍵就是確定文本文件包括哪些字段,與目標結構如何對應。源結構 (source structure)就是定義一個包含導入字段的容器。因爲後面我們基於事務碼 FS01 來導入,所以把源結構命名爲 FS01:

維護源字段

在這個步驟中,利用 Table Maintenance 界面,可以將 SXDA_TOOLS 導出的數據拷貝過來,注意 CHAR 類型需要替換爲 C。操作過程:


維護後,源結構下面的字段如下:

維護結構的關係

本步驟定義源結構與目標結構的關係。目標結構是批輸入程序定義的,源結構只有一個,點擊創建關係按鈕,自動選擇爲 FS01。

維護字段映射

在維護源字段的時候,使用過的是系統字段名稱,這樣在本步驟中,可以利用 Auto field mapping 功能。


因爲我們在維護源結構的時候,沒有包括 TCODE 這個字段,因爲對於導入數據來說,都將用 FS01 這個事務碼,所以不用從文件中導入,在本步驟維護爲固定值即可。 選中 TCODE 字段,點擊工具欄上的 Insert Rule 按鈕,在彈出的對話框中,選擇 Constant,然後維護爲 FS01:

指定文件

LSMW 從文本文件中導入數據,在指定文件前,我們先編制要導入的數據,這一步也利用 SXDA_TOOLS 下載的 Excel 文件,用於生成所需要的列。將 Excel 另存爲製表符分割的 txt 文件,可以保留第一行表頭。



注意下面界面要與文本文件的結構一致。

讀取文件的數據

下面的幾個步驟,包括 Assign Files, Read Data, Display Read Data ,Convert Data , Display Converted Data 依次執行即可。到 Display Converted Data 這個步驟,SAP 顯示了目標結構及導入的內容,可以點進去查看。


點擊 RGB00,可以看到各字段被填充爲:

創建批輸入會話

要執行文件數據導入,需要選擇 Update File Immediately。


如果這一步驟在創建 Batch Input Session 時有錯誤,需要根據錯誤返回到 Read Data 這一步修改數據後再重複後面的操作步驟,直到問題解決。

如果本步驟無錯誤,使用事務碼 SM35 查看生成的批輸入會話,然後在 SM35 中執行或者 在 LSMW 中執行最後一步跳轉到 SM35。

LSMW 導入導出

LSMW 支持將操作步驟導出爲腳本,並在另外系統中導入,從而支持不同的項目間共享。

  • 導出:Extras -> Export Project
  • 導入: Extras -> Import Projects
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章