- 在SAP系統中,實際以內碼作為存儲,外碼作為顯示的字段
-
- SAP為了方便查看和校驗,在SE11、SE16等查看透明表的事務碼中,帶了內外碼轉化的功能,是否轉換可以進行配置。
配置的地方
勾選的話 se16或者se11查看的時候就自動轉換為外碼 - se16n取消轉換例程的選項
- SAP為了方便查看和校驗,在SE11、SE16等查看透明表的事務碼中,帶了內外碼轉化的功能,是否轉換可以進行配置。
- 查看轉化例程
- 通過se11在表的定義中,點擊數據元素-域
- 通過se11在表的定義中,點擊數據元素-域
- 內外碼轉換function
- 內碼轉外碼 CONVERSION_EXIT_ABPSP_OUTPUT
- 外碼轉內碼 CONVERSION_EXIT_ABPSP_INPUT
- 代碼實例
DATA lv_char TYPE c LENGTH 24. DATA lt_prps TYPE STANDARD TABLE OF prps. TYPES:BEGIN OF typ_prps, pspnr TYPE prps-pspnr, posid TYPE prps-posid_edit, END OF typ_prps. DATA: lt_tmp TYPE STANDARD TABLE OF typ_prps, ls_tmp TYPE typ_prps. SELECT * INTO TABLE @lt_prps FROM prps UP TO 10 ROWS. WRITE:/ '內碼轉外碼------>'. LOOP AT lt_prps ASSIGNING FIELD-SYMBOL(<fs_prps>). CALL FUNCTION 'CONVERSION_EXIT_ABPSP_OUTPUT' EXPORTING input = <fs_prps>-pspnr IMPORTING output = lv_char. WRITE:/ |內碼:{ <fs_prps>-pspnr } 外碼:{ lv_char } |. * ls_tmp-pspnr = <fs_prps>-pspnr. * ls_tmp-posid = lv_char. * APPEND ls_tmp TO lt_tmp. lt_tmp = VALUE #( BASE lt_tmp ( pspnr = <fs_prps>-pspnr posid = lv_char ) ). CLEAR lv_char. ENDLOOP. WRITE:/ '外碼轉內碼------>'. LOOP AT lt_tmp ASSIGNING FIELD-SYMBOL(<fs_tmp>). CALL FUNCTION 'CONVERSION_EXIT_ABPSP_INPUT' EXPORTING input = <fs_tmp>-posid IMPORTING output = lv_char. WRITE:/ |外碼:{ <fs_tmp>-posid } 內碼:{ lv_char } |. CLEAR lv_char. ENDLOOP.