ABAP 内外码的转换

2023-10-13 19:22:59 浏览数 (1)

一、前导零

较常用的字段:KUNNR(客户编号)、MATNR(物料编号)、PRCTR(利润中心)

1、加前导零

ECC 调用函数

代码语言:javascript复制
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'  "加前导零
    EXPORTING
      input  = lv_data
    IMPORTING
      output = lv_data.

S4 新语法

代码语言:javascript复制
  lv_data = |{ lv_data ALPHA = IN }|.  "加前导零

2、去前导零

ECC 调用函数

代码语言:javascript复制
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'  "去前导零
    EXPORTING
      input  = lv_data
    IMPORTING
      output = lv_data.

S4 新语法

代码语言:javascript复制
  lv_data = |{ lv_data ALPHA = OUT }|.  "去前导零

二、WBS号

较常用的字段:PSPNR(项目)、PS_PSP_PNR(工作分解结构元素 (WBS 元素))

1、外码转内码

ECC 调用函数

代码语言:javascript复制
  CALL FUNCTION 'CONVERSION_EXIT_ABPSP_INPUT'  "外码转内码
    EXPORTING
      input  = lv_data
    IMPORTING
      output = lv_data.

2、内码转外码

ECC 调用函数

代码语言:javascript复制
  CALL FUNCTION 'CONVERSION_EXIT_ABPSP_OUTPUT'  "内码转外码
    EXPORTING
      input  = lv_data
    IMPORTING
      output = lv_data.

三、日期

在某些操作的时候,日期格式要进行转换

1、内码转用户格式

ECC 调用函数

代码语言:javascript复制
  DATA: lv_date  TYPE sy-datum,
        lv_datum TYPE char10.
  lv_date = sy-datum.
  CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'  "内码转用户格式
    EXPORTING
      date_internal = lv_date  "20220726
    IMPORTING
      date_external = lv_datum  "2022-07-26

S4 新语法

代码语言:javascript复制
  lv_datum = |{ lv_date DATE = USER }|.  "内码转用户格式   2022-07-26

2、内码转ISO格式

S4 新语法

代码语言:javascript复制
  lv_datum = |{ lv_date DATE = ISO }|.  "内码转ISO格式   2022-07-26

四、时间

在某些操作的时候,时间格式要进行转换

1、内码转用户格式

ECC 调用函数

代码语言:javascript复制

S4 新语法

代码语言:javascript复制
  DATA: lv_time  TYPE sy-uzeit,
        lv_uzeit TYPE char8.
  lv_time = sy-uzeit.
  lv_uzeit = |{ lv_time TIME = USER }|.  "内码转用户格式   10:11:05

2、内码转ISO格式

S4 新语法

代码语言:javascript复制
  lv_uzeit = |{ lv_time TIME = ISO }|.  "内码转ISO格式   10:11:05

四、物料单位

常用字段:MEINS(单位)

1、内码转外码

ECC 调用函数

代码语言:javascript复制
  DATA: lv_meins TYPE meins,
        lv_longt TYPE char20,
        lv_short TYPE char10.
  
  CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'  "单位内码转外码
    EXPORTING
      input      = lv_meins  "单位内码
      language   = sy-langu  "语言
    IMPORTING
      long_text  = lv_longt  "长文本
      output     = lv_meins  "单位外码
      short_text = lv_short.  "短文本

0 人点赞