一
前言
因為標準事務程式碼SM36排程的後臺作業功能相對比較簡單。專案中需要針對後臺作業做很多特殊的處理,這些處理有些可以透過標準功能實現, 有些無法透過標準功能實現。
為了簡化後臺作業的定義及豐富後臺作業的控制,開發了這個後臺作業二次排程程式
ZBC_IF_JOB_SCHEDULE
本文給出了增強後臺作業排程的幾個配置場景及示例.
詳細引數設定
無峰,公眾號:ABAP 技巧與實戰SAP工具箱 增強後臺作業排程程式詳解(一)
二
場景及示例
列舉出瞭如下場景
一個作業定義多個步驟
帶有萬用字元號的變式在一個作業中
定義程式的併發作業
定義多變式的併發
按天定義的作業
控制指定時間段不執行作業
01
一個作業定義多個步驟
示例場景是一個主資料下傳場景,需要優先下傳主資料部分,然後下傳商品的不同檢視資訊, 最後下傳各種列表。
這些JOB編號有一個共同的作業名稱ZIF_MD205。有相同的作業間隔期間。 同時設定了步驟順序。
個別步驟之間有等待時間,透過程式 ZBC_JOB_WAIT 實現等待。
在SM37中檢視作業細節時可以看到這些等待步驟。
02
帶有萬用字元號的變式在一個作業中
變式中維護萬用字元號,並且透過變式處理方式在一個作業的實現多個步驟。
示例是處理系統後臺開票程式。開票程式中只能限定一個銷售組織。 所以要為每一個銷售組織都建立一個變式,這些變式都以VF06開頭。
後臺排程配置表中變式維護VF06* 。同時定義變式處理方式A 。 這樣每個VF06*開頭的變式都會建立一個步驟。
變式允許的輸入方式
程式的多個變式
SM37中看到的作業詳情
03
定義程式的併發作業
示例是交貨單過賬程式。
在一個執行週期無法處理完所有需要自動過賬的交貨單。
所以為該JOB編號定義了併發處理。 併發10個作業處理。 同時傳遞選擇引數S_VBELN到併發排程程式ZBC_MULTI_JOB_ALL。
SM37中可以看到具體的併發作業。 這些併發作業都是由作業ZA_DN_POST_MULTI再次排程而來 併發作業命名用原程式___。
因為定義了10個併發 所以依次處理 00_09 10_19 。。。。。90_99 的尾號。
04
定義多變式的併發
程式ZA_DN_POST建立了多個以BGRUN開頭的變式。作業中定義變式 BGRUN* 變式處理方式B(多個作業執行)。 這樣也可以實現作業的併發執行。 併發透過變式中限定的條件實現。
SM37中可以看到最終生成的三個作業 作業名 = _
相比定義程式的併發作業。 這種方式需要建立若干個變式,好處是可以隨意區分間隔。
05
按天定義的作業
給出作業週期為86400秒,同時限定作業執行的時間範圍。 計算作業的執行會在間隔期間修正。 避免作業因為延遲的原因。 導致某天沒有執行。
06
指定時間段不執行作業
傳輸請求時,如果傳輸的請求包含重要資訊的改變,比如表結構調整。 此時如果後臺還在執行建立單據的動作。 則後臺作業會大量報錯 “版本不一致”,該錯誤在ST22中可以檢視到。
為了避免這種報錯。 給出一個空擋期不執行後臺作業, 每天在此空擋期才傳輸請求。
下圖中給出了11:30 - 12:00 的空檔期。 在此期間將沒有作業執行,可以用來傳輸請求。
三
總結
ZBC_IF_JOB_SCHEDULE用於增強排程後臺作業。 在標準排程基礎上添加了很多實用功能。 管理人員可以透過SE16N維護表ZTIF002BJ,實現批次維護,調整後臺作業。
在專案實踐中,極大簡化了的作業的定義,調整過程。並附加了很多實用功能。用於定義更復雜的作業。
關於新版的下載: 舊版已經可以完成大部分功能了。如需新版,可以打賞後文章向作者索取。
THE
END
約定
如果你對這篇文章感興趣,請幫忙點贊,在看,分享。
(
如果你真的喜歡這篇文章,請記得回來打個賞,作為支援我繼續下去的動力,這是一個正反饋過程. 越多的人打賞,作者越有動力分享,讀者就能享受更多的福利.畢竟打賞的金額富不了我,窮不了你,卻能支援這個公眾號長久發文.
)
公眾號主群加入受限, 請掃碼加入副群后,向管理員申請加入主群