Текущее время: Пт, авг 01 2025, 22:23

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Группировка в указателе на таблицу
СообщениеДобавлено: Вт, май 29 2007, 11:58 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, май 24 2006, 09:33
Сообщения: 154
Откуда: Москва
задачка такая
предположим имеем на входе
FIELD-SYMBOL <gt_excel> TYPE STANDARD TABLE.

структуру для этой таблицы я сам создаю на основании предопределенной структуры (меняю местами поля),
тоесть структура заранее для <gt_excel> не предопределена !!!
вопрос:
как сделать такую фишку
LOOP AT <gt_excel>.

AT END OF (вот тут должно быть название поля таблицы, но АБАП его
не знает так как я формирую структуру программно)

ENDAT.
ENDLOOP.

предположим я знаю что там есть поле под названием lifnrtxt


как мне сделать

LOOP AT <gt_excel>.

AT END OF lifnrtxt

ENDAT.
ENDLOOP.

----
это задачка типа для генератора отчета
произвольной последовательности полей.

_________________
Best regards
Dolbnev Alexandr


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, май 29 2007, 12:05 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
ну а если хелпом воспользоваться ?

In ABAP Objects it is not allowed to specify field symbols as control break criteria in control level processing.

Error message in ABAP Objects if the following syntax is used:

name = 'WA-COL1'.
ASSIGN (name) TO <fs>.

LOOP AT itab INTO wa.
AT NEW <fs>.
...
ENDAT.
ENDLOOP.

Correct syntax:

name = 'COL1'.

LOOP AT itab INTO wa.
AT NEW (name).
...
ENDAT.
ENDLOOP.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, май 29 2007, 12:08 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, май 24 2006, 09:33
Сообщения: 154
Откуда: Москва
ок я так и начал делать спасибо

_________________
Best regards
Dolbnev Alexandr


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, май 29 2007, 12:39 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, май 24 2006, 09:33
Сообщения: 154
Откуда: Москва
Àíàëèç îøèáêè
In a loop on the internal table "<GT_EXCEL>", the ABAP/4 program
"Z_MM_PLAN_FACT"
attempted to use AT NEW "<FS_COMP>" / AT END OF "<FS_COMP>" to check a control
break.
In this operation, the field symbol "<FS_COMP>" was used as a dynamic
control break criterion. To be used as a dynamic
control break criterion, the field symbol "<FS_COMP>" would have to be
completely in the work area "<FS_STRUC>", which was used as an output area
when looping on the internal table "<GT_EXCEL>". Since this is not the case
here,
the program "Z_MM_PLAN_FACT" had to be terminated.

_________________
Best regards
Dolbnev Alexandr


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, май 29 2007, 12:40 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, май 24 2006, 09:33
Сообщения: 154
Откуда: Москва
вот такой дампик
и хз что делать ?

_________________
Best regards
Dolbnev Alexandr


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, май 29 2007, 12:49 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, май 24 2006, 09:33
Сообщения: 154
Откуда: Москва
<gt_excel> указатель на таблицу без заголовка, моей произвольной структуры, я переставляю там поля местами для того чтобы

Генерировать отчет с подбиванием итогов на разных уровнях, уровни определяет положение того или иного столбца в таблице <gt_excel>.



Тоесть предположим есть три поля

<gt_excel>

F3 f1 f2



Хочу итоги подбить вот так



Итого по f2



Итого по f1



Итого по f3



Если столбцы бубут иметь такую последовательность

F1 f2 f3

Получу

Итого по f3



Итого по f2



Итого по f1

_________________
Best regards
Dolbnev Alexandr


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, май 29 2007, 13:03 
Начинающий
Начинающий

Зарегистрирован:
Пт, фев 02 2007, 11:37
Сообщения: 7
Цитата:
LOOP AT itab INTO wa.
AT NEW <fs>.
...
ENDAT.
ENDLOOP.


Может нужно вместо этого что-нибудь типа:
LOOP AT itab ASSIGN <wa>.
...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, май 29 2007, 14:38 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Покажите, как <FS_COMP>, <FS_STRUC>
объявляете, присваиваете, переприсваиваете?


Последний раз редактировалось vga Вт, май 29 2007, 14:45, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, май 29 2007, 14:44 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, май 24 2006, 09:33
Сообщения: 154
Откуда: Москва
LOOP AT <gt_excel> assigning fs_struc>.

assign 'LIFNRTXT' to <fs_comp>.

_________________
Best regards
Dolbnev Alexandr


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, май 29 2007, 14:45 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, май 24 2006, 09:33
Сообщения: 154
Откуда: Москва
Задача такая :



<gt_excel> указатель на таблицу без заголовка, моей произвольной структуры, я переставляю там поля местами для того чтобы

Генерировать отчет с подбиванием итогов на разных уровнях, уровни определяет положение того или иного столбца в таблице <gt_excel>.



Тоесть предположим есть три поля

<gt_excel>

F3 f1 f2



Хочу итоги подбить вот так



Итого по f2



Итого по f1



Итого по f3



Если столбцы бубут иметь такую последовательность

F1 f2 f3

Получу

Итого по f3



Итого по f2



Итого по f1









LOOP AT <gt_excel> assigning <fs_struc>.

* Assign component 'LIFNRTXT' of structure <fs_struc> to <fs_comp>.
assign 'LIFNRTXT' to <fs_comp>.


*Assign component 'LIFNRTXT' of structure <fs_struc> to <fs_comp>.
AT END OF <fs_comp>." AT END OF lifnrtxt.

ENDAT.


assign 'WGBEZ' to <fs_comp>.
AT END OF <fs_comp>." AT END OF wgbez.

ENDAT.

assign 'CLASSTXT' to <fs_comp>.
AT END OF <fs_comp>." AT END OF classtxt. ENDAT.

ENDLOOP.
--------------------------------

не получается чего то
не могу усекать ключи в ендэт

_________________
Best regards
Dolbnev Alexandr


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, май 29 2007, 14:45 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, май 24 2006, 09:33
Сообщения: 154
Откуда: Москва
Строка CHR1 CHR2 CHR3 I4
1 a b b 1
2 a b c 2
3 b b d 3
4 c b e 5
5 c d d 2


надо получить картину
b 1
c 2
b 3
a 3
d 3
b 3
b 3
d 2
e 5
d 2
b 5
c 7

_________________
Best regards
Dolbnev Alexandr


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, май 29 2007, 14:52 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, май 24 2006, 09:33
Сообщения: 154
Откуда: Москва
при назначении через филд символ имени компонента дает ошибку

AT_ITAB_FIELD_INVALID

_________________
Best regards
Dolbnev Alexandr


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, май 29 2007, 14:53 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
Error message in ABAP Objects if the following syntax is used:

name = 'WA-COL1'.
ASSIGN (name) TO <fs>.

LOOP AT itab INTO wa.
AT NEW <fs>.
...
ENDAT.
ENDLOOP.

Correct syntax:

name = 'COL1'.

LOOP AT itab INTO wa.
AT NEW (name).
...
ENDAT.
ENDLOOP.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, май 29 2007, 14:56 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, май 24 2006, 09:33
Сообщения: 154
Откуда: Москва
нет я же сказал так не работает у меня цикл вот такой

<fs_tab> без хидер лайна
дает ошибку

LOOP AT <fs_tab> ASSIGNING <wa>.

i1 = i1 + wa-i4.
i2 = i2 + wa-i4.
i3 = i3 + wa-i4.
* Assign component 'CHR3' of structure <wa> to <comp2> .
Assign 'CHR3' TO <comp2>.
AT END OF <comp2>.
write: / <comp2>, i3.
CLEAR: i3.
ENDAT.

Assign component 'CHR2' of structure <wa> to <comp2> .
AT END OF <comp2>.
write: / <comp2> , i2.
CLEAR: i2.
ENDAT.

Assign component 'CHR1' of structure <wa> to <comp2> .
AT END OF <comp2>.
write: / <comp2> , i1.
CLEAR: i1.
ENDAT.
ENDLOOP.

_________________
Best regards
Dolbnev Alexandr


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, май 29 2007, 14:58 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
LOOP AT itab INTO wa. - а вот это по вашему работа с хидерлайн ?


Последний раз редактировалось Lars Вт, май 29 2007, 15:07, всего редактировалось 2 раз(а).

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

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


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

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


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

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