動態建立內表示例

2022-02-15 08:23:59 字數 2046 閱讀 3184

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 的複雜度,比另一種線性表 順序表快得多,但是查詢乙個節點或者訪...