Дополнительно
Как получить количество строк внутренней таблицы в abap?
Как получить количество строк внутренней таблицы? Я предполагаю, что я могу сделать цикл на ней. Но должен быть более разумный способ.
Не знаю, имеет ли это значение, но код должен работать на версии 4.6c.
32
9
Для этой задачи также существует встроенная функция:
Подобно "чистому" синтаксису ABAP, описанному в IronGoofy, функция "lines( )" записывает в переменную количество строк таблицы itab_name.
Вы можете использовать следующую функцию:
После вызова переменная содержит количество строк внутренней таблицы .
Помимо рекомендованного
существует также системная переменная
сы-TFILL
.Из документации:
Пример скрипта:
Результат:
Обратите внимание на значение 0 для 2-го запись:
сы-TFILL
не обновлялась с каждым шагом, только после первого цикла.Я рекомендую использование сы-TFILL только, если вам это нужно непосредственно после "читать" (1)... Если есть другие команды между "читать" и использование сы-TFILL, всегда существует опасность изменения системной переменной.
(1) или описать таблицу.
Refreance: http://www.sapnuts.com/courses/core-abap/internal-table-work-area.html
Функциональные EM_GET_NUMBER_OF_ENTRIES модуль также обеспечивает подсчет строк. Он принимает 1 параметр - имя таблицы.
вы также можете использовать откройте SQL, чтобы найти количество строк, используя граф П. группирование и также есть поле системы СИ-LINCT для подсчета строк(строк) таблицы.
Ответ будет 3. (vcnt = 3).`
если я правильно понял ваш вопрос, вы хотите узнать номер строки во время условного цикла над внутренней таблицей. При работе с внутренними таблицами вы можете использовать системную переменную sy-tabix. Пожалуйста, обратитесь к документации ABAP, если вам нужна дополнительная информация (особенно к главе Обработка внутренних таблиц).
Пример:
Я не'т думаю, что есть параметр SAP для такого результата. Хотя код ниже будет доставлять.