上传下载模板

REPORT Z1.REPORT zsbxc_fi_0014.TABLES:sscrfields.*&---------------------------------------------------------------------*
*&   定义结构、内表、工作区
*&---------------------------------------------------------------------*
TYPES:BEGIN OF ty_upload,box        TYPE C, "选择框light      TYPE char4, "状态灯mesg       TYPE char200,
END OF ty_upload.TYPES:BEGIN OF ty_alv,box        TYPE C, "选择框light      TYPE char4, "状态灯mesg       TYPE char200,
END OF ty_alv.DATA:gt_fieldcat TYPE lvc_t_fcat,gs_fieldcat TYPE lvc_s_fcat,gs_layout   TYPE lvc_s_layo.DATA:gt_excel TYPE alsmex_tabline OCCURS 0 WITH HEADER LINE,gs_excel TYPE alsmex_tabline.DATA:gt_upload TYPE STANDARD TABLE OF ty_upload WITH HEADER LINE,gs_upload TYPE ty_upload.DATA:gt_alv TYPE TABLE OF ty_alv,gs_alv TYPE ty_alv.*&---------------------------------------------------------------------*
*&      按钮
*&---------------------------------------------------------------------*
DATA:functxt TYPE smp_dyntxt.
DATA:p_down  TYPE rlgrap-filename.*&---------------------------------------------------------------------*
*&      屏幕
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK bk1 WITH FRAME TITLE TEXT-001.PARAMETERS:p_file LIKE rlgrap-filename MODIF ID m1. "文件
SELECTION-SCREEN END OF BLOCK bk1.SELECTION-SCREEN: FUNCTION KEY 1.*&---------------------------------------------------------------------*
*&      初始化
*&---------------------------------------------------------------------*
INITIALIZATION.
MOVE '@49@模板下载' TO sscrfields-functxt_01.AT SELECTION-SCREEN OUTPUT.AT SELECTION-SCREEN.
CASE sscrfields-ucomm.
WHEN 'FC01'.PERFORM frm_get_filepath.PERFORM frm_file_down.  "下载模板
WHEN OTHERS....
ENDCASE.AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
PERFORM frm_bro_form. "选择文件START-OF-SELECTION.PERFORM frm_upload_data."解析上传的EXCEL文件
PERFORM frm_deal_data."处理导入的数据
PERFORM frm_alv_display.*&---------------------------------------------------------------------*
*&      Form  frm_get_filepath
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_get_filepath .DATA: it_file TYPE filetable,wa_file TYPE file_table,p_type  TYPE C VALUE 'A'.DATA:l_rc        TYPE I,l_extension TYPE string,l_default   TYPE string,l_filter    TYPE string,l_filename  TYPE string,l_path      TYPE string,l_fullpath  TYPE string,l_action    TYPE I.CLEAR:p_down.l_filter = 'Excel Files (*.xls)|*.xls|'.l_extension = '*.xls,*.*'.  "CALL METHOD cl_gui_frontend_services=>file_save_dialogEXPORTINGwindow_title         = '选择文件'default_extension    = l_extensiondefault_file_name    = '统计指标批量录入模板'file_filter          = l_filterinitial_directory    = 'D:\'CHANGINGfilename             = l_filenamepath                 = l_pathfullpath             = l_fullpathuser_action          = l_actionEXCEPTIONScntl_error           = 1error_no_gui         = 2not_supported_by_gui = 3OTHERS               = 4.IF sy-subrc = 0.p_down = l_fullpath.ENDIF.IF l_action <> 0.STOP.ENDIF.ENDFORM.                    " frm_get_filepath
*&---------------------------------------------------------------------*
*&      Form  frm_file_down
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_file_down .DATA: lv_objdata     LIKE wwwdatatab,lv_mime        LIKE w3mime,lv_destination LIKE rlgrap-filename,lv_objnam      TYPE string,lv_rc          LIKE sy-subrc,lv_errtxt      TYPE string.DATA: lv_filename TYPE string,lv_result,lv_subrc    TYPE sy-subrc.DATA: lv_objid TYPE wwwdatatab-objid .lv_objid = 'ZTJZB'.  "上传的模版名称*&---查找文件是否存在。SELECT SINGLE relid objidFROM wwwdataINTO CORRESPONDING FIELDS OF lv_objdataWHERE srtf2    = 0AND   relid    = 'MI'AND   objid    = lv_objid.*&---判断模版不存在则报错IF sy-subrc NE 0 OR lv_objdata-objid EQ space.CONCATENATE '模板文件:' lv_objid '不存在,请用TCODE:SMW0进行加载' INTO lv_errtxt.MESSAGE lv_errtxt TYPE 'E'.ENDIF.lv_destination = p_down.CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'EXPORTINGKEY         = lv_objdatadestination = lv_destinationIMPORTINGrc          = lv_rc.IF lv_rc NE 0.MESSAGE '模板文件下载失败' TYPE 'E'.ENDIF.ENDFORM.                    " frm_file_down
*&---------------------------------------------------------------------*
*&      Form  FRM_BRO_FORM
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_bro_form .CALL FUNCTION 'WS_FILENAME_GET'EXPORTINGMASK             = ',Excel Files,*.XLS,All Files,*.*.'TITLE            = '选择上传文件'IMPORTINGfilename         = p_fileEXCEPTIONSinv_winsys       = 1no_batch         = 2selection_cancel = 3selection_error  = 4OTHERS           = 5.IF sy-subrc <> 0 AND sy-subrc <> 3.MESSAGE '选择文件出错!' TYPE 'E'.ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  frm_upload_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_upload_data .DATA: begin_row TYPE I VALUE '2',begin_col TYPE I VALUE '1',end_row   TYPE I VALUE '9999',end_col   TYPE I VALUE '8'.DATA: g_row TYPE I.CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'EXPORTINGfilename    = p_filei_begin_col = begin_col    "列i_begin_row = begin_row    "行i_end_col   = end_coli_end_row   = end_rowTABLESintern      = gt_excel.IF gt_excel[] IS INITIAL.MESSAGE  '请填充数据 ' TYPE 'S' DISPLAY LIKE 'E' .LEAVE LIST-PROCESSING .ENDIF.SORT gt_excel BY row col VALUE.LOOP AT gt_excel INTO gs_excel.ON CHANGE OF gs_excel-row.IF sy-tabix NE 1.APPEND gs_upload TO gt_upload.CLEAR gs_upload.ENDIF.ENDON.ASSIGN COMPONENT gs_excel-col OF STRUCTURE gs_upload TO FIELD-SYMBOL(<fs>).IF <fs> IS ASSIGNED.<fs> = gs_excel-VALUE.UNASSIGN <fs>.ENDIF.ENDLOOP.APPEND gs_upload TO gt_upload.
ENDFORM.                    " frm_upload_data
*&---------------------------------------------------------------------*
*&      Form  FRM_DEAL_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_deal_data .MOVE-CORRESPONDING gt_upload[] TO gt_alv[].
ENDFORM.*&---------------------------------------------------------------------*
*&      Form  FRM_ALV_DISPLAY
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_alv_display .DEFINE m_fieldcat.gs_fieldcat-fieldname   = &1.gs_fieldcat-coltext     = &2.gs_fieldcat-ref_table   = &3.gs_fieldcat-ref_field   = &4.gs_fieldcat-no_zero     = &5.gs_fieldcat-EDIT        = &6.gs_fieldcat-CHECKBOX        = &7.APPEND gs_fieldcat TO gt_fieldcat.CLEAR  gs_fieldcat.END-OF-DEFINITION.m_fieldcat 'BOX'    '选择框'              ''     ''      '' 'X' 'X' .gs_layout-zebra = 'X'.             "颜色间隔gs_layout-cwidth_opt = 'X'.        "自适应宽度CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'EXPORTINGit_fieldcat_lvc          = gt_fieldcati_callback_pf_status_set = 'FRM_GUI_STATUS'i_callback_user_command  = 'FRM_USER_COMMAND'i_callback_program       = sy-repidis_layout_lvc            = gs_layouti_save                   = 'A'TABLESt_outtab                 = gt_alvEXCEPTIONSprogram_error            = 1OTHERS                   = 2.
ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  frm_gui_status
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->PT_EXTAB   text
*----------------------------------------------------------------------*
FORM frm_gui_status USING pt_extab TYPE slis_t_extab.SET PF-STATUS 'STANDARD'. "gui状态
ENDFORM.                    "frm_gui_status
*&---------------------------------------------------------------------*
*&      Form  frm_user_command
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->PV_UCOMM     text
*      -->PW_SELFIELD  text
*----------------------------------------------------------------------*
FORM frm_user_command USING pv_ucomm LIKE sy-ucommpw_selfield TYPE slis_selfield.DATA:lo_grid TYPE REF TO cl_gui_alv_grid.CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'IMPORTINGe_grid = lo_grid.  "获取全局变量CALL METHOD lo_grid->check_changed_data.pw_selfield-REFRESH = 'X'.                "刷新界面CASE pv_ucomm.WHEN 'ALL'.  "全选PERFORM frm_all.WHEN 'SAL'.  "删除PERFORM frm_sal.WHEN OTHERS.ENDCASE.pw_selfield-REFRESH = 'X'.                "刷新界面
ENDFORM.                    "frm_user_command
*&---------------------------------------------------------------------*
*&      Form  FRM_ALL
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_all .LOOP AT gt_alv ASSIGNING FIELD-SYMBOL(<fs_01>).<fs_01>-box = 'X'.ENDLOOP.
ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  FRM_SAL
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_sal .LOOP AT gt_alv ASSIGNING FIELD-SYMBOL(<fs_02>).<fs_02>-box = ''.ENDLOOP.ENDFORM.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/16538.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024可信赖的企业级生成式 AI 白皮书

来源&#xff1a;COPU&IBM&#xff1a; 近期历史回顾&#xff1a;

k8s devops实战教程+生产实践+可就业

k8s devops实战教程 简介教程涉及到内容教程获取学习教程后的收货助学群 简介 越来越多的企业应用云原生化&#xff0c;催生很多应用的部署方式也发生了很多变化。 从物理机部署应用过度到虚机部署应用再到应用容器化&#xff0c;从单应用再到服务拆分为微服务&#xff0c;靠人…

是他将计算机从“一屋子”变成“一柜子”——量子前哨缅怀小型机之父 戈登·贝尔

内容来源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 文丨浪味仙 排版丨沛贤 深度好文&#xff1a;6000字丨15分钟阅读 5 月 21 日&#xff0c; 美国贝尔实验室资深人士 John Mashey 发布消息称&#xff0c;计算机先驱戈登贝尔&#xff08;Gordon…

机器人系统ros2-开发学习实践15-模拟用 URDF 建模 步行机器人行走示例

目标&#xff1a; 本教程将向您展示如何建模行走机器人、将状态发布为tf2消息并在 Rviz 中查看模拟。首先&#xff0c;我们创建描述机器人组件的 URDF 模型。接下来&#xff0c;我们编写一个节点来模拟运动并发布 JointState 和变换。然后我们使用robot_state_publisher将整个…

初学者都能掌握的操作符(下)

&#xff08;1&#xff09;逗号表达式&#xff1a; 表达式1&#xff0c;表达式2&#xff0c;表达式3&#xff0c;... 整个表达式的值为最后一个表达式的值 &#xff08;2&#xff09;下标引用&#xff0c;函数调用以及结构体操作符&#xff08;[] () . 和 ->&#xff09; […

spring cloud alibaba sentinel 配置过程 流控 降级热点 授权

目录 1.基础理论 2.配置 3.加入依赖和配置文件 4.流控 1.基础理论 Sentinel是阿里开源的项目&#xff0c;提供了流量控制、熔断降级、系统负载保护等多个维度来保障服务之间的稳定性。 丰富的应用场景 &#xff1a;Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心…

未授权访问:Jupyter Notebook 未授权访问漏洞

目录 1、漏洞原理 2、环境搭建 3、未授权访问 4、利用terminal命令执行 防御手段 今天继续学习各种未授权访问的知识和相关的实操实验&#xff0c;一共有好多篇&#xff0c;内容主要是参考先知社区的一位大佬的关于未授权访问的好文章&#xff0c;还有其他大佬总结好的文章…

springboot在tomcat中启动两次

文章目录 代码配置类问题1. 重复的Context Listener/多余的web.xml1.1 原因1.2 解决方案 2. SpringBoot的内置Tomcat没有去掉2.1 原因2.2 解决方案 3. 代码中有两个类继承了SpringApplication3.1 原因3.2 解决方案 4. Tomcat的server.xml中的配置问题4.1 原因4.2 解决方案 5. 多…

cpolar内网穿透工具—无需部署,远程访问网址

文章目录 cpolar介绍安装教程隧道管理VIP客户cpolar介绍 cpolar是一种安全的内网穿透服务,它将局域网下面的本地服务器通过加密隧道暴露至公网,使得公网用户可以正常访问内网服务。 只需一行命令,就可以将内网站点发布至公网,方便给客户演示。高效调试微信公众号、小程序…

若依 ruoyi-vue SpringBoot聊天敏感词过滤sensitive-word

组件地址 https://github.com/houbb/sensitive-word 网上博客版本不是最新&#xff0c;查看官方文档&#xff0c;基于0.16.1整理总结&#xff0c;快速上手 pom文件引入 <dependency><groupId>com.github.houbb</groupId><artifactId>sensitive-word…

全域运营平台的优缺点各有哪些?听听使用者怎么说!

作为多个创业者交流群内的热点话题&#xff0c;关于全域运营平台优缺点的分析和点评不断涌现&#xff0c;为许多创业者更多信息的同时&#xff0c;也让他们的选择过程变得非常艰难。而在众多的全域运营平台中&#xff0c;被分析和点评次数最多的&#xff0c;当属全域运营平台。…

css3实现0.5px边框

效果图 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>css3实现0.5px边框</title><s…

电商API接口助力直播带货选品||助力电商平台搭建选品

如今&#xff0c;直播带货如火如荼。直播带货的核心是卖货、品牌盈利&#xff0c;那想要带货效果更好&#xff0c;选品及定价是最关键的环节。 事实上&#xff0c;品牌企业可以直接使用API接口工具来辅助自身选品及定价&#xff0c;这主要是因为比价工具在直播带货选品环节能起…

dubbo复习:(4) 和springboot 整合时,客户端负载均衡的配置

需要在DubboReference注解指定loadbalance属性。示例如下&#xff1a; package cn.edu.tju.service;import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Ser…

Java+IDEA+SpringBoot药物不良反应ADR智能监测系统源码 ADR智能化监测系统源码

JavaIDEASpringBoot药物不良反应ADR智能监测系统源码 ADR智能化监测系统源码 药物不良反应&#xff08;Adverse Drug Reaction&#xff0c;ADR&#xff09;是指在使用合格药品时&#xff0c;在正常的用法和用量下出现的与用药目的无关的有害反应。这些反应往往因药物种类、使用…

yolov8 ultralytics库进行多机多卡DDP训练

参考: https://github.com/ultralytics/ultralytics/issues/6286 ddp训练报错,问题修改: https://blog.csdn.net/weixin_41012399/article/details/134379417 RuntimeError: CUDA error: invalid device ordinal CUDA kernel errors might be asynchronously reported at s…

【全开源】排队叫号系统源码(FastAdmin+GatewayWorker)

一款基于FastAdminGatewayWorker开发的多项目多场景排队叫号系统&#xff0c;支持大屏幕投屏&#xff0c;语音播报叫号&#xff0c;可用于餐厅排队取餐、美甲店排队取号、排队领取、排队就诊、排队办理业务等诸多场景&#xff0c;助你轻松应对各种排队取号叫号场景。 ​打造高…

LabVIEW全自动样品处理系统有哪些优势?

基于LabVIEW的全自动样品处理系统在现代科研和工业应用中展现出显著的优势&#xff0c;其在数据采集、分析和控制方面的性能使其成为提高效率和精度的理想选择。以下是该系统的详细优势&#xff1a; 高效自动化 LabVIEW的图形化编程语言极大地简化了自动化流程的开发。用户可…

03. Spring 事务管理

文章目录 1. Spring 事务管理简介2. Transactional 注解属性信息3. Transactional 简单使用4. Transactional 使用注意事项4.1 正确指定事务回滚的异常类型4.1.1 Java 异常继承体系 4.2 Transactional 注解应用在 public 方法或类上才有效4.3 正确设置 Transactional 的 propag…

面向ai时代的新型数据底座有哪些?

在AI时代&#xff0c;数据底座指的是一个集成了大规模数据存储、管理、处理和分析功能的平台。它是建立在云计算和大数据技术基础上的&#xff0c;旨在为企业和组织提供高效、可靠的数据管理和分析能力。 新型数据底座具有以下特点&#xff1a; 弹性扩展性&#xff1a;新型数据…