インフォセットスイッチの使用

Objective

After completing this lesson, you will be able to クエリジェネレータによって処理されるインフォセットスイッチの概説

インフォセットスイッチ

SAP クエリやインフォセットクエリなどの一般レポートツールを使用する場合、ソースコードはクエリジェネレータを使用して自動的に生成されます。この方法で生成されたソースコードは、クエリジェネレータの生成ロジックおよびクエリ定義によって制御されています。

SAP クエリで利用可能なクエリジェネレータを使用して、インフォセットレベルでクエリロジックを設定することができます。これにより、さまざまな要件を満たすクエリをより柔軟に定義することができます。

クエリジェネレータが処理するスイッチを使用して設定を行うことができます。一般的なスイッチおよびインフォタイプ固有のスイッチを使用することができます。

クエリジェネレータにより、ソースコードが自動的に生成されます。

スイッチには、以下のタイプがあります。

  • 一般的なスイッチ:

    一般的なスイッチは、インフォセット全体に有効な設定を制御するために使用されます。

  • インフォタイプ固有のスイッチ:

    インフォタイプ固有のスイッチによって、インフォタイプごとに定義される設定が制御されます。

一般的なスイッチ

以下の一覧には、一般的なスイッチの例とその説明が含まれています。

一般的なスイッチ

一般スイッチテキスト
BL_ALLOW DUP_LINES基本一覧に同一の (二重の) 行を出力します。
REPORT_CLASSレポートカテゴリの設定 (PNP および PNPCE)
PROCESS_LOCKED_RECORDSロックされたデータレコードの処理 (PNP および PNPCE)
PROC_PERNR_PARTIAL_AUT部分権限のみが利用可能な従業員の処理 (PNP および PNPCE)
PERSON_ONLY_ONCE各人を 1 回だけ処理 (PNPCE)

インフォタイプ固有のスイッチ

以下の一覧には、インフォタイプ固有のスイッチの例とその説明が含まれています。

インフォタイプ固有のスイッチテキスト
LAST_RECORD_ONLY最終データレコードのみ処理
提供隣接データレコードまたは重複データレコードのマージ
PROVIDE_FIELDデータレコードのマージに関連する項目の選択
1 次無形一次インフォタイプとのインフォタイプ関係の決定 (インフォタイプビュー)
TIME_DEPENDENCE時間依存の決定
DATA_REQUIRED必要なデータレコードの存在の決定
SPLIT_DATA_REQUIRED分割期間に必要なデータレコードの存在を決定
NO_INDIRECT_EVALUATION間接レポートウェイジタイプの指定は計算されません
IGNORE_WAGE_TYPE_OPERAオペレーション区分無視 (控除ウェイジタイプ用)
NO_DUPLICATE_LANGU出力されるデータレコードを 1 つの言語のみで決定
CASE_SENSITIVE_SEL大文字/小文字区別あり選択の決定
ADD_FIELDS_SPLIT_DEP分割依存とみなされる HR 追加項目の決定
SPLIT_DEPENDENT_AF分割依存の HR 追加項目の技術名称の決定
SPLIT_INDEPENDENT_AF分割非依存の HR 追加項目の技術名称の決定

スイッチとその使用方法の詳細については、カスタマイジングアクティビティ登録: HR のインフォセットの文書を参照してください。これらのカスタマイジングアクティビティにアクセスするには、人材管理人事管理情報システムSAP クエリの HR 設定登録: HR のインフォセットを選択します。

  • "2 名ごとのチームになって、以下の質問についてプライベートチャットで議論してください。"
  • "5 分間相手と話し合ってもらった後、全体で簡潔に意見をまとめます。"
  • 参加者に 2 名ごとのチームにサインします。
  • 受講者にプライベートチャットの使用方法を伝えます。
  • このアクティビティの目的は、ホワイトボードまたは PPT スライドの質問について議論することであることを説明します。
  • いくつかのグループに質問に回答する形で結果発表をしてもらい、その内容が他のグループと重複し始めたら終了します。
  • クラスのディスカッションに積極的に参加し、興味のある情報を受講者用テキストに書き留めるよう受講者に伝えます。
  • ホワイトボードにグループ名を入力します。
  • グループ全体の報告中に、受講者の提案をホワイトボードに記録し、すぐに議論したり、後で参照または配布したりできるようにします。

例 - 一般的なスイッチ

REPORT_CLASS スイッチを使用して、選択画面の構造を制御できるレポートカテゴリを定義します。このレポートカテゴリのコンセプトは、論理データベース PNP および PNPCE に適用されます。2 つの論理データベースのいずれかに基づく各レポートは、特定のレポートカテゴリに割り当てることができます。

カスタマイジングの人材管理人事管理情報システムレポート標準選択画面調整登録: レポートカテゴリで、 → レポートカテゴリを更新します。

標準システムでは、インフォセットが基づく論理データベースに従ってデフォルトレポートカテゴリが割り当てられます。インフォセットが論理データベース PNP に基づいている場合は、レポートカテゴリ ___X2001 が使用されます。このレポートカテゴリが存在しない場合は、レポートカテゴリ ___22002 が使用されます。インフォセットが論理データベース PNPCE に基づいている場合は、レポートカテゴリ QUEPNPCE が使用されます。

PNP と PNPCE では異なるレポートカテゴリが使用されるため、インフォタイプで使用される論理データベースに対して、指定したレポートカテゴリが登録されていることを確認する必要があります。

注記

  • REPORT_CLASS スイッチは、論理データベース PNP および PNPCE 以外のデータベースに基づくインフォセットには使用できません。
  • 各クエリは生成されたレポートであるため、レポートカテゴリをクエリに割り当てることもできます。
  • アドホッククエリでは、選択条件の定義に論理データベースのデータ選択画面は使用されません。アドホッククエリでレポートカテゴリを指定しても、明らかな影響はありません。

スイッチの例は以下のとおりです。

  • *$HR$ [共通]
  • *$HR$ REPORT_CLASS = '0MYREPCL'

例 - インフォタイプ固有のスイッチ

クエリに表示されるすべてのインフォタイプに対して、データが常に存在するとは限りません。デフォルトでは、クエリには、データレコードが存在しない個人またはオブジェクトの初期値が表示されます。または、データレコードが存在しない個人またはオブジェクトを表示しないように選択することもできます。これを行うには、DATA_REQUIRED スイッチを使用します。このスイッチが設定されている場合、従業員またはオブジェクトは、評価期間に少なくとも 1 つのデータレコードが存在する場合にのみ表示されます。

DATA_REQUIRED スイッチは、以下のいずれかの値に設定することができます。

  • "X" = 評価期間に少なくとも 1 つのデータレコードがある個人およびオブジェクトのみが表示されます。
  • " "= これがデフォルト値です。選択条件を満たすすべての個人およびオブジェクトが表示されます。これらの従業員またはオブジェクトのいずれかにデータレコードが存在しない場合は、初期値が表示されます。

DATA_REQUIRED スイッチの例は以下のとおりです。

同様のスイッチ SPLIT_DATA_REQUIRED を使用すると、さらに制御することができます。

  • *$HR$ [P0004]
  • *$HR$ DATA_REQUIRED = 'X'

インフォセットでのスイッチの使用 – ステップ 1

テキスト (短) を入力し、登録を選択します。次に、論理データベース PNPCE を選択します。

インフォセットでのスイッチの使用 – ステップ 2

インフォセット固有の設定を行うには、インフォセット変更 < インフォセット名 > 画面で、ジャンプコードデータを選択します。

インフォセットでのスイッチの使用 – ステップ 3

右側の画面領域 (コーディングタブまたはコーディングセクション DATA) で、必要な設定のスイッチと値を入力します。カスタマイジングの SAP クエリの HR 設定登録: HR のインフォセットの文書を参照してください。

一般的なスイッチの構文は以下のとおりです。

  • *$HR$ [共通]
  • *$HR$ NAME_OF_SWITCH = "VALUE"

インフォタイプ固有のスイッチ (NNNN = インフォタイプ番号) の構文は以下のとおりです。

  • インフォタイプの定義
    • *$HR$ [PNNNN]
    • *$HR$ NAME_OF_SWITCH = "VALUE"
  • さまざまなインフォタイプの指定
    • *$HR$ [P0000、P0004、P0006]
  • 領域の指定
    • *$HR$ [P0006 # P0009]
  • テンプレートまたはプレースホルダ (+ は 1 文字、* は複数文字)
    • *$HR$ [P00++]
    • *$HR$ [P*]
    • *$HR$ [P0+1*]

インフォセットでのスイッチの使用 – ステップ 4

クエリの生成済コードをチェックします。

クエリの更新トランザクションで、クエリ追加機能レポート名照会を選択します

ABAP エディタで、<レポート名> を入力し、照会を選択して "HR-LOG" を検索します。

追加レポート項目

追加項目という用語は、対応するインフォタイプのデータベーステーブルには存在しないが、レポート目的で使用できるすべての項目を対象としています。

追加項目は、以下のカテゴリでグループ化することができます。

  • 標準追加項目

    これらの項目は、ほとんどのカスタマで必要な追加項目です。これらは、インフォセットの登録時に標準システムで利用可能です。

  • カスタマが定義した追加項目

    これらの項目は、会社固有の要件を満たすためにカスタマによって定義されます。インフォセットは、HR のカスタマイジングで登録するか、またはインフォセットの登録時に登録することができます。これらの項目をカスタマイジング (SAP クエリの HR 設定インフォセット更新に関する追加情報定義: 追加項目) で登録すると、インフォセットの登録時に常に利用可能になります。インフォセットに登録すると、そのインフォセットでのみ使用することができます。

    注記

    追加項目と同様に、ローカル項目は特定の要件を満たすために使用されます。クエリ内で定義され、そのクエリ (SAP クエリなど) でのみ使用することができます。

インフォセットログ

アドホッククエリを使用してクエリの実行に関するログを受け取るには、インフォセットをロギングにリンクする必要があります。これは、補足メニューの更新トランザクション SQ02 で行うことができます。

このインフォセットを使用してクエリを登録して実行すると (クエリを保存する必要はありません)、ユーザやエントリなどの情報が選択画面 (テーブル AQPROT) に保存されます。データブラウザ、ユーザグループ /SAPQUERY/QUERY_LOGGING の既存のクエリ (グローバル作業領域のユーザグループ SAPQuery/SQ 内)、または独自のクエリを使用して、この情報をレポートすることができます。

更新トランザクション SQ02 の補足ログ管理で、ログを削除することができます →

削除されるログを制限できる選択画面にアクセスします。たとえば、ユーザのすべてのログを削除することができます。

クエリログ

ログはオプションです。アドホッククエリまたはインフォセットクエリを使用して、開始されたクエリをログに記録することができます。

以下の項目がログに記録されます。

  • クエリ領域
  • インフォセット
  • ユーザ
  • 日付と時刻
  • 選択項目
  • 選択値
  • 選択オプション
  • 出力フィールド

ログ機能のオンとオフを切り替えることができます。不要になったログは削除することができます。さらに、ビジネスアドイン AQ_QUERY_PROT を使用して、独自のログ機能を追加することができます。インフォセットクエリまたはデータブラウザを使用してログを分析することもできます。

ログの詳細については、カスタマイジングで SAP NetWeaverApplication ServerSAP QueryLogging を選択してください。