賬戶EBAN 采購申請
BANFN 采購申請号 BNFPO 項目
EBELN 采購訂單号 EBELP 項目
KNTTP 科目配置設定類别
MATNR 物料号 TXZ01 短文本 EKGRP 采購組
MATKL 物料組
LOEKZ 删除辨別 FRGKZ 準許辨別(X)
STATU 處理狀态(N未處理、B采購訂單)--隻要轉過,數量沒有轉完也是B,可以判斷menge > bsmng有沒有 完全轉完
PREIS 價格 PEINH 價格機關
MENGE 采購申請數量 BSMNG 已訂購數量 MEINS 采購申請計量機關 BADAT 需求(請求)日期
EBKN 采購申請帳戶設定(配置設定、訂單号等)
EKKO 采購憑證擡頭
EBELN 采購憑證号 LIFNR 供應商号 BSART 采購憑證類型
AEDAT 記錄(采購憑證)建立日期 BUKRS 公司代碼
EKGRP 采購組 WAERS 貨币碼(作為貨币參考字段) FRGKE 審批辨別
RESWK 供貨工廠 IHREZ 您的參考
MEMORYTYPE 不完整性(H 暫存)
EKPO 采購憑證項目
EBELN 采購憑證号 EBELP 項目号
PSTYP 采購憑證項目類别(有轉換例程,存表和增強裡是數字,可以直接關聯采購資訊記錄類别)
KNTTP 科目配置設定類别(決定收貨到庫存還是消耗)(如成本中心、固定資産、辦公用品等)
REPOS 發票收據辨別(可以用來判斷是否為免費項目,為空時辨別免費,X表示非免費;目前隻能用這個字段判斷)
MATNR 物料号 MATKL 物料組
TXZ01 采購訂單短文本(物料描述、工序描述)
MENGE 數量 MEINS 訂單機關(不是基本機關)
NETPR 淨價
NETWR 不含稅金額 BRTWR 含稅金額
peinh 定價機關 bprme 價格機關
LOEKZ 删除、當機辨別(删除為L、當機為S)
ELIKZ 交貨已完成(X) EREKZ 最後發票辨別(X,判斷是否已清排除不需要開票的,合計開票數量和行項目數量比一下)
RETPO 退貨項目(X) MWSKZ 稅碼
BANFN 采購申請号 BNFPO 項目号
RESLO 供貨工廠
WEBRE 基于收貨(GR)
注:采購訂單項目項目類别中的'L'表示分包,分包和工序外協的差別是分包是從采購訂單直接建立,工序外協由生産訂單帶過來,分包可以是多個工序直接得到成品
即分包是提供原材料給供應商的采購
A003 稅碼和稅率的對應關系
select a003~mwskz konp~knumh konp~kopos konp~kbetr into table gt_konp
from a003
inner join konp on a003~knumh = konp~knumh
where a003~kappl = 'TX' and a003~kschl = 'MWVS' and a003~aland = 'CN' .
T007S 稅碼名
TSKM 物料稅
EKET 計劃協定計劃行(采購憑證行項目交貨、收貨)
EBELN 采購憑證号 EBELP 采購憑證項目 EINDT 項目交貨日期
MENGE 計劃交貨數量 WEMNG 收貨數量(已檢驗确認)
CHARG 批号
LICHA 供應商的批次
EKBE采購憑證(收貨)曆史(包含了對應的采購憑證、物料憑證、發票憑證、以及交貨數量)(沒有收貨就沒有采購訂單項目對應的資料,判斷是否沖銷)(隻取收貨數量可以直接去EKET)
EBELN 采購憑證号 EBELP 采購憑證項目
BELNR 憑證号 BUZEI 憑證項目号
LFBNR 參考憑證 LFPOS 參考憑證項目号
VGABE 事件類型(P預制,2過賬)(比如預制發票後EKBE會多一條P的參考憑證,物料平時新的s)
BWART 移動類型
MENGE 數量(101移動類型) WESBS 數量(收貨至當機庫存)(103、104、105、106移動類型)(對于工序是103收貨、104沖銷、105确認、106沖銷)(105為負值,103、104、106為正值)
BAMNG 基本機關數量(基本單 MARA-MEINS)
BEWTP 采購訂單曆史分類(收貨、發票、分包等 英文字母表示)
SHKZG 借貸辨別(收貨時H為負,發料時S為負) (貸項和沖銷都是H)
BUDAT 過賬日期
CPUDT 憑證輸入日期 CPUTM 輸入時間
采購訂單曆史類别:E 為收貨,O 為減庫存(分包項目是給供應商提供物料,是以會減庫存),Q 為發票校驗,此項目中 BELNR 為發票憑證号,LFBNR為物料憑證号
收貨曆史中的憑證号和參考憑證号詳解:
采購訂單項目有多張101物料憑證時,參考憑證都是第一張101。
注:當采購訂單中勾選了“基于收貨的IV”時,多張105憑證會合并,此時105憑證就沒有對應的參考憑證了;這個選項會從資訊記錄帶過來,免費訂單由于不用開票,是以預設勾選了。
GR當機庫存
在103收貨時,WESBS數量為正,SHKZG借貸辨別為S(借)。在105确認時,WESBS數量為負,SHKZG借貸辨別為H(貸)
在104退貨或沖銷時,WESBS數量為正,SHKZG借貸辨別為H
104、105、106的參考憑證都是103。
預制發票時填寫的參考憑證就應該是這裡的參考憑證(比如105填寫物料憑證會報錯)。
附:
物料憑證的過賬日期決定了收貨的記賬期間,發票憑證的記賬日期決定了付款的記賬期間,一個是物流,一個現金流,可以發生在不同期間
采購訂單收貨中,如果物料憑證記錯了,則是整張沖銷,如果是不合格,則是退貨不合格的數量;有檢驗批的物料不允許退貨,隻能沖銷,對應的檢驗批會增加取消狀态
取已收貨數量和已開票數量金額
case gt_ekbe-bewtp.
when 'E'. "收貨
if gt_ekbe-shkzg = 'S'.
item_100-menge = gt_ekbe-menge. "數量
item_100-wrbtr = gt_ekbe-wrbtr. "金額
elseif gt_ekbe-shkzg = 'H'.
item_100-menge = 0 - gt_ekbe-menge.
item_100-wrbtr = 0 - gt_ekbe-wrbtr.
endif.
when 'Q'.
if gt_ekbe-shkzg = 'S'.
item_100-menge = 0 - gt_ekbe-menge.
item_100-wrbtr = 0 - gt_ekbe-wrbtr.
elseif gt_ekbe-shkzg = 'H'.
item_100-menge = gt_ekbe-menge.
item_100-wrbtr = gt_ekbe-wrbtr.
endif.
endcase.
或者取1(收貨),2(開票)計算
EKBZ 交貨費用的憑證曆史
if gt_ekbz-shkzg = 'H'.
item_200-menge = gt_ekbz-menge. "數量
item_200-wrbtr = gt_ekbz-dmbtr. "金額
elseif gt_ekbz-shkzg = 'S'.
item_200-menge = 0 - gt_ekbz-menge.
item_200-wrbtr = 0 - gt_ekbz-dmbtr.
endif.
RBKP 發票憑證擡頭
IVTYP 發票來源(空MIR7 MIRO,A用函數。存在BUG(超預制)導緻為空,同時CDHDR也沒有資料) CPUDT 輸入日期(可以被重新,預制時記錄預置日期,過賬時重寫成過賬日期)
RSEG 發票憑證項目
EKKN 采購憑證中的賬戶設定(采購訂單項目配置設定到生産訂單)(項目上填寫了科目配置設定類别才有科目配置設定的,如工序,否則沒有和采購訂單對應的資料)
EBELN 采購憑證号 EBELP 項目号 AUFNR 生産訂單号
PS_PSP_PNR WBS元素
注:當采購訂單科目配置設定項目為'F'時,項目細節才有‘科目配置設定’,隻有采購訂單為工序時,才會對應生産訂單(因為我們的工序配置設定到生産訂單上)
LFA1 供應商主資料(一般地區有電話和位址)
LIFNR 供應商編号 NAME1 供應商名稱
KTOKK 供應商科目組
LFB1 供應商主資料 (公司代碼)
LIFNR 供應商号 bukrs 公司代碼 zterm 付款條件
TVZBT 付款條件
付款條件多行文本用 函數 FI_PRINT_ZTERM取
LFM1 供應商主記錄(采購組織資料)
LFM1LIFNR 供應商編号 LFM1WAERS 采購訂單貨币
T163Y 項目類型文本(采購訂單項目類型)
T163YPSTYP 項目類别(編号) T163YEPSTP 項目類别(代碼) T163YSPRAS 語言代碼
T163YPTEXT 項目類别文本
QMAT 檢驗類型 - 物料參數(品質視圖)
采購定價表(采購訂單直接用條件記錄号找不走a表)
IMG-物料管理-采購-條件-定義價格确定流程-定義條件類型
找到指定條件類型點選存取記錄,找到條件表
A017(采購價格條件)(池表)
KNUMH 條件記錄号 MATNR 物料号 LIFNR 供應商号
DATBI 條件記錄有效截止日期 DATAB 有效起始日
取數邏輯
先從A表找到有效條件記錄,再去konp找價格
KONP 條件(項目)(可取采購資訊記錄價格)
KNUMH 條件記錄号 KBETR 價格
注:取采購資訊記錄價格,先根據物料号、供應商号、有效日期在A017取條件記錄号,然後用條件記錄号在KONP中取價格(不用管KOPOS,每個KNUMH隻有一條記錄)
EINA (采購資訊記錄 --根據物料号和供應商号取采購資訊記錄編号)
INFNR 采購資訊記錄編号
MATNR 物料号 LIFNR 供應商号
loekz 基礎資料的删除标記
EINE 采購資訊記錄-采購組織
INFNR 采購資訊記錄編号 EKORG ekgrp 采購組
WERKS 工廠如果為空,表示每個工廠都生效
ESOKZ 采購資訊記錄分類
MWSKZ 稅代碼(稅率) LOEKZ 組織資料的删除标記(兩個删除标記都要檢查)
采購資訊記錄的修改日志類為 INFOSATZ
EORD Purchasing Source List
( eord~febel = 'X' or eord~FLIFN = 'X' ) Fixed vendor
EIPA 訂購價格曆史:資訊記錄(采購資訊記錄使用曆史)
INFNR 采購資訊記錄編号 EBELN 采購訂單号 EBELP 項目号
采購資訊記錄表詳解
EQUK 配額擡頭
MATNR 物料 WERKS 工廠 QUNUM 配額協定
VDATU 配額配置設定生效期 BDATU 有效至
EQUP 配額行項目
QUNUM配額協定 QUPOS項目 SOBES 特殊采購(寄售)
其中SOBES存儲的123之類的數值(比如寄售是2),和SOKEZ(寄售是K)的對應關系可以在SPRO->采購->定義項目類别的外部表示中配置,表T163Y(項目類型文本)
取數邏輯及代碼
附: 采購憑證項目已清數量 = SUM(計劃行計劃交貨數量 計劃行收貨數量)
采購憑證項目已收貨數量 = SUM(MENGE + WESBS)(通過借貸辨別判斷數量正負,借為正,貸為負)
取采購資訊記錄 淨價(資訊記錄的删除标記和價格不為空有遺留問題)
SELECT SINGLE KNUMH INTO ITABKNUMH
FROM A017
WHERE A017~MATNR = ITABMATNR AND A017~LIFNR = ITABLIFNR AND A017~DATBI > ITABAEDAT. "資訊記錄有效截止日期大于采購訂單建立日期
SELECT SINGLE KBETR INTO ITABKBETR
FROM KONP
WHERE KNUMH = ITABKNUMH AND KBETR NE 0.
MODIFY ITAB.
在采購訂單收貨曆史中, SHKZG為借貸辨別,SHKZG = H表示沖銷或退貨(不合格退貨),收貨數量取負值