matinal:ABAP 工作中心批量创建BAPI

公众号:matinal

PP模块工作中心对应事务码:
CR01:创建工作中心

CR02:修改工作中心

CR03:查看工作中心

批量创建工作中心BAPI如下:

创建:CRAP_WORKCENTER_CREATE

修改:CRAP_WORKCENTER_CHANGE

批量创建DEMO程序如下:

*&---------------------------------------------------------------------*
*& Report ZTEST_008
*&---------------------------------------------------------------------*
*&PP工作中心批量创建DEMO
*&---------------------------------------------------------------------*
REPORT ztest_008.

* 类型池
*----------------------------------------------------------------------*
TYPE-POOLS: slis,icon.
*----------------------------------------------------------------------*
* 数据库表声明
*----------------------------------------------------------------------*
TABLES: sscrfields. "选择屏幕上的字段

*----------------------------------------------------------------------*
* 类型声明
*----------------------------------------------------------------------*
TYPES:BEGIN OF ty_alv,
        arbpl   TYPE crhd-arbpl,  "工作中心
        ktext   TYPE crtx-ktext,  "工作中心描述
        vgwts   TYPE tc21-vgwts,  "标准值码
        kostl   TYPE crco-kostl,  "成本中心
        icon    TYPE icon_d,      "红绿灯
        message TYPE bapi_msg,    "消息
      END OF ty_alv.

*----------------------------------------------------------------------*
* 数据对象声明
*----------------------------------------------------------------------*
DATA: gt_out TYPE TABLE OF ty_alv, "Excel上传的数据
      gs_out TYPE ty_alv.


"选择界面下载按钮参数
DATA: functxt TYPE smp_dyntxt.

*----------------------------------------------------------------------*
* ALV变量
*----------------------------------------------------------------------*
DATA: gs_layout   TYPE lvc_s_layo, " ALV布局
      gt_fieldcat TYPE TABLE OF lvc_s_fcat,
      gs_fieldcat TYPE lvc_s_fcat.

*----------------------------------------------------------------------*
* FIELD-SYMBOLS声明
*----------------------------------------------------------------------*
FIELD-SYMBOLS: <fs_out> TYPE ty_alv.

*&---------------------------------------------------------------------*
*& Selection Screen/选择屏幕
*&---------------------------------------------------------------------*
*&------选择文件
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
PARAMETERS p_path LIKE rlgrap-filename  MEMORY ID m.
SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE TEXT-003.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 1(79) warning1.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 1(75) warning2.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 1(75) warning3.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 1(75) warning4.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN:END OF BLOCK b3.

*&---------------------------------------------------------------------*
*& INITIALIZATION/选择屏幕前初始化
*&---------------------------------------------------------------------*
INITIALIZATION.
  SELECTION-SCREEN: FUNCTION KEY 1.""在屏幕定义功能码

  "选择屏幕下载按钮
  functxt-icon_id   = icon_export.
  functxt-icon_text = '模板下载'.
  sscrfields-functxt_01 = functxt.


  warning1 = '【1】请勿对下载模板的列顺序进行变更!'.
  warning2 = '【2】请使用下载功能下载模版进行后续操作!'.
  warning3 = '【3】请使用日期格式YYYYMMDD ! 例:20220131'.
  warning4 = '【4】空白默认不修改该字段! 如需置空,请填写#'.

*&---------------------------------------------------------------------*
*& at selection-screen/选择屏幕开始
*&---------------------------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path .
  PERFORM frm_f4_filename.

AT SELECTION-SCREEN.
  IF sscrfields-ucomm = 'FC01'.
    DATA: lv_filename TYPE string,
          lv_path     TYPE string,
          lv_fullpath TYPE string.

    PERFORM frm_file_save USING '工作中心批量导入模版.xlsx'
                       CHANGING lv_filename
                                lv_path
                                lv_fullpath.
    IF lv_fullpath IS NOT INITIAL.
      PERFORM frm_download_template USING lv_fullpath .
    ENDIF.
    CLEAR sscrfields-ucomm .
  ENDIF.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN .
    IF screen-name = 'P_PATH'.
      screen-required = '2'. "假必输
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.

*&---------------------------------------------------------------------*
*& Start-of-s
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值