对采购申请挂附件

一、可以对采购申请挂载附件,通过两种方式:
1、使用GOS,直接挂附件,GOS这个名词比较唬人,其实就是在PR界面上使用image 创建附件,注释等.这样挂载的附件只能挂到某个PR上,不能对行项目挂附件。

2、使用DMS,可以细到对行项目挂附件。(没用过,目前没空研究)

二、使用第一个方式管理附件的话,有的报表程序可能需要下载PR对应的附件到前台目录(前台指定目录和文件名),或者下载到某个local PC目录,或者写文件到application server路径下。
首先要知道的是这种方式下相关的透明表:
SRGBTBREL 文档链接,字段INSTID_A、INSTID_B
SOOD SAPoffice: 对象定义,字段OBJTP 文档类别代码, OBJYR 对象: 来自 ID 的年份, OBJNO 对象: 来自 ID 的号码, OBJDES 内容的简短描述, FILE EXT PC 应用程序的文件扩展名。

1、如果程序中需要在前台保存附件,可以使用class:

CL_GOS_DOCUMENT_SERVICE,

method:EXPORT_ATTACHMENT

2、下载到某个local PC目录
使用FM:GUI_DOWNLOAD,如果是纯文本的文件,可以使用BAPI_REL_GETRELATIONS获得对象链接,然后SO_OBJECT_READ获得文本对象的内容。如果是二进制文件,如图片,doc文件,pdf文件等,则处理较为复杂,需要BAPI_REL_GETRELATIONS,SO_OBJECT_READ,SO_KPRO_DATA_FROM_OBJCONT_GET,SO_LOIO_PHIO_GET,SDOK_PHIO_LOAD_CONTENT,SCMS_BINARY_TO_XSTRING几个FM。

3、写文件到application server路径,如写到/usr/ttt/目录下以供他用
如2中获得对象内表,然后使用open dataset方式写文件,以下例子:

FORM frm_download_atta  USING    p_it_zmmjy_th_pr STRUCTURE zmmjy_th_pr
                                                p_g_path  ”路径/usr/ttt/
                                    CHANGING p_flag    ”PR是否有附件
                                                   p_ftype .
DATA: l_objectid TYPE bapiborid,
        lt_relat TYPE TABLE OF bapirellk WITH HEADER LINE,
        l_objdisp TYPE sood2,
        lt_objcont TYPE TABLE OF soli,
        lt_context LIKE sdokpropty OCCURS 0 WITH HEADER LINE,
        loio_object LIKE sdokobject,
        phio_object LIKE sdokobject,
        lt_binary_content TYPE TABLE OF sdokcntbin,
        xfile TYPE xstring,
        xfilename TYPE string.
DATA: xlen TYPE i.
DATA t_banfn LIKE eban-banfn.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input  = p_it_zmmjy_th_pr-banfn
IMPORTING
output = t_banfn.
  l_objectid-objkey = t_banfn.
  l_objectid-objtype = 'BUS2105'.
  p_flag = 'X'.
CALL FUNCTION 'BAPI_REL_GETRELATIONS'
EXPORTING
      objectid        = l_objectid
      relation        = 'ATTA'"附件,除此之外还有NOTE,URL等
TABLES
      listofrelations = lt_relat[].
IF LINES( lt_relat ) = 0."没有附件
    p_flag = ''.
EXIT.
ENDIF.
*  LOOP AT lt_relat.
READ TABLE lt_relat INDEX 1."业务上规定附件只有一个
REFRESH lt_objcont.
CALL FUNCTION 'SO_OBJECT_READ'
EXPORTING
      folder_id         = lt_relat-objkey_b(17)
      object_id         = lt_relat-objkey_b+17(17)
IMPORTING
      object_hd_display = l_objdisp
TABLES
      objcont           = lt_objcont
EXCEPTIONS
OTHERS            = 15.
MOVE l_objdisp-file_ext TO p_ftype .
TRANSLATE l_objdisp-file_ext TO UPPER CASE.
CALL FUNCTION 'SO_KPRO_DATA_FROM_OBJCONT_GET'
IMPORTING
      loio_object       = loio_object
TABLES
      objcont           = lt_objcont
      context           = lt_context
EXCEPTIONS
      missing_kpro_data = 1
OTHERS            = 2.
CALL FUNCTION 'SO_LOIO_PHIO_GET'
EXPORTING
      loio_object        = loio_object
IMPORTING
      phio_object        = phio_object
EXCEPTIONS
      kpro_inconsistency = 1
      x_error            = 2
OTHERS             = 3.
CALL FUNCTION 'SDOK_PHIO_LOAD_CONTENT'
EXPORTING
      object_id           = phio_object
TABLES
      file_content_binary = lt_binary_content
EXCEPTIONS
      not_existing        = 1
      not_authorized      = 2
      no_content          = 3
      bad_storage_type    = 4
OTHERS              = 5.
  xlen = l_objdisp-objlen.
CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
EXPORTING
      input_length = xlen
IMPORTING
buffer       = xfile
TABLES
      binary_tab   = lt_binary_content
EXCEPTIONS
      failed       = 1
OTHERS       = 2.
DATA sap_path_n TYPE string.
DATA wa LIKE sdokcntbin.
CONCATENATE p_g_path  p_it_zmmjy_th_pr-filename '.' p_ftype INTO sap_path_n.
OPEN DATASET sap_path_n FOR OUTPUT IN BINARY MODE.
IF sy-subrc NE 0.
MESSAGE 'OPEN FILE FAILED' TYPE 'E'.
ENDIF.
LOOP AT lt_binary_content INTO wa.
TRANSFER wa-line TO sap_path_n.
ENDLOOP.
CLOSE DATASET sap_path_n.
CLEAR sap_path_n.
*  ENDLOOP.
ENDFORM. 

三、可以用事务码OAOR管理附件
以PR为例,
image

闲人闲谈PS之二十一——SAP自定义程序增加附件上传下载功能 惯例闲话:国庆假期后,状态不佳,闲人找回状态的方法,对电脑翻箱倒柜,整理文件,往往在整理鸡零狗碎时,会有一些新收获,这倒成了自我调整的一套规律… 这次整理捣鼓,还真是发现了一个解决长久以来SAP被人吐槽的附件上传问题。 闲话到此为止,来看看这个附件上传下载问题。 业务场景:公司要开发一个售后服务登记平台,基本功能如下: 1、公司接收到客户的售后服务电话请求后,在SAP录入一张服务单。仅作为统计只用,不用做后续费用结算 2、需要将客户的反馈单据作为附件和服务单绑定在一起,实现在一个界面上打开服务单,并能同时上 阅读详情

相关推荐

ABAP - 获取PR采购申请/PO订单等标准对象上的附件(GOS)

ABAP-Attachment-PR/PO-GOS

m0_74015269的博客 1457

创建采购申请时,需要挂附件测试

通过GOS对采购申请添加附件,如物料规格,图纸等,如下图: 在abap程序中如何对采购申请添加附件呢,最简便的方法是使用class:cl_gos_document_service,这个类中有很多method,可以创建note/URL等,其中method create_attachment可以让用户在前台选择一个文件添加为附件。   PARAMETERS: p_objkey ...

雾气 1349

mm模块流程图 sap_SAP学习基础篇(6):MM模块-采购申请

一、设置个人默认参数(一)设置个人本地布局右上角的小彩电按钮(问号旁边)“定制本地布局”或ALT+F12路径:交互设计->可视化 1,选择“在下拉列表内显示值”确定(二)创建采购申请默认设置(一劳永逸的设置)T-code:ME51N按个人设置按钮。设置一些个人默认参数更多字段:选择凭证类型、物料组和采购组按“向左黑箭头”将其选入左侧:按“复制”确认前期的个人设置完成。二、采购申请(一)创建采...

weixin_35933582的博客 2110

SAP中输出采购订单附件清单操作实例

近期接到采购同事需求,希望了解SAP系统中有多少采购订单上传了附件?有多少没有?采购订单中的附件可以通过ME23N打开单独来看(如下图)。从本公司业务上说,该附件用于存储在系统外签字生效的采购申请单。但有可能会由于各处工作原因导致一些附件没有上传。所以,需要进行一个全面的筛查。看有哪些漏掉的,再来补全。 通过SE16打开表SRGBTBREL; 在对象类型处输入BUS2012; 关于对象类型,SRGBTBREL表中字段没有给出显示,从MASS中的对象类型可以展开看到,其中BUS2012代表采..

专注SAP应用技术文章写作,致力于拉近用户与系统间的距离; 3872

SAP ABAP 批量下载采购订单中的多个PDF附件

DEFAULT '5400000016',"文件对象号。DEFAULT 'BUS2012'."对应的对象类型。g_borident-objkey = p_objkey."此处单据号。g_borident-objtype = p_objtyp."对象号。

weixin_52073858的博客 943

【实战】SAP GOS附件管理:从采购订单到通用对象的文件集成

本文深入解析SAP GOS附件管理功能,从采购订单到通用对象的文件集成实践。通过实战代码示例和设计模式,详细讲解GOS附件的上传、下载及权限控制,帮助用户实现业务文档与SAP对象的智能绑定,提升文件管理效率和审计追踪能力。

weixin_31714129的博客 219

SAP GOS附件上传与下载[代码直接可用]

在采购订单屏幕的左上角有个特殊的按钮,可以通过它创建、查看或删除采购订单的附件。这个按钮是使用GOS(Generic Object Service)工具实现的,可以把GOS理解为一个连接文档和SAP内各种对象的一个工具,包括,采购订单(me23n),会计凭证(FB03)等等都用到了GOS。这里以采购订单附件的上传和下载为例进行说明。上传成功之后,会在采购订单左上方的“附件清单”中显示。

matinal 當冬夜漸暖 。公众号:matinal 2653

GCC调试黑科技:-fomit-frame-pointer优化下如何保证栈回溯能力

本文深入探讨了GCC编译器在启用`-fomit-frame-pointer`优化选项时如何保证栈回溯能力。通过分析`.eh_frame`段的结构与DWARF调试信息,提供了从编译选项配置到实战调试的完整解决方案,帮助开发者在性能优化与调试能力之间找到最佳平衡点。

u6v7w8x的博客 904

SAP GOS 增强

SAP GOS 相关知识分享

m0_38069169的博客 2010

保姆级教程:STK 11.0 从下载到安装成功(附Matlab互联配置与常见问题解决)

本文提供STK 11.0的完整安装指南,包括下载、安装步骤、Matlab互联配置及常见问题解决方案。详细介绍了系统要求核查、分步安装流程、关键文件替换和许可证配置,确保用户能够顺利完成STK 11.0的部署并实现与Matlab的无缝对接。

weixin_30698297的博客 344

【技能---ubuntu20.04更换国内镜像源】

安装好ubuntu20.04后,在下载软件等安装包的时候,速度特别的慢,为此就想着更换一下镜像源,以此来增加下载的速度!!!下面是换源的具体流程!!!提示:以下是本篇文章正文内容,下面案例可供参考以上到这里就更换完软件源了,如有不足之处,请大家斧正!!!

fyc300的博客 1万+

使用CL_GOS_DOCUMENT_SERVICE对采购申请挂附件

我们知道,可以通过GOS对采购申请添加附件,如物料规格,图纸等,如下图: 那么在abap程序中如何对采购申请添加附件呢,最简便的方法是使用class:cl_gos_document_service,这个类中有很多method,可以创建note,可以创建URL等,其中method create_attachment可以让用户在前台选择一个文件添加为附件。 如下代码: *&-------

少年休闲海 6058

智能循迹小车之PID控制算法

从光电传感器获取信号确认小车和黑线的偏离角度,通过PID算法算出左右车轮速度,控制小车前进或者后退。

yzj199921的博客 4639

程序中下载采购申请的附件

一、可以对采购申请挂载附件,通过两种方式: 1、使用GOS,直接挂附件,GOS这个名词比较唬人,其实就是在PR界面上使用 创建附件,注释等.这样挂载的附件只能挂到某个PR上,不能对行项目挂附件。 2、使用DMS,可以细到对行项目挂附件。(没用过,目前没空研究) 二、使用第一个方式管理附件的话,有的报表程序可能需要下载PR对应的附件到前台目录(前台指定目录和文件名),或者下载到某个local

少年休闲海 3050

[QMT量化交易小白入门]-四、如何筛选优质可转债,并进行下单操作

通过上述步骤,成功地使用Python代码完成了可转债的筛选、数据处理和下单操作。当然,这只是一个基础的示例,实际投资中还需要考虑更多因素,如市场环境、资金管理、风险控制等。希望本文能为各位投资者提供一些有价值的参考,助力大家在投资道路上走得更远。

木头大左的博客 1729

华为OD机试新系统真题【计算电动车续航里程】

华为OD机试 新系统真题【计算电动车续航里程】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【计算电动车续航里程】多语言题解。

qq_45776114的博客 781

采购系统之申请人角色

1.【登录网站】打开网站****************,根据公司所提供的账号和密码,进行登录,如下图所示。 2.【填写申请】点击发起申请,完善申请信息,如下图所示。 3.【提交申请】确认信息无误,提交申请表单,如下图所示。 4.【查看申请】点击我的申请,可查看你所提交的所有申请,点击单号,可查看具体的申请情况,如下图所示。 5.【上传附件】在我的申请界面,点击附件图标,可以上传相关的采购附...

weixin_41085860的博客 383

一、OpenSM 架构部署及原理详解

OpenSM 是 InfiniBand 网络的核心组件,通过自动化的拓扑发现、路由计算和状态维护,确保网络的高效运行。部署时需关注配置文件参数、路由算法选择和高可用性设计,调试时可借助日志和诊断工具快速定位问题。

jundao1997的专栏 1130

SAP MM 无料号采购申请单中'评估价格'之填写

SAP MM 无料号采购申请单中'评估价格'之填写 1),SAP系统中,采购申请里的'评估价格'来源有二, a)如果是有物料号的采购,则该价格来自于物料主数据里里的成本价(移动平均价或者标准价),自动取值;如果该物料是第一次采购或者物料主数据里的成本价是0,则需要业务人员手工输入评估价; b)如果是没有物料号的采购,则该价格来自于业务人员手工输入。 2),对于需要业务人员手...

喜欢打酱油的老鸟 1577

【Pytorch实战教程】基于RML2018的融合网络分类 | LSTM网络和ResNet网络融合 | 含数据集的处理

这段代码是从原始数据中读取所选择的数据,画出星座图,并将星座图保存本地,然后将IQ数据保存成mat文件,将图片数据读取之后保存为npy文件,方便后续融合网络使用。

若北辰 928

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

MRP 计划订单批量转采购申请

业务需求: 按工厂、物料采购类型、特殊采购类型(标准的外部采购)、MRP控制者、计划日期批量转采购申请,取代MD14,MD15。MRP RUN后,定时JOB处理,并在转换后通过邮件发送附件清单通知到采购进行处理。SE38执行此程式,界面如下。在生产菜单下阶中,其中一个MDUM-在后台,这是一个后台执行转换的标准程式。改造后程式:转换成功清单和错误清单分开显示,也方便后续通过邮件发送清单。1、邮件发送功能(附件包含转换成功的申请及失败的错误信息)3、标准的程式不改动。复制标准程式代码,新增程序名。

一个字 干! 2321

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

金蝶云星空配套材料采购生成采购申请单

配套材料采购申请将源单上的字段数据携带到采购申请单 目前此需求通版不支持,可以写插件二开实现。 下面示例如果在配套采购申请功能里将销售订单的扩展字段数据携带到采购申请单。 在采购申请、销售订单表体分别添加扩展二开文本类型字段 F_TES_EKZD 编写插件,该插件继承配套采购申请动态表单的表单插件,重写生成采购申请单后事件AssortReqEdit usingKingdee.BOS; usingKingdee.BOS.Orm.DataEntity; usingKing...

金蝶ERP解说 1775

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

SAP 采购订单GOS附件的上传与下载(代码实例)

等等都用到了GOS。这里以采购订单附件的上传和下载为例进行说明。上传成功之后,会在采购订单左上方的。实现的,可以把GOS理解为一个。有个特殊的按钮,可以通过它。内各种对象的一个工具,包括。

qq_42080586的博客 1290

读取采购订单附件(GOS)-[BDS_GOS_CONNECTIONS_GET/SO_DOCUMENT_READ_API1]

在采购订单屏幕的左上角有个特殊的按钮,可以通过它创建、查看或删除采购订单的附件。这个按钮是使用GOS(Generic Object Service)工具实现的,可以把GOS理解为一个连接文档和SAP内各种对象的一个工具,包括,采购订单(me23n),会计凭证(FB03)等等都用到了GOS。 下面就是me22n修改采购订单时的GOS,可以看到能为这个PO创建附件,也能查看附件清单。 ...

banin4739的博客 893
上一篇: Implicit enhancement points
下一篇: 江苏吴中涨9%再创新高 带动抗癌概念股
java_smalltalk
博客等级 码龄20年 8粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值