SAP工具箱 自動生成發出接口程序(二 接口定義表)

點擊藍字 關注我們

前言

前文介紹了發出接口程序的執行原理及怎么自動生成發出接口程序.

詳見鏈接無峰,公眾號:ABAP 技巧與實戰SAP工具箱 自動生成發出接口程序(一)

本文主要介紹生成發出接口程序時使用的基本配置表ZTIF002中的字段及用法

接口表定義表

接口定義表ZTIF002. 用來記錄所有的接口信息,并通過特定的字段控制接口的行為.

01

JIEKNO

JIEKNO 接口編號

02

JIEKNM

JIEKNM 接口描述

03

01

請輸入標題

EXSYS

EXSYS 外部系統

接口對應的外部系統.這里的接口不包含外部系統之間的接口. 只包含ECC/S4 和外部系統之間的接口.所以通過外部系統編碼標識接口對應的外部系統(外部系統登記在表ZTIF001中)

04

JIEKNO_COMM

JIEKNO_COMM 通用接口編號

底層使用的接口編號. 比如外部系統傳到ECC創建商品憑證接口,底層接口編號BC010, 該接口中也有個接口編號字段.用于區分不同業務:比如盤點接口使用MM120 報損業務 MM121 收貨MM122 等.

這樣可以通過接口編號區分不通的業務, 同時這些不同的業務實際上又使用了同一個底層接口傳遞商品憑證.

配置通用接口編號,以便ZIFLOG中能解析并查看消息內容

05

IFDIR

IFDIR 接口方向:I/O

I 入站 O 出站 該字段會影響通用編碼轉換邏輯:出站會使用字段域定義中的轉換函數轉出(比如去掉前置0),入站會使用字段域定義中的轉換函數轉入(比如添加前置0),接口方向一定不能定義錯誤.如果出現了不必要的轉換, 可以使用一個不帶域轉換函數的域來定義數據,避免自動轉換邏輯生效

自動轉換邏輯調用了類方法

ZCL_DATA_HELPER=>AUTO_CONVERSION_EXIT_INPUT 和AUTO_CONVERSION_EXIT_OUTPUT

一般情況下,RFC函數創建的接口都是入站接口. 但是也可以把外部系統接口調用封裝到一個RFC函數中給ECC系統調用, 此時該RFC函數是出站接口

06

IFTYP

IFTYP 接口類型(M 主數據 D 單據)

僅標記一下是主數據還是單據接口, 無實際控制作用. 主數據接口可能通過一個接口編號群發給多個系統. 單據接口不能群發,只會通過特定的接口編號發送或分發到一個系統

07

IFASY

IFASY 異步接口標記 標記接口是異步接口, 無標記則是同步接口. 一般同步接口無需通過PO. 異步接口必須通過PO.

08

MABIAO

MABIAO 是否碼表接口(停用)

09

CHTAB

CHTAB 變化點記錄的表(如果沒有維護下傳控制表,則按所有數據比較是否改變, 如果改變傳輸所有數據)

下傳控制表的命名規則ZTIF<主表> .

比如商品主表 MARA 下傳控制表 ZTIFMARA

采購訂單主表EKKO? 下傳控制表 ZTIFEKKO

10

KEYFT

KEYFT 關鍵字過濾標記(停用)

11

MAXLN

MAXLN 每個消息最大傳輸的條目數

用于控制傳出程序每個消息中的最大條目數,如果配置了該值并且選擇屏幕中的最大條目數>該值,則替換成配置的最大條目數,如果沒有配置,按程序選擇屏幕中的設置

12

CONVERT_UNIT

CONVERT_UNIT 數量轉換為基本單位數量(維護接口的商品/數量/單位的字段名, 用/分割).

在通用轉換類方法

ZCL_DATA_HELPER=>AUTO_CONVERSION_EXIT_OUTPUT中會使用這個邏輯,用來把數量轉換成基本單位數量. 這里維護接口中商品/數量/單位的字段名

比如: MATNR/MENGE/MEINS

這個轉換邏輯用處不太大,一般的單據都有單據數量和基本數量. 比如交貨單 LIPS-LFIMG 是單據數量? LIPS-LGMNG 是基本數量. 接口中可以直接傳輸LIPS-LGMNG.表示傳輸的基本單位數量.如果單據沒有基本單位數量. 則可以通過這個配置執行數量轉換.

13

ACTIV

ACTIV 接口活動標記

用于標記接口活動,沒有設置該標記的接口無法執行(傳出接口會報錯并中斷執行,傳入接口會在SXI_MONITOR中報錯),可以通過設置該字段為空停止傳出或傳入接口的執行.

14

ZQKTZ

ZQKTZ 賬期可調整標記

影響小票/商品憑證相關接口

特定接口中實現該邏輯:如果發現單據中賬期已經關閉,則調整為當前月的第一天.這樣避免賬期關閉而報錯(該邏輯個別項目使用)

15

NODUP

NODUP 不檢查單據重復

上傳接口默認都會檢查單據是否重復.允許通過配置取消重復性檢查.

上傳接口在PROXY中調用對應函數產生IDOC ,比如商品憑證調用函數Z_CREATE_IDOC_OF_MB產生商品憑證的IDOC

產生IDOC時通過函數Z_CHECK_IDOC_DUPLICATE檢查IDOC是否重復產生.如果重復,調整IDOC的消息類型(EDIDC-MESTYP)為ERROR_DUP 這樣后續執行IDOC時報錯.

通過如下字段檢查重復性

  • EDIDC-REFINT? 接口編號

  • EDIDC-RCVPRN? 合作伙伴(客戶或邏輯系統)

  • EDIDC-SNDLAD? 外部單號

  • EDIDC-SNDSAD? 地點

  • EDIDC-REFMES? 外部單號對應多個IDOC時,添加識別序號

16

WDATA

WDATA 接口內容記錄在表 ZTIF_LOG_DATA中

標記后的RFC函數的傳入參數和傳出參數內容會寫入表ZTIF_LOG_DATA中. 后續可以通過ZIFLOG查詢內容.對于使用PO的接口,該字段無意義.

17

WIFLOG

WIFLOG 寫入接口控制日志表ZTIF_LOG標記.

通過程序ZIFLOG可以監控接口的執行情況及接口傳輸的數據內容

18

JKTYP

JKTYP 地點庫位檢查(單據類接口的地點庫位檢查邏輯)

單據類的接口有時需要按地點/庫位識別該單據是否需要通過特定接口傳輸.

  • 空 地點/庫位檢查維護的服務器對應的系統ID與接口的系統ID一致. 如果地點/庫位.在字段在單據記錄下傳控制表的保存函數中使用.

  • A 地點/庫位檢查T001L-ZWHSY 非空(WMS接口)

  • B 地點/庫位檢查t001l-ZZXS = 'A'(線上系統接口)

  • C 地點/庫位檢查T001L-ZZSX = 'Z'(中臺系統接口)

  • D 不執行地點/庫位檢查

19

TZMSG

TZMSG 消息通知類接口標記

因為使用了接口體系在單據保存時記錄了需要自動發送的郵件信息,所以需要標記一下該接口是消息通知類,這樣在單據保存時,會寫入表 ZTMSG_H/ZTMSG_I 后續通過程序ZREP_SEND_MAIL_1? ? ? ? ? ? ? ? 郵件發送程序 統一發送郵件

比如交貨單過賬后,郵件通知相應的人員給交貨單已經過賬(物流已經發出貨物)

20

SYSCT

SYSCT 群發系統數(涉及外圍系統的服務器個數)

當主數據群發的時候, 每個接收系統都需要有一個成功的反饋,為了確保所有系統都成功的收到.需要用成功反饋的個數和系統個數比較,如果成功反饋的個數>=系統個數,才會認為所有的系統都接收到了. 才能夠標記數據發送成功(體現在下傳控制表RSTATUS字段 比如ZTIFMARA-RSTATUS . 同時ZIFLOG在界面也會顯示(消息成功響應標記 FLAG_ACK = 'X' )

如果未設置,視同為1處理

關于系統消息的反饋詳見鏈接無峰,公眾號:ABAP 技巧與實戰PO系列之 消息的確認反饋

21

SAVE_PROC_LOG

SAVE_PROC_LOG 寫入下傳控制表過程記錄日志(單據)

對于單據類的接口, 單據在保存時根據過濾條件寫入下傳控制表. 這個標記用來控制是否把過濾的過程寫入標準日志. 如果標記了. 可以使用TCODE SLG1 查詢對象ZIF 獲取日志信息,查看單據沒有寫入下傳控制表的原因

22

FUNCNAME

FUNCNAME 函數名

如果是RFC函數定義的同步接口,可以在此維護一個函數名, 如果函數名為空, 默認會按照命名規則Z_IF_<接口編號> 生成一個函數名. 在監控程序ZIFLOG中使用. 通過函數名讀取函數的參數信息,以便讀取保存的參數值呈現出來

23

DPATH

DPATH 下載路徑/發布的webservice

特殊情況下使用.

對于傳出接口,用于記錄對方的服務調用路徑.

比如外圍系統發布了一個服務 http://testwb.xx.cn/<動態部分> .PO調用對方服務的時候,需要通過接口傳輸的動態路徑拼出最終調用的服務路徑

對于傳入接口, 則用于記錄PO產生的webservice的wsdl定義地址或http調用地址

24

PREFIX

PREFIX 文件名前綴

對于文件類接口(不通過PO),記錄該文件名的前綴.

25

MAILADD

MAILADD 郵箱地址(停用)

26

LIFNR_FLAG

LIFNR_FLAG 供應商轉換標記

把對方傳輸的外部供應商編碼轉換成SAP供應商,外部供應商編號記錄在but000-bpext中

轉換邏輯寫在底層轉換方法

ZCL_DATA_HELPER=>AUTO_CONVERSION_EXIT_INPUT中

27

WERKS_FLAG

WERKS_FLAG 地點轉換標記

把對方傳輸的外部地點編碼轉換成SAP地點編碼,外部地點編碼記錄在T001W-ZJMDH中

轉換邏輯寫在底層轉換方法

ZCL_DATA_HELPER=>AUTO_CONVERSION_EXIT_INPUT中

28

DISP_METHOD

DISP_METHOD接口發送特性(停用)

29

CAN_COMPARE

CAN_COMPARE 接口可比較標記(單據類的可以通過ZIF_COMPARE比較單據的發出,收到情況)

單據類的接口在發出或者接收時會根據配置寫入表 ZTIF_COMPARE中. 然后外部系統通過接口BC000傳回單據的接收或發送信息. 這樣表ZTIF_COMPARE中對于ECC發出的單據或者ECC接收的單據就會記錄完整的發出,接收信息.

通過報表ZIF_COMPARE可以監控單據的發出接口情況. 對于只有發出,沒有接收的單據需要檢查是否因為PO的原因或者其它原因沒有傳輸到目標系統. 有利于快速發現傳輸失敗的單據.

總結

自動生成發出接口程序和傳入接口模板要求接口編號必須登記在接口定義表中. 這樣就可以通過該表查看系統中的所有接口信息.

接口定義表對傳出接口和傳入接口都有控制作用.

接口定義表中整合了許多和接口相關的控制信息,這些控制方式在不同的項目中提出并整合到這個表中. 有些控制有通用價值,得以保留,有些沒有通用價值,逐漸廢棄.

THE

END

約定

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,646評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,595評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,560評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,035評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,814評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,224評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,301評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,444評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,988評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,804評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,998評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,544評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,237評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,665評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,927評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,706評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,993評論 2 374

推薦閱讀更多精彩內容