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" を検索します。