메뉴 건너뛰기

SAP 한국 커뮤니티



위 쪽에 있는 그림에서 빨간 박스에 둘려 쌓여져 있는 부분을 활성활 시키고 싶습니다.


 


즉, 행추가 버튼을 눌러 추가된 행에 사원번호를 임의로 입력하고 싶습니다.


 


그러기 위해서는 빨간 박스 부분을 활성화 시켜주어야 하는데  어떻게 해야 저부분을 활성화 시킬 수 있을까요??


 


참고로 P필드 값이 'I'로 들어간 행은 행추가 버튼을 눌러 행을 추가한 행입니다.


 


한가지 질문을 더 드리겠습니다.


 


메뉴에 있는 저장 버튼을 눌러 현재 테이블 컨트롤 상태를 데이터를 불러온 테이블인 ZSADBLO에 UPDATE하고 싶습니다.


 


' ' -> DB에서 불러온 데이터


'I' -> 행추가 버튼을 눌러 추가한 행


'U' ->DB에서 불러온 데이터가 변경되었을 때


'D' ->DB에서 불러온 데이터에 행 삭제 버튼을 눌렀을 때


 


POINT (화면상에 보이는 P 필드)에  위와 같은 조건을 주고 UPDATE 하려면 어떻게 하나요??


 


제가 생각한 것은


 


(저장버튼의 OK_CODE는 SAVE입니다.)


 


OK_CODE가 SAVE면


 


LOOP AT IT_ZSADBLO INTO WA_ZSADBLO WHERE NOT POINT IS INITIAL.


   CASE POINT


      WHEN 'I'


        INSERT 구문


      WHEN 'U'


        UPDATE 구문


      WHEN 'D'


        DLELTE 구문


ENDLOOP.


 


이렇게 해도 되는 건가요??


 


답변 부탁드리겠습니다.^^


 


아래는 소스 코드 입니다.


 


--------------------------------------------------------------------------------------------------------------


PBO


 



PROCESS BEFORE OUTPUT.


  MODULE STATUS_0100.


  MODULE SET_TC_LINES.


  LOOP AT IT_ZSADBLO INTO WA_ZSADBLO
                     WITH CONTROL TC_SADBLO.
    MODULE MARK_SEND.
  ENDLOOP.


 


 


PAI


 


PROCESS AFTER INPUT.


  MODULE EXIT AT EXIT-COMMAND.


  LOOP AT IT_ZSADBLO.


     FIELD MARK MODULE MODIFY_INFO ON REQUEST.


    CHAIN.
      FIELD :
              WA_ZSADBLO-NAME,
              WA_ZSADBLO-POINT,
              WA_ZSADBLO-AGE,
              WA_ZSADBLO-SAPART,
              WA_ZSADBLO-SEX,
              WA_ZSADBLO-PLACE.


      MODULE MODIFY_DATA ON CHAIN-REQUEST.


    ENDCHAIN.
  ENDLOOP.



  MODULE USER_COMMAND_0100.


 


 


~TOP


 


 


*&---------------------------------------------------------------------*
*& Include MZTC_2TOP                                         모듈풀    *
*&                                                                     *
*&---------------------------------------------------------------------*


PROGRAM  SAPMZTC_2 MESSAGE-ID ZMESSAGE_SADBLO.


CONTROLS TC_SADBLO TYPE TABLEVIEW
                   USING SCREEN '0100'.


TABLES: ZSADBLO.


DATA: BEGIN OF WA_ZSADBLO,
        POINT(1),
        MARK(1),
        SANUM LIKE ZSADBLO-SANUM,
        NAME LIKE ZSADBLO-NAME,
        AGE LIKE ZSADBLO-AGE,
        SAPART LIKE ZSADBLO-SAPART,
        SEX LIKE ZSADBLO-SEX,
        PLACE LIKE ZSADBLO-PLACE,
      END OF WA_ZSADBLO.


DATA: IT_ZSADBLO LIKE TABLE OF WA_ZSADBLO.



DATA: OK_CODE LIKE SY-UCOMM,
      SAVE_OK LIKE OK_CODE.



DATA: MARK.


DATA: WA_ZSADBLO1 LIKE WA_ZSADBLO.


 


 


 


 


~O01


 


*&---------------------------------------------------------------------*
*&  Include           MZTC_2O01                                        *
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.
  SET PF-STATUS 'TITLE'.



ENDMODULE.                 " STATUS_0100  OUTPUT



*&---------------------------------------------------------------------*
*&      Module  MARK_SEND  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE MARK_SEND OUTPUT.


  MARK = WA_ZSADBLO-MARK.


ENDMODULE.                 " MARK_SEND  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  SET_TC_LINES  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE SET_TC_LINES OUTPUT.


  DESCRIBE TABLE IT_ZSADBLO LINES TC_SADBLO-LINES.


ENDMODULE.                 " SET_TC_LINES  OUTPUT


 


 


 


 


 


~I01


 


*&---------------------------------------------------------------------*
*&  Include           MZTC_2I01                                        *
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Module  EXIT  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE EXIT INPUT.


  CASE OK_CODE.
    WHEN 'BACK'.
      LEAVE TO SCREEN 0.
    WHEN 'EXIT'.
      LEAVE PROGRAM.
    WHEN 'CANCEL'.
      LEAVE TO SCREEN 0.
  ENDCASE.



ENDMODULE.                 " EXIT  INPUT
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.


  SAVE_OK = OK_CODE.
  CLEAR OK_CODE.


  CASE SAVE_OK.


    WHEN 'PLAY'.
      CLEAR OK_CODE.
      SELECT *
        INTO CORRESPONDING FIELDS OF TABLE IT_ZSADBLO
        FROM ZSADBLO.



    WHEN 'SAVE'.



    WHEN 'ADDR'.
      CLEAR WA_ZSADBLO.
      WA_ZSADBLO-POINT = 'I'.
      INSERT WA_ZSADBLO INTO TABLE IT_ZSADBLO.



    WHEN 'DELR'.


      LOOP AT IT_ZSADBLO INTO WA_ZSADBLO WHERE MARK = 'X'.
        IF WA_ZSADBLO-POINT = '' OR WA_ZSADBLO-POINT = 'U'.
          WA_ZSADBLO-POINT = 'D'.


          MODIFY IT_ZSADBLO FROM WA_ZSADBLO.



        ELSEIF WA_ZSADBLO-POINT = 'I'.
          DELETE IT_ZSADBLO WHERE MARK = 'X'.



        ENDIF.


 


      ENDLOOP.


      IF SY-SUBRC <> 0.
        MESSAGE S018.
      ENDIF.


 


  ENDCASE.


ENDMODULE.                 " USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*&      Module  MODIFY_DATA  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE MODIFY_DATA INPUT.


 



  WA_ZSADBLO-POINT = 'U'.


  MODIFY IT_ZSADBLO FROM WA_ZSADBLO
                    INDEX TC_SADBLO-CURRENT_LINE.



ENDMODULE.                 " MODIFY_DATA  INPUT
*&---------------------------------------------------------------------*
*&      Module  MODIFY_INFO  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE MODIFY_INFO INPUT.


  IF NOT MARK IS INITIAL.


    LOOP AT IT_ZSADBLO INTO WA_ZSADBLO1.
      CLEAR WA_ZSADBLO1-MARK.
      MODIFY IT_ZSADBLO FROM WA_ZSADBLO1.
    ENDLOOP.


  ENDIF.


  WA_ZSADBLO-MARK = MARK.



  MODIFY IT_ZSADBLO FROM WA_ZSADBLO
                    INDEX TC_SADBLO-CURRENT_LINE TRANSPORTING MARK.
ENDMODULE.                 " MODIFY_INFO  INPUT


 

번호 제목 글쓴이 날짜 조회 수
5835 유지보수뷰 관련 [6] 강진규 2007.08.27 2933
5834 [초급]perform연속으로 실행하려고 합니다. [1] Elijah Paul 2013.09.09 2932
» <b>[완료]</b>테이블 컨트롤 특정필드 활성화에 관한 질문입니다. [7] file 튀밥 2008.12.02 2932
5832 <img src=2.gif>[ FTP 파일 전송 ] OPEN DATASET.... 에서 권한 오류가 나네요.. [3] 맹꽁이 2010.03.31 2929
5831 <img src=2.gif>abap프로그램에서 특정 t-code 사용여부 [5] 파파 2010.01.30 2929
5830 [요청]REUSE_ALV_HIERSEQ_LIST_DISPLAY에서 EXPAND [5] file 김지성 2008.05.08 2929
5829 AL11에 있는 파일명을 바꾸고 싶어요.. [3] 김종수 2007.03.30 2929
5828 운영자님~ 홍성종 2007.02.05 2928
5827 [요청]Funtion 문의 드립니다.(오늘 날짜에서 월만 가져오기) [4] 김지성 2007.11.28 2924
5826 사용자 접속 Menu Path Log 저장 관련 문의 건 일일신 2011.07.18 2919
5825 <b>[완료]</b>SIGN, OPTION, LOW, HIGH가 대체 뭔지....ㅠㅠ [4] GETGETSAP 2009.01.23 2919
5824 혹시 SAP ECC 6.0에 대한 자료 가지고 계신분 있으세요???? [1] UKS 2007.02.28 2918
5823 [re] 운영자님~abap oop에대해서 질문입니다~ [1] file sapjoy 2007.02.05 2913
5822 <img src=3.gif>엑셀 매크로 문의(VBA에서 SAP DATA를 받아오질 못함) [2] 하얀콩 2010.07.08 2912
5821 <img src=2.gif border=0>SAP 바코드 폰트 EAN-13 출력 질문입니다. [1] 멍게 2009.07.20 2912
5820 오늘도 역시;;; 홍성종 2007.02.07 2912
5819 <b>[완료]</b>리포트화면에서 숫자값이 마이너스를 넣을 수 있습니까? [5] activeman 2008.04.02 2909
5818 [요청]se11 table에서 일련번호 자동증가 속성이 있는지? [2] 김화영 2008.02.22 2909
5817 <b>[완료]</b>Open SQL에서 Inner Join에 사용에 대해 궁금합니다. [2] 혀나미 2008.02.17 2909
5816 [re] Badis에 대해서요~ [4] 구본찬 2007.02.07 2906