GOS如何保存附件

2020-09-06 17:11发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在使用Weblog之一中所述的GOS。 我照文档中提到的那样做了。 它们工作正常,但是一旦我使用选择屏幕工具栏中的GOS附加文件,如何保存附件。 如果我退出程序并返回到程序选择屏幕,则会看到附件丢失。 我该如何永久保存程序附件?

附件在系统中的什么位置?

谢谢

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在使用Weblog之一中所述的GOS。 我照文档中提到的那样做了。 它们工作正常,但是一旦我使用选择屏幕工具栏中的GOS附加文件,如何保存附件。 如果我退出程序并返回到程序选择屏幕,则会看到附件丢失。 我该如何永久保存程序附件?

附件在系统中的什么位置?

谢谢

付费偷看设置
发送
11条回答
宇峰Kouji
1楼 · 2020-09-06 17:52.采纳回答

我不确定您指的是哪个博客。

在自定义程序中使用GOS工具栏的最简单方法是调用

FM

调用函数'SWU_OBJECT_PUBLISH'

导出

objtype ='REPORT'

objkey = sy-repid

异常

< p> objtype_not_found = 1

其他= 2。

对象类型必须是业务对象(SWO1)

只是在函数调用后执行提交工作 。

问候

Raja

骆驼绵羊
2楼-- · 2020-09-06 17:48

嗨 ,

刚刚找到此链接,了解如何使用通用对象服务(GOS)将文档附加到任何自定义程序。

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/0e6b0d95-0a01-0010-4696-ca0a48de5fb3

希望它会有所帮助。

此致

Ferry Lianto

lukcy2020
3楼-- · 2020-09-06 17:44

我可能在这里晚了,但是Google搜索提供了此链接。

因此,如果其他人可能有相同的查询-

检查OSS注释1293080。

角色S_GOS_ATT可用于限制用户删除附件。

Tong__Ming
4楼-- · 2020-09-06 17:33

下面的示例上传附件文档和 保存

 参数:k_key TYPE swo_typeid强制性,
 k_type TYPE swo_objtyp义务,
 k_file TYPE c长度100强制性,
 k_desc类型,so_obj_des类型为OBLIGATORY。

 数据:ls_fol_id TYPE soodk,
 ls_obj_id TYPE soodk,
 ls_obj_data TYPE sood1,
 ls_folmem_k TYPE sofmk,
 ls_note TYPE borident,
 ls_object TYPE borident,
 lv_ep_note TYPE borident-objkey,
 lv_offset TYPE i。

 数据:单独的it_objhead类型标准表,
 it_content像标准标准表一样,
 wa_content像soli。

 ls_object-objkey = k_key。
 ls_object-objtype = k_type。

 尝试。
 OPEN DATASET k_file用于在二进制模式下输入。
 当sy-subrc = 0时。
 读取数据集k_file INTO wa_content。
 将wa_content附加到it_content。
 结束。
 CLOSE DATASET k_file。
 捕获cx_sy_file_access_error。
 消息"读取文件时出错",类型为" E"。
 ENDTRY。

 通话功能'SO_CONVERT_CONTENTS_BIN'
 出口
 it_contents_bin = it_content []
 输入
 et_contents_bin = it_content []。

 通话功能'SO_FOLDER_ROOT_ID_GET'
 出口
 地区='B'
 输入
 folder_id = ls_fol_id
 例外情况
 其他= 1。

 ls_obj_data-objsns ='O'。
 ls_obj_data-objla = sy-langu。
 ls_obj_data-objdes = k_desc。
 lv_offset = STRLEN(k_file)-3。
 ls_obj_data-file_ext = k_file + lv_offset(3)。
 ls_obj_data-objlen = LINES(it_content)* 255。

 通话功能'SO_OBJECT_INSERT'
 出口
 folder_id = ls_fol_id
 object_type ='EXT'
 object_hd_change = ls_obj_data
 输入
 object_id = ls_obj_id
 桌子
 objhead = it_objhead
 objcont = it_content
 例外情况
 active_user_not_exist = 35
 folder_not_exist = 6
 object_type_not_exist = 17
 owner_not_exist = 22
 parameter_error = 23
 其他= 1000。

 如果sy-subrc = 0并且ls_object-objkey不是INITIAL。
 ls_folmem_k-foltp = ls_fol_id-objtp。
 ls_folmem_k-folyr = ls_fol_id-objyr。
 ls_folmem_k-folno = ls_fol_id-objno。
 ls_folmem_k-doctp = ls_obj_id-objtp。
 ls_folmem_k-docyr = ls_obj_id-objyr。
 ls_folmem_k-docno = ls_obj_id-objno。
 lv_ep_note = ls_folmem_k。
 ls_note-objtype ='MESSAGE'。
 ls_note-objkey = lv_ep_note。
 通话功能" BINARY_RELATION_CREATE_COMMIT"
 出口
 obj_rolea = ls_object
 obj_roleb = ls_note
 关系类型='ATTA'
 例外情况
 其他= 1。
 其他。
 消息"不正常",键入" I"。
 返回。
 万一。

 如果sy-subrc = 0。
 消息"确定",键入" I"。
 其他。
 消息"不正常",键入" I"。
 万一。
 

k_key =客户编号

k_type = KNA1

k_FILE =您要附加的文件

k_DESC =文档DESC。

huskylover
5楼-- · 2020-09-06 17:51

编辑:Krupaji于2012年1月13日上午7:20

一周热门 更多>