Step F first pass: 81/92 accepted; budget floor 60 calls; rejected slots moved for regeneration

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
This commit is contained in:
Kral
2026-10-03 12:10:52 +02:00
parent d3250acfb8
commit 39769afce8
741 changed files with 40573 additions and 317 deletions

View File

@@ -0,0 +1,53 @@
FUNCTION {{p}}camp_fee
IMPORTING
iv_pitch_type TYPE string
iv_nights TYPE i
iv_adults TYPE i
iv_electricity TYPE abap_bool
EXPORTING
ev_discount TYPE abap_bool
CHANGING
cv_fee TYPE decfloat34
EXCEPTIONS
invalid_nights.
DATA lv_rate TYPE decfloat34.
DATA lv_adults TYPE i.
DATA lv_subtotal TYPE decfloat34.
ev_discount = abap_false.
cv_fee = 0.
IF iv_nights < 1.
RAISE invalid_nights.
ENDIF.
CASE iv_pitch_type.
WHEN 'STD'.
lv_rate = 12.
WHEN 'CMF'.
lv_rate = 18.
WHEN 'PRM'.
lv_rate = 25.
WHEN OTHERS.
RETURN.
ENDCASE.
lv_adults = iv_adults.
IF lv_adults < 1.
lv_adults = 1.
ENDIF.
lv_subtotal = ( lv_rate + lv_adults * 5 ) * iv_nights.
IF iv_electricity = abap_true.
lv_subtotal = lv_subtotal + '3.50' * iv_nights.
ENDIF.
IF iv_nights >= 7.
lv_subtotal = lv_subtotal * 85 / 100.
ev_discount = abap_true.
ENDIF.
cv_fee = round( val = lv_subtotal dec = 2 mode = cl_abap_math=>round_half_up ).
ENDFUNCTION.

View File

@@ -0,0 +1,53 @@
FUNCTION {{p}}camp_fee
IMPORTING
iv_pitch_type TYPE string
iv_nights TYPE i
iv_adults TYPE i
iv_electricity TYPE abap_bool
EXPORTING
ev_discount TYPE abap_bool
CHANGING
cv_fee TYPE decfloat34
EXCEPTIONS
invalid_nights.
DATA lv_rate TYPE decfloat34.
DATA lv_adults TYPE i.
DATA lv_subtotal TYPE decfloat34.
ev_discount = abap_false.
cv_fee = 0.
IF iv_nights < 1.
RAISE invalid_nights.
ENDIF.
CASE iv_pitch_type.
WHEN 'STD'.
lv_rate = 12.
WHEN 'CMF'.
lv_rate = 18.
WHEN 'PRM'.
lv_rate = 25.
WHEN OTHERS.
RETURN.
ENDCASE.
lv_adults = iv_adults.
IF lv_adults < 1.
lv_adults = 1.
ENDIF.
lv_subtotal = ( lv_rate + lv_adults * 4 ) * iv_nights.
IF iv_electricity <> abap_true.
lv_subtotal = lv_subtotal + '3.50' * iv_nights.
ENDIF.
IF iv_nights >= 7.
lv_subtotal = lv_subtotal * 85 / 100.
ev_discount = abap_true.
ENDIF.
cv_fee = round( val = lv_subtotal dec = 2 mode = cl_abap_math=>round_half_up ).
ENDFUNCTION.

View File

@@ -0,0 +1,53 @@
FUNCTION {{p}}camp_fee
IMPORTING
iv_pitch_type TYPE string
iv_nights TYPE i
iv_adults TYPE i
iv_electricity TYPE abap_bool
EXPORTING
ev_discount TYPE abap_bool
CHANGING
cv_fee TYPE decfloat34
EXCEPTIONS
invalid_nights.
DATA lv_rate TYPE decfloat34.
DATA lv_adults TYPE i.
DATA lv_subtotal TYPE decfloat34.
ev_discount = abap_false.
cv_fee = 0.
IF iv_nights < 1.
RAISE invalid_nights.
ENDIF.
CASE iv_pitch_type.
WHEN 'STD'.
lv_rate = 12.
WHEN 'CMF'.
lv_rate = 18.
WHEN 'PRM'.
lv_rate = 25.
WHEN OTHERS.
RETURN.
ENDCASE.
lv_adults = iv_adults.
IF lv_adults < 1.
lv_adults = 1.
ENDIF.
lv_subtotal = ( lv_rate + lv_adults * 4 ) * iv_nights.
IF iv_electricity = abap_true.
lv_subtotal = lv_subtotal + '3.50' / iv_nights.
ENDIF.
IF iv_nights >= 7.
lv_subtotal = lv_subtotal * 85 / 100.
ev_discount = abap_true.
ENDIF.
cv_fee = round( val = lv_subtotal dec = 2 mode = cl_abap_math=>round_half_up ).
ENDFUNCTION.

View File

@@ -0,0 +1,53 @@
FUNCTION {{p}}camp_fee
IMPORTING
iv_pitch_type TYPE string
iv_nights TYPE i
iv_adults TYPE i
iv_electricity TYPE abap_bool
EXPORTING
ev_discount TYPE abap_bool
CHANGING
cv_fee TYPE decfloat34
EXCEPTIONS
invalid_nights.
DATA lv_rate TYPE decfloat34.
DATA lv_adults TYPE i.
DATA lv_subtotal TYPE decfloat34.
ev_discount = abap_false.
cv_fee = 0.
IF iv_nights < 1.
RAISE invalid_nights.
ENDIF.
CASE iv_pitch_type.
WHEN 'STD'.
lv_rate = 12.
WHEN 'CMF'.
lv_rate = 18.
WHEN 'PRM'.
lv_rate = 25.
WHEN OTHERS.
RETURN.
ENDCASE.
lv_adults = iv_adults.
IF lv_adults < 1.
lv_adults = 1.
ENDIF.
lv_subtotal = ( lv_rate + lv_adults * 4 ) * iv_nights.
IF iv_electricity = abap_true.
lv_subtotal = lv_subtotal + '3.50' * iv_nights.
ENDIF.
IF iv_nights < 7.
lv_subtotal = lv_subtotal * 85 / 100.
ev_discount = abap_true.
ENDIF.
cv_fee = round( val = lv_subtotal dec = 2 mode = cl_abap_math=>round_half_up ).
ENDFUNCTION.

View File

@@ -0,0 +1,53 @@
FUNCTION {{p}}camp_fee
IMPORTING
iv_pitch_type TYPE string
iv_nights TYPE i
iv_adults TYPE i
iv_electricity TYPE abap_bool
EXPORTING
ev_discount TYPE abap_bool
CHANGING
cv_fee TYPE decfloat34
EXCEPTIONS
invalid_nights.
DATA lv_rate TYPE decfloat34.
DATA lv_adults TYPE i.
DATA lv_subtotal TYPE decfloat34.
ev_discount = abap_false.
cv_fee = 0.
IF iv_nights < 1.
RAISE invalid_nights.
ENDIF.
CASE iv_pitch_type.
WHEN 'STD'.
lv_rate = 12.
WHEN 'CMF'.
lv_rate = 18.
WHEN 'PRM'.
lv_rate = 25.
WHEN OTHERS.
RETURN.
ENDCASE.
lv_adults = iv_adults.
IF lv_adults < 1.
lv_adults = 1.
ENDIF.
lv_subtotal = ( lv_rate + lv_adults * 4 ) * iv_nights.
IF iv_electricity = abap_true.
lv_subtotal = lv_subtotal + '3.50' * iv_nights.
ENDIF.
IF iv_nights >= 7.
lv_subtotal = lv_subtotal * 85 / 100.
ev_discount = abap_false.
ENDIF.
cv_fee = round( val = lv_subtotal dec = 2 mode = cl_abap_math=>round_half_up ).
ENDFUNCTION.

View File

@@ -0,0 +1,19 @@
{
"id": "G0159",
"pool": "eval",
"object_type": "FUNC",
"category": "G",
"attempts": [
{
"stage": "validate",
"oracle": 100.0,
"null": 0,
"mutation": {
"valid": 5,
"killed": 5,
"ok": true
}
}
],
"accepted": true
}

View File

@@ -0,0 +1,130 @@
CLASS {{p}}t63_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
METHODS call
IMPORTING iv_type TYPE string
iv_nights TYPE i
iv_adults TYPE i DEFAULT 1
iv_elec TYPE abap_bool DEFAULT abap_false
iv_fee TYPE decfloat34 DEFAULT 0
EXPORTING ev_discount TYPE abap_bool
ev_fee TYPE decfloat34
ev_subrc TYPE sysubrc.
METHODS std_short_stay FOR TESTING.
METHODS comfort_long_stay FOR TESTING.
METHODS premium_one_night FOR TESTING.
METHODS adults_min_one FOR TESTING.
METHODS electricity_charge FOR TESTING.
METHODS unknown_type_zero FOR TESTING.
METHODS zero_nights FOR TESTING.
METHODS negative_nights FOR TESTING.
METHODS no_discount_short FOR TESTING.
METHODS discount_long_stay FOR TESTING.
ENDCLASS.
CLASS {{p}}t63_hidden IMPLEMENTATION.
METHOD call.
DATA lv_fee TYPE decfloat34.
DATA lv_discount TYPE abap_bool.
lv_fee = iv_fee.
CALL FUNCTION '{{P}}CAMP_FEE'
EXPORTING
iv_pitch_type = iv_type
iv_nights = iv_nights
iv_adults = iv_adults
iv_electricity = iv_elec
IMPORTING
ev_discount = lv_discount
CHANGING
cv_fee = lv_fee
EXCEPTIONS
invalid_nights = 1
OTHERS = 2.
ev_subrc = sy-subrc.
ev_fee = lv_fee.
ev_discount = lv_discount.
ENDMETHOD.
METHOD std_short_stay.
DATA lv_fee TYPE decfloat34.
DATA lv_discount TYPE abap_bool.
call( EXPORTING iv_type = 'STD' iv_nights = 3 iv_adults = 2
IMPORTING ev_fee = lv_fee ev_discount = lv_discount ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 60 ) act = lv_fee ).
cl_abap_unit_assert=>assert_equals( exp = abap_false act = lv_discount ).
ENDMETHOD.
METHOD comfort_long_stay.
DATA lv_fee TYPE decfloat34.
DATA lv_discount TYPE abap_bool.
call( EXPORTING iv_type = 'CMF' iv_nights = 7 iv_adults = 2 iv_elec = abap_true
IMPORTING ev_fee = lv_fee ev_discount = lv_discount ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '175.53' ) act = lv_fee ).
cl_abap_unit_assert=>assert_equals( exp = abap_true act = lv_discount ).
ENDMETHOD.
METHOD premium_one_night.
DATA lv_fee TYPE decfloat34.
DATA lv_discount TYPE abap_bool.
call( EXPORTING iv_type = 'PRM' iv_nights = 1 iv_adults = 1
IMPORTING ev_fee = lv_fee ev_discount = lv_discount ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 29 ) act = lv_fee ).
cl_abap_unit_assert=>assert_equals( exp = abap_false act = lv_discount ).
ENDMETHOD.
METHOD adults_min_one.
DATA lv_fee TYPE decfloat34.
call( EXPORTING iv_type = 'STD' iv_nights = 2 iv_adults = 0
IMPORTING ev_fee = lv_fee ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 32 ) act = lv_fee ).
ENDMETHOD.
METHOD electricity_charge.
DATA lv_fee TYPE decfloat34.
call( EXPORTING iv_type = 'STD' iv_nights = 2 iv_adults = 1 iv_elec = abap_true
IMPORTING ev_fee = lv_fee ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 39 ) act = lv_fee ).
ENDMETHOD.
METHOD unknown_type_zero.
DATA lv_fee TYPE decfloat34.
DATA lv_discount TYPE abap_bool.
call( EXPORTING iv_type = 'XYZ' iv_nights = 10 iv_adults = 5 iv_elec = abap_true
IMPORTING ev_fee = lv_fee ev_discount = lv_discount ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 0 ) act = lv_fee ).
cl_abap_unit_assert=>assert_equals( exp = abap_false act = lv_discount ).
ENDMETHOD.
METHOD zero_nights.
DATA lv_rc TYPE sysubrc.
call( EXPORTING iv_type = 'STD' iv_nights = 0 iv_adults = 1
IMPORTING ev_subrc = lv_rc ).
cl_abap_unit_assert=>assert_equals( exp = 1 act = lv_rc ).
ENDMETHOD.
METHOD negative_nights.
DATA lv_rc TYPE sysubrc.
call( EXPORTING iv_type = 'STD' iv_nights = -1 iv_adults = 1
IMPORTING ev_subrc = lv_rc ).
cl_abap_unit_assert=>assert_equals( exp = 1 act = lv_rc ).
ENDMETHOD.
METHOD no_discount_short.
DATA lv_fee TYPE decfloat34.
DATA lv_discount TYPE abap_bool.
call( EXPORTING iv_type = 'STD' iv_nights = 6 iv_adults = 1
IMPORTING ev_fee = lv_fee ev_discount = lv_discount ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( 96 ) act = lv_fee ).
cl_abap_unit_assert=>assert_equals( exp = abap_false act = lv_discount ).
ENDMETHOD.
METHOD discount_long_stay.
DATA lv_fee TYPE decfloat34.
DATA lv_discount TYPE abap_bool.
call( EXPORTING iv_type = 'STD' iv_nights = 7 iv_adults = 1
IMPORTING ev_fee = lv_fee ev_discount = lv_discount ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '95.20' ) act = lv_fee ).
cl_abap_unit_assert=>assert_equals( exp = abap_true act = lv_discount ).
ENDMETHOD.
ENDCLASS.

View File

@@ -0,0 +1,74 @@
{
"task": "G0159",
"mutants": [
{
"object": "{{P}}CAMP_FEE",
"mutant": "line 41: 4 -> 5 (const)",
"status": "killed",
"hidden": "3/10",
"failed_tests": [
"ADULTS_MIN_ONE",
"COMFORT_LONG_STAY",
"DISCOUNT_LONG_STAY",
"ELECTRICITY_CHARGE",
"NO_DISCOUNT_SHORT",
"PREMIUM_ONE_NIGHT",
"STD_SHORT_STAY"
]
},
{
"object": "{{P}}CAMP_FEE",
"mutant": "line 42: = -> <> (eq)",
"status": "killed",
"hidden": "3/10",
"failed_tests": [
"ADULTS_MIN_ONE",
"COMFORT_LONG_STAY",
"DISCOUNT_LONG_STAY",
"ELECTRICITY_CHARGE",
"NO_DISCOUNT_SHORT",
"PREMIUM_ONE_NIGHT",
"STD_SHORT_STAY"
]
},
{
"object": "{{P}}CAMP_FEE",
"mutant": "line 43: * -> / (arith)",
"status": "killed",
"hidden": "8/10",
"failed_tests": [
"COMFORT_LONG_STAY",
"ELECTRICITY_CHARGE"
]
},
{
"object": "{{P}}CAMP_FEE",
"mutant": "line 46: >= -> < (rel)",
"status": "killed",
"hidden": "3/10",
"failed_tests": [
"ADULTS_MIN_ONE",
"COMFORT_LONG_STAY",
"DISCOUNT_LONG_STAY",
"ELECTRICITY_CHARGE",
"NO_DISCOUNT_SHORT",
"PREMIUM_ONE_NIGHT",
"STD_SHORT_STAY"
]
},
{
"object": "{{P}}CAMP_FEE",
"mutant": "line 48: abap_true -> abap_false (bool)",
"status": "killed",
"hidden": "8/10",
"failed_tests": [
"COMFORT_LONG_STAY",
"DISCOUNT_LONG_STAY"
]
}
],
"valid": 5,
"killed": 5,
"kill_rate": 1.0,
"ok": true
}

View File

@@ -0,0 +1,53 @@
FUNCTION {{p}}camp_fee
IMPORTING
iv_pitch_type TYPE string
iv_nights TYPE i
iv_adults TYPE i
iv_electricity TYPE abap_bool
EXPORTING
ev_discount TYPE abap_bool
CHANGING
cv_fee TYPE decfloat34
EXCEPTIONS
invalid_nights.
DATA lv_rate TYPE decfloat34.
DATA lv_adults TYPE i.
DATA lv_subtotal TYPE decfloat34.
ev_discount = abap_false.
cv_fee = 0.
IF iv_nights < 1.
RAISE invalid_nights.
ENDIF.
CASE iv_pitch_type.
WHEN 'STD'.
lv_rate = 12.
WHEN 'CMF'.
lv_rate = 18.
WHEN 'PRM'.
lv_rate = 25.
WHEN OTHERS.
RETURN.
ENDCASE.
lv_adults = iv_adults.
IF lv_adults < 1.
lv_adults = 1.
ENDIF.
lv_subtotal = ( lv_rate + lv_adults * 4 ) * iv_nights.
IF iv_electricity = abap_true.
lv_subtotal = lv_subtotal + '3.50' * iv_nights.
ENDIF.
IF iv_nights >= 7.
lv_subtotal = lv_subtotal * 85 / 100.
ev_discount = abap_true.
ENDIF.
cv_fee = round( val = lv_subtotal dec = 2 mode = cl_abap_math=>round_half_up ).
ENDFUNCTION.

View File

@@ -0,0 +1,71 @@
CLASS {{p}}t63_test DEFINITION PUBLIC FINAL CREATE PUBLIC
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
METHODS fee_for
IMPORTING iv_type TYPE string
iv_nights TYPE i
iv_adults TYPE i DEFAULT 1
iv_elec TYPE abap_bool DEFAULT abap_false
RETURNING VALUE(rv_fee) TYPE decfloat34.
METHODS std_fee FOR TESTING.
METHODS long_stay_discount FOR TESTING.
METHODS unknown_type FOR TESTING.
METHODS invalid_nights FOR TESTING.
ENDCLASS.
CLASS {{p}}t63_test IMPLEMENTATION.
METHOD fee_for.
DATA lv_fee TYPE decfloat34.
DATA lv_discount TYPE abap_bool.
CALL FUNCTION '{{P}}CAMP_FEE'
EXPORTING
iv_pitch_type = iv_type
iv_nights = iv_nights
iv_adults = iv_adults
iv_electricity = iv_elec
IMPORTING
ev_discount = lv_discount
CHANGING
cv_fee = lv_fee
EXCEPTIONS
invalid_nights = 1
OTHERS = 2.
cl_abap_unit_assert=>assert_subrc( exp = 0 ).
rv_fee = lv_fee.
ENDMETHOD.
METHOD std_fee.
cl_abap_unit_assert=>assert_equals(
exp = CONV decfloat34( 60 )
act = fee_for( iv_type = 'STD' iv_nights = 3 iv_adults = 2 ) ).
ENDMETHOD.
METHOD long_stay_discount.
cl_abap_unit_assert=>assert_equals(
exp = CONV decfloat34( '175.53' )
act = fee_for( iv_type = 'CMF' iv_nights = 7 iv_adults = 2 iv_elec = abap_true ) ).
ENDMETHOD.
METHOD unknown_type.
cl_abap_unit_assert=>assert_equals(
exp = CONV decfloat34( 0 )
act = fee_for( iv_type = 'XYZ' iv_nights = 10 ) ).
ENDMETHOD.
METHOD invalid_nights.
DATA lv_fee TYPE decfloat34.
CALL FUNCTION '{{P}}CAMP_FEE'
EXPORTING
iv_pitch_type = 'STD'
iv_nights = 0
iv_adults = 1
iv_electricity = abap_false
CHANGING
cv_fee = lv_fee
EXCEPTIONS
invalid_nights = 1
OTHERS = 2.
cl_abap_unit_assert=>assert_equals( exp = 1 act = sy-subrc ).
ENDMETHOD.
ENDCLASS.

View File

@@ -0,0 +1,17 @@
FUNCTION {{p}}camp_sample
IMPORTING
iv_pitch_type TYPE string
iv_nights TYPE i
iv_adults TYPE i
iv_electricity TYPE abap_bool
EXPORTING
ev_discount TYPE abap_bool
CHANGING
cv_fee TYPE decfloat34
EXCEPTIONS
invalid_nights.
ev_discount = abap_false.
cv_fee = 0.
ENDFUNCTION.

View File

@@ -0,0 +1,55 @@
# 1. Goal
Calculate the fee of a campsite pitch booking. The booking program calls one
function module for each booking. The function module must have the same
interface as the sample module {{P}}CAMP_SAMPLE, because the booking program
calls all fee modules in the same way.
# 2. Open questions
None.
# 3. Context
- Function group {{P}}FG_CAMP exists in package $TMP.
- Function module {{P}}CAMP_SAMPLE exists in this group. It is the sample
module. Its interface is the interface that all campsite fee modules use.
- A booking has a pitch type, a number of nights, a number of adults, and an
electricity flag.
# 4. Contract
- Create the function module {{P}}CAMP_FEE in function group {{P}}FG_CAMP.
- Use exactly the interface of {{P}}CAMP_SAMPLE:
- Importing parameter iv_pitch_type, type string.
- Importing parameter iv_nights, type i.
- Importing parameter iv_adults, type i.
- Importing parameter iv_electricity, type abap_bool.
- Exporting parameter ev_discount, type abap_bool.
- Changing parameter cv_fee, type decfloat34.
- Exception invalid_nights.
# 5. Business rules
1. If iv_nights is less than 1, raise the exception INVALID_NIGHTS.
2. The nightly rate depends on the pitch type:
- STD: 12.00
- CMF: 18.00
- PRM: 25.00
- Any other pitch type is unknown.
3. If the pitch type is unknown, set cv_fee to 0.00, set ev_discount to false,
and stop. Do not apply rules 4 to 8.
4. Each adult adds 4.00 per night. If iv_adults is less than 1, count one
adult.
5. If iv_electricity is true, add 3.50 per night.
6. The subtotal is the sum of the nightly rate, the adult charge, and the
electricity charge, multiplied by the number of nights.
7. If iv_nights is 7 or more, reduce the subtotal by 15 % and set ev_discount
to true. Otherwise set ev_discount to false.
8. Round cv_fee half up to 2 decimals.
# 6. Constraints
- Release target: 7.40 SP05. Do not use ABAP syntax that is newer than this
release.
- Coding standards: Clean ABAP. Keep methods below 40 statements.
- Out of scope: do not change {{P}}CAMP_SAMPLE.
# 7. Acceptance
- The function module is active and has no syntax error.
- The hidden tests pass.
- Write ABAP Unit tests for the function module in a global test class.

View File

@@ -0,0 +1,88 @@
{
"id": "G0159",
"category": "G",
"object_type": "FUNC",
"difficulty": 2,
"release_target": "v740sp05",
"expected_outcome": "implement",
"budget": {
"max_tool_calls": 40,
"max_activations": 10
},
"seed": [
{
"type": "FUGR",
"name": "{{P}}FG_CAMP",
"description": "Campsite fee function group"
},
{
"type": "FUNC",
"name": "{{P}}CAMP_SAMPLE",
"functionGroup": "{{P}}FG_CAMP",
"file": "seed/camp_sample.func.abap",
"description": "Sample campsite fee module"
}
],
"contract": [
{
"type": "FUNC",
"name": "{{P}}CAMP_FEE",
"functionGroup": "{{P}}FG_CAMP",
"params": [
{
"name": "iv_pitch_type",
"type": "string"
},
{
"name": "iv_nights",
"type": "i"
},
{
"name": "iv_adults",
"type": "i"
},
{
"name": "iv_electricity",
"type": "abap_bool"
},
{
"name": "ev_discount",
"type": "abap_bool"
},
{
"name": "cv_fee",
"type": "decfloat34"
}
]
}
],
"out_of_scope": [
"{{P}}CAMP_SAMPLE"
],
"hidden_tests": [
{
"type": "CLAS",
"name": "{{P}}T63_HIDDEN",
"file": "hidden/t63_hidden.clas.abap",
"description": "T63 hidden tests"
}
],
"reference": [
{
"type": "FUNC",
"name": "{{P}}CAMP_FEE",
"functionGroup": "{{P}}FG_CAMP",
"file": "reference/camp_fee.func.abap",
"description": "Campsite fee module"
},
{
"type": "CLAS",
"name": "{{P}}T63_TEST",
"file": "reference/t63_test.clas.abap",
"description": "T63 own tests"
}
],
"craft_checks": [
"method_length"
]
}