endform. " output_dyntable_data
---------------------------例項----------------------------訊息方式的idoc
在系統中,我們經常可以看到edi方式的輸出,與列印輸出類似。下面我們基於文章"idoc例項,outbound idoc"的基礎上,簡單講解這種方式的idoc輸出。
1,建立乙個function:y_idoc_po_send.
這是我們的outbound funtion module,用來建立idoc的內容。同樣的,該函式的介面都是標準的。
下面將要介紹的tcode we41中可以檢視系統已有的同類函式,可以參照設定我們的函式介面。然後寫入如下**:
data: ls_pohead type ypohead,
ls_poitem type ypoitem,
ls_ekko type ekko,
lt_ekpo type table of ekpo with header line.
* control_record_out
clear control_record_out.
move control_record_in to control_record_out.
* control_record_out-mestyp = 'ypo'. "message type
* control_record_out-idoctp = 'ypoidoc'. "idoc type
control_record_out-direct = '1'.
control_record_out-serial = sy-datum.
control_record_out-serial+8 = sy-uzeit.
* read from ekko/ekpo
clear ls_ekko.
select single *
into ls_ekko
from ekko
where ebeln = object-objky(10) "採購單號
and loekz = space.
if sy-subrc <> 0.
raise error_message_received.
endif.
refresh lt_ekpo.
select *
into table lt_ekpo
from ekpo
where ebeln = ls_ekko-ebeln
and loekz = space.
2,we41, 建立outbound process code
進入編輯狀態後,選擇「新增新條目」按鈕,建立yposend,對應於新建的y_idoc_po_send。
選中下面的process with ale service,代表建立outbound idoc後自動傳送給接收方。
3,nace/naco,建立我們的輸出型別
建立乙個edi型別的輸出,program填寫rsnasted,form routine填寫edi_processing。
4,we20設定partner profile.
前兩篇文章中,我們並沒有要求填寫partner function,不過這次必須填寫了。
partner function是從屬於partner type下面的,這個邏輯關係在表tpar中體現。
5,傳送idoc
事實上,我們已經定義完畢了,可以維護某採購訂單的輸出型別來傳送idoc了。
tables: nast.
data: rcode type i.
if rcode is initial.
commit work. "傳送idoc到接收方
endif.
tables: nast.
data: rcode type i.
if rcode is initial.
commit work. "傳送idoc到接收方
endif.
下面這種方式同樣可用於觸發其他方式的輸出型別,比如列印輸出。
ABAP建立動態內錶
說明 最近業務顧問有很多的需求,其實都是一樣的邏輯,就是處理的表不一樣,就要寫好多次程式,整理一下他的一系列需求之後,準備寫乙個動態的程式,這樣會方便很多,動態的其實核心是動態的內錶,所以簡單的說一下動態內錶的定義方式。1 根據資料庫表定義動態內錶 這種定義比較直接,直接把資料庫表的所有欄位都放在動...
js動態建立dom元素示例
js中有時候需要動態的建立 這也是常規的基礎知識,再次我總結一下,以備後用!直接上 function add 顯示相關的資訊 function show 動態新增超連結1 function create1 動態新增超連結2 function create2 影象上的星球,把它們放大。動態新增area...
共享鏈表示例
共享鍊錶的應用小例項 前言 1 鍊錶 linked list 是一種常見的基礎資料結構,是一種線性表,但是並不會按線性的順序儲存資料,而是在每 個節點裡存到下乙個節點的指標 pointer 由於不必按順序儲存,鍊錶在插入的時候可以達到o 的複雜度,比另一種線性表 順序表快得多,但是查詢乙個節點或者訪...