메뉴 건너뛰기

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


 

번호 제목 글쓴이 날짜 조회 수
2759 [요청]Field symbol 실행과 관련해서 문의드립니다...^^:; [2] 우락부락 2008.12.04 1314
2758 [요청]CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'에 관한 질문입니다~ [2] 阿坝 2008.12.04 1375
2757 [요청]완전초보에여~ 도와주세여 푸쉬버튼.. [4] 세르지오 2008.12.03 1836
2756 [요청]TABLE CONTROL에 관한 질문입니다 call transaction하는데 문제가... [1] Gerrard 2008.12.04 1550
2755 <b>[완료]</b>테이블 컨트롤에서 스크롤관련 질문입니다. [4] file 튀밥 2008.12.03 1596
2754 <b>[완료]</b>MODIFY랑 DELETE 하는 방식 중에 궁금한 것이 하나있습니다 [7] Gerrard 2008.12.03 1399
2753 [요청]Native SQL 관한 질문입니다~~~~~ [3] 阿坝 2008.12.03 2244
2752 <b>[완료]</b>탐색도움말 사용시 결과값이 아닌 조회조건이 먼저 나타나다록 하는 방법 [2] 준서기 2008.12.03 1314
2751 <b>[완료]</b>두개의 스크린에서 하나의 스크롤바로 둘다 움직일 수 있는지 알고 싶습니다. [2] file 피콜레티 2008.12.03 1222
2750 <b>[완료]</b>[SE09] Request No 이동(Merge) 가능한가요 [4] file 김지성 2008.12.03 2520
2749 [요청]CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' [4] chanmaniac 2008.12.03 2421
2748 [요청]SAP 내에 파일이 어디에 저장되는 지 궁금해서 질문올립니다. [3] 아밥걸 2008.12.02 1598
2747 <b>[완료]</b>수정가능 속성이 일부분 있는 GRID REFRESH 방법이 궁금합니다. [2] 또길 2008.12.02 1650
2746 <b>[완료]</b>특정한 법인의 코드가 들어갔을때 그 법인에 필요하지 않는 REASON코드는 보이지 않도록 하는방법좀 없을까요?? 쭈니 2008.12.02 1303
» <b>[완료]</b>테이블 컨트롤 특정필드 활성화에 관한 질문입니다. [7] file 튀밥 2008.12.02 3011
2744 [요청]파일명 더블클릭하면 파일 바로 뜰 수있게 하는방법 있을까요?? [2] 아밥걸 2008.12.02 1196
2743 [요청]다급합니다 도와주십시요 클래스 이벤트관련 문의사항입니다. [1] 기본도없는초보 2008.12.01 1245
2742 [요청]Class 사용하여 ALV Grid 띄워줄때 질문입니다. [6] im 해성 2008.12.01 1548
2741 <b>[완료]</b>PARAMETERS로 선언된 변수값이 특정이벤트에선 보이지 않습니다. [4] abap 2008.12.01 1528
2740 <b>[완료]</b>TABLE CONTROL 관련 질문입니다. [2] file 튀밥 2008.12.01 1529