Добрый день! Потихоньку осваиваю ABAP, для себя делая простенькие программы и экспериментируя на них.
Есть код:
CONSTANTS actvt_display TYPE activ_auth VALUE '03'. PARAMETERS pa_con TYPE sbook-connid.
* workarea for SELECT DATA wa_sbook TYPE sbook.
TABLES sdyn_book.
DATA ok_code LIKE sy-ucomm.
INITIALIZATION.
SET TITLEBAR 'LIST0'.
START-OF-SELECTION.
*SET PF-STATUS 'LIST'. *SET TITLEBAR 'LIST'.
SELECT carrid connid fldate bookid FROM sbook INTO CORRESPONDING FIELDS OF wa_sbook WHERE connid = pa_con.
* AUTHORITY-CHECK OBJECT 's_carrid' * ID 'CARRID' FIELD wa_sbook-carrid * ID 'ACTVT' FIELD actvt_display.
IF sy-subrc = 0.
WRITE: / wa_sbook-carrid COLOR COL_KEY, wa_sbook-connid, wa_sbook-fldate COLOR COL_KEY, wa_sbook-bookid COLOR COL_KEY. HIDE: wa_sbook-carrid, wa_sbook-connid, wa_sbook-fldate, wa_sbook-bookid.
ENDIF. ENDSELECT.
CLEAR wa_sbook.
AT LINE-SELECTION.
SELECT SINGLE * FROM sbook INTO wa_sbook WHERE carrid = wa_sbook-carrid AND connid = wa_sbook-connid AND fldate = wa_sbook-fldate AND bookid = wa_sbook-bookid.
IF sy-subrc = 0.
MOVE-CORRESPONDING wa_sbook TO sdyn_book. CALL SCREEN 100.
ENDIF.
module STATUS_0100 output.
SET PF-STATUS 'DYNPRO'. SET TITLEBAR 'DYNPRO'.
endmodule. *&---------------------------------------------------------------------* *& Module CLEAR_OK_CODE OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE clear_ok_code OUTPUT. CLEAR ok_code. ENDMODULE. " CLEAR_OK_CODE OUTPUT *&---------------------------------------------------------------------* *& Module USER_COMMAND_0100 INPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE user_command_0100 INPUT. CASE ok_code. WHEN 'back'. SET SCREEN 0. WHEN 'save'. MOVE-CORRESPONDING sdyn_book TO wa_sbook. MESSAGE i060(bc400). SET SCREEN 0. ENDCASE.
ENDMODULE.
Эта просто тренировочная программа, где пользователю предлагается выбрать для просмотра определенную инфу (поле параметерс), на экран типа лист выводятся какие-то данные (соответствующие полю параметерс), щелкнув по определенной строке списка мы переходим на диалоговый экран.
Так вот. При закомменченной строке определения статуса экрана ( выделено жирным курсивом), программа работает как надо. При назначении экрану соответствующего статуса при двойном клике по нужной строке программа не откликается ( не создает интерактивный список). Тип статуса: диалоговое окно. Я так понимаю, что дело в статусе экрана, но не могу разобраться: в чем именно? У кого какие идеи?
Спасибо!
|
|