SAP ABAP 100번화면 Application toolbar 버튼 활성/ 비활성화 방법


100번 화면에서 어플리케이션 툴바를 비활성화 하는 방법

상황에 맞게 100번 screen의 버튼을 활성화 하거나 비활성화 하고자 한다.

일반적으로 변경/수정 가능한 버튼을 숨길 때 많이 사용한다.

먼저 STATUS에서 전체 버튼을 만들어 준다.



-> 숨길 버튼 포함하여 컨트롤해줄 버튼까지 만들어 준다.



그럼 이렇게 총 3개의 버튼이 생기고, 가위 표시를 누르면 




나머지 두개의 버튼이 숨겨진다.





TOP 부분 데이터 선언

DATAg_tbar TYPE TABLE OF sy-ucomm,
      g_check TYPE C.

해당 부분을 활성화 하기 위해서는 먼저 DATA 선언을 해준다.
버튼을 눌렀을때 툴바를 컨트롤 해줄 것이기 때문에 SY-UCOMM으로 선언해준다.

주의해야 할 점은 테이블 타입으로 선언해주어야 한다는 것이다.



 
가위 버튼이 눌려졌을 때 컨트롤을 할 것이므로 PAI 에서  G_CHECK에 'X'를 체크해준다.



REFRESH g_tbar.

  IF g_check 'X'.
    APPEND 'CHAN' TO g_tbar"
    APPEND 'SAVE' TO g_tbar
  ENDIF.

  SET PF-STATUS 'STATUS_0100' EXCLUDING g_tbar .
  SET TITLEBAR  'TITLE_0100' .


PBO에서 G_CHECK 값으로 로직을 짜주면 된다.

'X' 일때 CHAN과 SAVE를  g_TBAR에 넣어서 EXCLUDING해준다.

반대로 버튼을 눌렀을 때 버튼을 활성화 하고 싶다면 G_CHECK에 디폴트로 'X'값을 넣어주고 가위 버튼일 눌릴때 ' ' 를 넣어주거나, g_check가 initial일때 어펜드 하는 식으로 로직을 변경해주면 된다.

      IF G_CHECK IS INITIAL.
        G_CHECK 'X'.

      ELSE.
        CLEAR G_CHECK.
      ENDIF.

여기서 또 주의할점은 g_check와 g_tbar을 제때 clear해주어야 지속적으로 반영이 된다.







다음 이전