메뉴 건너뛰기

SAP 한국 커뮤니티

안녕하세요 초보 ABAP 개발자입니다.

 

기존에 REUSE_ALV_GRID_DISPLAY' 으로 구현된 ALV 에서 CELL 값 변경시 해당 CELL의 값을 체크해서 색상을 변경 시킬려고 하는데 잘 되지 않아 질문드립니다.

 

 

*----- TYPE-POOLS
TYPE-POOLS SLIS.

 

 

*----- LIST VIEWER
DATA EVENTCAT TYPE SLIS_T_EVENT WITH HEADER LINE,
       SELFIELD TYPE SLIS_SELFIELD.
DATA FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
       FIELDCAT_2 TYPE SLIS_T_FIELDCAT_ALV,
       FIELDCAT_IN LIKE LINE OF FIELDCAT,
       FIELDCAT_IN2 LIKE LINE OF FIELDCAT.
DATA SORT TYPE SLIS_T_SORTINFO_ALV,
       SORT_IN LIKE LINE OF SORT .
DATA COL_POS TYPE I,
       G_LAYOUT_S  TYPE SLIS_LAYOUT_ALV .

 

**********************************************************************

FORM START_GRID_DISPLAY .
  GS_GRIDSET-EDT_CLL_CB 'X'.
  G_LAYOUT_S-COLTAB_FIELDNAME 'CELLSCOL'.

*  CLEAR GV_DCHECK .
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM       SY-REPID
      I_CALLBACK_PF_STATUS_SET 'SET_PF_STATUS'
      I_CALLBACK_USER_COMMAND  'USER_COMMAND'
      I_GRID_SETTINGS          GS_GRIDSET
      IS_LAYOUT                G_LAYOUT_S
      I_DEFAULT                'X'
      I_SAVE                   'A'
      IS_VARIANT               ALV_VARIANT
      IT_EVENTS                GT_EVENTS[]
      IT_FIELDCAT              FIELDCAT
      IT_SORT                  SORT
    TABLES
      T_OUTTAB                 IT_LT[].
  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

 

 

******************************************************************************

FORM MARK_CHANGED_A USING
RR_DATA_CHANGED TYPE REF TO CL_ALV_CHANGED_DATA_PROTOCOL
RS_MOD_CELLS TYPE LVC_S_MODI.

 

DATA P_SELFIELD TYPE SLIS_SELFIELD.

READ TABLE IT_LT INDEX RS_MOD_CELLS-ROW_ID.

 

  IF GV_PAN1   NE IT_LT-FOB.
    CLEAR GS_SCOL.
    GS_SCOL-FNAME 'PAN'.
    GS_SCOL-COLOR-COL 6.
*          GS_SCOL-COLOR-INT = 0.
    GS_SCOL-COLOR-INV 1.

    APPEND GS_SCOL TO GT_SCOL.

    INSERT LINES OF GT_SCOL INTO TABLE IT_LT-CELLSCOL.

    MODIFY IT_LT INDEX  RS_MOD_CELLS-ROW_ID.

    CALL METHOD RR_DATA_CHANGED->MODIFY_CELL
      EXPORTING
        I_ROW_ID    RS_MOD_CELLS-ROW_ID
        I_FIELDNAME 'CELLSCOL'
        I_VALUE     GT_SCOL..

    REFRESH GT_SCOL.

    PERFORM USER_COMMAND USING 'RE' P_SELFIELD. -> 강제 REFRESH

  ENDIF.

********************************************************************

FORM USER_COMMAND USING R_UCOMM TYPE SY-UCOMM
                        LS_SELFIELD  TYPE SLIS_SELFIELD .

  DATA LS_SELFIELD1 TYPE SLIS_SELFIELD.



  CASE R_UCOMM.
    WHEN '&IC1'.
    WHEN 'INS' .
      CLEAR IT_LT .

     IT_LT-ZHOSNM   P_ZHOSNM .
      IT_LT-AEDAT    P_AEDAT .
      IT_LT-PTEXT    GV_PTEXT .
      APPEND IT_LT .

      LS_SELFIELD-REFRESH 'X'.
      LS_SELFIELD-COL_STABLE 'X'.
      LS_SELFIELD-ROW_STABLE 'X'.
    WHEN 'DEL'.
      DELETE IT_LT WHERE MARK 'X'.
      IF SY-SUBRC <> .
        MESSAGE E000 WITH TEXT-013 .
      ENDIF .

      LS_SELFIELD-REFRESH 'X'.
      LS_SELFIELD-COL_STABLE 'X'.
      LS_SELFIELD-ROW_STABLE 'X'.

    WHEN OTHERS.
      LS_SELFIELD-REFRESH 'X'.
      LS_SELFIELD-COL_STABLE 'X'.
      LS_SELFIELD-ROW_STABLE 'X'.
  ENDCASE .
ENDFORM .                    "USER_COMMAND

 

이런식으로 구현해봤는데 반영이 되질 않습니다.ㅠㅠ

 

고수님들 도움 부탁드리겠습니다.

번호 제목 글쓴이 날짜 조회 수
6447 <img src=3.gif border=0>mes table 로 인서트 중 dump 가 발생했습니다 [4] 아밥어렵네요 2009.04.15 7698
6446 [요청]최대값 구하기 [10] 풍뎅이 2007.11.23 7569
6445 [요청]덤프에럽니다. 평소에 쓰는 alv 프로그램 똑같은 형식을 사용해서 alv프로그램을 만들어줬는데요. [2] 아밥걸 2008.07.09 7494
6444 <b>[완료]</b>Class ALV에서요....TOP-OF-PAGE할려면요?? [4] 복만돌이 2008.07.01 7247
6443 <img src=3.gif>CTS 릴리즈 취소하는 방법 좀 알려주세요. [3] 기쁨 2011.01.26 7157
6442 <img src=3.gif><img src=1.gif>SUBMIT 구문을 이용하지 않고 화면의 SPOOL 번호 구하는 방법은 없나요?? 튀밥 2010.04.28 7147
6441 <img src=1.gif>SQL HINT절 (%_HINTS ORACLE'&max_in_blocking_factor 40&'.) 에 대해 질문드립니다. [5] 아밥 2010.03.16 7074
6440 <b>[완료]</b>LVC_FIELDCATALOG_MERGE 펑션에 대한 문의 [5] 박상우 2008.07.28 7064
6439 [요청]왕기초질문 LEFT OUTER JOIN [4] 벤또 2007.12.10 7053
6438 ALV 마이너스 부호 앞으로 옮기기 [1] 모포 2019.07.04 7041
6437 <b>[완료]%_hints oracle 'ORDERED USE_NL (T_00 T_01) INDEX (T_00 "ZPP0010T~Z03")'. 어떻게해석하나요?</b> [7] file 하오 2009.02.20 7039
6436 reuse_alv_grid_display 에서 data_change 후에 alv에 refresh하여 뿌리는 방법 좀 부탁드립니다. 리코보코 2020.09.18 7030
6435 4. include structure~ [1] file sapjoy 2007.02.27 7018
6434 <b>[완료]</b>select count(*) 구문이 어떤 구문인가요?? [6] bd 2008.05.15 7017
6433 <img src=3.gif>소수점 이하 0 지우기 (소수점 값이 없는 부분만 ) [5] 짭군 2009.11.09 6962
6432 [질문]인터널테이블 복사하는 방법은? [4] 나도아밥퍼 2007.05.19 6886
6431 <b>[완료]</b>chain과 endchain의 쓰임새를 정확히 알고싶습니다. LOOP AT IT_ZCATPSTCD. [8] SD2 2008.04.14 6812
6430 [요청]number_get_next 함수 사용법이 궁금합니다. [4] copine 2009.03.24 6737
6429 <b>[완료]</b>CURRENCY 변환 FUNCTION 사용법에 대하여 질문있습니다. [4] with SAP 2007.12.28 6707
6428 [re] Maintenance view에 sort 기능 추가? [8] sapjoy 2006.12.13 6680