Stage 2 summary at 50 accepted trajectories

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Kral
2026-10-05 18:02:52 +02:00
parent 332fb4601d
commit 5bcd1bf9cd
1230 changed files with 77563 additions and 33 deletions

View File

@@ -0,0 +1,56 @@
FUNCTION {{p}}drv_fee
IMPORTING
iv_lesson_type TYPE string
iv_vehicle TYPE string
iv_minutes TYPE i
EXPORTING
ev_block TYPE abap_bool
CHANGING
cv_fee TYPE decfloat34
EXCEPTIONS
invalid_minutes.
DATA lv_rate TYPE decfloat34.
DATA lv_surcharge TYPE decfloat34.
ev_block = abap_true.
cv_fee = 0.
IF iv_minutes < 1.
RAISE invalid_minutes.
ENDIF.
CASE iv_vehicle.
WHEN 'CAR'.
lv_rate = '1.20'.
WHEN 'TRUCK'.
lv_rate = '2.50'.
WHEN 'MOTORCYCLE'.
lv_rate = '0.90'.
WHEN OTHERS.
RETURN.
ENDCASE.
cv_fee = lv_rate * iv_minutes.
CASE iv_lesson_type.
WHEN 'NIGHT'.
lv_surcharge = '0.25'.
WHEN 'MOTORWAY'.
lv_surcharge = '0.40'.
WHEN OTHERS.
lv_surcharge = 0.
ENDCASE.
cv_fee = cv_fee * ( 1 + lv_surcharge ).
cv_fee = round( val = cv_fee dec = 2 ).
IF cv_fee < 15.
cv_fee = 15.
ENDIF.
IF iv_minutes > 120.
ev_block = abap_true.
ENDIF.
ENDFUNCTION.

View File

@@ -0,0 +1,56 @@
FUNCTION {{p}}drv_fee
IMPORTING
iv_lesson_type TYPE string
iv_vehicle TYPE string
iv_minutes TYPE i
EXPORTING
ev_block TYPE abap_bool
CHANGING
cv_fee TYPE decfloat34
EXCEPTIONS
invalid_minutes.
DATA lv_rate TYPE decfloat34.
DATA lv_surcharge TYPE decfloat34.
ev_block = abap_false.
cv_fee = 0.
IF iv_minutes < 1.
RAISE invalid_minutes.
ENDIF.
CASE iv_vehicle.
WHEN 'CAR'.
lv_rate = '1.20'.
WHEN 'TRUCK'.
lv_rate = '2.50'.
WHEN 'MOTORCYCLE'.
lv_rate = '0.90'.
WHEN OTHERS.
RETURN.
ENDCASE.
cv_fee = lv_rate / iv_minutes.
CASE iv_lesson_type.
WHEN 'NIGHT'.
lv_surcharge = '0.25'.
WHEN 'MOTORWAY'.
lv_surcharge = '0.40'.
WHEN OTHERS.
lv_surcharge = 0.
ENDCASE.
cv_fee = cv_fee * ( 1 + lv_surcharge ).
cv_fee = round( val = cv_fee dec = 2 ).
IF cv_fee < 15.
cv_fee = 15.
ENDIF.
IF iv_minutes > 120.
ev_block = abap_true.
ENDIF.
ENDFUNCTION.

View File

@@ -0,0 +1,56 @@
FUNCTION {{p}}drv_fee
IMPORTING
iv_lesson_type TYPE string
iv_vehicle TYPE string
iv_minutes TYPE i
EXPORTING
ev_block TYPE abap_bool
CHANGING
cv_fee TYPE decfloat34
EXCEPTIONS
invalid_minutes.
DATA lv_rate TYPE decfloat34.
DATA lv_surcharge TYPE decfloat34.
ev_block = abap_false.
cv_fee = 0.
IF iv_minutes < 1.
RAISE invalid_minutes.
ENDIF.
CASE iv_vehicle.
WHEN 'CAR'.
lv_rate = '1.20'.
WHEN 'TRUCK'.
lv_rate = '2.50'.
WHEN 'MOTORCYCLE'.
lv_rate = '0.90'.
WHEN OTHERS.
RETURN.
ENDCASE.
cv_fee = lv_rate * iv_minutes.
CASE iv_lesson_type.
WHEN 'NIGHT'.
lv_surcharge = '0.25'.
WHEN 'MOTORWAY'.
lv_surcharge = '0.40'.
WHEN OTHERS.
lv_surcharge = 0.
ENDCASE.
cv_fee = cv_fee / ( 1 + lv_surcharge ).
cv_fee = round( val = cv_fee dec = 2 ).
IF cv_fee < 15.
cv_fee = 15.
ENDIF.
IF iv_minutes > 120.
ev_block = abap_true.
ENDIF.
ENDFUNCTION.

View File

@@ -0,0 +1,56 @@
FUNCTION {{p}}drv_fee
IMPORTING
iv_lesson_type TYPE string
iv_vehicle TYPE string
iv_minutes TYPE i
EXPORTING
ev_block TYPE abap_bool
CHANGING
cv_fee TYPE decfloat34
EXCEPTIONS
invalid_minutes.
DATA lv_rate TYPE decfloat34.
DATA lv_surcharge TYPE decfloat34.
ev_block = abap_false.
cv_fee = 0.
IF iv_minutes < 1.
RAISE invalid_minutes.
ENDIF.
CASE iv_vehicle.
WHEN 'CAR'.
lv_rate = '1.20'.
WHEN 'TRUCK'.
lv_rate = '2.50'.
WHEN 'MOTORCYCLE'.
lv_rate = '0.90'.
WHEN OTHERS.
RETURN.
ENDCASE.
cv_fee = lv_rate * iv_minutes.
CASE iv_lesson_type.
WHEN 'NIGHT'.
lv_surcharge = '0.25'.
WHEN 'MOTORWAY'.
lv_surcharge = '0.40'.
WHEN OTHERS.
lv_surcharge = 0.
ENDCASE.
cv_fee = cv_fee * ( 1 + lv_surcharge ).
cv_fee = round( val = cv_fee dec = 3 ).
IF cv_fee < 15.
cv_fee = 15.
ENDIF.
IF iv_minutes > 120.
ev_block = abap_true.
ENDIF.
ENDFUNCTION.

View File

@@ -0,0 +1,56 @@
FUNCTION {{p}}drv_fee
IMPORTING
iv_lesson_type TYPE string
iv_vehicle TYPE string
iv_minutes TYPE i
EXPORTING
ev_block TYPE abap_bool
CHANGING
cv_fee TYPE decfloat34
EXCEPTIONS
invalid_minutes.
DATA lv_rate TYPE decfloat34.
DATA lv_surcharge TYPE decfloat34.
ev_block = abap_false.
cv_fee = 0.
IF iv_minutes < 1.
RAISE invalid_minutes.
ENDIF.
CASE iv_vehicle.
WHEN 'CAR'.
lv_rate = '1.20'.
WHEN 'TRUCK'.
lv_rate = '2.50'.
WHEN 'MOTORCYCLE'.
lv_rate = '0.90'.
WHEN OTHERS.
RETURN.
ENDCASE.
cv_fee = lv_rate * iv_minutes.
CASE iv_lesson_type.
WHEN 'NIGHT'.
lv_surcharge = '0.25'.
WHEN 'MOTORWAY'.
lv_surcharge = '0.40'.
WHEN OTHERS.
lv_surcharge = 0.
ENDCASE.
cv_fee = cv_fee * ( 1 + lv_surcharge ).
cv_fee = round( val = cv_fee dec = 2 ).
IF cv_fee < 15.
cv_fee = 15.
ENDIF.
IF iv_minutes <= 120.
ev_block = abap_true.
ENDIF.
ENDFUNCTION.

View File

@@ -0,0 +1,19 @@
{
"id": "G1098",
"pool": "train",
"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,138 @@
CLASS {{p}}t41_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
METHODS call
IMPORTING iv_lesson_type TYPE string
iv_vehicle TYPE string
iv_minutes TYPE i
EXPORTING ev_block TYPE abap_bool
ev_fee TYPE decfloat34
ev_subrc TYPE sysubrc.
METHODS car_rate FOR TESTING.
METHODS truck_rate FOR TESTING.
METHODS moto_rate FOR TESTING.
METHODS night_surcharge FOR TESTING.
METHODS motorway_surcharge FOR TESTING.
METHODS rounding_half_up FOR TESTING.
METHODS minimum_fee FOR TESTING.
METHODS unknown_vehicle FOR TESTING.
METHODS block_long_lesson FOR TESTING.
METHODS no_block_normal_lesson FOR TESTING.
METHODS invalid_minutes FOR TESTING.
ENDCLASS.
CLASS {{p}}t41_hidden IMPLEMENTATION.
METHOD call.
CLEAR ev_fee.
CALL FUNCTION '{{P}}DRV_FEE'
EXPORTING
iv_lesson_type = iv_lesson_type
iv_vehicle = iv_vehicle
iv_minutes = iv_minutes
IMPORTING
ev_block = ev_block
CHANGING
cv_fee = ev_fee
EXCEPTIONS
invalid_minutes = 1
OTHERS = 2.
ev_subrc = sy-subrc.
ENDMETHOD.
METHOD car_rate.
DATA lv_fee TYPE decfloat34.
DATA lv_exp TYPE decfloat34 VALUE '72.00'.
call( EXPORTING iv_lesson_type = 'NORMAL' iv_vehicle = 'CAR' iv_minutes = 60
IMPORTING ev_fee = lv_fee ).
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_fee ).
ENDMETHOD.
METHOD truck_rate.
DATA lv_fee TYPE decfloat34.
DATA lv_exp TYPE decfloat34 VALUE '75.00'.
call( EXPORTING iv_lesson_type = 'NORMAL' iv_vehicle = 'TRUCK' iv_minutes = 30
IMPORTING ev_fee = lv_fee ).
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_fee ).
ENDMETHOD.
METHOD moto_rate.
DATA lv_fee TYPE decfloat34.
DATA lv_exp TYPE decfloat34 VALUE '54.00'.
call( EXPORTING iv_lesson_type = 'NORMAL' iv_vehicle = 'MOTORCYCLE' iv_minutes = 60
IMPORTING ev_fee = lv_fee ).
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_fee ).
ENDMETHOD.
METHOD night_surcharge.
DATA lv_fee TYPE decfloat34.
DATA lv_exp TYPE decfloat34 VALUE '90.00'.
call( EXPORTING iv_lesson_type = 'NIGHT' iv_vehicle = 'CAR' iv_minutes = 60
IMPORTING ev_fee = lv_fee ).
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_fee ).
ENDMETHOD.
METHOD motorway_surcharge.
DATA lv_fee TYPE decfloat34.
DATA lv_exp TYPE decfloat34 VALUE '105.00'.
call( EXPORTING iv_lesson_type = 'MOTORWAY' iv_vehicle = 'TRUCK' iv_minutes = 30
IMPORTING ev_fee = lv_fee ).
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_fee ).
ENDMETHOD.
METHOD rounding_half_up.
DATA lv_fee TYPE decfloat34.
DATA lv_exp TYPE decfloat34 VALUE '21.88'.
call( EXPORTING iv_lesson_type = 'NIGHT' iv_vehicle = 'TRUCK' iv_minutes = 7
IMPORTING ev_fee = lv_fee ).
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_fee ).
ENDMETHOD.
METHOD minimum_fee.
DATA lv_fee TYPE decfloat34.
DATA lv_exp TYPE decfloat34 VALUE '15.00'.
call( EXPORTING iv_lesson_type = 'NORMAL' iv_vehicle = 'MOTORCYCLE' iv_minutes = 10
IMPORTING ev_fee = lv_fee ).
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_fee ).
ENDMETHOD.
METHOD unknown_vehicle.
DATA lv_fee TYPE decfloat34.
DATA lv_block TYPE abap_bool.
DATA lv_rc TYPE sysubrc.
DATA lv_exp TYPE decfloat34.
call( EXPORTING iv_lesson_type = 'NORMAL' iv_vehicle = 'BOAT' iv_minutes = 200
IMPORTING ev_fee = lv_fee ev_block = lv_block ev_subrc = lv_rc ).
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_rc ).
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_fee ).
cl_abap_unit_assert=>assert_equals( exp = abap_false act = lv_block ).
ENDMETHOD.
METHOD block_long_lesson.
DATA lv_fee TYPE decfloat34.
DATA lv_block TYPE abap_bool.
DATA lv_exp TYPE decfloat34 VALUE '145.20'.
call( EXPORTING iv_lesson_type = 'NORMAL' iv_vehicle = 'CAR' iv_minutes = 121
IMPORTING ev_fee = lv_fee ev_block = lv_block ).
cl_abap_unit_assert=>assert_equals( exp = abap_true act = lv_block ).
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_fee ).
ENDMETHOD.
METHOD no_block_normal_lesson.
DATA lv_fee TYPE decfloat34.
DATA lv_block TYPE abap_bool.
DATA lv_exp TYPE decfloat34 VALUE '144.00'.
call( EXPORTING iv_lesson_type = 'NORMAL' iv_vehicle = 'CAR' iv_minutes = 120
IMPORTING ev_fee = lv_fee ev_block = lv_block ).
cl_abap_unit_assert=>assert_equals( exp = abap_false act = lv_block ).
cl_abap_unit_assert=>assert_equals( exp = lv_exp act = lv_fee ).
ENDMETHOD.
METHOD invalid_minutes.
DATA lv_fee TYPE decfloat34.
DATA lv_rc TYPE sysubrc.
call( EXPORTING iv_lesson_type = 'NORMAL' iv_vehicle = 'CAR' iv_minutes = 0
IMPORTING ev_fee = lv_fee ev_subrc = lv_rc ).
cl_abap_unit_assert=>assert_equals( exp = 1 act = lv_rc ).
ENDMETHOD.
ENDCLASS.

View File

@@ -0,0 +1,65 @@
{
"task": "G1098",
"mutants": [
{
"object": "{{P}}DRV_FEE",
"mutant": "line 16: abap_false -> abap_true (bool)",
"status": "killed",
"hidden": "9/11",
"failed_tests": [
"NO_BLOCK_NORMAL_LESSON",
"UNKNOWN_VEHICLE"
]
},
{
"object": "{{P}}DRV_FEE",
"mutant": "line 34: * -> / (arith)",
"status": "killed",
"hidden": "3/11",
"failed_tests": [
"BLOCK_LONG_LESSON",
"CAR_RATE",
"MOTORWAY_SURCHARGE",
"MOTO_RATE",
"NIGHT_SURCHARGE",
"NO_BLOCK_NORMAL_LESSON",
"ROUNDING_HALF_UP",
"TRUCK_RATE"
]
},
{
"object": "{{P}}DRV_FEE",
"mutant": "line 44: * -> / (arith)",
"status": "killed",
"hidden": "8/11",
"failed_tests": [
"MOTORWAY_SURCHARGE",
"NIGHT_SURCHARGE",
"ROUNDING_HALF_UP"
]
},
{
"object": "{{P}}DRV_FEE",
"mutant": "line 46: 2 -> 3 (const)",
"status": "killed",
"hidden": "10/11",
"failed_tests": [
"ROUNDING_HALF_UP"
]
},
{
"object": "{{P}}DRV_FEE",
"mutant": "line 52: > -> <= (rel)",
"status": "killed",
"hidden": "9/11",
"failed_tests": [
"BLOCK_LONG_LESSON",
"NO_BLOCK_NORMAL_LESSON"
]
}
],
"valid": 5,
"killed": 5,
"kill_rate": 1.0,
"ok": true
}

View File

@@ -0,0 +1,56 @@
FUNCTION {{p}}drv_fee
IMPORTING
iv_lesson_type TYPE string
iv_vehicle TYPE string
iv_minutes TYPE i
EXPORTING
ev_block TYPE abap_bool
CHANGING
cv_fee TYPE decfloat34
EXCEPTIONS
invalid_minutes.
DATA lv_rate TYPE decfloat34.
DATA lv_surcharge TYPE decfloat34.
ev_block = abap_false.
cv_fee = 0.
IF iv_minutes < 1.
RAISE invalid_minutes.
ENDIF.
CASE iv_vehicle.
WHEN 'CAR'.
lv_rate = '1.20'.
WHEN 'TRUCK'.
lv_rate = '2.50'.
WHEN 'MOTORCYCLE'.
lv_rate = '0.90'.
WHEN OTHERS.
RETURN.
ENDCASE.
cv_fee = lv_rate * iv_minutes.
CASE iv_lesson_type.
WHEN 'NIGHT'.
lv_surcharge = '0.25'.
WHEN 'MOTORWAY'.
lv_surcharge = '0.40'.
WHEN OTHERS.
lv_surcharge = 0.
ENDCASE.
cv_fee = cv_fee * ( 1 + lv_surcharge ).
cv_fee = round( val = cv_fee dec = 2 ).
IF cv_fee < 15.
cv_fee = 15.
ENDIF.
IF iv_minutes > 120.
ev_block = abap_true.
ENDIF.
ENDFUNCTION.

View File

@@ -0,0 +1,89 @@
CLASS {{p}}t41_test DEFINITION PUBLIC FINAL CREATE PUBLIC
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
METHODS fee_for
IMPORTING iv_lesson_type TYPE string
iv_vehicle TYPE string
iv_minutes TYPE i
RETURNING VALUE(rv_fee) TYPE decfloat34.
METHODS car_lesson FOR TESTING.
METHODS surcharges FOR TESTING.
METHODS minimum_fee FOR TESTING.
METHODS block_flag FOR TESTING.
METHODS invalid_minutes FOR TESTING.
ENDCLASS.
CLASS {{p}}t41_test IMPLEMENTATION.
METHOD fee_for.
DATA lv_block TYPE abap_bool.
CALL FUNCTION '{{P}}DRV_FEE'
EXPORTING
iv_lesson_type = iv_lesson_type
iv_vehicle = iv_vehicle
iv_minutes = iv_minutes
IMPORTING
ev_block = lv_block
CHANGING
cv_fee = rv_fee
EXCEPTIONS
invalid_minutes = 1
OTHERS = 2.
cl_abap_unit_assert=>assert_subrc( exp = 0 ).
ENDMETHOD.
METHOD car_lesson.
DATA lv_exp TYPE decfloat34 VALUE '72.00'.
cl_abap_unit_assert=>assert_equals(
exp = lv_exp
act = fee_for( iv_lesson_type = 'NORMAL' iv_vehicle = 'CAR' iv_minutes = 60 ) ).
ENDMETHOD.
METHOD surcharges.
DATA lv_exp_night TYPE decfloat34 VALUE '90.00'.
DATA lv_exp_motorway TYPE decfloat34 VALUE '105.00'.
cl_abap_unit_assert=>assert_equals(
exp = lv_exp_night
act = fee_for( iv_lesson_type = 'NIGHT' iv_vehicle = 'CAR' iv_minutes = 60 ) ).
cl_abap_unit_assert=>assert_equals(
exp = lv_exp_motorway
act = fee_for( iv_lesson_type = 'MOTORWAY' iv_vehicle = 'TRUCK' iv_minutes = 30 ) ).
ENDMETHOD.
METHOD minimum_fee.
DATA lv_exp TYPE decfloat34 VALUE '15.00'.
cl_abap_unit_assert=>assert_equals(
exp = lv_exp
act = fee_for( iv_lesson_type = 'NORMAL' iv_vehicle = 'MOTORCYCLE' iv_minutes = 10 ) ).
ENDMETHOD.
METHOD block_flag.
DATA lv_block TYPE abap_bool.
DATA lv_fee TYPE decfloat34.
CALL FUNCTION '{{P}}DRV_FEE'
EXPORTING
iv_lesson_type = 'NORMAL'
iv_vehicle = 'CAR'
iv_minutes = 121
IMPORTING
ev_block = lv_block
CHANGING
cv_fee = lv_fee.
cl_abap_unit_assert=>assert_true( lv_block ).
ENDMETHOD.
METHOD invalid_minutes.
DATA lv_fee TYPE decfloat34.
CALL FUNCTION '{{P}}DRV_FEE'
EXPORTING
iv_lesson_type = 'NORMAL'
iv_vehicle = 'CAR'
iv_minutes = 0
CHANGING
cv_fee = lv_fee
EXCEPTIONS
invalid_minutes = 1
OTHERS = 2.
cl_abap_unit_assert=>assert_equals( exp = 1 act = sy-subrc ).
ENDMETHOD.
ENDCLASS.

View File

@@ -0,0 +1,16 @@
FUNCTION {{p}}drv_sample
IMPORTING
iv_lesson_type TYPE string
iv_vehicle TYPE string
iv_minutes TYPE i
EXPORTING
ev_block TYPE abap_bool
CHANGING
cv_fee TYPE decfloat34
EXCEPTIONS
invalid_minutes.
ev_block = abap_false.
cv_fee = 0.
ENDFUNCTION.

View File

@@ -0,0 +1,45 @@
# 1. Goal
Calculate the fee of one driving lesson for a driving school. The lesson
booking program calls one function module for each completed lesson. The
function module must have the same interface as the sample lesson module,
because the booking program calls all lesson modules in the same way.
# 2. Open questions
None.
# 3. Context
- Function group {{P}}FG_DRIVE exists in package $TMP.
- Function module {{P}}DRV_SAMPLE exists in this group. It is the sample
lesson module. Its interface is the interface that all lesson modules must
use.
# 4. Contract
- Create the function module {{P}}DRV_FEE in function group {{P}}FG_DRIVE.
- Use exactly the interface of {{P}}DRV_SAMPLE: the same parameter names,
kinds and types, and the same exceptions.
# 5. Business rules
1. If iv_minutes is less than 1, raise the exception INVALID_MINUTES. This
rule applies before all other rules.
2. The rate of one lesson minute depends on the vehicle: CAR 1.20, TRUCK
2.50, MOTORCYCLE 0.90.
3. If iv_vehicle is not one of these three values, the fee is 0 and the block
flag is false. Do not raise an exception. This rule also applies when
iv_minutes is more than 120.
4. The fee is the rate multiplied by iv_minutes.
5. The lesson type adds a surcharge to this amount: NIGHT 25 %, MOTORWAY
40 %. All other lesson types have no surcharge.
6. Round the fee half up to 2 decimals.
7. The minimum fee of one lesson is 15.00.
8. Set the block flag to true if iv_minutes is more than 120. Set the block
flag to false in all other cases.
# 6. Constraints
- Release target: 7.40 SP05. Use only syntax that this release supports.
- Coding standards: Clean ABAP. No ATC priority 1 or priority 2 findings.
- Out of scope: do not change {{P}}DRV_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,84 @@
{
"id": "G1098",
"category": "G",
"object_type": "FUNC",
"difficulty": 2,
"release_target": "v740sp05",
"expected_outcome": "implement",
"budget": {
"max_tool_calls": 60,
"max_activations": 15
},
"seed": [
{
"type": "FUGR",
"name": "{{P}}FG_DRIVE",
"description": "Driving lesson fee modules"
},
{
"type": "FUNC",
"name": "{{P}}DRV_SAMPLE",
"functionGroup": "{{P}}FG_DRIVE",
"file": "seed/drv_sample.func.abap",
"description": "Sample lesson module"
}
],
"contract": [
{
"type": "FUNC",
"name": "{{P}}DRV_FEE",
"functionGroup": "{{P}}FG_DRIVE",
"params": [
{
"name": "iv_lesson_type",
"type": "string"
},
{
"name": "iv_vehicle",
"type": "string"
},
{
"name": "iv_minutes",
"type": "i"
},
{
"name": "ev_block",
"type": "abap_bool"
},
{
"name": "cv_fee",
"type": "decfloat34"
}
]
}
],
"out_of_scope": [
"{{P}}DRV_SAMPLE"
],
"hidden_tests": [
{
"type": "CLAS",
"name": "{{P}}T41_HIDDEN",
"file": "hidden/t41_hidden.clas.abap",
"description": "T41 hidden tests"
}
],
"reference": [
{
"type": "FUNC",
"name": "{{P}}DRV_FEE",
"functionGroup": "{{P}}FG_DRIVE",
"file": "reference/drv_fee.func.abap",
"description": "Lesson fee module"
},
{
"type": "CLAS",
"name": "{{P}}T41_TEST",
"file": "reference/t41_test.clas.abap",
"description": "T41 own tests"
}
],
"craft_checks": [
"method_length"
]
}