公众号: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

最低0.47元/天 解锁文章
349

被折叠的 条评论
为什么被折叠?



