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

下面就是me22n修改采购订单时的GOS,可以看到能为这个PO创建附件,也能查看附件清单。

<img class="alignnone size-full wp-image-6387" src="http://www.baidusap.com/wp-content/uploads/2019-05-28_16-05-32.jpg" alt="" width="576" height="366" />

下面的例子程序是用来读取PO附件文档的名称和内容,其中用到了2个FM BDS_GOS_CONNECTIONS_GET SO_DOCUMENT_READ_API1。

BDS_GOS_CONNECTIONS_GET:用来获取GOS的连接

SO_DOCUMENT_READ_API1:用来通过GOS连接读取具体的附件文档名称、内容等相关信息。

REPORT ytest_gos_export_attachment.PARAMETERS:p_ebeln TYPE ekko-ebeln.DATA:lv_logical_system  LIKE  bapibds01-log_system,classname          LIKE  bapibds01-classname,gos_objkey         LIKE  swotobjid-objkey,lt_gos_connections LIKE bdn_con OCCURS 1 WITH HEADER LINE.
DATA:lv_id             TYPE sofolenti1-doc_id,ls_doc_data       TYPE sofolenti1,lt_object_header  TYPE STANDARD TABLE OF solisti1 WITH HEADER LINE,lt_object_content TYPE STANDARD TABLE OF solisti1 WITH HEADER LINE,lt_hex            TYPE STANDARD TABLE OF solix WITH HEADER LINE.CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'IMPORTINGown_logical_system                = lv_logical_systemEXCEPTIONSown_lv_logical_system_not_defined = 1OTHERS                            = 2.
.
gos_objkey = p_ebeln. "采购订单CALL FUNCTION 'BDS_GOS_CONNECTIONS_GET'EXPORTINGlogical_system     = lv_logical_systemclassname          = 'BUS2012'  "用来标识采购订单objkey             = gos_objkeyclient             = sy-mandtTABLESgos_connections    = lt_gos_connectionsEXCEPTIONSno_objects_found   = 1internal_error     = 2internal_gos_error = 3OTHERS             = 4.LOOP AT lt_gos_connections.lv_id = lt_gos_connections-loio_id.CALL FUNCTION 'SO_DOCUMENT_READ_API1'EXPORTINGdocument_id                = lv_id         IMPORTINGdocument_data              = ls_doc_dataTABLESobject_header              = lt_object_headerobject_content             = lt_object_contentcontents_hex               = lt_hexEXCEPTIONSdocument_id_not_exist      = 1operation_no_authorization = 2x_error                    = 3OTHERS                     = 4.BREAK-POINT.ENDLOOP.

程序里加了个断点,运行时能看到  lt_object_content和 lt_object_header中的内容,一个保存了附件名字(BaiduSAP.txt)和类型(ASC),另外一个保存了内容。

<img class="alignnone size-full wp-image-6392" src="http://www.baidusap.com/wp-content/uploads/2019-05-28_16-51-53.jpg" alt="" width="542" height="349" />

<img class="alignnone size-full wp-image-6393" src="http://www.baidusap.com/wp-content/uploads/2019-05-28_16-46-55.jpg" alt="" width="500" height="385" />

txt文件的内容:

<img class="alignnone size-full wp-image-6394" src="http://www.baidusap.com/wp-content/uploads/2019-05-28_16-54-40.jpg" alt="" width="390" height="143" />

me23n采购订单中查看到的文档清单:

<img class="alignnone size-full wp-image-6391" src="http://www.baidusap.com/wp-content/uploads/2019-05-28_16-06-35.jpg" alt="" width="584" height="253" />

以上。

转载于:https://www.cnblogs.com/datie/p/11428513.html

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

  1. [BAPI]如何读取采购订单PO审批状态数据-[BAPI_PO_GETRELINFO]

    可以通过BAPI  BAPI_PO_GETRELINFO 直接读取采购订单PO的审批信息数据,包括审批策略,审批组,审批状态,审批代码,发布标识以及对应的描述,还有审批代码对应的前序审批. & ...

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

    近期接到采购同事需求,希望了解SAP系统中有多少采购订单上传了附件?有多少没有?采购订单中的附件可以通过ME23N打开单独来看(如下图).从本公司业务上说,该附件用于存储在系统外签字生效的采购申请单. ...

  3. 基于采购订单的MIRO校验过程

    一.介绍 发票校验是物料管理(MM)系统的一部分.它提供物料管理部分和财务会计, 成本控制和资产管理部分的连接. 物料管理模块的发票校验为以下目的服务: 它完成物料采购的全过程 - 物料采购从采购申请 ...

  4. MM--发票校验 及基于采购订单的MIRO发票校验过程

    一.介绍 发票校验是物料管理(MM)系统的一部分.它提供物料管理部分和财务会计, 成本控制和资产管理部分的连接. 物料管理模块的发票校验为以下目的服务: 它完成物料采购的全过程 - 物料采购从采购申请 ...

  5. 采购订单检查/保存BADI使用

    BADI:ME_PROCESS_PO_CUST 需求: 2.1 根据采购申请是否经过修改或采购申请的类型,确定订单为一级审批还是二级审批.一级 审批订单汇总号为80,二级审批订单汇总号为90.系统默认 ...

  6. 根据BAPI_PO_CREATE1创建采购订单

    REPORT  z_create_po. DATA:BEGIN OF gt_data OCCURS 0,           bsart TYPE string,"采购凭证类型        ...

  7. IDES翻译—利用采购订单进行跨公司库存转储

     Cross-Company Stock Transfers Using Purchase Orders  利用采购订单进行跨公司库存转储 Purpose 目的 The business requir ...

  8. SAP 采购订单PO基于采购金额的审批策略配置

    网上看到的关于MM模块采购订单的审批策略基本上是基于采购组织进行配置的,很少看到基于采购净价的审批策略配置,这几天终于自己一个人研究搞明白了基于采购净价(采购总金额)的审批策略.在此记录下此配置过程, ...

  9. 付款申请单,如何追查跨级源头采购订单

    案例背景: 采购订单 -> 收料通知单 -> 采购入库单 -> 应付单 -> 付款申请单,采购订单经过 多步下推 ,才生成付款申请单. 现在需要根据付款申请单的单据内码,寻找其 ...

  10. Python自动化应用案例:一键生成工厂物料采购订单(精益办公案例之三)

    前言: 本文描述一个Excel办公自动化的实践示例:模拟生产企业在获取客户订单后,根据相关的数据和信息,通过编程的方式(Python语言),快速建立采购订单的过程.这种精益办公的方式将大幅精简在实际工 ...

最新文章

  1. Coredata — 入门使用
  2. 转载:谢谢原作者:块设备驱动实战基础篇一 (170行代码构建一个逻辑块设备驱动)
  3. redis list操作_大厂面试高频Redis,记不住的多操作几次吧
  4. java学习_都说Java难学,不知道具体的学习内容?全套Java学习路线送上
  5. 把数据保存到数据库附加表 `XX_addonarticle` 时出错,Duplicate entry 'X' for key 'PRIMARY'...
  6. 从零写一个编译器(三):语法分析之几个基础数据结构
  7. 160 - 48 DueList.3
  8. Elasticsearch实战:给博客打造全文检索
  9. nginx普通配置/负载均衡配置/ssl/https配置
  10. 华为宣布了,鸿蒙 OS 2.0 开放源代码
  11. 网页实现黑客帝国代码雨
  12. php jpg转换为pdf文件,使用PHP进行PDF转换为JPG转换
  13. Ubuntu Core介绍及其使用
  14. bfs的算法的详解(代码版)
  15. 还想打马赛克掩盖身份?人工智能让你告别打码时代
  16. 以太网速率怎么手动设置_交换机如何配置速率和双工模式
  17. 软件AI加速器:免费提升AI性能
  18. java操控手机刷锦鲤看看(一个类似头条的赚钱app)
  19. Silverlight 教程第二部分:使用布局管理 (木野狐译)
  20. 关于运行时错误429 ActiveX无法创建对象的错误

热门文章

  1. 企业邮箱如何免费申请注册?
  2. 投稿状态(status)记录 IEEE wireless communications letters (IEEE WCL)
  3. windows服务器硬盘怎么扩容,亚马逊Amazon EC2 Windows服务器磁盘扩容操作步骤
  4. linux mint卸载桌面环境,在Linux Mint 19/Ubuntu 18.04系统上安装Deepin桌面环境的方法
  5. 配置OpenLDAP使用TLS通信
  6. HDU-4567-思维-Brilliant Programmers Show -13长沙邀请赛
  7. 360锁屏壁纸在哪个文件夹
  8. 《彻底卸载chrome及注册表清理》
  9. starbase 数据库使用 (miRNA预测LncRNA)
  10. Rap2接口管理工具搭建及版本升级