記録から報告までの期間締めおよび照合データテンプレート
SAP S/4HANA記録から報告までの期間締めおよび照合データテンプレート
- 収集を推奨する項目
- プロセス分析のために追跡すべき主要アクティビティ
- データ抽出の手順ガイド
記録から報告までの期間締めおよび照合の属性
| 名前 | 説明 | ||
|---|---|---|---|
| 会計期間 FinancialPeriod | 2023年12月の「2023-12」のように、財務報告サイクルのための一意の識別子であり、期末締処理プロセスのケースとして機能します。 | ||
| 説明 会計期間は、特定の期間(通常は暦月または会計期間)の帳簿締めに関連するすべての活動をグループ化するコアケース識別子です。各会計期間は、期末プロセスの一連の完全な実行を表します。 プロセスマイニング分析において、この属性は期間締めの開始から最終報告までのライフサイクル全体を追跡することを可能にします。異なる期間間のサイクルタイムを比較し、共通のプロセスパスを特定し、月次、四半期、年次の締め処理手順のバリエーションを分析するために使用されます。各期間をケースとして扱うことで、アナリストは時間の経過とともにパフォーマンスを測定し、システム的なボトルネックを特定できます。 その重要性 これは分析を枠付ける必須のケース識別子であり、時間の経過に伴う期間締めパフォーマンスの比較や、トレンドまたは繰り返しの問題の特定を可能にします。 取得元 財務伝票ヘッダーの会計年度(GJAHR)と転記期間(MONAT)フィールドを組み合わせることで導出され、通常はBKPFのようなテーブルから取得されます。 例 2023-122024-032024-Q1 | |||
| アクティビティ ActivityName | 期間締めプロセス内で実行される特定のビジネスステップまたはタスクの名前です(例:「調整仕訳記帳済み」や「記帳期間締め」)。 | ||
| 説明 この属性は、エンドツーエンドの期間締めおよび照合プロセスにおける単一のイベントまたはタスクを表します。活動はプロセスマップの構成要素であり、実行された作業のシーケンスを示します。これらは多くの場合、SAP S/4HANA内のトランザクションコード、伝票タイプ、またはステータス変更の組み合わせから派生します。 活動の分析はプロセスマイニングの基本です。プロセスフローを可視化し、標準手順からの逸脱を特定し、活動に時間がかかりすぎるボトルネックを発見し、タスクの頻度と順序を理解するのに役立ちます。これは、期間締めバリアント分析や現在の期間締めステータスのようなダッシュボードにとって不可欠です。 その重要性 プロセスのステップを定義し、プロセスマップの基礎を形成し、プロセスフロー、逸脱、ボトルネックの分析を可能にします。 取得元 トランザクションコード(TCODE)、伝票タイプ(BLART)、または財務締処理タスクに関連するテーブルのステータスフィールド(例:SAP Financial Closing Cockpitから)など、さまざまなソースから導出されます。 例 転記期間開設済み勘定調整開始財務諸表生成済み会社間調整開始 | |||
| 開始時刻 EventTime | 特定の活動が開始されたか、システムに記録された日時を示すタイムスタンプです。 | ||
| 説明 イベント時刻は、アクティビティが発生した正確な日時を捕捉します。財務転記の場合、これはしばしば伝票の作成時刻(CPUTM)または転記日付(BUDAT)です。ステータス変更やタスクの場合、変更がログに記録されたタイムスタンプです。 この属性は、アクティビティの時系列順序付けに不可欠であり、すべての時間ベースの分析の基礎となります。アクティビティ間のサイクルタイム、特定タスクの期間、および全体のエンドツーエンドのプロセス期間を計算するために使用されます。平均期末締処理サイクルタイムや平均調整承認時間などのKPIを直接サポートします。 その重要性 この必須のタイムスタンプは、イベントの時系列順序付けを可能にし、すべての期間およびパフォーマンス計算の基礎となります。 取得元 BKPFのようなテーブルの作成日(CPUDT)および作成時間(CPUTM)のようなタイムスタンプフィールド、または様々なステータステーブル(例:CDHDR、CDPOS)の変更日フィールドから取得されます。 例 2023-12-28T09:15:30Z2024-01-02T14:00:12Z2024-01-05T11:21:00Z | |||
| GL勘定科目番号 GlAccountNumber | 総勘定元帳における特定の勘定の識別子です。 | ||
| 説明 総勘定元帳(GL)勘定コードは、現金、買掛金、収益などの財務トランザクションを記録するために使用される個々の勘定を識別します。照合や調整仕訳など、多くの期末活動は特定のGL勘定に直接関連しています。 この属性は、詳細な財務プロセス分析に不可欠です。「調整仕訳分析」ダッシュボードは、これを使用して勘定ごとの調整量を示し、問題のある領域を特定するのに役立ちます。「平均GL勘定照合時間」KPIも、特定の勘定に関連する遅延を特定するためにこれに依存しています。 その重要性 プロセスアクティビティを特定の財務勘定科目と紐付け、調整と仕訳入力の詳細な分析を可能にし、問題の根本原因を見つけるのに役立ちます。 取得元 財務伝票明細テーブル、主にBSEG(フィールドHKONT)またはS/4HANAユニバーサルジャーナルテーブルACDOCAに見られます。 例 113100004000000073000000 | |||
| 会社コード CompanyCode | SAP組織内の法人または会社の一意の識別子です。 | ||
| 説明 会社コードは、企業内の独立した会計単位を表し、完全な独立した勘定科目セットを作成できます。すべての期末締め活動は、会社コードレベルで実行されます。 これは財務分析における基本的な組織ディメンションです。プロセスマイニングでは、異なる法人エンティティ間で期間締めプロセスを比較することを可能にします。「期間締めバリアント分析」ダッシュボードは、会社コードを使用して不整合を特定し、締め処理の標準化を促進します。 その重要性 重要な組織的コンテキストを提供し、異なる法人間のプロセスを比較して差異やベストプラクティスを特定することを可能にします。 取得元 SAPのほぼすべての財務テーブル、特にヘッダーテーブルBKPF(フィールドBUKRS)に見られます。 例 10001710US01DE01 | |||
| 伝票番号 DocumentNumber | 仕訳などの財務伝票の一意の識別子です。 | ||
| 説明 伝票番号は、SAPによってすべての財務記帳に割り当てられる一意のキーです。締め処理における活動を構成する個々のトランザクションを追跡・監査するための主要な参照として機能します。 それ自体はケースIDではありませんが、ソースシステムへの重要なリンクを提供します。アナリストは、プロセスマイニングビューからSAP S/4HANAの特定のトランザクション詳細にドリルダウンして、根本原因分析を行うことができます。特定の調整仕訳や照合記帳を調査する際に特に有用です。 その重要性 SAP内の基盤となるトランザクションへの直接参照を提供し、プロセスモデルからの容易なドリルダウンと監査可能性を可能にします。 取得元 財務伝票ヘッダーテーブルBKPF(フィールドBELNR)およびBSEGやACDOCAのような明細テーブルにあります。 例 100000045190000001300000023 | |||
| 処理時間 ProcessingTime | 個々の活動の期間で、その終了時刻と開始時刻の差として計算されます。 | ||
| 説明 処理時間(アクティビティ期間とも呼ばれる)は、単一のタスクに費やされた時間を測定します。これは、イベントの この計算されたメトリックは、パフォーマンス分析の基本です。アクティビティレベルでのボトルネックを特定するのに役立ち、「リソース配分効率」と「調整承認スループット」ダッシュボードで利用される主要な測定値です。処理時間を合計することで、プロセス内の総接触時間に関する洞察も得られます。 その重要性 個々のタスクの期間を測定し、直接ボトルネックを浮き彫りにし、効率分析の基礎を形成します。 取得元 計算フィールド: 例 PT1M30SPT8HP2D | |||
| 担当ユーザー ResponsibleUser | 活動を実行した、またはタスクの責任者である人物のユーザーIDです。 | ||
| 説明 この属性は、仕訳の記帳や照合の承認など、与えられたタスクを実行した従業員を特定します。通常、システムログや伝票ヘッダーのユーザーIDとして捕捉されます。 ユーザーによるプロセス分析は、ワークロードの分散、個人のパフォーマンス、およびトレーニングニーズを理解するために重要です。リソース割り当て効率ダッシュボードは、この属性を直接使用して、ユーザーごとの活動処理時間を視覚化します。また、多くのユーザーによって実行される非常に反復的なタスクを強調表示することで、自動化候補を特定するのに役立ちます。 その重要性 プロセスアクティビティをそれらを実行した個人と結びつけ、ワークロード分析、リソース最適化、およびパフォーマンス管理を可能にします。 取得元 BKPF(フィールドUSNAM - ユーザー名)のような伝票ヘッダーテーブルや、CDHDR(フィールドUSERNAME)のような変更伝票テーブルでよく見られます。 例 ABROWNCSMITHDJOHNSON | |||
| 目標完了日 TargetCompletionDate | 財務諸表の生成など、主要な活動を完了するための計画日または期限日です。 | ||
| 説明 目標完了日は、期間締めプロセスにおける特定の節目に対する内部または外部の期限を表します。これは、タスクが完了すると予想される日付です。 この属性は、スケジュール順守と期限に対するパフォーマンスを測定するために不可欠です。「報告期限順守」ダッシュボードおよび その重要性 締切に対するパフォーマンス分析を可能にし、重要な締処理アクティビティの期日内完了率を測定・改善するのに役立ちます。 取得元 このデータは、SAP Financial Closing cockpitのようなタスク管理システムまたはスケジューリングシステムに存在するこ��が多く、そこで締め処理タスクリストが計画終了日とともに定義されます。 例 2024-01-05T23:59:59Z2024-04-04T23:59:59Z2024-07-05T23:59:59Z | |||
| 終了日時 EndTime | アクティビティの完了時刻を示すタイムスタンプ。 | ||
| 説明 終了時刻は、タスクの完了を示します。場合によっては、システムにログ記録された瞬時イベントの開始時刻と同じになることもあります。測定可能な期間を持つ活動については、最終完了のタイムスタンプを表します。 開始時刻と組み合わせることで、この属性は各活動の その重要性 アクティビティ期間(処理時間)の計算を可能にします。これは、パフォーマンスのボトルネックを特定し、効率を分析するために不可欠です。 取得元 開始時刻と同様に、これは様々なタイムスタンプフィールドから取得できます。一部のアクティビティでは開始時刻と同じである場合があります。他のアクティビティでは、アプリケーションテーブルや変更ログ(CDHDR、CDPOS)内の独立した「完了日」または「変更日」である可能性があります。 例 2023-12-28T09:16:10Z2024-01-02T17:30:00Z2024-01-05T11:21:00Z | |||
| 調整ステータス ReconciliationStatus | 勘定照合活動のステータスで、「オープン」、「進行中」、「承認済み」などです。 | ||
| 説明 この属性は、特定の勘定またはタスクに対する照合プロセスの状態を追跡します。照合が開始されたか、レビューのために提出されたか、承認されたか、却下されたかを示します。ステータスの変更はプロセスにおける主要なイベントです。 これは「照合手戻り分析」ダッシュボードの基本です。ステータスのシーケンスを分析することで、「承認済み」ステータスの後にさらに調整が行われた場合を特定でき、手戻りを示します。また、以前の却下や再開なしに承認された照合を示すことで、「初回通過照合率」KPIもサポートします。 その重要性 照合タスクの進捗と結果を追跡し、手戻りの特定、承認率の測定、ボトルネックの分析を可能にします。 取得元 この情報は通常、SAP Financial Closing cockpitやSAP Account Substantiation and Automation by BlackLineなど、使用されている特定の照合ツールに関連するテーブルに保存されます。 例 未開始準備中承認済み却下 | |||
| ソースシステム SourceSystemId | データが抽出された特定のSAP S/4HANAインスタンスまたはクライアントの識別子です。 | ||
| 説明 この属性は、データの発生元システムを指定します。複数のSAPインスタンスが存在する環境(例:異なる地域や事業単位向け)では、このフィールドはデータソースを区別するために非常に重要です。 これは主にデータガバナンス、監査、データ整合性の確保に使用されます。分析においては、異なるソースシステムが単一のプロセスマイニングモデルに統合されている場合、それらのシステム間のプロセスを比較するためのフィルターとして使用できます。 その重要性 本質的なデータリネージとコンテキストを提供し、特に複数システム環境におけるデータの起源に関する明確さを保証します。 取得元 これは通常、データ抽出プロセス中に付加されるメタデータであり、多くの場合、SAPのシステムID (SY-SYSID) またはクライアント (SY-MANDT) から取得されます。 例 S4H_PROD_100S4H_QAS_200ECC_LEGACY_001 | |||
| トランザクションコード TransactionCode | 活動を実行するために使用されたSAPトランザクションコード(T-code)です。 | ||
| 説明 トランザクションコードは、SAPで特定の機能やプログラムを開始するためのショートカットです。例えば、FB01は伝票の転記に使用され、FAGLB03はGL勘定残高の表示に使用されます。T-コードは、実行されたアクティビティの明確な技術的指標を提供することがよくあります。 この属性は、プロセスモデルのアクティビティ定義を作成するのに役立ちます。これは、自動化されたアクティビティと手動アクティビティを区別し、タスクがシステム内でどのように実行されたかを正確に理解するための信頼できる方法です。T-コードを分析することで、従業員が使用している標準外または非効率な方法が明らかになることがあります。 その重要性 アクティビティがどのように実行されたかの技術的、システムレベルのビューを提供します。これは、手動ステップと自動化ステップの識別や、標準外の手順の特定に役立ちます。 取得元 財務伝票ヘッダーテーブルBKPF(フィールドTCODE)または変更伝票ログに見られます。 例 FB01FAGL_FCVF.13 | |||
| 仕訳タイプ JournalEntryType | 記帳されている財務伝票の種類で、標準仕訳、未払金、調整仕訳を区別します。 | ||
| 説明 仕訳タイプ、またはSAP用語では伝票タイプは、会計伝票を分類するキーです。どの勘定タイプに伝票が記帳できるかを制御し、仕入先請求書(KR)、総勘定元帳記帳(SA)、顧客支払(DZ)など、異なるビジネス取引を区別するために使用されます。 期間締めのコンテキストでは、この属性は特定の種類の活動を分離するために非常に重要です。例えば、「調整仕訳分析」ダッシュボードと「調整仕訳数」KPIをサポートするために、アナリストが調整仕訳に焦点を当てることを可能にします。また、「手動記帳比率」の計算にも役立ちます。 その重要性 財務トランザクションを分類し、手動調整などの特定の転記タイプに分析を集中させることを可能にします。これは円滑な期末締処理に不可欠です。 取得元 これは、財務伝票ヘッダーテーブルBKPFの標準フィールド(フィールドBLART)です。 例 SAKRAB | |||
| 伝票通貨 DocumentCurrency | 財務伝票の金額に対する通貨コードです。 | ||
| 説明 この属性は、USD、EUR、JPYなど、取引が記録された通貨を指定します。 多国籍企業では、通貨による分析が重要となる場合があります。これは、金銭的価値が正しく解釈されることを保証し、集計分析のために単一の報告通貨への変換に必要です。このコンテキストがないと、 その重要性 すべての金銭的価値に必要なコンテキストを提供し、特に多通貨環境において金額が正しく解釈されることを保証します。 取得元 財務伝票ヘッダーテーブルBKPF(フィールドWAERS)にあります。 例 USDEURJPY | |||
| 伝票金額 DocumentAmount | 伝票通貨建ての財務記帳の合計金額です。 | ||
| 説明 この属性は、財務伝票に関連付けられた金銭的価値を表します。期末調整の場合、これは計上される未払金または修正の金額となることがあります。 金額を分析することは、重要性評価に役立ちます。これにより、アナリストはより大きな財務リスクをもたらす可能性のある高額の調整仕訳の調査を優先できます。特定の閾値を超えるトランザクションのみに焦点を当てるようにプロセスマップをフィルタリングするために使用でき、最も重要な活動にビューを単純化します。 その重要性 分析に財務的な視点を加え、金銭的影響と重要性に基づいて問題の優先順位付けを可能にします。 取得元 この値は通常、BSEGまたはACDOCAのような明細項目テーブル(フィールドWRBTR - 伝票通貨建て金額)から集計する必要があります。 例 15000.00250.75-500.00 | |||
| 最終データ更新 LastDataUpdate | ソースシステムからの最終更新または抽出日時を示す timestamp。 | ||
| 説明 この属性は、最新のデータ抽出の日時を記録します。プロセスマイニングツールで分析されているデータの鮮度に関するコンテキストを提供します。 その主な目的は、データガバナンスとユーザーへの情報提供のためです。ダッシュボードの閲覧者は、分析がどれくらい最新であるかを確認でき、特に「現在の期間締めステータス」のようなほぼリアルタイムのモニタリングダッシュボードにとっては重要です。ユーザーは、今日、昨日、または先週のデータを見ているのかを理解するのに役立ちます。 その重要性 データの適時性をユーザーに伝え、プロセスの洞察がどの程度最新であるかを確実に理解してもらいます。 取得元 これは、データ抽出またはETLツールが実行時にデータセットに生成し、付与するメタデータです。 例 2024-06-10T08:00:00Z2024-06-09T08:00:00Z | |||
| 実際の完了日 ActualCompletionDate | 主要な活動または期間締め全体が完了した実際の日付です。 | ||
| 説明 この属性は、重要なマイルストーンの実際の完了日を捕捉します。財務諸表の最終承認または記帳期間締めのタイムスタンプです。 これは その重要性 マイルストーンの実際的なタイミングを提供します。これは、計画された締切に対するパフォーマンスを測定し、遅延を分析するために必要です。 取得元 「財務諸表承認済み」や「記帳期間締め」など、シーケンスにおける最終活動の 例 2024-01-06T10:00:00Z2024-04-05T17:00:00Z2024-07-04T11:00:00Z | |||
| 期末締処理サイクルタイム PeriodCloseCycleTime | ある会計期間における、最初の活動から最後の活動までの総所要時間です。 | ||
| 説明 このメトリクスは、単一のケース(会計期間)における期間締めプロセスのエンドツーエンドの期間を表します。これは、その期間内の最も最後の活動のタイムスタンプと最も最初の活動のタイムスタンプの差として計算されます。 これは主要な主要業績評価指標であり、「期間締めサイクルタイム概要」ダッシュボードおよび「平均期間締めサイクルタイム」KPIを直接サポートします。締め処理全体の効率と速度に関する高レベルの測定値を提供し、時間の経過に伴う比較や異なる会社コード間のベンチマークを可能にします。 その重要性 プロセス全体の期間に対する主要なKPIを表し、時間の経過に伴う効率改善の高度な追跡を可能にします。 取得元 ケースレベルで計算されます: 各 例 P5D10H30MP7D2HP6D | |||
| 期限内である IsOnTime | マイルストーンが目標期日までに完了した場合にtrueとなるブール値フラグです。 | ||
| 説明 この属性は、スケジュール順守に対する単純な二値の結果を提供します。財務諸表の承認など、特定の節目に対する これは、「財務諸表期日内達成率」KPIの背後にある主要な計算です。日付比較を明確な「期日内」または「遅延」ステータスに変換することで、パフォーマンス追跡を簡素化し、ダッシュボードやレポートで簡単に視覚化できます。これにより、締め処理を加速することを目的としたイニシアチブの有効性を測定するのに役立ちます。 その重要性 期限順守分析を明確な成功または失敗の結果に簡素化し、期日内のパフォーマンスを簡単に追跡・報告できるようにします。 取得元 計算フィールド: 例 truefalse | |||
| 自動化 IsAutomated | システムユーザーまたは自動プロセスによってアクティビティが実行されたかどうかを示すブール値フラグです。 | ||
| 説明 このフラグは、人間ユーザーが手動で実行するタスクと、通貨評価のためのスケジュールされたバッチジョブや自動消込実行などのシステムによって自動的に実行されるタスクを区別します。通常、 この属性は、締め処理における自動化のレベルを理解するための鍵となります。大量の手動タスクを強調表示することで、さらなる自動化の機会を特定するのに役立ちます。また、ボトルネックが手動ステップで発生しているのか、自動化されたステップで発生しているのかを確認するための根本原因分析にも使用されます。 その重要性 人間のアクティビティとシステムのアクティビティを区別することは、自動化の機会を特定し、両方の効率を分析するために不可欠です。 取得元 これは派生属性であり、多くの場合、「ResponsibleUser」フィールド(例:「BATCHUSER」のようなシステムまたはバッチユーザーIDの確認)またはトランザクションコードに適用されるルールに基づいています。 例 truefalse | |||
| 調整手戻りか IsReconciliationRework | 調整アクティビティの後に却下またはさらなる調整が発生した場合にtrueとなるブール値フラグです。 | ||
| 説明 この計算属性は、照合サブプロセス内の手戻りの発生を特定します。このロジックは、照合が却下されたり、提出後に再開されたり、GL勘定の照合が完了したとされた後に調整仕訳が記帳されたりする活動またはケースにフラグを立てます。 このフラグは、「照合手戻り分析」ダッシュボードと「照合手戻り率」KPIを強化するために特別に設計されています。複雑なプロセスシーケンスを単純で測定可能な属性に変換し、手戻りの程度を定量化することで、チームが初回品質の向上に集中するのを支援します。 その重要性 手戻りというプロセス非効率性の主要な形態を直接定量化し、調整品質のターゲット分析と改善努力を可能にします。 取得元 アクティビティの順序に基づいて計算されます。例えば、「調整承認済み」の後に同じ会計期間内の同じGL勘定科目に対して「調整仕訳転記済み」が続く場合、フラグがtrueに設定されます。 例 truefalse | |||
記録から報告までの期間締めおよび照合活動
| アクティビティ | 説明 | ||
|---|---|---|---|
| 会社間調整開始 | この活動は、同じ企業グループ内の異なる会社コード間の取引を照合し、突き合わせるプロセスの開始を意味します。これは多くの場合、照合ジョブを実行するか、SAPのICMRツールで新しい照合ケースを作成することによって開始されます。 | ||
| その重要性 会社間調整は複雑で時間のかかることがよくあります。その期間とフローを分析することは、グループ締処理を合理化し、連結財務諸表の正確性を確保するために不可欠です。 取得元 SAP会社間マッチング・調整(ICMR)モジュール内のステータス変更、または期間の最初の調整伝票の作成から推測されます。 取得 指定期間のICMRツール内の照合単位の作成日またはステータス変更タイムスタンプを追跡します。 イベントタイプ inferred | |||
| 勘定調整承認済み | この活動は、GL勘定照合の最終承認を示し、残高が正当化され、すべての問題が解決されたことを確認します。これは、照合ツールでの「承認済み」へのステータス変更から推測されます。 | ||
| その重要性 このマイルストーンは、重要な管理活動の完了を示します。承認時間を追跡することで、レビュープロセスにおけるボトルネックを特定でき、手戻りや初回通過率の測定に不可欠です。 取得元 SAP Account Substantiation and Automationのような調整管理システムから、最終承認ステータスのタイムスタンプを追跡することで捕捉されます。 取得 調整のステータスフィールドが最終的な「承認済み」状態に更新されたタイムスタンプを特定します。 イベントタイプ inferred | |||
| 勘定調整開始 | GL勘定残高の実在性を確認する手動または半自動プロセスの開始を示します。これは、調整のステータスが「新規」から「処理中」に変更されたとき、または最初の作成者アクションがログに記録されたときに推測されます。 | ||
| その重要性 これは、貸借対照表の正当性確認にかかる期間と労力を理解するための重要な節目です。どの勘定や部門が照合を遅れて開始しているかを特定するのに役立ちます。 取得元 このイベントは通常、SAP Account Substantiation and Automation by BlackLineのような専用の照合ツールまたはその他のサードパーティシステムから捕捉されます。ステータス変更のタイムスタンプから推測されます。 取得 特定のGL勘定照合における「未開始」状態からの最初のステータス変更のタイムスタンプを追跡します。 イベントタイプ inferred | |||
| 調整仕訳転記済み | 初期照合が実行された後に行われる修正仕訳を表します。通常、レビュープロセス中に発見された不一致を修正するためのものです。これは総勘定元帳に記帳される明示的なトランザクションです。 | ||
| その重要性 調整仕訳の頻度が高い場合、上流プロセスまたは調整における初回品質が低いことを示します。これらの仕訳を分析することは、エラーの根本原因を特定し、手戻りを減らすための鍵となります。 取得元 テーブルACDOCAおよびBKPFに明示的な伝票として記録されます。これらは特定の伝票タイプ、締めサイクル後半の記帳日、または特定のテキスト記述によって識別できます。 取得 調整アクティビティに関連する伝票タイプと転記日付の組み合わせに基づいて、BKPFの仕訳入力をフィルターします。 イベントタイプ explicit | |||
| 財務諸表生成済み | この活動は、貸借対照表や損益計算書などの公式な財務諸表の作成を示します。これは、期末会計および連結プロセスの集大成を表します。 | ||
| その重要性 これは、記録から報告までのサイクルにおける主要な節目です。そのタイミングは、報告期限の順守とステークホルダーへのタイムリーな情報提供にとって不可欠です。 取得元 SAP Financial Closing Cockpitのような財務締処理管理ツールを通じて、明示的なタスクとして最もよく捕捉されます。それ以外の場合は、レポート生成ログまたはファイル作成のタイムスタンプから推測する必要があります。 取得 締め処理ツールで「財務諸表の生成」タスクの完了ステータスを追跡するか、レポート実行ログを分析します。 イベントタイプ inferred | |||
| 転記期間締切済み | これはサイクルにおける最終活動であり、これ以上取引が行われないように記帳期間が正式に閉じられます。このアクションは、最終的な財務報告のデータの整合性を保証します。 | ||
| その重要性 この活動は、プロセスの最終的な終了イベントとして機能します。期間締めサイクルタイムの合計を計算し、プロセス完了トレンドを分析するために不可欠です。 取得元 期間開始と同様に、このイベントはトランザクションOB52を介して記帳期間管理テーブルT001Bへの更新を記録する変更伝票(テーブルCDHDRおよびCDPOS)から捕捉されます。 取得 関連する会計年度と期間の締処理を特定するために、テーブルT001Bの変更ログをフィルターします。 イベントタイプ explicit | |||
| 転記期間開設済み | これは会計期間の開始を示し、記帳期間が取引記録のために開かれます。これはSAPの財務管理者が実行する明示的でログに記録された設定変更であり、新しい期間の仕訳を許可します。 | ||
| その重要性 この活動は、期末締め処理の主要な開始イベントとして機能します。総サイクルタイムの正確な測定を可能にし、プロセス分析の明確な開始点を提供します。 取得元 このイベントは、トランザクションOB52を介して通常実行される記帳期間管理テーブルT001Bへの変更を記録する変更伝票(テーブルCDHDRおよびCDPOS)から捕捉されます。 取得 特定の会計年度および期間に関連するテーブルT001Bの変更ログをフィルターします。 イベントタイプ explicit | |||
| 外貨評価実行 | これは、期末の為替レートに基づいて外貨建ての未消込明細と残高を再評価するための標準的な月末処理です。このプログラムの実行により、結果として生じる評価差額が記帳されます。 | ||
| その重要性 会計基準への準拠を確実にし、正確な財務状況を提供します。このアクティビティを追跡することで、すべての通貨評価がタイムリーに実行されることを保証できます。 取得元 外貨評価プログラム(例:FAGL_FCV)の実行ログから捕捉されます。ジョブの詳細はテーブルTBTCOおよびTBTCPに保存されています。 取得 トランザクションFAGL_FCVまたはその基盤プログラムに関連するジョブの実行ログを監視します。 イベントタイプ explicit | |||
| 未払費用および引当金転記済み | このイベントは、発生主義会計に基づく正確な財務報告に不可欠な未払金、繰延費用、その他の引当金の手動仕訳の作成を捕捉します。これらは総勘定元帳に記帳される明示的なトランザクションです。 | ||
| その重要性 これらの記帳を追跡することで、手動調整の量とタイミングを分析できます。量が多い場合は、自動化の機会や上流プロセスの改善の可能性を示唆するかもしれません。 取得元 ユニバーサル仕訳帳テーブルACDOCAおよびヘッダーテーブルBKPFに明示的な仕訳として記録されます。これらの仕訳は、未払金計上のために設定された特定の伝票タイプによって識別できます。 取得 テーブルBKPFの伝票を、伝票タイプ(例:'SA'またはカスタムタイプ)と期間内の転記日付でフィルターします。 イベントタイプ explicit | |||
| 自動消込実行済み | SAPにおける自動消込プログラム(GR/IR(入庫/請求書受領)消込処理など)の実行を表します。これらのジョブは、特定のGL勘定の未消込明細を照合・消込し、手作業による照合の手間を軽減します。 | ||
| その重要性 この活動は、照合プロセスにおける自動化のレベルを強調します。これらの実行における失敗や例外は、かなりの手動作業と遅延につながる可能性があります。 取得元 自動消込のためのF.13またはF.13Eのような特定のバッチジョブの実行ログから捕捉されます。ジョブログテーブルTBTCOおよびTBTCPに実行詳細が含まれています。 取得 SAPジョブログ内のF.13のようなトランザクションに関連するジョブの開始および終了タイムスタンプを監視します。 イベントタイプ explicit | |||
| 補助元帳データ転送完了 | 売掛金、買掛金、固定資産会計などの補助元帳から総勘定元帳に集計データを転送するバッチジョブの完了を表します。これにより、締め処理が開始される前に、すべての基盤となる業務トランザクションがGLに反映されることを保証します。 | ||
| その重要性 補助元帳締処理の遅延は、プロセス全体にとって大きなボトルネックとなる可能性があります。このアクティビティを追跡することで、ソースシステムからのデータ収集と統合における非効率性を特定するのに役立ちます。 取得元 元帳決済とデータ転送を担当する特定のバッチジョブの成功完了ステータスから推測されます。ジョブログはテーブルTBTCOおよびTBTCPに見られます。 取得 SAPのジョブ概要(トランザクションSM37)で、関連するバッチジョブの完了タイムスタンプを特定し、監視します。 イベントタイプ explicit | |||
| 試算表作成済み | 試算表が生成され、レビューのために保存されたことを示します。これは最終的な財務諸表が作成される前の主要なチェックポイントとして機能します。このイベントの捕捉は、多くの場合、レポート出力が保存される手順に依存します。 | ||
| その重要性 試算表の作成は重要な品質ゲートです。そのタイミングを分析することで、最終報告への準備状況を理解し、先行する活動の遅延を浮き彫りにすることができます。 取得元 これは多くの場合、明示的なイベントではありません。ユーザーと日付のスタンプ付きでバリアントが保存されている場合、またはSAP Financial Closing Cockpitのようなツールでプロセスが管理されている場合、特定のレポートトランザクションの実行から推測されることがあります。 取得 レポート実行ログや締め処理コックピットのタスクリストなど、信頼性の高いログメカニズムが存在するかどうかを判断するために、システム分析が必要です。 イベントタイプ inferred | |||
| 財務諸表承認済み | 財務諸表が公開される前に、権限のある経営陣による最終承認を表します。これは多くの場合、オフラインのプロセスですが、正式なデジタル承認ステップが存在する場合は捕捉可能です。 | ||
| その重要性 これは最終的な品質および管理ゲートです。そのタイミングを追跡することは、報告期限の順守と経営陣レビューサイクル全体の効率を理解するために不可欠です。 取得元 このイベントは、例えばSAP Financial Closing Cockpit内や文書管理システム内に明細書承認のワークフローまたはステータスフィールドが存在する場合に捕捉されます。 取得 財務諸表パッケージの最終承認を示すデータフィールドとタイムスタンプを特定します。 イベントタイプ inferred | |||
| 連結タスク実行済み | SAP Group Reporting内での連結活動(通貨換算、組み換え、グループ会社間利益の消去など)の実行を表します。これらのタスクは通常、連結モニターで管理およびログ記録されます。 | ||
| その重要性 複数の法人を持つ組織にとって、連結プロセスはクリティカルパス上の項目です。これらのタスクを監視することは、グループ締処理を合理化し、タイムリーな連結報告を確実にするのに役立ちます。 取得元 SAP S/4HANA for Group Reportingのデータモニターまたは連結モニター内のステータスログから捕捉されます。各タスクには通常、ユーザー、タイムスタンプ、およびステータスが含まれています。 取得 グループレポート連結モニターの基盤テーブルからタスク実行ログを抽出します。 イベントタイプ explicit | |||
抽出ガイド
ステップ
- CDSビューの特定と検証: SAP HANA StudioまたはADTを搭載したEclipseを使用してSAP S/4HANAシステムにログインします。ABAP開発ツールを使用して、クエリに記載されている標準CDSビュー(I_JournalEntryItem、I_BatchJob、I_ConsolidationTaskLogなど)の存在を検索および検証します。勘定調整のようなプロセスの場合、ステータス変更を捕捉するためにZ_I_ACCOUNTRECONCILIATIONのようなカスタムCDSビューを作成する必要がある場合があります。
- ODataを介したCDSビューの公開: SAPバックエンドで、トランザクション
SEGW(Gateway Service Builder)を使用して新しいプロジェクトを作成します。データモデルフォルダを右クリックし、「Reference -> Data Source」を選択します。必要なCDSビューを追加します。ランタイムオブジェクトを生成して、これらのビューを外部公開するODataサービスを作成します。 - ODataサービスの有効化: SAP Gatewayハブでトランザクション
/IWFND/MAINT_SERVICEに移動します。「サービス追加」をクリックし、前のステップで生成したサービスを見つけて追加します。これにより、サービスがアクティブになり、クエリで利用可能になります。 - データ接続の確立: 選択したデータ抽出ツール(Python、Power BI、または専用のETLプラットフォームなど)から、新しく作成されたODataサービスへの接続を確立します。サービスURLと、CDSビューにアクセスするための適切な権限を持つ資格情報が必要になります。
- クエリの調整と実行: 提供されたSQLクエリをコピーします。日付範囲、会社コード、およびカスタムCDSビューまたはバッチジョブ名に関するプレースホルダー値を、お客様の特定のSAP環境に合わせて変更します。ODataサービスエンドポイントに対してクエリを実行します。ODataは異なる構文($filter、$select)を使用するため、UNION ALLクエリのロジックを、各アクティビティごとに一連の個別のAPI呼び出しに変換する必要がある場合があります。
- アクティビティデータの統合: ODataは通常、複雑なUNION ALLクエリを単一の呼び出しで直接サポートしないため、クエリ内の各アクティビティブロックに対して個別のリクエストを実行します。すべてのリクエストからの結果をクライアントツール内の単一のデータセットまたはテーブルに統合します。
- データの変換とクリーンアップ: 統合されたデータを確認します。
EventTimeおよびEndTime列が一貫したタイムスタンプ形式であることを確認します。FinancialPeriodが「YYYY-MM」形式で正しくフォーマットされていることを確認します。ResponsibleUserやDocumentNumberなどの列のNULL値は必要に応じて処理します。 - イベントログとしてエクスポート: 最終的に統合されたデータセットをCSVファイルにエクスポートします。列ヘッダーが必須属性(
FinancialPeriod、ActivityName、EventTime、EndTime、ResponsibleUserなど)と一致していることを確認します。このファイルはProcessMindへのアップロード準備が整いました。
設定
- CDSビュー: このクエリは、標準およびカスタムのCDSビューの組み合わせに依存しています。
I_JournalEntryItem(仕訳帳エントリ用)やI_BatchJob(自動実行用)のような標準ビューは不可欠です。Z_I_ACCOUNTRECONCILIATIONのようなカスタムビューは、標準ビューでカバーされていない内部プロセスのステータスを捕捉するためによく必要となります。 - 日付範囲: データ量を管理するために、抽出の特定の日付範囲を定義します。このクエリは、
[開始日]と[終了日]のプレースホルダーを使用しており、これは通常、意味のある分析のために3〜6会計期間をカバーするべきです。 - 主要フィルター: フィルタリングはパフォーマンスと関連性のために重要です。常に
会社コードでフィルターしてください。その他の重要なフィルターには、元帳(例:主要元帳の場合は'0L')、会計年度、および通常の転記、未払費用、調整を区別するための特定の伝票タイプの値が含まれます。 - 前提条件: 抽出を実行するユーザーは、指定されたCDSビューにアクセスし、ODataサービス(例:権限オブジェクト
S_SERVICE、S_RFC)を実行するためのSAPでの権限が必要です。SAP Gatewayサービスは設定および有効化されている必要があります。 - パフォーマンス:
I_JournalEntryItemのクエリはパフォーマンス負荷が高い場合があります。常に選択的なフィルター、特に日付、会社コード、および元帳に対して適用してください。継続的なモニタリングのためには、オフピーク時間中に抽出を実行するか、増分ローディング戦略を使用することを検討してください。
a クエリ例 sql
SELECT
CONCAT(CAST(PostingDate AS DATE FORMAT 'YYYY'), '-', CAST(PostingDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Period Opened For Posting' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_FinPostingPeriodControl -- This is a proxy; this activity is a configuration change often found in change logs (CDHDR/CDPOS for table T001B)
WHERE PostingPeriodVariant = '[Your Variant]' AND FiscalYear = '[Your Fiscal Year]' AND FromPostingPeriod = 1 AND AuthorizationGroup IS NOT NULL -- Logic to detect the opening event
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod, -- Infer period from Job Name if patterned, otherwise use job start date
'Subledger Data Transfer Completed' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Subledger Job Prefix]%' AND JobStatus = 'F' -- 'F' for Finished
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(CAST(CreationDate AS DATE FORMAT 'YYYY'), '-', CAST(CreationDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Intercompany Reconciliation Started' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
NULL AS EndTime,
CreatedByUser AS ResponsibleUser,
LeadingCompanyCode AS CompanyCode,
NULL AS GlAccountNumber,
ReconciliationCase AS DocumentNumber,
ReconciliationCaseStatus AS ReconciliationStatus,
NULL AS TargetCompletionDate,
NULL AS ProcessingTime
FROM I_ICRcnCase -- Part of SAP S/4HANA for group reporting
WHERE CreationDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Accruals And Provisions Posted' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
AccountingDocument AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_JournalEntryItem
WHERE DocumentType IN ('[Accrual Doc Type 1]', '[Accrual Doc Type 2]') -- e.g., 'SA', 'AC'
AND PostingDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Automated Clearing Run Executed' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE 'SAPF124%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Foreign Currency Valuation Run' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE 'FAGL_FCV%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- This activity often requires a custom view on a custom table or an add-on like SAP Account Substantiation and Automation.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Account Reconciliation Started' AS ActivityName,
CAST(ChangedAt AS TIMESTAMP) AS EventTime,
NULL AS EndTime,
ChangedBy AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
ReconciliationID AS DocumentNumber,
'In Progress' AS ReconciliationStatus,
PlannedCompletionDate AS TargetCompletionDate,
NULL AS ProcessingTime
FROM Z_I_ACCOUNTRECONCILIATION -- Placeholder for your custom reconciliation status view
WHERE Status = 'IN_PROGRESS' AND OldStatus = 'NEW'
AND ChangeDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Adjusting Journal Entry Posted' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
AccountingDocument AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_JournalEntryItem
WHERE DocumentType IN ('[Adjustment Doc Type 1]', '[Adjustment Doc Type 2]') -- e.g., 'AJ'
AND PostingDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- This activity often requires a custom view on a custom table or an add-on product.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Account Reconciliation Approved' AS ActivityName,
CAST(ChangedAt AS TIMESTAMP) AS EventTime,
CAST(ChangedAt AS TIMESTAMP) AS EndTime,
ApprovedBy AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
ReconciliationID AS DocumentNumber,
'Approved' AS ReconciliationStatus,
PlannedCompletionDate AS TargetCompletionDate,
NULL AS ProcessingTime
FROM Z_I_ACCOUNTRECONCILIATION -- Placeholder for your custom reconciliation status view
WHERE Status = 'APPROVED'
AND ChangeDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Consolidation Tasks Executed' AS ActivityName,
CAST(TaskExecutionUTCTimestamp AS TIMESTAMP) AS EventTime,
CAST(TaskCompletionUTCTimestamp AS TIMESTAMP) AS EndTime,
ExecutedByUser AS ResponsibleUser,
ConsolidationUnitCompanyCode AS CompanyCode, -- Assuming mapping exists
NULL AS GlAccountNumber,
DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(TaskExecutionUTCTimestamp AS TIMESTAMP), CAST(TaskCompletionUTCTimestamp AS TIMESTAMP)) AS ProcessingTime
FROM I_ConsolidationTaskLog
WHERE ConsolidationTaskStatus = 'S' -- Successful
AND TaskExecutionUTCDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Trial Balance Prepared' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Trial Balance Job Prefix]%' AND JobStatus = 'F' -- Example: FAGL_TRIAL_BALANCE_RUN
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Financial Statements Generated' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Fin Statement Job Prefix]%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- Approval is often a manual step. This requires a custom solution to capture.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(ApprovalYear, '-', LPAD(ApprovalPeriod, 2, '0')) AS FinancialPeriod,
'Financial Statements Approved' AS ActivityName,
CAST(ApprovalTimestamp AS TIMESTAMP) AS EventTime,
CAST(ApprovalTimestamp AS TIMESTAMP) AS EndTime,
ApproverUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
FinancialStatementVersion AS DocumentNumber,
'Approved' AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM Z_I_FINSTATEMENTAPPROVAL -- Placeholder for custom approval tracking view
WHERE ApprovalDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(CAST(LastChangeDate AS DATE FORMAT 'YYYY'), '-', CAST(LastChangeDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Period Closed For Posting' AS ActivityName,
CAST(LastChangeDateTime AS TIMESTAMP) AS EventTime,
CAST(LastChangeDateTime AS TIMESTAMP) AS EndTime,
LastChangedByUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_FinPostingPeriodControl -- Proxy, see note on 'Period Opened'
WHERE PostingPeriodStatus = 'C' -- 'C' for Closed
AND LastChangeDate BETWEEN '[Start Date]' AND '[End Date]'; ステップ
- CDSビューの特定と検証: SAP HANA StudioまたはADTを搭載したEclipseを使用してSAP S/4HANAシステムにログインします。ABAP開発ツールを使用して、クエリに記載されている標準CDSビュー(I_JournalEntryItem、I_BatchJob、I_ConsolidationTaskLogなど)の存在を検索および検証します。勘定調整のようなプロセスの場合、ステータス変更を捕捉するためにZ_I_ACCOUNTRECONCILIATIONのようなカスタムCDSビューを作成する必要がある場合があります。
- ODataを介したCDSビューの公開: SAPバックエンドで、トランザクション
SEGW(Gateway Service Builder)を使用して新しいプロジェクトを作成します。データモデルフォルダを右クリックし、「Reference -> Data Source」を選択します。必要なCDSビューを追加します。ランタイムオブジェクトを生成して、これらのビューを外部公開するODataサービスを作成します。 - ODataサービスの有効化: SAP Gatewayハブでトランザクション
/IWFND/MAINT_SERVICEに移動します。「サービス追加」をクリックし、前のステップで生成したサービスを見つけて追加します。これにより、サービスがアクティブになり、クエリで利用可能になります。 - データ接続の確立: 選択したデータ抽出ツール(Python、Power BI、または専用のETLプラットフォームなど)から、新しく作成されたODataサービスへの接続を確立します。サービスURLと、CDSビューにアクセスするための適切な権限を持つ資格情報が必要になります。
- クエリの調整と実行: 提供されたSQLクエリをコピーします。日付範囲、会社コード、およびカスタムCDSビューまたはバッチジョブ名に関するプレースホルダー値を、お客様の特定のSAP環境に合わせて変更します。ODataサービスエンドポイントに対してクエリを実行します。ODataは異なる構文($filter、$select)を使用するため、UNION ALLクエリのロジックを、各アクティビティごとに一連の個別のAPI呼び出しに変換する必要がある場合があります。
- アクティビティデータの統合: ODataは通常、複雑なUNION ALLクエリを単一の呼び出しで直接サポートしないため、クエリ内の各アクティビティブロックに対して個別のリクエストを実行します。すべてのリクエストからの結果をクライアントツール内の単一のデータセットまたはテーブルに統合します。
- データの変換とクリーンアップ: 統合されたデータを確認します。
EventTimeおよびEndTime列が一貫したタイムスタンプ形式であることを確認します。FinancialPeriodが「YYYY-MM」形式で正しくフォーマットされていることを確認します。ResponsibleUserやDocumentNumberなどの列のNULL値は必要に応じて処理します。 - イベントログとしてエクスポート: 最終的に統合されたデータセットをCSVファイルにエクスポートします。列ヘッダーが必須属性(
FinancialPeriod、ActivityName、EventTime、EndTime、ResponsibleUserなど)と一致していることを確認します。このファイルはProcessMindへのアップロード準備が整いました。
設定
- CDSビュー: このクエリは、標準およびカスタムのCDSビューの組み合わせに依存しています。
I_JournalEntryItem(仕訳帳エントリ用)やI_BatchJob(自動実行用)のような標準ビューは不可欠です。Z_I_ACCOUNTRECONCILIATIONのようなカスタムビューは、標準ビューでカバーされていない内部プロセスのステータスを捕捉するためによく必要となります。 - 日付範囲: データ量を管理するために、抽出の特定の日付範囲を定義します。このクエリは、
[開始日]と[終了日]のプレースホルダーを使用しており、これは通常、意味のある分析のために3〜6会計期間をカバーするべきです。 - 主要フィルター: フィルタリングはパフォーマンスと関連性のために重要です。常に
会社コードでフィルターしてください。その他の重要なフィルターには、元帳(例:主要元帳の場合は'0L')、会計年度、および通常の転記、未払費用、調整を区別するための特定の伝票タイプの値が含まれます。 - 前提条件: 抽出を実行するユーザーは、指定されたCDSビューにアクセスし、ODataサービス(例:権限オブジェクト
S_SERVICE、S_RFC)を実行するためのSAPでの権限が必要です。SAP Gatewayサービスは設定および有効化されている必要があります。 - パフォーマンス:
I_JournalEntryItemのクエリはパフォーマンス負荷が高い場合があります。常に選択的なフィルター、特に日付、会社コード、および元帳に対して適用してください。継続的なモニタリングのためには、オフピーク時間中に抽出を実行するか、増分ローディング戦略を使用することを検討してください。
a クエリ例 sql
SELECT
CONCAT(CAST(PostingDate AS DATE FORMAT 'YYYY'), '-', CAST(PostingDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Period Opened For Posting' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_FinPostingPeriodControl -- This is a proxy; this activity is a configuration change often found in change logs (CDHDR/CDPOS for table T001B)
WHERE PostingPeriodVariant = '[Your Variant]' AND FiscalYear = '[Your Fiscal Year]' AND FromPostingPeriod = 1 AND AuthorizationGroup IS NOT NULL -- Logic to detect the opening event
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod, -- Infer period from Job Name if patterned, otherwise use job start date
'Subledger Data Transfer Completed' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Subledger Job Prefix]%' AND JobStatus = 'F' -- 'F' for Finished
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(CAST(CreationDate AS DATE FORMAT 'YYYY'), '-', CAST(CreationDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Intercompany Reconciliation Started' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
NULL AS EndTime,
CreatedByUser AS ResponsibleUser,
LeadingCompanyCode AS CompanyCode,
NULL AS GlAccountNumber,
ReconciliationCase AS DocumentNumber,
ReconciliationCaseStatus AS ReconciliationStatus,
NULL AS TargetCompletionDate,
NULL AS ProcessingTime
FROM I_ICRcnCase -- Part of SAP S/4HANA for group reporting
WHERE CreationDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Accruals And Provisions Posted' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
AccountingDocument AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_JournalEntryItem
WHERE DocumentType IN ('[Accrual Doc Type 1]', '[Accrual Doc Type 2]') -- e.g., 'SA', 'AC'
AND PostingDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Automated Clearing Run Executed' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE 'SAPF124%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Foreign Currency Valuation Run' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE 'FAGL_FCV%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- This activity often requires a custom view on a custom table or an add-on like SAP Account Substantiation and Automation.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Account Reconciliation Started' AS ActivityName,
CAST(ChangedAt AS TIMESTAMP) AS EventTime,
NULL AS EndTime,
ChangedBy AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
ReconciliationID AS DocumentNumber,
'In Progress' AS ReconciliationStatus,
PlannedCompletionDate AS TargetCompletionDate,
NULL AS ProcessingTime
FROM Z_I_ACCOUNTRECONCILIATION -- Placeholder for your custom reconciliation status view
WHERE Status = 'IN_PROGRESS' AND OldStatus = 'NEW'
AND ChangeDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Adjusting Journal Entry Posted' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
AccountingDocument AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_JournalEntryItem
WHERE DocumentType IN ('[Adjustment Doc Type 1]', '[Adjustment Doc Type 2]') -- e.g., 'AJ'
AND PostingDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- This activity often requires a custom view on a custom table or an add-on product.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Account Reconciliation Approved' AS ActivityName,
CAST(ChangedAt AS TIMESTAMP) AS EventTime,
CAST(ChangedAt AS TIMESTAMP) AS EndTime,
ApprovedBy AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
ReconciliationID AS DocumentNumber,
'Approved' AS ReconciliationStatus,
PlannedCompletionDate AS TargetCompletionDate,
NULL AS ProcessingTime
FROM Z_I_ACCOUNTRECONCILIATION -- Placeholder for your custom reconciliation status view
WHERE Status = 'APPROVED'
AND ChangeDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Consolidation Tasks Executed' AS ActivityName,
CAST(TaskExecutionUTCTimestamp AS TIMESTAMP) AS EventTime,
CAST(TaskCompletionUTCTimestamp AS TIMESTAMP) AS EndTime,
ExecutedByUser AS ResponsibleUser,
ConsolidationUnitCompanyCode AS CompanyCode, -- Assuming mapping exists
NULL AS GlAccountNumber,
DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(TaskExecutionUTCTimestamp AS TIMESTAMP), CAST(TaskCompletionUTCTimestamp AS TIMESTAMP)) AS ProcessingTime
FROM I_ConsolidationTaskLog
WHERE ConsolidationTaskStatus = 'S' -- Successful
AND TaskExecutionUTCDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Trial Balance Prepared' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Trial Balance Job Prefix]%' AND JobStatus = 'F' -- Example: FAGL_TRIAL_BALANCE_RUN
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Financial Statements Generated' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Fin Statement Job Prefix]%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- Approval is often a manual step. This requires a custom solution to capture.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(ApprovalYear, '-', LPAD(ApprovalPeriod, 2, '0')) AS FinancialPeriod,
'Financial Statements Approved' AS ActivityName,
CAST(ApprovalTimestamp AS TIMESTAMP) AS EventTime,
CAST(ApprovalTimestamp AS TIMESTAMP) AS EndTime,
ApproverUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
FinancialStatementVersion AS DocumentNumber,
'Approved' AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM Z_I_FINSTATEMENTAPPROVAL -- Placeholder for custom approval tracking view
WHERE ApprovalDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(CAST(LastChangeDate AS DATE FORMAT 'YYYY'), '-', CAST(LastChangeDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Period Closed For Posting' AS ActivityName,
CAST(LastChangeDateTime AS TIMESTAMP) AS EventTime,
CAST(LastChangeDateTime AS TIMESTAMP) AS EndTime,
LastChangedByUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_FinPostingPeriodControl -- Proxy, see note on 'Period Opened'
WHERE PostingPeriodStatus = 'C' -- 'C' for Closed
AND LastChangeDate BETWEEN '[Start Date]' AND '[End Date]';