C_ABAPD_2309 試験問題 76
どの ABAP SQL 句でインライン宣言の使用が許可されますか?
正解: C
インライン宣言を使用できる ABAP SQL 句は、INTO 句です。INTO 句は、SQL クエリの結果が格納されるターゲット変数またはフィールド シンボルを指定するために使用されます。INTO 句では、インライン宣言を使用して、別の DATA または FIELD-SYMBOLS ステートメントを使用せずに、ターゲット変数またはフィールド シンボルが使用されるのと同じ位置でそれらを宣言できます。インライン宣言は、宣言式 12 で DATA または @DATA 演算子を使用して実行されます。例:
* 次のコード スニペットでは、インライン宣言を含む INTO 句を使用してローカル変数 itab を宣言し、SELECT クエリの結果をそこに格納します。
* を scarr から TABLE @DATA (itab) に選択します。
* 次のコードスニペットは、インライン宣言を伴うINTO句を使用してフィールドシンボルを宣言します。
<fs> を作成し、SELECT クエリの結果をそこに格納します。
scarr から @<fs> に単一の * を選択します。
以下のいずれも実行できません。
* FROM: FROM 句は、テーブル、ビュー、結合式などの SQL クエリのデータ ソースを指定するために使用されます。FROM 句では、インライン宣言12 は使用できません。
* INTO CORRESPONDING FIELDS OF: INTO CORRESPONDING FIELDS OF 句は、SQL クエリの結果が格納されるターゲット構造またはテーブルを指定するために使用されます。INTO CORRESPONDING FIELDS OF 句では、インライン宣言は使用できません。ターゲット構造またはテーブルは、DATA または FIELD-SYMBOLS ステートメント12 を使用して事前に宣言する必要があります。
* FIELDS: FIELDS 句は、SQL クエリのデータ ソースから選択される列または式を指定するために使用されます。FIELDS 句では、インライン宣言は使用できません。FIELDS 句の後には、結果が格納されるターゲット変数またはフィールド シンボルを指定する INTO 句を続ける必要があります12。
参照: 1: SELECT - ABAP キーワード ドキュメント - SAP オンライン ヘルプ 2: インライン宣言 - ABAP キーワード ドキュメント - SAP オンライン ヘルプ
* 次のコード スニペットでは、インライン宣言を含む INTO 句を使用してローカル変数 itab を宣言し、SELECT クエリの結果をそこに格納します。
* を scarr から TABLE @DATA (itab) に選択します。
* 次のコードスニペットは、インライン宣言を伴うINTO句を使用してフィールドシンボルを宣言します。
<fs> を作成し、SELECT クエリの結果をそこに格納します。
scarr から @<fs> に単一の * を選択します。
以下のいずれも実行できません。
* FROM: FROM 句は、テーブル、ビュー、結合式などの SQL クエリのデータ ソースを指定するために使用されます。FROM 句では、インライン宣言12 は使用できません。
* INTO CORRESPONDING FIELDS OF: INTO CORRESPONDING FIELDS OF 句は、SQL クエリの結果が格納されるターゲット構造またはテーブルを指定するために使用されます。INTO CORRESPONDING FIELDS OF 句では、インライン宣言は使用できません。ターゲット構造またはテーブルは、DATA または FIELD-SYMBOLS ステートメント12 を使用して事前に宣言する必要があります。
* FIELDS: FIELDS 句は、SQL クエリのデータ ソースから選択される列または式を指定するために使用されます。FIELDS 句では、インライン宣言は使用できません。FIELDS 句の後には、結果が格納されるターゲット変数またはフィールド シンボルを指定する INTO 句を続ける必要があります12。
参照: 1: SELECT - ABAP キーワード ドキュメント - SAP オンライン ヘルプ 2: インライン宣言 - ABAP キーワード ドキュメント - SAP オンライン ヘルプ
C_ABAPD_2309 試験問題 77
RESTful アプリケーション プログラミングでは、ビジネス オブジェクトにはどの部分が含まれますか? 注: この質問には 2 つの正解があります。
正解: A,B
説明
RESTful アプリケーション プログラミングでは、ビジネス オブジェクトには CDS ビューと動作定義1 という 2 つの主要な部分が含まれます。
A). CDS ビュー: CDS ビューは、ビジネス オブジェクトの構造とデータ ソースを定義するデータ定義です。CDS ビューは、関連付けまたは構成によってリンクされた 1 つ以上のエンティティで構成できます。エンティティは、ビジネス オブジェクトのノードまたは投影を表す CDS ビュー要素です。エンティティには、ビジネス オブジェクトのメタデータとセマンティクスを定義するさまざまな注釈を付けることができます2。
B) 動作定義: 動作定義は、ビジネス オブジェクトの動作と検証ルールを定義するソース コード成果物です。動作定義では、ビジネス オブジェクトの標準 CRUD (作成、読み取り、更新、削除) 操作、ドラフト処理、承認チェック、および副作用を指定できます。動作定義では、ビジネス オブジェクトのビジネス ロジックを実装するカスタム アクション、検証、および決定も定義できます3。
次のものは、RESTful アプリケーション プログラミングにおけるビジネス オブジェクトの一部ではありません。理由は次のとおりです。
C). 認証ルール: 認証ルールはビジネス オブジェクトの一部ではなく、サービス バインディングの一部です。サービス バインディングは、ビジネス オブジェクトを OData サービスとして公開する方法を定義する構成アーティファクトです。サービス バインディングでは、OData サービスの認証方法、承認スコープ、プロトコル バージョン、およびサービス オプションを指定できます4。
D) プロセス定義: プロセス定義はビジネス オブジェクトの一部ではなく、ワークフローの一部です。ワークフローは、ビジネス オブジェクトのタスクとイベントを調整するビジネス プロセスです。ワークフローは、SAP Business Application Studio または SAP Web IDE のワークフロー エディタを使用して定義できます。ワークフローは、ビジネス オブジェクトの API を使用して、イベントをトリガーまたは消費したり、アクションを実行したり、データを読み取りまたは更新したりできます5。
参照: 1: ビジネス オブジェクト | SAP ヘルプ ポータル 2: CDS ビュー エンティティ | SAP ヘルプ ポータル 3: 動作定義 | SAP ヘルプ ポータル 4: サービス バインディング | SAP ヘルプ ポータル 5: ワークフロー | SAP ヘルプ ポータル
RESTful アプリケーション プログラミングでは、ビジネス オブジェクトには CDS ビューと動作定義1 という 2 つの主要な部分が含まれます。
A). CDS ビュー: CDS ビューは、ビジネス オブジェクトの構造とデータ ソースを定義するデータ定義です。CDS ビューは、関連付けまたは構成によってリンクされた 1 つ以上のエンティティで構成できます。エンティティは、ビジネス オブジェクトのノードまたは投影を表す CDS ビュー要素です。エンティティには、ビジネス オブジェクトのメタデータとセマンティクスを定義するさまざまな注釈を付けることができます2。
B) 動作定義: 動作定義は、ビジネス オブジェクトの動作と検証ルールを定義するソース コード成果物です。動作定義では、ビジネス オブジェクトの標準 CRUD (作成、読み取り、更新、削除) 操作、ドラフト処理、承認チェック、および副作用を指定できます。動作定義では、ビジネス オブジェクトのビジネス ロジックを実装するカスタム アクション、検証、および決定も定義できます3。
次のものは、RESTful アプリケーション プログラミングにおけるビジネス オブジェクトの一部ではありません。理由は次のとおりです。
C). 認証ルール: 認証ルールはビジネス オブジェクトの一部ではなく、サービス バインディングの一部です。サービス バインディングは、ビジネス オブジェクトを OData サービスとして公開する方法を定義する構成アーティファクトです。サービス バインディングでは、OData サービスの認証方法、承認スコープ、プロトコル バージョン、およびサービス オプションを指定できます4。
D) プロセス定義: プロセス定義はビジネス オブジェクトの一部ではなく、ワークフローの一部です。ワークフローは、ビジネス オブジェクトのタスクとイベントを調整するビジネス プロセスです。ワークフローは、SAP Business Application Studio または SAP Web IDE のワークフロー エディタを使用して定義できます。ワークフローは、ビジネス オブジェクトの API を使用して、イベントをトリガーまたは消費したり、アクションを実行したり、データを読み取りまたは更新したりできます5。
参照: 1: ビジネス オブジェクト | SAP ヘルプ ポータル 2: CDS ビュー エンティティ | SAP ヘルプ ポータル 3: 動作定義 | SAP ヘルプ ポータル 4: サービス バインディング | SAP ヘルプ ポータル 5: ワークフロー | SAP ヘルプ ポータル
C_ABAPD_2309 試験問題 78
内部テーブルのセカンダリ キーの特徴は何ですか? 注: この質問には 3 つの正解があります。
正解: A,B,D
セカンダリ キーは、プライマリ キーの一部ではないフィールドを使用してテーブルへのアクセスを最適化するために内部テーブルに定義できる追加のキーです。セカンダリ キーは、テーブルの種類とキーの一意性に応じて、ソートまたはハッシュ化できます。セカンダリ キーには次の特性があります1。
A) セカンダリ キーは、実際に内部テーブルから読み取るときに明示的に選択する必要があります。つまり、READ TABLE または LOOP AT ステートメントを使用して内部テーブルにアクセスする場合、USING KEY オプションを使用して使用するセカンダリ キーを指定する必要があります。たとえば、次のステートメントは、セカンダリ キー sec_key を使用して内部テーブル itab を読み取ります。
キー sec_key を使用してテーブル itab をデータ (wa) に読み取ります。
セカンダリ キーを指定しない場合は、デフォルトでプライマリ キーが使用されます2。
B) あらゆる種類の内部テーブルに複数のセカンダリ キーが許可されます。つまり、テーブルの種類に関係なく、内部テーブルに複数のセカンダリ キーを定義できます。たとえば、次のステートメントは、2 つのセカンダリ キー sec_key_1 と sec_key_2 を持つ内部テーブル itab を定義します。
データ itab タイプ 一意でないキー sec_key_1 コンポーネント field1 field2 sec_key_2 コンポーネント field3 field4 を持つ ty_itab のソート済みテーブル。
次に、内部テーブル 1 にアクセスするときに使用するセカンダリ キーを選択できます。
D) ソートされたセカンダリ キーは一意である必要はありません。つまり、キー フィールドの重複値を許可する内部テーブルにソートされたセカンダリ キーを定義できます。ソートされたセカンダリ キーは、キー フィールドが指定された順序で定義される、内部テーブルの定義済みソート順序を維持します。たとえば、次のステートメントは、内部テーブル itab にソートされたセカンダリ キー sec_key を定義し、テーブルをフィールド 1 で昇順、フィールド 2 で降順でソートします。
データ itab タイプ ty_itab の標準テーブル、一意でないソート キー sec_key コンポーネント field1 ASCENDING field2 DESCENDING。
次に、線形検索よりも高速なバイナリ検索アルゴリズムを使用して、ソートされたセカンダリ キーを使用して内部テーブルにアクセスできます3。
次の理由は、内部テーブルのセカンダリ キーの特性ではありません。
C) ハッシュされたセカンダリ キーは一意である必要はありません。ハッシュされたセカンダリ キーは一意である必要があるため、これは誤りです。つまり、キー フィールドに重複値を許可しない内部テーブルに対してのみ、ハッシュされたセカンダリ キーを定義できます。ハッシュされたセカンダリ キーには、内部テーブルの定義済みソート順序はありませんが、ハッシュ アルゴリズムを使用してテーブル行を保存およびアクセスします。たとえば、次のステートメントは、フィールド 1 とフィールド 2 でテーブルをハッシュする内部テーブル itab のハッシュされたセカンダリ キー sec_key を定義します。
データ itab タイプ ty_itab の標準テーブル、一意のハッシュ キー sec_key コンポーネント field1 field2。
その後、ハッシュされたセカンダリ キーと直接アクセス アルゴリズムを使用して内部テーブルにアクセスできるようになります。これは非常に高速です。
E) セカンダリ キーは標準テーブルにのみ作成できます。これは誤りです。セカンダリ キーは、標準テーブル、ソート テーブル、ハッシュ テーブルなど、あらゆる種類の内部テーブルに作成できます。ただし、セカンダリ キーのタイプは内部テーブルのタイプによって異なります。たとえば、標準テーブルにはソートまたはハッシュされたセカンダリ キーを設定でき、ソート テーブルにはソートされたセカンダリ キーを設定でき、ハッシュ テーブルにはハッシュされたセカンダリ キーを設定できます1。
A) セカンダリ キーは、実際に内部テーブルから読み取るときに明示的に選択する必要があります。つまり、READ TABLE または LOOP AT ステートメントを使用して内部テーブルにアクセスする場合、USING KEY オプションを使用して使用するセカンダリ キーを指定する必要があります。たとえば、次のステートメントは、セカンダリ キー sec_key を使用して内部テーブル itab を読み取ります。
キー sec_key を使用してテーブル itab をデータ (wa) に読み取ります。
セカンダリ キーを指定しない場合は、デフォルトでプライマリ キーが使用されます2。
B) あらゆる種類の内部テーブルに複数のセカンダリ キーが許可されます。つまり、テーブルの種類に関係なく、内部テーブルに複数のセカンダリ キーを定義できます。たとえば、次のステートメントは、2 つのセカンダリ キー sec_key_1 と sec_key_2 を持つ内部テーブル itab を定義します。
データ itab タイプ 一意でないキー sec_key_1 コンポーネント field1 field2 sec_key_2 コンポーネント field3 field4 を持つ ty_itab のソート済みテーブル。
次に、内部テーブル 1 にアクセスするときに使用するセカンダリ キーを選択できます。
D) ソートされたセカンダリ キーは一意である必要はありません。つまり、キー フィールドの重複値を許可する内部テーブルにソートされたセカンダリ キーを定義できます。ソートされたセカンダリ キーは、キー フィールドが指定された順序で定義される、内部テーブルの定義済みソート順序を維持します。たとえば、次のステートメントは、内部テーブル itab にソートされたセカンダリ キー sec_key を定義し、テーブルをフィールド 1 で昇順、フィールド 2 で降順でソートします。
データ itab タイプ ty_itab の標準テーブル、一意でないソート キー sec_key コンポーネント field1 ASCENDING field2 DESCENDING。
次に、線形検索よりも高速なバイナリ検索アルゴリズムを使用して、ソートされたセカンダリ キーを使用して内部テーブルにアクセスできます3。
次の理由は、内部テーブルのセカンダリ キーの特性ではありません。
C) ハッシュされたセカンダリ キーは一意である必要はありません。ハッシュされたセカンダリ キーは一意である必要があるため、これは誤りです。つまり、キー フィールドに重複値を許可しない内部テーブルに対してのみ、ハッシュされたセカンダリ キーを定義できます。ハッシュされたセカンダリ キーには、内部テーブルの定義済みソート順序はありませんが、ハッシュ アルゴリズムを使用してテーブル行を保存およびアクセスします。たとえば、次のステートメントは、フィールド 1 とフィールド 2 でテーブルをハッシュする内部テーブル itab のハッシュされたセカンダリ キー sec_key を定義します。
データ itab タイプ ty_itab の標準テーブル、一意のハッシュ キー sec_key コンポーネント field1 field2。
その後、ハッシュされたセカンダリ キーと直接アクセス アルゴリズムを使用して内部テーブルにアクセスできるようになります。これは非常に高速です。
E) セカンダリ キーは標準テーブルにのみ作成できます。これは誤りです。セカンダリ キーは、標準テーブル、ソート テーブル、ハッシュ テーブルなど、あらゆる種類の内部テーブルに作成できます。ただし、セカンダリ キーのタイプは内部テーブルのタイプによって異なります。たとえば、標準テーブルにはソートまたはハッシュされたセカンダリ キーを設定でき、ソート テーブルにはソートされたセカンダリ キーを設定でき、ハッシュ テーブルにはハッシュされたセカンダリ キーを設定できます1。
C_ABAPD_2309 試験問題 79
ABAP SQL フィールド リスト内の特定の文字列値「mr joe doe」を「JOE」に変更する正しい式は何でしょうか?
正解: C
説明
ABAP SQLフィールドリスト内の特定の文字列値「mr joe doe」を「JOE」に変更する正しい式は次のとおりです。
C: テーブル dbtabl のフィールド Of1、substring(upper('mr joe doe')、4、3) を f2_sub_up、f3、... として選択します。
この式では、文字列12 に対して次の SQL 関数を使用します。
upper: この関数は、文字列内のすべての小文字を大文字に変換します。たとえば、upper('mr joe doe') は 'MR JOE DOE' を返します。
substring: この関数は、指定された位置から始まり、指定された長さの文字列の部分文字列を返します。たとえば、substring('MR JOE DOE', 4, 3) は 'JOE' を返します。
AS: このキーワードは、フィールドリスト内のフィールドまたは式に別名または一時的な名前を割り当てます。たとえば、AS f2_sub_up は、式 substring(upper('mr joe doe'), 4, に名前 f2_sub_up を割り当てます。
3)。
以下のいずれも実行できません。
A: テーブル dbtabl のフィールド Of1、upper(left( 'mr joe doe'、6)) を f2_up_left、f3、... として選択します。
この式では、文字列に対して間違った SQL 関数を使用して、目的の結果を取得しています。left 関数は、末尾の空白を無視して、指定された長さの文字列の左端の文字を返します。たとえば、left( 'mr joe doe', 6) は 'mr joe' を返します。この結果に upper 関数を適用すると 'MR JOE' が返されますが、これは 'JOE' と同じではありません。
B: SELECT FROM TABLE dbtabl FIELDS Of1, left(lower(substring( 'mr joe doe', 4, 3)), 3) AS f2_left_lo_sub, f3,...: この式は、文字列に対して不必要で誤った SQL 関数を使用して、目的の結果を取得しています。lower 関数は、文字列内のすべての大文字を小文字に変換します。たとえば、lower(substring( 'mr joe doe', 4, 3)) は 'joe' を返します。同じ長さのこの結果に left 関数を適用すると、再び 'joe' が返されますが、これは 'JOE' と同じではありません。
D: SELECT FROM TABLE dbtabl FIELDS Of1, substring(lower(upper( 'mr joe doe' ) ), 4, 3) AS f2_sub_lo_up, f3,...: この式は、文字列に対して不必要で不適切な SQL 関数を使用して、目的の結果を得ています。lower 関数は文字列内のすべての大文字を小文字に変換し、upper 関数は文字列内のすべての小文字を大文字に変換します。両方の関数を同じ文字列に適用すると、互いの効果を打ち消し、元の文字列が返されます。たとえば、lower(upper( 'mr joe doe' ) ) は 'mr joe doe' を返します。この結果に substring 関数を適用すると、次の結果が返されます。
「joe」は「JOE」と同じではありません。
参照: 1: 文字列用 SQL 関数 - ABAP キーワード ドキュメント - SAP オンライン ヘルプ 2: sql_func - 文字列関数 - ABAP キーワード ドキュメント - SAP オンライン ヘルプ
ABAP SQLフィールドリスト内の特定の文字列値「mr joe doe」を「JOE」に変更する正しい式は次のとおりです。
C: テーブル dbtabl のフィールド Of1、substring(upper('mr joe doe')、4、3) を f2_sub_up、f3、... として選択します。
この式では、文字列12 に対して次の SQL 関数を使用します。
upper: この関数は、文字列内のすべての小文字を大文字に変換します。たとえば、upper('mr joe doe') は 'MR JOE DOE' を返します。
substring: この関数は、指定された位置から始まり、指定された長さの文字列の部分文字列を返します。たとえば、substring('MR JOE DOE', 4, 3) は 'JOE' を返します。
AS: このキーワードは、フィールドリスト内のフィールドまたは式に別名または一時的な名前を割り当てます。たとえば、AS f2_sub_up は、式 substring(upper('mr joe doe'), 4, に名前 f2_sub_up を割り当てます。
3)。
以下のいずれも実行できません。
A: テーブル dbtabl のフィールド Of1、upper(left( 'mr joe doe'、6)) を f2_up_left、f3、... として選択します。
この式では、文字列に対して間違った SQL 関数を使用して、目的の結果を取得しています。left 関数は、末尾の空白を無視して、指定された長さの文字列の左端の文字を返します。たとえば、left( 'mr joe doe', 6) は 'mr joe' を返します。この結果に upper 関数を適用すると 'MR JOE' が返されますが、これは 'JOE' と同じではありません。
B: SELECT FROM TABLE dbtabl FIELDS Of1, left(lower(substring( 'mr joe doe', 4, 3)), 3) AS f2_left_lo_sub, f3,...: この式は、文字列に対して不必要で誤った SQL 関数を使用して、目的の結果を取得しています。lower 関数は、文字列内のすべての大文字を小文字に変換します。たとえば、lower(substring( 'mr joe doe', 4, 3)) は 'joe' を返します。同じ長さのこの結果に left 関数を適用すると、再び 'joe' が返されますが、これは 'JOE' と同じではありません。
D: SELECT FROM TABLE dbtabl FIELDS Of1, substring(lower(upper( 'mr joe doe' ) ), 4, 3) AS f2_sub_lo_up, f3,...: この式は、文字列に対して不必要で不適切な SQL 関数を使用して、目的の結果を得ています。lower 関数は文字列内のすべての大文字を小文字に変換し、upper 関数は文字列内のすべての小文字を大文字に変換します。両方の関数を同じ文字列に適用すると、互いの効果を打ち消し、元の文字列が返されます。たとえば、lower(upper( 'mr joe doe' ) ) は 'mr joe doe' を返します。この結果に substring 関数を適用すると、次の結果が返されます。
「joe」は「JOE」と同じではありません。
参照: 1: 文字列用 SQL 関数 - ABAP キーワード ドキュメント - SAP オンライン ヘルプ 2: sql_func - 文字列関数 - ABAP キーワード ドキュメント - SAP オンライン ヘルプ
C_ABAPD_2309 試験問題 80

有効な文は何ですか? 注: この質問には3つの正解があります
正解: C,D,E
各ステートメントの説明は次のとおりです。
* C: このステートメントは有効です。クラス CL1 はインターフェイスを使用します。これは、クラス CL1 がクラス定義の public セクションの INTERFACES ステートメントを使用してインターフェイス ifl を実装しているためです。INTERFACES ステートメントは、クラスをインターフェイスと互換性のあるものにし、インターフェイスのすべてのコンポーネントを継承します。クラスは、インターフェイス コンポーネント セレクタ ~ (ifl~ml12 など) を使用して、メソッド ml などのインターフェイス コンポーネントを使用できます。
* E: このステートメントは有効です。クラス CL1 はインターフェイスを実装します。これは、クラス CL1 がクラス定義の public セクションの INTERFACES ステートメントを使用してインターフェイス ifl を実装しているためです。INTERFACES ステートメントは、クラスをインターフェイスと互換性のあるものにし、インターフェイスのすべてのコンポーネントを継承します。クラスは、メソッドがオプションまたは抽象として宣言されていない限り、クラスの実装部分でインターフェイス メソッド ml の実装を提供する必要があります12
* D: このステートメントは有効です。クラス CL2 では、インターフェイス メソッドの名前は ifl~ml です。これは、クラス CL2 に、インターフェイス ifl への参照である REF TO ifl 型の m0_ifl というデータ メンバーがあるためです。インターフェイス ifl はメソッド ml を定義し、これは参照変数 m0_ifl を使用して呼び出すことができます。インターフェイス メソッド ml は、クラス内では ifl~ml という名前を持ちます。ここで、ifl はインターフェイスの名前であり、文字 ~ はインターフェイス コンポーネント セレクタです12。その他のステートメントは、構文エラーまたは論理エラーがあるため、有効ではありません。これらのステートメントは次のとおりです。
* A: この文は無効です。クラス CL1 では、インターフェース メソッドの名前は ifl~ml であり、if-ml ではありません。これは、クラス CL1 がクラス定義の public セクションの INTERFACES 文を使用してインターフェース ifl を実装しているためです。インターフェース ifl はメソッド ml を定義し、このメソッドはクラス名またはクラスへの参照を使用して呼び出すことができます。インターフェース メソッド ml はクラス内で ifl~ml という名前を持ちます。ここで、ifl はインターフェースの名前であり、文字 ~ はインターフェース コンポーネント セレクタです。文字 ~ の代わりに文字 - を使用すると、構文エラーが発生します12
* B: このステートメントは無効です。クラス CL2 はインターフェースを使用せず、インターフェースへの参照のみを持っています。これは、クラス CL2 に、インターフェース ifl への参照である REF TO ifl 型の m0_ifl というデータ メンバーがあるためです。インターフェース ifl は、参照変数 m0_ifl を使用して呼び出すことができるメソッド ml を定義します。ただし、クラス CL2 はインターフェース ifl を実装しておらず、インターフェース コンポーネントを継承していません。したがって、クラス CL2 はインターフェースを使用せず、インターフェースを参照するだけです12 参照: インターフェース - ABAP キーワード ドキュメント、クラス - ABAP キーワード ドキュメント
* C: このステートメントは有効です。クラス CL1 はインターフェイスを使用します。これは、クラス CL1 がクラス定義の public セクションの INTERFACES ステートメントを使用してインターフェイス ifl を実装しているためです。INTERFACES ステートメントは、クラスをインターフェイスと互換性のあるものにし、インターフェイスのすべてのコンポーネントを継承します。クラスは、インターフェイス コンポーネント セレクタ ~ (ifl~ml12 など) を使用して、メソッド ml などのインターフェイス コンポーネントを使用できます。
* E: このステートメントは有効です。クラス CL1 はインターフェイスを実装します。これは、クラス CL1 がクラス定義の public セクションの INTERFACES ステートメントを使用してインターフェイス ifl を実装しているためです。INTERFACES ステートメントは、クラスをインターフェイスと互換性のあるものにし、インターフェイスのすべてのコンポーネントを継承します。クラスは、メソッドがオプションまたは抽象として宣言されていない限り、クラスの実装部分でインターフェイス メソッド ml の実装を提供する必要があります12
* D: このステートメントは有効です。クラス CL2 では、インターフェイス メソッドの名前は ifl~ml です。これは、クラス CL2 に、インターフェイス ifl への参照である REF TO ifl 型の m0_ifl というデータ メンバーがあるためです。インターフェイス ifl はメソッド ml を定義し、これは参照変数 m0_ifl を使用して呼び出すことができます。インターフェイス メソッド ml は、クラス内では ifl~ml という名前を持ちます。ここで、ifl はインターフェイスの名前であり、文字 ~ はインターフェイス コンポーネント セレクタです12。その他のステートメントは、構文エラーまたは論理エラーがあるため、有効ではありません。これらのステートメントは次のとおりです。
* A: この文は無効です。クラス CL1 では、インターフェース メソッドの名前は ifl~ml であり、if-ml ではありません。これは、クラス CL1 がクラス定義の public セクションの INTERFACES 文を使用してインターフェース ifl を実装しているためです。インターフェース ifl はメソッド ml を定義し、このメソッドはクラス名またはクラスへの参照を使用して呼び出すことができます。インターフェース メソッド ml はクラス内で ifl~ml という名前を持ちます。ここで、ifl はインターフェースの名前であり、文字 ~ はインターフェース コンポーネント セレクタです。文字 ~ の代わりに文字 - を使用すると、構文エラーが発生します12
* B: このステートメントは無効です。クラス CL2 はインターフェースを使用せず、インターフェースへの参照のみを持っています。これは、クラス CL2 に、インターフェース ifl への参照である REF TO ifl 型の m0_ifl というデータ メンバーがあるためです。インターフェース ifl は、参照変数 m0_ifl を使用して呼び出すことができるメソッド ml を定義します。ただし、クラス CL2 はインターフェース ifl を実装しておらず、インターフェース コンポーネントを継承していません。したがって、クラス CL2 はインターフェースを使用せず、インターフェースを参照するだけです12 参照: インターフェース - ABAP キーワード ドキュメント、クラス - ABAP キーワード ドキュメント
C_ABAPD_2309 プレミアム問題集
365日無料更新
専門家プレゼンツ
85 問題と解答
Windows / Mac / Android / iOS などをサポート
最新 SAP C_ABAPD_2309 試験問題集は GoShiken.com のサポートで C_ABAPD_2309 試験を合格させます!
(40%OFF 特別割引: JPNPDF)
- 最新アップロード
- 137Cisco.500-420.v2026-10-21.q53
- 125Huawei.H12-893_V1.0.v2026-10-21.q42
- 181Juniper.JN0-106.v2026-10-20.q103
- 190Snowflake.SOL-C01.v2026-10-19.q149
- 143RUCKUS.RCWA.v2026-10-19.q48
- 238Microsoft.AI-103.v2026-10-18.q97
- 183F5.F5CAB4.v2026-10-18.q77
- 240ITIL.ITIL-4-Foundation.v2026-10-18.q130
- 197Fortinet.FCP_FAZ_AN-7.6.v2026-10-18.q74
- 137RedHat.EX280.v2026-10-18.q11
