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

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


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

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


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

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