Текущее время: Пт, июл 25 2025, 19:12

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: AT END OF...
СообщениеДобавлено: Ср, май 26 2010, 15:06 
Специалист
Специалист

Зарегистрирован:
Вт, сен 15 2009, 16:41
Сообщения: 201
Пол: Мужской
Lюди , поможайте плиз!!!
В чем может быть проблема???
событие at end of key6 содержит разные значения и должно повторятся при окончивающемся кей6,
а событие at end of key5 содержит все одинаковые значения, и должно выводится тока в конце таблицы, но оно повторяется следом за at end of key6, поломал уже голову не могу понять в чем проблема????
это итоги(key5) и подитоги(ke6)
Таблица отсортирована сначала по key5, потом по key 6 по возрастанию. тексты в кей 5 и кей 6 русскими словами, например "всего лома" - кей6, "общее всего"-кей5.
по идее когда лом кончается должен вывестись кей6 , а кей 5 пропустится, но потом снова кей 6, и потом тока в конце кей5 как общий итог, а у меня на каждый подитог общий итог кей5 выводится((((
ПОМЖАЙТЕ ПЛИЗ!!!!
Code:

FORM pref_print USING ut_itlo TYPE ts_itlo_t
                CHANGING ct_form TYPE zsoi_t_form.
  DATA: lt_itlo_temp TYPE ts_itlo_t
      , ls_itlo_temp TYPE ts_itlo_t
      , ls_itlo TYPE ts_itlo
      , ls_form TYPE zsoi_s_form.

   APPEND LINES OF ut_itlo TO lt_itlo_temp.
   DELETE lt_itlo_temp WHERE matnr IS INITIAL.
   sort lt_itlo_temp by key4  ascending
                        key5  ascending
                        key6  ascending
                                      .
     ls_form-nline = 'X'.
       loop at lt_itlo_temp into ls_itlo.
          ls_form-name = 'LP'.
          perform add_rows_from_structure in program saplzrpf
            tables
                ls_form-tab_items
            using
                ls_itlo
                ls_form-name.

          append ls_form to ct_form. refresh ls_form-tab_items.

          at end of key6.
            sum.
            ls_form-name = 'L_4_M'.

            perform add_rows_from_structure in program saplzrpf
              tables
                  ls_form-tab_items
              using
                  ls_itlo
                  ls_form-name.

            append ls_form to ct_form. refresh ls_form-tab_items.
          endat.



          at end of key5.
            sum.
            ls_form-name = 'L_3_M'.

              perform add_rows_from_structure in program saplzrpf
              tables
                  ls_form-tab_items
              using
                  ls_itlo
                  ls_form-name.
           append ls_form to ct_form. refresh ls_form-tab_items.
         endat.
    endloop


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: AT END OF...
СообщениеДобавлено: Ср, май 26 2010, 15:22 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
В справке:
Цитата:
The control breaks take place when the content of the component compi or another component to the left of compi changes.

видимо меняется значение в полях, предшествующих вашему key5.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT END OF...  Тема решена
СообщениеДобавлено: Ср, май 26 2010, 15:26 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 02 2009, 22:28
Сообщения: 228
Откуда: MOW
Пол: Мужской
Описание типа ts_itlo_t в студию !
Дело в том, что порядок следования полей в таблице имеет значение.
Если вы пишете AT END OF field, то оно будет срабатывать как при изменении самого field, так и тех полей, которые стоят в таблице непосредственно перед ним.

Code:
REPORT  ZTEST.

DATA: BEGIN OF lt_dat OCCURS 0,
        field1 type char10,
        field2 type char10,
      END OF lt_dat.

lt_dat-field1 = '1'. lt_dat-field2 = '11'. APPEND lt_dat.
lt_dat-field1 = '2'. lt_dat-field2 = '21'. APPEND lt_dat.
lt_dat-field1 = '2'. lt_dat-field2 = '22'. APPEND lt_dat.
lt_dat-field1 = '3'. lt_dat-field2 = '22'. APPEND lt_dat.

LOOP AT lt_dat.
  AT END OF field1.
    WRITE: / 'end of field1', lt_dat-field1.
  ENDAT.

  AT END OF field2.
    WRITE: / 'end of field2', lt_dat-field2.
  ENDAT.
ENDLOOP.


Вывод
Цитата:
end of field1 1
end of field2 11
end of field2 21
end of field1 2
end of field2 22
end of field1 3
end of field2 22


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: AT END OF...
СообщениеДобавлено: Ср, май 26 2010, 15:40 
Специалист
Специалист

Зарегистрирован:
Вт, сен 15 2009, 16:41
Сообщения: 201
Пол: Мужской
СПАСИБО!!! ТЕМА РАСКРЫТА!!!
и в самом деле в ке3 было поле которое изменялось!:)


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

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


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

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


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

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