Текущее время: Чт, мар 28 2024, 17:11

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


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

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


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

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