Hi 大家好
今天要來分享的內容是在SAP中建立一個客製的Table ,
SAP雖然在主檔提供了許多不同功能的欄位,
但企業可能會因為業務上的需求,
沒辦法找到滿足需求的標準欄位,
這時候就需要建立客製table來存放資料 。
t-code : se11
輸入TABLE名稱
DELIVERY CLASS是表中的一个属性,用來定義在系统中的角色和資料的管理方式,特别是在系统傳輸和客户端管理(client-dependence)方面,
這裡我們選A表示允許跨Client
開始建立我們要的欄位
Data elememt 就填我們要參照的資料類型
這裡有兩個欄位可以勾選
-key :定義這個欄位是不是key值,key值在程式中是為了確保表中的每條紀錄都是唯一的,並且能夠快速、查找、更新或删除紀錄。
-initial value :當欄位為空值時給予預設值,例如金額欄位是空值時自動為0
如果table中有數量或是金額欄位,
要在Currency/quantity field這個頁簽填入參照欄位
例如amount是金額欄位後面就要參照waers這個幣別欄位,
原因是不同幣別可能有不同小數位數,
這樣當程式要賦值給金額欄位時才可以透過幣別來定義金額欄位的小數位數。
儲存後跟程式一樣放入Package並建立Request
data custom_table type table of ztabletest . "定義一個內表,來源參照我們剛建立的客製table
data wa_custom_table type ztabletest.
wa_custom_table-matnr = 'A001'.
wa_custom_table-werks = '0001'.
wa_custom_table-amount = 1000.
wa_custom_table-lukum = 1.
append wa_custom_table to custom_table. "將工作區的資料插入內表
insert ztabletest from custom_table. "將內表資料插入客製table
IF sy-subrc = 0.
WRITE: 'Data inserted successfully.'.
COMMIT WORK. " 修改table後要搭配commit語句修改才會生效!
ELSE.
以上就是今天的分享