Текущее время: Ср, июл 30 2025, 02:46

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Что это значит DO 1 TIMES???
СообщениеДобавлено: Вт, ноя 24 2009, 15:14 
Специалист
Специалист

Зарегистрирован:
Пн, дек 04 2006, 10:51
Сообщения: 173
Коллеги,
вот у наших внешних программистов-консультантов постоянно проскакивает такая конструкция....

DO 1 TIMES.
....

ENDDO.

В чем ее смысл??

Спасибо


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что это значит DO 1 TIMES???
СообщениеДобавлено: Вт, ноя 24 2009, 15:22 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, мар 07 2007, 11:58
Сообщения: 176
Откуда: Астана
Пол: Мужской
цикл с одним вхождением.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что это значит DO 1 TIMES???
СообщениеДобавлено: Вт, ноя 24 2009, 15:23 
Специалист
Специалист

Зарегистрирован:
Пн, дек 04 2006, 10:51
Сообщения: 173
Это я понимаю, что это цикл с одним вхождением...

Я не понимаю, ЗАЧЕМ ЕГО использовать, причем не один раз... А в нескольких программах... Смысл??


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что это значит DO 1 TIMES???
СообщениеДобавлено: Вт, ноя 24 2009, 15:24 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
divan, думаю вопрос именно в смысле 1 TIMES ;)

Vadim, спросите у ваших внешних специалистов.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Что это значит DO 1 TIMES???
СообщениеДобавлено: Вт, ноя 24 2009, 15:27 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, апр 07 2009, 10:23
Сообщения: 51
Пол: Мужской
Единственное логичное объяснение которое приходит в голову - изначально было не 1, а больше.
А в какой-то момент в связи с изменением логики - просто поменяли на 1-цу - чтобы не комментировать - возможно понадобится снова использовать...

а так...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Что это значит DO 1 TIMES???
СообщениеДобавлено: Вт, ноя 24 2009, 15:29 
Специалист
Специалист

Зарегистрирован:
Пн, дек 04 2006, 10:51
Сообщения: 173
Это я тоже думал... Но если бы в одном месте... А то постоянно... Ну ладно... Спасибо)))


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что это значит DO 1 TIMES???
СообщениеДобавлено: Вт, ноя 24 2009, 15:49 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Скорее всего у них это замена вложенных IF ... ENDIF
См. подробнее

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что это значит DO 1 TIMES???
СообщениеДобавлено: Вт, ноя 24 2009, 18:50 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, окт 31 2008, 15:58
Сообщения: 70
Иногда использую
Code:
read it_tab into ls_tab index 1.
DO p_times.

append ls_tab to it_tab.


ENDDO.


Использую для тестирования выходных форм, чтобы проверять форматирование и итоги.

_________________
С Уважением, Абрамов Виктор.
The devil is in the detail.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что это значит DO 1 TIMES???
СообщениеДобавлено: Вт, ноя 24 2009, 22:27 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
похоже на "боксинг" кода в c++
Code:
{
CThing m;
...
}
только там он имеет опредёленный смысл, а в abap-е
видимо для навигации, отдельный смысловой блок помещается в
do. .. enddo. или if 1 > 0. .. endif., чтобы прыгать в начало-конец блока


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Что это значит DO 1 TIMES???
СообщениеДобавлено: Вт, ноя 24 2009, 22:55 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
ArmAnn написал:
Скорее всего у них это замена вложенных IF ... ENDIF
См. подробнее

Зачёт!
Будем пользовать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что это значит DO 1 TIMES???
СообщениеДобавлено: Вт, ноя 24 2009, 23:28 
Менеджер
Менеджер

Зарегистрирован:
Вт, июл 10 2007, 10:57
Сообщения: 516
Пол: Мужской
Ещё как вариант --- если, например, в работающий user-exit выше вашего инклуда кто-то вставил свой, и если у него есть в коде EXIT, то ваш инклуд, после такой правки, никогда не выполнится. Чтобы не искать и не анализировать все варианты возврата - просто оборачиваем новый инклуд в 'DO 1 TIMES' и вместо выхода из exit'а будет выход из цикла и наш код снова заработает.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что это значит DO 1 TIMES???
СообщениеДобавлено: Чт, ноя 26 2009, 12:17 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, мар 29 2007, 11:51
Сообщения: 330
Откуда: Yugorsk.RU
Пол: Мужской
а мы просто пользуем конструкцию DO с EXIT. перед ENDDO непосредственно. И комментарий лепим "псевдоцикл" :)

Очень удобно.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что это значит DO 1 TIMES???
СообщениеДобавлено: Чт, ноя 26 2009, 17:51 
Специалист
Специалист

Зарегистрирован:
Чт, окт 26 2006, 16:44
Сообщения: 149
Откуда: Москва
В такой конструкции можно вместо IF... ENDIF использовать CHECK. Получается более простая конструкция.


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

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


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

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


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

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