Текущее время: Сб, сен 23 2017, 02:31

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Как написать цикл в ABAP
СообщениеДобавлено: Пт, янв 27 2017, 11:46 
Начинающий
Начинающий

Зарегистрирован:
Пн, авг 01 2016, 11:42
Сообщения: 10
Здравствуйте
подскажите, пожалуйста, тоже по циклам - не могу разобраться в чужом коде:
Код:
  LOOP AT ig.
    LOOP AT tb1 INTO wa1 WHERE izdel = ig-plnbez AND monat = ig-monat AND f07 = ''.  ** внешний цикл по tb1
      LOOP AT tb1 WHERE izdel = wa1-komp AND monat = wa1-monat AND f07 NE ''.        *** внутренний цикл по tb1
        READ TABLE tb1 INTO wa2 WITH KEY izdel = wa1-izdel komp = tb1-komp monat = tb1-monat plnbez = wa1-plnbez.
        IF sy-subrc NE 0.
          tb1-izdel = wa1-izdel.
          tb1-izden = wa1-izden.
          tb1-komp = tb1-komp.
          tb1-komn = tb1-komn.
...

1) С каким индексом/порядковым номером (или экземпляром tb1) работает операция присвоения в этом тексте кода, тк. есть внешний и внутренний цикл по tb1?
Код:
tb1-izdel = wa1-izdel.

2) Для чего делается, с виду, присвоение переменной самой себе?
Код:
tb1-komp = tb1-komp.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как написать цикл в ABAP
СообщениеДобавлено: Пт, янв 27 2017, 12:16 
Специалист
Специалист

Зарегистрирован:
Пн, июл 11 2011, 11:50
Сообщения: 136
Индусы писали :D

внешний в рабочую область wa1
внутренний в заголовок tb1

индексов и порядковых номеров в коде не вижу

смысл присвоения самой себе не вижу :roll:

З.Ы, смотрите в отладке и что в постановке написано, может есть смысл уйти от такого большого вложения цикл в цикле


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

Зарегистрирован:
Пн, авг 01 2016, 11:42
Сообщения: 10
Bimit писал(а):
Индусы писали :D
внешний в рабочую область wa1
внутренний в заголовок tb1
индексов и порядковых номеров в коде не вижу
смысл присвоения самой себе не вижу :roll:

благодарю


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как написать цикл в ABAP
СообщениеДобавлено: Чт, мар 16 2017, 06:36 
Специалист
Специалист

Зарегистрирован:
Пн, дек 29 2008, 08:19
Сообщения: 110
Откуда: г. Новосибирск
Пол: Мужской
Код:
data: n type i.
read table lt_tab into fs_tab with key X = '5'.
  if sy-subrc ne 0.
   describe table lt_tab lines n.
   read table lt_tab into fs_tab index n.
  endif.     
ls_tab = lt_tab-x.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как написать цикл в ABAP
СообщениеДобавлено: Чт, мар 16 2017, 06:39 
Специалист
Специалист

Зарегистрирован:
Пн, дек 29 2008, 08:19
Сообщения: 110
Откуда: г. Новосибирск
Пол: Мужской
На мой взгляд, и цикл не нужен, а также можно и обернуть в цикл...
Код:
data: n type i.
read table lt_tab into fs_tab with key X = '5'.
if sy-subrc ne 0.
describe table lt_tab lines n.
read table lt_tab into fs_tab index n.
endif.
ls_tab = lt_tab-x.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как написать цикл в ABAP
СообщениеДобавлено: Чт, мар 16 2017, 17:11 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 17:44
Сообщения: 2888
Откуда: Москва
Malych писал(а):
Код:
data: n type i.
read table lt_tab into fs_tab with key X = '5'.
  if sy-subrc ne 0.
   describe table lt_tab lines n.
   read table lt_tab into fs_tab index n.
  endif.     
ls_tab = lt_tab-x.

Бессмыслица какая-то:
1. Таблица отсортирована по ключу X?
2. Зачем нужна именно последняя запись - в поле X не может быть значений больше 5?

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как написать цикл в ABAP
СообщениеДобавлено: Чт, апр 06 2017, 14:59 
Специалист
Специалист

Зарегистрирован:
Пн, дек 29 2008, 08:19
Сообщения: 110
Откуда: г. Новосибирск
Пол: Мужской
сортировка не причем...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как написать цикл в ABAP
СообщениеДобавлено: Пт, апр 07 2017, 01:49 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 17:44
Сообщения: 2888
Откуда: Москва
Malych писал(а):
сортировка не причем...

как это не при чем?
Простой перебор - не комильфо в серьезных разработках.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как написать цикл в ABAP
СообщениеДобавлено: Пт, апр 07 2017, 08:44 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, июл 27 2007, 14:06
Сообщения: 86
Какой смысл от сортировки, если нет binary search?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как написать цикл в ABAP
СообщениеДобавлено: Пт, апр 07 2017, 09:07 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, ноя 01 2004, 13:17
Сообщения: 276
Пол: Мужской
Цитата:
Какой смысл от сортировки, если нет binary search?


Цитата:
Please note, the BINARY SEARCH is unnecessary with SORTED TABLES, it is allowed to simplify the switch from standard to sorted tables without need to change all READs.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как написать цикл в ABAP
СообщениеДобавлено: Пт, апр 07 2017, 09:44 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, июл 27 2007, 14:06
Сообщения: 86
RA писал(а):
Цитата:
Какой смысл от сортировки, если нет binary search?


Цитата:
Please note, the BINARY SEARCH is unnecessary with SORTED TABLES, it is allowed to simplify the switch from standard to sorted tables without need to change all READs.

Но тогда таблицу все равно нет смысла (или даже невозможно?..) отсортировать, если она создана как sorted )


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как написать цикл в ABAP
СообщениеДобавлено: Пт, апр 07 2017, 14:29 
Специалист
Специалист

Зарегистрирован:
Пн, июл 11 2011, 11:50
Сообщения: 136
Sam Stone писал(а):
Какой смысл от сортировки, если нет binary search?



А как же эстетический :D

Приятно в отладке смотреть сортированные (правильно) таблицы, а уж BINARY SEARCH всегда можно добавить :)


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

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


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

Сейчас этот форум просматривают: BingBot, Google [Bot] и гости: 8


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

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