SAP 物料主数据 MAT 批导CODE

REPORT ZMMB001.
INCLUDE ZMMB001_TOP.
INCLUDE ZMMB001_F01.
*&---------------------------------------------------------------------*
*& 初始化处理
*&---------------------------------------------------------------------*
INITIALIZATION.
  PERFORM FRM_INI_SELC.

*&---------------------------------------------------------------------*
*& 选择屏幕控制
*&---------------------------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
  PERFORM FRM_F4_FILE.

*&---------------------------------------------------------------------*
*& 参数输入检查
*&---------------------------------------------------------------------*
AT SELECTION-SCREEN.
  PERFORM FRM_CHK_SELC.

*&---------------------------------------------------------------------*
*& 程序开始处理
*&---------------------------------------------------------------------*
START-OF-SELECTION.
  PERFORM FRM_STA_SELC.
  PERFORM FRM_ALV_SHOW.

*&---------------------------------------------------------------------*
*& 包含               ZMMB001_TOP
*&---------------------------------------------------------------------*
************************************************************************
* TABLES
************************************************************************
TABLES:SSCRFIELDS,ZTMM001.

************************************************************************
* Type Declaration
************************************************************************

TYPES: BEGIN OF TY_DATA,

*&---------------------------------------------------------------------*
*& 初始屏幕
*&---------------------------------------------------------------------*
         MATERIAL(18)            TYPE C,                   "物料号
         MATL_DESC_ZH(255)       TYPE C,                   "物料描述(中文)
         MATL_DESC_EN(255)       TYPE C,                   "物料描述(英文)
         OLD_MAT_NO(40)          TYPE C,                   "旧物料编号
         MATL_TYPE(4)            TYPE C,                   "物料类型

*&---------------------------------------------------------------------*
*& 组织级别
*&---------------------------------------------------------------------*
         PLANT(4)                TYPE C,                    "工厂
         STGE_LOC(4)             TYPE C,                    "库存地点
         SALES_ORG(4)            TYPE C,                    "销售组织
         DISTR_CHAN(2)           TYPE C,                    "分销渠道
         WHSE_NO(3)              TYPE C,                    "仓库号
         STGE_TYPE(3)            TYPE C,                    "仓储类型

*&---------------------------------------------------------------------*
*& 基本数据
*&---------------------------------------------------------------------*
         BASE_UOM(3)             TYPE C,                   "基本计量单位
         MATL_GROUP(9)           TYPE C,                   "物料组
         DIVISION(2)             TYPE C,                   "产品组
         EXTMATLGRP(18)          TYPE C,                   "外部物料组
         GROSS_WT(18)            TYPE C,                   "毛重
         NET_WEIGHT(18)          TYPE C,                   "净重
         UNIT_OF_WT(5)           TYPE C,                   "重量单位
         LENGTH(18)              TYPE C,                   "长
         WIDTH(18)               TYPE C,                   "宽
         HEIGHT(18)              TYPE C,                   "高
         UNIT_DIM(5)             TYPE C,                   "长度单位
         VOLUME(18)              TYPE C,                   "业务量
         VOLUMEUNIT(5)           TYPE C,                   "体积单位
         SIZE_DIM(32)            TYPE C,                   "大小量纲
         EAN_UPC(18)             TYPE C,                   "EAN/UPC
         EAN_CAT(2)              TYPE C,                   "EAN类别
         MTPOS_MARA(4)           TYPE C,                   "普通项目类别组
         KZKFG(1)                TYPE C,                   "可配置物料
         STD_DESCR(18)           TYPE C,                   "行业标准描述

*&---------------------------------------------------------------------*
*& 分类
*&---------------------------------------------------------------------*
         CLASS_TYPE1(18)         TYPE C,                   "类别种类
         CLASS1(18)              TYPE C,                   "类别种类

*&---------------------------------------------------------------------*
*& 销售
*&---------------------------------------------------------------------*
         DELYG_PLNT(4)           TYPE C,       "交货工厂
         TAXCLASS_1(1)           TYPE C,       "税分类
         MATL_STATS(1)           TYPE C,       "物料统计组
         MAT_PR_GRP(2)           TYPE C,       "物料价格组
         ACCT_ASSGT(2)           TYPE C,       "科目设置组
         AVAILCHECK(2)           TYPE C,       "可用性检查
         MATFRGTGRP(8)           TYPE C,       "物料运输组
         TRANS_GRP(4)            TYPE C,       "运输组
         LOADINGGRP(4)           TYPE C,       "装载组
         MTPOS(4)                TYPE C,       "项目类别组***
         PROFIT_CTR(10)          TYPE C,       "利润中心

*&---------------------------------------------------------------------*
*& 采购
*&---------------------------------------------------------------------*
         PUR_GROUP(3)            TYPE C,       "采购组
         BATCH_MGMT(1)           TYPE C,       "批次管理
         GR_PR_TIME(3)           TYPE C,       "收货处理时间
         SOURCELIST(1)           TYPE C,       "源清单
         "MANUF_PROF(4)           TYPE C,       "制造商参数文件
         FABKZ(1)                TYPE C,       "JIT件
*&---------------------------------------------------------------------*
*& MRP 1
*&---------------------------------------------------------------------*
         ABC_ID(1)               TYPE C,       "ABC标识
         MRP_GROUP(4)            TYPE C,       "MRP组
         MRP_TYPE(2)             TYPE C,       "MRP类型
         REORDER_PT(18)          TYPE C,       "再订货点
         MRP_CTRLER(3)           TYPE C,       "MRP控制者
         LOTSIZEKEY(2)           TYPE C,       "批量大小
         MINLOTSIZE(18)          TYPE C,       "最小批量大小
         ROUND_VAL(18)           TYPE C,       "舍入值

*&---------------------------------------------------------------------*
*& MRP 2
*&---------------------------------------------------------------------*
         PROC_TYPE(1)            TYPE C,         "采购类型
         SPPROCTYPE(2)           TYPE C,         "特殊采购类型
         DZEIT                   TYPE MARC-DZEIT, "自制生产时间
         PLZFZ                   TYPE MARC-PLIFZ, "计划交货时间
         "PLND_DELRY(3)           TYPE C,         "计划的天数内交货
         SM_KEY(3)               TYPE C,         "浮动的计划边际码
         SAFETY_STK(18)          TYPE C,         "安全库存

*&---------------------------------------------------------------------*
*& MRP 3
*&---------------------------------------------------------------------*
         PLAN_STRGP(2)           TYPE C,              "计划策略组
         CONSUMMODE              TYPE C,              "消耗模式-----------
         RGEKZ                   TYPE MARC-RGEKZ,     "反冲
         MTVFP                   TYPE MARC-MTVFP,     "可用性检查
         SBDKZ                   TYPE MARC-SBDKZ,     "独立/集中
         SERNP                   TYPE MARC-SERNP,     "序列号参数文件
         BWD_CONS(3)             TYPE C,              "消耗期间:逆向---------
         FWD_CONS(3)             TYPE C,              "消耗时期-向前---------
         MIXED_MRP(1)            TYPE C,              "综合MRP

*&---------------------------------------------------------------------*
*& 工作计划
*&---------------------------------------------------------------------*
         PRODUCTION_SCHEDULER(3) TYPE C,              "生产调度员

*&---------------------------------------------------------------------*
*& 工厂
*&---------------------------------------------------------------------*
         MINREMLIFE(4)           TYPE C,              "最小剩余货架寿命
         SHELF_LIFE(4)           TYPE C,              "总货架寿命
         STGEPERIOD(5)           TYPE C,              "最大存储期间
         STGE_PD_UN(5)           TYPE C,              "时间单位

*&---------------------------------------------------------------------*
*& 会计、成本
*&---------------------------------------------------------------------*
         VAL_CLASS(4)            TYPE C,               "评估类
         STD_PRICE(28)           TYPE C,               "标准价
         PRICE_UNIT(5)           TYPE C,               "价格单位
         ORIG_MAT(1)             TYPE C,               "物料来源
         SPECPROCTY(2)           TYPE C,               "特殊采购成本核算
         PLNDPRICE1(28)          TYPE C,               "计划价格1
         PLNDPRDATE1(10)         TYPE C,               "计划价格日期1
         PLNDPRICE2(28)          TYPE C,               "计划价格2
         PLNDPRDATE2(10)         TYPE C,               "计划价格日期2
         PLNDPRICE3(28)          TYPE C,               "计划价格3
         PLNDPRDATE3(10)         TYPE C,               "计划价格日期3

*&---------------------------------------------------------------------*
*& 附加数据
*&---------------------------------------------------------------------*
         MEINH1(5)               TYPE C,               "附加单位1
         UMREZ1(5)               TYPE C,               "分子1
         UMREN1(5)               TYPE C,               "分母1
         MEINH2(5)               TYPE C,               "附加单位2
         UMREZ2(5)               TYPE C,               "分子2
         UMREN2(5)               TYPE C,               "分母2
         MEINH3(5)               TYPE C,               "附加单位3
         UMREZ3(5)               TYPE C,               "分子3
         UMREN3(5)               TYPE C,               "分母3
         MEINH4(5)               TYPE C,               "附加单位4
         UMREZ4(5)               TYPE C,               "分子4
         UMREN4(5)               TYPE C,               "分母4
         MEINH5(5)               TYPE C,               "附加单位5
         UMREZ5(5)               TYPE C,               "分子5
         UMREN5(5)               TYPE C,               "分母5

*&---------------------------------------------------------------------*
*& 增强数据add by qt_abap1 20180611
*&---------------------------------------------------------------------*
         ZLJFL                   TYPE ZTMM001-ZLJFL  ,   "     零件分类
         ZSYCX                   TYPE ZTMM001-ZSYCX  ,   "     首用车型
         ZLJZT                   TYPE ZTMM001-ZLJZT  ,   "     零件状态
         ZGHZT                   TYPE ZTMM001-ZGHZT  ,   "     供货状态
         ZSMBB                   TYPE ZTMM001-ZSMBB  ,   "     数模版本
         ZSMFB                   TYPE ZTMM001-ZSMFB  ,   "     数模发布日期
         ZZTZH                   TYPE ZTMM001-ZZTZH  ,   "     图纸号
         ZTZBB                   TYPE ZTMM001-ZTZBB  ,   "     图纸版本
         ZRJBB                   TYPE ZTMM001-ZRJBB  ,   "     软件版本
         ZYJBB                   TYPE ZTMM001-ZYJBB  ,   "     硬件版本
         ZZZCL                   TYPE ZTMM001-ZZZCL  ,   "     材料
         ZCLHD                   TYPE ZTMM001-ZCLHD  ,   "     料厚mm
         ZCLGG                   TYPE ZTMM001-ZCLGG  ,   "     规格
         ZDCJBS                  TYPE ZTMM001-ZDCJBS ,   "     对称件标识
         ZDCJH                   TYPE ZTMM001-ZDCJH  ,   "     对称件号
         ZGJTX                   TYPE ZTMM001-ZGJTX  ,   "     关键特性
         ZZLJBZS                 TYPE ZTMM001-ZZLJBZS,   "     质量精准追溯
         ZHBHJJ                  TYPE ZTMM001-ZHBHJJ ,   "     黑白灰匣件
         ZBSJBS                  TYPE ZTMM001-ZBSJBS ,   "     本色件标识
         ZYSJBS                  TYPE ZTMM001-ZYSJBS ,   "     颜色件标识
         ZAQJBS                  TYPE ZTMM001-ZAQJBS ,   "     安全件标识
         ZFGJBS                  TYPE ZTMM001-ZFGJBS ,   "     法规件标识
         Z3CJBS                  TYPE ZTMM001-Z3CJBS ,   "     3C件标识
         ZVOCJBS                 TYPE ZTMM001-ZVOCJBS,   "     VOC件标识
         ZEVLJBS                 TYPE ZTMM001-ZEVLJBS,   "     ELV件标识
         ZZRGSC                  TYPE ZTMM001-ZZRGSC ,   "     责任工程师
         ZECNBH                  TYPE ZTMM001-ZECNBH ,   "     ECN编号
         ZZCFL                   TYPE ZTMM001-ZZCFL  ,   "     整车分类
**************end add 增强数据
       END OF TY_DATA.

TYPES: BEGIN OF TY_RESULT,
         BOX      TYPE C,
         ICON(4)  TYPE C,
         MSG(255) TYPE C,
         MATNR    TYPE MARA-MATNR,
       END OF TY_RESULT.

************************************************************************
* WorkArea
************************************************************************
DATA: WA_DATA   TYPE TY_DATA.
DATA: WA_RESULT TYPE TY_RESULT.

************************************************************************
* Internal Table
************************************************************************
DATA: IT_DATA   TYPE TABLE OF TY_DATA   WITH HEADER LINE.
DATA: IT_RESULT TYPE TABLE OF TY_RESULT WITH HEADER LINE.

DATA: HEADDATA             TYPE BAPIMATHEAD, "BAPIMATHEAD:带有控制信息的表头段
      CLIENTDATA           TYPE BAPI_MARA,   "客户端层次物料数据
      CLIENTDATAX          TYPE BAPI_MARAX,  "BAPI_MARA 的复选框结构
      PLANTDATA            TYPE BAPI_MARC,   "工厂级别的物料数据
      PLANTDATAX           TYPE BAPI_MARCX,  "BAPI_MARC 的复选框结构
      FORECASTPARAMETERS   TYPE BAPI_MPOP,   "预测参数
      FORECASTPARAMETERSX  TYPE BAPI_MPOPX,  "BAPI_MPOP 复选框结构
      PLANNINGDATA         TYPE BAPI_MPGD,   "更改物料主记录/产品组的凭证结构
      PLANNINGDATAX        TYPE BAPI_MPGDX,  "BAPI_MPGD 复选框结构
      STORAGELOCATIONDATA  TYPE BAPI_MARD,   "存储位置级别的物料数据
      STORAGELOCATIONDATAX TYPE BAPI_MARDX,  "
      WAREHOUSENUMBERDATA  TYPE BAPI_MLGN,   "仓库号数据
      WAREHOUSENUMBERDATAX TYPE BAPI_MLGNX,  "
      SALESDATA            TYPE BAPI_MVKE,   "销售数据
      SALESDATAX           TYPE BAPI_MVKEX,  "
      STORAGETYPEDATA      TYPE BAPI_MLGT,   "存储类型数据
      STORAGETYPEDATAX     TYPE BAPI_MLGTX,  "
      VALUATIONDATA        TYPE BAPI_MBEW,   "评估数据
      VALUATIONDATAX       TYPE BAPI_MBEWX,  "
      RETURN               TYPE BAPIRET2,    "返回参数
      MATERIALDESCRIPTION  TYPE TABLE OF BAPI_MAKT WITH HEADER LINE, "物料描述
      TAXCLASSIFICATIONS   TYPE TABLE OF BAPI_MLAN WITH HEADER LINE,
      MATERIALLONGTEXT     TYPE TABLE OF BAPI_MLTX WITH HEADER LINE,
      RETURNMESSAGES       TYPE TABLE OF BAPI_MATRETURN2,
      UNITSOFMEASURE       TYPE TABLE OF BAPI_MARM WITH HEADER LINE,
      UNITSOFMEASUREX      TYPE TABLE OF BAPI_MARMX WITH HEADER LINE,
      PRTDATA              TYPE TABLE OF BAPI_MFHM WITH HEADER LINE,
      PRTDATAX             TYPE TABLE OF BAPI_MFHMX WITH HEADER LINE,
      EXTENSIONINS         TYPE TABLE OF BAPIPAREX WITH HEADER LINE,
      EXTENSIONINX         TYPE TABLE OF BAPIPAREXX WITH HEADER LINE.

DATA: IT_VALUECHAR TYPE TABLE OF BAPI1003_ALLOC_VALUES_CHAR WITH HEADER LINE.

DATA: WA_INSPECTIONCTRL TYPE BAPI1001004_QMAT,
      IT_INSPECTIONCTRL TYPE TABLE OF BAPI1001004_QMAT WITH HEADER LINE.

DATA: IT_RETURN TYPE TABLE OF BAPIRET2 WITH HEADER LINE.

DATA: WA_TQ34 TYPE TQ34,
      IT_TQ34 TYPE TABLE OF TQ34 WITH HEADER LINE.

DATA: WA_MARA_EN  TYPE BAPI_TE_MARA,
      WA_MARA_ENX TYPE BAPI_TE_MARAX.

************************************************************************
* Gloable data
************************************************************************

CONSTANTS: C_X TYPE C VALUE 'X',
           C_N TYPE C VALUE ''.

FIELD-SYMBOLS: <DY_FIELD>.

************************************************************************
*      DEFINITION
************************************************************************
DEFINE INIT_FIELDCAT. " ALV Fieldcat Setting
  gw_lvc-fieldname = &1.
  gw_lvc-coltext = &2.
  gw_lvc-scrtext_l = &2.
  gw_lvc-scrtext_m = &2.
  gw_lvc-scrtext_s = &2.
  gw_lvc-reptext = &2.
  gw_lvc-outputlen = &3.
  IF &4 = 'X'.
    gw_lvc-key = 'X'.
  ENDIF.
  gw_lvc-checkbox = &5.
  gw_lvc-edit = &6.
  gw_lvc-hotspot   = &7.
  gw_lvc-ref_field = &9.
  gw_lvc-ref_table = &8.
  APPEND gw_lvc TO gt_lvc.
  CLEAR gw_lvc.
END-OF-DEFINITION.

*&---------------------------------------------------------------------*
*&      ALV Declaration
*&---------------------------------------------------------------------*
TYPE-POOLS: SLIS.

DATA: GT_LVC           TYPE LVC_T_FCAT,
      GT_SORT          TYPE LVC_T_SORT,
      GW_LAYOUT        TYPE LVC_S_LAYO,
      GW_VARIANT       TYPE DISVARIANT,
      GW_GRID_SETTINGS TYPE LVC_S_GLAY,
      GW_LVC           TYPE LVC_S_FCAT,
      GW_SORT          TYPE LVC_S_SORT,
      GW_GRID_SETTING  TYPE LVC_S_GLAY,
      G_REPID          LIKE SY-REPID,
      GT_EVENTS        TYPE SLIS_T_EVENT WITH HEADER LINE,
      GW_EVENTS        LIKE LINE OF GT_EVENTS.

DATA: GT_EXCLUDE TYPE SLIS_T_EXTAB,
      GS_EXCLUDE TYPE SLIS_EXTAB.

DATA: GR_ALVGRID TYPE REF TO CL_GUI_ALV_GRID.

DATA: GT_ROWS TYPE LVC_T_ROW,
      GT_ROID TYPE LVC_T_ROID,
      WA_ROWS TYPE LVC_S_ROW,
      WA_ROID TYPE LVC_S_ROID.

DATA: GS_VARIANT TYPE DISVARIANT.
DATA: GW_ISTABLE TYPE LVC_S_STBL.


DATA:  LT_BDCDATA LIKE BDCDATA    OCCURS 0 WITH HEADER LINE.
*       messages of call transaction
DATA:  LT_MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
*&---------------------------------------------------------------------*
*& SELECTION-SCREEN
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_FILE LIKE RLGRAP-FILENAME.         "物料导入摸版
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(36) TEXT-H01.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK BLK1.

SELECTION-SCREEN BEGIN OF BLOCK BLK2 WITH FRAME TITLE TEXT-002.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 1.
SELECTION-SCREEN COMMENT 01(15) TEXT-P01.                     "基本视图
PARAMETERS: C_01 AS CHECKBOX.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 1.
SELECTION-SCREEN COMMENT 01(15) TEXT-P02.                     "分类
PARAMETERS: C_02 AS CHECKBOX.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 1.
SELECTION-SCREEN COMMENT 01(15) TEXT-P03.                     "销售视图
PARAMETERS: C_03 AS CHECKBOX.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 1.
SELECTION-SCREEN COMMENT 01(15) TEXT-P04.                     "采购视图
PARAMETERS: C_04 AS CHECKBOX.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 1.
SELECTION-SCREEN COMMENT 01(15) TEXT-P05.                     "MRP视图
PARAMETERS: C_05 AS CHECKBOX.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 1.
SELECTION-SCREEN COMMENT 01(15) TEXT-P06.                     "工厂视图
PARAMETERS: C_06 AS CHECKBOX.
SELECTION-SCREEN END OF LINE.
*
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN POSITION 1.
*SELECTION-SCREEN COMMENT 01(15) TEXT-P07.                     "仓库视图
*PARAMETERS: C_07 AS CHECKBOX.
*SELECTION-SCREEN END OF LINE.

*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN POSITION 1.
*SELECTION-SCREEN COMMENT 01(15) TEXT-P08.                     "质量视图
*PARAMETERS: C_08 AS CHECKBOX.
*SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 1.
SELECTION-SCREEN COMMENT 01(15) TEXT-P09.                     "财务视图
PARAMETERS: C_09 AS CHECKBOX.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 1.
SELECTION-SCREEN COMMENT 01(15) TEXT-P10.                     "会计视图
PARAMETERS: C_10 AS CHECKBOX.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 1.
SELECTION-SCREEN COMMENT 01(15) TEXT-P11.                     "附加数据
PARAMETERS: C_11 AS CHECKBOX.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 1.
SELECTION-SCREEN COMMENT 01(15) TEXT-P12.                     "增强视图
PARAMETERS: C_12 AS CHECKBOX.
SELECTION-SCREEN END OF LINE.


SELECTION-SCREEN END OF BLOCK BLK2.

SELECTION-SCREEN FUNCTION KEY 1.





*&---------------------------------------------------------------------*
*& 包含               ZMMB001_F01
*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*&      Form  FRM_F4_FILE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_F4_FILE .

  DATA: L_FILENAME LIKE RLGRAP-FILENAME.

  CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
*     DEF_FILENAME     = ',*.XLSX,*.XLSX;,*.XLS,*.XLS;'
*     DEF_PATH         = ' '
      MASK             = ',Excel file,*.xls;*.xlsx;'  "
      MODE             = 'O'
*     TITLE            = ' '
    IMPORTING
      FILENAME         = L_FILENAME
*     RC               =
    EXCEPTIONS
      INV_WINSYS       = 1
      NO_BATCH         = 2
      SELECTION_CANCEL = 3
      SELECTION_ERROR  = 4
      OTHERS           = 5.
  IF SY-SUBRC = 0.
    P_FILE = L_FILENAME.
  ENDIF.

ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  FRM_INI_SELC
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_INI_SELC .

  SSCRFIELDS-FUNCTXT_01 = '@49@下载导入模板'.

ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  FRM_CHK_SELC
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_CHK_SELC .

  IF SSCRFIELDS-UCOMM = 'FC01'.
    PERFORM FRM_DOWN_TEMPLATE.   "下载SWM0上传过的模版
  ENDIF.

ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  FRM_DOWN_TEMPLATE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_DOWN_TEMPLATE .

  DATA: LS_WWWDATATAB     LIKE WWWDATATAB,
        LT_MIME           LIKE W3MIME OCCURS 10,
        LV_FILENAME       TYPE STRING,
        LV_PATH           TYPE STRING,
        LV_FULLPATH       TYPE STRING,
        WINDOW_TITLE      TYPE STRING,
        DEFAULT_FILE_NAME TYPE STRING.

  CLEAR: LS_WWWDATATAB,LT_MIME[],LV_FILENAME,LV_PATH,LV_FULLPATH,WINDOW_TITLE,DEFAULT_FILE_NAME.

  LS_WWWDATATAB-RELID = 'MI'.         "IMPORT/EXPORT 数据表中的区域
  LS_WWWDATATAB-OBJID = 'ZMM004'.
  LS_WWWDATATAB-TEXT  = '物料主数据导入模板-前途.xlsx'."WWWDATA 对象的短文本
  DEFAULT_FILE_NAME   = '物料主数据导入模板-前途.xlsx'.

  WINDOW_TITLE = '下载导入模板'.

  CALL FUNCTION 'WWWDATA_IMPORT'                            "#EC *
    EXPORTING
      KEY               = LS_WWWDATATAB
    TABLES
      MIME              = LT_MIME
    EXCEPTIONS
      WRONG_OBJECT_TYPE = 1
      IMPORT_ERROR      = 2
      OTHERS            = 3.

  CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
    EXPORTING
      WINDOW_TITLE         = WINDOW_TITLE
      DEFAULT_EXTENSION    = 'xlsx'
      DEFAULT_FILE_NAME    = DEFAULT_FILE_NAME
      FILE_FILTER          = 'EXCEL'
    CHANGING
      FILENAME             = LV_FILENAME
      PATH                 = LV_PATH
      FULLPATH             = LV_FULLPATH
    EXCEPTIONS
      CNTL_ERROR           = 1
      ERROR_NO_GUI         = 2
      NOT_SUPPORTED_BY_GUI = 3
      OTHERS               = 4.
  IF SY-SUBRC <> 0.
    STOP.
  ENDIF.

  IF LV_FULLPATH IS NOT INITIAL.
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        FILENAME = LV_FULLPATH
        FILETYPE = 'BIN'
      TABLES
        DATA_TAB = LT_MIME.
  ENDIF.

ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  FRM_STA_SELC
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_STA_SELC .

  PERFORM FRM_EXCEL_LOAD.

  PERFORM FRM_MATAS_SAVE.

ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  FRM_ALV_SHOW
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_ALV_SHOW .

  PERFORM INIT_LAYOUT.             "设置输出格式
  PERFORM INIT_SORT.               "设置排序、合计
  PERFORM INIT_VARIANT.            "设置变式控制
  PERFORM FRM_INIT_LVC.
  PERFORM FRM_EXCLUDE.
  PERFORM FRM_BUILD_EVENT.
  PERFORM FRM_OUTPUT TABLES GT_LVC
                            GT_SORT
                            IT_RESULT
                     USING 'ALV_PF_STATUS'
                           'ALV_USER_COMMAND'
                           GW_LAYOUT
                           GW_VARIANT
                           GW_GRID_SETTINGS.


ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  INIT_LAYOUT
*&---------------------------------------------------------------------*
*       初始化layout参数
*----------------------------------------------------------------------*
FORM INIT_LAYOUT .

  GW_LAYOUT-ZEBRA = 'X'.
  GW_LAYOUT-BOX_FNAME = 'BOX'.
  GW_LAYOUT-CWIDTH_OPT = 'X'.

ENDFORM. " INIT_LAYOUT

*&---------------------------------------------------------------------*
*&      Form  INIT_SORT
*&---------------------------------------------------------------------*
*       排序
*----------------------------------------------------------------------*
FORM INIT_SORT .

ENDFORM. " INIT_SORT

*&---------------------------------------------------------------------*
*&      Form  INIT_VARIANT
*&---------------------------------------------------------------------*
*       初始化变量
*----------------------------------------------------------------------*
FORM INIT_VARIANT.

ENDFORM. " INIT_VARIANT

*&---------------------------------------------------------------------*
*&      Form  FRM_EXCLUDE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM FRM_EXCLUDE.

  REFRESH GT_EXCLUDE.
  CLEAR   GS_EXCLUDE.

ENDFORM. " FRM_EXCLUDE

*&---------------------------------------------------------------------*
*&      Form  FRM_INIT_LVC
*&---------------------------------------------------------------------*
*       列参数
*----------------------------------------------------------------------*
FORM FRM_INIT_LVC.

  INIT_FIELDCAT 'ICON'      '生成情况'        '' '' '' '' '' '' ''.
  INIT_FIELDCAT 'MSG'       '消息'            '' '' '' '' '' '' ''.
  INIT_FIELDCAT 'MATNR'     '物料凭证编号'    '' '' '' '' '' 'MARA' 'MATNR'.

ENDFORM. "frm_init_lvc

*&---------------------------------------------------------------------*
*&      Form  FRM_BUILD_EVENT
*&---------------------------------------------------------------------*
*       ALV事件
*----------------------------------------------------------------------*
FORM FRM_BUILD_EVENT .

ENDFORM. " FRM_BUILD_EVENT

*&---------------------------------------------------------------------*
*&      Form  FRM_OUTPUT
*&---------------------------------------------------------------------*
*       调用ALV函数
*----------------------------------------------------------------------*
FORM FRM_OUTPUT TABLES PT_LVC TYPE LVC_T_FCAT
                       PT_SORT TYPE LVC_T_SORT
                       PT_DATA
                USING PU_STATUS
                      PU_UCOMM
                      PW_LAYOUT TYPE LVC_S_LAYO
                      PW_VARIANT TYPE DISVARIANT
                      PW_GRID_SETTINGS TYPE LVC_S_GLAY.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
*     I_INTERFACE_CHECK        = ' '
*     I_BYPASSING_BUFFER       =
*     I_BUFFER_ACTIVE          =
      I_CALLBACK_PROGRAM       = SY-REPID
      I_CALLBACK_PF_STATUS_SET = PU_STATUS
      I_CALLBACK_USER_COMMAND  = PU_UCOMM
*     I_CALLBACK_TOP_OF_PAGE   = ' '
*     I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*     I_CALLBACK_HTML_END_OF_LIST       = ' '
*     I_STRUCTURE_NAME         = ''
*     I_BACKGROUND_ID          = ' '
*     I_GRID_TITLE             =
      I_GRID_SETTINGS          = PW_GRID_SETTINGS
      IS_LAYOUT_LVC            = PW_LAYOUT
      IT_FIELDCAT_LVC          = PT_LVC[]
      IT_EXCLUDING             = GT_EXCLUDE
*     IT_SPECIAL_GROUPS_LVC    =
      IT_SORT_LVC              = PT_SORT[]
*     IT_FILTER_LVC            =
*     IT_HYPERLINK             =
*     IS_SEL_HIDE              =
*     I_DEFAULT                = 'X'
      I_SAVE                   = 'A'
      IS_VARIANT               = PW_VARIANT
*     it_events                = gt_events[]
*     IT_EVENT_EXIT            =
*     IS_PRINT_LVC             =
*     IS_REPREP_ID_LVC         =
*     I_SCREEN_START_COLUMN    = 0
*     I_SCREEN_START_LINE      = 0
*     I_SCREEN_END_COLUMN      = 0
*     I_SCREEN_END_LINE        = 0
*     I_HTML_HEIGHT_TOP        =
*     I_HTML_HEIGHT_END        =
*     IT_ALV_GRAPHICS          =
*     IT_EXCEPT_QINFO_LVC      =
*     IR_SALV_FULLSCREEN_ADAPTER        =
*    IMPORTING
*     E_EXIT_CAUSED_BY_CALLER  =
*     ES_EXIT_CAUSED_BY_USER   =
    TABLES
      T_OUTTAB                 = PT_DATA
    EXCEPTIONS
      PROGRAM_ERROR            = 1
      OTHERS                   = 2.
  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM. " FRM_OUTPUT
*&---------------------------------------------------------------------*
*&      Form  ALV_PF_STATUS
*&---------------------------------------------------------------------*
*       GUI状态设置
*----------------------------------------------------------------------*
*      -->RT_EXTAB   GUI状态设置
*----------------------------------------------------------------------*
FORM ALV_PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.

  SET PF-STATUS 'STANDARD_FULLSCREEN' EXCLUDING RT_EXTAB.

ENDFORM. "ALV_PF_STATUS
*&---------------------------------------------------------------------*
*&      Form  ALV_USER_COMMAND
*&---------------------------------------------------------------------*
*       ALV执行查询后的事件响应
*----------------------------------------------------------------------*
*      -->R_UCOMN      响应码
*      -->RS_SELFIELD  当前行信息
*----------------------------------------------------------------------*
FORM ALV_USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
                            RS_SELFIELD TYPE SLIS_SELFIELD.



ENDFORM. "ALV_USER_COMMAND
*&---------------------------------------------------------------------*
*&      Form  FRM_EXCEL_LOAD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_EXCEL_LOAD .

  DATA: L_FILENAME TYPE RLGRAP-FILENAME,
        L_ENDROW   TYPE I.

  FIELD-SYMBOLS: <FS>.

  DATA:ITAB TYPE TABLE OF ZALSMEX_TABLINE WITH HEADER LINE.

  IF P_FILE IS INITIAL.
    MESSAGE TEXT-003 TYPE 'S' DISPLAY LIKE 'E'.
    LEAVE LIST-PROCESSING.
  ENDIF.

  L_FILENAME = P_FILE.
  L_ENDROW   = 900000.

  CALL FUNCTION 'ZALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
      FILENAME                = L_FILENAME
      I_BEGIN_COL             = 1
      I_BEGIN_ROW             = 3
      I_END_COL               = 128
      I_END_ROW               = L_ENDROW
    TABLES
      INTERN                  = ITAB
    EXCEPTIONS
      INCONSISTENT_PARAMETERS = 1
      UPLOAD_OLE              = 2
      OTHERS                  = 3.
  IF SY-SUBRC <> 0.
  ENDIF.

  IF ITAB[] IS NOT INITIAL.
    LOOP AT ITAB.
      ON CHANGE OF ITAB-ROW.
        IF SY-TABIX NE 1.
          APPEND IT_DATA.
          CLEAR  IT_DATA.
        ENDIF.
      ENDON.
      ASSIGN COMPONENT ITAB-COL OF STRUCTURE IT_DATA TO <FS>.
      <FS> = ITAB-VALUE.
    ENDLOOP.
    APPEND IT_DATA.
    CLEAR  IT_DATA.
  ENDIF.

ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  FRM_MATAM_SAVE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_MATAS_SAVE .

  DATA: L_CURRENT       TYPE I,
        L_TOTAL         TYPE I,
        C_CURRENT(10)   TYPE C,
        C_TOTAL(10)     TYPE C,
        MESSAGEBAR(255) TYPE C,
        L_MSG(255)      TYPE C.

  DATA: L_BUKRS TYPE TVKO-BUKRS,
        L_LAND1 TYPE T001-LAND1.

* 总行数
  DESCRIBE TABLE IT_DATA LINES L_TOTAL.
  MOVE L_TOTAL TO C_TOTAL.

* 检验类型
  SELECT *
    INTO TABLE IT_TQ34
    FROM TQ34.
  SORT IT_TQ34 BY ART.

*&---------------------------------------------------------------------*
* 分条导入
*----------------------------------------------------------------------*
  LOOP AT IT_DATA INTO WA_DATA.

* 当前行
    L_CURRENT = L_CURRENT + 1.
    MOVE L_CURRENT TO C_CURRENT.
    CLEAR MESSAGEBAR.
    CONCATENATE '正在处理第:' C_CURRENT '条/共' C_TOTAL '条' INTO MESSAGEBAR.

* 提示
    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
      EXPORTING
        TEXT = MESSAGEBAR.

* 清空内表
    CLEAR HEADDATA.
    CLEAR CLIENTDATA.
    CLEAR CLIENTDATAX.
    CLEAR PLANTDATA.
    CLEAR PLANTDATAX.
    CLEAR SALESDATA.
    CLEAR SALESDATAX.
    CLEAR WAREHOUSENUMBERDATA.
    CLEAR WAREHOUSENUMBERDATAX.
    CLEAR STORAGELOCATIONDATA.
    CLEAR STORAGELOCATIONDATAX.
    CLEAR VALUATIONDATA.
    CLEAR VALUATIONDATAX.
    CLEAR STORAGETYPEDATA.
    CLEAR STORAGETYPEDATAX.

    CLEAR   MATERIALDESCRIPTION.
    REFRESH MATERIALDESCRIPTION.
    CLEAR   TAXCLASSIFICATIONS.
    REFRESH TAXCLASSIFICATIONS.
    CLEAR   MATERIALLONGTEXT.
    REFRESH MATERIALLONGTEXT.
    CLEAR   UNITSOFMEASURE.
    REFRESH UNITSOFMEASURE.
    CLEAR   UNITSOFMEASUREX.
    REFRESH UNITSOFMEASUREX.
    CLEAR:  PRTDATA,PRTDATAX.
    REFRESH:PRTDATA,PRTDATAX.
    CLEAR:  EXTENSIONINS,EXTENSIONINX.
    REFRESH:EXTENSIONINS,EXTENSIONINX.
    CLEAR   RETURN.

    IF WA_DATA-MATERIAL CO '1234567890 '.
      CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
        EXPORTING
          INPUT        = WA_DATA-MATERIAL
        IMPORTING
          OUTPUT       = WA_DATA-MATERIAL
        EXCEPTIONS
          LENGTH_ERROR = 1
          OTHERS       = 2.
      IF SY-SUBRC <> 0.
      ENDIF.
    ENDIF.

*    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
*      EXPORTING
*        INPUT  = WA_DATA-ZKUNNR
*      IMPORTING
*        OUTPUT = WA_DATA-ZKUNNR.

    PERFORM FRM_CONVERT_COUNT CHANGING WA_DATA-BASE_UOM.
    "   PERFORM FRM_CONVERT_COUNT CHANGING WA_DATA-ZMEINS.
    PERFORM FRM_CONVERT_COUNT CHANGING WA_DATA-UNIT_OF_WT.
    PERFORM FRM_CONVERT_COUNT CHANGING WA_DATA-UNIT_DIM.
    PERFORM FRM_CONVERT_COUNT CHANGING WA_DATA-VOLUMEUNIT.
    PERFORM FRM_CONVERT_COUNT CHANGING WA_DATA-STGE_PD_UN.
*    PERFORM FRM_CONVERT_COUNT CHANGING WA_DATA-LEQ_UNIT_1.
*    PERFORM FRM_CONVERT_COUNT CHANGING WA_DATA-LEQ_UNIT_2.
*    PERFORM FRM_CONVERT_COUNT CHANGING WA_DATA-LEQ_UNIT_3.
    PERFORM FRM_CONVERT_COUNT CHANGING WA_DATA-MEINH1.
    PERFORM FRM_CONVERT_COUNT CHANGING WA_DATA-MEINH2.
    PERFORM FRM_CONVERT_COUNT CHANGING WA_DATA-MEINH3.
    PERFORM FRM_CONVERT_COUNT CHANGING WA_DATA-MEINH4.
    PERFORM FRM_CONVERT_COUNT CHANGING WA_DATA-MEINH5.


************************************************************************
* HEADDATA
************************************************************************

    HEADDATA-MATERIAL_LONG   = WA_DATA-MATERIAL.
    HEADDATA-MATERIAL        = WA_DATA-MATERIAL.
    HEADDATA-MATL_TYPE       = WA_DATA-MATL_TYPE.
    HEADDATA-IND_SECTOR      = 'C'.

    IF C_01 = 'X'.
      HEADDATA-BASIC_VIEW      = 'X'. "基本视图
    ENDIF.


************************************************************************
* CLIENTDATA
************************************************************************
    IF C_01 = 'X'.
      IF WA_DATA-BASE_UOM <> ' '.                  "基本计量单位
        IF WA_DATA-BASE_UOM = '#'.
          CLIENTDATA-BASE_UOM   = ' '.
        ELSE.
          CLIENTDATA-BASE_UOM   = WA_DATA-BASE_UOM.
        ENDIF.
      ENDIF.
*      IF wa_data-old_mat_no <> ' '.                "旧物料编号
*        IF wa_data-old_mat_no = '#'.
*          clientdata-old_mat_no_long   = ' '.
*        ELSE.
*          clientdata-old_mat_no_long   = wa_data-old_mat_no.
*          clientdata-inv_mat_no_long   = wa_data-old_mat_no.
*        ENDIF.
*      ENDIF.
      IF WA_DATA-MATL_GROUP <> ' '.                 "物料组
        IF WA_DATA-BASE_UOM = '#'.
          CLIENTDATA-MATL_GROUP = ' '.
        ELSE.
          CLIENTDATA-MATL_GROUP = WA_DATA-MATL_GROUP.
        ENDIF.
      ENDIF.
      IF WA_DATA-DIVISION <> ' '.                  "产品组
        IF WA_DATA-DIVISION = '#'.
          CLIENTDATA-DIVISION   = ' '.
        ELSE.
          CLIENTDATA-DIVISION   = WA_DATA-DIVISION.
        ENDIF.
      ENDIF.
      IF WA_DATA-EXTMATLGRP <> ' '.                 "外部物料组
        IF WA_DATA-EXTMATLGRP = '#'.
          CLIENTDATA-EXTMATLGRP   = ' '.
        ELSE.
          CLIENTDATA-EXTMATLGRP   = WA_DATA-EXTMATLGRP.
        ENDIF.
      ENDIF.
      IF WA_DATA-NET_WEIGHT <> ' '.                 "净重
        IF WA_DATA-NET_WEIGHT = '#'.
          CLIENTDATA-NET_WEIGHT   = ' '.
        ELSE.
          CLIENTDATA-NET_WEIGHT   = WA_DATA-NET_WEIGHT.
        ENDIF.
      ENDIF.
      IF WA_DATA-UNIT_OF_WT <> ' '.                 "重量单位
        IF WA_DATA-UNIT_OF_WT = '#'.
          CLIENTDATA-UNIT_OF_WT    = ' '.
        ELSE.
          CLIENTDATA-UNIT_OF_WT    = WA_DATA-UNIT_OF_WT.
        ENDIF.
      ENDIF.
      IF WA_DATA-SIZE_DIM <> ''.                     "大小量纲
        IF WA_DATA-SIZE_DIM = '#'.
          CLIENTDATA-SIZE_DIM = ''.
        ELSE.
          CLIENTDATA-SIZE_DIM = WA_DATA-SIZE_DIM.
        ENDIF.
      ENDIF.
      IF WA_DATA-STD_DESCR <> ''.                   "行业标准描述
        IF WA_DATA-STD_DESCR = '#'.
          CLIENTDATA-STD_DESCR = ''.
        ELSE.
          CLIENTDATA-STD_DESCR = WA_DATA-STD_DESCR.
        ENDIF.
      ENDIF.

*********普通项目类别组 ADD BY QT_ABAP1 20180611
      IF WA_DATA-MTPOS_MARA <> ''.                   "普通项目类别组

        IF WA_DATA-MTPOS_MARA = '#'.
          CLIENTDATA-ITEM_CAT = ''.
        ELSE.
          CLIENTDATA-ITEM_CAT = WA_DATA-MTPOS_MARA.
        ENDIF.

      ENDIF.
*********可配置物料
*      IF WA_DATA-KZKFG <> ''.                   "普通项目类别组
*
*        IF WA_DATA-KZKFG = '#'.
*          CLIENTDATA-CM_RELEVANCE_FLAG = ''.
*        ELSE.
*          CLIENTDATA-CM_RELEVANCE_FLAG = WA_DATA-KZKFG.
*        ENDIF.
*
*      ENDIF.




      IF WA_DATA-BATCH_MGMT <> ' '.                    "批次管理
        IF WA_DATA-BATCH_MGMT = '#'.
          CLIENTDATA-BATCH_MGMT  = ' '.
        ELSE.
          CLIENTDATA-BATCH_MGMT  = WA_DATA-BATCH_MGMT.
        ENDIF.
      ENDIF.





* 计量单位
      IF WA_DATA-BASE_UOM <> ' '.
        CLEAR: UNITSOFMEASURE, UNITSOFMEASUREX.
        UNITSOFMEASURE-ALT_UNIT    = WA_DATA-BASE_UOM.
        UNITSOFMEASURE-NUMERATOR   = 1.
        UNITSOFMEASURE-DENOMINATR  = 1.
        UNITSOFMEASUREX-ALT_UNIT   = WA_DATA-BASE_UOM.
        UNITSOFMEASUREX-NUMERATOR  = 'X'.
        UNITSOFMEASUREX-DENOMINATR = 'X'.
        IF WA_DATA-GROSS_WT <> ''.                "毛重
          IF WA_DATA-GROSS_WT = '#'.
            UNITSOFMEASURE-GROSS_WT = ''.
          ELSE.
            UNITSOFMEASURE-GROSS_WT = WA_DATA-GROSS_WT.
          ENDIF.
          UNITSOFMEASUREX-GROSS_WT = 'X'.
        ENDIF.
        IF WA_DATA-UNIT_OF_WT <> ' '.                 "重量单位
          IF WA_DATA-UNIT_OF_WT = '#'.
            UNITSOFMEASURE-UNIT_OF_WT    = ' '.
          ELSE.
            UNITSOFMEASURE-UNIT_OF_WT    = WA_DATA-UNIT_OF_WT.
          ENDIF.
          UNITSOFMEASUREX-UNIT_OF_WT = 'X'.
        ENDIF.
        IF WA_DATA-LENGTH <> ''.                  "长度
          IF WA_DATA-LENGTH = '#'.
            UNITSOFMEASURE-LENGTH = ''.
          ELSE.
            UNITSOFMEASURE-LENGTH = WA_DATA-LENGTH.
          ENDIF.
          UNITSOFMEASUREX-LENGTH = 'X'.
        ENDIF.
        IF WA_DATA-WIDTH <> ''.                  "宽度
          IF WA_DATA-WIDTH = '#'.
            UNITSOFMEASURE-WIDTH = ''.
          ELSE.
            UNITSOFMEASURE-WIDTH = WA_DATA-WIDTH.
          ENDIF.
          UNITSOFMEASUREX-WIDTH = 'X'.
        ENDIF.
        IF WA_DATA-HEIGHT <> ''.                  "高度
          IF WA_DATA-HEIGHT = '#'.
            UNITSOFMEASURE-HEIGHT = ''.
          ELSE.
            UNITSOFMEASURE-HEIGHT = WA_DATA-HEIGHT.
          ENDIF.
          UNITSOFMEASUREX-HEIGHT = 'X'.
        ENDIF.
        IF WA_DATA-UNIT_DIM <> ''.                "长度单位
          IF WA_DATA-UNIT_DIM = '#'.
            UNITSOFMEASURE-UNIT_DIM = ''.
          ELSE.
            UNITSOFMEASURE-UNIT_DIM = WA_DATA-UNIT_DIM.
          ENDIF.
          UNITSOFMEASUREX-UNIT_DIM = 'X'.
        ENDIF.
        IF WA_DATA-VOLUME <> ''.                  "业务量
          IF WA_DATA-VOLUME = '#'.
            UNITSOFMEASURE-VOLUME = ''.
          ELSE.
            UNITSOFMEASURE-VOLUME = WA_DATA-VOLUME.
          ENDIF.
          UNITSOFMEASUREX-VOLUME = 'X'.
        ENDIF.
        IF WA_DATA-VOLUMEUNIT <> ''.              "体积单位
          IF WA_DATA-VOLUMEUNIT = '#'.
            UNITSOFMEASURE-VOLUMEUNIT = ''.
          ELSE.
            UNITSOFMEASURE-VOLUMEUNIT = WA_DATA-VOLUMEUNIT.
          ENDIF.
          UNITSOFMEASUREX-VOLUMEUNIT = 'X'.
        ENDIF.
        IF WA_DATA-EAN_UPC <> ''.                  "EAN/UPC
          IF WA_DATA-EAN_UPC = '#'.
            UNITSOFMEASURE-EAN_UPC = ''.
          ELSE.
            UNITSOFMEASURE-EAN_UPC = WA_DATA-EAN_UPC.
          ENDIF.
          UNITSOFMEASUREX-EAN_UPC = 'X'.
        ENDIF.
        IF WA_DATA-EAN_CAT <> ''.                  "EAN类别
          IF WA_DATA-EAN_CAT = '#'.
            UNITSOFMEASURE-EAN_CAT = ''.
          ELSE.
            UNITSOFMEASURE-EAN_CAT = WA_DATA-EAN_CAT.
          ENDIF.
          UNITSOFMEASUREX-EAN_CAT = 'X'.
        ENDIF.
        APPEND UNITSOFMEASURE.
        APPEND UNITSOFMEASUREX.
      ENDIF.
    ENDIF.

************************************************************************
* CLIENTDATAX
************************************************************************
    IF C_01 = 'X'.
      IF WA_DATA-BASE_UOM <> ' '.                  "基本计量单位
        CLIENTDATAX-BASE_UOM   = 'X'.
      ENDIF.
*      IF wa_data-old_mat_no <> ' '.              "旧物料号
*        clientdatax-old_mat_no_long   = 'X'.
*        clientdatax-inv_mat_no_long   = 'X'.
*      ENDIF.
      IF WA_DATA-MATL_GROUP <> ' '.                "物料组
        CLIENTDATAX-MATL_GROUP = 'X'.
      ENDIF.
      IF WA_DATA-DIVISION <> ' '.                  "产品组
        CLIENTDATAX-DIVISION   = 'X'.
      ENDIF.
      IF WA_DATA-EXTMATLGRP <> ' '.                "外部物料组
        CLIENTDATAX-EXTMATLGRP  = 'X'.
      ENDIF.
      IF WA_DATA-NET_WEIGHT <> ' '.                "净重
        CLIENTDATAX-NET_WEIGHT  = 'X'.
      ENDIF.
      IF WA_DATA-UNIT_OF_WT <> ' '.                "重量单位
        CLIENTDATAX-UNIT_OF_WT  = 'X'.
      ENDIF.
      IF WA_DATA-SIZE_DIM <> ' '.                  "大小量纲
        CLIENTDATAX-SIZE_DIM  = 'X'.
      ENDIF.
      IF WA_DATA-STD_DESCR <> ' '.                "行业标准描述
        CLIENTDATAX-STD_DESCR  = 'X'.
      ENDIF.
      IF WA_DATA-BATCH_MGMT <> ' '.               "批次管理
        CLIENTDATAX-BATCH_MGMT  = 'X'.
      ENDIF.


      IF WA_DATA-MTPOS_MARA <> ' '.  "普通项目类别组
        CLIENTDATAX-ITEM_CAT = 'X'.
      ENDIF.

*      IF WA_DATA-KZKFG <> ' '.  "可配置物料
*        CLIENTDATAX-CM_RELEVANCE_FLAG = 'X'.
*      ENDIF.

    ENDIF.


 

* 附件数据
    IF C_11 = 'X'.

      IF WA_DATA-MEINH1 <> ''.
        CLEAR: UNITSOFMEASURE, UNITSOFMEASUREX.
        UNITSOFMEASURE-ALT_UNIT    = WA_DATA-MEINH1.
        UNITSOFMEASURE-NUMERATOR   = WA_DATA-UMREZ1.
        UNITSOFMEASURE-DENOMINATR  = WA_DATA-UMREN1.
        UNITSOFMEASUREX-ALT_UNIT   = WA_DATA-MEINH1.
        UNITSOFMEASUREX-NUMERATOR  = 'X'.
        UNITSOFMEASUREX-DENOMINATR = 'X'.
        APPEND UNITSOFMEASURE.
        APPEND UNITSOFMEASUREX.
      ENDIF.

      IF WA_DATA-MEINH2 <> ''.
        CLEAR: UNITSOFMEASURE, UNITSOFMEASUREX.
        UNITSOFMEASURE-ALT_UNIT    = WA_DATA-MEINH2.
        UNITSOFMEASURE-NUMERATOR   = WA_DATA-UMREZ2.
        UNITSOFMEASURE-DENOMINATR  = WA_DATA-UMREN2.
        UNITSOFMEASUREX-ALT_UNIT   = WA_DATA-MEINH2.
        UNITSOFMEASUREX-NUMERATOR  = 'X'.
        UNITSOFMEASUREX-DENOMINATR = 'X'.
        APPEND UNITSOFMEASURE.
        APPEND UNITSOFMEASUREX.
      ENDIF.

      IF WA_DATA-MEINH3 <> ''.
        CLEAR: UNITSOFMEASURE, UNITSOFMEASUREX.
        UNITSOFMEASURE-ALT_UNIT    = WA_DATA-MEINH3.
        UNITSOFMEASURE-NUMERATOR   = WA_DATA-UMREZ3.
        UNITSOFMEASURE-DENOMINATR  = WA_DATA-UMREN3.
        UNITSOFMEASUREX-ALT_UNIT   = WA_DATA-MEINH3.
        UNITSOFMEASUREX-NUMERATOR  = 'X'.
        UNITSOFMEASUREX-DENOMINATR = 'X'.
        APPEND UNITSOFMEASURE.
        APPEND UNITSOFMEASUREX.
      ENDIF.

      IF WA_DATA-MEINH4 <> ''.
        CLEAR: UNITSOFMEASURE, UNITSOFMEASUREX.
        UNITSOFMEASURE-ALT_UNIT    = WA_DATA-MEINH4.
        UNITSOFMEASURE-NUMERATOR   = WA_DATA-UMREZ4.
        UNITSOFMEASURE-DENOMINATR  = WA_DATA-UMREN4.
        UNITSOFMEASUREX-ALT_UNIT   = WA_DATA-MEINH4.
        UNITSOFMEASUREX-NUMERATOR  = 'X'.
        UNITSOFMEASUREX-DENOMINATR = 'X'.
        APPEND UNITSOFMEASURE.
        APPEND UNITSOFMEASUREX.
      ENDIF.

      IF WA_DATA-MEINH5 <> ''.
        CLEAR: UNITSOFMEASURE, UNITSOFMEASUREX.
        UNITSOFMEASURE-ALT_UNIT    = WA_DATA-MEINH5.
        UNITSOFMEASURE-NUMERATOR   = WA_DATA-UMREZ5.
        UNITSOFMEASURE-DENOMINATR  = WA_DATA-UMREN5.
        UNITSOFMEASUREX-ALT_UNIT   = WA_DATA-MEINH5.
        UNITSOFMEASUREX-NUMERATOR  = 'X'.
        UNITSOFMEASUREX-DENOMINATR = 'X'.
        APPEND UNITSOFMEASURE.
        APPEND UNITSOFMEASUREX.
      ENDIF.

    ENDIF.

    IF C_01 = C_X.
      CLEAR: WA_MARA_EN, WA_MARA_ENX,
             EXTENSIONINS, EXTENSIONINX.

      WA_MARA_EN-MATERIAL = WA_DATA-MATERIAL.
*      wa_mara_en-zmeins   = wa_data-zmeins.
*      wa_mara_en-zchange1 = wa_data-zchange1.
*      wa_mara_en-zkunnr   = wa_data-zkunnr.
*      wa_mara_en-znote    = wa_data-znote.

      WA_MARA_ENX-MATERIAL = WA_DATA-MATERIAL.
*      wa_mara_enx-zmeins   = c_x.
*      wa_mara_enx-zchange1 = c_x.
*      wa_mara_enx-zkunnr   = c_x.
*      wa_mara_enx-znote    = c_x.


      EXTENSIONINS-STRUCTURE = 'BAPI_TE_MARA'.
      EXTENSIONINS-VALUEPART1 = WA_MARA_EN.
      APPEND EXTENSIONINS.

      EXTENSIONINX-STRUCTURE = 'BAPI_TE_MARAX'.
      EXTENSIONINX-VALUEPART1 = WA_MARA_ENX.
      APPEND EXTENSIONINX.
    ENDIF.

    CLEAR: MATERIALDESCRIPTION[].
    IF WA_DATA-MATL_DESC_ZH <> ' '.              "物料描述(中文)
      IF WA_DATA-MATL_DESC_ZH = '#'.
        MATERIALDESCRIPTION-LANGU = '1'.
        MATERIALDESCRIPTION-MATL_DESC = ' '.
        APPEND MATERIALDESCRIPTION.
      ELSE.
        MATERIALDESCRIPTION-LANGU = '1'.
        MATERIALDESCRIPTION-MATL_DESC = WA_DATA-MATL_DESC_ZH.
        APPEND MATERIALDESCRIPTION.
      ENDIF.
    ENDIF.
    IF WA_DATA-MATL_DESC_EN <> ' '.              "物料描述(英文)
      IF WA_DATA-MATL_DESC_EN = '#'.
        MATERIALDESCRIPTION-LANGU = 'E'.
        MATERIALDESCRIPTION-MATL_DESC = ' '.
        APPEND MATERIALDESCRIPTION.
      ELSE.
        MATERIALDESCRIPTION-LANGU = 'E'.
        MATERIALDESCRIPTION-MATL_DESC = WA_DATA-MATL_DESC_EN.
        APPEND MATERIALDESCRIPTION.
      ENDIF.
    ENDIF.

* Create and Change Material Master Data
    CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
      EXPORTING
        HEADDATA             = HEADDATA
        CLIENTDATA           = CLIENTDATA
        CLIENTDATAX          = CLIENTDATAX
        PLANTDATA            = PLANTDATA
        PLANTDATAX           = PLANTDATAX
        SALESDATA            = SALESDATA
        SALESDATAX           = SALESDATAX
        WAREHOUSENUMBERDATA  = WAREHOUSENUMBERDATA
        WAREHOUSENUMBERDATAX = WAREHOUSENUMBERDATAX
        STORAGELOCATIONDATA  = STORAGELOCATIONDATA
        STORAGELOCATIONDATAX = STORAGELOCATIONDATAX
        VALUATIONDATA        = VALUATIONDATA
        VALUATIONDATAX       = VALUATIONDATAX
        STORAGETYPEDATA      = STORAGETYPEDATA
        STORAGETYPEDATAX     = STORAGETYPEDATAX
      IMPORTING
        RETURN               = RETURN
      TABLES
        MATERIALDESCRIPTION  = MATERIALDESCRIPTION
        UNITSOFMEASURE       = UNITSOFMEASURE
        UNITSOFMEASUREX      = UNITSOFMEASUREX
        MATERIALLONGTEXT     = MATERIALLONGTEXT
        TAXCLASSIFICATIONS   = TAXCLASSIFICATIONS
        PRTDATA              = PRTDATA
        PRTDATAX             = PRTDATAX
        EXTENSIONIN          = EXTENSIONINS
        EXTENSIONINX         = EXTENSIONINX.

* 更新结果
    IF RETURN-TYPE = 'S'.

* commit
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
          WAIT = 'X'.

*      
        ELSE.
          ROLLBACK WORK .
          WA_RESULT-ICON  = ICON_RED_LIGHT.
          CONCATENATE WA_RESULT-MSG '增强数据更新失败;'  INTO WA_RESULT-MSG.
        ENDIF.

      ENDIF.
*********END ADD BY QT_ABAP120180611


** 质量视图
*      IF C_08 = 'X'.
*
** 创建检验类型
*        PERFORM FRM_CRET_QMTAB.
*
*      ENDIF.

* 分类视图
      IF C_02 = 'X'.

* 创建分类
        PERFORM FRM_CRET_CLASS.

      ENDIF.

* 如果都没错则为绿灯
      IF WA_RESULT-ICON IS INITIAL.
        WA_RESULT-ICON = ICON_GREEN_LIGHT.
      ENDIF.

* 记录结果
      APPEND WA_RESULT TO IT_RESULT.

* 如果物料保存函数出错
    ELSE.

      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

      CLEAR WA_RESULT.
      WA_RESULT-ICON  = ICON_RED_LIGHT.
      WA_RESULT-MSG   = RETURN-MESSAGE.
      WA_RESULT-MATNR = WA_DATA-MATERIAL.
      APPEND WA_RESULT TO IT_RESULT.

    ENDIF.

  ENDLOOP.


ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  FRM_FILL_QMTAB
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_CRET_QMTAB .

  DATA: L_MSG(255) TYPE C.

  CLEAR: IT_INSPECTIONCTRL[].

*  IF WA_DATA-INSPTYPE1 <> ''.
*    CLEAR: WA_INSPECTIONCTRL.
*    WA_INSPECTIONCTRL-INSPTYPE = WA_DATA-INSPTYPE1.
*    WA_INSPECTIONCTRL-MATERIAL = WA_DATA-MATERIAL.
*    WA_INSPECTIONCTRL-PLANT    = WA_DATA-PLANT.
*    WA_INSPECTIONCTRL-IND_INSPTYPE_MAT_ACTIVE = 'X'.
*    READ TABLE IT_TQ34 INTO WA_TQ34 WITH KEY ART = WA_DATA-INSPTYPE1 BINARY SEARCH.
*    IF SY-SUBRC = 0.
*      WA_INSPECTIONCTRL-IND_INSP_WITH_TSK_LIST = WA_TQ34-PPL."有任务清单的检验
*      WA_INSPECTIONCTRL-IND_SPEC_MATSPEC = WA_TQ34-SPEZUEBER."使用物料说明的检验
*      WA_INSPECTIONCTRL-IND_SPEC_CONFIG = WA_TQ34-CONF."来自配置的检验规范
*      WA_INSPECTIONCTRL-IND_SPEC_BATCH = WA_TQ34-TLS."批次确定的检验规范
*      WA_INSPECTIONCTRL-IND_AUTO_ASSIGN = WA_TQ34-APP."自动规格分配
*      WA_INSPECTIONCTRL-IND_INSP_BY_CHARAC = WA_TQ34-MER."按特性检验
*      WA_INSPECTIONCTRL-IND_POST_TO_INSP_STOCK = WA_TQ34-INSMK."过帐到检验库存
*      WA_INSPECTIONCTRL-IND_AUTOMATIC_UD = WA_TQ34-AVE."计划的自动用途决定
*      WA_INSPECTIONCTRL-SAMPLING_PROCEDURE = WA_TQ34-STICHPRVER."采样程序
*      WA_INSPECTIONCTRL-DYN_MODIF_RULE = WA_TQ34-DYNREGEL."动态修改规则
*      WA_INSPECTIONCTRL-INSP_PERCENTAGE = WA_TQ34-SPROZ."检验百分比
*      WA_INSPECTIONCTRL-IND_100_PERCENT_INSPECTION = WA_TQ34-HPZ. "100% 检验
*      WA_INSPECTIONCTRL-IND_SKIPS_ALLOWED = WA_TQ34-DYN."允许略过
*      WA_INSPECTIONCTRL-IND_MANUAL_SAMPLE = WA_TQ34-MPB."手工输入采样
*      WA_INSPECTIONCTRL-IND_MANUAL_SAMPLE_CALC = WA_TQ34-MST."手动触发采样计算
*      WA_INSPECTIONCTRL-IND_SINGLE_UNITS_POSSIBLE = WA_TQ34-EIN."可能的序列号管理
*      WA_INSPECTIONCTRL-AVE_INSP_DURATION = WA_TQ34-MPDAU."平均检验期
*      WA_INSPECTIONCTRL-CONTR_INSP_LOT_CREATE = WA_TQ34-CHG."控制检验批创建(批次摘要)
*      WA_INSPECTIONCTRL-QUAL_SCORE_PROCEDURE = WA_TQ34-QKZVERF."计算质量记分的程序
*      WA_INSPECTIONCTRL-ALLOWED_SCRAP_SHARE = WA_TQ34-QPMAT."检验批中允许的废品份额(百分比)
*      WA_INSPECTIONCTRL-IND_HU_INSPECTION = WA_TQ34-APA."处理单位的检验
*      WA_INSPECTIONCTRL-MS_FLAG = WA_TQ34-MS_FLAG."标识:多个规范
*    ENDIF.
*    APPEND WA_INSPECTIONCTRL TO IT_INSPECTIONCTRL.
*  ENDIF.

*  IF WA_DATA-INSPTYPE2 <> ''.
*    CLEAR: WA_INSPECTIONCTRL.
*    WA_INSPECTIONCTRL-INSPTYPE = WA_DATA-INSPTYPE2.
*    WA_INSPECTIONCTRL-MATERIAL = WA_DATA-MATERIAL.
*    WA_INSPECTIONCTRL-PLANT    = WA_DATA-PLANT.
*    WA_INSPECTIONCTRL-IND_INSPTYPE_MAT_ACTIVE = 'X'.
*    READ TABLE IT_TQ34 INTO WA_TQ34 WITH KEY ART = WA_DATA-INSPTYPE2 BINARY SEARCH.
*    IF SY-SUBRC = 0.
*      WA_INSPECTIONCTRL-IND_INSP_WITH_TSK_LIST = WA_TQ34-PPL."有任务清单的检验
*      WA_INSPECTIONCTRL-IND_SPEC_MATSPEC = WA_TQ34-SPEZUEBER."使用物料说明的检验
*      WA_INSPECTIONCTRL-IND_SPEC_CONFIG = WA_TQ34-CONF."来自配置的检验规范
*      WA_INSPECTIONCTRL-IND_SPEC_BATCH = WA_TQ34-TLS."批次确定的检验规范
*      WA_INSPECTIONCTRL-IND_AUTO_ASSIGN = WA_TQ34-APP."自动规格分配
*      WA_INSPECTIONCTRL-IND_INSP_BY_CHARAC = WA_TQ34-MER."按特性检验
*      WA_INSPECTIONCTRL-IND_POST_TO_INSP_STOCK = WA_TQ34-INSMK."过帐到检验库存
*      WA_INSPECTIONCTRL-IND_AUTOMATIC_UD = WA_TQ34-AVE."计划的自动用途决定
*      WA_INSPECTIONCTRL-SAMPLING_PROCEDURE = WA_TQ34-STICHPRVER."采样程序
*      WA_INSPECTIONCTRL-DYN_MODIF_RULE = WA_TQ34-DYNREGEL."动态修改规则
*      WA_INSPECTIONCTRL-INSP_PERCENTAGE = WA_TQ34-SPROZ."检验百分比
*      WA_INSPECTIONCTRL-IND_100_PERCENT_INSPECTION = WA_TQ34-HPZ. "100% 检验
*      WA_INSPECTIONCTRL-IND_SKIPS_ALLOWED = WA_TQ34-DYN."允许略过
*      WA_INSPECTIONCTRL-IND_MANUAL_SAMPLE = WA_TQ34-MPB."手工输入采样
*      WA_INSPECTIONCTRL-IND_MANUAL_SAMPLE_CALC = WA_TQ34-MST."手动触发采样计算
*      WA_INSPECTIONCTRL-IND_SINGLE_UNITS_POSSIBLE = WA_TQ34-EIN."可能的序列号管理
*      WA_INSPECTIONCTRL-AVE_INSP_DURATION = WA_TQ34-MPDAU."平均检验期
*      WA_INSPECTIONCTRL-CONTR_INSP_LOT_CREATE = WA_TQ34-CHG."控制检验批创建(批次摘要)
*      WA_INSPECTIONCTRL-QUAL_SCORE_PROCEDURE = WA_TQ34-QKZVERF."计算质量记分的程序
*      WA_INSPECTIONCTRL-ALLOWED_SCRAP_SHARE = WA_TQ34-QPMAT."检验批中允许的废品份额(百分比)
*      WA_INSPECTIONCTRL-IND_HU_INSPECTION = WA_TQ34-APA."处理单位的检验
*      WA_INSPECTIONCTRL-MS_FLAG = WA_TQ34-MS_FLAG."标识:多个规范
*    ENDIF.
*    APPEND WA_INSPECTIONCTRL TO IT_INSPECTIONCTRL.
*  ENDIF.

*  IF WA_DATA-INSPTYPE3 <> ''.
*    CLEAR: WA_INSPECTIONCTRL.
*    WA_INSPECTIONCTRL-INSPTYPE = WA_DATA-INSPTYPE3.
*    WA_INSPECTIONCTRL-MATERIAL = WA_DATA-MATERIAL.
*    WA_INSPECTIONCTRL-PLANT    = WA_DATA-PLANT.
*    WA_INSPECTIONCTRL-IND_INSPTYPE_MAT_ACTIVE = 'X'.
*    READ TABLE IT_TQ34 INTO WA_TQ34 WITH KEY ART = WA_DATA-INSPTYPE3 BINARY SEARCH.
*    IF SY-SUBRC = 0.
*      WA_INSPECTIONCTRL-IND_INSP_WITH_TSK_LIST = WA_TQ34-PPL."有任务清单的检验
*      WA_INSPECTIONCTRL-IND_SPEC_MATSPEC = WA_TQ34-SPEZUEBER."使用物料说明的检验
*      WA_INSPECTIONCTRL-IND_SPEC_CONFIG = WA_TQ34-CONF."来自配置的检验规范
*      WA_INSPECTIONCTRL-IND_SPEC_BATCH = WA_TQ34-TLS."批次确定的检验规范
*      WA_INSPECTIONCTRL-IND_AUTO_ASSIGN = WA_TQ34-APP."自动规格分配
*      WA_INSPECTIONCTRL-IND_INSP_BY_CHARAC = WA_TQ34-MER."按特性检验
*      WA_INSPECTIONCTRL-IND_POST_TO_INSP_STOCK = WA_TQ34-INSMK."过帐到检验库存
*      WA_INSPECTIONCTRL-IND_AUTOMATIC_UD = WA_TQ34-AVE."计划的自动用途决定
*      WA_INSPECTIONCTRL-SAMPLING_PROCEDURE = WA_TQ34-STICHPRVER."采样程序
*      WA_INSPECTIONCTRL-DYN_MODIF_RULE = WA_TQ34-DYNREGEL."动态修改规则
*      WA_INSPECTIONCTRL-INSP_PERCENTAGE = WA_TQ34-SPROZ."检验百分比
*      WA_INSPECTIONCTRL-IND_100_PERCENT_INSPECTION = WA_TQ34-HPZ. "100% 检验
*      WA_INSPECTIONCTRL-IND_SKIPS_ALLOWED = WA_TQ34-DYN."允许略过
*      WA_INSPECTIONCTRL-IND_MANUAL_SAMPLE = WA_TQ34-MPB."手工输入采样
*      WA_INSPECTIONCTRL-IND_MANUAL_SAMPLE_CALC = WA_TQ34-MST."手动触发采样计算
*      WA_INSPECTIONCTRL-IND_SINGLE_UNITS_POSSIBLE = WA_TQ34-EIN."可能的序列号管理
*      WA_INSPECTIONCTRL-AVE_INSP_DURATION = WA_TQ34-MPDAU."平均检验期
*      WA_INSPECTIONCTRL-CONTR_INSP_LOT_CREATE = WA_TQ34-CHG."控制检验批创建(批次摘要)
*      WA_INSPECTIONCTRL-QUAL_SCORE_PROCEDURE = WA_TQ34-QKZVERF."计算质量记分的程序
*      WA_INSPECTIONCTRL-ALLOWED_SCRAP_SHARE = WA_TQ34-QPMAT."检验批中允许的废品份额(百分比)
*      WA_INSPECTIONCTRL-IND_HU_INSPECTION = WA_TQ34-APA."处理单位的检验
*      WA_INSPECTIONCTRL-MS_FLAG = WA_TQ34-MS_FLAG."标识:多个规范
*    ENDIF.
*    APPEND WA_INSPECTIONCTRL TO IT_INSPECTIONCTRL.
*  ENDIF.

*  IF WA_DATA-INSPTYPE4 <> ''.
*    CLEAR: WA_INSPECTIONCTRL.
*    WA_INSPECTIONCTRL-INSPTYPE = WA_DATA-INSPTYPE4.
*    WA_INSPECTIONCTRL-MATERIAL = WA_DATA-MATERIAL.
*    WA_INSPECTIONCTRL-PLANT    = WA_DATA-PLANT.
*    WA_INSPECTIONCTRL-IND_INSPTYPE_MAT_ACTIVE = 'X'.
*    READ TABLE IT_TQ34 INTO WA_TQ34 WITH KEY ART = WA_DATA-INSPTYPE4 BINARY SEARCH.
*    IF SY-SUBRC = 0.
*      WA_INSPECTIONCTRL-IND_INSP_WITH_TSK_LIST = WA_TQ34-PPL."有任务清单的检验
*      WA_INSPECTIONCTRL-IND_SPEC_MATSPEC = WA_TQ34-SPEZUEBER."使用物料说明的检验
*      WA_INSPECTIONCTRL-IND_SPEC_CONFIG = WA_TQ34-CONF."来自配置的检验规范
*      WA_INSPECTIONCTRL-IND_SPEC_BATCH = WA_TQ34-TLS."批次确定的检验规范
*      WA_INSPECTIONCTRL-IND_AUTO_ASSIGN = WA_TQ34-APP."自动规格分配
*      WA_INSPECTIONCTRL-IND_INSP_BY_CHARAC = WA_TQ34-MER."按特性检验
*      WA_INSPECTIONCTRL-IND_POST_TO_INSP_STOCK = WA_TQ34-INSMK."过帐到检验库存
*      WA_INSPECTIONCTRL-IND_AUTOMATIC_UD = WA_TQ34-AVE."计划的自动用途决定
*      WA_INSPECTIONCTRL-SAMPLING_PROCEDURE = WA_TQ34-STICHPRVER."采样程序
*      WA_INSPECTIONCTRL-DYN_MODIF_RULE = WA_TQ34-DYNREGEL."动态修改规则
*      WA_INSPECTIONCTRL-INSP_PERCENTAGE = WA_TQ34-SPROZ."检验百分比
*      WA_INSPECTIONCTRL-IND_100_PERCENT_INSPECTION = WA_TQ34-HPZ. "100% 检验
*      WA_INSPECTIONCTRL-IND_SKIPS_ALLOWED = WA_TQ34-DYN."允许略过
*      WA_INSPECTIONCTRL-IND_MANUAL_SAMPLE = WA_TQ34-MPB."手工输入采样
*      WA_INSPECTIONCTRL-IND_MANUAL_SAMPLE_CALC = WA_TQ34-MST."手动触发采样计算
*      WA_INSPECTIONCTRL-IND_SINGLE_UNITS_POSSIBLE = WA_TQ34-EIN."可能的序列号管理
*      WA_INSPECTIONCTRL-AVE_INSP_DURATION = WA_TQ34-MPDAU."平均检验期
*      WA_INSPECTIONCTRL-CONTR_INSP_LOT_CREATE = WA_TQ34-CHG."控制检验批创建(批次摘要)
*      WA_INSPECTIONCTRL-QUAL_SCORE_PROCEDURE = WA_TQ34-QKZVERF."计算质量记分的程序
*      WA_INSPECTIONCTRL-ALLOWED_SCRAP_SHARE = WA_TQ34-QPMAT."检验批中允许的废品份额(百分比)
*      WA_INSPECTIONCTRL-IND_HU_INSPECTION = WA_TQ34-APA."处理单位的检验
*      WA_INSPECTIONCTRL-MS_FLAG = WA_TQ34-MS_FLAG."标识:多个规范
*    ENDIF.
*    APPEND WA_INSPECTIONCTRL TO IT_INSPECTIONCTRL.
*  ENDIF.
*
*  IF WA_DATA-INSPTYPE5 <> ''.
*    CLEAR: WA_INSPECTIONCTRL.
*    WA_INSPECTIONCTRL-INSPTYPE = WA_DATA-INSPTYPE5.
*    WA_INSPECTIONCTRL-MATERIAL = WA_DATA-MATERIAL.
*    WA_INSPECTIONCTRL-PLANT    = WA_DATA-PLANT.
*    WA_INSPECTIONCTRL-IND_INSPTYPE_MAT_ACTIVE = 'X'.
*    READ TABLE IT_TQ34 INTO WA_TQ34 WITH KEY ART = WA_DATA-INSPTYPE5 BINARY SEARCH.
*    IF SY-SUBRC = 0.
*      WA_INSPECTIONCTRL-IND_INSP_WITH_TSK_LIST = WA_TQ34-PPL."有任务清单的检验
*      WA_INSPECTIONCTRL-IND_SPEC_MATSPEC = WA_TQ34-SPEZUEBER."使用物料说明的检验
*      WA_INSPECTIONCTRL-IND_SPEC_CONFIG = WA_TQ34-CONF."来自配置的检验规范
*      WA_INSPECTIONCTRL-IND_SPEC_BATCH = WA_TQ34-TLS."批次确定的检验规范
*      WA_INSPECTIONCTRL-IND_AUTO_ASSIGN = WA_TQ34-APP."自动规格分配
*      WA_INSPECTIONCTRL-IND_INSP_BY_CHARAC = WA_TQ34-MER."按特性检验
*      WA_INSPECTIONCTRL-IND_POST_TO_INSP_STOCK = WA_TQ34-INSMK."过帐到检验库存
*      WA_INSPECTIONCTRL-IND_AUTOMATIC_UD = WA_TQ34-AVE."计划的自动用途决定
*      WA_INSPECTIONCTRL-SAMPLING_PROCEDURE = WA_TQ34-STICHPRVER."采样程序
*      WA_INSPECTIONCTRL-DYN_MODIF_RULE = WA_TQ34-DYNREGEL."动态修改规则
*      WA_INSPECTIONCTRL-INSP_PERCENTAGE = WA_TQ34-SPROZ."检验百分比
*      WA_INSPECTIONCTRL-IND_100_PERCENT_INSPECTION = WA_TQ34-HPZ. "100% 检验
*      WA_INSPECTIONCTRL-IND_SKIPS_ALLOWED = WA_TQ34-DYN."允许略过
*      WA_INSPECTIONCTRL-IND_MANUAL_SAMPLE = WA_TQ34-MPB."手工输入采样
*      WA_INSPECTIONCTRL-IND_MANUAL_SAMPLE_CALC = WA_TQ34-MST."手动触发采样计算
*      WA_INSPECTIONCTRL-IND_SINGLE_UNITS_POSSIBLE = WA_TQ34-EIN."可能的序列号管理
*      WA_INSPECTIONCTRL-AVE_INSP_DURATION = WA_TQ34-MPDAU."平均检验期
*      WA_INSPECTIONCTRL-CONTR_INSP_LOT_CREATE = WA_TQ34-CHG."控制检验批创建(批次摘要)
*      WA_INSPECTIONCTRL-QUAL_SCORE_PROCEDURE = WA_TQ34-QKZVERF."计算质量记分的程序
*      WA_INSPECTIONCTRL-ALLOWED_SCRAP_SHARE = WA_TQ34-QPMAT."检验批中允许的废品份额(百分比)
*      WA_INSPECTIONCTRL-IND_HU_INSPECTION = WA_TQ34-APA."处理单位的检验
*      WA_INSPECTIONCTRL-MS_FLAG = WA_TQ34-MS_FLAG."标识:多个规范
*    ENDIF.
*    APPEND WA_INSPECTIONCTRL TO IT_INSPECTIONCTRL.
*  ENDIF.

* Replication of QM inspection setup
  CLEAR: IT_RETURN[].
  CALL FUNCTION 'BAPI_MATINSPCTRL_SAVEREPLICA'
    TABLES
      RETURN         = IT_RETURN
      INSPECTIONCTRL = IT_INSPECTIONCTRL.

* 执行结果
  CLEAR: L_MSG.
  LOOP AT IT_RETURN WHERE TYPE = 'E' OR TYPE = 'A'.
    CONCATENATE L_MSG IT_RETURN-MESSAGE INTO L_MSG.
  ENDLOOP.
  IF SY-SUBRC = 0.
    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
    CONCATENATE WA_RESULT-MSG '质量管理视图出错:'  L_MSG INTO WA_RESULT-MSG.
    WA_RESULT-ICON  = ICON_YELLOW_LIGHT.
  ELSE.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT = 'X'.
  ENDIF.

ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  FRM_CRET_CLASS
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_CRET_CLASS .

  DATA: L_MSG(255) TYPE C.

  DATA: L_OBJECTKEYNEW   TYPE BAPI1003_KEY-OBJECT,
        L_OBJECTTABLENEW TYPE BAPI1003_KEY-OBJECTTABLE,
        L_CLASSNUMNEW    TYPE BAPI1003_KEY-CLASSNUM,
        L_CLASSTYPENEW   TYPE BAPI1003_KEY-CLASSTYPE.

  DATA: LT_NUM  TYPE TABLE OF BAPI1003_ALLOC_VALUES_NUM,
        LT_CHAR TYPE TABLE OF BAPI1003_ALLOC_VALUES_CHAR,
        LT_CURR TYPE TABLE OF BAPI1003_ALLOC_VALUES_CURR.

  CLEAR: L_OBJECTKEYNEW, L_OBJECTTABLENEW, L_CLASSNUMNEW, L_CLASSTYPENEW.
  CLEAR: IT_VALUECHAR[].

* 分类1
  IF WA_DATA-CLASS1 IS NOT INITIAL AND WA_DATA-CLASS_TYPE1 IS NOT INITIAL.

    L_OBJECTKEYNEW   = WA_DATA-MATERIAL.
    L_OBJECTTABLENEW = 'MARA'.
    L_CLASSNUMNEW    = WA_DATA-CLASS1.
    L_CLASSTYPENEW   = WA_DATA-CLASS_TYPE1.

*    CLEAR: IT_VALUECHAR.
*    IT_VALUECHAR-CHARACT    = 'ANGEL_TYP'.
*    IT_VALUECHAR-VALUE_CHAR = WA_DATA-ATWRT1.
*    APPEND IT_VALUECHAR.
*
*    CLEAR: IT_VALUECHAR.
*    IT_VALUECHAR-CHARACT    = 'ANGEL_SALESORG'.
*    IT_VALUECHAR-VALUE_CHAR = WA_DATA-ATWRT2.
*    APPEND IT_VALUECHAR.
*
*    CLEAR: IT_VALUECHAR.
*    IT_VALUECHAR-CHARACT    = 'ANGEL_SORT1_BIO'.
*    IT_VALUECHAR-VALUE_CHAR = WA_DATA-ATWRT3.
*    APPEND IT_VALUECHAR.
*
*    CLEAR: IT_VALUECHAR.
*    IT_VALUECHAR-CHARACT    = 'ANGEL_SORT5'.
*    IT_VALUECHAR-VALUE_CHAR = WA_DATA-ATWRT4.
*    APPEND IT_VALUECHAR.
*
*    CLEAR: IT_VALUECHAR.
*    IT_VALUECHAR-CHARACT    = 'ANGEL_SORT6'.
*    IT_VALUECHAR-VALUE_CHAR = WA_DATA-ATWRT5.
*    APPEND IT_VALUECHAR.
*
*    CLEAR: IT_VALUECHAR.
*    IT_VALUECHAR-CHARACT    = 'ANGEL_SORT8'.
*    IT_VALUECHAR-VALUE_CHAR = WA_DATA-ATWRT6.
*    APPEND IT_VALUECHAR.
*
*    CLEAR: IT_VALUECHAR.
*    IT_VALUECHAR-CHARACT    = 'ANGEL_SORT9'.
*    IT_VALUECHAR-VALUE_CHAR = WA_DATA-ATWRT7.
*    APPEND IT_VALUECHAR.
*
*    CLEAR: IT_VALUECHAR.
*    IT_VALUECHAR-CHARACT    = 'ANGEL_SORT10'.
*    IT_VALUECHAR-VALUE_CHAR = WA_DATA-ATWRT8.
*    APPEND IT_VALUECHAR.
*
*    CLEAR: IT_VALUECHAR.
*    IT_VALUECHAR-CHARACT    = 'ANGEL_SORT12'.
*    IT_VALUECHAR-VALUE_CHAR = WA_DATA-ATWRT9.
*    APPEND IT_VALUECHAR.
*
*    CLEAR: IT_VALUECHAR.
*    IT_VALUECHAR-CHARACT    = 'ANGEL_SORT13'.
*    IT_VALUECHAR-VALUE_CHAR = WA_DATA-ATWRT10.
*    APPEND IT_VALUECHAR.

    CLEAR: IT_RETURN[].
    CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
      EXPORTING
        OBJECTKEY       = L_OBJECTKEYNEW
        OBJECTTABLE     = L_OBJECTTABLENEW
        CLASSNUM        = L_CLASSNUMNEW
        CLASSTYPE       = L_CLASSTYPENEW
      TABLES
        ALLOCVALUESNUM  = LT_NUM
        ALLOCVALUESCHAR = LT_CHAR
        ALLOCVALUESCURR = LT_CURR
        RETURN          = IT_RETURN.

    READ TABLE IT_RETURN WITH KEY TYPE = 'S'.
    IF SY-SUBRC <> 0.
      CLEAR: IT_RETURN[].
      CALL FUNCTION 'BAPI_OBJCL_CREATE'
        EXPORTING
          OBJECTKEYNEW    = L_OBJECTKEYNEW
          OBJECTTABLENEW  = L_OBJECTTABLENEW
          CLASSNUMNEW     = L_CLASSNUMNEW
          CLASSTYPENEW    = L_CLASSTYPENEW
          STANDARDCLASS   = 'X'
        TABLES
          ALLOCVALUESCHAR = IT_VALUECHAR
          RETURN          = IT_RETURN.
    ELSE.
      CLEAR: IT_RETURN[].
      CALL FUNCTION 'BAPI_OBJCL_CHANGE'
        EXPORTING
          OBJECTKEY          = L_OBJECTKEYNEW
          OBJECTTABLE        = L_OBJECTTABLENEW
          CLASSNUM           = L_CLASSNUMNEW
          CLASSTYPE          = L_CLASSTYPENEW
        TABLES
          ALLOCVALUESNUMNEW  = LT_NUM
          ALLOCVALUESCHARNEW = IT_VALUECHAR
          ALLOCVALUESCURRNEW = LT_CURR
          RETURN             = IT_RETURN.
    ENDIF.

    CLEAR: L_MSG.
    LOOP AT IT_RETURN WHERE TYPE = 'E' OR TYPE = 'A'.
      CONCATENATE L_MSG IT_RETURN-MESSAGE INTO L_MSG.
    ENDLOOP.
    IF SY-SUBRC = 0.
      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
      CONCATENATE WA_RESULT-MSG '分类视图1出错:' L_MSG INTO WA_RESULT-MSG.
      WA_RESULT-ICON  = ICON_YELLOW_LIGHT.
    ELSE.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
          WAIT = 'X'.
    ENDIF.
  ENDIF.

** 分类2
*  IF WA_DATA-CLASS2 IS NOT INITIAL AND WA_DATA-CLASS_TYPE2 IS NOT INITIAL.
*
*    CLEAR: L_OBJECTKEYNEW, L_OBJECTTABLENEW, L_CLASSNUMNEW, L_CLASSTYPENEW.
*
*    L_OBJECTKEYNEW   = WA_DATA-MATERIAL.
*    L_OBJECTTABLENEW = 'MARA'.
*    L_CLASSNUMNEW    = WA_DATA-CLASS2.
*    L_CLASSTYPENEW   = WA_DATA-CLASS_TYPE2.
*
*    CLEAR: IT_RETURN[].
*    CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
*      EXPORTING
*        OBJECTKEY       = L_OBJECTKEYNEW
*        OBJECTTABLE     = L_OBJECTTABLENEW
*        CLASSNUM        = L_CLASSNUMNEW
*        CLASSTYPE       = L_CLASSTYPENEW
*      TABLES
*        ALLOCVALUESNUM  = LT_NUM
*        ALLOCVALUESCHAR = LT_CHAR
*        ALLOCVALUESCURR = LT_CURR
*        RETURN          = IT_RETURN.
*
*    READ TABLE IT_RETURN WITH KEY TYPE = 'S'.
*    IF SY-SUBRC <> 0.
*      CLEAR: IT_RETURN[].
*      CALL FUNCTION 'BAPI_OBJCL_CREATE'
*        EXPORTING
*          OBJECTKEYNEW   = L_OBJECTKEYNEW
*          OBJECTTABLENEW = L_OBJECTTABLENEW
*          CLASSNUMNEW    = L_CLASSNUMNEW
*          CLASSTYPENEW   = L_CLASSTYPENEW
*          STANDARDCLASS  = 'X'
*        TABLES
*          RETURN         = IT_RETURN.
*
*      CLEAR: L_MSG.
*      LOOP AT IT_RETURN WHERE TYPE = 'E' OR TYPE = 'A'.
*        CONCATENATE L_MSG IT_RETURN-MESSAGE INTO L_MSG.
*      ENDLOOP.
*      IF SY-SUBRC = 0.
*        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
*        CONCATENATE WA_RESULT-MSG '分类视图2出错:' L_MSG INTO WA_RESULT-MSG.
*        WA_RESULT-ICON  = ICON_YELLOW_LIGHT.
*      ELSE.
*        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
*          EXPORTING
*            WAIT = 'X'.
*      ENDIF.
*    ENDIF.
*
*  ENDIF.

ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  FRM_CONVERT_COUNT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      <--P_WA_DATA_BASE_UOM  text
*----------------------------------------------------------------------*
FORM FRM_CONVERT_COUNT  CHANGING P_MEINS.

  CHECK P_MEINS IS NOT INITIAL.

  CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'
    EXPORTING
      INPUT          = P_MEINS
    IMPORTING
      OUTPUT         = P_MEINS
    EXCEPTIONS
      UNIT_NOT_FOUND = 1
      OTHERS         = 2.
  IF SY-SUBRC <> 0.
  ENDIF.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form CALL_BDC
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM CALL_BDC USING P_MAT TYPE CHAR18
               CHANGING LS_RESYLT TYPE TY_RESULT.

  DATA: L_MSTRING(480).
  DATA: L_SUBRC LIKE SY-SUBRC.
  DATA: LX_AUTH_CHECK TYPE REF TO CX_ROOT.
  DATA: L_AUTH_CHECK_TEXT TYPE STRING.

  PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '0060'.
  PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                'RMMG1-MATNR'.
  PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                '=ENTR'.
  PERFORM BDC_FIELD       USING 'RMMG1-MATNR'
                                P_MAT.
  PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '0070'.
  PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                'MSICHTAUSW-DYTXT(02)'.
  PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                '=ENTR'.
  PERFORM BDC_FIELD       USING 'MSICHTAUSW-KZSEL(02)'
                                'X'.
  PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '4004'.
  PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                '=BU'.
  PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                'MARA-KZKFG'.
  PERFORM BDC_FIELD       USING 'MARA-KZKFG'
                                ''.

  TRY.
      CALL TRANSACTION 'MM02' WITH AUTHORITY-CHECK USING LT_BDCDATA
                       MODE   'N'  "后台模式
                       UPDATE 'L'
                       MESSAGES INTO LT_MESSTAB.
    CATCH CX_SY_AUTHORIZATION_ERROR INTO LX_AUTH_CHECK.
*     Authorization missing for user when executing transaction
      L_AUTH_CHECK_TEXT = LX_AUTH_CHECK->GET_TEXT( ).
      SY-SUBRC = 99.
  ENDTRY.

  L_SUBRC = SY-SUBRC.
  IF L_SUBRC NE 0.

    LS_RESYLT-ICON  = ICON_RED_LIGHT.


    CONCATENATE '可配置物料刷新失败请检查相关物料' '' INTO LS_RESYLT-MSG.

  ENDIF.

*    LOOP AT LT_MESSTAB.
*      MESSAGE ID     LT_MESSTAB-MSGID
*              TYPE   LT_MESSTAB-MSGTYP
*              NUMBER LT_MESSTAB-MSGNR
*              INTO
*                   LS_RESYLT-MSG
*              WITH LT_MESSTAB-MSGV1
*                   LT_MESSTAB-MSGV2
*                   LT_MESSTAB-MSGV3
*                   LT_MESSTAB-MSGV4.
*
*    ENDLOOP.

  REFRESH LT_BDCDATA.


ENDFORM.

*----------------------------------------------------------------------*
*        Start new screen                                              *
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
  CLEAR LT_BDCDATA.
  LT_BDCDATA-PROGRAM  = PROGRAM.
  LT_BDCDATA-DYNPRO   = DYNPRO.
  LT_BDCDATA-DYNBEGIN = 'X'.
  APPEND LT_BDCDATA.
ENDFORM.

*----------------------------------------------------------------------*
*        Insert field                                                  *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.

  CLEAR LT_BDCDATA.
  LT_BDCDATA-FNAM = FNAM.
  LT_BDCDATA-FVAL = FVAL.
  APPEND LT_BDCDATA.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form BDC_TRANSACTION
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*&      --> P_
*&---------------------------------------------------------------------*
FORM BDC_TRANSACTION  USING  TCODE.

ENDFORM.











 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值