Текущее время: Пн, июл 28 2025, 06:31

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Drill-down в Query по периодам
СообщениеДобавлено: Вс, июн 06 2010, 15:39 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Ср, апр 18 2007, 07:27
Сообщения: 895
Пол: Мужской
Добры день всем !

Имею таблицу итоговых записей, в которой 12 полей, суммы которых соответствуют каждому периоду в финансовом году.
Имею другую таблицу, только уже с отдельными позициями, но таблица имеет поля ФинГод и Период. Каждая проводка записывается в эту таблицу с ключем - ФинГод+Период.

Создаю в Query два отчета: один для таблицы с итоговыми записями, другой - для таблицы с отдельными позициями.

Прописываю в Присвоении отчета итоговых записей отчет с отдельными позициями.

После выполнения отчета с итоговыми записями отображается 12 колонок с суммами по каждому месяцу.
Когда проваливаюсь в одну из строчек (drill-down), то открываются ВСЕ отдельные позиции за ВСЕ 12 периодов, хотя мне надо только по одному.

Номер периода находится в названии переменной из таблицы итоговых записей, например HSL01, HSL2, HSL3 ....HSL12.
Подскажите, пожалуйста ,как сделать drill-down по каждому отдельному периоду ?

Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Drill-down в Query по периодам
СообщениеДобавлено: Пн, июн 07 2010, 08:14 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
Нужно в вызываемом отчете отграничивать данные. Он вызывается без параметров? Если без, то использовать, например, ABAP-память для сохранения номера периода в вызывающем отчете, а в вызываемом читать из нее.

_________________
Волю в кулак, мышцы в узду, работай себе и не ахай!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Drill-down в Query по периодам
СообщениеДобавлено: Пн, июн 07 2010, 09:30 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Ср, апр 18 2007, 07:27
Сообщения: 895
Пол: Мужской
Sergo написал:
Нужно в вызываемом отчете отграничивать данные. Он вызывается без параметров? Если без, то использовать, например, ABAP-память для сохранения номера периода в вызывающем отчете, а в вызываемом читать из нее.


Спасибо.
Я это всё прекрасно понимаю, если бы это не был инструмент Query.
В вызываемом отчете есть параметр "Период". Однако, при вызове я не могу его заполнить, так как в отчете, который его вызывает, нет поля "Период". Номер периода находится в коде переменной итоговой таблицы, например HSL01, HSL2, HSL3 ....HSL12.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Drill-down в Query по периодам
СообщениеДобавлено: Вт, июн 08 2010, 08:43 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
В кодировках инфо-набора вызываемого отчета:

1. Кодировка DATA:
Code:
* selection data
DATA IT_SEL    LIKE RSTISEL    OCCURS 10 WITH HEADER LINE.
* information concerning the fields in it_sel
DATA IT_FIELDS LIKE RSTIFIELDS OCCURS 10 WITH HEADER LINE.


2. Кодировка INITIALIZATION:
Code:
CALL FUNCTION 'RSTI_SELECTION_IMPORT'
  TABLES
    IT_SEL    = IT_SEL
    IT_FIELDS = IT_FIELDS
  EXCEPTIONS
    OTHERS    = 9.


* Определить нажатое поле из IT_FIELDS
* По опреденному имени поля заполнить критерии вызова вызываемого отчета

_________________
Волю в кулак, мышцы в узду, работай себе и не ахай!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Drill-down в Query по периодам
СообщениеДобавлено: Вт, июн 08 2010, 09:20 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Ср, апр 18 2007, 07:27
Сообщения: 895
Пол: Мужской
Добрый день ,спасибо большое !

1) Поставил BREAK-POINT в INITIALIZATION, чтобы посмотреть, что находится в IT_FIELDS. Однако, там я не нашел никаких признаков, чтобы можно было определить имя колонки, в которую я провалился. В IT_SEL находятся значения строки, в которую я провалился. Но мне нужно идентификатор колонки.

2) Подскажите, пожалуйста, после определения имени поля, где заполнить критерии вызова вызываемого отчета ?

Спасибо огромное !


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Drill-down в Query по периодам
СообщениеДобавлено: Вт, июн 08 2010, 10:25 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
BRILDI написал:
Добрый день ,спасибо большое !
1) Поставил BREAK-POINT в INITIALIZATION, чтобы посмотреть, что находится в IT_FIELDS. Однако, там я не нашел никаких признаков, чтобы можно было определить имя колонки, в которую я провалился. В IT_SEL находятся значения строки, в которую я провалился. Но мне нужно идентификатор колонки.
!

Что у вас находится в IT_FIELDS и IT_SEL? Приведите содержимое этих таблиц.

BRILDI написал:
2) Подскажите, пожалуйста, после определения имени поля, где заполнить критерии вызова вызываемого отчета ?


Либо в INITIALIZATION, либо в AT SELECTION-SCREEN OUTPUT.

_________________
Волю в кулак, мышцы в узду, работай себе и не ахай!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Drill-down в Query по периодам
СообщениеДобавлено: Вт, июн 08 2010, 13:35 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Ср, апр 18 2007, 07:27
Сообщения: 895
Пол: Мужской
Цитата:
1) Что у вас находится в IT_FIELDS и IT_SEL? Приведите содержимое этих таблиц.


Я кликаю дрилл-даун по колонке с идентификатором HSL01.

IT_SEL содержит (вывожу непустые значения). Здесь находятся все значения строчки, по которой я кликнул. А мне нужен идентификатор колонки.
Code:
        SERNR|FIELD                         |SIGN|OPTION|LOW
    1   0000 |HSLVT                         |I   |EQ    |               5379524.17<
    2   0000 |HSL02                         |I   |EQ    |                     0.00<
    3   0000 |CURR1002                      |I   |EQ    |                         <
    4   0000 |%Z_0004                       |I   |EQ    |              42494673.81<
    5   0000 |BESCHR001                     |I   |EQ    |Технический Фонд         <
    6   0000 |TEXT1                         |I   |EQ    |Тех. ФП дебиторы 36      <
    7   0000 |L1                            |I   |EQ    |                         <
    8   0000 |RLDNR                         |I   |EQ    |Z1                       <
    9   0000 |RZZLINE                       |I   |EQ    |E2511                    <
   10   0000 |RZZSOURCE                     |I   |EQ    |NAD                      <
   11   0000 |RZZVENDOR                     |I   |EQ    |                         <
   12   0000 |RZZFIPOS                      |I   |EQ    |962                      <
   13   0000 |RZZFISTL                      |I   |EQ    |999                      <
   14   0000 |RZZGEBER                      |I   |EQ    |999                      <
   15   0000 |RACCT                         |I   |EQ    |0036120000               <
   16   0000 |RBUKRS                        |I   |EQ    |1000                     <
   17   0000 |RTCUR                         |I   |EQ    |UAH                      <
   18   0000 |RYEAR                         |I   |EQ    |2010                     <
   19   0000 |RVERS                         |I   |EQ    |001                      <
   20   0000 |RRCTY                         |I   |EQ    |0                        <


IT_FIELDS содержит (вывожу непустые значения)
Code:
        FIELD                         |ROLLNAME                      |DOMNAME
    1   HSLVT                         |HSLVT9                        |WERTV9       
    2   HSL02                         |HSLXX9                        |WERTV9       
    3   CURR1002                      |CURR1                         |WAERS         
    4   %Z_0004                       |                              |             
    5   BESCHR001                     |FM_BESCHR                     |TEXT40       
    6   TEXT1                         |FM_BESCHR0                    |TEXT50       
    7   L1                            |ZFI_CG_NAME_R                 |             
    8   RLDNR                         |RLDNR                         |RLDNR         
    9   RZZLINE                       |ZLINE                         |ZLINE         
   10   RZZSOURCE                     |ZSOURCE                       |ZSOURCE       
   11   RZZVENDOR                     |ZVENDOR                       |ZVENDOR       
   12   RZZFIPOS                      |FIPOS                         |FIPOS         
   13   RZZFISTL                      |FISTL                         |FISTL         
   14   RZZGEBER                      |BP_GEBER                      |BP_GEBER     
   15   RACCT                         |RACCT                         |SAKNR         
   16   RBUKRS                        |BUKRS                         |BUKRS         
   17   RTCUR                         |RTCUR                         |WAERS         
   18   RYEAR                         |GJAHR                         |GJAHR         
   19   RVERS                         |RVERS                         |RVERS         
   20   RRCTY                         |RRCTY                         |RRCTY         



Цитата:
2) Либо в INITIALIZATION, либо в AT SELECTION-SCREEN OUTPUT.

На селекционном экране поле Период (типа select-options). И Query автоматически присвоило ему поле экрана SP$00005.
Когда в INITIALIZATION пишу

Code:
SP$00005-LOW = '7'.
SP$00005-SIGN = 'I'.
SP$00005-OPTION = 'EQ'.
APPEND SP$00005.


то при генерации инфонабора вываливается ошибка "Field "SP$00005-LOW" is unknown. It is neither in: one of the specified: ":


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Drill-down в Query по периодам
СообщениеДобавлено: Вт, июн 08 2010, 15:52 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
BRILDI написал:
Я кликаю дрилл-даун по колонке с идентификатором HSL01.

Точно по HSL01? Судя по IT_FIELDS - на HSL02 :(

_________________
Волю в кулак, мышцы в узду, работай себе и не ахай!


Последний раз редактировалось Sergo Вт, июн 08 2010, 15:55, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Drill-down в Query по периодам
СообщениеДобавлено: Вт, июн 08 2010, 15:55 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
BRILDI написал:

На селекционном экране поле Период (типа select-options). И Query автоматически присвоило ему поле экрана SP$00005.
Когда в INITIALIZATION пишу

Code:
SP$00005-LOW = '7'.
SP$00005-SIGN = 'I'.
SP$00005-OPTION = 'EQ'.
APPEND SP$00005.


то при генерации инфонабора вываливается ошибка "Field "SP$00005-LOW" is unknown. It is neither in: one of the specified: ":

Естественно.

Критерий выбора SP$00005 определен, видать, в запросе. А обращаетесь вы к нему еще в в инфо-наборе, который знать не знает о будующих запросах.
Потмоу лучше определить критерий выбора прямо в инфо-наборе, и его заполнять, и по нему ограничивать в самом же инфо-наборе.

_________________
Волю в кулак, мышцы в узду, работай себе и не ахай!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Drill-down в Query по периодам
СообщениеДобавлено: Вт, июн 08 2010, 16:00 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Ср, апр 18 2007, 07:27
Сообщения: 895
Пол: Мужской
Sergo написал:
Точно по HSL01? Судя по IT_FIELDS - на HSL02 :(


Пробовал кликать по разным колонкам.
IT_FIELDS показывать одно и то же - HSL02 .


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Drill-down в Query по периодам
СообщениеДобавлено: Вт, июн 08 2010, 16:02 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Ср, апр 18 2007, 07:27
Сообщения: 895
Пол: Мужской
Sergo написал:
Потмоу лучше определить критерий выбора прямо в инфо-наборе, и его заполнять, и по нему ограничивать в самом же инфо-наборе.


Добавил критерий выбора Период, и заполнил его в INITIALIZATION.
Программа стала выбирать только один Период.

Как бы теперь его "вычленить" из идентификатора колонки ?
Code:
    2   HSL02                         |HSLXX9                        |WERTV9   

Здесь HSL2 - это последняя колонка в моем отчете. Я вывел в отчет только две колонки - для 1 и 2 периода.
Добавил еще колонки для 3,4 и 5 периода, теперь возвращается значение HSL05, хотя кликаю по разным колонкам.

Может нужно в главном отчете, из которого делаю дрилл-даун, вставить CALL FUNCTION 'RSTI_SELECTION_EXPORT' ?
Только куда ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Drill-down в Query по периодам
СообщениеДобавлено: Вт, июн 08 2010, 21:55 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
Странно. У меня вроде колонка, по которй кликал, была в T_FIELDS. Завтра гляну точно.

_________________
Волю в кулак, мышцы в узду, работай себе и не ахай!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Drill-down в Query по периодам
СообщениеДобавлено: Ср, июн 09 2010, 09:00 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
Когда стоит галка Abap-список в вызывающем запросе, то при при двойном нажатии на строке выводимого отчета как раз присутствует имя поля в IT_FIELDS, на котором два раза нажали.
Когда же стоит галка SAP List Viewer в вызывающем запросе, то при при двойном нажатии на строке ALV выводимого отчета IT_FIELDS ведет как раз как вы и описали.

_________________
Волю в кулак, мышцы в узду, работай себе и не ахай!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Drill-down в Query по периодам
СообщениеДобавлено: Ср, июн 09 2010, 10:13 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
Попробуйте добавить в вызываемом запросе поля HSL01, HSL02, ... HSL12 (с такими же именами как и в вызывающем). Но не выводите их. По совпадению имен передаются переменные. В этом случае в IT_FIELDS появится имя поля HSL... при двойном клике на нем?

_________________
Волю в кулак, мышцы в узду, работай себе и не ахай!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Drill-down в Query по периодам
СообщениеДобавлено: Ср, июн 09 2010, 10:48 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Ср, апр 18 2007, 07:27
Сообщения: 895
Пол: Мужской
Спасибо, Вам огромное !
Действительно, в 5 строке IT_FIELDS возвращается идентификатор колонки.
Однако, если использовать АБАП-список, то мой отчет более 255 символов, и строки автоматически переносятся :( Не красиво.


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

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


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

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


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

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