메뉴 건너뛰기

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


 

번호 제목 글쓴이 날짜 조회 수
2767 [요청]refresh_table_display와 cl_gui_cfw=>flush 의 차이점에대해서 알고싶습니다 [3] 고양이야옹 2008.12.04 6029
2766 <b>[완료]</b>between관련 문의 입니다.급해서요 [2] 쭈니 2008.12.04 2569
2765 [요청]alv에서 다중선택시 한필드별로 정렬된 값중 하나의 라인만 선택하게 하는 방법 문의.. [1] hogun 2008.12.04 2285
2764 <b>[완료]</b>ABAP 개발 중국어 관련 질문입니다. [4] Mike 2008.12.04 1562
2763 [요청]스크린에서 테이블 컨트로 하는거 관련 질문입니다... [1] 도련님 2008.12.04 996
2762 [요청]SELECTION-SCREEN 등등.. 질문입니다. [3] 원더걸 2008.12.04 1458
2761 [요청]TAB의 Screen상에서 DB table 작업을 하고 싶습니다. ;; [1] 처절자취생 2008.12.04 1351
2760 [요청]동적 인터널 테이를 만들기 질문입니다. [1] abap 2008.12.03 1540
2759 [요청]Field symbol 실행과 관련해서 문의드립니다...^^:; [2] 우락부락 2008.12.04 1319
2758 [요청]CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'에 관한 질문입니다~ [2] 阿坝 2008.12.04 1383
2757 [요청]완전초보에여~ 도와주세여 푸쉬버튼.. [4] 세르지오 2008.12.03 1841
2756 [요청]TABLE CONTROL에 관한 질문입니다 call transaction하는데 문제가... [1] Gerrard 2008.12.04 1554
2755 <b>[완료]</b>테이블 컨트롤에서 스크롤관련 질문입니다. [4] file 튀밥 2008.12.03 1599
2754 <b>[완료]</b>MODIFY랑 DELETE 하는 방식 중에 궁금한 것이 하나있습니다 [7] Gerrard 2008.12.03 1405
2753 [요청]Native SQL 관한 질문입니다~~~~~ [3] 阿坝 2008.12.03 2344
2752 <b>[완료]</b>탐색도움말 사용시 결과값이 아닌 조회조건이 먼저 나타나다록 하는 방법 [2] 준서기 2008.12.03 1322
2751 <b>[완료]</b>두개의 스크린에서 하나의 스크롤바로 둘다 움직일 수 있는지 알고 싶습니다. [2] file 피콜레티 2008.12.03 1242
2750 <b>[완료]</b>[SE09] Request No 이동(Merge) 가능한가요 [4] file 김지성 2008.12.03 2547
2749 [요청]CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' [4] chanmaniac 2008.12.03 2445
2748 [요청]SAP 내에 파일이 어디에 저장되는 지 궁금해서 질문올립니다. [3] 아밥걸 2008.12.02 1682