肥肥豬的SAP心得
從事SAP相關工作以來,發現SAP相關技術及know-how非常多,利用Blogger整理曾經實作過的經驗。 本Blog歡迎交流,轉載請註明出處。
顯示具有
SD
標籤的文章。
顯示所有文章
顯示具有
SD
標籤的文章。
顯示所有文章
2011年10月31日
MV45AFZZ修改SO ITEM問題
有個需求是希望在SO的ITEM在修改VBKD時,能夠update VBAP某些欄位,進到MV45AFZZ去找到FORM USEREXIT_SAVE_DOCUMENT_PREPARE.直接新增修改邏輯。改完實際去測試會發現,若VBAP相關的欄位沒有修改時,save之後VBAP還是一樣的。
想要在FORM USEREXIT_SAVE_DOCUMENT_PREPARE修改VBAP的值有二個方式:
1 在VA02時就已經有VBAP的修改(解法不佳)
2 在FORM當中指定VBAP要強制修改(可行),做法如下:
在XVBAP[]當中找到要修改的VBAP並指定UPDKZ = 'U',要特別注意UPDKZ若已是'D'時表示這個item save之後會被刪除,千萬不要去修改UPDKZ。另外也要考慮這一筆VBAP若是新增時,不需要指定UPDKZ 。
2011年10月27日
SO 狀態說明讀取
下圖的狀態欄位經過讀取TABLE VBUK只能得到狀態碼,無法得到顯示的內文。若直接Call Function DOMAIN_VALUE_GET去讀到Domain的value也不是正確的。實際上SO的狀態說明是維護在TABLE TVBST當中,不是在Domain。
2010年9月7日
修正Billing Doc匯率
最近有個案子碰到在Create Billing Doc時,很彈性的給定匯率
找了一下,有一支程式RV60AFZC裡面的EXIT可以自行加入程式碼
直接將匯率寫入
以下是範例:
FORM USEREXIT_FILL_VBRK_VBRP.
DATA: L_UKURS LIKE TCURR-UKURS.
IF VBRK-WAERK NE 'TWD'.
CALL FUNCTION 'READ_EXCHANGE_RATE'
EXPORTING
CLIENT = SY-MANDT
DATE = SY-DATUM
FOREIGN_CURRENCY = VBRK-WAERK
LOCAL_CURRENCY = VBRK-STWAE
TYPE_OF_RATE = VBRK-KURST
IMPORTING
EXCHANGE_RATE = L_UKURS .
IF SY-SUBRC = 0.
VBRK-KURRF = L_UKURS.
ENDIF.
ENDIF.
ENDFORM.
2010年8月31日
Outbound Delivery修改畫面屬性
今天友人提問,Outbound Delivery畫面上的欄位是否可以做到input disabled
從img到program exit再到ehancement都找不到可以修改的地方,只直接問有經驗的人
原來只要用一個BADI就解決了:LE_SHP_DELIVERY_PROC
立刻到IDES試一下:
1 implement BADI(步驟略)
2 直接加入程式碼
DATA: LS_ATTRIBUTES
TYPE
SHP_SCREEN_ATTRIBUTES.
LS_ATTRIBUTES-NAME =
'LIPS-MFRGR'
.
LS_ATTRIBUTES-INPUT =
0.
APPEND
LS_ATTRIBUTES
TO
CT_FIELD_ATTRIBUTES.
3 Active 前先執行VL02N看看,此時欄位可修改
4 將BADI Active後重新執行,欄位已不可輸入
較舊的文章
首頁
訂閱:
文章 (Atom)