Текущее время: Вт, апр 16 2024, 07:51

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Минимальное/максимальное значение во внутренней таблице
СообщениеДобавлено: Чт, июл 27 2017, 13:19 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, июл 17 2017, 14:11
Сообщения: 375
Удав написал(а):
Один раз при считывании таблицы из БД считываете максимальное ID в переменную, затем работаете с этой переменной.

в стандартных примерах САПа нет ничего подобного? не знаете ?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Re:
СообщениеДобавлено: Чт, июл 27 2017, 14:31 
Почетный гуру
Почетный гуру

Зарегистрирован:
Пт, дек 04 2009, 12:52
Сообщения: 219
sonics написал(а):
т.е. я свою таблицу сортирую по полю ID и как мне найти максимальное ?
SORT ZMMTABLE BY ID DESCENDING
READ ZMMTABLE INDEX 1 ??
не доходит...
Обратите внимание на слово DESCENDING . Это значит сортировка в обратном порядке (от большего к меньшему). А когда ASCENDING, либо вообще без него - это восходящий порядок сортировки.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Минимальное/максимальное значение во внутренней таблице
СообщениеДобавлено: Пт, июл 28 2017, 17:44 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 18:21
Сообщения: 1613
Кучеряво сортировать таблицу что б найти max и min :D Можно еще в БД записать и select max() делать :pivo:

_________________
я твой сап эфай внедрял
BAdI-позитив
Взять немножечко абопу, сунь туда кошачью *опу, RFC лапки, БТ старой бабки, на медленном базиснике переносить, тестовое окружение материть, снимать SAT пенку, биться головой о стенку, охапка тайм-шитов, отчет готов!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Минимальное/максимальное значение во внутренней таблице
СообщениеДобавлено: Сб, июл 29 2017, 09:40 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, июл 17 2017, 14:11
Сообщения: 375
Kengur написал(а):
Кучеряво сортировать таблицу что б найти max и min :D Можно еще в БД записать и select max() делать :pivo:

Для "кучерявой" сортировки мне еще учиться и учиться...

я так понял, что я могу выбрать все значения через
Code:
select id from zmytable.
sort zmytable by id.
end select.

получается мы имеем максимальное значение ID и его как-то надо записать в переменную, чтоли...
чтобы при новом modify событии присвоить его новой записи sort zmytable by id + 1? ( к этмоу еще придем, не все сразу )
в js это проще.... присвоил, запомнил, вывел + 1, все счастливы... :(


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

Зарегистрирован:
Пн, июл 17 2017, 14:11
Сообщения: 375
Цитата:
data:id like zmytable-id.
select max (id) from zmytable.
end select.

вроде годно вышло.
допустим получил я максимальное значение..
Каким образом я его могу записать в переменную, прибавить +1 и отправить в новую строку с ID вместе с командой SAVE ( в моем случае происходит modify ).


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Минимальное/максимальное значение во внутренней таблице
СообщениеДобавлено: Пн, июл 31 2017, 16:47 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 18:21
Сообщения: 1613
Зачем вы изобретаете number range. :roll:

_________________
я твой сап эфай внедрял
BAdI-позитив
Взять немножечко абопу, сунь туда кошачью *опу, RFC лапки, БТ старой бабки, на медленном базиснике переносить, тестовое окружение материть, снимать SAT пенку, биться головой о стенку, охапка тайм-шитов, отчет готов!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Минимальное/максимальное значение во внутренней таблице
СообщениеДобавлено: Пн, июл 31 2017, 16:54 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, июл 17 2017, 14:11
Сообщения: 375
Kengur написал(а):
Зачем вы изобретаете number range. :roll:

не слышал о таком)
сделал так.....
Code:
LOOP AT it_zmmgyptable_temp ASSIGNING <fs_newstringid> WHERE id IS NULL.
        zid = zid + 1.
        <fs_newstringid>-id = zid.
      ENDLOOP.

но какая-то мерзкая ошибка вылезла, не понимаю чего хочет от меня :(
Цитата:
Field specification missing.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Минимальное/максимальное значение во внутренней таблице
СообщениеДобавлено: Вт, авг 01 2017, 10:50 
Специалист
Специалист

Зарегистрирован:
Чт, мар 25 2010, 09:02
Сообщения: 207
Уж сколько раз твердили миру. А если у вас совпадет так что 100 человек одновременно save нажмут?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Минимальное/максимальное значение во внутренней таблице
СообщениеДобавлено: Вт, авг 01 2017, 10:57 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, июл 17 2017, 14:11
Сообщения: 375
AFH написал(а):
Уж сколько раз твердили миру. А если у вас совпадет так что 100 человек одновременно save нажмут?

об этом я даже не подумал... что вы предлагаете?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Минимальное/максимальное значение во внутренней таблице
СообщениеДобавлено: Вт, авг 01 2017, 11:23 
Почетный гуру
Почетный гуру

Зарегистрирован:
Пт, дек 04 2009, 12:52
Сообщения: 219
@sonics
Вообще-то изначально здесь вопрос по внутренним таблицам задавался и люди на него отвечают.
Судя по тому, что Вы пишете, Вам требуется совсем другое - добавить в таблицу СУБД новую запись с присвоением уникального идентификатора (счетчика) в качестве ключа. Так?

Если так, то необходимо:
1) зайти в транзакцию SNRO и создать новый диапазон нумерации.
2) перед добавлением новой записи в таблицу СУБД, необходимо вызывать Ф.М. NUMBER_GET_NEXT , который вернет следующий порядковый номер (с гарантией его уникальности). Полученный номер и надо записать в ключевое поле таблицы в качестве идентификатора строки.

https://wiki.scn.sap.com/wiki/display/ABAP/How+to+Create+you+own+Number+Range++SNRO
http://www.erpworkbench.com/sap-tcodes/snro.htm

P/S а вообще, прочитайте курсы по работе с обновлениями БД (блокировки, Update task, LUW, модули обновления и прочее). Для начала вот это, потом обязательно SAP-курс BC414. Без этого начинать программировать обновления БД ни в коем случае не следует... слишком серьезные последствия могут быть, когда Вашей программой начнут пользоваться.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Минимальное/максимальное значение во внутренней таблице
СообщениеДобавлено: Вт, авг 01 2017, 15:19 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, июл 17 2017, 14:11
Сообщения: 375
Спасибо. Решил задачу свою.
Курс обязательно прочту BC414, я только проходил до 407.
Статью уже изучал.


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

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


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

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


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

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