메뉴 건너뛰기

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


 

번호 제목 글쓴이 날짜 조회 수
2753 [요청]Native SQL 관한 질문입니다~~~~~ [3] 阿坝 2008.12.03 2192
2752 <b>[완료]</b>탐색도움말 사용시 결과값이 아닌 조회조건이 먼저 나타나다록 하는 방법 [2] 준서기 2008.12.03 1304
2751 <b>[완료]</b>두개의 스크린에서 하나의 스크롤바로 둘다 움직일 수 있는지 알고 싶습니다. [2] file 피콜레티 2008.12.03 1209
2750 <b>[완료]</b>[SE09] Request No 이동(Merge) 가능한가요 [4] file 김지성 2008.12.03 2514
2749 [요청]CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' [4] chanmaniac 2008.12.03 2403
2748 [요청]SAP 내에 파일이 어디에 저장되는 지 궁금해서 질문올립니다. [3] 아밥걸 2008.12.02 1550
2747 <b>[완료]</b>수정가능 속성이 일부분 있는 GRID REFRESH 방법이 궁금합니다. [2] 또길 2008.12.02 1622
2746 <b>[완료]</b>특정한 법인의 코드가 들어갔을때 그 법인에 필요하지 않는 REASON코드는 보이지 않도록 하는방법좀 없을까요?? 쭈니 2008.12.02 1300
» <b>[완료]</b>테이블 컨트롤 특정필드 활성화에 관한 질문입니다. [7] file 튀밥 2008.12.02 2952
2744 [요청]파일명 더블클릭하면 파일 바로 뜰 수있게 하는방법 있을까요?? [2] 아밥걸 2008.12.02 1192
2743 [요청]다급합니다 도와주십시요 클래스 이벤트관련 문의사항입니다. [1] 기본도없는초보 2008.12.01 1239
2742 [요청]Class 사용하여 ALV Grid 띄워줄때 질문입니다. [6] im 해성 2008.12.01 1503
2741 <b>[완료]</b>PARAMETERS로 선언된 변수값이 특정이벤트에선 보이지 않습니다. [4] abap 2008.12.01 1520
2740 <b>[완료]</b>TABLE CONTROL 관련 질문입니다. [2] file 튀밥 2008.12.01 1526
2739 [요청]alv트리에서 노트 클릭시 옵티마이저 이벤트 관련해서 문의드립니다. 기본도없는초보 2008.12.01 1832
2738 [요청]넷위버 7.0 트라이버젼 라이센스 등록에 관해(급질문) [1] file 앙리 2008.12.01 1294
2737 <b>[완료]</b>Easy abap 교책 242 Macro 질문입니다. [4] abap 2008.11.30 1498
2736 <b>[완료]</b>ALV 조회 후 Export / Local File 클릭 시 에러 [2] file 다크호스 2008.11.29 4137
2735 <b>[완료]</b>정말 간단한 질문이 있습니다. (program package 생성) [2] 레지 2008.11.29 1101
2734 <b>[완료]</b>두개의 레코드를 하나의 레코드로 머지하려면 어떤 방법이 있는지요? [2] 기쁨 2008.11.29 1415