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

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


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

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


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

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