在SAP中不管是采购订单、销售订单、交货单还是发票等,左上角都有一个按钮用来操作附件,包括对它的创建删除更新等。这个附件是一种Generic的,存储在服务器的,我们在获取的时候需要通过链接来下载。这其实就是SAP的一种GOS(Generic Object Service)技术。

要达到这种目的需要用到两个关键FM

BDS_GOS_CONNECTIONS_GET:(Business Document Service: Object Links)获取GOS的链接,它有两个必输import,其一是CLASSNAME,用来标注Business type,指定你的订单是采购订单还是销售订单等。其二是OBJKEY,即传入你的订单号

至于说如何确定CLASSNAME的值可以通过domain里面的 Value Table在(BDS_LOCL)来去查看

('BUS2012' :"用来标识采购订单)

SO_DOCUMENT_READ_API1:SAPoffice: (View object from folder using RFC)通过以上GOS链接读取具体的附件的具体信息,文件名,文件内容以及Binary Content等,按需获取

following code

  DATA lv_buffer TYPE xstring .DATA lv_len TYPE i .DATA lv_string TYPE string .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 = '0000130597'.CALL FUNCTION 'BDS_GOS_CONNECTIONS_GET'EXPORTINGlogical_system     = lv_logical_systemclassname          = 'VBRK'  "billing documentobjkey             = 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_idIMPORTINGdocument_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.ENDLOOP.

SAP-ABAP 读取billing document以及其它订单附件的实例(GOS)相关推荐

  1. SAP ABAP 业务对象 BUS6021 AcctngSalesOrder 会计销售订单 BAPI 清单和相关 TCODE

    SAP ABAP 业务对象 BUS6021 AcctngSalesOrder 会计销售订单 BAPI 清单和相关 TCODE 简介: SAP ABAP 业务对象 BUS6021 AcctngSales ...

  2. SAP ABAP ZALSM_EXCEL_TO_INTERNAL_TABLE 完整实施的源代码、附件、说明

    SAP ABAP ZALSM_EXCEL_TO_INTERNAL_TABLE 完整实施的源代码.附件.说明 引言: 分享 ZALSM_EXCEL_TO_INTERNAL_TABLE 完整实施的源代码. ...

  3. SAP: ZSD012 Send Billing Document to Customer with PDF Attachment

    Program:ZSDR012 T-code: ZSD012 可以后台手动运行,每天发送billing document To customer 1.  界面上输入什么日期,发送前一天的 billin ...

  4. [SAP ABAP开发技术总结]SD销售订单定价过程

    16.3.2.     定价过程 16.3.2.1.           条件技术七要素 16.3.2.2.           条件表V/03.V/04.V/05 16.3.2.3.         ...

  5. SAP ABAP 我的文章合集:ABAP and Excel

    SAP ABAP 我的文章合集:ABAP and Excel 合集简介:本合集收录了我关于 ABAP and Excel 的相关文章,新的文章会被及时更新到本合集中. 文章目录 SAP ABAP 我的 ...

  6. 使用 Excel 读取 SAP ABAP CDS View 通过 ODBC 暴露出来的数据

    在阅读本文前,请务必先按照在 Excel 内使用 ODBC 消费 SAP ABAP CDS view 介绍的步骤,将 SAP BTP 平台 ABAP 环境下指定的 CDS view,通过 Open D ...

  7. 【ABAP系列】SAP ABAP 从FTP服务器读取文件到本地

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 从FTP服务器 ...

  8. SAP ABAP 探索 CL_FDT_XL_SPREADSHEET 读取大数据量 Excel 的可能性

    SAP ABAP 探索 CL_FDT_XL_SPREADSHEET 读取大数据量 Excel 的可能性 引言: 今时不同往日了,特别是在电商和零售行业中,动不动一个导入的 Excel 就有几十万行几十 ...

  9. 【SAP ABAP 生产订单修改组件需求用量增强】

    @ABAP 需求: 由于标准生产订单组件用量的获取方式无法满足业务,需要嵌入自定义表数据进行运算得出新的组件用量,注意:此增强只能再保存时触发组件用量的变更. 实现增强: 1.COMD 出口 PPCO ...

  10. SAP FPM通过ABAP读取EXCEL值到动态内表并把数据发送到其他组件

    文章目录 需求 一.效果 二.实现 1.部分代码 2.其中相关的内容可查看系列文章获悉 总结 需求 在网页应用中(FPM.FBI.WDA)通过ABAP读取EXCEL值到动态内表并把数据发送到其他组件 ...

最新文章

  1. 最简单的前后端分离部署(Koa2)
  2. Mybatis传多个参数(推荐)
  3. POJ 1661 Help Jimmy
  4. kafka删除队列_没想到 Kafka 还会这样问,学会这些带你轻松搞定大厂面试!
  5. 使用ML.NET实现情感分析[新手篇]
  6. scanner java重新输入_如何使用Scanner Java重复读取用户输入
  7. Google 插件总览
  8. 【MFC】多线程同步—事件
  9. MagicAjax C#版试用手记
  10. STM32F1移植到STM32F407 (LD3320)
  11. OkHttp日常使用实战篇
  12. 剪辑师的基本素养--了解四种特写类型
  13. JS正则表达式常见用法实例详解
  14. intel神经网络压缩库distiller使用时遇到的问题
  15. liunx下rdesktop无法使用,安装remmina
  16. Inception模块
  17. 友盟社会化Android组件之第三方登录
  18. 非科班转行的2018秋招算法工程师面经:面试实录+人生经验
  19. [NLP学习笔记-Task10] Transformer + BERT
  20. 浏览器如何设置默认打印机的纸张类型

热门文章

  1. 127.0.0.1 拒绝了我们的连接请求(解析格式数据)
  2. 关于常用传感器NPN和PNP类型的选择
  3. 通道和色彩调整——冷色调图片
  4. 【已解决】微信内置浏览器清缓存
  5. KeyTool 和 OpenSSL 相互转换 [转]
  6. VVC快速仿射运动补偿
  7. CISCO 关闭4786端口解决方法 cisco IOS and IOS XE software Smart Install protocol Misuse
  8. count时结果 hive_关于hive中的count的用法(一)
  9. Python web客户端编程简单示例
  10. 福利,架构师之路定制T恤