Как файл изменить на сап
Экспортировать данные из 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-таблицы 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, который будет загружен вашим браузером.
Пользователю должно быть удобно и понятно.
CALL METHOD cl_gui_frontend_services = > file_save_dialog file_filter = zcl_excel_common = > c_xlsx_file_filter CHECK lv_user_action NE cl_gui_frontend_services = > action_cancel .А имя файла можно задать понятное до деталей:
Это совсем не сложно, не стоит этого бояться.
Во-вторых, полномочия на стороне пользователя.
В моём случае show_document встречает две проверки:
А) Проверка на выгрузку файла в папку:
Б) Проверка на открытие файла:
Если метод cl_gui_frontend_services=>show_document заставляет SAP GUI искать программу, ассоциированную с данным типом файлов, то метод cl_gui_frontend_services=>execute работает хитрее. Он просто предоставляет операционной системе самой разобраться что к чему.
Вот такой маленький proof-of-concept:
DATA : lv _ template TYPE string VALUE 'ZR_CA001.DOCX' .Метод SHOW реализован отдельно:
CALL METHOD cl _ bcs _ convert = > xstring _ to _ xtab cl _ gui _ frontend _ services = > get_temp_directory ( temp _ dir = lv _ temp _ dir "D:\Users\<username>\AppData\Local\SAP\SAP GUI\tmp "D:\Users\<username>\AppData\Local\SAP\SAP GUI\tmp\Order AA 123 15.06.2018 Ivanov Ivan.docx cl _ gui _ frontend _ services = > execute ( EXPORTING document = lv _ fullname ) . "access_denied = файл уже открыт в приложении, дописываем счетчик пока не достигнем успеха "D:\Users\<username>\AppData\Local\SAP\SAP GUI\tmp\Order AA 123 15.06.2018 Ivanov Ivan (2).docxPS. И это не конец истории. Не забыть бы про мусор во временной папке, а то мало ли что.
Метод SHOW_DOCUMENT выгружает файл во вторую папку и там есть параметр KEEP_FILE. Очевидно тогда, что если флаг специально не выставить, то файл будет подчищен автоматически; вопрос только в какой момент.
В нашем новом методе EXECUTE данный параметр отсутствует. Что это значит? Интересно, чистит ли папку кто-нибудь и когда-нибудь?
Documents in the temporary directory will be deleted, when SAP GUI is closed. You can configure the deletion of files also in other directories. For information on this, refer to the security guide.
На одном проекте у меня был ключевой пользователь, которого можно поставить в пример всем пользователям. Прекрасное понимание процессов, адекватные и редкие вопросы, умение обучать конечных пользователей и наличие хорошо подобранных фаворитов, которые отвечали всем процессам пользователя. Я решил этот список позаимствовать. Конечно, самое просто это попросить пользователя их выгрузить и передать в виде файла, но зачем нам просить пользователя, когда мы можем взять и никому об этом не сказать.
Подкатом рассказ не о том, как я крал фавориты, а пример прямой записи в таблицы.
Определим таблицу, требующую редактирования
У каждого консультанта есть свои рычаги для поиска имени нужной таблицы. Кто-то использует F1, кто-то гуглит, а профи помнят их наизусть(шутка конечно). В данном разделе я не буду описывать способы как искать нужные таблицы, просто сообщу, что писать мы будем в таблицу SMEN_BUFFC. Именно она хранит фавориты пользователя.
Хочу сразу сказать, что данная таблица хранит фавориты в совершенно ином формате по сравнению с выгруженными фаворитами в локальный файл. То есть моя попытка просто выгрузить эту таблицу в excel и преобразовать в нужный формат для загрузки провалилась.
Функциональный модуль
Запускаем транзакцию SE37 «ABAP-функциональные модули» и выполняем ФМ SE16N_INTERFACE.
В самой ФМке нужно только написать имя нашей таблицы SMEN_BUFFC и поставить «Х» напротив I_EDIT.
Запускаем нашу ФМку.
Ты ещё ничего не сделал. Есть шанс остановиться
На этом этапе лучше остановиться и ещё раз подумать, и дать отчет своим действиям. Говорить о последствиях такого вмешательства в таблицы не буду и так понятно, что это может вызвать крах всей системы. Но если вы точно знаете что делаете, то идем дальше, но я предупреждал.
Добавляем, удаляем, изменяем
В результате работы ФМки у нас открывается наша таблица на редактирование. Здесь можно добавлять, удалять строки или корректировать значения.
В итоге я просто взял все фавориты пользователя из таблицы SMEN_BUFFC и вставил их в эту же таблицу, но предварительно изменив логин на свой.
Не пугайся, консультант, все это я проделывал не в продуктиве, а на домашнем сервере. Ведь после того как получил хорошо структурированные транзакции, я и их просто выгрузил в локальный файл и загрузил в нужной системе.
В процессе реализации SAP расширений может возникать необходимость хранить и отображать историю изменений. В данной статье речь идет о создании объекта изменений, сохранении и просмотре документов изменений в программе.
Часть 1. Создание объекта изменений генерация программы обновления.
В процессе реализации SAP расширений, позволяющих вводить дополнительные данные таких объектов как договор, установка, прибор, место потребления, объект подключения и т.д., а также при «написании» «собственной пользовательской» функциональности, возникает необходимость хранить и отображать историю изменений, как это реализовано в SAP, например, в документах изменений по объекту «Установка» (Рис. 1).
Рис. 1 Документы изменений по объекту «Установка»
Рассмотрим процесс настройки, создания и документирования изменений на примере расширения места потребления (группа функций XES60).
В ходе проектных работ возникла необходимость добавления исторических данных на объект «Место потребления», что повлекло за собой создание пользовательской таблицы ZISU_PREMISE_EXT (Рис. 2).
Рис. 2 Пользовательская таблица «ZISU_PREMISE_EXT»
Важным условием для создания документов изменения является реализация полей на элементах данных, как показано на рис. 2. При использовании встроенных типов данных возможности вести документы изменений не будет. При этом в настройках элементов данных необходимо отметить переключатель «Документ изменений» (Рис. 3)
Рис. 3 Настройка элемента данных.
Теперь необходимо создать объект документа изменений. Для этого заходим в транзакцию SCDO. Она находится по пути: SAP-меню: Инструменты →ABAP-инструментальные средства→Разработки→SAP BusinessWorkflow→ИнструментыОпределен→События→Создание события→Документы изменений→обзор (SCDO).
Нажимаем кнопку создать Рис. 4
Рис. 4 Основной экран транзакции SCDO.
Область имен не указываем. Идентификатор объекта документа изменений, как и во всех пользовательских разработках, должен начинаться с буквы Z (Рис. 5).
Рис. 5 Создание объекта документа изменений.
Далее заполняем текст объекта документа изменений и вставляем имя таблицы (их также может быть несколько). Если мы хотим передавать в модуль обновления таблицу, а не отдельную запись, то необходимо установить переключатель «Перенос как внут. таблицы». В нашем примере мы оставляем его неустановленным (Рис. 6).
Рис. 6 Настройка объекта документов изменений
Если установить переключатель «Докум. отдельных полей при удалении», то при удалении будет сохраняться история по каждому удаленному полю, иначе только факт удаления записи. Разницу иллюстрируют Рис. 7 и Рис. 8.
Рис. 7 Сохранение истории значений по всем удаляемым полям.
Рис. 8 Сохранение только факта удаления.
Нажимаем сохранить, после этого опять выходим на первый экран и нажимаем кнопку «СгенерПрогрОбновл» (Рис. 9).
Рис. 9 Сгенерировать программы обновления.
На экране генерации программы обновления (Рис. 10) необходимо указать имя группы функций (я сделал ее совпадающей с именем объекта изменения, но это необязательно), остальные поля оставляем по умолчанию и нажимаем «Сгенерировать».
Рис. 10 Генерация программы обновления.
На информационном экране (Рис. 11) нажимаем кнопку «сохранить».
Рис. 11 Сохранение программы обновления.
После успешной генерации можно зайти и посмотреть информацию по генерации, нажав кнопку «Инфо по генерации» (Рис. 12)
Рис. 12 Информация по генерации.
В первую очередь нас интересует функциональный модуль обновления, который мы будем использовать при записи документов изменений (Рис. 13)
Рис. 13 Функциональный модуль обновления.
Имя функционального модуля обновления всегда состоит из имени объекта изменения с добавлением постфикса _WRITE_DOCUMENT. Модуль является полностью сгенерированным и готовым к использованию. При этом изменять вручную программный код модуля обновления нельзя. Если зайти и посмотреть модуль обновления при помощи транзакции SE37 мы увидим запись * THISFILEISGENERATED.NEVERCHANGEITMANUALLY,PLEASE!
Часть 2. Сохранение и просмотр документов изменений в программе.
Для работы с функциональным модулем обновления подключим в программу INCLUDE IEUPDMOD, в котором (в ком?) хранятся константы для операций обновления, удаления и вставки строки таблицы.
Примечание. Константы хранятся в INCLUDE IEUPDMOD.
Объявляем переменную для хранения идентификатора объекта изменений (в реализации SAP он зачастую совпадает с номером объекта, который меняется):
DATA:
objectid TYPE cdhdr-objectid.
В нашем случае переменной objected назначим номер места потребления.
Объявим две переменные типа структура таблицы, на которую настроен объект документа изменений.
line_premise_ext_new TYPE zisu_premise_ext,
line_premise_ext_old TYPE zisu_premise_ext.
Структура line_premise_ext_new будет хранить запись для вновь вставляемой строки(операция INSERT), а также для новой строки при модификации данных (операция UPDATE). Структура line_premise_ext_old будет хранить запись для удаляемой строки (операция DELETE), а также для старой строки при модификации данных (операция UPDATE).
Процедуры записи в таблицу документов изменений будут выглядеть следующим образом:
a) Вставка новой строки:
CALL FUNCTION 'Z_PREMISE_EXT_WRITE_DOCUMENT'
Читайте также: