Текущее время: Пт, мар 29 2024, 01:48

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Проверка отсутсвия на дату
СообщениеДобавлено: Вт, июл 31 2018, 09:33 
Ассистент
Ассистент

Зарегистрирован:
Вт, мар 20 2018, 11:16
Сообщения: 27
Добрый день.
Есть таблица с датами в формате:
20180701
20180702
20180703
20180704
и т.д
Как можно проверить отсутствие в 2001 не считывая каждый раз ит на эту дату?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверка отсутсвия на дату
СообщениеДобавлено: Пн, авг 13 2018, 14:36 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вт, сен 05 2017, 23:56
Сообщения: 537
считать все записи модулем 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.



Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB