點擊藍字 關(guān)注我們
一
前言
因為標準事務(wù)代碼SM36調(diào)度的后臺作業(yè)功能相對比較簡單.項目中需要針對后臺作業(yè)做很多特殊的處理,這些處理有些可以通過標準功能實現(xiàn), 有些無法通過標準功能實現(xiàn).
為了簡化后臺作業(yè)的定義及豐富后臺作業(yè)的控制,開發(fā)了這個后臺作業(yè)二次調(diào)度程序
ZBC_IF_JOB_SCHEDULE
本文給出了增強后臺作業(yè)調(diào)度的幾個配置場景及示例.
詳細參數(shù)設(shè)置無峰,公眾號:ABAP 技巧與實戰(zhàn)SAP工具箱 增強后臺作業(yè)調(diào)度程序詳解(一)
二
場景及示例
列舉出了如下場景
一個作業(yè)定義多個步驟
帶有通配符號的變式在一個作業(yè)中
定義程序的并發(fā)作業(yè)
定義多變式的并發(fā)
按天定義的作業(yè)
控制指定時間段不執(zhí)行作業(yè)
01
一個作業(yè)定義多個步驟
示例場景是一個主數(shù)據(jù)下傳場景,需要優(yōu)先下傳主數(shù)據(jù)部分,然后下傳商品的不同視圖信息, 最后下傳各種列表.
這些JOB編號有一個共同的作業(yè)名稱ZIF_MD205.有相同的作業(yè)間隔期間.? 同時設(shè)置了步驟順序.
個別步驟之間有等待時間,通過程序 ZBC_JOB_WAIT 實現(xiàn)等待.
在SM37中查看作業(yè)細節(jié)時可以看到這些等待步驟.


02
帶有通配符號的變式在一個作業(yè)中
變式中維護通配符號,并且通過變式處理方式在一個作業(yè)的實現(xiàn)多個步驟.
示例是處理系統(tǒng)后臺開票程序.開票程序中只能限定一個銷售組織. 所以要為每一個銷售組織都創(chuàng)建一個變式,這些變式都以VF06開頭.
后臺調(diào)度配置表中變式維護VF06* .同時定義變式處理方式A . 這樣每個VF06*開頭的變式都會創(chuàng)建一個步驟.

變式允許的輸入方式

程序的多個變式

SM37中看到的作業(yè)詳情

03
定義程序的并發(fā)作業(yè)
示例是交貨單過賬程序.
在一個運行周期無法處理完所有需要自動過賬的交貨單.
所以為該JOB編號定義了并發(fā)處理. 并發(fā)10個作業(yè)處理. 同時傳遞選擇參數(shù)S_VBELN到并發(fā)調(diào)度程序ZBC_MULTI_JOB_ALL.
SM37中可以看到具體的并發(fā)作業(yè). 這些并發(fā)作業(yè)都是由作業(yè)ZA_DN_POST_MULTI再次調(diào)度而來 并發(fā)作業(yè)命名用原程序_<時間>_<尾號開始>_<尾號截至>.
因為定義了10個并發(fā) 所以依次處理 00_09? 10_19 .....90_99 的尾號.


04
定義多變式的并發(fā)
程序ZA_DN_POST創(chuàng)建了多個以BGRUN開頭的變式.作業(yè)中定義變式 BGRUN* 變式處理方式B(多個作業(yè)執(zhí)行). 這樣也可以實現(xiàn)作業(yè)的并發(fā)執(zhí)行. 并發(fā)通過變式中限定的條件實現(xiàn).
SM37中可以看到最終生成的三個作業(yè) 作業(yè)名 = <原作業(yè)名>_<變式名>
相比定義程序的并發(fā)作業(yè). 這種方式需要創(chuàng)建若干個變式,好處是可以隨意區(qū)分間隔.



05
按天定義的作業(yè)
給出作業(yè)周期為86400秒,同時限定作業(yè)執(zhí)行的時間范圍. 計算作業(yè)的執(zhí)行會在間隔期間修正. 避免作業(yè)因為延遲的原因. 導(dǎo)致某天沒有執(zhí)行.

06
指定時間段不執(zhí)行作業(yè)
傳輸請求時,如果傳輸?shù)恼埱蟀匾畔⒌母淖?比如表結(jié)構(gòu)調(diào)整. 此時如果后臺還在執(zhí)行創(chuàng)建單據(jù)的動作. 則后臺作業(yè)會大量報錯 "版本不一致",該錯誤在ST22中可以查看到.
為了避免這種報錯. 給出一個空擋期不執(zhí)行后臺作業(yè), 每天在此空擋期才傳輸請求.
下圖中給出了11:30 - 12:00 的空檔期. 在此期間將沒有作業(yè)執(zhí)行,可以用來傳輸請求.

三
總結(jié)
ZBC_IF_JOB_SCHEDULE用于增強調(diào)度后臺作業(yè). 在標準調(diào)度基礎(chǔ)上添加了很多實用功能. 管理人員可以通過SE16N維護表ZTIF002BJ,實現(xiàn)批量維護,調(diào)整后臺作業(yè).
在項目實踐中,極大簡化了的作業(yè)的定義,調(diào)整過程.并附加了很多實用功能.用于定義更復(fù)雜的作業(yè).
關(guān)于新版的下載: 舊版已經(jīng)可以完成大部分功能了.如需新版,可以打賞后文章向作者索取.
THE
END