메뉴 건너뛰기

SAP 한국 커뮤니티

SAP의 On-line Program에서 Double Click Event 잡는 법

Delight 2008.04.30 19:42 조회 수 : 6544 추천:5

SAP의 On-line Program에서 특정 Field에서 Double Click을 했을 때,
어느 Field에서 Double Click을 하고, Step-loop안에 있는 Field일 경우에
몇번째 Line에서 했는지 알아내는 방법입니다.


먼저 해당 Screen의 Status의 'Recommended function key settings'라고 되어있
는 부분을 보면 Default로 'Choose'라는 녀석과 함께 돋보기 모양의 Icon이 있는
line에 'PICK'라는 Function Code를 입력한 후 Generate를 하고 빠져나옵니다.


그리고, 해당 Screen의 PAI에 가서 무조건 수행될 수 밖에 없는 Module을 하나 만
듭니다.


무조건 수행될 수 밖에 없는 Module이라 함은 On-change 혹은 On-input 등을 사용
하지 않은 것을 의미합니다.


다음으로 Module내에서 GET 명령어를 사용해서 Field 명과 Line number를 알아내면
됩니다.


예)


 PROCESS BEFORE OUTPUT.


   어쩌구 저쩌구...


 PROCESS AFTER INPUT.
 
   MODULE CHECK_DOUBLE_CLICK.


   그담에 필요하 루틴들....


==================================


 MODULE CHECK_DOUBLE_CLICK INPUT.
    GET CURSOR FIELD FIELD_NAME LINE LINE_NUMBER.
    IF FIELD_NAME = 'MARA-MATNR'.
       CALL SCREEN 9100.
    ENDIF.
 ENDMODULE.


위의 Source code 대로라면 Double Click한 Field가 'MARA-MATNR'이라면


9100번 Screen을 Call하게 됩니다.


그리고, Step-loop이라면 해당 line number가 LINE_NUMBER라는 변수에 들어가게 됨.