获取上传至DMS服务器上文件的URL

news2024/11/29 8:43:16
  • 文件上传
     DATA: lv_class    TYPE toadv-doc_type,
          lv_objectid TYPE sapb-sapobjid.

  CALL FUNCTION 'ZARCHIV_CREATE_DIALOG_META'
        EXPORTING
          archiv_id                = 'Z1'               "内容存储库ID
          ar_object                = 'ZALLFILES'        "文档类型
*         DEL_DATE                 = ' '
*         NOTE                     = ' '
          object_id                = lv_objectid          "对象标识
          sap_object               = 'BUS1001' "T_ZTFILE001-SAP_OBJECT "对象类型
*         FILE                     = pv_path
          document_class           = lv_class           "文档类,后缀名
*         COMMIT_FLAG              = ' '
*         VSCAN_PROFILE            = '/SCMS/KPRO_CREATE'
*         FILE_DESCR_POP_SUP       = ' '
        IMPORTING
          archiv                   = lv_archiv_id       "内容存储库ID
          archiv_doc_id            = lv_archiv_doc_id   "文档ID
          documentclass            = lv_documentclass   "文档类
*         TABLES
*         OUTDOCTAB                =
        CHANGING
          infiletab                = lt_file
        EXCEPTIONS
          error_archiv             = 1
          error_communicationtable = 2
          error_connectiontable    = 3
          error_kernel             = 4
          error_parameter          = 5
          error_scanqueue          = 6
          canceled_by_user         = 7
          blocked_by_policy        = 8
          OTHERS                   = 9.
      IF sy-subrc <> 0.
        IF sy-subrc = 1.
          MESSAGE '选择的文件不存在'(029) TYPE 'S' DISPLAY LIKE 'E'.
        ELSE.
          MESSAGE '上传失败,请重新上传文件'(030) TYPE 'S' DISPLAY LIKE 'E'.
        ENDIF.
      ENDIF.
  • 文件下载
  
CALL METHOD cl_gui_frontend_services=>file_save_dialog
        EXPORTING
          default_extension    = lv_doc_type1       "默认保存文件格式
          default_file_name    = lv_filename   "默认文件名称
        CHANGING
          filename             = lc_filename   "默认文件名称
          path                 = lc_path       "文件路径
          fullpath             = lc_fullpath   "文件路径
        EXCEPTIONS
          cntl_error           = 1
          error_no_gui         = 2
          not_supported_by_gui = 3
          OTHERS               = 4.
   CALL FUNCTION 'ARCHIVOBJECT_GET_TABLE'
        EXPORTING
          archiv_id       = 'Z1'
          document_type   = lv_doc_type
          archiv_doc_id   = gs_matnritem-zfileguid
        IMPORTING
          binlength       = lv_lenth
        TABLES
          binarchivobject = lt_bin.
 lv_input_length =  lv_lenth.
  CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
        EXPORTING
          input_length = lv_input_length
        IMPORTING
          buffer       = lv_file
        TABLES
          binary_tab   = lt_bin
        EXCEPTIONS
          failed       = 1
          OTHERS       = 2.

    cl_gui_frontend_services=>gui_download(
      EXPORTING
        filename                  = iv_filename
        filetype                  = 'BIN'
        bin_filesize              = xstrlen( lv_file )
      CHANGING
        data_tab                  = lt_data[]
      EXCEPTIONS
        OTHERS = 1
    ).
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 
      sy-msgv4 RAISING download_error.
    ENDIF.
  • 获取文件URL
 CALL FUNCTION 'SCMS_AO_URL_READ'
      EXPORTING
        arc_id        = archiv_id
        doc_id        = archiv_doc_id
        comp_id       = ' '
        document_type = document_class
        loc_info      = 'F'
        http_url_only = 'X'
      IMPORTING
        url           = absolute_uri
      EXCEPTIONS
        OTHERS        = 1.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 RAISING others .
    ENDIF.

    ARCHIVOBJECT_GET_URI

生成URL的时候 SCMS_URL_GENERATE会调用SCMS_URL_SIGN函数这是其中默认这是了URL的生效时间为两小时

如果需要失效时间延长会设置URL永久有效, 可以去修改函数SCMS_URL_GENERATE的参数DURATION 或EXPIRATION ,DURATION最大时间是999999,若需要永久有效,则需要设置EXPIRATION的时间,这时系统会忽略DURATION的参数,

具体可参考:2501205 - 如何修改内容服务器 URL 中的过期参数 - SAP for Me

 

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

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

相关文章

单链表OJ题(1):移除链表元素

目录 解法一&#xff1a;带头节点的新链表 解法二&#xff1a;不带头节点的新指向关系链表 总结 这是一道简单的力扣题目&#xff0c;关于解法的话&#xff0c;这里提供了二种思路&#xff0c;重点解释前两种&#xff0c;还有一种思路好想&#xff0c;但是时间复杂度为O(n^2…

qt QGridLayout详解

QGridLayout 是 Qt 框架中的一个布局管理器&#xff0c;用于在网格中排列控件。它允许开发者以行和列的形式组织控件&#xff0c;灵活地管理控件的大小和位置。 重要方法 QGridLayout(QWidget *parent nullptr)&#xff1a;创建一个 QGridLayout对象&#xff0c;并指定其父窗…

R语言笔记(四):函数

文章目录 一、Function basics1、Creating your own function2、Function structure3、Using your created function4、Multiple inputs5、Default inputs 二、Return values and side effects1、Returning more than one thing2、Side effectsExample of side effect: plot 三…

基于熵权法的TOPSIS模型

基于熵权法的TOPSIS模型 1. 简介 数学建模可以结合 熵权法 和 T O P S I S TOPSIS TOPSIS 法各自的特点&#xff0c;进行评价&#xff0c;这种组合模型的使用在数学建模比赛中使用的非常多。 在 2023 美赛 O 奖中就有使用该方法的&#xff0c;往年国赛国奖中也有 2. 熵权法介…

Chromium HTML5 新的 Input 类型tel对应c++

一、Input 类型: tel <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>test</title> </head> <body><form action"demo-form.php">电话号码: <input type"tel" name…

Cesium基础-(Entity)-(point)

** 里边包含Vue、React框架代码 ** 1、point 点 效果&#xff1a; Cesium中点(Point)的详细解读如下&#xff1a; Entity API简介&#xff1a; Cesium提供了Entity API&#xff0c;它是一个高级别的数据驱动的API&#xff0c;用于管理一组相关性的可视化对象。Entity API使…

宠物空气净化器有哪些功能呢?优品宠物空气净化器使用体验分享

前段时间&#xff0c;我朋友家生二胎了&#xff0c;为了家里的宝宝&#xff0c;准备入手一台空气净化器。跑来问我&#xff0c;让我推荐一款能净化空气的空气净化器。让他描述描述需求&#xff0c;才知道&#xff0c;他家除了新添了二胎外&#xff0c;最近还养了一只猫&#xf…

学习私服并配置到项目中

下载地址 一、安装 1.将下载好的压缩包进行解压 2.进人bin目录下cmd&#xff0c;执行 nexus.exe /run nexus3.访问nexus界面 在浏览器中输入&#xff1a;http://localhost:8081 4.登录 Username为admin Password根据提示到安装包中去找 二、本地仓库与私服连接 1.创建…

安信金业:18k和24k黄金的区别

黄金&#xff0c;作为永恒的贵金属&#xff0c;在人们心中拥有着独特的地位。而18K金和24K金&#xff0c;作为两种常见的黄金饰品&#xff0c;却常常让消费者感到困惑。今天&#xff0c;我们就来深入探讨18K金和24K金之间的区别&#xff0c;帮助你更好地理解它们各自的特性和价…

基于Qt的多线程并行和循序运行实验Demo

致谢&#xff08;Acknowledgement&#xff09;&#xff1a; 感谢Youtube博主Qt With Ketan与KDAB精心录制的Qt多线程处理应用教程&#xff0c;感谢Bilibili博主爱编程的大丙对Qt多线程与线程池内容深入浅出的讲解。 一、计算机线程相关概念 线程概念[1]&#xff1a; 在计算机科…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-27

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-27 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-27目录1. Large Language Model-based Augmentation for Imbalanced Node Classification on Text-Attributed Graphs摘要研究背…

ESD防静电监控系统提高3C电子厂的稳定生产

在当今信息技术迅速发展的时代&#xff0c;3C电子产品的生产需求日益增加。然而&#xff0c;随着生产规模的扩大和技术的不断进步&#xff0c;生产过程中面临的挑战也日益凸显。静电放电作为影响电子产品质量与可靠性的一个重要因素&#xff0c;受到越来越多厂商的重视。ESD防静…

matlab线性度计算程序

matlab线性度计算程序 环境 matlab2023a ads2020 原理 其中f(v)是曲线&#xff0c;fmax是f(v)的最大值&#xff0c;fmin是f(v)的最小值&#xff0c;vmax为fmax对应v值&#xff0c;vmin为fmin对应v值。 L∆fmax/(fmax-fmin) (1) ∆fmaxmax⁡[f(v)-[fmin-K*(v-vmin)]] (2) K(…

BUUCTF之web篇

第一题 [极客大挑战 2019]EasySQL 打开靶机后可以看到这是一个登陆的页面 我们可以尝试两种方式登录 弱口令爆破&#xff08;burpsuite&#xff09; 通过SQL注入里的万能密码来跳过账户和密码验证的过程 这里就需要万能密码aor true # 在这里单引号的作用是结束用户名或者密码…

Vue笔记-element ui中关于table的前端分页

对于 Element UI 表格的前端分页&#xff0c;可以在组件中使用 JavaScript 来实现数据的分页显示&#xff0c;而不必从后端获取已分页的数据。以下是一个简单的示例&#xff0c;演示如何在前端进行 Element UI 表格的分页&#xff1a; <template><div><el-tabl…

Tenda路由器 敏感信息泄露

0x01 产品描述&#xff1a; ‌ Tenda路由器‌是由深圳市吉祥腾达科技有限公司&#xff08;Tenda&#xff09;生产的一系列网络通信产品。Tenda路由器以其高性能、高性价比和广泛的应用场景而闻名&#xff0c;适合家庭、办公室和各种网络环境。0x02 漏洞描述&#xff1a…

助力AI智能化时代:全国产化飞腾FT2000+/64+昇腾310B服务器主板

在信息技术快速发展的今天&#xff0c;服务器作为数据处理和存储的核心设备&#xff0c;肩负着越来越重要的使命。全国产化的服务器主板&#xff0c;采用飞腾FT2000/64核处理器&#xff0c;搭配华为昇腾310的AI芯片&#xff0c;提供卓越的性能与可靠性。 核心配置&#xff0c;强…

SpringMVC学习(3)

目录 一、控制器Controller 二、RESTful风格 2.1 实际应用 三、结果跳转方式 3.1 ModelAndView 3.2 SpringMVC 3.2.1 无需视图解析器 3.2.2 需要视图解析器 3.3 ServletAPI 四、数据处理 4.1 处理提交数据 4.1.1 提交的域名称和处理方法的参数名一致 4.1.2 提交的…

淘宝商品评价API的获取与应用

随着电子商务的飞速发展&#xff0c;商品评价成为消费者做出购买决策的重要依据之一。对于电商平台而言&#xff0c;如何有效地管理和利用这些评价数据&#xff0c;提升用户体验和销售额&#xff0c;成为一个重要课题。淘宝作为国内最大的电商平台之一&#xff0c;其商品评价AP…

背包九讲——分组背包问题

目录 分组背包问题 问题定义 解题算法 问题解法 朴素解法&#xff1a; 一维优化解法 变式题型 背包问题第六讲——分组背包问题 背包问题是一类经典的组合优化问题&#xff0c;通常涉及在限定容量的背包中选择物品&#xff0c;以最大化某种价值或利益。问题的一般描述是…