0讀取採購訂單附件 GOS

2022-08-17 20:54:17 字數 2764 閱讀 8791

在採購訂單螢幕的左上角有個特殊的按鈕,可以通過它建立、檢視或刪除採購訂單的附件。這個按鈕是使用gos(generic object service)工具實現的,可以把gos理解為乙個連線文件和sap內各種物件的乙個工具,包括,採購訂單(me23n),會計憑證(fb03)等等都用到了gos。

下面就是me22n修改採購訂單時的gos,可以看到能為這個po建立附件,也能檢視附件清單。

下面的例子程式是用來讀取po附件文件的名稱和內容,其中用到了2個fm bds_gos_connections_get so_document_read_api1。

bds_gos_connections_get:用來獲取gos的連線12

3456

78910

1112

1314

1516

1718

1920

2122

2324

2526

2728

2930

3132

3334

3536

3738

3940

4142

4344

4546

4748

4950

5152

5354

5556

57reportytest_gos_export_attachment.

parameters:p_ebelntypeekko-ebeln.

data:lv_logical_systemlikebapibds01-log_system,

classnamelikebapibds01-classname,

gos_objkeylikeswotobjid-objkey,

lt_gos_connectionslikebdn_conoccurs1withheaderline.

data:lv_idtypesofolenti1-doc_id,

ls_doc_datatypesofolenti1,

lt_object_headertypestandard table ofsolisti1withheaderline,

lt_object_contenttypestandard table ofsolisti1withheaderline,

lt_hextypestandard table ofsolixwithheaderline.

call function'own_logical_system_get'

importing

own_logical_system=lv_logical_system

exceptions

own_lv_logical_system_not_defined=1

others=2.

.gos_objkey=p_ebeln."採購訂單

call function'bds_gos_connections_get'

exporting

logical_system=lv_logical_system

classname='bus2012'"用來標識採購訂單

objkey=gos_objkey

client=sy-mandt

tables

gos_connections=lt_gos_connections

exceptions

no_objects_found=1

internal_error=2

internal_gos_error=3

others=4.

loop atlt_gos_connections.

lv_id=lt_gos_connections-loio_id.

call function'so_document_read_api1'

exporting

document_id=lv_id

importing

document_data=ls_doc_data

tables

object_header=lt_object_header

object_content=lt_object_content

contents_hex=lt_hex

exceptions

document_id_not_exist=1

operation_no_authorization=2

x_error=3

others=4.

break-point.

endloop.

程式裡加了個斷點,執行時能看到  lt_object_content和 lt_object_header中的內容,乙個儲存了附件名字(baidusap.txt)和型別(asc),另外乙個儲存了內容。

txt檔案的內容:

me23n採購訂單中檢視到的文件清單:

以上。

採購訂單收貨

migo收貨,其中,101是收貨,102是對收貨的沖銷 進去以後第一行是灰色的,是因為被選中了,在明細那裡可以改數量,勾選確定的話可以檢查正確了可以過賬 這個是計畫協議的收貨,在ekko裡面,計畫協議的型別 bsart 是lp 計畫協議是由mrp跑出來的,採購訂單是由前台錄入的,我理解計畫協議就是由...

採購訂單 退貨

本文件屬於mm模組,描述的是採購流程的退貨訂單。當之前採購的貨物已入庫並向 商結算,由於某種原因 如發現質量問題 需退回給 商,就可以建立退貨型採購訂單。退貨型採購訂單後續操作也需要收貨,並進行發票校驗。其中收貨的移動型別是161,發票校驗採用貸方憑證 與發票類作法相反 二 操作 此示例資料與建立標...

自動建立採購訂單

在實際業務中,常常出現到貨物料沒有訂單或訂單未批准的現象,按照sap的標準流程,應該拒絕收貨。但在實際業務中,這些物料可能是緊急採購的急件,如不及時處理,將會影響生產計畫的安排。對於這種特殊情況,其實sap有很靈活的處理方式,即由收貨自動建立訂單。需要說明的是,這種操作方式並不是sap推薦的,不應在...