TYPE-POOLS: slis.
*************************************
DATA: TATE TYPE ekko OCCURS 0 WITH HEADER LINE.
DATA : it_exclude TYPE slis_t_extab,
wa_exclude TYPE slis_extab.
DATA: BEGIN OF ZAK OCCURS 0,
NUMB TYPE EKKO-EBELN,
STAT(1),
END OF ZAK.
DATA: ls_layout TYPE slis_layout_alv,
ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
l_boxnam TYPE slis_fieldname VALUE 'BOX',
tk.
DATA: i_title_ekko TYPE lvc_title.
*****************************************
*FORM status USING extab TYPE slis_t_extab.
* SET PF-STATUS 'STATUS_100' EXCLUDING extab.
*ENDFORM. "STATUS
tables: ekko,ekpo,fmioi,fmifiit,zmm_ekko,ekbe.
*
select-options s_ebeln for ekko-ebeln.
parameters p_dvgpa type zdate_vgpa obligatory.
*
data:
*
not_ type i.
*
start-of-selection.
*Перед стартом програми встановлюємо кількість днів зберігання для
*кожної комбінації документа закупки та типу позиції документа
*закупки (T161R-BSTYP = #F#)
delete from zmm_ekko where ebeln <> ''.
select * from ekko where aedat <= p_dvgpa.
ZAK-NUMB = ekko-ebeln.
APPEND ZAK.
loop at zak.
*Проверяем ekpo если запись есть, статус = 1
select * from ekpo where ebeln = zak-numb.
ZAK-STAT = '1'.
MODIFY ZAK.
ENDSELECT.
*Проверяем ekbe если запись есть, статус = 4
select * from ekbe where ebeln = zak-numb and
ebelp = ekpo-ebelp.
ZAK-STAT = '4'.
MODIFY ZAK.
endselect.
* проверяем чтобы в этих таблицах не было ххаписей старше DVGPA.
*Проверяем fmioi если запись есть, статус = 3
select * from fmioi where refbn = zak-numb and
refbt = '20' and
rfpos = ekpo-ebelp and
gjahr >= p_dvgpa(4) and
zhldt >= p_dvgpa.
ZAK-STAT = '3'.
MODIFY ZAK.
ENDSELECT.
check sy-subrc <> 0.
*Проверяем fmifiit если запись есть, статус = 2
select * from fmifiit where vrefbn = zak-numb and
vrfpos = ekpo-ebelp and
gjahr >= p_dvgpa(4) and
zhldt >= p_dvgpa.
ZAK-STAT = '2'.
MODIFY ZAK.
ENDSELECT.
check sy-subrc <> 0.
endloop.
if not_ = 0.
zmm_ekko-ebeln = ekko-ebeln.
zmm_ekko-zzdelete = ''.
insert zmm_ekko.
endif.
endselect.
******************************************************
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'ZAK'.
ls_fieldcat-fieldname = 'NUMB'.
ls_fieldcat-outputlen = 18."длина вывода
ls_fieldcat-seltext_l = '№ ЗАКАЗА ЗАКУПКИ'.
APPEND ls_fieldcat TO lt_fieldcaT.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'ZAK'.
ls_fieldcat-fieldname = 'STAT'.
ls_fieldcat-outputlen = 8."длина вывода
ls_fieldcat-seltext_l = 'СТАТУС'.
APPEND ls_fieldcat TO lt_fieldcaT.
wa_exclude-fcode = '&OAD'.
APPEND wa_exclude TO it_exclude.
CLEAR wa_exclude.
wa_exclude-fcode = '&ETA'.
APPEND wa_exclude TO it_exclude.
CLEAR wa_exclude.
wa_exclude-fcode = '&EB9'.
APPEND wa_exclude TO it_exclude.
CLEAR wa_exclude.
wa_exclude-fcode = '&OL0'.
APPEND wa_exclude TO it_exclude.
CLEAR wa_exclude.
wa_exclude-fcode = '&VEXCEL'.
APPEND wa_exclude TO it_exclude.
CLEAR wa_exclude.
wa_exclude-fcode = '&AQW'.
APPEND wa_exclude TO it_exclude.
CLEAR wa_exclude.
wa_exclude-fcode = '&RNT_PREV'.
APPEND wa_exclude TO it_exclude.
CLEAR wa_exclude.
wa_exclude-fcode = '%PC'.
APPEND wa_exclude TO it_exclude.
CLEAR wa_exclude.
wa_exclude-fcode = '&GRAPH'.
APPEND wa_exclude TO it_exclude.
CLEAR wa_exclude.
wa_exclude-fcode = '%SL'.
APPEND wa_exclude TO it_exclude.
CLEAR wa_exclude.
wa_exclude-fcode = '&INFO'.
APPEND wa_exclude TO it_exclude.
CLEAR wa_exclude.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* i_callback_pf_status_set = 'STATUS'
* i_callback_user_command = 'USER_COMMAND'
i_callback_program = sy-cprog
it_excluding = it_exclude
is_layout = ls_layout
it_fieldcat = lt_fieldcat[]
* I_GRID_TITLE = I_TITLE_EKKO
* i_background_id = 'ALV_BACKGROUND'
TABLES
t_outtab = ZAK.
Вот программа, сама по себе работает нормально ( не считая того, что F4 не могу подключит

)
аесли еевызывать изтранзакции, то после ввода даты возвращается на 0 экран...
В транзакции вписан 1000экран...