имеется структура (st_test1) в которой посреди есть компонент value_test. Этот компонент записан как tabletyp и показывает на вторую структуру (st_test2) .
мне надо высчитать эти данные и передать дальше. я зделал 2 цикла: первый проверяет первую структуру и дойдя до поля value_tesт должен включиться второй цикл. Но не знаю как правельно это сделать . Пытался с if statement , но не получается....
надеюсь на вашу помощ.
Code:
LOOP AT st_test1 ASSIGNING <st_test1t>.
APPEND <st_test1t> TO result.
Age: 48 Joined: 25 Jan 2008 Posts: 580 Location: Москва
Posted: Thu Jul 07, 2011 8:54 pm Post subject:
Тогда получится, что в таблицу result будут добавляться записи:
а)все записи из таблицы st_test1, у которых в поле column не содержится значение 'value_test'
б)все записи таблицы st_test2 столько раз, сколько в таблице st_test1 записей со значением поля column 'value_test'
Нужно было именно это? _________________ С уважением,
Удав.
а) - так
б) - немного не так , наверное я немног не верно обьяснился.
В таблице st_test1 - всего лиш одна запись со сначением поля column 'value_test' . В таблице st_test2 например 5 записисей. Все эти 5 записей и встают на место 'value_test'.
Code:
Таблица st_test1 Таблица st_test2 Таблица result
id column id column id column
1 t1 1 t111 1 t1
2 t2 2 t222 2 t2
3 t3 3 t3
4 'value_test 4 t111
5 t222
а) - так
б) - немного не так , наверное я немног не верно обьяснился.
В таблице st_test1 - всего лиш одна запись со сначением поля column 'value_test' . В таблице st_test2 например 5 записисей. Все эти 5 записей и встают на место 'value_test'.
Code:
Таблица st_test1 Таблица st_test2 Таблица result
id column id column id column
1 t1 1 t111 1 t1
2 t2 2 t222 2 t2
3 t3 3 t3
4 'value_test 4 t111
5 t222
думаю так понятнее будет.
Зачем тогда цикл в цикле ?? если одна запись, то проще использовать READ TABLE
наверно проще... я всех токностей абапа не знаю , я тольку его осваиваю потихоньку. мне почему-то сразу эта идея пришла, вот я её и реализовал... На будущее запомню. Спасибо за совет.
наверно проще... я всех токностей абапа не знаю , я тольку его осваиваю потихоньку. мне почему-то сразу эта идея пришла, вот я её и реализовал... На будущее запомню. Спасибо за совет.
Проще вообще работать тогда с рабочей областью WA или FIELD-SYMBOLS по коду непонятно как заполняется таблица st_test1 создавать таблицу ради одной записи как то не айс
ну я вообще-то и работаю с FIELD-SYMBOLS, а в начале моего сообщения я написал , что st_test1 - это структура, которая мне передаётся. Используется оне не только в моём случаи и поэтому создовалась не только из-за одной записи.
наверное мы немного друг друга не поняли.
ну я вообще-то и работаю с FIELD-SYMBOLS, а в начале моего сообщения я написал , что st_test1 - это структура, которая мне передаётся. Используется оне не только в моём случаи и поэтому создовалась не только из-за одной записи.
наверное мы немного друг друга не поняли.
Так и есть, разобрался что ты хотел. Несовсем корректно написано просто было.
Я как понял у тебя есть 2 внутренние таблицы st_test1 и st_test2 и ты из них добавляешь записи в третью таблицу result, записи из st_test2 добавляются по полю st_test1-column = 'value_test'.
Так как цикл в цикле не совсем корректно использовать в данном случае, вот какой код я бы тогда использовал
Code:
LOOP AT st_test1 ASSIGNING <st_test1t>.
IF <st_test1t>-column = 'value_test'.
APPEND LINES OF st_test2[] TO result[].
ELSE.
APPEND <st_test1t> TO result.
ENDIF.
ENDLOOP.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.