ABAP

::DUMP Solution:: ITAB_ILLEGAL_SORT_ORDER

soso1.gram 2022. 6. 17. 13:27

Runtime Error ITAB_ILLEGAL_SORT_ORDER


Sort 또는 Style 테이블에 데이터를 쌓을 때 알파벳순으로 데이터가 쌓이지 않을 경우 발생했던 에러이다
Dump occured when not to append a data alphabetically for sort & style table

 

덤프가 났던 구조체들의 구조는 이렇다
This is components of the strutures when dump occures


Solution

Fieldname에 필드명을 추가 할 때 알파벳 순으로 행을 추가 하면 된다

Solution is to append a data by alphabetically to 'FIELDNAME'

  DEFINE __MODIFY_STYLE.
    CLEAR: LS_STYL.

    LS_STYL-FIELDNAME = &1.
    LS_STYL-STYLE     = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED. " MC_STYLE_DISABLED

    APPEND LS_STYL TO LT_STYL. " Append ascending
  END-OF-DEFINITION.

  LOOP AT GT_DATA2 ASSIGNING <FS_DATA>.
    CASE GV_EDIT.
      WHEN 1.
        CASE <FS_DATA>-CHECK.
          WHEN 'I'.
            __MODIFY_STYLE: 'CITY',
                            'COUNTRY',
                            'EMAIL',
                            'ID',
                            'NAME',
                            'REGION',
                            'SMOKER',
                            'STREET',
                            'TELEPHONE'.
            " C or SPACE
          WHEN OTHERS.
            __MODIFY_STYLE: 'CITY',
                            'COUNTRY',
                            'EMAIL',
                            'NAME',
                            'REGION',
                            'SMOKER',
                            'STREET',
                            'TELEPHONE'.

        ENDCASE.
    ENDCASE.
더보기

  DEFINE __MODIFY_STYLE.
    CLEARLS_STYL.

    LS_STYL-FIELDNAME &1.
    LS_STYL-STYLE     CL_GUI_ALV_GRID=>MC_STYLE_ENABLED" MC_STYLE_DISABLED

    APPEND LS_STYL TO LT_STYL" Append ascending
  END-OF-DEFINITION.

  LOOP AT GT_DATA2 ASSIGNING <FS_DATA>.
    CASE GV_EDIT.
      WHEN 1.
        CASE <FS_DATA>-CHECK.
          WHEN 'I'.
            __MODIFY_STYLE'CITY',
                            'COUNTRY',
                            'EMAIL',
                            'ID',
                            'NAME',
                            'REGION',
                            'SMOKER',
                            'STREET',
                            'TELEPHONE'.
            " C or SPACE
          WHEN OTHERS.
            __MODIFY_STYLE'CITY',
                            'COUNTRY',
                            'EMAIL',
                            'NAME',
                            'REGION',
                            'SMOKER',
                            'STREET',
                            'TELEPHONE'.

        ENDCASE.
    ENDCASE.

 

반응형