2016-11-11 9 views
1

私の内部データベースの値を表示する1つのテーブルコントロールを持つ画面があります。 それは完璧に働いた。削除されたテーブルコントロールは実行時エラーにつながります

私が望むやり方でうまくいかなかった別のテーブルコントロールを追加しました。

私は制御に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. 

ありがとう!

悲しいことに、それは問題はさらにアクションなしで明らかに姿を消したという事実からドイツ語enter image description here

+1

もう一度:いくつかの断片だけでなく、問題全体を見せてください。他の人の立場に自分自身を置こうとする - 「何かした後に何か変えたが、今はもう働かない、どこに問題があるの?」 – vwegert

+0

私は新しいコントロールを宣言すればどうなるのか理解したいと思います。誰かが私にそれを解決する答えを教えてもらえれば:)。私は私のコントロールから残ったコードを見つけることはできません:tc_two。だからこそ、私は通常働いているコード以上のものがあると思っています。 –

+1

確かに - 画面定義(これは処理ロジック以上のものです)がありますが、あなたはそれをまだ質問に追加していません - そうしてください。 – vwegert

答えて

0

にあります、一つは、これはあなたがトランザクション全体を再起動する必要があり、なぜテストしているバッファの問題(のいずれかであったと仮定かもしれませんあなたが誤ってプログラム全体をアクティブ化することができませんでした(たとえば、レポートソースのみを有効にして、画面定義をアクティブにしないなど)。

+0

この問題が再発する場合は、トランザクションを再開します。ご協力いただきありがとうございます! –

関連する問題