CONVERSION_EXIT_ALPHA_INPUT和CONVERSION_EXIT_ALPHA_OUTPUT 函數說明
CONVERSION_EXIT_MATN1_INPUT 物料號碼轉換函數
CONVERSION_EXIT_MATN1_OUTPUT 同上相反
我們可以調用系統的函數來實現補0這個功能。
CONVERSION_EXIT_ALPHA_INPUT 對話退出ALPHA,外部->內部 這個是補0函數
CONVERSION_EXIT_ALPHA_OUTPUT 對話退出ALPHA,內部->外部 這個是除0函數
說明:1)數字料號入Table需要補0,不會自動產生,有字母料號卻會自動補0.
2)只能用’字符型’
網上還有一種說法,未驗證:如果果傳入的參數是數字的,會將傳出的參數轉換成0開頭的格式,注意,傳出的參數長度一定要大於傳入的參數,否則會ABAP Dump;如果是字母,就不做任何處理。
函數調用非常簡單,如下
itab-vbeln=88. "賦值測試
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = itab-vbeln “這里的itab-vbeln還是兩位數的88
IMPORTING
OUTPUT = itab-vbeln "這里可以是原來的變量,也可以是新的 執行完就發現itab-vbeln=0000000088了,至於補多少個0取決於這個變量的長度,補滿為止
料號前面去0
CONVERSION_EXIT_MATN1_OUTPUT
功能:料號前面去0
實例:
CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT'
EXPORTING
input = t_afpo-matnr
IMPORTING
output = t_afpo-matnr
EXCEPTIONS
OTHERS = 1.
沒法使用此函數的:
3.沒有配置要查找,可以模糊查找
CONCATENATE '%' IM_SOHEAD-BSTKD '%' INTO IM_SOHEAD-BSTKD.
SELECT SINGLE BSTKD
INTO LS_BSTKD
FROM VBKD
WHERE BSTKD LIKE IM_SOHEAD-BSTKD .
* SELECT SINGLE BSTKD
* INTO ls_BSTKD
* FROM vbkd
* WHERE BSTKD = IM_SOHEAD-BSTKD .
IF LS_BSTKD <> 0 .
E_MSGTY = 'E'.
CONCATENATE IM_SOHEAD-BSTKD '訂單已經傳輸' INTO E_ERMSG .
CLEAR LS_BSTKD.
EXIT.
ENDIF.