天天看點

解析SBO單據對象

在SBO中,有一類業務對象特别引人注目,也是SBO的核心所在,就是Document對象,我稱之為單據對象(可能同主流翻譯稱呼不相符,但是我沒有看到類似的資料,好像稱為憑證,也不算準确吧,在此就将就用此“單據”稱謂吧)。

單據對象包括:銷售發票(OINV)、銷售貸項憑證(ORIN)、銷售交貨(ODLN)、銷售退貨(ORDN)、銷售訂單(ORDR)、采購發票(OPCH)、銷售貸項憑證(ORPC)、采購交貨(OPDN)、采購退貨(ORPD)、采購訂單(OPOR)、銷售報價(OQUT)以及單據修正等。從上述業務對象看,單據對象包含了SBO的核心業務,是以研究單據對象的結構對于SBO維護與開發來說是必需的。

經過對單據業務服務的跟蹤和分析,我們發現,單據對象一般由四部分組成:單據資訊部分、單據項目清單、業務附加費清單以及業務代扣稅清單。

單據資訊部分是主體部分,記錄業務開展時刻的周圍環境資訊,比如單據編号(docEntry)、單據号碼(docNum)、業務日期(docDate)、業務夥伴(cardCode、cardName、Address)、業務類型(objType)、單據币類金額、付款方式等等,單據資訊部分對應的資料表多以O開頭,比如銷售發票(OINV)、銷售貸項憑證(ORIN)、銷售交貨(ODLN)、銷售退貨(ORDN)、銷售訂單(ORDR)、采購發票(OPCH)、銷售貸項憑證(ORPC)、采購交貨(OPDN)、采購退貨(ORPD)、采購訂單(OPOR)、銷售報價(OQUT)。單據資訊表示單據對象的主體部分,單據編号(docEntry)是提領單據項目、附加費和代扣稅清單的主鍵,一般的,在單據業務送出時通過單據序列号業務對象獲得指定單據業務對應的單據編号,作為單據資訊表、單據項目資料表、業務附加費資料表和業務代扣稅業務表的關聯主鍵值。

單據項目清單,在SAP中稱為憑證行,描述了單據業務對象的項目清單,包括了每個項目在單據中所載的位置(行号:LineNum)、項目代碼(ItemCode)、項目名稱(Dcription)、數量(Quantity)、價格(Price)、金額(LineTotal)、倉庫(whsCode)、優惠、貨币、币類價值、項目包裝等實體資訊等資訊,單據項目清單的資料表名稱一般同單據資訊資料表名稱很關聯,往往去掉主表的第一個字母,在後面的加上一個1,比如:銷售發票(INV1)、銷售貸項憑證(RIN1)、銷售交貨(DLN1)、銷售退貨(RDN1)、銷售訂單(RDR1)、采購發票(PCH1)、銷售貸項憑證(RPC1)、采購交貨(PDN1)、采購退貨(RPD1)、采購訂單(POR1)、銷售報價(QUT1)。單據項目清單用于描述單據業務對應的項目清單。

很多時候,單據項目清單對應單據資訊表就算完事,事實上,很多供應鍊管理軟體也是這麼設計的。但是在SBO中對每個單據的項目還有更加細緻的描述,包括:單據項目附加費資訊、單據項目的代扣稅資訊、單據項目的序列号資訊和單據項目的批号資訊。

這很好了解,既然單據對象描述了單據附加費和單據代扣稅,那麼這些費用和稅費是如何分攤的,也應該有所描述。而這些描述最恰當的方式就是對應每種單據項目記錄其對應的附加費和代扣稅,單據項目的附加費、代扣稅行彙總的和就應該是單據對應的附加費和代扣稅。需要指出,單據業務中的一個項目可能對應着多種類型的附加費和代扣稅,比如附加費可能包括:運費、管理費、裝卸費、送貨上門費等等多種不同的費用類型。這些深入的單據項目資訊的确需要記錄,這就是為什麼在每個單據項目要對應着附加費和代扣稅的明細記錄,而單據項目同單據項目附加費和代扣稅之間又應該通過單據編号(docEntry)和物料編号(ItemCode)複合主鍵關聯。單據項目附加費和代扣稅資料表名很類似單據項目表(通常是單據資訊表後面加上一個序号數字,或者延續單據項目表的序号累加)。

對于那些商品采用了序列号管理的業務,為了結算、商品管理上的需要,當然需要記錄每種單據業務中每個項目對應商品的序列号或者批号,這樣才有可能進行更為精細更為周到的批号和序列号管理,比如對于食品、商品、藥品之類的對于批号比較敏感的商品,比如對手機、計算機之類的對序列号比較敏感的資料,都應該這樣細緻的管理。商品/物料的序列号和批号的管理分别對應資料表OSRI、SRI1和OIBT、IBT1,前者記錄了物料序列号或者批号的整體資訊(多是在商品入庫時聲稱:如訂貨入庫、調撥入庫、退貨入庫等),包括所在倉位、業務夥伴、目前狀态等資訊;後者記錄了物料序列号和批号的交易資訊,類似物料發生變化的交易日志(入、出、退、轉移等)。

通過對單據項目清單的分析,就很容易了解單據附加費清單和業務代扣稅項目了,也就不再贅述了。

新增、修改單據業務到底需要通過怎樣的結構來進行處理呢,本人編寫的SBO 2005B維護和開發助手在“業務對象的XML構架”和“DI服務調用的XML構架”中給出了結構描述。

本文轉自foresun  51CTO部落格,原文連結:http://blog.51cto.com/foresun/40496,如需轉載請自行聯系原作者

繼續閱讀