SAP/ABAP 코드

(ABAP 코드) DATA_CHANGED_FINISHED

haramang 2022. 1. 25. 22:11

FORM data_changed_finished  USING    pe_modified TYPE char01
                                     pt_good_cells TYPE lvc_t_modi.

  DATAls_modi TYPE lvc_s_modi.
  DATALS_SCOL TYPE LVC_S_SCOL.
  DATALS_STYL TYPE LVC_S_STYL.

  CLEARls_modigs_flight_tmp.

  CHECK pe_modified IS NOT INITIAL.

  gv_changed 'X'.

  LOOP AT pt_good_cells INTO ls_modi.
    READ TABLE gt_flight_tmp INTO gs_flight_tmp INDEX ls_modi-row_id.

    IF gs_flight_tmp-id EQ icon_red_light.
      CLEAR gs_flight_tmp-conf.
    ENDIF.

    IF GS_FLIGHT_TMP-ID EQ ICON_GREEN_LIGHT.
      GS_FLIGHT_TMP-CHANGE 'X'.
      LOOP AT GS_FLIGHT_TMP-CELLSTYL INTO LS_STYL.
        CASE LS_STYL-FIELDNAME.
          WHEN 'BNAME'    OR
               'FLDATE'   OR
               'CARRID'   OR
               'CITYFROM' OR
               'CITYTO'   OR
               'PRICE'.
            LS_STYL-STYLE CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.
        ENDCASE.

        MODIFY GS_FLIGHT_TMP-CELLSTYL FROM LS_STYL.
        CLEAR LS_STYL.
      ENDLOOP.
    ENDIF.

    IF GS_FLIGHT_TMP-ID EQ ICON_YELLOW_LIGHT.
      LOOP AT GS_FLIGHT_TMP-CELLSTYL INTO LS_STYL.
        CASE LS_STYL-FIELDNAME.
          WHEN 'BNAME'    OR
               'FLDATE'   OR
               'CARRID'   OR
               'CITYFROM' OR
               'CITYTO'   OR
               'PRICE'.
            LS_STYL-STYLE CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.
        ENDCASE.

        MODIFY GS_FLIGHT_TMP-CELLSTYL FROM LS_STYL.
        CLEAR LS_STYL.
      ENDLOOP.
    ENDIF.

    GS_FLIGHT_TMP-SEATS '좌석'.
    MODIFY gt_flight_tmp FROM gs_flight_tmp INDEX ls_modi-row_id.

    CLEAR gs_flight_tmp.
  ENDLOOP.

  PERFORM refresh_grid USING go_grid.

ENDFORM.