Меню

Создание RTF-документов и электронных таблиц на ABAP при помощи инструментария для документов Office: Часть 1 – Введение в инструментарий для создания документов в формате RTF

|

Существует возможность создания документов Microsoft Word и Excel на ABAP при помощи COM-интерфейса. Однако использование этого интерфейса может оказаться затруднительным и требует наличия определенных технических знаний. В качестве альтернативы автор разработал решение с открытым исходным кодом – инструментарий Office Document Toolbox, которым могут пользоваться разработчики ABAP для создания текстовых документов в формате RTF (Rich Text Format) и электронных таблиц в формате XLS, принятом в Microsoft Excel. Этому решению и посвящена данная серия из двух статей. В первой статье этой серии описывается базовая структура инструментария, после чего рассматриваются средства для создания файлов в формате RTF. Эта информация подготовит читателя ко второй статье, посвященной созданию электронных таблиц Microsoft Excel.

При необходимости создания документов Microsoft (MS) Office, таких как документы MS Word или электронные таблицы MS Excel, можно воспользоваться COM-интерфейсом (Component Object Model, объектная модель программных компонентов) к этим приложениям (MS Word и MS Excel). Этот интерфейс, который является стандартным для множества программных компонентов, был добавлен Microsoft приблизительно в 1993 г. Однако использовать COM-интерфейс для приложений MS Office в ABAP затруднительно, так как это требует детального знания интерфейса программирования для приложения Office, который будет выступать в качестве COM-интерфейса. Более того, COM-интерфейс приложения не может применяться для фоновых заданий, так как для его использования необходимо наличие SAP GUI.

Для решения этих проблем автором было разработано решение с открытым исходным кодом – инструментарий для создания документов Office под названием Office Document Toolbox. Этот инструментарий позволяет разработчикам ABAP создавать текстовые документы и электронные таблицы. В качестве формата для текстовых документов был выбран формат Rich Text Format (RTF), а для электронных таблиц – используемый в Microsoft Excel формат XLS (причины такого выбора описываются в выноске ниже).

Это первая статья в серии из двух статей, посвященной новому инструментарию, который служит альтернативой COM-интерфейсу. Сначала описывается базовая структура этого инструментария. Затем рассматривается процесс установки свойств документа и настроек форматирования для создаваемых документов в формате RTF. Для этой цели будет использоваться та часть инструментария, которая предназначена для работы с форматом RTF. В ней представлены методы и их доступные параметры, некоторые из которых имеют значения по умолчанию, тогда как другие могут устанавливаться в соответствии с конкретными требованиями. В завершении поясняется развертывание инструментария на RFC-сервере (Remote Function Call). Материал этой статьи подготовит читателя к изучению второй статьи, в которой представлено решение для создания электронных таблиц в формате Microsoft Excel.

RTF или DOC?

Формат RTF был разработан компанией Microsoft в 1987 г. как независимый от платформы формат файлов для приложений по обработке текста. Несмотря на то, что спецификация RTF принадлежит Microsoft, ее можно бесплатно загрузить из Интернет: перейдите по адресу www.microsoft.com/downloads и выполните поиск по словам “RTF specification”. Последней версией спецификации по состоянию на дату написания статьи является версия 1.9.1, вышедшая в марте 2008 г.

Формат DOC был введен Microsoft еще в MS Word 97. Спецификация формата DOC была опубликована только в феврале 2008 г. Формат DOC поддерживает расширенные функции, такие как Visual Basic for Applications (VBA), что позволяет встраивать в DOC-файл макросы и даже целые программы. Однако поскольку предусмотренные в текстовых редакторах других производителей ПО средства преобразования при импорте и экспорте для RTF отличаются большей эффективностью по сравнению с аналогичными средствами для DOC, при разработке инструментария был выбран именно формат RTF.

Оформите подписку sappro и получите полный доступ к материалам SAPPRO

У вас уже есть подписка?

Войти

Обсуждения Количество комментариев3

Комментарий от  

Александр Добров

  |  02 июля 2010, 15:13

Отличная статья!
Которая имеет прикладное применение.
Это самая полезная статья которую я прочел на данный момент.
Данная проблема очень актуальна и ее решение действительно может помочь решить уязвимость и ограниченность САП формуляров.
С Этой проблемой сталкиваемся регулярно.
Данная статья очень нам поможет с решением проблемы печатных форм.
Большое спасибо автору и редакции журнала за статью высокого класса.!

Комментарий от  

Александр Насонов

  |  24 июля 2010, 14:08

С познавательной точки зрения, для программиста статья интересна. Реально в работе желательно использовать стандартные решения, поддерживаемые фирмами-производителями программного обеспечения (в первую очередь, SAP)

Комментарий от  

Сергей Передовой

  |  26 июля 2010, 12:25

Позновательно и приемлемо для использования.