例:バックグラウンドで実行する ProductionOrder BOD 生成の設定
[レプリケーション文書アウトバウンド相互参照] フォームには、アプリケーションから ProductionOrder BOD を生成するための 3 つの定義が含まれています。これらの定義には、各種のメソッドとフィルタが含まれています。メソッドは次のとおりです。
- TriggerProductionOrderSyncSp - 全ての生産オーダを含めます。
- TriggerProductionOrderBGSyncSp - スケジュールされただけの全ての生産オーダを含めます。
- TriggerProductionOrderBGSchSyncSp - 変更された全ての生産オーダを含めます。
メソッド名に「BG」を含む定義は、バックグラウンドタスクとして実行できます。以下のサンプル定義には、日付範囲に関するフィルタ基準が含まれていません。バックグラウンドタスクの初回実行後、[最新手動公開日] に日付が表示されたら、日付フィルタを追加できます。
例 1
TriggerProductionOrderBGSyncSp メソッドと以下のフィルタを含む定義を使用して、計画またはスケジュールの実行後に全ての新規作成ジョブが更新されます。フィルタは、初のスケジュール更新後、ProductionOrder を取得します。ジョブが日付とともに入力されました。プランナが初めて実行され、開始日と終了日を更新します。
次のフィルタの組み合わせにより、生産オーダレコードを制限します。
- 確定ジョブに関してのみフィルタします。これによって、スケジュールの変更がピックアップされます。
Status = 'Firm'
発行済ジョブに関してのみフィルタして、実際のレポーティングのために資材と作業の変更をピックアップすることもできます。
- 最新のバックグラウンドタスク実行以降に変更されたレコードに関してのみフィルタします。
RecordDate > dbo.GetReplDocLastManualPublishDate('SP!', 'Invoke', 'TriggerProductionOrderBGSyncSp')
- まだスケジュールされていない作成済みのジョブ(確定状況ジョブ)に関してのみフィルタします。
CreateDate > dbo.GetReplDocLastManualPublishDate('SP!', 'Invoke', 'TriggerProductionOrderBGSyncSp')
- 一定の品目に関するフィルタを追加できます。
Item BETWEEN 'item number' AND 'item number' AND NOT Item = 'item number'
- 一定の製品コードに関するフィルタを追加できます。
Product_code IN ('Product_code1','Product_code2')
例 2
TriggerProductionOrderBGSchSyncSp メソッドを含む定義では、以下のフィルタを使用できます。これらは、ユーザによって決定された時間内(過去 1 か月と今後 1 か月の間の計画ウィンドウ)にスケジュールされた変更に固有なフィルタです。
- 確定ジョブに関してのみフィルタします。これによって、スケジュールの変更がピックアップされます。
Status = 'Firm'
- 最新のバックグラウンドタスク実行以降に変更されたレコードに関してフィルタします。
RecordDate > dbo.GetReplDocLastManualPublishDate('SP!', 'Invoke', 'TriggerProductionOrderBGSchSyncSp')
- 最新の ProductionOrder でスケジュールされた開始日以降またはタイムフェンス内のスケジュールされた現在の開始日以降に変更されたジョブに関してもフィルタできます。
MONTH(StartDate) BETWEEN MONTH(GETDATE() - 1) AND (MONTH(GETDATE())+ 1) OR MONTH(LastStartDate) BETWEEN MONTH(GETDATE() - 1) AND (MONTH(GETDATE()) + 1)
- 一定の品目に関するフィルタを追加できます。
Item BETWEEN 'item number' AND 'item number' AND NOT Item = 'item number'
- 一定の製品コードに関するフィルも追加できます。
ProductCode IN ('Product_code1','Product_code2')
- フィルタの追加によって、最初のスケジュールされた実行で作成された BOD を作成しないようにできます。
CreateDate < dbo.GetReplDocLastManualPublishDate('SP!', 'Invoke', 'TriggerProductionOrderBGSyncSp')