Текущее время: Вс, июн 22 2025, 06:01

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Класс сообщений: вывод количества записей во всплывающем окне
СообщениеДобавлено: Чт, апр 04 2019, 12:21 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Ср, фев 20 2019, 12:37
Сообщения: 4
Откуда: Москва
Пол: Мужской
Всем добрый день!

Прошу подсказать по следующему вопросу:
Задача:
Вывести количество полученных записей из внутренней таблицы во всплывающем окне.
Покопавшись в интернете, пришел к выводу, что данную задачу, возможно сделать тремя способами:
1. Через цикл
2. Через оператор DESCRIBE TABLE
3. С помощью стандартного ФМ EM_GET_NUMBER_OF_ENTRIES
Прошу подсказать, как ее можно выполнить данными способами.
Пробовал сделать через цикл, но, похоже, сама ошибка в счётчике, т.к. он не считает у меня количество записей.

Data amount TYPE n.

CALL FUNCTION 'ZTAX_TEST_FM_ZFI189'
EXPORTING
ir_kosar = it_range_kosar
IMPORTING
er_mvz = gt_mvz.

amount = 0.
LOOP AT gt_mvz INTO gs_mvz.
amount = amount + 1.
ENDLOOP.

IF amount > 0.
MESSAGE i003 WITH amount.
ELSE.
MESSAGE i002.
ENDIF.
ENDIF.

Сообщение выдаёт правильное, но пишет "1 найдено записей". Должно выдавать следующее сообщение "2670 найдено записей", равное количеству записей в er_mvz.

Если выполнять задачу с помощью ФМ, то возможно ли, вставить данный ФМ в созданный мной ФМ ZTAX_TEST_FM_ZFI189 и, если возможно, то каким образом?

Заранее спасибо всем за помощь.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Класс сообщений: вывод количества записей во всплывающем окне
СообщениеДобавлено: Чт, апр 04 2019, 12:28 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Сумбурно как то написано...

Цитата:
Задача:
Вывести количество полученных записей из внутренней таблицы во всплывающем окне.


Одно из решений - оператор LINES + message I


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Класс сообщений: вывод количества записей во всплывающем окне
СообщениеДобавлено: Чт, апр 04 2019, 12:37 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
В целом:

Цитата:
Data amount TYPE n.

Почему тип N, а не I например?

Цитата:
3. С помощью стандартного ФМ EM_GET_NUMBER_OF_ENTRIES

Он работает с таблицами БД, а не с внутренней таблицей. Вам надо кол-во записей из БД или из внутренней таблицы?

Цитата:
то возможно ли, вставить данный ФМ в созданный мной ФМ ZTAX_TEST_FM_ZFI189

Вызывать ФМы внутри других ФМов - можно.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Класс сообщений: вывод количества записей во всплывающем окне
СообщениеДобавлено: Чт, апр 04 2019, 12:50 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Ср, фев 20 2019, 12:37
Сообщения: 4
Откуда: Москва
Пол: Мужской
Я не являюсь программистом, который пишет на ABAP.
Скорее, при возможности и свободном времени, стараюсь саморазвиваться и пробовать писать самые элементарные и простые вещи.

Besa написал:
В целом:

Цитата:
Data amount TYPE n.

Почему тип N, а не I например?

В стандартных таблицах посмотрел, что числа идут, в основном, с типом NUMC. По этой причине с мной написан N.

Цитата:
3. С помощью стандартного ФМ EM_GET_NUMBER_OF_ENTRIES

Он работает с таблицами БД, а не с внутренней таблицей. Вам надо кол-во записей из БД или из внутренней таблицы?

Мне надо из внутренней таблицы, а не из БД.

Цитата:
Одно из решений - оператор LINES + message I


Спасибо, посмотрю справку по данному оператору.

А что не так с циклом?
И как можно выполнить данную задачу с помощью оператора DESCRIBE TABLE?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Класс сообщений: вывод количества записей во всплывающем окне
СообщениеДобавлено: Чт, апр 04 2019, 13:00 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вт, сен 05 2017, 23:56
Сообщения: 537
Code:
DATA: tab TYPE TABLE OF p0001.
DATA lin TYPE i.


DESCRIBE TABLE tab LINES lin.

  WRITE :/ 'Total lines:', lin.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Класс сообщений: вывод количества записей во всплывающем окне
СообщениеДобавлено: Чт, апр 04 2019, 13:05 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Yozhik написал:
Я не являюсь программистом, который пишет на ABAP.
Скорее, при возможности и свободном времени, стараюсь саморазвиваться и пробовать писать самые элементарные и простые вещи.

Рекомендую начать с самой простой документации по ABAP(какие бывают типы данных, что такое внутренние таблицы и как с ними работать и т.д.) + хелп + тр ABAPDOCU

Yozhik написал:
Спасибо, посмотрю справку по данному оператору.

Это хорошая мысль, заодно посмотрите про DESCRIBE TABLE, в справке есть примеры

Yozhik написал:
А что не так с циклом?

То что это лишний цикл который не нужен.
А счетчик Ваш не работает из-за типа данных, как я писал выше.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Класс сообщений: вывод количества записей во всплывающем окне
СообщениеДобавлено: Чт, апр 04 2019, 13:32 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Ср, фев 20 2019, 12:37
Сообщения: 4
Откуда: Москва
Пол: Мужской
Besa написал:
Рекомендую начать с самой простой документации по ABAP(какие бывают типы данных, что такое внутренние таблицы и как с ними работать и т.д.) + хелп + тр ABAPDOCU

Спасибо. Изучаю + стараюсь, по возможности, написать что то простое сам, основываясь на полученной информации.
Так же, изучаю курс BC400 + книгу Рюдигера Кречмера.

Besa написал:
Это хорошая мысль, заодно посмотрите про DESCRIBE TABLE, в справке есть примеры

Да, дополнение №2. Я его пытался воспроизвести, но, счётчик все так не работал. Как выяснилось, по причине неверного типа данных.
Написал:

DATA amount TYPE i.
DESCRIBE TABLE gt_mvz LINES amount.
ASSERT amount = amount.

Все работает. Так же, ничего не менял в той части, где написан у меня цикл, но поменял тип данных на i - все заработало.

Besa, Kuranov.Dmitry,
Спасибо Вам за помощь.


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

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


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

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


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

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