Текущее время: Чт, июл 24 2025, 07:39

Часовой пояс: 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 часа


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

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


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

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