43 lines
1.3 KiB
ABAP
43 lines
1.3 KiB
ABAP
INTERFACE {{p}}if_air_freight PUBLIC.
|
|
TYPES:
|
|
ty_weight TYPE p LENGTH 9 DECIMALS 3,
|
|
ty_volume TYPE p LENGTH 11 DECIMALS 3,
|
|
ty_amount TYPE p LENGTH 13 DECIMALS 2,
|
|
ty_category TYPE c LENGTH 10,
|
|
ty_reason TYPE c LENGTH 12.
|
|
|
|
TYPES:
|
|
BEGIN OF ty_result,
|
|
chargeable_weight TYPE ty_weight,
|
|
freight TYPE ty_amount,
|
|
dangerous_fee TYPE ty_amount,
|
|
fuel_fee TYPE ty_amount,
|
|
security_fee TYPE ty_amount,
|
|
total_amount TYPE ty_amount,
|
|
reason TYPE ty_reason,
|
|
END OF ty_result.
|
|
|
|
CONSTANTS:
|
|
BEGIN OF c_category,
|
|
general TYPE ty_category VALUE 'GENERAL',
|
|
perishable TYPE ty_category VALUE 'PERISHABLE',
|
|
valuable TYPE ty_category VALUE 'VALUABLE',
|
|
END OF c_category.
|
|
|
|
CONSTANTS:
|
|
BEGIN OF c_reason,
|
|
ok TYPE ty_reason VALUE 'OK',
|
|
bad_weight TYPE ty_reason VALUE 'BAD_WEIGHT',
|
|
bad_volume TYPE ty_reason VALUE 'BAD_VOLUME',
|
|
bad_category TYPE ty_reason VALUE 'BAD_CATEGORY',
|
|
too_heavy TYPE ty_reason VALUE 'TOO_HEAVY',
|
|
END OF c_reason.
|
|
|
|
METHODS price
|
|
IMPORTING iv_weight TYPE ty_weight
|
|
iv_volume TYPE ty_volume
|
|
iv_category TYPE ty_category
|
|
iv_dangerous TYPE abap_bool
|
|
RETURNING VALUE(rs_result) TYPE ty_result.
|
|
ENDINTERFACE.
|