天天看點

采購申請、采購訂單、供應商采購定價表(采購訂單直接用條件記錄号找不走a表)取數邏輯及代碼  

賬戶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-物料管理-采購-條件-定義價格确定流程-定義條件類型

找到指定條件類型點選存取記錄,找到條件表

采購申請、采購訂單、供應商采購定價表(采購訂單直接用條件記錄号找不走a表)取數邏輯及代碼  

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表示沖銷或退貨(不合格退貨),收貨數量取負值

繼續閱讀