2012-04-11 12 views
0

一部の関数をALVグリッドに上書きしたい。しかし、私はコールバックのユーザーコマンドでそれを行うことはできません。これは非標準関数のためのものです。何か案が?私は私イベントの出口を使用する必要がありますか?私はどちらかそれで何かをしようとしたが、それを行うことができませんでした:私はそれにアクセスするとき、それはuser_commandに入る見ることができるようにPALV ABAPの関数を上書きする

FORM event_exits. 

    CLEAR wa_eventexit. 
    wa_eventexit-ucomm = '&OUP'. 
    wa_eventexit-before = 'X'. 
    APPEND wa_eventexit TO it_eventexit. 
    CLEAR wa_eventexit. 
    wa_eventexit-ucomm = '&ODN'. 
    wa_eventexit-before = 'X'. 
    APPEND wa_eventexit TO it_eventexit. 

ENDFORM.      "event_exits 

FORM user_command Using r_ucomm LIKE sy-ucomm 
        rs_selfield TYPE slis_selfield. 
CASE r_ucomm. 
    WHEN '&OUP'. 
     IF ck_del = 'X'. 
     SORT gt_salord BY audat vbeln lfimg ASCENDING. 
     ELSE. 
     SORT gt_salord BY audat vbeln kwmeng ASCENDING. 
     ENDIF. 
    WHEN '&ODN'. 
     IF ck_del = 'X'. 
     SORT gt_salord BY audat vbeln lfimg DESCENDING. 
     ELSE. 
     SORT gt_salord BY audat vbeln kwmeng DESCENDING. 
     ENDIF. 
    WHEN 'D01'. 
     BREAK-POINT. 
    ENDCASE. 
    CLEAR sy-ucomm. 
ENDFORM. "user_command 

D01の機能がちょうどテストのためです。しかし、私が関数& OUPにアクセスすると、CASEにもう入力されません(デバッグでテストします)

答えて

1

これはオプションかどうかわかりませんが、ALVオブジェクトモデルそれはbetter documentedです - たとえば、関数とイベントの処理についてはthis chapterを参照してください。さらに、公式にはサポートされています。使用するとうまくいかない場合は、「未リリースの内部クラス/機能モジュールを使用しています」という慣習の代わりにヘルプが表示されます。

デモプログラムを見てみましょう。カスタムソートメカニズムを定義したい場合は、デフォルトのボタンをクリックして独自のボタンを挿入してください異なる機能コードを使用します。だれが知っているのですか?バージョン42では、デフォルトのソートを再び有効にするアイデアが出てくるかもしれません。もう一度すべてを適応させる必要はありません。

+0

私はまだジュニアプログラマーです私の夢のような世界を勉強しています。 – kookies

関連する問題