在采购订单屏幕的左上角有个特殊的按钮,可以通过它创建、查看或删除采购订单的附件。这个按钮是使用GOS(Generic Object Service)工具实现的,可以把GOS理解为一个连接文档和SAP内各种对象的一个工具,包括,采购订单(me23n),会计凭证(FB03)等等都用到了GOS。
下面就是me22n修改采购订单时的GOS,可以看到能为这个PO创建附件,也能查看附件清单。
![读取采购订单附件(GOS)-[BDS_GOS_CONNECTIONS_GET/SO_DOCUMENT_READ_API1] 读取采购订单附件(GOS)-[BDS_GOS_CONNECTIONS_GET/SO_DOCUMENT_READ_API1]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNEb3ZMM2QzZHk1aVlXbGtkWE5oY0M1amIyMHZkM0F0WTI5dWRHVnVkQzkxY0d4dllXUnpMekl3TVRrdE1EVXRNamhmTVRZdE1EVXRNekl1YW5Cbg==)
下面的例子程序是用来读取PO附件文档的名称和内容,其中用到了2个FM BDS_GOS_CONNECTIONS_GET SO_DOCUMENT_READ_API1。
BDS_GOS_CONNECTIONS_GET:用来获取GOS的连接
SO_DOCUMENT_READ_API1:用来通过GOS连接读取具体的附件文档名称、内容等相关信息。
程序里加了个断点,运行时能看到 lt_object_content和 lt_object_header中的内容,一个保存了附件名字(BaiduSAP.txt)和类型(ASC),另外一个保存了内容。
![读取采购订单附件(GOS)-[BDS_GOS_CONNECTIONS_GET/SO_DOCUMENT_READ_API1] 读取采购订单附件(GOS)-[BDS_GOS_CONNECTIONS_GET/SO_DOCUMENT_READ_API1]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNEb3ZMM2QzZHk1aVlXbGtkWE5oY0M1amIyMHZkM0F0WTI5dWRHVnVkQzkxY0d4dllXUnpMekl3TVRrdE1EVXRNamhmTVRZdE5URXROVE11YW5Cbg==)
![读取采购订单附件(GOS)-[BDS_GOS_CONNECTIONS_GET/SO_DOCUMENT_READ_API1] 读取采购订单附件(GOS)-[BDS_GOS_CONNECTIONS_GET/SO_DOCUMENT_READ_API1]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNEb3ZMM2QzZHk1aVlXbGtkWE5oY0M1amIyMHZkM0F0WTI5dWRHVnVkQzkxY0d4dllXUnpMekl3TVRrdE1EVXRNamhmTVRZdE5EWXROVFV1YW5Cbg==)
txt文件的内容:
![读取采购订单附件(GOS)-[BDS_GOS_CONNECTIONS_GET/SO_DOCUMENT_READ_API1] 读取采购订单附件(GOS)-[BDS_GOS_CONNECTIONS_GET/SO_DOCUMENT_READ_API1]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNEb3ZMM2QzZHk1aVlXbGtkWE5oY0M1amIyMHZkM0F0WTI5dWRHVnVkQzkxY0d4dllXUnpMekl3TVRrdE1EVXRNamhmTVRZdE5UUXROREF1YW5Cbg==)
me23n采购订单中查看到的文档清单:
![读取采购订单附件(GOS)-[BDS_GOS_CONNECTIONS_GET/SO_DOCUMENT_READ_API1] 读取采购订单附件(GOS)-[BDS_GOS_CONNECTIONS_GET/SO_DOCUMENT_READ_API1]](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNEb3ZMM2QzZHk1aVlXbGtkWE5oY0M1amIyMHZkM0F0WTI5dWRHVnVkQzkxY0d4dllXUnpMekl3TVRrdE1EVXRNamhmTVRZdE1EWXRNelV1YW5Cbg==)
以上。