예제 13-2 를 코딩후 activate를 하였더니 이런 오류가 발생하였습니다.
해결법을 찾지 못하고 있습니다.
댓글 7
-
sapjoy
2014.10.24 17:35
-
abapuu
2014.10.24 17:45
tabstip은 정상적으로 실행됐습니다. 프로그램 전체 activate를 해봐도 안됩니다.
-
sapjoy
2014.10.24 18:11
소스 전체를 올려주세요~
-
abapuu
2014.10.24 18:59
소스코드 첨부 했습니다.
에러가 발생하는 곳은 module USER_COMMAND_0100 input. 이곳입니다.
-
sapjoy
2014.10.24 20:04
소스 스크립트 확인해봤는데요.
include 문은 주석처리하고 아래처럼 조금 변경한후에 활성화되는것을 확인했습니다.
현상태로는 답변 드리기가 애매하네요. 책의 소스를 순서대로 차근 차근 따라 해보세요.
PROGRAM Z13_05.
CONTROLS mytabstrip TYPE TABSTRIP.
DATA : ok_code TYPE sy-ucomm,
save_ok TYPE sy-ucomm.
DATA : gv_number TYPE sy-dynnr,
gv_init TYPE c,
gv_answer type c.
TABLES : zemp.
*INCLUDE Z13_08O01.
*
*INCLUDE Z13_08I01.
call Screen 100.
module USER_COMMAND_0100 input.
save_ok = ok_code.
CLEAR ok_code.
CASE save_ok.
WHEN 'BACK' OR 'CANC'.
LEAVE PROGRAM.
WHEN 'TAB1'.
gv_number = '0110'.
mytabstrip-activetab = save_ok.
WHEN 'TAB2'.
gv_number = '0120'.
mytabstrip-activetab = save_ok.
WHEN 'CREA'.
INSERT zemp.
IF sy-subrc <> 0.
MESSAGE 'Error occured' TYPE 'E'.
ENDIF.
MESSAGE 'Sucess' TYPE 'I'.
WHEN 'CHAG'.
UPDATE zemp. "TABLE DATA UPDATE
IF sy-subrc <> 0.
MESSAGE 'Error occured' TYPE 'E'.
ENDIF.
MESSAGE 'Sucess' TYPE 'I'.
WHEN 'DISP'. "TABLE DATA DISPLAY
SELECT SINGLE * FROM zemp
WHERE emp_no = zemp-emp_no.
IF sy-subrc <> 0.
MESSAGE 'Error occured' TYPE 'E'.
ENDIF.
MESSAGE 'Sucess' TYPE 'I'.
WHEN 'DELE'.
SELECT SINGLE * FROM zemp
WHERE emp_no = zemp-emp_no.
IF sy-subrc <> 0.
MESSAGE 'Error occured' TYPE 'E'.
ELSE.
CALL FUNCTION 'POPUP_TO_CONFIRM_LOSS_OF_DATA'
EXPORTING
textline1 = 'Delete Flight?'
titel = 'Attention'
IMPORTING
answer = gv_answer.
CHECK gv_answer NE 'N'.
DELETE zemp.
CLEAR zemp.
MESSAGE 'Sucess' TYPE 'I'.
ENDIF.
ENDCASE.
endmodule. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module STATUS_0100 output.
SET PF-STATUS '100_STATUS'.
* SET TITLEBAR 'xxx'.
IF gv_init IS INITIAL.
mytabstrip-activetab = 'TAB1'.
gv_number = '0110'.
gv_init = 'X'.
ENDIF.
endmodule. " STATUS_0100 OUTPUT -
abapuu
2014.10.24 20:33
감사합니다. 해결됐습니다.
-
MIS
2014.10.24 20:34
이부분에서 막혔었는데 덕분에 해결됐습니다~
스크린 100번을 생성하고, tabstip control도 추가하였는지요?
그리고, 프로그램 전체도 activate 해 보세요