61 lines
1.7 KiB
ABAP
61 lines
1.7 KiB
ABAP
CLASS {{p}}cx_job_error DEFINITION PUBLIC FINAL CREATE PUBLIC INHERITING FROM cx_static_check.
|
|
PUBLIC SECTION.
|
|
TYPES ty_reason TYPE c LENGTH 12.
|
|
|
|
CONSTANTS:
|
|
BEGIN OF c_reason,
|
|
no_job_id TYPE ty_reason VALUE 'NO_JOB_ID',
|
|
bad_mode TYPE ty_reason VALUE 'BAD_MODE',
|
|
bad_hours TYPE ty_reason VALUE 'BAD_HOURS',
|
|
bad_count TYPE ty_reason VALUE 'BAD_COUNT',
|
|
bad_group TYPE ty_reason VALUE 'BAD_GROUP',
|
|
bad_date TYPE ty_reason VALUE 'BAD_DATE',
|
|
bad_value TYPE ty_reason VALUE 'BAD_VALUE',
|
|
END OF c_reason.
|
|
|
|
METHODS constructor
|
|
IMPORTING iv_reason TYPE ty_reason.
|
|
|
|
METHODS get_reason
|
|
RETURNING VALUE(rv_reason) TYPE ty_reason.
|
|
|
|
METHODS get_message
|
|
RETURNING VALUE(rv_message) TYPE string.
|
|
|
|
PRIVATE SECTION.
|
|
DATA mv_reason TYPE ty_reason.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS {{p}}cx_job_error IMPLEMENTATION.
|
|
METHOD constructor.
|
|
super->constructor( ).
|
|
mv_reason = iv_reason.
|
|
ENDMETHOD.
|
|
|
|
METHOD get_reason.
|
|
rv_reason = mv_reason.
|
|
ENDMETHOD.
|
|
|
|
METHOD get_message.
|
|
CASE mv_reason.
|
|
WHEN c_reason-no_job_id.
|
|
rv_message = 'The job ID is missing.'.
|
|
WHEN c_reason-bad_mode.
|
|
rv_message = 'The calculation mode is not valid.'.
|
|
WHEN c_reason-bad_hours.
|
|
rv_message = 'The work hours are not valid.'.
|
|
WHEN c_reason-bad_count.
|
|
rv_message = 'The part count is not valid.'.
|
|
WHEN c_reason-bad_group.
|
|
rv_message = 'The material group is not valid.'.
|
|
WHEN c_reason-bad_date.
|
|
rv_message = 'The due date is not valid.'.
|
|
WHEN c_reason-bad_value.
|
|
rv_message = 'The material value is not valid.'.
|
|
WHEN OTHERS.
|
|
rv_message = 'The job is not valid.'.
|
|
ENDCASE.
|
|
ENDMETHOD.
|
|
ENDCLASS.
|