Sap выгрузка в excel
Часовой пояс: UTC + 3 часа
Правила форума
Вопросы по SAP Query и Quick View - сюда
выгрузка в excel
Подскажите пожалуйста, почему при использовании ф-ции EXCEL_OLE_STANDARD_DAT при выгрузке числовых данных запятая отделяющая десятичные заменяется на точку? Как сделать чтобы это не происходило. И еще почему формируются два файла .txt и .xls
Спасибо.
При любой выгрузке (в текст, в Excel через OLE или интерфейсы) данные выгружаются в ТЕКСТОВОМ виде, т.е. как строка.
В результате, при выгрузке значение поля суммы, например, заменяется результатом оператора, например следующей формы
WRITE TO CURRENCY .
Далее смотрим персональные настройки - что является разделителем для вас десятичной и дробной части (поле USR01-DCPFM).
Дальше требуется понять, поймет ли Excel выгруженное значение как число - это произойдет только если форматы Regional Settings в Windows и настройки в R/3 совпадают. Конечно, всем этим можно управлять программно при выгрузке.
Вот, пожалуй, и все.
_________________
"Прежде чем сделать что-то, подумай, к чему это может привести. "
Ничего не получается, у меня колличество, а не деньги
она не хочет преобразовывать символьную строку "365,23000" в число упакованного типа.
Хотя при выгрузке с помощью функции SAP_CONVERT_TO_XLS_FORMAT все нормально.
Хотелось бы знать как этим можно управлять программно при выгрузке.
Судя по тексту данного ФМ, то там жестко зашит формат вывода чисел с десятичным разделителем как '.' (см form translate_data в include LSLPCF02).
Из моего опыта общения с парой SAP-Excel могу сказать, что существует три основных способа вставки табличных данных в Excel.
1. Можно вставить данные в Excel через буфер обмена на клиентской машине. (для этого их надо туда скопировать, например, с помощью ФМ CLPB_EXPORT)
2. Можно выгрузить tab-delimited файл клиенту и открыть его в Excel.
3. Можно выгрузить файл в каком-нибудь формате на машину клиенту и вставить его в Excel через QueryTables.
При втором способе почти не получится влиять на преобразование типов полей, а в первом варианте это не достаточно гибко. В третьем же случае можно определять формат вставляемого файла как угодно (задавать и разделитель, и формат столбцов).
Названия готового ФМ сам не знаю, но можно довольно легко написать собственный ФМ, работающий с Excel через OLE, например, одним из перечисленных способов (при этом гибкость реализации будет выше).
_________________
Счастье есть!
Часовой пояс: UTC + 3 часа
Кто сейчас на конференции
Рано или поздно каждый консультант сталкивается с задачей быстрой и эффективной обработки большого массива данных из системы. Предметная область тут неважна. Многие компании практически не используют современные аналитические решения на благо повседневной трудовой деятельности. Причин тому много, но сегодня речь о другом. Наиболее типичные ситуации, это сверка данных при миграции данных или выгрузка большого объема данных из системы с целью последующей обработки в MS Excel. В 99% случаев будут именно такие задачи.
Вроде бы что сложного в выгрузке данных из отчета в системе? Совершенно ничего, когда мы говорим о паре десятков или сотен строк. Если речь идет о десятках тысяч строк или сотен тысяч строк, то мировоззрение начинает меняться. Попробуйте в ваших системах запустить оперативный запрос с даты старта SAP по паре инфотипов. А потом все это выгрузите и нарисуйте несколько формул рядом.
Исходя из моего опыта, могу дать некоторые базовые советы.
Совет 1. Выгрузка в MS Excel может быть осуществлена множеством способов. Даже нажимая одну кнопочку выгрузки разные системы обрабатывают событие по-разному. В ALV отчетах есть две возможность выгрузить данные в файл.
Левая кнопочка зависимости от версии системы либо откроет MS Excel Inplace (то есть внутри системы откроется XLS файл). Очень неудобно, мелко, но достаточно для просмотра пары записей. Файл можно сохранить. В другом случае система спросит, в каком формате желаете выгрузить данные.
По умолчанию у всех стоит первый вариант — MHTML. И не дай вам чебурашке выгружать тысячи записей в этом формате. Система внутри готовит данные, потом запускает XLST трансформацию и вываливает все это в страшненький полу-HTML код. Это занимает очень много памяти на сервере и часто приводит к дампам. При открытии такого файла Excel наоборот производит конвертацию из XML файла в свой XLS формат, что, по сути, дублирует работу. Если выгружать сразу в Excel XLS/XLSX формате, то лишние действия не производятся, файл выгружается существенно быстрее.
Если вы нажимаете вторую кнопочку в панели инструментов, то открывается вот такое окно:
Здесь выбираем ‘Text with Tabs». Это единственный правильный вариант выгрузки данных без каких-либо преобразований. Это самый быстрый вариант. Данные вылетают пулей, ложатся в плоский текстовый файл и не жужжат. У подхода есть один недостаток — надо открыть файл ручками, удалить саповский кривой заголовок с названием отчета/транзакции и даты запуска. После этого такой файл легко импортируется в Excel/Access/MySQL/SQLite или еще куда. Сохраняется все оригинальное форматирование из базы данных. И это БЫСТРО, ОЧЕНЬ быстро.
Совет 2. Допустим вы открыли мегафайл. Сделали колонку с парой функций внутри и протянули на все тысячи строк. Все, «давай, до-свидания». Глупый Excel начнет проявлять клиенто-ориентированность и будет сразу все обсчитывать. Каждая новая колонка будет увеличивать время обработки данных. Чтобы избежать таких инсенуаций, нужно перед началом работы с файлом отключить автоматический обсчет формул. Это делается на закладке «Формулы». На английском это Calculation Options. После этого спокойно пишем формулы, по кнопочке F9 тестируем результат. Практикуемся на небольшом объеме данных. Когда все отладили, протягиваем, нажимаем F9 и идем за кофе. Результат будет достигнут в разы быстрее.
Совет 3. Если мы уже в Excel сделали много формул, а дальше хотим развивать мысль, то рекомендуется сделать копию файла и заменить все формулы на значения. Копируем колонку/строку и вставляем на саму себя с опцией «Как значения». Это заменит все формулы на уже посчитанные значения, а значит системе не нужно пересчитывать все миллионы комбинаций при каждом изменении данных или формул.
Совет 4. Если вам нужно что-то удалить на больших данных, отфильтровать и удалить, то всегда сначала сортируйте данные, а потом включайте фильтр или производите удаление. На сортированных данных фильтрация и удаления происходят раза в два быстрее.
Совет 5. Если вам нужно обрабатывать всякие меппинги, справочники, то выгружать данные нужно по второму варианту из совета 2 в текстовый файл. Это сохранит все форматирование «как было». Плюс, при импорте данных выделите все столбцы и укажите тип «Текст». Это запретит Excel думать и преобразовывать данные на свой манер. Так, для справочника значение «01» останется как «01», а не 1. При сравнениях это очень сильно вредит.
Совет 6. Ключевые вещи, которые должен знать каждый консультант: Pivot table, INDEX, MATCH, VLOOKUP, SUMIF, IFNA, IF, VALUE, REPLACE, Named Ranges, Data Validation, Data Analyses.
Экспортировать данные из SAP в Excel довольно просто. Ниже описано, как экспортировать таблицу SAP в Excel или экспортировать отчет SAP в Excel с помощью другой процедуры. После выполнения экспорта в SAP Excel вы сможете поэкспериментировать с извлечением данных из SAP с помощью расширенного vlookup в Excel, сравнения строк в Excel, подсчета количества вхождений и других стандартных функций электронных таблиц.
Как экспортировать данные SAP в Excel?
Экспортировать данные из SAP в Excel довольно просто. Ниже описано, как экспортировать таблицу SAP в Excel или экспортировать отчет SAP в Excel с помощью другой процедуры. После выполнения экспорта в SAP Excel вы сможете поэкспериментировать с извлечением данных из SAP с помощью расширенного vlookup в Excel, сравнения строк в Excel, подсчета количества вхождений и других стандартных функций электронных таблиц.
Оказавшись в транзакции отображения таблицы в системе SAP, найдите значок стрелки в верхней части таблицы и щелкните по нему.
Там должна быть опция под названием Spreadsheet.
Выберите эту опцию, сохраните файл локально и откройте его в Excel - электронная таблица на самом деле будет файлом Excel, несмотря на то, что она не вызывается напрямую в SAP.
Экспорт таблицы в SAP в Excel
Начиная с экрана отображения таблицы, такого как отображение записей транзакции SE16N, с таблицей MARC, выбранной для отображения, данными завода для материала, найдите значок со стрелкой вверху таблицы.
- Электронная таблица будет экспортировать данные SAP в Excel,
- обработка текста экспортирует данные SAP в Word,
- локальный файл экспортирует данные в текстовый файл, который можно открыть с помощью Notepad ++ или другого текстового редактора,
- отправка откроет внутренний документ создания SAP и отправит транзакцию,
- сохранение в SAP сохранит данные в SAP,
- ABC анализ покажет некоторые графики,
- HTML скачать предложит данные для загрузки в HTML-файл для отображения в браузере или опубликовать в Интернете.
Чтобы экспортировать данные SAP в Excel, выберите параметр «Электронная таблица».
Параметры экспорта из SAP в электронную таблицу
После выбора экспорта электронной таблицы будет предложено несколько вариантов, позволяющих экспортировать файл в различные форматы из Excel MHTML, что может быть полезно для файлов, слишком больших для Excel, формата OpenOffice или других форматов: внутренний формат XML SAP, Формат Excel MHTML, формат Excel Office 2003 XML, формат OpenOffice OpenDocument 2.0, Excel в существующем формате XXL, формат Excel MHTML на 2000/1997 годы, формат Excel Office Open XML (XLSX).
Последний, офисный формат XML Open XML XLSX, является стандартным форматом для последней программы Microsoft Excel 2016 и Excel Office 356.
Выберите формат Excel Office Open XML, чтобы выполнить экспорт данных SAP в MSExcel.
Экспорт данных SAP в файл Excel
Следующим шагом будет сохранение файла Excel, содержащего экспортированные данные SAP, на компьютере. Откроется приглашение, расположенное по умолчанию в папке экспорта SAP по умолчанию, которая обычно представляет собой папку графического интерфейса пользователя SAP, расположенную в папке файлов программного обеспечения локального компьютера.
Скорее всего, файл уже будет существовать, особенно при экспорте большого количества данных. Если необходимо отобразить данные только в Excel, чтобы выполнить несколько операций копирования и вставки в другую электронную таблицу Excel или в другую программу, достаточно заменить существующий файл.
Экспорт данных SAP открыт в Excel
После того, как файл будет сохранен на компьютере, Excel автоматически откроет экспорт данных SAP, который только что был создан.
Ожидайте некоторое время, чтобы открыть программу, в зависимости от длины файла.
Как правило, почти невозможно открыть файл, содержащий более 50000 записей.
В этом случае необходимо использовать критерии фильтрации в SAP, чтобы экспортировать меньше данных, а затем копировать и вставлять их вручную один за другим из разных экспортов Excel в один файл Excel.
И вот, через некоторое время программа Excel отобразит экспортированный файл данных SAP в электронной таблице.
Теперь можно воспроизводить данные, поступающие прямо из SAP S/4 HANA в Excel Office 365 или другой версии Office.
Как загрузить огромные данные из таблицы SAP?
Для загрузки огромных данных из таблицы SAP лучше всего использовать загрузку фонового файла, вместо того чтобы напрямую открывать экспорт данных SAP в электронную таблицу Excel - точно так же, как при экспорте отчета SAP в Excel.
Выберите формат экспорта, который занимает меньше места, например не преобразованный, поскольку, например, использование экспорта HTML значительно увеличит пространство файла, добавив дополнительные символы HTML.
Как скачать огромные данные из таблицы SAP? Выберите текст с опцией экспорта вкладок, так как это самый легкий экспорт
Необращенный экспорт данных SAP - лучший способ загрузить огромные данные из таблицы SAP, так как файловое пространство на диске будет сокращено. Просто откройте его в Excel как текстовый файл со столбцами, разделенными символом «|».
Если данные для загрузки из SAP по-прежнему слишком велики, попробуйте загрузить их несколькими небольшими порциями, используя транзакцию SAP для просмотра данных SE16N, например, с фильтрами, и выполните несколько экспортов данных.
SAP GUI по умолчанию выбран формат экспорта SAP Excel, как его изменить?
Если вы выполнили процесс экспорта SAP Excel с помощью электронной таблицы Excel и использовали опцию «всегда использовать выбранный формат», опция выбора экспорта Excel всегда будет использоваться в системе SAP для вашего пользователя.
Чтобы изменить выбранный формат экспорта SAP Excel по умолчанию, просто откройте отчет, например представление таблицы в SE16N, и щелкните правой кнопкой мыши в любом месте таблицы.
В открывшемся контекстном меню выберите опцию «Электронная таблица . », и всплывающее окно, позволяющее выбрать формат экспорта SAP Excel из списка доступных форматов, вернется в ваш графический пользовательский интерфейс SAP вместе с возможностью отменить выбор. Опция «всегда использовать выбранный формат».
Извлечение SAP в Excel будет выполнено в соответствии с вновь выбранным форматом экспорта SAP Excel и будет установлено по умолчанию или нет, в зависимости от того, выбрали ли вы вариант экспорта SAP Excel «всегда использовать выбранный формат».
Как скачать ABAP Excel?
Можно запрограммировать загрузку ABAP Excel для экспорта данных в нужный формат файла, создав внутреннюю таблицу, которая затем будет загружена пользователем SAP.
Однако создание загрузки ABAP Excel - это техническая операция, которую должен выполнить разработчик с правом доступа к системе. Лучшее решение для этого - следовать пути обучения SAP ABAP Programmer и создавать программу самостоятельно или попросить компетентного консультанта сделать это от вашего имени.
Отсутствует опция экспорта SAP в электронную таблицу, что делать?
Если у вас отсутствует опция экспорта SAP в электронную таблицу, скорее всего, она была заменена другим именем после обновления. Вы по-прежнему можете извлекать данные из SAP в Excel, выбрав текст с опцией экспорта вкладок.
Всякий раз, когда опция SAP-таблицы SAP недоступна, просто используйте другой вариант, такой как текст с экспортом вкладок, который имеет тот же результат, что и экспорт SAP-таблицы SAP.
Как сбросить настройки экспорта в Excel в SAP?
Если параметр извлечения данных из SAP неправильно настроен для загрузки Excel в SAP, например, в транзакции ME2N, лучший способ сбросить настройки экспорта в Excel в SAP - выбрать вручную параметр Дополнительно: Список: Экспорт: Электронная таблица или использовать клавиатуру сочетание CTRL + SHIFT + F7 при выполнении экспорта новой таблицы и выбор вручную нужного формата.Невозможно сбросить настройки сохранения для экспорта в формат электронных таблиц Excel
Как скопировать поля таблицы SAP в Excel?
Чтобы скопировать определенные поля таблицы SAP в Excel, начните с открытия таблицы в SAP. Затем используйте комбинацию клавиш CTRL + Y, чтобы открыть курсор выбора в интерфейсе SAP.
Теперь вы сможете выбрать определенный набор полей таблицы в SAP, щелкнув один угол целевого выделения и перетащив курсор мыши в противоположный угол выделения целевых ячеек, удерживая нажатой комбинацию клавиш CTRL + Y на вашем клавиатура.
После выбора ячеек отпустите клавиши и мышь и скопируйте данные с помощью комбинации клавиш CTRL + C. Теперь вы можете вставить скопированные поля таблицы SAP в Excel или любую другую программу обработки данных.
SAP Fiori: экспорт в Excel
Не всегда можно экспортировать таблицы Fiori для Excel в качестве электронной таблицы. Для некоторых таблиц даже не возможно выбрать данные вручную, и скопируйте вставку в электронную таблицу!
Однако всякий раз, когда доступно вариант экспортировки в Excel в SAP FFiori, сдержанный экспорт в значок электронной таблицы будет отображаться прямо над таблицей данных, на правой стороне.
Просто нажмите на этот значок, и содержимое таблицы напрямую будет переведено в файл Excel, который будет загружен вашим браузером.
Можно экспортировать в основном любой список SAP в Excel, причем процесс фактически заключается в его печати в файл, позволяющий выбирать несколько решений, неконвертированную печать, экспорт электронных таблиц MS Excel, форматированный текстовый формат для отображения в блокноте, формат HTML для веб-браузера отобразить и скопировать в буфер обмена для копирования вручную.
Экспорт в SAP для вывода любого отчета с печатью в файл
Можно экспортировать в основном любой список SAP в Excel, причем процесс фактически заключается в его печати в файл, позволяющий выбирать несколько решений, неконвертированную печать, экспорт электронных таблиц MS Excel, форматированный текстовый формат для отображения в блокноте, формат HTML для веб-браузера отобразить и скопировать в буфер обмена для копирования вручную.
Если вы не хотите экспортировать таблицу SAP в Excel, а хотите экспортировать отчет SAP с использованием функции спулинга из системы SAP, выполните следующие три простых шага:
- Найдите отчет для экспорта в SAP и откройте функцию печати, оставьте параметр «только спулинг SAP»,
- Используя транзакцию спула SAP SP01, преобразуйте спул в Excel в SAP, экспортировав в локальный файл,
- Загрузите катушку в Excel в SAP, открыв локальный файл в Excel.
См. Ниже подробные шаги для экспорта отчета SAP в Excel и выполнения основных операций с электронными таблицами, таких как расширенный vlookup в Excel, сравнение строк Excel или подсчет количества вхождений среди прочего.
Начиная с таблицы из любого отчета, который был выполнен в SAP, первым шагом является выбор данных, которые необходимо экспортировать, или взять все это, и выбрать стандартный вариант печати.
Теперь важно, чтобы иметь возможность экспортировать эти данные, даже если нет стандартной опции для экспорта, заключается в выборе правильного принтера, также называемого устройством вывода.
Печатать печать или непосредственно на принтер
Здесь необходимо использовать данную форму, чтобы иметь возможность найти принтер, который на самом деле ничего не печатает, поскольку мы хотим использовать призрачный принтер, просто чтобы файл был доступен в списке спула.
Например, без размещения какой-либо строки поиска может отображаться весь список принтеров, необходимо найти поддельный принтер, который фактически не будет выполнять какую-либо отдельную физическую операцию, а просто сохранит файл, пока мы с ним не закончим.
В нашем примере макетный принтер это принтер с четырьмя X, который является тестовым принтером, не подключенным к какому-либо физическому принтеру, а просто используемым для управления пулами печати.
На главном экране SAP, скорее всего, SAP Easy Access, перейдите в меню System> Own spool request, где мы сможем получить наш файл принтера.
И вот оно! Эта запись фактически является печатью отчета, которую мы запускали раньше. Этот отчет никак не мог быть экспортером, но здесь он находится в готовом к печати файле.
Вывод списка контроллеров очереди запросов tcode SP01.
Как распечатать запрос спула в SAP
Настало время выбрать катушку для печати или экспортировать в MSExcel, что в нашем случае является единственным выбором.
Этот запрос спула может быть графически отображен, что является первым шагом для его экспорта в требуемый файл, щелкнув соответствующий значок в правом верхнем углу.
Всплывающее окно спросит, в каком типе файла должен быть сохранен вывод спула, который по умолчанию может быть неконвертирован, электронная таблица, форматированный текстовый формат, формат HTML или скопировать весь контент в буфер обмена.
После выбора формата другое всплывающее окно запросит назначение файла, которое, конечно же, должно быть доступно в режиме записи клиентом SAP, например, это может быть папка «Документы».
Как экспортировать данные из SAP в Excel
Теперь файл можно открыть в Excel или другой программе отображения электронных таблиц и отобразить таблицу, доступную в SAP.
После того, как файл был экспортирован, не забудьте вернуться к транзакции SP01 управления spool, так как важно очистить список спула, чтобы избежать нехватки памяти сервера.
Выберите бумажный ролик, который был напечатан и больше не нужен, и выберите значок удаления. Всплывающее окно запросит подтверждение перед удалением катушки.
Теперь список запросов спула должен быть чистым, а файл уже экспортирован на компьютер.
Описание проблемы
Как экспортировать данные из SAP в Excel, как распечатать запрос спула в SAP, как распечатать счет в SAP, как распечатать PO в SAP, как распечатать в SAP, как сохранить файл спула в SAP
In this Blog-post I’d like to give a few insights on how we process XLSX file by using latest ABAP, which might be quite different than in most other implementations, for example:ABAP and OLE or Excel with SAP – An Overview
By using CL_XLSX_DOCUMENT (available from 2008), it is easy to load file, workbook, sheets, rows and columns. A good example code can be found within class CL_EHFND_XLSX(available on ABAP AS 752 SP-Level 0004, Software Component S4CORE Release 102, SP 4.).
On the other hand, you can set document format by using IF_IXML_NODE, below example code show how …
- Download any DDIC table’s content into xlsx file
- Change value in the xlsx file
- upload xlsx file into DDIC table
- check changed value in DDIC table.
And the dynamic structure is used in this report. The code style is what I would like to present also.
User Interface
Main Functionality
Download table content into local excel file (xlsx)
Select action “Export”
Input existing table , e.g. Table Name T000, File Full Path: c:\demo\t000.xlsx
Change the value of non-key column in xlsx file.
Upload local excel file (*.xlsx) into table
Select action “Import”
Input existing table , e.g. Table Name T000, File Full Path: c:\demo\t000.xlsx
Empty row will be skip, and table entries will be modified (Insert or Update). It is not possible to delete existing table entry.
Exception Handling
You will get exception of structure infliction if xlsx file is not for that table.
First row will be the table columns’ name
Local Class Definition
Thank you for your interest in XLSX2ABAP and ABAP2XLSX. Example code is tested on SAP_BASIS 755, S4CORE 105.
Assigned Tags
Interesting. Does SAP plan to propagate and extend the CL_XLSX_DOCUMENT? Currently it is not much used and known.
FIY: There is quite successful project, which is already named "ABAP2XLSX".
Thanks a lot. CL_EHFND_XLSX is build on top of CL_XLSX_DOCUMENT. This is my understanding.
What means "propagate and extend"? CL_XLSX_DOCUMENT is available since Netweaver 7.02 and many people used it for a long time.
CL_EHFND_XLSX is not available on ABAP AS 7.52 SP03.
It can be found on ABAP AS 752 SP-Level 0004.
Software Component S4CORE Release 102, SP 4.
I am really confused.
Firstly, as mentioned in the last comment, on what release does CL_EHFND_XLSX become available? Bear in mind that something made available internally within SAP in 2014 may not be available to customers until five or six years later.
Secondly are you saying that the functionality ABAP2XLSX provides is going to be re-invented as standard classes inside standard SAP?
For the last few years once a month on average someone from outside of SAP posts a blog on SCN describing a new way they have come up with to do a limited subset of what ABAP2XLSX can do.
This would be because they have never heard of it, and it is quite possible many within SAP itself have never heard of it either.
It can be found on ABAP AS 752 SP-Level 0004.
Software Component S4CORE Release 102, SP 4.
Do you know if any downporting is planned for CL_EHFND_XLSX (eg via sapnote)?
99% of the developers here don't have access to that release. 🙁
I'm just as confused as Paul Hardy - every month someone posts a blog on SCN reinventing ABAP2XLSX for some reason. Now that a blog is posted by an SAP employee this sends quite a confusing message.
Availability of classes is not driven by year. It's not like every year each SAP customer gets a box of presents at Christmas with all the new classes and goodies from SAP. Availability is driven by the release and support pack level. We're on ABAP 7.31 and don't have class CL_EHFND_XLSX, for example.
And I also would like to know if this means that SAP will be offering ABAP2XLSX as part of standard?
P.S. I'm getting "you don't have rights" when trying to open the link at the end of the blog. When posting on SCN, please make sure to use only what is open to general population and not just at SAP internally.
I update the info of ABAP version accordingly. Row limits help link is removed also.
It's pretty good !!
I have some question for you to use this method :).
Can I set cell color or cell width when file export(ITAB to xls) ??
( I found XLSX_DOCUMNT's internal content table(MS_SHEET_DATA).
But, i don`t know how to change cell style ).
is it possible to add the custom properties for excel\word document using
Читайте также: