내 내부 db의 값을 표시하는 하나의 테이블 컨트롤이있는 화면이 있습니다. 그것은 완벽하게 작동했습니다.삭제 된 테이블 컨트롤이 런타임 오류로 연결됨
내가 원하는대로 작동하지 않는 다른 테이블 컨트롤을 추가했습니다.
내가 컨트롤을CONTROLS: tc_two TYPE TABLEVIEW USING SCREEN 9000.
을 삭제 그리고 지금은 런타임 오류 CONTROL-Variable not found
납니다.
Q : 새 컨트롤을 선언하면 어떻게됩니까? 그들은 어디에서 실행됩니까?
나는 내 코드를 디버깅하기 위해 노력하고 오류가 CALL SCREEN 9000.
다음
전체 코드에 나타납니다 :
REPORT zsch_test.
CONTROLS: tc_one TYPE TABLEVIEW USING SCREEN 9000.
DATA: it_uebung TYPE TABLE OF zsch_uebung,
ok_code TYPE sy-ucomm,
fill TYPE i.
TABLES zsch_uebung.
DATA: lines TYPE i,
limit TYPE i.
SELECT * FROM zsch_uebung INTO CORRESPONDING FIELDS OF TABLE it_uebung WHERE status = '1'.
CALL SCREEN 9000.
MODULE status_9000 OUTPUT.
SET PF-STATUS 'STATUS9000'.
* SET TITLEBAR 'xxx'.
DESCRIBE TABLE it_uebung LINES fill.
tc_one-lines = fill.
ENDMODULE.
MODULE fill_table_control OUTPUT.
READ TABLE it_uebung INTO zsch_uebung INDEX tc_one-current_line.
ENDMODULE.
MODULE cancel INPUT.
LEAVE PROGRAM.
ENDMODULE.
MODULE read_table_control INPUT.
lines = sy-loopc.
MODIFY it_uebung FROM zsch_uebung INDEX tc_one-current_line.
ENDMODULE.
MODULE user_command_9000 INPUT.
ok_code = sy-ucomm.
CASE ok_code.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN OTHERS.
ENDCASE.
ENDMODULE.
화면 9000 :
PROCESS BEFORE OUTPUT.
MODULE STATUS_9000.
LOOP WITH CONTROL TC_ONE.
MODULE fill_table_control.
ENDLOOP.
PROCESS AFTER INPUT.
MODULE cancel AT EXIT-COMMAND.
LOOP WITH CONTROL TC_ONE.
MODULE read_table_control.
ENDLOOP.
MODULE USER_COMMAND_9000.
고마워!
슬프게도 그것은 문제가 추가 조치없이 분명히 사라는 사실에서 독일어
다시 : 일부 조각뿐만 아니라 전체 문제를 보여줍니다. 다른 사람의 입장에 자신을 넣으십시오. "나는 뭔가를하고, 뭔가를 바꿨다. 이제는 더 이상 효과가 없다. 문제가 어디 있느냐?" – vwegert
새로운 컨트롤을 선언하면 어떻게되는지 알고 싶습니다. 누군가가 내게 대답을 말할 수 있다면 그것을 고칠 수 :). 내 컨트롤에서 남은 코드를 찾을 수 없다 : tc_two. 그래서 내가 보통 사용하는 코드 그 이상이 있다고 생각하는 이유입니다. –
확실히 - 화면 정의 (처리 논리 이상)입니다. 아직 질문에 추가하지 않았습니다. - 그렇게하십시오. – vwegert