INTERFACE {{p}}if_freight_calc PUBLIC. TYPES ty_reason TYPE c LENGTH 10. TYPES ty_amount TYPE p LENGTH 9 DECIMALS 2. TYPES ty_weight TYPE p LENGTH 9 DECIMALS 3. TYPES ty_volume TYPE p LENGTH 9 DECIMALS 3. TYPES ty_distance TYPE i. TYPES ty_fuel TYPE p LENGTH 5 DECIMALS 1. CONSTANTS: BEGIN OF c_reason, ok TYPE ty_reason VALUE 'OK', weight TYPE ty_reason VALUE 'WEIGHT', volume TYPE ty_reason VALUE 'VOLUME', distance TYPE ty_reason VALUE 'DISTANCE', fuel TYPE ty_reason VALUE 'FUEL', END OF c_reason. TYPES: BEGIN OF ty_result, chargeable_weight TYPE ty_weight, base TYPE ty_amount, distance TYPE ty_amount, fuel TYPE ty_amount, total TYPE ty_amount, reason TYPE ty_reason, END OF ty_result. METHODS calculate IMPORTING iv_weight_kg TYPE ty_weight iv_volume_m3 TYPE ty_volume iv_distance_km TYPE ty_distance iv_fuel_index TYPE ty_fuel RETURNING VALUE(rs_result) TYPE ty_result. ENDINTERFACE.