iT邦幫忙

7

SAP讀書會:如何在MSEG的範圍中,抓取物料的最新進貨供應商資訊。

sap
SAP 2008-12-07 00:06:257276 瀏覽

如何在MSEG的範圍中,抓取物料的最新進貨供應商資訊
http://www.domino.club.tw/bbs/bbs2002.nsf/($All)/3DFE06B9A13BD41B4825750D002C07E8?OpenDocument

如何在MSEG的範圍中,抓取物料的最新進貨供應商資訊。
一般來說供應商的最新資訊會常常異動,以101 收貨之進貨供應商資訊來說,一般報表在查詢關聯時要如何帶出呢?

一般來說如果使用MSEG在處理過帳或是保稅相關的報表時,MSEG紀錄的供應商為當筆異動類型的供應商,換句話說,如果你的當筆MSEG紀錄沒有101異動類型的狀態,那你要的供應商欄位可能會是空白或是外包供應商。

我們必須在ITAB LOOP時,利用MSEG的MJAHR的年度欄位等於當下查詢的最新日期的年YYYY數值,這樣就可以撈出最新的供應商資訊。

以下簡短的重點SQL,請參閱:

欄位定義
MJAHR_Y LIKE MSEG-MJAHR,"最新年度
MJAHR LIKE MSEG-MJAHR,"文件年度

* 定義日期的字串月份擷取,T_YEAR 為輸入條件查詢年月日的YYYY
DATA: STRING(10),
V_OFFSET_START TYPE I,
V_OFFSET_LENGTH TYPE I,
V_YMD(10) TYPE C,
T_YEAR(4) TYPE C,
V_YEAR(4) TYPE C.

*今年年度,將輸入的YYYYMMDD擷取YYYY
V_OFFSET_START = 0.
V_OFFSET_LENGTH = 4.
T_YEAR = SY-DATUM+V_OFFSET_START(V_OFFSET_LENGTH).

LOOP AT ITAB3.
*透過101 與最新年度,抓取最新供應商代號, 供應商名稱
SELECT SINGLE * FROM MSEG WHERE MATNR = ITAB3-MATNR AND
WERKS = ITAB3-WERKS AND
LGORT = ITAB3-LGORT AND
MJAHR = T_YEAR AND
BWART = '101'.


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
jjw
iT邦研究生 1 級 ‧ 2009-05-18 17:04:08

謝謝分享

我要留言

立即登入留言