決算・レポーティング:決算と照合のデータテンプレート
決算・レポーティング:決算と照合のデータテンプレート
- 収集を推奨する属性
- 追跡すべき主要なアクティビティ
- 抽出ガイド
決算・レポーティング:期間決算と照合の属性
| 名前 | 説明 | ||
|---|---|---|---|
| 財務期間 FinancialPeriod | 通常、会計年度と転記期間を組み合わせて表す、財務レポーティングサイクルの一意の識別子です。 | ||
| 説明 財務期間は主要なケース識別子として機能し、特定のレポーティングサイクルにおける勘定の締めと照合に関するすべてのアクティビティをまとめます。たとえば、2023年12月を「2023-12」と表します。これにより、期間ごとに期間締めプロセス全体を開始から終了まで分析できます。 分析では、各決算のエンドツーエンドのサイクルタイムを追跡し、期間ごとのパフォーマンスを比較して、傾向や異常を特定できます。各財務期間を一意のケースとして定義することで、時間の経過に伴う決算プロセスの効率、ボトルネック、ばらつきを可視化し、測定できます。 重要な理由 分析の基盤となる重要なケース識別子です。決算サイクルタイム、作業負荷、プロセスのコンプライアンスを期間ごとに比較できます。 入手先 通常、財務伝票ヘッダーの会計年度(GJAHR)と転記期間(MONAT)を連結して導出します。たとえば、BKPFテーブルから取得します。 例 2023-122024-032023年第4四半期 | |||
| アクティビティ ActivityName | 期間締めプロセスで実行された、特定の業務イベントまたはタスクの名称です。 | ||
| 説明 この属性は、調整仕訳の転記や財務諸表の生成など、決算・レポーティングサイクルで実行された個別のステップを記録します。期間締めを構成するイベントの順序を示すため、プロセスマップの基盤になります。 アクティビティの分析は、プロセスマイニングの基本です。プロセスフローを可視化し、タスクの順序を特定し、プロセスのばらつきを発見して、各ステップの頻度と所要時間を測定できます。ボトルネック、標準外のプロセス経路、標準化や自動化の機会を特定するうえで欠かせません。 重要な理由 プロセスマップを作成するために必須の属性です。期間締めにおけるタスクの順序を可視化し、分析できます。 入手先 SAPのトランザクションコード(TCODE)、伝票タイプ(BLART)、特定のプログラム実行(例:外貨評価のFAGL_FCV)を組み合わせて導出します。 例 調整仕訳を転記勘定照合を開始転記期間をクローズ | |||
| イベント時刻 EventTime | アクティビティまたはイベントが発生した時点を示すタイムスタンプです。 | ||
| 説明 イベント時刻は、プロセス内の各アクティビティについて正確な日付と時刻を示し、分析の時系列上の基盤になります。通常、伝票の作成日と作成時刻を組み合わせて設定します。 イベントを正しい順序に並べてプロセスフローを再構成するために欠かせないタイムスタンプです。アクティビティ間のサイクルタイムや待機時間、期間締め全体の所要時間など、時間に基づくすべての指標の計算に使います。タイムスタンプを分析することで、遅延を特定し、作業が時間的にどのように分布しているかを把握できます。 重要な理由 必須属性としてイベントの時系列を示し、サイクルタイムの計算とプロセスのボトルネックの発見に必要な情報を提供します。 入手先 通常、財務伝票については、BKPFテーブルの伝票入力日(CPUDT)と入力時刻(CPUTM)から取得します。 例 2023-12-28T14:30:15Z2024-01-02T09:05:00Z2024-01-05T17:21:45Z | |||
| ソースシステム SourceSystem | データを抽出した元のシステムを識別する情報です。 | ||
| 説明 SAP ECCの特定のインスタンス名やIDなど、イベントデータの取得元を示す属性です。複数のERPや財務システムを持つ組織では、異なるソースのデータを区別するために欠かせません。 単一システムの環境でも、データガバナンス、監査、トラブルシューティングに必要なメタデータとして機能します。データの出所を確認できるため、分析への信頼性を高め、データリネージを明確にできます。 重要な理由 データの出所を確認してガバナンスに必要なデータリネージを提供します。複数システムの環境では、プロセスを区別するために欠かせません。 入手先 通常、データ抽出時に追加する固定値で、特定のSAPクライアントとシステムIDを識別します(例:テーブルT000から取得)。 例 ECC_PROD_100SAP_E74_200ECC_FINANCE | |||
| 最終データ更新日時 LastDataUpdate | ソースシステムからデータを最後に更新または抽出した時点のタイムスタンプです。 | ||
| 説明 この属性は、分析対象のデータがどの程度新しいかを示します。データパイプラインが最後に実行された日時を表示し、プロセス分析結果がどの時点のものかを把握できるようにします。 ダッシュボード、特にリアルタイムの進捗を追跡するものでは、このタイムスタンプが欠かせません。ユーザーは、最新の情報を見ているのか、前日のデータを見ているのかを判断できます。これにより、ユーザーの期待値を適切に調整し、分析結果を正しく解釈できます。 重要な理由 データの鮮度をユーザーに知らせます。分析やダッシュボードをタイムリーで適切なものに保つうえで重要です。 入手先 このタイムスタンプは、各データロード処理の終了時に、データ抽出ツールまたはETLツールによって生成・追加されます。 例 2024-05-21T04:00:00Z2024-05-20T04:00:00Z2024-05-19T04:00:00Z | |||
| GL勘定 HKONT | 明細が転記される総勘定元帳勘定の番号です。 | ||
| 説明 総勘定元帳(GL)勘定は、取引を分類する財務の基本マスターデータです。すべての財務転記は、1つ以上のGL勘定に割り当てられます。 決算では、GL勘定別にアクティビティを分析することが、「勘定照合のボトルネック」や「調整仕訳件数分析」のダッシュボードに欠かせません。照合が最も難しい勘定、調整が最も多く必要な勘定、重要な虚偽表示のリスクが高い勘定を特定できます。問題のある勘定にチームの対応を集中させることができます。 重要な理由 照合や調整仕訳を対象に分析でき、遅延や頻繁な修正の原因となる問題のある勘定を特定できます。 入手先 財務伝票明細テーブルBSEGのHKONTで利用できます。 例 113100400500750000 | |||
| 仕訳タイプ JournalEntryType | 「標準」、「調整」、「未払費用」、「反対仕訳」など、仕訳を分類するタイプです。 | ||
| 説明 この属性は、決算プロセスにおける業務上の目的に基づいて財務伝票を分類する派生属性です。通常は、伝票タイプ(BLART)、反対仕訳理由(STGRD)、使用された特定のGL勘定などを組み合わせて判定します。 この分類は、「調整仕訳件数分析」ダッシュボードと関連KPIの基盤となります。調整仕訳や未払費用仕訳を明確に特定することで、件数と金額を測定し、経時的な傾向を追跡し、必要となった根本原因を調査できます。通常の業務転記と期末調整を区別できます。 重要な理由 転記を分類して対象を絞った分析を可能にし、プロセスの健全性を示す調整や未払費用など、主要な仕訳タイプを追跡・測定できます。 入手先 これは派生項目です。通常はBKPFの伝票タイプ(BLART)などを使い、業務ルールに基づいてロジックを定義する必要があります。 例 調整未払計上反転標準 | |||
| 会社コード BUKRS | 財務諸表を作成する法人を表す組織単位です。 | ||
| 説明 会社コードは、SAP Financialsにおける基本的な組織単位です。独自の貸借対照表を持つ独立した会社を表します。すべての財務取引は、会社コード単位で記録されます。 プロセスマイニングでは、会社コードでフィルタリングすることで、企業内の異なる法人間で決算プロセスを比較できます。これにより、成果の高い法人のベストプラクティスを特定するとともに、遅延、調整件数の多さ、プロセス逸脱に悩む法人を見つけ出せます。分析を分割するための重要な切り口です。 重要な理由 異なる法人間で決算のパフォーマンスとコンプライアンスを比較できます。グループ全体の財務分析に欠かせません。 入手先 この項目は、SAPのほぼすべての財務伝票テーブルで利用できます。主な格納先はBKPF(ヘッダー)とBSEG(明細)です。 例 10002000US01DE01 | |||
| 伝票タイプ BLART | 会計伝票の種類を分類するコードです。 | ||
| 説明 伝票タイプはSAPでさまざまな業務取引を区別するために使われます。仕入先請求書(KR)、顧客支払(DZ)、総勘定元帳転記(SA)などが該当します。伝票番号範囲などの属性も制御します。 決算分析では、伝票タイプが有効なフィルターになります。未払費用、引当、反対仕訳など、特定のアクティビティだけを抽出できます。決算関連取引の件数や財務的影響を分析し、プロセスモデル内の特定のアクティビティを定義する際にも役立ちます。 重要な理由 取引を分類・フィルタリングし、未払費用、反対仕訳、会社間転記などの特定のアクティビティを抽出して分析できます。 入手先 伝票ヘッダーテーブルBKPFのBLARTに格納されています。 例 SAABKR | |||
| 伝票番号 BELNR | 会計年度および会社コード内で会計伝票を一意に識別する番号です。 | ||
| 説明 会計伝票番号は、SAPにおける財務転記の主キーです。仕訳、請求書、支払伝票には、それぞれ一意の番号が割り当てられます。 通常、高レベルのプロセス分析で使う項目ではありませんが、詳細分析へのドリルダウンには非常に役立ちます。プロセスマイニングのダッシュボードから、分析担当者は伝票番号を使ってSAPの特定の取引へ直接移動し、大規模な調整仕訳や照合の遅延項目などの異常を詳しく調査できます。分析結果から元の取引へ直接たどれるリンクを提供します。 重要な理由 SAPの元の取引へ直接リンクでき、プロセスビューから特定の会計明細へドリルダウンして詳しく分析できます。 入手先 主キーとしてBKPFテーブルのBELNRに格納されています。 例 100000456719000001233000008901 | |||
| 担当ユーザー USNAM | 取引を作成または実行した担当者のSAPユーザーIDです。 | ||
| 説明 伝票を転記したユーザー、レポートを実行したユーザー、または決算関連プログラムを実行したユーザーを記録します。各アクティビティの担当者を特定できます。 ユーザー別に分析することで、業務量の分布を把握し、研修の必要性を特定し、プロセス逸脱を調査できます。ユーザーごとのアクティビティを表示するダッシュボードでは、負荷が集中しているメンバーや、標準外の手順に従っている可能性のある担当者を見つけられます。財務チーム内のパフォーマンス管理やリソース配分にも役立ちます。 重要な理由 業務量の分布やチームのパフォーマンスを分析し、特定の担当者に関連するプロセス逸脱を特定できます。 入手先 伝票作成についてはBKPFテーブルのUSNAMで利用できます。バッチジョブの場合はTBTCOのSDLUNAMEに格納されています。 例 JSMITHRDOEFIN_ADMIN | |||
| 現地通貨額 DMBTR | 会社コードの現地通貨で表した取引明細の金額です。 | ||
| 説明 この属性は、財務転記に関連する金額を表します。総勘定元帳に対する取引の影響を測る基本的な定量指標です。 金額を分析することで、問題への対応に優先順位を付け、財務リスクを把握できます。たとえば、「調整仕訳件数分析」ダッシュボードでは、少額の調整が大量に発生しているケースと、高額の調整が少数発生しているケースを区別できると、分析の精度が高まります。財務的に重要な取引へ注意を向けることができます。 重要な理由 取引の財務的影響を定量化し、高額な調整仕訳の特定など、重要性に基づく分析を可能にします。 入手先 伝票明細テーブルBSEGのDMBTRで利用できます。 例 1500.75-25000.00123456.00 | |||
| 会計年度 GJAHR | 取引が転記された会計年度です。 | ||
| 説明 会計年度は、財務データを整理するための基本項目です。財務期間のケースIDを構成する主要な要素であり、すべての取引に必要な文脈を提供します。 通常はケースIDの一部ですが、会計年度を独立した属性として持つと、長期的な傾向を分析できます。決算サイクルタイム、調整件数、その他のKPIを前年比で比較し、複数年にわたるパフォーマンスの改善や悪化を特定できます。 重要な理由 時間軸に関する重要な情報を提供し、決算プロセスのパフォーマンスを前年比で比較できます。 入手先 伝票ヘッダーテーブルBKPFのGJAHRで利用できます。 例 202320242022 | |||
| 反対仕訳理由 ReversalReason | 財務伝票を反対仕訳した理由を示すコードです。 | ||
| 説明 SAPで伝票を反対仕訳するとき、目的を説明する理由コードを割り当てられます。たとえば、「当会計期間内の反対仕訳」や「誤った入力」などです。 この属性により、手戻りが発生した理由を把握できます。反対仕訳理由を分析すると、誤入力や日付の誤りなど、エラーのパターンを特定できます。その結果を予防策の導入、研修の改善、システム統制の強化に役立て、エラーと後続の反対仕訳を減らし、決算を効率化できます。 重要な理由 エラーや手戻りの根本原因を直接把握し、プロセス改善とエラー防止の機会を特定できます。 入手先 伝票ヘッダーテーブルBKPFのSTGRDに格納されています。 例 010205 | |||
| 取引先会社 VBUND | 会社間取引に関与するグループ会社を識別するIDです。 | ||
| 説明 取引先会社IDは、会社間取引に参加する相手側の会社コードを識別するために使われます。関連する法人間の勘定照合に欠かせません。 この属性は、「会社間照合フロー」ダッシュボードと「会社間照合サイクルタイム」KPIを直接支えます。取引先会社が設定された取引に絞り込むことで、決算時に大きな課題となりやすい会社間照合プロセスの効率と適時性を重点的に分析できます。 重要な理由 会社間取引を明確に特定し、複雑で時間のかかりやすい会社間照合プロセスを重点的に分析できます。 入手先 伝票明細テーブルBSEGのVBUNDに格納されています。 例 1000US013000 | |||
| 手戻りあり IsRework | 反対仕訳や却下された照合など、手戻りに該当するアクティビティを特定する計算フラグです。 | ||
| 説明 この真偽値属性は、プロセス内の非効率なループや修正を示すイベントまたはイベントの連続にフラグを付けます。たとえば、同じ勘定で「照合レビュー済み」の後に再び「調整仕訳転記」が発生した場合、手戻りとしてフラグを付けられます。 この属性は、プロセスの無駄を定量化するために欠かせません。「照合手戻り件数」ダッシュボードと「照合手戻り率」KPIを支えます。手戻りだけを抽出することで、根本原因を調査し、サイクルタイムへの影響を測定し、初回で正しく完了させることを目指す改善施策の効果を追跡できます。 重要な理由 修正や繰り返しに該当するアクティビティにフラグを付けてプロセスの非効率を定量化し、無駄な作業の測定と削減に役立ちます。 入手先 これは計算属性です。特定のアクティビティの連続(例:ループ)や属性(例:ReversalReasonがnullではない)に基づき、プロセスマイニングツールでロジックを定義します。 例 truefalse | |||
| 期限超過 IsOverdue | アクティビティが予定された目標日より後に完了したかを示す計算フラグです。 | ||
| 説明 この真偽値属性は、アクティビティの実際の完了時刻(EventTime)と予定期限(TargetCompletionDate)を比較します。イベント時刻が目標日より後の場合、フラグはtrueになります。 この属性は、「決算コンプライアンスと期限超過タスク」ダッシュボードと「期限内決算率」KPIを直接支えます。スケジュールからの逸脱を明確かつ即座に示し、管理者は遅延タスクをすばやく特定し、全体スケジュールへの影響を把握し、期限遵守に対するチームの責任を明確にできます。 重要な理由 スケジュール違反を明確に示し、遅延タスクをすばやく特定するとともに、期限内パフォーマンスを測定できます。 入手先 これは計算属性です。EventTimeとTargetCompletionDateを比較して、プロセスマイニングツールで計算します。 例 truefalse | |||
| 照合ステータス ReconciliationStatus | 「未処理」、「レビュー中」、「承認済み」など、勘定照合の現在のステータスです。 | ||
| 説明 この属性は、勘定照合がワークフローを進む際の状態を追跡します。照合が開始済みか、レビューに提出済みか、承認済みか、却下済みかを示します。 照合アクティビティの進捗をリアルタイムで監視するための重要な属性です。どの照合がどのくらい滞留しているかを特定でき、「勘定照合サイクルタイム」などのKPIを支えます。承認プロセスを可視化し、照合のボトルネックやチームの業務量を追跡するダッシュボードに欠かせません。 重要な理由 照合ワークフローを可視化し、進捗の追跡、ボトルネックの特定、レビューと承認にかかる時間の測定を可能にします。 入手先 この情報は、別の照合ツール(例:BlackLineのSAP Account Substantiation and Automation)またはカスタムステータス項目に格納されていることがよくあります。通常、BKPF/BSEGの標準項目ではありません。 例 未着手進行中承認済み却下 | |||
| 目標完了日 TargetCompletionDate | アクティビティまたは決算プロセス全体に設定された予定期限または期日です。 | ||
| 説明 目標完了日は、決算プロセスの進捗を測定する基準となるスケジュールを表します。特定のマイルストーンまたは決算全体を完了すべき期限です。 パフォーマンスやコンプライアンスに関する分析に欠かせない属性です。「期限内決算率」KPIの計算や、「決算コンプライアンスと期限超過タスク」ダッシュボードに使われます。実際のイベント時刻と目標日を比較することで、タスクが予定どおりか、遅延しているか、遅延リスクがあるかを判定し、決算プロセスを先回りして管理できます。 重要な理由 決算アクティビティが期限内に完了したかを測定する基準を提供し、期限内完了KPIを支えながら、コンプライアンスとパフォーマンスを監視できます。 入手先 通常は、別のカレンダー、SAP Financial Closing cockpitなどの決算管理ツール、またはスプレッドシートで管理されるマスターデータです。取引データには含まれません。 例 2023-12-29T23:59:59Z2024-01-03T17:00:00Z2024-01-02T12:00:00Z | |||
| 自動実行 IsAutomated | アクティビティが人のユーザーによって実行されたか、自動化されたシステムによって実行されたかを示すフラグです。 | ||
| 説明 この真偽値属性は、手動タスクとシステムが自動実行したタスクを区別します。たとえば、外貨評価のスケジュール済みバッチジョブや、定期仕訳を転記するボットなどです。通常は、取引に関連付けられたユーザー名(例:「BATCHUSER」)を分析して判定します。 自動化の度合いを把握することは、効率化の機会を特定するうえで重要です。この属性を分析すると、プロセスのどの部分が手動で、どこが自動化に適しているかを可視化できます。また、システムが生成したアクティビティを除外し、人の業務量を正確に評価できます。 重要な理由 手動アクティビティとシステム主導のアクティビティを区別し、自動化の機会を特定するとともに、手作業の業務量を正確に測定できます。 入手先 これは派生属性です。通常はユーザー名(USNAM)に基づき、既知のシステムユーザーまたはバッチユーザーのIDリストから自動タスクを判定します。 例 truefalse | |||
| 部門 Department | アクティビティまたは取引を担当する機能部門または原価センタです。 | ||
| 説明 この属性は、取引に関連する「財務」、「営業」、「物流」などの業務部門を識別します。転記に紐づく原価センターのマスターデータや、ユーザーのマスターデータから派生することがよくあります。 部門別の分析は、「決算チーム業務量分布」ダッシュボードを支えます。各業務機能が期末の業務量にどのように関与しているかを把握できます。特に、後続の調整や照合が必要になる可能性のある取引をどの部門が開始しているかを確認できます。財務チーム以外で決算プロセスに影響を与えている領域も明らかになります。 重要な理由 異なる業務機能における業務量とプロセス遵守状況を分析し、各部門が財務決算の効率に与える影響を明らかにします。 入手先 BSEGの原価センター(KOSTL)または担当ユーザーの人事マスターデータから派生することがよくあります。複数のテーブルを結合する必要がある場合があります。 例 財務部門買掛金財務計画・分析 | |||
決算・レポーティング:期間決算と照合のアクティビティ
| アクティビティ | 説明 | ||
|---|---|---|---|
| 勘定照合を開始 | 期間内の一連のGL勘定について、照合プロセスが始まったことを示します。標準SAP ECCでは独立したイベントとして記録されないため、通常は主要レポートを初めて実行した時点など、関連するアクティビティから推定します。 | ||
| 重要な理由 照合フェーズ全体の所要時間を測定するための重要なマイルストーンです。照合の開始時点を把握することは、勘定照合サイクルタイムKPIに欠かせません。 入手先 このイベントは明示的にはログに記録されません。残高表示レポートFAGLB03やFS10Nなどを初めて実行した時点を、システム監査ログ(トランザクションSTAD)などのデータソースから推定する必要があります。 取得 システムログで関連レポートのトランザクション(例:FAGLB03)の初回実行を確認し、推定します。 イベントタイプ inferred | |||
| 外貨評価を実行 | 期間末の為替レートを使って、外貨で記録された未消込明細と残高を再評価するプログラムの実行を示します。通常、期間末の締め処理の一環として、バッチジョブで実行されます。 | ||
| 重要な理由 多国籍組織で正確な財務レポーティングを行うための重要なステップです。実行時刻と所要時間を分析することで、自動化やパフォーマンス改善の機会を特定できます。 入手先 FAGL_FCVやF.05など、外貨評価プログラムの実行ログから取得します。TBTCOやTBTCPなどのテーブルにあるバッチジョブの詳細から、実行時刻を取得できます。 取得 プログラムFAGL_FC_VALUATIONまたはSAPF100のバッチジョブログ(テーブルTBTCO)から取得します。 イベントタイプ explicit | |||
| 調整仕訳を転記 | 期間の初期取引処理が完了した後、勘定残高を修正するために調整仕訳を転記します。このイベントは、SAPの標準的な財務伝票転記として記録されます。 | ||
| 重要な理由 調整仕訳件数の分析に欠かせません。調整件数が多い場合、上流プロセスの正確性に問題がある可能性があり、プロセス改善施策の主要な対象になります。 入手先 テーブルBKPFおよびBSEGから取得します。通常、調整用に設定された特定の伝票タイプ(BKPF-BLART)や、13~16期などの特別な締め期間に転記された伝票として特定します。 取得 特別期間に転記された伝票、または調整用の伝票タイプを持つ伝票をBKPFでフィルタリングします。 イベントタイプ explicit | |||
| 財務諸表を生成 | 損益計算書や貸借対照表などの正式な財務諸表が生成された時点を示します。通常、特定のレポーティングプログラムの実行を追跡して取得します。 | ||
| 重要な理由 データ処理の終了と、最終レビューおよび承認フェーズの開始を示す主要なマイルストーンです。このイベントから承認までの時間は重要なKPIです。 入手先 通常はトランザクションF.01である財務諸表生成プログラムの実行を記録したSTADなどのシステム監査ログから推定します。 取得 財務諸表トランザクションF.01の実行を追跡するシステムログ(STAD)から取得します。 イベントタイプ inferred | |||
| 転記期間をクローズ | 転記期間を正式に締め、業務上の仕訳を追加できない状態にします。これにより、締めた期間の財務データの整合性を保ちます。明示的な設定変更として記録されます。 | ||
| 重要な理由 期間締めプロセスの終了イベントです。期間締めサイクルタイムの合計を正確に計算し、期限どおりの完了状況を測定するために欠かせません。 入手先 トランザクションOB52による期間のクローズが記録されます。設定テーブルT001Bの変更文書(CDHDRおよびCDPOSテーブル)を分析することで、これらの変更を特定できます。 取得 テーブルT001Bの変更文書(CDHDR/CDPOS)から抽出します。 イベントタイプ explicit | |||
| 転記期間を開始 | 財務期間の正式な開始を示し、総勘定元帳への取引転記を可能にします。権限を持つユーザーが明示的に設定を変更し、1つ以上の会社コードで特定の期間を転記可能にします。 | ||
| 重要な理由 このアクティビティは、期間締めプロセスのケースにおける開始イベントとなります。この時点からの時間を分析することで、財務期間のライフサイクル全体を把握できます。 入手先 トランザクションOB52による転記期間の変更はログに記録されます。通常、基盤となる設定テーブルT001Bの変更文書を、CDHDRおよびCDPOSテーブルを使って分析することで抽出できます。 取得 テーブルT001Bの変更文書(CDHDR/CDPOS)から抽出します。 イベントタイプ explicit | |||
| GR/IR消込を実行 | 入庫/請求書受領勘定の自動消込プログラムを実行します。このプログラムは対応する入庫と請求書受領を照合し、明細同士を消し込みます。 | ||
| 重要な理由 GR/IR勘定は、照合上の問題が頻繁に発生する箇所です。このアクティビティを監視することで、自動処理が正しく実行されていることを確認し、手作業によるフォローアップが必要な例外の件数を把握できます。 入手先 実行情報はバッチジョブログ(トランザクションSM37)に記録されます。通常、プログラムSAPF124をトランザクションF.13から実行します。TBTCOなどのジョブログテーブルから必要なタイムスタンプを取得できます。 取得 消込プログラムSAPF124のバッチジョブログ(テーブルTBTCO)から取得します。 イベントタイプ explicit | |||
| 会社間伝票を消込 | 異なる会社コード間の未消込明細を消し込んだことを示し、会社間取引が決済または照合されたことを意味します。SAPでは通常、消込伝票として明示的な財務転記に記録されます。 | ||
| 重要な理由 会社間明細の消込遅延は、決算プロセスでよく見られるボトルネックです。このアクティビティを追跡することは、会社間照合のサイクルタイムを測定し、改善するうえで重要です。 入手先 BKPFおよびBSEGの財務伝票から特定します。消込伝票は未消込明細と紐づいて明細をクローズし、消込日(BSEG-AUGDT)がイベントのタイムスタンプになります。会社間取引は取引先項目で特定します。 取得 取引先を持つ明細に関係する消込伝票をBKPF/BSEGから特定します。 イベントタイプ explicit | |||
| 反対仕訳を転記 | 以前に転記した仕訳を取り消す伝票の転記を記録します。多くの場合、エラーの修正を目的とします。SAPは反対仕訳伝票と元の伝票を明示的に紐づけます。 | ||
| 重要な理由 反対仕訳が多い場合、入力の正確性やプロセス統制に問題がある可能性があります。これらのイベントを追跡することで、初回正確率を測定し、改善が必要な領域を特定できます。 入手先 反対仕訳伝票はBKPFテーブルから取得します。通常、トランザクションFB08で作成され、BKPF-STBLG項目に取り消した伝票番号への参照が含まれます。 取得 BKPF-STBLGに値が入っている伝票、または反対仕訳のTコードで作成された伝票を特定します。 イベントタイプ explicit | |||
| 未払費用または引当金を転記 | 期間末に通常転記される未払費用、繰延、引当金の仕訳を記録したことを示します。SAPに独立したイベントタイプがあるわけではなく、特徴に基づいて特定の仕訳を識別することで推定します。 | ||
| 重要な理由 これらの仕訳を分離することで、見積もり管理のサブプロセスを分析できます。未払費用の金額が大きい、または調整が頻繁に行われる場合は、プロセス改善の余地がある可能性があります。 入手先 財務伝票テーブルBKPFおよびBSEGから推定します。特定の伝票タイプ(BKPF-BLART)、固有のGL勘定(BSEG-HKONT)、ヘッダーテキスト(BKPF-BKTXT)内のキーワードなどで仕訳を特定できます。 取得 伝票タイプ、特定のGL勘定、テキスト項目を条件にBKPF/BSEGテーブルをフィルタリングします。 イベントタイプ inferred | |||
| 照合をレビュー | 特定の勘定または勘定グループの照合をレビューし、確認したことを示します。標準SAP ECCでは明示的なイベントとして記録されず、オフラインの統制やカスタムソリューションで管理されることが多いです。 | ||
| 重要な理由 レビューのタイミングを追跡することは、決算プロセスの統制および監督段階におけるボトルネックを把握するうえで重要です。経営層の対応可能な時間や、やり直しによる遅延を明らかにできます。 入手先 この情報は標準ECCテーブルでは利用できません。カスタムZテーブルのステータス項目、簡易ワークフロー、専門のサードパーティ製照合ツールとの連携など、カスタムソリューションが必要です。 取得 導入済みの場合は、カスタムワークフローまたはZテーブルからステータス変更を取得します。 イベントタイプ inferred | |||
| 試算表レポートを生成 | 試算表を生成するレポートの実行を示します。正式な財務諸表を作成する前に、借方合計と貸方合計が一致していることを確認する重要なステップです。 | ||
| 重要な理由 最終レポーティング前の重要な品質ゲートです。このレポートを繰り返し実行している場合、基盤となるデータの問題が見つかり、修正されている可能性があり、遅延につながることがあります。 入手先 S_ALR_87012277やF.01など、試算表レポートのトランザクション実行を記録できるSTADなどのシステム監査ログから推定します。 取得 レポーティングのトランザクションコードの実行を追跡するシステムログ(STAD)から取得します。 イベントタイプ inferred | |||
抽出ガイド
ステップ
- SAP Queryツールにアクセス:SAP ECCシステムにログインします。トランザクションコード
SQVI(QuickViewer)を開きます。2. 新しいクエリを作成:クエリ名(例:Z_R2R_PERIOD_CLOSE)を入力し、「Create」をクリックします。ポップアップで「Record to Report Period Close Extraction」などの説明的なタイトルを入力します。「Data source」では「Table join」を選択します。3. テーブル結合を定義:主要テーブルとしてBKPF(会計伝票ヘッダー)を追加します。次にBSEG(会計伝票明細)を追加します。SAPが結合条件(MANDT、BUKRS、BELNR、GJAHR)を自動的に提案するため、内容を確認して承認します。期間の開始・終了アクティビティには、CDHDRとCDPOSを結合する別のクエリが必要です。4. 出力項目を選択(List Fields):「List fld. select.」タブを開きます。使用可能なテーブルから、イベントログに必要な項目を選択します。BKPF-BUKRS、BKPF-BELNR、BKPF-GJAHR、BKPF-MONAT、BKPF-CPUDT、BKPF-CPUTM、BKPF-USNAM、BKPF-BLART、BSEG-HKONT、BSEG-DMBTRなどが含まれます。5. 入力パラメーターを定義(Selection Fields):「Selection fields」タブを開きます。実行時のデータ絞り込みに使う項目を選択します。特に重要なのはBKPF-BUKRS(会社コード)とBKPF-GJAHR(会計年度)です。BKPF-MONAT(転記期間)やBKPF-BLART(伝票タイプ)も追加できます。6. アクティビティごとにバリアントを作成:SQVIでは、SQLのUNIONのように異なるデータ選択を組み合わせられないため、クエリを複数回実行する必要があります。各アクティビティ(例:「Accrual Or Provision Posted」)についてクエリを実行し、選択画面で未払計上に関連する伝票タイプの一覧など、固有のフィルター値を入力します。この選択条件をバリアントとして保存します。抽出可能な各アクティビティについて同じ手順を繰り返します。7. データを実行・抽出:作成した各バリアントでクエリを実行します。アクティビティごとに指定したフィルターが適用されます。8. 結果をエクスポート:結果画面でデータをローカルファイルにエクスポートします。一般的な形式は「Spreadsheet」です。各バリアントについてエクスポートを繰り返します。9. データを統合・変換:エクスポートしたファイルを表計算ソフトで開くか、スクリプトツールを使います。すべてのファイルのデータを1つのマスターファイルに手動で統合します。10. 固定列・計算列を追加:統合ファイルに、SAPテーブルから直接抽出しない列を追加します。ActivityName(データの元になったバリアントに基づいて手動設定)、FinancialPeriod(会計年度と期間を連結)、EventTime(日付と時刻を結合)、SourceSystem、LastDataUpdateなどです。11. アップロード用に整形:最終ファイルを、プロセスマイニングツールで必要な列ヘッダーを備えたCSVまたはExcel形式で保存します。アップロード前にデータ型と書式を確認します。
設定
- データソース:SAP Query(SQVI)のTable Join。主要テーブルはBKPF、BSEG、CDHDR、CDPOSです。* 期間:パターンを特定するため、少なくとも3~6会計期間分の完全なデータを抽出することを推奨します。
BKPF-GJAHR(会計年度)とBKPF-MONAT(期間)でフィルターを設定します。* 会社コードのフィルター:データ量を抑え、特定の法人に分析対象を絞るため、必ずBKPF-BUKRS(会社コード)でフィルターします。すべての会社コードを一度に抽出することは推奨しません。* 伝票タイプのフィルター:BKPF-BLART(伝票タイプ)でフィルターし、未払計上、調整、取消などの特定のアクティビティを分離します。組織で使用している該当する伝票タイプを確認する必要があります。* 前提条件:抽出を実行するユーザーには、SQVIトランザクションの使用権限と、関連する財務テーブル(例:権限オブジェクトS_TABU_DIS)への表示権限が必要です。* パフォーマンスに関する考慮事項:BKPFとBSEGの結合は、システムリソースを大きく消費する場合があります。抽出は負荷の低い時間帯に実行します。メモリ不足やタイムアウトにつながる可能性があるため、日付範囲を広くしすぎたり、会社コードのフィルターを未設定にしたりしないでください。
a サンプルクエリ sql
/*
LOGICAL REPRESENTATION FOR SAP QUERY (SQVI)
This is not a single executable script. Due to limitations in SQVI, you must create a base query joining BKPF and BSEG, then run it multiple times using different selection screen variants to extract each activity below. The results must be combined manually.
A separate query joining CDHDR and CDPOS is needed for period open/close activities.
*/
-- Activity 1: Period Opened For Posting
-- Required Query: Join CDHDR and CDPOS in SQVI.
SELECT
CONCAT(T001B.VONJ1, T001B.POPER) AS FinancialPeriod,
'Period Opened For Posting' AS ActivityName,
TO_TIMESTAMP(CONCAT(CDHDR.UDATE, CDHDR.UTIME), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
T001B.BUKRS AS BUKRS,
NULL AS BELNR,
CDHDR.USERNAME AS USNAM,
NULL AS HKONT,
NULL AS BLART,
NULL AS DMBTR,
NULL AS JournalEntryType
FROM CDHDR
JOIN CDPOS ON CDHDR.CHANGENR = CDPOS.CHANGENR
JOIN T001B ON SUBSTRING(CDPOS.TABKEY, 4, 4) = T001B.BUKRS
WHERE CDHDR.OBJECTCLAS = 'DEBI_BUKRS' AND CDPOS.TABNAME = 'T001B' AND CDPOS.FNAME = 'OFPER' AND CDPOS.VALUE_NEW > CDPOS.VALUE_OLD;
UNION ALL
-- Activity 2: Accrual Or Provision Posted
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Accrual Or Provision Posted' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Accrual' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.BLART IN ('SA', '[Your Accrual Doc Type]'); -- Filter by document types used for accruals
UNION ALL
-- Activity 3: Intercompany Document Cleared
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Intercompany Document Cleared' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.AUGBL AS BELNR, -- The clearing document number
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Clearing' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BSEG.AUGBL IS NOT NULL AND BSEG.VBUND IS NOT NULL; -- Identify cleared items with an intercompany trading partner
UNION ALL
-- Activity 4: Foreign Currency Valuation Run
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Foreign Currency Valuation Run' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Valuation' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.TCODE IN ('FAGL_FCV', 'FBB1'); -- Filter by FCV transaction code
UNION ALL
-- Activity 5: GR/IR Clearing Run Executed
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'GR/IR Clearing Run Executed' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Clearing' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.TCODE IN ('F.13', 'F13E'); -- Filter by automated clearing transaction codes
UNION ALL
-- Activity 6: Account Reconciliation Started (Proxy)
-- This is a proxy. It takes the earliest adjusting journal entry timestamp for the period.
SELECT
A.FinancialPeriod,
'Account Reconciliation Started' AS ActivityName,
MIN(A.EventTime) AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
A.BUKRS,
NULL AS BELNR,
NULL AS USNAM,
NULL AS HKONT,
NULL AS BLART,
NULL AS DMBTR,
NULL AS JournalEntryType
FROM (
SELECT CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
BKPF.BUKRS
FROM BKPF
WHERE BKPF.BLART IN ('AB', '[Your Adjusting Doc Type]')
) AS A
GROUP BY A.FinancialPeriod, A.BUKRS;
UNION ALL
-- Activity 7: Adjusting Journal Entry Posted
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Adjusting Journal Entry Posted' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Adjusting' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.BLART IN ('AB', '[Your Adjusting Doc Type]'); -- Filter by document types for adjustments
UNION ALL
-- Activity 8: Reversal Entry Posted
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Reversal Entry Posted' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Reversal' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.STBLG IS NOT NULL; -- STBLG (Reversed Document Number) is populated for reversals
UNION ALL
-- Activity 9: Period Closed For Posting
-- Required Query: Join CDHDR and CDPOS in SQVI.
SELECT
CONCAT(T001B.VONJ1, T001B.POPER) AS FinancialPeriod,
'Period Closed For Posting' AS ActivityName,
TO_TIMESTAMP(CONCAT(CDHDR.UDATE, CDHDR.UTIME), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
T001B.BUKRS AS BUKRS,
NULL AS BELNR,
CDHDR.USERNAME AS USNAM,
NULL AS HKONT,
NULL AS BLART,
NULL AS DMBTR,
NULL AS JournalEntryType
FROM CDHDR
JOIN CDPOS ON CDHDR.CHANGENR = CDPOS.CHANGENR
JOIN T001B ON SUBSTRING(CDPOS.TABKEY, 4, 4) = T001B.BUKRS
WHERE CDHDR.OBJECTCLAS = 'DEBI_BUKRS' AND CDPOS.TABNAME = 'T001B' AND CDPOS.FNAME = 'OFPER' AND CDPOS.VALUE_NEW < CDPOS.VALUE_OLD;
/*
-- Activities Not Extractable via this Method
-- The following activities are not data postings and cannot be reliably extracted by querying finance tables BKPF/BSEG.
-- Extraction would require analyzing application logs (SLG1), system logs (STAT), or custom-built logging solutions.
-- Activity: Trial Balance Report Generated
-- Activity: Financial Statements Generated
-- Activity: Reconciliation Reviewed
*/ ステップ
- プログラムの範囲と設計:必要な12のアクティビティを特定するロジックを定義します。業務プロセスオーナーとSAP機能担当者に確認し、使用するSAP ECC環境で期間末締め処理に関連する伝票タイプ、G/L勘定、プログラム名を確定します。
- ABAPプログラムを作成:トランザクション
SE38(ABAP Editor)で新しい実行可能プログラム(例:Z_PM_R2R_EXTRACTION)を作成します。説明的なタイトルを入力し、プログラムタイプに「Executable Program」を設定します。 - 選択画面を定義:プログラム内で
PARAMETERSとSELECT-OPTIONSを使って選択画面を定義します。ユーザーは会社コード(BUKRS)、会計年度(GJAHR)、転記期間(MONAT)など、抽出範囲を指定できます。データ量を制御するうえで重要な設定です。 - データ構造を宣言:最終的なイベントログデータを格納する内部テーブル構造を定義します。
FinancialPeriod、ActivityName、EventTime、SourceSystem、LastDataUpdate、BUKRS、BELNR、USNAM、HKONT、BLART、DMBTR、JournalEntryTypeなど、必要な属性と推奨属性をすべて含めます。 - データ抽出ロジックを実装:12のアクティビティそれぞれのデータを選択するABAPの中核ロジックを記述します。各アクティビティについて、関連するSAPテーブル(例:BKPF、BSEG、TBTCO、CDHDR)を検索し、中間内部テーブルにデータを格納します。付属のABAPクエリセクションに示されたロジックをテンプレートとして使用します。
- 推定アクティビティを特定:標準SAPに明示的なログがない「Account Reconciliation Started」や「Reconciliation Reviewed」などのアクティビティには、合意済みの推定ロジックを実装します。特定レポートの初回実行を確認する方法や、存在する場合にカスタムの「Zテーブル」を検索する方法などがあります。
- イベントデータを統合:個々のアクティビティのデータを抽出した後、各中間テーブルのレコードを最終的な統合内部テーブルに追加します。
EventTimeには、伝票転記日時やジョブ開始日時など、関連するソース項目の値を正しく設定します。 - データを標準化・整形:出力前に主要項目を標準化します。会計年度と期間を結合して
FinancialPeriod識別子を作成します。SourceSystemとLastDataUpdateには固定値を設定します。タイムスタンプの形式を統一します。 - 出力機能を開発:最終的な内部テーブルをエクスポートする機能をプログラムに追加します。一般的な方法は、
OPEN DATASETを使ってSAP Application Server上のCSVまたはタブ区切りファイルにデータを書き込む方法、またはGUI_DOWNLOAD関数モジュールを使ってユーザーのローカルマシンに直接ダウンロードできるようにする方法です。 - テスト・検証:複数の会社コードと期間を含む代表的なデータセットで、プログラムを十分にテストします。検証手順を使ってデータの正確性と完全性を確認します。機能担当者からのフィードバックに基づき、選択ロジックを調整します。
- 実行をスケジュール(任意):検証後、トランザクション
SM36からバックグラウンドジョブとしてプログラムをスケジュールできます。これにより、手作業なしでイベントログを定期的に自動抽出できます。
設定
- 選択条件:プログラムには、データを絞り込む選択画面が必要です。主なフィルターは次のとおりです。
Company Code (BUKRS):対象となる法人に範囲を限定するため必須です。Fiscal Year (GJAHR):抽出対象の主な年度を指定するため必須です。Posting Period (MONAT):対象となる会計期間を指定するため必須です。
- アクティビティ固有の設定:多くの選択条件は、使用するSAPの設定に依存します。プログラム内のパラメーターまたは定数として設定できるようにします。
Accrual/Provision Document Types:未払計上や引当計上を特定するために使用する伝票タイプ(BLART)の一覧です。Adjusting Entry Document Types:調整仕訳を特定するために使用する伝票タイプの一覧です。Background Job/Program Names:外貨評価(例:FAGL_FCV)、GR/IRクリアリング(例:SAPF124)、試算表レポート、財務諸表の作成(例:RFBILA00)に使用するプログラムの技術名です。
- 期間:主な選択は会計年度と期間で行いますが、基盤となるロジックではイベントの完全な日付と時刻も考慮します。初回分析では、直近3~6件の完了済み会計期間のデータを抽出することを推奨します。
- パフォーマンス:大規模なSAP環境では、プログラムのパフォーマンスが重要です。特に
BKPFやBSEGなどのテーブルでは、インデックス項目を使ってデータを選択します。すべての項目を取得する(SELECT *)ことは避け、必要に応じて処理単位を分けます。 - 権限:プログラムを実行するユーザーまたはサービスアカウントには、照会対象のすべてのテーブル(
BKPF、BSEG、TBTCO、TBTCP、CDHDR、CDPOS)へのアクセス権と、SE38(開発用)、SM37/SM36(スケジュールと監視用)などのトランザクションを実行する権限が必要です。
a サンプルクエリ abap
REPORT Z_PM_R2R_EXTRACTION.
" ====================================================================
" DATA DECLARATIONS
" ====================================================================
TYPES: BEGIN OF ty_event_log,
FinancialPeriod TYPE string,
ActivityName TYPE string,
EventTime TYPE timestamp,
SourceSystem TYPE string,
LastDataUpdate TYPE timestamp,
BUKRS TYPE bukrs,
BELNR TYPE belnr_d,
USNAM TYPE usnam,
HKONT TYPE hkont,
BLART TYPE blart,
DMBTR TYPE dmbtr,
JournalEntryType TYPE string,
END OF ty_event_log.
DATA: lt_final_log TYPE STANDARD TABLE OF ty_event_log,
ls_log_entry LIKE LINE OF lt_final_log.
DATA: lv_source_system TYPE string VALUE 'SAP ECC'.
GET TIME STAMP FIELD ls_log_entry-LastDataUpdate.
" ====================================================================
" SELECTION SCREEN
" ====================================================================
SELECT-OPTIONS: s_bukrs FOR ls_log_entry-bukrs OBLIGATORY,
s_gjahr FOR bkpf-gjahr OBLIGATORY,
s_monat FOR bkpf-monat OBLIGATORY.
PARAMETERS: p_accrl TYPE blart DEFAULT 'SA', " Example Doc Type for Accruals
p_adjst TYPE blart DEFAULT 'AJ', " Example Doc Type for Adjustments
p_fcv TYPE btcjob DEFAULT 'FAGL_FCV*', " Program for FC Valuation
p_grir TYPE btcjob DEFAULT 'SAPF124*', " Program for GR/IR Clearing
p_fs TYPE btcjob DEFAULT 'RFBILA00'. " Program for Fin. Statements
" ====================================================================
" MAIN LOGIC
" ====================================================================
START-OF-SELECTION.
" --- 1. Period Opened For Posting ---
" Note: This is complex. This example queries change documents for posting period config (T001B).
SELECT h~objectid, h~udate, h~utime, h~username
INTO TABLE @DATA(lt_period_open)
FROM cdhdr AS h
WHERE h~objectclas = 'V_T001B' AND h~change_ind = 'U'.
LOOP AT lt_period_open INTO DATA(ls_period_open).
" Further logic needed to parse OBJECTID and check CDPOS for opening a period.
" This is a simplified placeholder for a complex logic.
ls_log_entry-ActivityName = 'Period Opened For Posting'.
" Populate other fields... append to lt_final_log
ENDLOOP.
" --- 2. Accrual Or Provision Posted ---
SELECT h~bukrs, h~belnr, h~gjahr, h~monat, h~blart, h~usnam, h~cputm, h~cpudt, i~hkont, i~dmbtr
FROM bkpf AS h JOIN bseg AS i ON h~belnr = i~belnr AND h~bukrs = i~bukrs AND h~gjahr = i~gjahr
INTO CORRESPONDING FIELDS OF TABLE @DATA(lt_accrual)
WHERE h~bukrs IN @s_bukrs AND h~gjahr IN @s_gjahr AND h~monat IN @s_monat AND h~blart = @p_accrl.
LOOP AT lt_accrual INTO DATA(ls_accrual).
CLEAR ls_log_entry.
CONVERT DATE ls_accrual-cpudt TIME ls_accrual-cputm INTO TIME STAMP ls_log_entry-EventTime TIME ZONE sy-zonlo.
CONCATENATE ls_accrual-gjahr ls_accrual-monat INTO ls_log_entry-FinancialPeriod.
ls_log_entry-ActivityName = 'Accrual Or Provision Posted'.
ls_log_entry-BUKRS = ls_accrual-bukrs.
ls_log_entry-BELNR = ls_accrual-belnr.
ls_log_entry-USNAM = ls_accrual-usnam.
ls_log_entry-HKONT = ls_accrual-hkont.
ls_log_entry-BLART = ls_accrual-blart.
ls_log_entry-DMBTR = ls_accrual-dmbtr.
ls_log_entry-JournalEntryType = 'Accrual'.
GET TIME STAMP FIELD ls_log_entry-LastDataUpdate.
ls_log_entry-SourceSystem = lv_source_system.
APPEND ls_log_entry TO lt_final_log.
ENDLOOP.
" --- 3. Intercompany Document Cleared ---
SELECT h~bukrs, h~belnr, h~gjahr, h~monat, h~blart, h~usnam, h~cputm, h~cpudt, i~hkont, i~dmbtr
FROM bkpf AS h JOIN bseg AS i ON h~belnr = i~belnr AND h~bukrs = i~bukrs AND h~gjahr = i~gjahr
INTO CORRESPONDING FIELDS OF TABLE @DATA(lt_ic_clear)
WHERE h~bukrs IN @s_bukrs AND h~gjahr IN @s_gjahr AND h~monat IN @s_monat
AND h~blart = 'AB' AND i~vbund <> space.
LOOP AT lt_ic_clear INTO DATA(ls_ic_clear).
" Populate ls_log_entry and append to lt_final_log, setting ActivityName = 'Intercompany Document Cleared'
ENDLOOP.
" --- 4. Foreign Currency Valuation Run ---
SELECT j~jobname, j~sdlstrtda, j~sdlstrttm, j~sdluname
INTO TABLE @DATA(lt_fcv_jobs)
FROM tbtco AS j
WHERE j~jobname LIKE @p_fcv AND j~status = 'F'. " F = Finished
LOOP AT lt_fcv_jobs INTO DATA(ls_fcv_job).
" Populate ls_log_entry, deriving FinancialPeriod from date, setting ActivityName = 'Foreign Currency Valuation Run'
ENDLOOP.
" --- 5. GR/IR Clearing Run Executed ---
SELECT j~jobname, j~sdlstrtda, j~sdlstrttm, j~sdluname
INTO TABLE @DATA(lt_grir_jobs)
FROM tbtco AS j
WHERE j~jobname LIKE @p_grir AND j~status = 'F'.
LOOP AT lt_grir_jobs INTO DATA(ls_grir_job).
" Populate ls_log_entry, deriving FinancialPeriod from date, setting ActivityName = 'GR/IR Clearing Run Executed'
ENDLOOP.
" --- 6. Account Reconciliation Started (Inferred) ---
" Note: Inferring this by first run of a report, e.g., FAGLB03. Requires custom logging or complex logic.
" Placeholder: Query a custom log table if available.
" SELECT ... FROM zreco_log ...
" --- 7. Adjusting Journal Entry Posted ---
SELECT h~bukrs, h~belnr, h~gjahr, h~monat, h~blart, h~usnam, h~cputm, h~cpudt, i~hkont, i~dmbtr
FROM bkpf AS h JOIN bseg AS i ON h~belnr = i~belnr AND h~bukrs = i~bukrs AND h~gjahr = i~gjahr
INTO CORRESPONDING FIELDS OF TABLE @DATA(lt_adjust)
WHERE h~bukrs IN @s_bukrs AND h~gjahr IN @s_gjahr AND h~monat IN @s_monat AND h~blart = @p_adjst.
LOOP AT lt_adjust INTO DATA(ls_adjust).
" Populate ls_log_entry and append, setting ActivityName = 'Adjusting Journal Entry Posted', JournalEntryType = 'Adjusting'
ENDLOOP.
" --- 8. Reversal Entry Posted ---
SELECT h~bukrs, h~belnr, h~gjahr, h~monat, h~blart, h~usnam, h~cputm, h~cpudt, i~hkont, i~dmbtr
FROM bkpf AS h JOIN bseg AS i ON h~belnr = i~belnr AND h~bukrs = i~bukrs AND h~gjahr = i~gjahr
INTO CORRESPONDING FIELDS OF TABLE @DATA(lt_reversal)
WHERE h~bukrs IN @s_bukrs AND h~gjahr IN @s_gjahr AND h~monat IN @s_monat AND h~stblg <> space.
LOOP AT lt_reversal INTO DATA(ls_reversal).
" Populate ls_log_entry and append, setting ActivityName = 'Reversal Entry Posted', JournalEntryType = 'Reversal'
ENDLOOP.
" --- 9. Trial Balance Report Generated (Inferred from Job) ---
" Similar to other jobs, query TBTCO for Trial Balance report programs.
" SELECT ... FROM tbtco ... WHERE jobname LIKE '[Your Trial Balance Program]'.
" --- 10. Financial Statements Generated ---
SELECT j~jobname, j~sdlstrtda, j~sdlstrttm, j~sdluname
INTO TABLE @DATA(lt_fs_jobs)
FROM tbtco AS j
WHERE j~jobname LIKE @p_fs AND j~status = 'F'.
LOOP AT lt_fs_jobs INTO DATA(ls_fs_job).
" Populate ls_log_entry, deriving FinancialPeriod from date, setting ActivityName = 'Financial Statements Generated'
ENDLOOP.
" --- 11. Reconciliation Reviewed (Inferred) ---
" Note: This activity is almost always managed outside of SAP or in a custom solution.
" Placeholder: Query a custom approval/log table if available.
" SELECT ... FROM zreco_approval ...
" --- 12. Period Closed For Posting ---
" Note: Similar to 'Period Opened', this is very complex. Query change documents for T001B.
SELECT h~objectid, h~udate, h~utime, h~username
INTO TABLE @DATA(lt_period_close)
FROM cdhdr AS h
WHERE h~objectclas = 'V_T001B' AND h~change_ind = 'U'.
LOOP AT lt_period_close INTO DATA(ls_period_close).
" Further logic needed to parse OBJECTID and check CDPOS for closing a period.
ls_log_entry-ActivityName = 'Period Closed For Posting'.
" Populate other fields... append to lt_final_log
ENDLOOP.
" ... Code to display or download the lt_final_log internal table ...
ENDFORMS. ステップ
- 前提条件を準備:基盤となるSAP ECCデータベースへの読み取り専用アクセス認証情報を取得します。通常は
SAPSR3など、データベース管理者から指定された正しいデータベーススキーマを確認します。 - システム設定を確認:SAP Financeチームに確認し、分析対象となる会社コード(BUKRS)と会計期間を特定します。特に、「Accrual Or Provision Posted」、「Adjusting Journal Entry Posted」、「Intercompany」取引で使用される伝票タイプ(BLART)をシステム上で確認します。
- プログラム名とジョブ名を確認:外貨評価(例:
FAGL_FCV)、GR/IRクリアリング(例:SAPF124)、試算表レポート(例:RFBILA00)、財務諸表の作成(例:RFBILA00)など、主要なバッチジョブのプログラム名を確認します。トランザクションSM37でスケジュール済みジョブを確認できます。 - SQLクエリをカスタマイズ:提供されたSQLクエリをテキストエディターまたはSQLクライアントにコピーします。プレースホルダー変数
{{start_date}}、{{end_date}}、{{company_codes}}を分析対象の実際の値に置き換えます。前の手順で確認した情報に基づき、伝票タイプとプログラム名の一覧を更新します。 - データベースに接続:DBeaver、SQL Server Management Studio、Oracle SQL Developerなどの標準SQLクライアントツールを使い、取得した認証情報でSAPデータベースに接続します。
- クエリを実行:カスタマイズしたSQLクエリをデータベースに対して実行します。期間や財務テーブルの規模によっては、完了までにかなり時間がかかる場合があります。
- 初期結果を確認:クエリが完了したら、出力を簡単に確認します。行数が妥当であること、すべての列が存在すること、異なる
ActivityNameの値が結果に含まれていることを確認します。 - データをエクスポート:SQLクライアントから結果セット全体をCSVファイルにエクスポートします。文字化けを防ぐため、UTF-8エンコーディングで保存します。
- アップロードに備える:プロセスマイニングツールにアップロードする前に、CSVファイルの列ヘッダーが必要な属性名(
FinancialPeriod、ActivityName、EventTimeなど)と完全に一致していることを確認します。また、EventTime列がYYYY-MM-DD HH:MI:SSなどの統一されたタイムスタンプ形式になっていることを確認します。
設定
- データベース認証情報:SAPの主要な財務テーブルとシステムテーブルにアクセスできる読み取り専用データベースユーザーが必要です。対象には
BKPF、BSEG、TBTCO、CDHDR、CDPOSなどのテーブルが含まれます。 - 期間:意味のあるプロセスの変動を把握するため、少なくとも3~6件の完全な会計期間のデータを抽出することを推奨します。期間を広げると、クエリの実行時間が大幅に増える点に注意してください。
- 会社コード(
BUKRS):必ず特定の会社コード一覧でフィルターします。大規模なシステムですべての会社コードを対象にクエリを実行するのは現実的ではなく、パフォーマンス上の問題につながる可能性があります。 - 伝票タイプ(
BLART):未払計上や調整などの仕訳タイプの特定は、組織固有のSAP設定に完全に依存します。アクティビティを正確に分類するには、クエリのWHERE句に正しい伝票タイプコードを指定する必要があります。 - プログラム名とジョブ名:このクエリでは、自動化された締め処理ステップに一般的なプログラム名を使用しています。システムによっては、カスタムのラッパープログラムや異なるジョブ名を使用している場合があります。トランザクション
SM37で確認し、必要に応じてクエリを更新します。 - パフォーマンスに関する考慮事項:このクエリは、特に
BSEGとCDPOSなど、非常に大規模なテーブルにアクセスします。システムパフォーマンスへの影響を避けるため、抽出は業務時間外に実行することを強く推奨します。日付と会社コードの範囲を狭く指定することが、実行時間を管理する最も効果的な方法です。
a サンプルクエリ sql
SELECT
CONCAT(CAST(b.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', b.MONAT), 2)) AS FinancialPeriod,
'Period Opened For Posting' AS ActivityName,
c.UDATE + c.UTIME AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
p.TABKEY AS CompanyCode,
NULL AS DocumentNumber,
c.USERNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM CDHDR c
JOIN CDPOS p ON c.OBJECTCLAS = p.OBJECTCLAS AND c.OBJECTID = p.OBJECTID AND c.CHANGENR = p.CHANGENR
WHERE c.OBJECTCLAS = 'V_T001B'
AND p.TABNAME = 'T001B'
AND p.FNAME = 'FRPE1'
AND c.UDATE BETWEEN '{{start_date}}' AND '{{end_date}}'
UNION ALL
SELECT
CONCAT(CAST(b.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', b.MONAT), 2)) AS FinancialPeriod,
'Period Closed For Posting' AS ActivityName,
c.UDATE + c.UTIME AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
p.TABKEY AS CompanyCode,
NULL AS DocumentNumber,
c.USERNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM CDHDR c
JOIN CDPOS p ON c.OBJECTCLAS = p.OBJECTCLAS AND c.OBJECTID = p.OBJECTID AND c.CHANGENR = p.CHANGENR
WHERE c.OBJECTCLAS = 'V_T001B'
AND p.TABNAME = 'T001B'
AND p.FNAME = 'TOPE1'
AND c.UDATE BETWEEN '{{start_date}}' AND '{{end_date}}'
UNION ALL
SELECT
CONCAT(CAST(h.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', h.MONAT), 2)) AS FinancialPeriod,
'Accrual Or Provision Posted' AS ActivityName,
h.CPUDT + h.CPUTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
h.BUKRS AS CompanyCode,
h.BELNR AS DocumentNumber,
h.USNAM AS ResponsibleUser,
d.HKONT AS GLAccount,
h.BLART AS DocumentType,
d.DMBTR AS AmountInLocalCurrency,
'Accrual' AS JournalEntryType
FROM BKPF h
JOIN BSEG d ON h.MANDT = d.MANDT AND h.BUKRS = d.BUKRS AND h.BELNR = d.BELNR AND h.GJAHR = d.GJAHR
WHERE h.BUDAT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND h.BUKRS IN ({{company_codes}})
AND h.BLART IN ('SA', '[Your Accrual Doc Type]')
UNION ALL
SELECT
CONCAT(CAST(h.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', h.MONAT), 2)) AS FinancialPeriod,
'Intercompany Document Cleared' AS ActivityName,
h.AUGDT AS EventTime, -- Clearing Date
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
h.BUKRS AS CompanyCode,
h.BELNR AS DocumentNumber,
h.USNAM AS ResponsibleUser,
d.HKONT AS GLAccount,
h.BLART AS DocumentType,
d.DMBTR AS AmountInLocalCurrency,
'Clearing' AS JournalEntryType
FROM BKPF h
JOIN BSEG d ON h.MANDT = d.MANDT AND h.BUKRS = d.BUKRS AND h.BELNR = d.BELNR AND h.GJAHR = d.GJAHR
WHERE h.AUGDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND h.BUKRS IN ({{company_codes}})
AND h.BLART IN ('[Your Intercompany Doc Type]')
AND h.AUGBL IS NOT NULL
UNION ALL
SELECT
CONCAT(CAST(YEAR(j.SDLSTRTDT) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(j.SDLSTRTDT)), 2)) AS FinancialPeriod,
'Foreign Currency Valuation Run' AS ActivityName,
j.SDLSTRTDT + j.SDLSTRTTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
NULL AS CompanyCode,
j.JOBNAME AS DocumentNumber,
j.SDLUNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM TBTCO j
JOIN TBTCP p ON j.JOBNAME = p.JOBNAME AND j.JOBCOUNT = p.JOBCOUNT
WHERE p.PROGNAME = 'FAGL_FCV' OR p.PROGNAME = 'SAPF100'
AND j.SDLSTRTDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND j.STATUS = 'F' -- Finished
UNION ALL
SELECT
CONCAT(CAST(YEAR(j.SDLSTRTDT) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(j.SDLSTRTDT)), 2)) AS FinancialPeriod,
'GR/IR Clearing Run Executed' AS ActivityName,
j.SDLSTRTDT + j.SDLSTRTTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
NULL AS CompanyCode,
j.JOBNAME AS DocumentNumber,
j.SDLUNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM TBTCO j
JOIN TBTCP p ON j.JOBNAME = p.JOBNAME AND j.JOBCOUNT = p.JOBCOUNT
WHERE p.PROGNAME = 'SAPF124' -- Program for F.13
AND j.SDLSTRTDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND j.STATUS = 'F'
UNION ALL
SELECT
CONCAT(CAST(YEAR(j.SDLSTRTDT) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(j.SDLSTRTDT)), 2)) AS FinancialPeriod,
'Account Reconciliation Started' AS ActivityName, -- Proxy event
j.SDLSTRTDT + j.SDLSTRTTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
NULL AS CompanyCode,
j.JOBNAME AS DocumentNumber,
j.SDLUNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM TBTCO j
JOIN TBTCP p ON j.JOBNAME = p.JOBNAME AND j.JOBCOUNT = p.JOBCOUNT
WHERE p.PROGNAME IN ('FAGLL03', 'FBL3N') -- Common reconciliation reports
AND j.SDLSTRTDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND j.STATUS = 'F'
UNION ALL
SELECT
CONCAT(CAST(h.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', h.MONAT), 2)) AS FinancialPeriod,
'Adjusting Journal Entry Posted' AS ActivityName,
h.CPUDT + h.CPUTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
h.BUKRS AS CompanyCode,
h.BELNR AS DocumentNumber,
h.USNAM AS ResponsibleUser,
d.HKONT AS GLAccount,
h.BLART AS DocumentType,
d.DMBTR AS AmountInLocalCurrency,
'Adjusting' AS JournalEntryType
FROM BKPF h
JOIN BSEG d ON h.MANDT = d.MANDT AND h.BUKRS = d.BUKRS AND h.BELNR = d.BELNR AND h.GJAHR = d.GJAHR
WHERE h.BUDAT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND h.BUKRS IN ({{company_codes}})
AND h.BLART IN ('[Your Adjusting Doc Type]')
UNION ALL
SELECT
CONCAT(CAST(h.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', h.MONAT), 2)) AS FinancialPeriod,
'Reversal Entry Posted' AS ActivityName,
h.CPUDT + h.CPUTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
h.BUKRS AS CompanyCode,
h.BELNR AS DocumentNumber,
h.USNAM AS ResponsibleUser,
d.HKONT AS GLAccount,
h.BLART AS DocumentType,
d.DMBTR AS AmountInLocalCurrency,
'Reversal' AS JournalEntryType
FROM BKPF h
JOIN BSEG d ON h.MANDT = d.MANDT AND h.BUKRS = d.BUKRS AND h.BELNR = d.BELNR AND h.GJAHR = d.GJAHR
WHERE h.BUDAT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND h.BUKRS IN ({{company_codes}})
AND h.STBLG IS NOT NULL -- STBLG links to the reversed document
UNION ALL
SELECT
CONCAT(CAST(YEAR(j.SDLSTRTDT) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(j.SDLSTRTDT)), 2)) AS FinancialPeriod,
'Trial Balance Report Generated' AS ActivityName,
j.SDLSTRTDT + j.SDLSTRTTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
NULL AS CompanyCode,
j.JOBNAME AS DocumentNumber,
j.SDLUNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM TBTCO j
JOIN TBTCP p ON j.JOBNAME = p.JOBNAME AND j.JOBCOUNT = p.JOBCOUNT
WHERE p.PROGNAME IN ('RFSSLD00', 'S_ALR_87012310')
AND j.SDLSTRTDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND j.STATUS = 'F'
UNION ALL
SELECT
CONCAT(CAST(YEAR(j.SDLSTRTDT) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(j.SDLSTRTDT)), 2)) AS FinancialPeriod,
'Financial Statements Generated' AS ActivityName,
j.SDLSTRTDT + j.SDLSTRTTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
NULL AS CompanyCode,
j.JOBNAME AS DocumentNumber,
j.SDLUNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM TBTCO j
JOIN TBTCP p ON j.JOBNAME = p.JOBNAME AND j.JOBCOUNT = p.JOBCOUNT
WHERE p.PROGNAME = 'RFBILA00' -- Program for F.01
AND j.SDLSTRTDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND j.STATUS = 'F'
-- UNION ALL
-- Note: 'Reconciliation Reviewed' is typically not a standard, logged event in SAP ECC.
-- This activity often happens offline or in a custom tool.
-- The following is a placeholder to be adapted if a custom (Z-table) log exists.
-- SELECT
-- CONCAT(CAST(YEAR(z.REVIEW_DATE) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(z.REVIEW_DATE)), 2)) AS FinancialPeriod,
-- 'Reconciliation Reviewed' AS ActivityName,
-- z.REVIEW_DATE AS EventTime,
-- 'SAP_ECC' AS SourceSystem,
-- CURRENT_TIMESTAMP AS LastDataUpdate,
-- z.BUKRS AS CompanyCode,
-- z.HKONT AS DocumentNumber, -- Using GL Account as a proxy identifier
-- z.REVIEWER_USER AS ResponsibleUser,
-- z.HKONT AS GLAccount,
-- NULL AS DocumentType,
-- NULL AS AmountInLocalCurrency,
-- NULL AS JournalEntryType
-- FROM ZRECON_LOG z -- Replace with your custom table for reconciliation status
-- WHERE z.REVIEW_DATE BETWEEN '{{start_date}}' AND '{{end_date}}'
-- AND z.STATUS = 'Reviewed'
; 準備はできましたか?
このデータテンプレートを使ってプロセスマイニングを始め、財務締め処理に関する価値ある情報を得られます。今すぐ決算・レポーティングプロセスの最適化を始めましょう。
決算・レポーティングの締め処理を最適化し、サイクルタイムを短縮
ボトルネックをなくし、決算・レポーティングの締め処理サイクルを30%短縮します。
クレジットカードは不要です。14日間の無料トライアルを開始できます。