SAPфорум.RU https://www.sapboard.ru/forum/ |
|
Проверка отсутсвия на дату https://www.sapboard.ru/forum/viewtopic.php?f=13&t=96663 |
Страница 1 из 1 |
Автор: | exotik [ Вт, июл 31 2018, 09:33 ] |
Заголовок сообщения: | Проверка отсутсвия на дату |
Добрый день. Есть таблица с датами в формате: 20180701 20180702 20180703 20180704 и т.д Как можно проверить отсутствие в 2001 не считывая каждый раз ит на эту дату? |
Автор: | Kuranov.Dmitry [ Пн, авг 13 2018, 14:36 ] |
Заголовок сообщения: | Re: Проверка отсутсвия на дату |
считать все записи модулем HR_READ_INFOTYPE во внутреннюю таблицу и работать с ней Code: DATA lp2001 type SORTED TABLE OF p2001 WITH NON-UNIQUE KEY pernr begda endda subty seqnr. data ls2001 like LINE OF lp2001. data: BEGIN OF t_dates OCCURS 0, begda type begda, END OF t_dates. CLEAR lp2001[]. CALL FUNCTION 'HR_READ_INFOTYPE' EXPORTING pernr = pernr-pernr infty = '2001' tables infty_tab = lp2001 EXCEPTIONS INFTY_NOT_FOUND = 1 OTHERS = 2 . IF sy-subrc <> 0 or lp2001[] is INITIAL. MESSAGE 'Нет 2001 ИТ' TYPE 'I'. exit. ENDIF. LOOP AT t_dates. LOOP AT lp2001 INTO ls2001 WHERE begda <= t_dates-begda AND endda >= t_dates-endda. exit. ENDLOOP. CHECK sy-subrc = 0. WRITE: / 'Есть отстуствие ',ls2001-subty ,' на дату ', t_dates-begda. ENDLOOP. ну или по хардкору: Code: data: BEGIN OF t_dates OCCURS 0, begda type begda, END OF t_dates. LOOP AT t_dates. SELECT SINGLE mandt INTO sy-mandt FROM pa2001 WHERE pernr = pernr-pernr AND begda <= t_dates-begda AND endda >= t_dates-endda. CHECK sy-subrc = 0. WRITE: / 'Есть отстуствие на дату ', t_dates-begda. ENDLOOP. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |