Skip to content

Commit

Permalink
zcl_excel_style_number_format: refactor macro to method (#818)
Browse files Browse the repository at this point in the history
* zcl_excel_style_number_format: refactor macro to method

* fix whitespace
  • Loading branch information
larshp committed Oct 6, 2021
1 parent 1076b86 commit e0052bb
Showing 1 changed file with 48 additions and 46 deletions.
94 changes: 48 additions & 46 deletions src/zcl_excel_style_number_format.clas.abap
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,10 @@ CLASS zcl_excel_style_number_format DEFINITION
*"* do not include other source files here!!!
PROTECTED SECTION.
PRIVATE SECTION.
CLASS-METHODS add_format
IMPORTING
id TYPE string
code TYPE zexcel_number_format.
*"* private components of class ZCL_EXCEL_STYLE_NUMBER_FORMAT
*"* do not include other source files here!!!
ENDCLASS.
Expand All @@ -98,57 +102,55 @@ ENDCLASS.

CLASS zcl_excel_style_number_format IMPLEMENTATION.

METHOD add_format.
DATA ls_num_format LIKE LINE OF mt_built_in_num_formats.
ls_num_format-id = id.
CREATE OBJECT ls_num_format-format.
ls_num_format-format->format_code = code.
INSERT ls_num_format INTO TABLE mt_built_in_num_formats.
ENDMETHOD.

METHOD class_constructor.

DATA: ls_num_format LIKE LINE OF mt_built_in_num_formats.

DEFINE predefined_format.
ls_num_format-id = &1.
CREATE OBJECT ls_num_format-format.
ls_num_format-format->format_code = &2.
INSERT ls_num_format INTO TABLE mt_built_in_num_formats.
END-OF-DEFINITION.

CLEAR mt_built_in_num_formats.

predefined_format '1' zcl_excel_style_number_format=>c_format_number. " '0'.
predefined_format '2' zcl_excel_style_number_format=>c_format_number_00. " '0.00'.
predefined_format '3' zcl_excel_style_number_format=>c_format_number_comma_sep0. " '#,##0'.
predefined_format '4' zcl_excel_style_number_format=>c_format_number_comma_sep1. " '#,##0.00'.
predefined_format '5' zcl_excel_style_number_format=>c_format_currency_simple. " '$#,##0_);($#,##0)'.
predefined_format '6' zcl_excel_style_number_format=>c_format_currency_simple_red. " '$#,##0_);[Red]($#,##0)'.
predefined_format '7' zcl_excel_style_number_format=>c_format_currency_simple2. " '$#,##0.00_);($#,##0.00)'.
predefined_format '8' zcl_excel_style_number_format=>c_format_currency_simple_red2. " '$#,##0.00_);[Red]($#,##0.00)'.
predefined_format '9' zcl_excel_style_number_format=>c_format_percentage. " '0%'.
predefined_format '10' zcl_excel_style_number_format=>c_format_percentage_00. " '0.00%'.
predefined_format '11' zcl_excel_style_number_format=>c_format_scientific. " '0.00E+00'.
predefined_format '12' zcl_excel_style_number_format=>c_format_fraction_1. " '# ?/?'.
predefined_format '13' zcl_excel_style_number_format=>c_format_fraction_2. " '# ??/??'.
predefined_format '14' zcl_excel_style_number_format=>c_format_date_xlsx14. "'m/d/yyyy'. <-- should have been 'mm-dd-yy' like constant in zcl_excel_style_number_format
predefined_format '15' zcl_excel_style_number_format=>c_format_date_xlsx15. "'d-mmm-yy'.
predefined_format '16' zcl_excel_style_number_format=>c_format_date_xlsx16. "'d-mmm'.
predefined_format '17' zcl_excel_style_number_format=>c_format_date_xlsx17. "'mmm-yy'.
predefined_format '18' zcl_excel_style_number_format=>c_format_date_time1. " 'h:mm AM/PM'.
predefined_format '19' zcl_excel_style_number_format=>c_format_date_time2. " 'h:mm:ss AM/PM'.
predefined_format '20' zcl_excel_style_number_format=>c_format_date_time3. " 'h:mm'.
predefined_format '21' zcl_excel_style_number_format=>c_format_date_time4. " 'h:mm:ss'.
predefined_format '22' zcl_excel_style_number_format=>c_format_date_xlsx22. " 'm/d/yyyy h:mm'.


predefined_format '37' zcl_excel_style_number_format=>c_format_xlsx37. " '#,##0_);(#,##0)'.
predefined_format '38' zcl_excel_style_number_format=>c_format_xlsx38. " '#,##0_);[Red](#,##0)'.
predefined_format '39' zcl_excel_style_number_format=>c_format_xlsx39. " '#,##0.00_);(#,##0.00)'.
predefined_format '40' zcl_excel_style_number_format=>c_format_xlsx40. " '#,##0.00_);[Red](#,##0.00)'.
predefined_format '41' zcl_excel_style_number_format=>c_format_xlsx41. " '_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)'.
predefined_format '42' zcl_excel_style_number_format=>c_format_xlsx42. " '_($* #,##0_);_($* (#,##0);_($* "-"_);_(@_)'.
predefined_format '43' zcl_excel_style_number_format=>c_format_xlsx43. " '_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)'.
predefined_format '44' zcl_excel_style_number_format=>c_format_xlsx44. " '_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)'.
predefined_format '45' zcl_excel_style_number_format=>c_format_date_xlsx45. " 'mm:ss'.
predefined_format '46' zcl_excel_style_number_format=>c_format_date_xlsx46. " '[h]:mm:ss'.
predefined_format '47' zcl_excel_style_number_format=>c_format_date_xlsx47. " 'mm:ss.0'.
predefined_format '48' zcl_excel_style_number_format=>c_format_special_01. " '##0.0E+0'.
predefined_format '49' zcl_excel_style_number_format=>c_format_text. " '@'.
add_format( id = '1' code = zcl_excel_style_number_format=>c_format_number ). " '0'.
add_format( id = '2' code = zcl_excel_style_number_format=>c_format_number_00 ). " '0.00'.
add_format( id = '3' code = zcl_excel_style_number_format=>c_format_number_comma_sep0 ). " '#,##0'.
add_format( id = '4' code = zcl_excel_style_number_format=>c_format_number_comma_sep1 ). " '#,##0.00'.
add_format( id = '5' code = zcl_excel_style_number_format=>c_format_currency_simple ). " '$#,##0_);($#,##0)'.
add_format( id = '6' code = zcl_excel_style_number_format=>c_format_currency_simple_red ). " '$#,##0_);[Red]($#,##0)'.
add_format( id = '7' code = zcl_excel_style_number_format=>c_format_currency_simple2 ). " '$#,##0.00_);($#,##0.00)'.
add_format( id = '8' code = zcl_excel_style_number_format=>c_format_currency_simple_red2 ). " '$#,##0.00_);[Red]($#,##0.00)'.
add_format( id = '9' code = zcl_excel_style_number_format=>c_format_percentage ). " '0%'.
add_format( id = '10' code = zcl_excel_style_number_format=>c_format_percentage_00 ). " '0.00%'.
add_format( id = '11' code = zcl_excel_style_number_format=>c_format_scientific ). " '0.00E+00'.
add_format( id = '12' code = zcl_excel_style_number_format=>c_format_fraction_1 ). " '# ?/?'.
add_format( id = '13' code = zcl_excel_style_number_format=>c_format_fraction_2 ). " '# ??/??'.
add_format( id = '14' code = zcl_excel_style_number_format=>c_format_date_xlsx14 ). "'m/d/yyyy'. <-- should have been 'mm-dd-yy' like constant in zcl_excel_style_number_format
add_format( id = '15' code = zcl_excel_style_number_format=>c_format_date_xlsx15 ). "'d-mmm-yy'.
add_format( id = '16' code = zcl_excel_style_number_format=>c_format_date_xlsx16 ). "'d-mmm'.
add_format( id = '17' code = zcl_excel_style_number_format=>c_format_date_xlsx17 ). "'mmm-yy'.
add_format( id = '18' code = zcl_excel_style_number_format=>c_format_date_time1 ). " 'h:mm AM/PM'.
add_format( id = '19' code = zcl_excel_style_number_format=>c_format_date_time2 ). " 'h:mm:ss AM/PM'.
add_format( id = '20' code = zcl_excel_style_number_format=>c_format_date_time3 ). " 'h:mm'.
add_format( id = '21' code = zcl_excel_style_number_format=>c_format_date_time4 ). " 'h:mm:ss'.
add_format( id = '22' code = zcl_excel_style_number_format=>c_format_date_xlsx22 ). " 'm/d/yyyy h:mm'.


add_format( id = '37' code = zcl_excel_style_number_format=>c_format_xlsx37 ). " '#,##0_);(#,##0)'.
add_format( id = '38' code = zcl_excel_style_number_format=>c_format_xlsx38 ). " '#,##0_);[Red](#,##0)'.
add_format( id = '39' code = zcl_excel_style_number_format=>c_format_xlsx39 ). " '#,##0.00_);(#,##0.00)'.
add_format( id = '40' code = zcl_excel_style_number_format=>c_format_xlsx40 ). " '#,##0.00_);[Red](#,##0.00)'.
add_format( id = '41' code = zcl_excel_style_number_format=>c_format_xlsx41 ). " '_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)'.
add_format( id = '42' code = zcl_excel_style_number_format=>c_format_xlsx42 ). " '_($* #,##0_);_($* (#,##0);_($* "-"_);_(@_)'.
add_format( id = '43' code = zcl_excel_style_number_format=>c_format_xlsx43 ). " '_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)'.
add_format( id = '44' code = zcl_excel_style_number_format=>c_format_xlsx44 ). " '_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)'.
add_format( id = '45' code = zcl_excel_style_number_format=>c_format_date_xlsx45 ). " 'mm:ss'.
add_format( id = '46' code = zcl_excel_style_number_format=>c_format_date_xlsx46 ). " '[h]:mm:ss'.
add_format( id = '47' code = zcl_excel_style_number_format=>c_format_date_xlsx47 ). " 'mm:ss.0'.
add_format( id = '48' code = zcl_excel_style_number_format=>c_format_special_01 ). " '##0.0E+0'.
add_format( id = '49' code = zcl_excel_style_number_format=>c_format_text ). " '@'.

ENDMETHOD.

Expand Down

0 comments on commit e0052bb

Please sign in to comment.