Logo Passei Direto
Material
Study with thousands of resources!

Text Material Preview

<p>C_ABAPD_2309</p><p>Exam Name: SAP Certified Associate - Back-End</p><p>Developer - ABAP Cloud</p><p>Full version: 81 Q&As</p><p>Full version of C_ABAPD_2309 Dumps</p><p>Share some C_ABAPD_2309 exam dumps</p><p>below.</p><p>1. Which patterns raise an exception? Note: There are 3 correct answers to this question.</p><p>A. DATA: gv_target TYPE p DECIMALS 2. CONSTANTS: go intl TYPE i VALUE 3. gv_target -U</p><p>1 / 16</p><p>https://www.certqueen.com/C_ABAPD_2309.html</p><p>EXACT (2 gcojntl).</p><p>B. DATA: gv_target TYPE string. ? CONSTANTS: gco_string TYPE LENGTH 16 VALUE</p><p>0123456789ABCDEF*. gv_target = EXACT # gco_string+5 (5) ).</p><p>C. DATA: gv_target TYPE c LENGTH 5. V ? CONSTANTS: ECO string TYPE string VALUE</p><p>0123456789ABCDEF". gv_target - EXACT (gco_string + 5 (6) ).</p><p>D. DATA: Ev target TYPE p DECIMALS 3. CONSTANTS: gcojntl TYPE i VALUE 2. Ev_target</p><p>-U EXACT #2 / gcojntl ).</p><p>E. DATA: gv_target TYPE d. s/ ? CONSTANTS: gco_date TYPE d VALUE '20331233*.</p><p>gv_target EXACT ( geo_date).</p><p>Answer: A, C, E</p><p>Explanation:</p><p>The patterns that raise an exception are those that use the constructor operator EXACT to</p><p>perform a lossless assignment or calculation, but the result cannot be converted to the target</p><p>data type without data loss.</p><p>The following are the explanations for each pattern:</p><p>A: This pattern raises the exception CX_SY_CONVERSION_LOST because the result of the</p><p>calculation 2 * 3 is 6, which cannot be assigned to a packed number with two decimal places</p><p>without losing the integer part. The operator -U is used to perform a lossless calculation with the</p><p>calculation type decfloat34.</p><p>B: This pattern does not raise an exception because the result of the substring expression</p><p>gco_string+5(5) is ‘6789A’, which can be assigned to a string without data loss. The operator</p><p>EXACT # is used to perform a lossless assignment with the data type of the argument.</p><p>C: This pattern raises the exception CX_SY_CONVERSION_LOST because the result of the</p><p>substring expression gco_string+5(6) is ‘6789AB’, which cannot be assigned to a character</p><p>field with length 5 without losing the last character. The operator EXACT is used to perform a</p><p>lossless assignment with the data type of the target field.</p><p>D: This pattern does not raise an exception because the result of the calculation 2 / 2 is 1, which</p><p>can be assigned to a packed number with three decimal places without data loss. The operator</p><p>-U is used to perform a lossless calculation with the calculation type decfloat34.</p><p>E: This pattern raises the exception CX_SY_CONVERSION_ERROR because the constant</p><p>gco_date contains an invalid value ‘20331233’ for a date data type, which cannot be converted</p><p>to a valid date. The operator EXACT is used to perform a lossless assignment with the data</p><p>type of the target field.</p><p>Reference: EXACT - Lossless Operator - ABAP Keyword Documentation, Lossless</p><p>Assignments - ABAP Keyword Documentation</p><p>2 / 16</p><p>2. Which type of legacy code does SAP recommend you eliminate when you review</p><p>modifications as part of an SAP S/4HANA system conversion? Note: There are 2 correct</p><p>answers to this question.</p><p>A. Code that supports a critical business process</p><p>B. Code that now is identical to a standard SAP object</p><p>C. Code that has less than 10% usage according to usage statistics</p><p>D. Code that can be redesigned as a key user extension</p><p>Answer: B, D</p><p>Explanation:</p><p>SAP recommends that you eliminate the following types of legacy code when you review</p><p>modifications as part of an SAP S/4HANA system conversion:</p><p>Code that now is identical to a standard SAP object. This type of code is redundant and</p><p>unnecessary, as it does not provide any additional functionality or customization. It can also</p><p>cause conflicts or errors during the system conversion, as the standard SAP object may have</p><p>changed or been replaced in SAP S/4HANA. Therefore, you should delete this type of code and</p><p>use the standard SAP object instead.</p><p>Code that can be redesigned as a key user extension. This type of code is usually related to UI</p><p>or business logic adaptations that can be achieved using the in-app tools provided by SAP</p><p>S/4HANA. By redesigning this type of code as a key user extension, you can simplify and</p><p>standardize your code base, reduce maintenance efforts, and avoid compatibility issues during</p><p>the system conversion. Therefore, you should migrate this type of code to the key user</p><p>extensibility framework and delete the original code.</p><p>The other types of legacy code are not recommended to be eliminated, as they may still be</p><p>relevant or necessary for your business processes. However, you should still review and adjust</p><p>them according to the SAP S/4HANA simplification items and best practices. These types of</p><p>code are:</p><p>Code that supports a critical business process. This type of code is essential for your business</p><p>operations and cannot be easily replaced or removed. However, you should check if this type of</p><p>code</p><p>is compatible with SAP S/4HANA, and if not, you should adapt it accordingly. You should also</p><p>consider if this type of code can be optimized or enhanced using the new features and</p><p>capabilities of SAP S/4HANA.</p><p>Code that has less than 10% usage according to usage statistics. This type of code is rarely</p><p>used and may not be worth maintaining or converting. However, you should not delete this type</p><p>of code without verifying its relevance and impact on your business processes. You should also</p><p>consider if this type of code can be replaced or consolidated with other code that has higher</p><p>3 / 16</p><p>usage or better performance.</p><p>Reference: Custom Code Management (CCM) During an SAP S/4HANA Conversion, Custom</p><p>Code Migration Guide for SAP S/4HANA 2020</p><p>3. DRAG DROP</p><p>You have a superclass superl and a subclass subl of superl. Each class has an instance</p><p>constructor and a static constructor. The first statement of your program creates an instance of</p><p>subl. In which sequence will the constructors be executed?</p><p>Answer:</p><p>4 / 16</p><p>Explanation:</p><p>The sequence in which the constructors will be executed is as follows:</p><p>Class constructor of superl. This is because the class constructor is a static method that is</p><p>executed</p><p>automatically before the class is accessed for the first time. The class constructor is used to</p><p>initialize the static attributes and components of the class. The class constructor of the</p><p>superclass is executed before the class constructor of the subclass, as the subclass inherits the</p><p>static components of the superclass12</p><p>Class constructor of subl. This is because the class constructor is a static method that is</p><p>executed automatically before the class is accessed for the first time. The class constructor is</p><p>used to initialize the static attributes and components of the class. The class constructor of the</p><p>subclass is executed after the class constructor of the superclass, as the subclass inherits the</p><p>static components of the superclass12</p><p>Instance constructor of superl. This is because the instance constructor is an instance method</p><p>that is executed automatically when an instance of the class is created using the statement</p><p>CREATE OBJECT. The instance constructor is used to initialize the instance attributes and</p><p>components of the class. The instance constructor of the superclass is executed before the</p><p>instance constructor of the subclass, as the subclass inherits the instance components of the</p><p>superclass. The instance constructor of the subclass must call the instance constructor of the</p><p>superclass explicitly using super->constructor, unless the superclass is the root node object12</p><p>Instance constructor of subl. This is because the instance constructor is an instance method</p><p>5 / 16</p><p>that is executed automatically when an instance of the class is created using the statement</p><p>CREATE OBJECT. The instance constructor is used to initialize the instance attributes and</p><p>components of the class. The instance constructor of the subclass is executed after the</p><p>instance constructor</p><p>of the superclass, as the subclass inherits the instance components of the</p><p>superclass. The instance constructor of the subclass must call the instance constructor of the</p><p>superclass explicitly using super->constructor, unless the superclass is the root node object12</p><p>Reference: Constructors of Classes - ABAP Keyword Documentation, METHODS - constructor -</p><p>ABAP Keyword Documentation</p><p>4. Refer to exhibit.</p><p>What are valid statements? Note: There are 3 correct answers to this question</p><p>A. In class CL1, the interface method is named if-ml.</p><p>B. Class CL2 uses the interface.</p><p>C. Class CL1 uses the interface.</p><p>6 / 16</p><p>D. In class CL2, the interface method is named ifl-ml.</p><p>E. Class CL1 implements the interface.</p><p>Answer: CDE</p><p>Explanation:</p><p>Based on the code snippet provided and standard ABAP object-oriented programming</p><p>principles, let's analyze each statement:</p><p>In class CL1, the interface method is named if1~m1. - This is correct. When a class implements</p><p>an interface, the methods from the interface can be referred to using the interface name</p><p>followed by a tilde (~) and the method name.</p><p>Class CL2 uses the interface. - This is correct. The declaration DATA mo_if1 TYPE REF TO if1</p><p>within class CL2 indicates that this class has a reference to the interface if1, which means it is</p><p>using the interface.</p><p>Class CL1 uses the interface. - This is correct. The INTERFACES if1 statement in the class CL1</p><p>definition indicates that CL1 is using the interface if1.</p><p>In class CL2, the interface method is named if1~m1. - This statement is not directly supported</p><p>by the given code snippet. While class CL2 has a reference to the interface, the method naming</p><p>convention if1~m1 applies when calling the method via an interface reference, not for declaring</p><p>a method within the class.</p><p>Class CL1 implements the interface. - This is correct. The INTERFACES if1 statement in the</p><p>class CL1 definition indicates that CL1 implements the interface if1.</p><p>Based on the code snippet and the principles of ABAP object-oriented programming, the three</p><p>correct statements are:</p><p>A. In class CL1, the interface method is named if1~m1.</p><p>C. Class CL1 uses the interface.</p><p>E. Class CL1 implements the interface.</p><p>5. The data source "spfli" on line #2 is an SAP HANA database table</p><p>6. In a test method you call method cl_abap_unit_assert=>assert_equals( .. ) in the following</p><p>way:</p><p>CLASS Itcl1 DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT.</p><p>PRIVATE SECTION.</p><p>METHODS m1 FOR TESTING.</p><p>ENDCLASS.</p><p>CLASS Itcl1 IMPLEMENTATION.</p><p>METHOD m1.</p><p>DATA: go_test_object TYPE REF TO zcl_to_be_tested.</p><p>7 / 16</p><p>CONSTANTS: Ico_exp TYPE string VALUE &apos;test2&apos;.</p><p>CREATE OBJECT go_test_object.</p><p>cl_abap_unit_assert=>assert_equals(</p><p>EXPORTING</p><p>act = go_class->mv_attribute</p><p>exp = lco_exp</p><p>msg = &apos;assert equals failed &apos; && go_test_object->mv_attribute && &apos; &apos;</p><p>&& lco_exp</p><p>ENDMETHOD.</p><p>ENDCLASS.</p><p>What will happen if method parameters act and exp are not equal?</p><p>A. The tested unit will automatically be appended to a default ABAP Test Cockpit Variant.</p><p>B. The tested unit cannot be transported.</p><p>C. The test will be aborted.</p><p>D. There will be a message in the test log.</p><p>Answer: C</p><p>7. Which RESTful Application Programming object can be used to organize the display of fields</p><p>in an app?</p><p>A. Data model view</p><p>B. Metadata extension</p><p>C. Service definition</p><p>D. Projection view</p><p>Answer: B</p><p>Explanation:</p><p>A metadata extension is a RESTful Application Programming object that can be used to</p><p>organize the display of fields in an app. A metadata extension is a CDS view that annotates</p><p>another CDS view with UI annotations, such as labels, icons, or facets. These annotations</p><p>define how the data should be presented in the app, such as which fields should be shown on</p><p>the object page, which fields should be editable, or which fields should be used for filtering or</p><p>sorting. A metadata extension can also be used to add custom actions or validations to the</p><p>app12.</p><p>Reference: 1: Refine the Object Page with Annotations | SAP Tutorials 2: ABAP RAP : Enabling</p><p>custom actions with a dialog for additional input fields | SAP Blogs</p><p>8 / 16</p><p>8. Which function call returns 0?</p><p>A. Count_any_of ( val - ‘ABAP ABAP abap' sub "AB" )</p><p>B. Count (val - 'ABAP ABAP abap' sub - 'AB' )</p><p>C. find_any_of (val = "ABAP ABAP abap' sub = "AB")</p><p>D. find_any_not_of( val 'ABAP ABAP abap’ sub = 'AB')</p><p>Answer: D</p><p>Explanation:</p><p>The function find_any_not_of returns the position of the first character in the string val that is not</p><p>contained in the string sub. If no such character is found, the function returns 0. In this case, the</p><p>string val contains only the characters A, B, and a, which are all contained in the string sub, so</p><p>the function returns 0. The other functions return positive values, as follows:</p><p>Count_any_of returns the number of occurrences of any character in the string sub within the</p><p>string val. In this case, it returns 8, since there are 8 A’s and B’s in val.</p><p>Count returns the number of occurrences of the string sub within the string val. In this case, it</p><p>returns 2, since there are 2 AB’s in val.</p><p>find_any_of returns the position of the first character in the string val that is contained in the</p><p>string sub. In this case, it returns 1, since the first character A is in sub.</p><p>Reference: String Functions - ABAP Keyword Documentation, Examples of String Functions -</p><p>ABAP Keyword Documentation</p><p>9. Which restrictions exist for ABAP SQL arithmetic expressions? Note: There are 2 correct</p><p>answers to this question.</p><p>A. Floating point types and integer types can NOT be used in the same expression.</p><p>B. The operator/is allowed only in floating point expressions.</p><p>C. Decimal types and integer types can NOT be used in the same expression.</p><p>D. The operator is allowed only in floating point expressions.</p><p>Answer: BD</p><p>Explanation:</p><p>ABAP SQL arithmetic expressions have different restrictions depending on the data type of the</p><p>operands. The following are some of the restrictions:</p><p>Floating point types and integer types can be used in the same expression, as long as the</p><p>integer types are cast to floating point types using the cast function. For example, CAST ( num1</p><p>AS FLTP ) / CAST ( num2 AS FLTP ) is a valid expression, where num1 and num2 are integer</p><p>types.</p><p>The operator / is allowed only in floating point expressions, where both operands have the type</p><p>9 / 16</p><p>FLTP or f. For example, num1 / num2 is a valid expression, where num1 and num2 are floating</p><p>point types. If the operator / is used in an integer expression or a decimal expression, a syntax</p><p>error occurs.</p><p>Decimal types and integer types can be used in the same expression, as long as the expression</p><p>is a decimal expression. A decimal expression has at least one operand with the type DEC,</p><p>CURR, or QUAN or p with decimal places. For example, num1 + num2 is a valid expression,</p><p>where num1 is a decimal type and num2 is an integer type.</p><p>The operator ** is allowed only in floating point expressions, where both operands have the type</p><p>FLTP or f. For example, num1 ** num2 is a valid expression, where num1 and num2 are floating</p><p>point types. If the operator ** is used in an integer expression or a decimal expression, a syntax</p><p>error occurs.</p><p>Reference: sql_exp - sql_arith - ABAP Keyword Documentation, SQL Expressions, Arithmetic</p><p>Calculations - ABAP Keyword Documentation</p><p>10. Which statement can you use to change the contents of a row of data in an internal table?</p><p>A. Append table</p><p>B. Modify table</p><p>C. Insert table</p><p>D. Update table</p><p>Answer: B</p><p>Explanation:</p><p>The statement that can be used to change the contents of a row of data in an internal table is</p><p>MODIFY table. The MODIFY table statement can be used to change the contents of one or</p><p>more rows of an internal table, either by specifying the table index, the table key, or a condition.</p><p>The MODIFY table statement can also be used to change the contents of a database table, by</p><p>specifying the table name and a work area or an internal table. The MODIFY table statement</p><p>can use the TRANSPORTING addition to specify which fields should be changed, and the</p><p>WHERE addition to specify which rows should be changed.</p><p>The other statements are not suitable for changing the contents of a row of data in an internal</p><p>table, as they have different purposes and effects. These statements are:</p><p>APPEND table: This statement can be used to add a new row of data to the end of an internal</p><p>table, either by specifying a work area or an inline declaration. The APPEND table statement</p><p>does not change the existing rows of the internal table, but only increases the number of rows</p><p>by one. INSERT table: This statement can be used to insert a new row of data into an internal</p><p>table, either by specifying the table index, the table key, or a sorted position. The INSERT table</p><p>statement does not change the existing rows of the internal table, but only shifts them to make</p><p>10 / 16</p><p>room for the new row. The INSERT table statement can also be used to insert a new row of</p><p>data into a database table, by specifying the table name and a work area or an inline</p><p>declaration.</p><p>UPDATE table: This statement can be used to update the contents of a database table, by</p><p>specifying the table name and a work area or an internal table. The UPDATE table statement</p><p>can use the SET addition to specify which fields should be updated, and the WHERE addition to</p><p>specify which rows should be updated. The UPDATE table statement does not affect the</p><p>internal table, but only the corresponding database table.</p><p>Reference: MODIFY table - ABAP Keyword Documentation, APPEND table - ABAP Keyword</p><p>Documentation, INSERT table - ABAP Keyword Documentation, UPDATE table - ABAP</p><p>Keyword Documentation</p><p>11. Refer to the exhibit.</p><p>What are valid statements? Note: There are 2 correct answers to this question.</p><p>A. "zcxl" is a dictionary structure, and "paraml" and "param2" are this structure.</p><p>B. "paraml11 and "param2" are predefined names.</p><p>C. The code creates an exception object and raises an exception.</p><p>D. "previous" expects the reference to a previous exception</p><p>Answer: CD</p><p>Explanation:</p><p>The code snippet in the image is an example of using the RAISE EXCEPTION statement to</p><p>raise a class-based exception and create a corresponding exception object. The code snippet</p><p>also uses the EXPORTING addition to pass parameters to the instance constructor of the</p><p>exception class12. Some of the valid statements about the code snippet are:</p><p>The code creates an exception object and raises an exception: This is true. The RAISE</p><p>EXCEPTION statement raises the exception linked to the exception class zcxl and generates a</p><p>corresponding exception object. The exception object contains the information about the</p><p>exception, such as the message, the source position, and the previous exception12.</p><p>“previous” expects the reference to a previous exception: This is true. The previous parameter</p><p>is a predefined parameter of the instance constructor of the exception class cx_root, which is</p><p>the root class of all class-based exceptions. The previous parameter expects the reference to a</p><p>11 / 16</p><p>previous</p><p>exception object that was caught during exception handling. The previous parameter can be</p><p>used to chain multiple exceptions and preserve the original cause of the exception12. You</p><p>cannot do any of the following:</p><p>“zcxl” is a dictionary structure, and “paraml” and “param2” are this structure: This is false. zcxl</p><p>is not a dictionary structure, but a user-defined exception class that inherits from the predefined</p><p>exception class cx_static_check. param1 and param2 are not components of this structure, but</p><p>input parameters of the instance constructor of the exception class zcxl. The input parameters</p><p>can be used to pass additional information to the exception object, such as the values that</p><p>caused the exception12.</p><p>“paraml” and “param2” are predefined names: This is false. param1 and param2 are not</p><p>predefined names, but user-defined names that can be chosen arbitrarily. However, they must</p><p>match the names of the input parameters of the instance constructor of the exception class zcxl.</p><p>The names of the input parameters can be declared in the interface of the exception class using</p><p>the RAISING addition12.</p><p>Explanation:</p><p>Reference: 1: RAISE EXCEPTION - ABAP Keyword Documentation - SAP Online Help 2: Class-</p><p>Based Exceptions - ABAP Keyword Documentation - SAP Online Help</p><p>12. Which of the following actions cause an indirect change to a database table requiring a table</p><p>conversion? Note: There are 2 correct answers to this question.</p><p>A. Renaming a field in a structure that is included in the table definition</p><p>B. Changing the field labels of a data element that is used in the table definition.</p><p>C. Deleting a field from a structure that is included in the table definition.</p><p>D. Shortening the length of a domain used in a data element that is used in the table definition.</p><p>Answer: A, C</p><p>Explanation:</p><p>The following are the explanations for each action:</p><p>A: Renaming a field in a structure that is included in the table definition causes an indirect</p><p>change to the database table, as the field name in the table is derived from the structure. This</p><p>change requires a table conversion, as the existing data in the table must be copied to a new</p><p>table with the new field name, and the old table must be deleted.</p><p>B: Changing the field labels of a data element that is used in the table definition does not cause</p><p>an indirect change to the database table, as the field labels are only used for documentation</p><p>and display purposes. This change does not require a table conversion, as the existing data in</p><p>the table is not affected by the change.</p><p>12 / 16</p><p>C: Deleting a field from a structure that is included in the table definition causes an indirect</p><p>change to the database table, as the field is removed from the table as well. This change</p><p>requires a table conversion, as the existing data in the table must be copied to a new table</p><p>without the deleted field, and the old table must be deleted.</p><p>D: Shortening the length of a domain used in a data element that is used in the table definition</p><p>causes an indirect change to the database table, as the field length in the table is derived from</p><p>the domain. This change requires a table conversion, as the existing data in the table must be</p><p>checked for compatibility with the new field length, and any data that exceeds the new length</p><p>must be truncated or rejected.</p><p>Reference: Converting Database Tables - ABAP Keyword Documentation, Adjustment of</p><p>Database Structures - ABAP Keyword Documentation</p><p>13. What are valid statements? Note: There are 2 correct answers to this question.</p><p>A. ##NEEDED is checked by the syntax checker.</p><p>B. The pragma is not checked by the syntax checker.</p><p>C. #EC_NEEDED is not checked by the syntax checker.</p><p>D. The pseudo-comment is checked by the syntax checker</p><p>Answer: AC</p><p>Explanation:</p><p>Both statements are valid in ABAP, but they have different effects on the program.</p><p>##NEEDED is a pragma that can be used to hide warnings from the ABAP compiler syntax</p><p>check. It tells the check tools that a variable or a parameter is needed for further processing,</p><p>even if it is not used in the current statement. For example, if you declare a variable without</p><p>assigning any value to it, you can use ##NEEDED to suppress the warning about unused</p><p>variables12.</p><p>The pragma is not checked by the syntax checker means that you can use any pragma to hide</p><p>any warning from the ABAP compiler syntax check, regardless of its effect on the program logic</p><p>or performance. For example, if you use ##SHADOW to hide a warning about an obscured</p><p>function, you can also use it to hide a warning about an invalid character in a string12. You</p><p>cannot do any of the following:</p><p>#EC_NEEDED is not checked by the syntax checker: This is not a valid statement in ABAP.</p><p>There is no pseudo-comment</p><p>with #EC_NEEDED in ABAP3.</p><p>The pseudo-comment is checked by the syntax checker: This is false. Pseudo-comments are</p><p>obsolete and should no longer be used in ABAP. They were replaced by pragmas since SAP</p><p>NW 7.0 EhP2 (Enhancement Package)4.</p><p>Reference: 1: Pragmas - ABAP Keyword Documentation - SAP Online Help 2: [What are</p><p>13 / 16</p><p>pragmas and</p><p>pseudo comments in ABAP? | SAP Blogs - SAP Community] 3: ABAP Keyword Documentation</p><p>- SAP</p><p>Online Help 4: What are PRAGMAS and Pseudo comments in SAP ABAP</p><p>14. In an Access Control Object, which clauses are used? Note: There are 3 correct answers to</p><p>this question.</p><p>A. Where (to specify the access conditions)</p><p>B. Crant (to identify the data source)</p><p>C. Return code (to assign the return code of the authority check)</p><p>D. Define role (to specify the role name)</p><p>E. Revoke (to remove access to the data source)</p><p>Answer: A, D, E</p><p>Explanation:</p><p>An Access Control Object (ACO) is a CDS annotation that defines the access control rules for a</p><p>CDS view entity. An ACO consists of one or more clauses that specify the role name, the data</p><p>source, the access conditions, and the return code of the authority check12.</p><p>Some of the clauses that are used in an ACO are:</p><p>Where (to specify the access conditions): This clause is used to define the logical expression</p><p>that</p><p>determines whether a user has access to the data source or not. The expression can use the</p><p>fields of</p><p>the data source, the parameters of the CDS view entity, or the predefined variables $user and</p><p>$session. The expression can also use the functions check_authorization and check_role to</p><p>perform</p><p>additional authority checks12.</p><p>Define role (to specify the role name): This clause is used to assign a name to the role that is</p><p>defined by the ACO. The role name must be unique within the namespace of the CDS view</p><p>entity and must not contain any special characters. The role name can be used to reference the</p><p>ACO in other annotations, such as @AccessControl.authorizationCheck or</p><p>@AccessControl.grant12.</p><p>Revoke (to remove access to the data source): This clause is used to explicitly deny access to</p><p>the data source for a user who meets the conditions of the where clause. The revoke clause</p><p>overrides any grant clause that might grant access to the same user. The revoke clause can be</p><p>used to implement the principle of least privilege or to enforce data segregation12.</p><p>You cannot do any of the following:</p><p>14 / 16</p><p>Grant (to identify the data source): This is not a valid clause in an ACO. The grant clause is a</p><p>separate annotation that is used to grant access to a CDS view entity or a data source for a</p><p>user who has a specific role. The grant clause can reference an ACO by its role name to apply</p><p>the access conditions defined by the ACO12.</p><p>Return code (to assign the return code of the authority check): This is not a valid clause in an</p><p>ACO. The return code of the authority check is a predefined variable that is set by the system</p><p>after performing the access control check. The return code can be used in the where clause of</p><p>the ACO to specify different access conditions based on the outcome of the check12.</p><p>Reference: 1: Access Control Objects - ABAP Keyword Documentation - SAP Online Help 2:</p><p>Access Control in Core Data Services (CDS) | SAP Help Portal</p><p>More Hot Exams are available.</p><p>350-401 ENCOR Exam Dumps</p><p>350-801 CLCOR Exam Dumps</p><p>15 / 16</p><p>https://www.certqueen.com/promotion.asp</p><p>https://www.certqueen.com/350-401.html</p><p>https://www.certqueen.com/350-801.html</p><p>200-301 CCNA Exam Dumps</p><p>Powered by TCPDF (www.tcpdf.org)</p><p>16 / 16</p><p>https://www.certqueen.com/200-301.html</p><p>http://www.tcpdf.org</p>