function CONVERSION_EXIT ****INPUT/OUTPUT說明


CONVERSION_EXIT_ALPHA_INPUT和CONVERSION_EXIT_ALPHA_OUTPUT 函數說明

CONVERSION_EXIT_MATN1_INPUT 物料號碼轉換函數

CONVERSION_EXIT_MATN1_OUTPUT 同上相反

 

這個比較簡單,直接貼代碼,方便需要的時候拷貝
 
DATA:MATNR TYPE MARA-MATNR.   “ 物料號
 
"增加前導零
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
  EXPORTING
    input  = MATNR
  IMPORTING
    output = MATNR.
 
"去掉前導零
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
  EXPORTING
    input  = MATNR
  IMPORTING
    output = MATNR.

 

料號前面補0

我們可以調用系統的函數來實現補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 <>  .
        E_MSGTY  'E'.
       CONCATENATE IM_SOHEAD-BSTKD  '訂單已經傳輸' INTO E_ERMSG .
       CLEAR LS_BSTKD.
       EXIT.
     ENDIF.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM