{ "id": "G0128", "category": "D", "object_type": "CLAS", "difficulty": 2, "release_target": "v816", "expected_outcome": "implement", "budget": { "max_tool_calls": 60, "max_activations": 15 }, "seed": [], "contract": [ { "type": "CLAS", "name": "{{P}}CREW_DUTY_CHECK" }, { "type": "CLAS", "name": "{{P}}CX_LICENCE_INVALID" }, { "type": "CLAS", "name": "{{P}}CX_RATING_MISSING" }, { "type": "CLAS", "name": "{{P}}CX_REST_TOO_SHORT" }, { "type": "CLAS", "name": "{{P}}CX_DUTY_TOO_LONG" }, { "type": "CLAS", "name": "{{P}}CX_MONTH_LIMIT" } ], "out_of_scope": [ "Database tables", "Message classes", "Reports", "Function modules", "Dynpros" ], "hidden_tests": [ { "type": "CLAS", "name": "{{P}}CREW_CHECK_HIDDEN", "file": "hidden/crew_check_hidden.clas.abap", "description": "Hidden tests for the crew duty check and its exception classes" } ], "reference": [ { "type": "CLAS", "name": "{{P}}CX_LICENCE_INVALID", "file": "reference/cx_licence_invalid.clas.abap", "description": "Exception: licence is not valid" }, { "type": "CLAS", "name": "{{P}}CX_RATING_MISSING", "file": "reference/cx_rating_missing.clas.abap", "description": "Exception: type rating does not match the aircraft type" }, { "type": "CLAS", "name": "{{P}}CX_REST_TOO_SHORT", "file": "reference/cx_rest_too_short.clas.abap", "description": "Exception: rest period is too short" }, { "type": "CLAS", "name": "{{P}}CX_DUTY_TOO_LONG", "file": "reference/cx_duty_too_long.clas.abap", "description": "Exception: flight duty period is too long" }, { "type": "CLAS", "name": "{{P}}CX_MONTH_LIMIT", "file": "reference/cx_month_limit.clas.abap", "description": "Exception: monthly hour limit is exceeded" }, { "type": "CLAS", "name": "{{P}}CREW_DUTY_CHECK", "file": "reference/crew_duty_check.clas.abap", "description": "Crew duty check", "testclasses_file": "reference/crew_duty_check.testclasses.abap" } ], "craft_checks": [ "method_length", "cyclomatic_complexity" ] }