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. C# 12 Blazor入门教程

    Blazor简介 Blazor 是由Microsoft开发的一款基于.NET的开源交互式Web UI框架.Blazor使开发人员能够使用C#和HTML建立全堆栈的单页应用程序,并避免使用JavaScr ...

  2. C语言计算并输出华氏温度为80F所对应的摄氏温度C。转换公式为:C=5*(F-32)/9

    #include <stdio.h> int main() { double F = 80.0, C;//定义摄氏温度变量,赋值华氏温度 C = 5 * (F - 32) / 9.0;// ...

  3. CF1881C Perfect Square 题解

    思路 简单滴很,对于每一组 \((i,j)\) 找出其对应的三个点,减一减就完了. 对应的点是哪三个呢?显然是 \((n-i+1,n-j+1)\),\((j,n-i+1)\) 以及 \((i,n-j+ ...

  4. 京东广告研发近期入选国际顶会文章系列导读——CIKM 2023篇

    近年来,放眼业界广告推荐领域的算法获得了长足的发展,从几篇奠定基础的序列学习.大规模图学习.在线学习&增强学习.多模态推荐问题等起步,业内算法不断迭代发展并在学术和工业场景上取得不错的应用. ...

  5. 生物电势测量ECG

    参考来源:ADI官网技术文章.知乎(hxl695822705.KingPo-张超.津发科技.木森.深圳加1健康科技) ECG的产生 ECG(Electrocardiogram)心电测量,是指人体内窦房 ...

  6. springboot整合kafka,收不到消息,日志输出dead for group解决方法

    项目启动以后收不到Kafka发出的消息,日志输出类似: INFO [org.springframework.kafka.KafkaListenerEndpointContainer#1-7-C-1] ...

  7. 35. 干货系列从零用Rust编写负载均衡及代理,代理服务器的源码升级改造

    wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代 ...

  8. Selenium-无头模式headless

    无头模式适合的场景: 部署到没有gui界面的服务器,比如linux 开发环境测试完全没问题后可以使用无头模式,提高selenium速度. # 使用headless无界面浏览器模式 chrome_opt ...

  9. S32Kxxx bootloader之CAN FD UDS bootloader

    了解更多关于bootloader 的C语言实现,请加我Q扣: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 六年前, 汽车内ECU ...

  10. 【JMM内存模型-4】JMM内存模型之CPU缓存策略-jmmcpu4

    title: [JMM内存模型-4]JMM内存模型之CPU缓存策略 date: 2021-11-17 13:27:48.139 updated: 2021-12-26 17:43:10.442 url ...