Текущее время: Сб, июл 19 2025, 03:01

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Дублирование записей
СообщениеДобавлено: Чт, мар 15 2012, 18:43 
Специалист
Специалист

Зарегистрирован:
Вс, фев 12 2012, 18:43
Сообщения: 192
Может быть кто-то сталкивался с такой ситуацией:
есть две таблицы:
1. t_DOC содержит список всех документов,
2. t_DOCBU содержит список использованных документов.

Может быть есть какой-то оператор, который сравнивает эти таблицы и на выходе выдает номер следующего документа, который еще не использовался.

До этого пользовалась loop'ом в loop'е. Но может быть это можно сделать красивее.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дублирование записей  Тема решена
СообщениеДобавлено: Чт, мар 15 2012, 23:49 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
предположу что следующий номер дока должен быть больше самого позже использованного.

ну как вариант
Code:

  data: lt_doc    type sorted table of t_doc with unique key doc,
          lt_docbu type standard table of t_docbu with key doc.

  data: lref_doc type ref to t_doc,
          lf_idx     type sy-index.

  sort lt_docbu by doc descending.
*-- после сортировки первая позиция с номером последнего использованного дока
  read table lt_docbu index 1 reference into lref_doc.
  if lref_doc is bound.
*-- определяем индекс строки последнего использованного дока в общей таблице
    read table lt_doc with table key doc = lref_doc->doc
      transporting no fields.
    if sy-subrc eq 0.
*-- следующая позиция должна быть строкой с неиспользованным номером
      lf_idx = sy-tabix + 1.
      clear lref_doc.
*-- считываем с найденной позиции строку с номером дока
      read table lt_docbu index lf_idx reference into lref_doc.
      if lref_doc is bound.
*-- lref_doc->doc - следующий номер
      endif.
    endif.
  endif.


ну а если не по порядку номеру тот ту уж без loop по общей таблице и read table по использованным докам не обойтись(обе как минимум сортированные)

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Дублирование записей
СообщениеДобавлено: Пт, мар 16 2012, 10:49 
Специалист
Специалист

Зарегистрирован:
Вс, фев 12 2012, 18:43
Сообщения: 192
примерно так я и делаю. Видимо нет ничего лучше )


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

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


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

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


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

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