Текущее время: Пт, мар 29 2024, 00:18

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


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


ВНИМАНИЕ!

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



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

Зарегистрирован:
Пн, авг 01 2016, 10:42
Сообщения: 14
Здравствуйте
подскажите, пожалуйста, тоже по циклам - не могу разобраться в чужом коде:
Code:
  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?
Code:
tb1-izdel = wa1-izdel.

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


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

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

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

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

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

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


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

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

благодарю


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

Зарегистрирован:
Пн, дек 29 2008, 07:19
Сообщения: 129
Пол: Мужской
Code:
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, 05:39 
Специалист
Специалист

Зарегистрирован:
Пн, дек 29 2008, 07:19
Сообщения: 129
Пол: Мужской
На мой взгляд, и цикл не нужен, а также можно и обернуть в цикл...
Code:
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, 16:11 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3074
Откуда: Москва
Malych написал:
Code:
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, 13:59 
Специалист
Специалист

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


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

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

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

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


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

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


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

Зарегистрирован:
Пн, ноя 01 2004, 12:17
Сообщения: 298
Пол: Мужской
Цитата:
Какой смысл от сортировки, если нет 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, 08:44 
Специалист
Специалист

Зарегистрирован:
Пт, июл 27 2007, 13:06
Сообщения: 137
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, 13:29 
Специалист
Специалист

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



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

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


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

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


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

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


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

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