Текущее время: Вт, мар 19 2024, 07:31

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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