Текущее время: Ср, апр 24 2024, 12:06

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


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

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


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

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