sap C223 生产版本批导

根据业务需求,将EXCEL的生产版本的相关数据通过程序导入到系统。TABLES:SSCRFIELDS.TYPE-POOLS:slis,icon,truxs.TYPES:BEGINOFty_alv,werksTYPEmkal-werks,"工厂matnrTYPEmkal-matnr,"物料编码veridTYPEmkal-verid,"生产版本text1TYPEmkal-text1,"生产版本...
摘要由CSDN通过智能技术生成

根据业务需求,将EXCEL的生产版本的相关数据通过程序导入到系统。

TABLES:SSCRFIELDS.
TYPE-POOLS : slis,icon,truxs .
TYPES:
  BEGIN OF ty_alv,
    werks     TYPE mkal-werks, "工厂
    matnr     TYPE mkal-matnr, "物料编码
    verid     TYPE mkal-verid, "生产版本
    text1     TYPE mkal-text1, "生产版本描述
    adatu     TYPE string, "有效日期从
    bdatu     TYPE string, "有效日期至   都为99991231


*    ADATU TYPE MKAL-ADATU, "有效日期从
*    BDATU TYPE MKAL-BDATU, "有效日期至   都为99991231
    plnty     TYPE mkal-plnty, "任务清单类型   默认都为N
    plnnr     TYPE mkal-plnnr, "工艺路线组
    alnal     TYPE mkal-alnal, "组计数器    默认都为1
    stlal     TYPE mkal-stlal, "可选BOM
    stlan     TYPE mkal-stlan, "BOM用途  默认都为1
    id        TYPE icon-id,
    mess(200) TYPE c,
    box       TYPE c,
  END OF ty_alv.
DATA : gt_alv TYPE TABLE OF ty_alv,
       gs_alv LIKE LINE OF gt_alv.

DATA : gv_id        TYPE icon-id,
       gv_mess(200) TYPE c.

TYPES:
  BEGIN OF ty_upload,
    werks TYPE mkal-werks, "工厂
    matnr TYPE mkal-matnr, "物料编码
    verid TYPE mkal-verid, "生产版本
    text1 TYPE mkal-text1, "生产版本描述

    adatu TYPE string, "有效日期从
    bdatu TYPE string, "有效日期至   都为99991231


*    ADATU TYPE MKAL-ADATU, "有效日期从
*    BDATU TYPE MKAL-BDATU, "有效日期至   都为99991231

    plnty TYPE mkal-plnty, "任务清单类型   默认都为N
    plnnr TYPE mkal-plnnr, "工艺路线组
    alnal TYPE mkal-alnal, "组计数器    默认都为1
    stlal TYPE mkal-stlal, "可选BOM
    stlan TYPE mkal-stlan, "BOM用途  默认都为1
  END OF ty_upload.
DATA : gt_upload TYPE TABLE OF ty_upload,
       gs_upload LIKE LINE OF gt_upload.

FIELD-SYMBOLS : <fs_alv> TYPE ty_alv.

DATA gt_bdcdata TYPE TABLE OF bdcdata WITH HEADER LINE. "BDC执行内表
DATA gt_msgtab TYPE TABLE OF bdcmsgcoll WITH HEADER LINE . "BDC返回信息表

TYPES: BEGIN OF ty_message,
         message(100) TYPE c,
         ztype        TYPE c,
       END OF ty_message.
DATA:gt_mes TYPE TABLE OF ty_message,
     gs_mes TYPE ty_message.




*&---定义ALV显示的字段列及其描述等属性
DATA: gt_fieldcat TYPE TABLE OF lvc_s_fcat,
      gs_fieldcat TYPE lvc_s_fcat,
      gs_layout   TYPE lvc_s_layo,
      g_repid     LIKE sy-repid VALUE sy-repid.
DATA:FUNCTXT   TYPE SMP_DYNTXT.

*--进度条--------------------------------------------------------------------*
"进度条标志
DATA:GV_FLAG TYPE C.
"进度条变量
DATA:GV_INDEX TYPE SY-TABIX.
"上传模板条目数
DATA:GV_LINES TYPE I.

*----------定义选择屏幕参数 ------------------------------------------------*
SELECTION-SCREEN FUNCTION KEY 1.
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE TEXT-001.
PARAMETERS:
  p_path  LIKE rlgrap-filename,        "文件路径
  p_mode  TYPE c DEFAULT 'N'.
SELECTION-SCREEN END OF BLOCK blk1.

*-------初始化-------------------------------------------------------------*
INITIALIZATION.
  FUNCTXT-ICON_ID   = ICON_EXPORT.
  FUNCTXT-QUICKINFO = '下载模板'.
  FUNCTXT-ICON_TEXT = '下载模板'.
  SSCRFIELDS-FUNCTXT_01 = FUNCTXT.

*----选择屏幕事件----------------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.    "为P_PATH创建搜索帮助
  PERFORM frm_browser_file.         "选择屏幕获取本地EXCEL

AT SELECTION-SCREEN.
  CASE SSCRFIELDS-UCOMM.
    WHEN 'FC01'."系统预留的功能码
      PERFORM frm_down_excel."下载模板文件
    WHEN OTHERS.
  ENDCASE.

*----选择事件开始----------------------------------------------------------*
START-OF-SELECTION.
  IF p_path IS INITIAL.
    MESSAGE '请输入文件路径!' TYPE 'S' DISPLAY LIKE 'E'.
    LEAVE LIST-PROCESSING.
  ENDIF.
    PERFORM frm_up_excel.       "上传Excel数据
    PERFORM frm_chk_data.       "检查数据
    PERFORM frm_layout.
    PERFORM frm_fieldcat.
    PERFORM frm_display.
*----选择事件结束----------------------------------------------------------*
END-OF-SELECTION.



*&---------------------------------------------------------------------*
*& Form FRM_BROWSER_FILE
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_browser_file .

  CALL FUNCTION 'TB_LIMIT_WS_FILENAME_GET'
    EXPORTING
*     DEF_FILENAME     = ' '
*     DEF_PATH         = ' '
      mask             = 'Excel Files,*.xls,All Files,*.*. '
      mode             = 'O'
*     TITLE            = ' '
    IMPORTING
      filename         = p_path
*     PATH             =
*     FILE             =
    EXCEPTIONS
      selection_cancel = 1
      selection_error  = 2
      OTHERS           = 3.
  CASE sy-subrc.
    WHEN 0.
    WHEN 2.
      MESSAGE 'Cancel.' TYPE 'S'.
    WHEN OTHERS.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
      WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDCASE.








ENDFORM.
*&---------------------------------------------------------------------*

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值