表的要求
表中使用的字段請儘量參照各模塊的SAP字段標準使用習慣;
例:“ZXSLRZX銷售組織對應的利潤中心”中的銷售組織應該使用VKORG、利潤中心應該使用PRCTR。
根據表的用途,需確定是否屬於配置目的、還是業務目的。
配置表的建議:
需要加入MANDT字段
例: “ZQJQD缺件清單”就沒有MANDT字段
需提供相應的維護視圖;
例:如ZCHECK_MM01工廠和利潤中心的對應
爲保證DEV/QAS/PRD系統的一致性,不應該對配置表提供批量維護的功能,而應該走Request傳輸流程;
例: “ZMM_GSJJGLJ公司間物料轉賣價格邏輯”就是一個失敗的開發案例。
若有必要,可激活日誌功能,便於對配置的更改查詢;
在定義表的時候,請不要偷懶使用“預定義數據類型”這種方式;
業務表的建議:
若無特殊目的,也請加入MANDT字段
在定義關鍵字段的時候,請務必慎重,在理解業務需求的前提下,合理設置;(數據存在後,關鍵自動的變更存在較大風險)
爲減少系統存儲空間,一般不需要激活更改日誌;
在定義表的時候,請不要偷懶使用“預定義數據類型”這種方式;
程序的要求
程序的選擇屏幕,如果需要提供缺省值,請儘量通過Memory ID的方式實現,不要使用硬代碼。
例:“ZPOOIS採購訂單信息報表”中的公司代碼(BUK)、工廠(WRK)。
程序的選擇屏幕上的選擇文本,如果屬於標準字段,若無特殊需求,請儘量使用Dictionary,避免造成在不同語言環境中顯示錯誤的情況。
例:ZPOOIS的選擇屏幕在英文環境下完全錯誤,而ZJSJSNEW就相對正確。
程序變式(選擇變式、輸出變式)的靈活使用
ALV報表,請提供變式功能(IS_VARIANT ,I_SAVE等變量);
例: ZPOOIS的輸出格式就無法保存 。
二次開發程序中定義的自定義表,需考慮相應數據的刪除及歸檔策略,並應該對數據量的大小有合理的估計。
金額,請考慮幣別;數量,請考慮計量單位;
一個工廠只能屬於一個公司代碼;
例:3110起重機工廠只能屬於3011公司代碼。
表:T001K,其中的BWKEY就是指工廠,完全等同於T001W的WERKS;
SAP是允許一個利潤中心屬於多個公司代碼的,但是,我們實際業務上一個利潤中心通常只應該對應一個公司代碼(有部分特例!)
一個公司代碼下,可以存在多個利潤中心;
例:在2001公司代碼下,存在LR2180/LR2170/LR2160等多個利潤中心;
表:CEPC_BUKRS分配利潤中心至公司代碼
工廠跟利潤中心按照SAP的本身邏輯是沒有關係的;
但爲了保證業務的正確性,我們創建了表ZCHECK_MM01(工廠和利潤中心的對應)來進行檢查(如在物料主數據創建的時候進行檢查)。
庫存地點必須跟工廠一起纔有意義,牢記“工廠+庫存地點”!
在不同的工廠下雖然可以存在同樣的庫存地點代碼,但本質上是有區別的;
T001L,工廠+庫存地點
一個倉庫可以包括多個“工廠+庫存地點”,一個“工廠+庫存地點”只能屬於一個倉庫;
T320,工廠+庫存地點=>倉庫號
一個銷售組織只能屬於一個公司代碼;
例:3011寧鄉起重機銷售組織只能屬於3011公司代碼。
表: TVKO銷售組織;
銷售組織與工廠是多對多的關係,但是該關係僅說明了銷售組織可以“銷售”哪些工廠的,並不能表示兩者之間有財務上的所屬關係;
表: TVKWZ 每個銷售機構允許的工廠數
採購組織與公司代碼可以不存在分配關係,我們除極少的兩三家公司外,基本上沒有進行分配(如果進行分配的話,則一個採購組織只能分配給一個公司代碼)。
表:T024E 採購組織
採購組織與工廠是多對多的關係(但是如果採購組織已經分配給公司代碼後,則只能分配該公司代碼下的工廠給採購組織)
T024W工廠的有效採購組織
例:採購視圖的“採購價值代碼”就是屬於基本數據(MARA-EKWSL)。
MARA,基本視圖
MARC,工廠
MARD,工廠/庫存地點
MBEW,財務數據,其中的MBEW-BWKEY就是指工廠MARC-WERKS
MVKE,銷售組織/分銷渠道
MLGN,倉庫
MLGT,倉庫/存儲類型
MSTA,物料主數據維護狀態
BOM用途:1表示生產
BOM類別:M表示物料BOM
MAST,BOM 鏈接物料
STKO,BOM表頭
STPO,BOM 項目
STZU,永久 BOM 數據
STAS,BOMs - 項選擇
任務清單類型:N表示工藝路線、Q表示檢驗計劃
MAPL,分配任務清單到物料
PLKO,任務清單 - 表頭
PLFL,任務清單 - 順序
PLPO,任務清單 - 工序/作業
PLAS,任務清單 - 工序/作業選擇
PLMZ,組件分配
CRHD,工作中心
PBIM,物料的獨立需求
PBED,獨立需求數據
PBID,獨立需求數據(MRP區域)
PBHI ,獨立需求歷史記錄
PLAF,計劃訂單,需注意計劃工廠PLWRK、生產工廠PWWRK的區別;
RESB,預留表(通過PLAF-RSNUM與RESB-RSNUM關聯)
訂單類別: AUTYP,10表示生產訂單
AUFK,訂單主數據
其中WERKS 工廠是指生產訂單的生產工廠、 LOEKZ刪除標記是對刪除狀態的生產訂單生效(其他狀態需通過JEST)進行讀取。
AFKO,訂單表頭數據 PP 訂單
其中PLNBEZ 、STLBEZ並不一定是訂單中產出物料(真正的物料應該是AFPO-MATNR)。
AFPO,訂單項
雖然關鍵字中存在POSNR,但實際上我們不存在co-product業務,所以POSNR都爲0001.
AFVC,訂單的工序(通過AFKO- AUFPL進行關聯)
AFVV,工序中數量/日期/值的DB結構
AFFL,加工單順序
JEST,訂單狀態(通過AUFK-OBJNR關聯)
其中STAT的具體含義通過TJ02T對應,注意當INACT=X時,表示該狀態不存在。
RESB,預留表(通過AFKO-RSNUM與RESB-RSNUM關聯)
AFRU,訂單確認(AFRU-AUFNR爲訂單號)
AFFW,COGI錯誤(AFFW-AUFNR爲訂單號)
由於我們沒有激活COGI更改歷史,所以COGI的更改在AFFWPRO中是沒有記錄的,若有必要,可通過自定義備份表ZAFFWH進行查看。
AUFM,訂單物料移動數據(AUFM-AUFNR爲訂單號)
該表的數據更新需依賴於PP的相關配置。此外,如果需要得到某一預留的累計發料數量,可直接使用RESB-ENMNG;如果需要得到某一訂單的累計入庫數量,可直接使用AFPO-WEMNG。均不需要對物料移動數據進行累加。
LFA1,集團數據
ADRC,地址信息
LFB1,公司代碼數據
LFM1,採購組織數據
PLAF,計劃訂單;
憑證類別(EKKO-BSTYP)等於K(合同)
EKKO,採購憑證擡頭
EKPO,採購憑證項目
信息記錄類別(EINE-ESOKZ):0(標準)、 2(寄售)、3(分包合同)
EINA ,採購信息記錄 - 一般數據
EINE ,採購信息記錄 - 採購組織數據
EBAN,採購申請
憑證類別(EKKO-BSTYP)等於F(採購訂單)
關鍵表:
EKKO,採購憑證擡頭
EKPO,採購憑證項目
EKET,計劃協議計劃行
EKKN,採購憑證中的帳戶設置
EKBE,採購憑證歷史
如果需要得到某一採購訂單行項目的累計入庫數量,可直接使用EKET-WEMNG,不需要對物料移動數據進行累加。 (雖然SAP是允許同一採購訂單行項目是允許多個交貨計劃(EKET),但我們實際上業務中只允許一個交貨計劃,很多開發和考覈都是基於此)
RBKP,憑證表頭:發票收據
RSEG,憑證項目:收款發票
通過發票憑證讀取會計憑證建議使用函數AC_DOCUMENT_RECORD。
倉位必須跟倉庫號、倉儲類型一起纔有意義,牢記“倉庫號+倉儲類型+倉位”!
關鍵表:
LAGP,倉位
IM庫存數據(注意使用待H的數據):
MARD,物料的倉儲位置數據
MSLB,供應商特殊庫存(o)
MKOL,供應商的特殊庫存(k)
MSKA,銷售訂單庫存
MCH1/MCHB,批次庫存
LQUA,份(quants錯誤翻譯爲數量)
關鍵表:
MKPF,擡頭:物料憑證
MSEG,憑證段:物料
不是所有的物料移動數據都需要從這物料移動表中進行讀取。
生產訂單相關 AUFM,採購訂單相關 EKBE,銷售相關 VBFA。
借貸標示:MSEG-SHKZG,S表示增加庫存、H表示減少庫存
關鍵表:
T156*,移動類型
T030,移動類型科目自動記賬
關鍵表:
LTBK,轉儲請求擡頭
LTBP,轉儲請求項目
LTAK,WM轉儲單擡頭
LTAP,轉儲單項目
- 客戶主數據
KNA1, 基礎數據
KNB1,公司代碼
KNVV,銷售組織
ADRC,地址
根據條件類型(如PR01)查找存儲順序(如PR02),得到表(如A305等A*表)
KONP,條件記錄號關聯
憑證類別G(VBAK-VBTYP)
VBAK
VBAP
Vbak : 銷售憑證 : 擡頭數據
Vbap : 銷售憑證 : 項目數據
Vbep : 銷售憑證:計劃行數據
Vbkd : 銷售憑證 : 業務數據
VBPA : 銷售憑證 : 合作伙伴
Likp
Lips
VBRK
VBRP
Vbfa
Vbuk
vbup
SKA1,科目表
SKB1,公司代碼
SKAT,科目描述
CSKB,成本要素
T001B
財務供應商、財務客戶(同後勤模塊,維護事務代碼FK01,只有公司代碼數據)
BKPF/BSEG
FAGLFLEXT
BSAS/BSIS
GLFUNCT,功能範圍
BSAD/BSID
BSAK/BSIK
ANLA
CSKS,成本中心
COEP
COSS(計劃/實際,通過WRTTP區分,期間通過字段區分,如WTG004)
COSP
CKMLHD
CKMLCR
CKMLPR
COPA
CE*,如CE18000,8000指使用的經營範圍
CO與FI的區別及數據
SAP增強技術
用戶出口(USER EXIT)
增強(ENHANCEMENT)
• SMOD
• CMOD
BADI
• se18
• se19
Enhancement Spot
• ECC6.0後
標準程序的修改(以CO02爲例)
• SE95查看
作者:SAP道長