zoukankan      html  css  js  c++  java
  • ABAP 函数编写

    MM模块写了不少报表,发现有很多地方都需要根据物料号和批次获取坯料或者铝箔成品的规格型号,代码很多地方都是重复,并且总体显示代码段偏长不直观,于是决定编写一个函数Z_GET_SPEC_FROM_BATCH.

    1、创建一个和数组Z_MM_GROUP,开发类为ZMM;

    2、创建函数Z_GET_SPEC_FROM_BATCH,代码如下:

      FUNCTION Z_GET_SPEC_FROM_BATCH.
    *"----------------------------------------------------------------------
    *"*"Local interface:
    *"  IMPORTING
    *"     REFERENCE(P_MATNR) TYPE  MATNR
    *"     REFERENCE(P_CHARG) TYPE  CHARG_D
    *"  EXPORTING
    *"     REFERENCE(P_SPEC) TYPE  C
    *"----------------------------------------------------------------------
      data:
          S_VAL_NUM TYPE TABLE OF BAPI1003_ALLOC_VALUES_NUM,
          VAL_NUM LIKE BAPI1003_ALLOC_VALUES_NUM,
          S_VAL_CHAR TYPE TABLE OF BAPI1003_ALLOC_VALUES_CHAR.

      call function 'Z_FIG001_GET_CHAR_FROM_BATCH'
            exporting
              P_MATNR           = P_MATNR
              P_CHARG           = P_CHARG
            TABLES
              P_VAL_NUM         = S_VAL_NUM
              P_VAL_CHAR        = S_VAL_CHAR
            exceptions
              no_form            = 1
              no_function_module = 2
              others             = 3.
        if sy-subrc <> 0.
            P_SPEC = ''.
        else.
            datam(16type c,
                  n(16type c.
            loop at S_VAL_NUM into VAL_NUM.
                if VAL_NUM-CHARACT eq 'P0015'.    "宽度
                    CALL FUNCTION 'QSS0_FLTP_TO_CHAR_CONVERSION'
                    EXPORTING
                      I_NUMBER_OF_DIGITS = '2'
                      I_FLTP_VALUE       = VAL_NUM-VALUE_FROM
                    IMPORTING
                      E_CHAR_FIELD       = m.
                elseif VAL_NUM-CHARACT eq 'P0016'.   "厚度
                    CALL FUNCTION 'QSS0_FLTP_TO_CHAR_CONVERSION'
                    EXPORTING
                      I_NUMBER_OF_DIGITS = '2'
                      I_FLTP_VALUE       = VAL_NUM-VALUE_FROM
                    IMPORTING
                      E_CHAR_FIELD       = n.
                endif.
            endloop.
            CONDENSE m.
            CONDENSE n.
            CONCATENATE n '*' m INTO P_SPEC.
        endif.
    ENDFUNCTION.

     

  • 相关阅读:
    消除QQ表情小游戏
    图片排序
    自定义字体
    随机图片滚动
    生成500个0-1000的随机数&&数组查找—小练习
    文字搬运
    查找 替换
    BeginInvoke和EndInvoke方法
    MVC HtmlHelper用法大全
    30分钟LINQ教程 【转载】
  • 原文地址:https://www.cnblogs.com/tianfu/p/1679024.html
Copyright © 2011-2022 走看看