• 标准附件功能显示需要用户是 A类型 对话用户

本文介绍一个Public Class :CL_GOS_DOCUMENT_SERVICE

该类包含了创建附件,注释,URL,个人注释等方法,这些方法中都会涉及到对IS_OBJECT参数,该参数管理SAP中相关单据

以会计凭证为例:

业务对象:BKPF

Object key:bukrs && belnr && gjahr

由于这些方法都会有前台弹窗,可以重新封装里面代码调用,可以单独调用其中function

以创建注释为例,程序需要后台创建时需要跳过这些弹窗,附件无法读取本地地址,做后台上传涉及另外一个问题,不单独阐述

DATA:
objtype TYPE borident-objtype VALUE 'BKPF', "会计凭证
object TYPE borident,
rel_doc TYPE borident.

DATA:
folder_id TYPE sofdk,
document_id TYPE sofmk,
content TYPE soli,
lt_objhead TYPE STANDARD TABLE OF soli,
lt_objcont TYPE STANDARD TABLE OF soli,
l_obj_id TYPE soodk,
l_obj_data TYPE sood1.

object-objkey = |{ bukrs }{ belnr }{ gjahr }|.
object-objtype = objtype.
content-line = '注释文本内容'.
APPEND content TO lt_objcont.

CALL FUNCTION 'SO_FOLDER_ROOT_ID_GET'
EXPORTING
region = 'B'
IMPORTING
folder_id = folder_id
EXCEPTIONS
OTHERS = 1.

l_obj_data-objsns = 'O'.
l_obj_data-objla = sy-langu.
l_obj_data-objdes = 'TEXT_TITLE'. "注释标题
l_obj_data-file_ext = 'TXT'.
CALL FUNCTION 'SO_OBJECT_INSERT'
EXPORTING
folder_id = folder_id
object_type = 'RAW'
object_hd_change = l_obj_data
IMPORTING
object_id = l_obj_id
TABLES
objhead = lt_objhead
objcont = lt_objcont
EXCEPTIONS
active_user_not_exist = 35
folder_not_exist = 6
object_type_not_exist = 17
owner_not_exist = 22
parameter_error = 23
OTHERS = 1000.

IF sy-subrc = 0.
document_id-foltp = folder_id-foltp.
document_id-folyr = folder_id-folyr.
document_id-folno = folder_id-folno.
document_id-doctp = l_obj_id-objtp.
document_id-docyr = l_obj_id-objyr.
document_id-docno = l_obj_id-objno.

rel_doc-objkey = document_id.
rel_doc-objtype = 'MESSAGE'.
CALL FUNCTION 'BINARY_RELATION_CREATE'
EXPORTING
obj_rolea = object
obj_roleb = rel_doc
relationtype = 'NOTE'
EXCEPTIONS
OTHERS = 1.
IF sy-subrc = 0.
COMMIT WORK.
ENDIF.
ENDIF.

SAP标准附件-GOS(generic object service)的更多相关文章

  1. 论文学习-深度学习目标检测2014至201901综述-Deep Learning for Generic Object Detection A Survey

    目录 写在前面 目标检测任务与挑战 目标检测方法汇总 基础子问题 基于DCNN的特征表示 主干网络(network backbone) Methods For Improving Object Rep ...

  2. COPY SAP 标准gui状态

    [转]如何COPY SAP标准gui状态 1.可以自己建立 2.找到合适的ALV程序,然后找到合适的 gui_statu,进行copy. 但是这个是系统有过自定义开发会方便很多,如果没有,那要找标准程 ...

  3. Error response from daemon: rpc error: code = AlreadyExists desc = name conflicts with an existing object: service myweb already exists

    主机环境 centos7.2 执行 docker service create --replicas 6 --name myweb -p 80:80 nginx:latest 时 报 Error re ...

  4. SAP标准教材列表

    AC010 mySAP Financials Overview to Financial Accounting and ReportingAC020 mySAP Financials Investme ...

  5. SAP NUMBER RANGE维护配置object FBN1 Deletion only possible if status is initial

    背景: 错误日志: SAP FBN1 Deletion only possible if status is initial 场景: 如果目标机已有NUMBER RANGE 不为0,需要删除配置年为9 ...

  6. 使用SAP云平台 + JNDI访问Internet Service

    以Internet Service http://maps.googleapis.com/maps/api/distancematrix/xml?origins=Walldorf&destin ...

  7. SAP IDOC-Segment E1EDP19 Document Item Object Identification

    PO创建时,通过IDOC EDI 接口自动创建SO 案例. BD54 配置逻辑系统 SCC4 给集团分配逻辑系统  SM59 新建RFC 链接 WE21 创建IDOC 处理端口 we20 创建合作伙伴 ...

  8. Standard Attachments in Oracle Form 标准附件

    Standard Attachments in Oracle Form 默认情况下"附件"按钮是灰色的,本文将展示如何让某个Form的附件按钮变亮,并能上传附件. 以用户Form为 ...

  9. SAP 标准单价、移动单价在 AP 中的影响--(详细)

    今天我将向大家介绍下SAP中两种单价模式在系统中所产生的影响,先主要讲讲在AP中影响,它主要有两个方面产生影响(物料收货migo,发票校验miro). 演示背景(假设以下都为本位币交易): 库存(单价 ...

  10. 增强 用文本增强修改SAP标准屏幕中的字段名称 属于元素的文本增强

    如果想要改变标准屏幕中的字段名称,如把物料主数据基本数据元素的名字改为我们想要的名字 . 1.首先,事务MM03进入物料主数据的基本数据2视图中,将鼠标光标放在需要更改的字段“页格式”上,然后按F1键 ...

随机推荐

  1. 云小课 | 守护网络安全不是问题,iptables的四表五链为你开启“八卦阵”

    摘要:担心网络基本安全?iptables八卦阵为您守护!本文带您一起了解iptables的相关知识. 网络世界就和现实世界一样,总是会有些不怀好意的"人"出现,扫扫你的端口啊,探测 ...

  2. 实践GoF的23的设计模式:SOLID原则(下)

    摘要:本文将讲述SOLID原则中的接口隔离原则和依赖倒置原则. ​本文分享自华为云社区<实践GoF的23的设计模式:SOLID原则(下)>,作者:元闰子. 在<实践GoF的23种设计 ...

  3. ThreadPoolExecutor 线程执行超时,释放线程

    如果线程中的执行时间过长,导致长时间被占用,可以通过新建一个子线程,来监控主线程的执行超时时间,如果超时了,通过子线程杀掉父线程 (主意,父线程被杀后,子线程还会活着) 子线程杀掉主线程 这个问题其实 ...

  4. 日常问题杂记-updating

    python3新式类的解析顺序-C3算法由来 - mro-resolution-order canvas文本绘制 - 参考链接 高性能渲染大批量数据 - 参考链接 virtualized list - ...

  5. python 读取数据调翻译更新表字段

    import time import requests import pymysql import datetime import random from hashlib import md5 imp ...

  6. Nginx--upstream健康检查

    nginx 判断节点失效状态: Nginx 默认判断失败节点状态以connect refuse和time out状态为准,不以HTTP错误状态进行判断失败,因为HTTP只要能返回状态说明该节点还可以正 ...

  7. 2019年第十届蓝桥杯国赛C++C组

    蓝桥杯历年国赛真题汇总:Here 统一声明 如果不写默认带有常用头文件 如果不表明主函数默认表示在 void solve(){} 默认使用 using namespace std; ios::sync ...

  8. Codeforces Global Round 12(个人题解)

    1450A. Avoid Trygub 挺简单的题,题意是避免字符串中有子串"Trygub" 只要给字符串排序就可以了,这样一定不会出现 void solve() { string ...

  9. vivo 全球商城:从 0 到 1 代销业务的融合之路

    代销是 vivo 商城已经落地的成熟业务,本文提供给各位读者 vivo 商城代销业务中两个异构系统业务融合的对接经验和架构思路. 一.业务背景 近两年,内销商城业务的发展十分迅速,vivo 商城系统的 ...

  10. 从各方面比较下kafka、activemq、rabbitmq、rocketmq之间的区别

    [消息队列]从各方面比较下kafka.activemq.rabbitmq.rocketmq之间的区别   一.单机吞吐量ActiveMQ:万级,吞吐量比RocketMQ和Kafka要低了一个数量级Ra ...