1、GOS介绍

GOS是一个连接文档和SAP内各种对象的工具,在SAP的一些凭证中,可以通过GOS进行附件的上传、查看和删除等功能,例如采购订单、会计凭证等。

如果没有这个按钮,可以将当前登录用户的类型设置为对话即可。

2、前台附件上传

点击创建附件,选择需要上传的附件即可

点击附件清单,即可查看上传的附件

并且可以对当前上传的附件进行删除操作

3、代码实现

源代码

"--------------------@斌将军--------------------
REPORT zgos. TYPE-POOLS: slis,abap,truxs.
INCLUDE <cntn01>. *----------------------------------------------------------------------*
* 屏幕定义
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE TEXT-002.
PARAMETERS:p_file TYPE rlgrap-filename MEMORY ID p, "上载模版路径
p_belnr TYPE bkpf-belnr OBLIGATORY,
p_gjahr TYPE bkpf-gjahr OBLIGATORY,
p_bukrs TYPE bkpf-bukrs OBLIGATORY.
SELECTION-SCREEN END OF BLOCK blk1. *----------------------------------------------------------------------*
* AT SELECTION-SCREEN on HELP-REQUEST|VALUE-REQUEST *
*----------------------------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
"选择路径
PERFORM frm_choose_file. *----------------------------------------------------------------------*
* START-OF-SELECTION *
*----------------------------------------------------------------------*
START-OF-SELECTION.
"上传附件
PERFORM frm_upload_file. *&---------------------------------------------------------------------*
*& Form FRM_CHOOSE_FILE
*&---------------------------------------------------------------------*
* 选择文件
*----------------------------------------------------------------------*
FORM frm_choose_file.
"F4 选择文件
CALL FUNCTION 'F4_FILENAME'
IMPORTING
file_name = p_file. IF sy-subrc <> 0.
ENDIF.
ENDFORM. "FRM_CHOOSE_FILE *&---------------------------------------------------------------------*
*& Form FRM_UPLOAD_FILE
*&---------------------------------------------------------------------*
* 上传附件
*----------------------------------------------------------------------*
FORM frm_upload_file. DATA:lt_swcont TYPE TABLE OF swcont WITH HEADER LINE,
lt_binrel_attrib TYPE TABLE OF brelattr,
lt_bin TYPE TABLE OF solix. DATA:lv_filename TYPE string,
lv_long_filename TYPE dbmsgora-filename,
lv_pure_filename TYPE sdbah-actid,
lv_pure_extension TYPE sdbad-funct,
ls_obja TYPE borident,
ls_roleb TYPE borident,
ls_binrel TYPE gbinrel,
ls_attsize TYPE int4,
lo_swc_obj TYPE swc_object. "上传文件
CLEAR:lv_filename.
lv_filename = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = lv_filename
filetype = 'BIN'
IMPORTING
filelength = ls_attsize
TABLES
data_tab = lt_bin
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17.
IF sy-subrc <> 0.
MESSAGE '文件上传失败' TYPE 'S' DISPLAY LIKE 'E'.
STOP.
ELSE. CLEAR:lv_long_filename.
lv_long_filename = lv_filename.
"截取文件名称和后缀
CALL FUNCTION 'SPLIT_FILENAME'
EXPORTING
long_filename = lv_long_filename
IMPORTING
pure_filename = lv_pure_filename
pure_extension = lv_pure_extension. "转换文件
swc_create_object lo_swc_obj 'MESSAGE' ''.
swc_set_element lt_swcont 'NO_DIALOG' 'X'.
swc_set_element lt_swcont 'DOCUMENTTITLE' lv_pure_filename."文件名
swc_set_table lt_swcont 'Content_Hex' lt_bin."文件内容
swc_set_element lt_swcont 'DOCUMENTTYPE' lv_pure_extension."文件格式
swc_set_element lt_swcont 'DOCUMENTSIZE' ls_attsize."文件大小
swc_refresh_object lo_swc_obj.
swc_call_method lo_swc_obj 'CREATE' lt_swcont.
swc_get_object_key lo_swc_obj ls_roleb-objkey. ls_roleb-objtype = 'MESSAGE'. "
ls_obja-objtype = 'BKPF'. "
ls_obja-objkey = p_bukrs && p_belnr && p_gjahr."拼接会计公司、会计凭证、会计年度 "上传附件
CALL FUNCTION 'BINARY_RELATION_CREATE_COMMIT'
EXPORTING
obj_rolea = ls_obja
obj_roleb = ls_roleb
relationtype = 'ATTA'
IMPORTING
binrel = ls_binrel
TABLES
binrel_attrib = lt_binrel_attrib
EXCEPTIONS
no_model = 1
internal_error = 2
unknown = 3
OTHERS = 4.
IF sy-subrc EQ 0.
MESSAGE s043(sgos_msg)."已成功创建附件
ENDIF.
ENDIF. ENDFORM.
"--------------------@斌将军--------------------

定期更文,欢迎关注

 
 
 
 
 
此页面的语言为英语
 
翻译为中文(简体)
 
 
 
 
  • 中文(简体)
  • 中文(繁体)
  • 丹麦语
  • 乌克兰语
  • 乌尔都语
  • 亚美尼亚语
  • 俄语
  • 保加利亚语
  • 克罗地亚语
  • 冰岛语
  • 加泰罗尼亚语
  • 匈牙利语
  • 卡纳达语
  • 印地语
  • 印尼语
  • 古吉拉特语
  • 哈萨克语
  • 土耳其语
  • 威尔士语
  • 孟加拉语
  • 尼泊尔语
  • 布尔语(南非荷兰语)
  • 希伯来语
  • 希腊语
  • 库尔德语
  • 德语
  • 意大利语
  • 拉脱维亚语
  • 挪威语
  • 捷克语
  • 斯洛伐克语
  • 斯洛文尼亚语
  • 旁遮普语
  • 日语
  • 普什图语
  • 毛利语
  • 法语
  • 波兰语
  • 波斯语
  • 泰卢固语
  • 泰米尔语
  • 泰语
  • 海地克里奥尔语
  • 爱沙尼亚语
  • 瑞典语
  • 立陶宛语
  • 缅甸语
  • 罗马尼亚语
  • 老挝语
  • 芬兰语
  • 英语
  • 荷兰语
  • 萨摩亚语
  • 葡萄牙语
  • 西班牙语
  • 越南语
  • 阿塞拜疆语
  • 阿姆哈拉语
  • 阿尔巴尼亚语
  • 阿拉伯语
  • 韩语
  • 马尔加什语
  • 马拉地语
  • 马拉雅拉姆语
  • 马来语
  • 马耳他语
  • 高棉语
 
随时将英语翻译为中文(简体)PRO
一律不翻译英语
一律不翻译i.cnblogs.com

GOS会计凭证上传附件的更多相关文章

  1. wordpress多站点环境设置上传附件大小

    多站点环境更改上传附件大小: php.ini post_max_size = 8M upload_max_filesize = 10M 另外,后台域名管理中设置/网络设置/可以设置上传文件大小. 代码 ...

  2. jquery 通过ajax FormData 对象上传附件

    之前上传附件都是用插件,或者用form表单体检(这个是很久以前的方式了),今天突发奇想,自己来实现附件上传,具体实现如下 html: <div>   流程图: <input id=& ...

  3. Discuz! X论坛上传附件到100%自动取消上传的原因及解决方案

    最近接到一些站长的反馈,说论坛上传附件,到100%的时候自己取消上传了.经查是附件索引表pre_forum_attachment表的aid字段自增值出现了问题,导致程序逻辑返回的aid值实际为一个My ...

  4. Discuz模拟批量上传附件发帖

    简介 对于很多用discuz做资源下载站来说,一个个上传附件,发帖是很繁琐的过程.如果需要批量上传附件发帖,就需要去模拟discuz 上传附件的流程. 模拟上传 discuz 附件逻辑 dz附件储存在 ...

  5. 修改WordPress中上传附件2M大小限制的方法/php+iis上传附件默认大小修改方法

    在服务器上架设好WordPress后,使用过程中发现,上传附件大小有2M的限制 话说服务器就是本机,可以直接把文件拖到附件存储文件夹下,然后在需要附件的地方引用链接 可是这种落后的方法终究不是办法,还 ...

  6. Dynamic CRM 2013学习笔记(十三)附件上传 / 上传附件

    上传附件可能是CRM里比较常用的一个需求了,本文将介绍如何在CRM里实现附件的上传.显示及下载.包括以下几个步骤: 附件上传的web页面 附件显示及下载的附件实体 调用上传web页面的JS文件 实体上 ...

  7. 怎样解决asp.net.mvc上传附件超过长度问题?

    最近,在做一个上传附件功能,但是文件超过4M,就报上传的文件超过长度问题

  8. JQuery Uplodify上传附件(同一个页面多个uplodify控件解决方案)

    功能描述:实现同一页面中多个不同附件的上传保存,且做到最大程度的减少代码修改量(最大程度的公用),为了方便实现垃圾数据和垃圾文件的处理,项目采用临时文件夹的方式:即:文件自动上传先保存到临时文件夹下, ...

  9. crm 4 注释与上传附件权限

    文档注释权限及上传附件是与实体的”追加到”权限有关. 文档注释权限及上传附件是与核心记录中”注释”的”追加”权限有关. 追加及追加到的权限,我的理解是与本实体有关联的实体的权限,比如你引用了其它表的字 ...

  10. discuz 模拟批量上传附件发帖

    discuz 模拟批量上传附件发帖 简介 对于很多用discuz做资源下载站来说,一个个上传附件,发帖是很繁琐的过程.如果需要批量上传附件发帖,就需要去模拟discuz 上传附件的流程. 插件地址 h ...

随机推荐

  1. 【scipy 基础】--正交距离回归

    Scipy的ODR正交距离回归(ODR-Orthogonal Distance Regression)模块,适用于回归分析时,因变量和自变量之间存在非线性关系的情况.它提高了回归分析的准确性和稳健性. ...

  2. 七天.NET 8操作SQLite入门到实战 - SQLite 简介

    什么是SQLite? SQLite是一个轻量级的嵌入式关系型数据库,它以一个小型的C语言库的形式存在.它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可 ...

  3. 在Linux平台下使用.NET Core访问Access数据库读取mdb文件数据

    在 Linux平台下使用 .NET Core 访问 Access数据库 读取 mdb文件 数据 今天有群友在群里问 C# 能不能在 Linux 下访问 Access数据库? 我觉得这很有趣,因此研究折 ...

  4. 【Linux API 揭秘】container_of函数详解

    [Linux API 揭秘]container_of函数详解 Linux Version:6.6 Author:Donge Github:linux-api-insides 1.container_o ...

  5. C++学习笔记八:极限和数学运算<limits><cmath>

    1) <limits>库: 1.1 源文档: https://en.cppreference.com/w/cpp/types/numeric_limits #include <lim ...

  6. 项目实战接口开发SpringBoot

    目录 一.springboot官方demo开发 二.使用SpringBoot开发get方法接口 三.一个要求携带cookie信息访问的get接口开发 四.需要携带参数的get请求两种开发方式 4.1 ...

  7. 目标检测工具安装使用--labelImg

    如果想要在深度学习中训练我们自己的模型,就得对图片进行标注.labelImg是一个超级方便的目标检测图片标注工具,打开图片后,只需用鼠标框出图片中的目标,并选择该目标的类别,便可以自动生成voc格式的 ...

  8. PTA 函数与递归部分题目讲解及思路

    7-1 判断素数 题目分析 题目输入n个数,判断其是否为质数 对于判断质数,只需要满足从2开始遍历的每一个数一直到√n均无法被n整除即可 关于为什么只要到√n呢? 因为n = √n * √n,因此其最 ...

  9. EF Core助力信创国产数据库

    前言 国产数据库作为国产化替代的重要环节,在我国信创产业政策的指引下实现加速发展,我们国产数据库已进入百花齐放的快速发展期,相信接触到涉及到政府类等项目的童鞋尤为了解,与此同时我们有一部分也在使用各种 ...

  10. 聊聊流式数据湖Paimon(二)

    当前的问题 Apache Paimon 最典型的场景是解决了 CDC (Change Data Capture) 数据的入湖:CDC 数据来自数据库.一般来说,分析需求是不会直接查询数据库的. 容易对 ...