abap-file-formats-tools icon indicating copy to clipboard operation
abap-file-formats-tools copied to clipboard

Delete enum related logic

Open larshp opened this issue 3 years ago • 7 comments
trafficstars

the abap-file-formats is in 702 syntax, so enums are out of scope?

suggest deleting the related logic in this repository, less code is easier to get running, plus ENUMS in ABAP is a mess...

larshp avatar Apr 20 '22 09:04 larshp

looks like some is used for internal logic

  TYPES:
    BEGIN OF ENUM enum_formatting_option STRUCTURE formatting_option,
      no_formatting VALUE IS INITIAL,
      camel_case    VALUE 1,
    END OF ENUM enum_formatting_option STRUCTURE formatting_option,

    BEGIN OF ENUM enum_type_info STRUCTURE type_info,
      string,
      numeric,
      boolean,
      date_time,
    END OF ENUM enum_type_info STRUCTURE type_info,

    BEGIN OF ENUM enum_operation STRUCTURE operation,
      initial,
      write_element,
      open_structure,
      close_structure,
      open_table,
      close_table,
    END OF ENUM enum_operation STRUCTURE operation.

and some, is external facing logic which is not needed?

      get_enum_values
        IMPORTING element_name        TYPE string
                  element_description TYPE REF TO cl_abap_elemdescr
        RETURNING VALUE(result)       TYPE string_table
        RAISING
                  zcx_aff_tools,

      get_enum_descriptions
        IMPORTING element_name        TYPE string
                  element_description TYPE REF TO cl_abap_elemdescr
        RETURNING VALUE(result)       TYPE string_table,

larshp avatar Apr 21 '22 05:04 larshp

was hoping not to downport ENUMs but guess I'll add that, work work 🚈

larshp avatar Apr 21 '22 05:04 larshp

testcase, can be removed, out of scope?

  METHOD enum_element.
*  base type / base structure/ ohne (integer)
    TYPES:
      BEGIN OF ENUM category,
        general ##NEEDED,
        classic_badi ##NEEDED,
      END OF ENUM category.

larshp avatar Apr 21 '22 05:04 larshp

This is two fold (both to be removed!):

  • [ ] We allow ENUMs to be parsed. This can be removed, because as you said: It is out-of-scope.
  • [ ] ~~Internal logic is somehow based on ENUMs e.g. here and it can be replaced by constants.~~ See comment below

albertmink avatar Apr 21 '22 11:04 albertmink

keep the internal logic as is, I implemented automatic downport of ENUMS to constants earlier today,

image

larshp avatar Apr 21 '22 11:04 larshp

So (hypothetically) I could do a downport on my local machine and copy/paste the results to the repository, right?

albertmink avatar Apr 21 '22 11:04 albertmink

yea (but in this case we want to maintain the code in the high version/ENUM)

larshp avatar Apr 21 '22 12:04 larshp