Для создания программы с выгрузкой данных в шаблон, необходимо: Создать шаблон Word (Excel)


Скачать 78.63 Kb.
НазваниеДля создания программы с выгрузкой данных в шаблон, необходимо: Создать шаблон Word (Excel)
ТипДокументы
Вывод данных R/3 в шаблоны Word и Excel.
Для создания программы с выгрузкой данных в шаблон, необходимо:


  1. Создать шаблон Word (Excel).


Шаблон имеет вид конечной формы (WYSIWYG - What You See Is What You Get).
Необходимо только пометить места вставки данных из R/3 при помощи закладки (например закладка «Дата», см. приложение 1) и (или) метки (уникального слова, фразы, например «[кто]», см. приложение 1).

Для подстановки многострочных данных необходимо создать одну строку таблицы и присвоить всей строке имя закладки (переменной Excel), например «Строка» (см. приложение 1). В ячейках строки необходимо вписать уникальные метки, например [1], [2]… и т.д.

Меткой может быть любой текст, уникальный в пределах данной закладки. Т.е. он наверняка не должен встречаться в обычном тексте закладки, и во вставляемых в нее данных.


  1. Загрузить шаблон в R/3 при помощи стандартной транзакции SMW0.


- на 1-м экране выбрать «Двоичные данные для WebRFC-приложений»;

- на 2-м экране задать необходимый класс разработок ($TMP для локальной);

- на 3-м экране, используя меню «Создать», загрузить файл шаблона, как двоичный (BIN), присвоив «Имя объекта» и «Описание».


  1. Создать АБАП-программу, формирующую данные для подстановки в шаблон.


3.1 Данные необходимо поместить во внутреннюю таблицу, имеющую структуру типа ZWWW_VALUES, где:


VAR_NAME

Имя закладки (переменной Excel), пусто для всего документа (активного листа Excel)

VAR_NUM

Порядковый номер строки (только для табличной части)

FIND_TEXT

Метка, уникальный текст для поиска/замены (пусто, для присвоения всей закладке)

VAL_TYPE

Тип присваиваемого значения VALUE:

пусто - обычный текст;

V – (Variable) имя другой закладки (переменной Excel), которая скопируется в эту и потом удалится;

M – (Macros) имя макроса для обработки закладки (переменной Excel). Макросу передается параметр типа Range, обозначающий текущую обрабатываемую закладку (Sub MyMacros(R as Range));

D – (Delete) удаление закладки (переменной Excel)
Следующие типы только для Excel:

R – (Row) строка целиком, с символом табуляции (09) для разделения полей (для ускорения выгрузки);

T – (Table) таблица целиком, с символом табуляции (09) для разделения полей и возвратом каретки (0D,0A) для разделения строк (для ускорения выгрузки);

VALUE

Значение в соответствии с типом VAL_TYPE



Общая формула ее заполнения такова:

- В пределах закладки VAR_NAME ищется метка FIND_TEXT и заменяется значением VALUE типа VAL_TYPE. Если поле закладки VAR_NAME не заполнено, поиск метки производится в пределах всего документа (листа Excel). Если поле метки FIND_TEXT не заполнено, производится замена всей закладки (переменной Excel);

- При заполнении табличной части, закладка VAR_NAME используется для обозначения всей строки таблицы, полю VAR_NUM присваивается порядковый номер строки таблицы, а метка FIND_TEXT для обозначения части строки (столбца, ячейки, части текста в ячейке).

К одной закладке (VAR_NAME) можно одновременно применить несколько значений (VALUE) разного типа (VAL_TYPE), например:

V – для изменения вида (стиля, шрифта, цвета…) закладки, затем пусто – для ее заполнения текстовым значением и M для ее последующей обработки макросом. Порядок исполнения типов именно такой и не зависит от порядка заполнения внутренней таблицы.

Типы M и V применяются только для всей закладки, поэтому поле метки FIND_TEXT должно быть пустым.


    1. Вызвать функциональный модуль ZWWW_OpenForm.


Модуль предназначен для выгрузки файла шаблона на рабочую станцию и заполнения его данными.
Обязательные параметры модуля:

FORM_NAME

имя объекта, присвоенное шаблону в транзакции SMW0


Необязательные параметры модуля:


IT_VALUES

Имя внутренней таблицы типа ZWWW_VALUES. Если не задано, то выгрузится незаполненный шаблон.

FILE_NAME

Имя файла (включая путь), куда будет выгружен заполненный шаблон. Если не задан, то будет сгенерировано случайное уникальное имя в папке для временных файлов Windows.

PRINTDIALOG

По умолчанию ‘X’. Будет показан диалог печати (выбор принтера и его параметров), при выходе из которого, после печати или отмены, заполненный шаблон будет закрыт и удален с диска.

OPTIMIZE

По умолчанию 300. Используется для указания количества записей таблицы IT_VALUES, при превышении которого будет использован VBA-макрос для ускорения заполнения шаблона.

PROTECT

Защита выходного документа от изменения.



    1. При необходимости использовать функциональный модуль ZWWW_Prepare_Table.


Модуль предназначен для облегчения формирования табличной части шаблона из данных произвольной внутренней таблицы. Используется до вызова ZWWW_OpenForm, можно неоднократно для формирования нескольких табличных частей в шаблоне.
Обязательные параметры модуля:

LINE_NAME

Имя закладки строки табличной части

IT_ANY_TABLE

Имя произвольной внутренней таблицы с данными

IT_VALUES

Имя внутренней таблицы типа ZWWW_VALUES, куда будут данные из IT_ANY_TABLE в необходимой для модуля ZWWW_OpenForm форме.


Необязательные параметры модуля:

IT_FIELDS_CATALOG

Имя внутренней таблицы типа ZWWW_FIELD_CATALOG с описанием полей таблицы IT_ANY_TABLE, где:

- FIELD_NAME = имя поля таблицы IT_ANY_TABLE;

- FIND_TEXT = метка в закладке LINE_NAME, которая будет заменена значением поля (FIELD_NAME) таблицы IT_ANY_TABLE;

- FIELD_HEADER = заголовок, текстовое описание поля FIELD_NAME в заголовке таблицы, если задан параметр HEADER_NAME.

HEADER_NAME

Имя закладки заголовка табличной части. Строка, в которой вместо имен полей таблицы IT_ANY_TABLE (или их заменителей FIND_TEXT, заданных в IT_FIELDS_CATALOG), будут подставлены их описания FIELD_HEADER из таблицы IT_FIELDS_CATALOG.

VAL_TYPE

Пусто для текста (R или T для ускорения вывода в Excel, см. п. 3.1).


Приложение 1. Пример шаблона WORD.
Кто: [кто]

Дата:



[1]

[2]

[1]

[2]


Кто: [кто]


Список кредиторов:

LIFNR

LAND1

NAME1

SORTL

TELF1


Приложение 1.2 Пример макроса в шаблоне WORD.
Sub MacrosExample(R As Range)

With R.Cells(4).Range

.Text = "Пример отработки макроса шаблона MacrosExample"

.Font.Color = wdColorRed

End With

End Sub

Приложение 2. Пример отчета в WORD:
REPORT ZWWW_SAMPLE .
Data:

it_Val type standard table of ZWWW_VALUES with header line,

SysDate(10).

Write sy-datum to SysDate. "Системная дата в текстовый формат
********************************************************************

* Заполним нетабличную часть

********************************************************************
******************************

* Метод поиска-замены

it_Val-Var_Name = ''. "будет производиться поиск во всем документе,
it_Val-Var_Num = 0. "номер строки, для нетабличных частей заполнять

"не надо
it_Val-Find_Text = '[кто]'. "уникальный текст, который будет найден и

"заменен на следующее значение
it_Val-Value = sy-uname. "значение в текстовой форме (имя пользователя)

Append it_Val.
"Достоинства метода:

"- наглядность шаблона

"- уникальный текст будет заменен везде, где найдется (см. [кто] вверху

" и внизу листа)

"
******************************

* Метод присвоения переменной

Clear it_Val.

it_Val-Var_Name = 'Дата'. "Имя закладки

it_Val-Find_Text = ''. "

it_Val-Value = SysDate. "Системная дата

Append it_Val.
"Недостатки:

"- шаблон получается менее наглядным
********************************************************************

* Заполним табличную часть

********************************************************************

Define SetLine.

Clear it_Val.

it_Val-Var_Name = &1. "имя закладки строки таблицы

it_Val-Var_Num = &2. "номер строки таблицы

it_Val-Find_Text = &3. "искомый текст

it_Val-Val_Type = &4. "тип значения

it_Val-Value = &5. "значение

Append it_Val.

End-of-Definition.
SetLine 'Строка' 1 '[1]' '' 'Мыло'.

SetLine 'Строка' 1 '[2]' '' '10'.
*для 2-й строки используем закладку СтрокаКурсив в качестве шаблона

SetLine 'Строка' 2 '' 'V' 'СтрокаКурсив'.

SetLine 'Строка' 2 '[1]' '' 'Порошок'.

SetLine 'Строка' 2 '[2]' '' '4'.
SetLine 'Строка' 3 '[1]' '' 'Щетка'.

SetLine 'Строка' 3 '[2]' '' '1'.

********************************************************************

* Использование вспомогательного модуля 'ZWWW_PREPARE_TABLE' для

* облегчения вывода данных из внутренних таблиц

********************************************************************

"Примечание:

"Все данные внутренней таблицы конвертируются в текстовый формат в

"соответствии с их типами. Числовые данные представляются с разделителем

"десятичной части в соответствии с текущей настройкой Windows.
Data:

Begin of it_LFA1 occurs 10,

* MANDT type LFA1-MANDT,

LIFNR type LFA1-LIFNR,

LAND1 type LFA1-LAND1,

NAME1 type LFA1-NAME1,

SORTL type LFA1-SORTL,

ANRED type LFA1-ANRED,

ERDAT type LFA1-ERDAT,

ERNAM type LFA1-ERNAM,

TELF1 type LFA1-TELF1,

End of it_LFA1.
* Выберем 10 записей кредиторов

Select *

into corresponding fields of table it_LFA1

from LFA1

up to 10 rows.
Call function 'ZWWW_PREPARE_TABLE'

EXPORTING

LINE_NAME = 'Строка2' "имя строки таблицы в шаблоне

VAL_TYPE = ''

TABLES

IT_ANY_TABLE = it_LFA1 "внутренняя таблица с данными

IT_VALUES = it_Val. "таблица для 'ZWWW_OPENFORM'
SetLine 'Строка2' 3 '' 'M' 'MacrosExample'.
*

********************************************************************

* Заполнение шаблона подготовленными данными и вывод на экран

********************************************************************

Call function 'ZWWW_OPENFORM'

EXPORTING

FORM_NAME = 'ZWWW_SAMPLE_WORD'

PrintDialog = ''

TABLES

IT_VALUES = it_Val.

Похожие:

Для создания программы с выгрузкой данных в шаблон, необходимо: Создать шаблон Word (Excel) iconСамостоятельная работа №1 Применение шаблонов Word Цель работы
Общие шаблоны, включая шаблон Normal dot, содержат настройки, доступные для всех документов. Шаблон Normal dot это универсальный...

Для создания программы с выгрузкой данных в шаблон, необходимо: Создать шаблон Word (Excel) iconПрограмма Word позволяет создавать формы и бланки, которые можно...
Электронный бланк используется многократно, поэтому он создается не как обычный документ, а как шаблон. Шаблон остается основой для...

Для создания программы с выгрузкой данных в шаблон, необходимо: Создать шаблон Word (Excel) iconПодготовка Excel-файлов для импорта организаций
Для успешного импорта необходимо использовать шаблон, поставляемый с данным руководством

Для создания программы с выгрузкой данных в шаблон, необходимо: Создать шаблон Word (Excel) iconВопрос в тех поддержку гис жкх
Подскажите, пожалуйста, в чем состоит суть понятия "Доля внесения платы, размер доли в %" (Excel-шаблон "Шаблон импорта лс", Лист...

Для создания программы с выгрузкой данных в шаблон, необходимо: Создать шаблон Word (Excel) iconПрактикум по Excel. Занятие 5 Работа с табличным процессором ms excel....
В состав Excel входит несколько шаблонов, возможно создание и сохранение вариантов шаблонов для себя и других пользователей. Шаблон...

Для создания программы с выгрузкой данных в шаблон, необходимо: Создать шаблон Word (Excel) iconШаблон Navigation Drawer Activity
Рассмотрим новый шаблон Navigation Drawer Activity. Создадим новый проект и выберем нужный шаблон

Для создания программы с выгрузкой данных в шаблон, необходимо: Создать шаблон Word (Excel) iconСоздание шаблонов Microsoft Office Word 2007
...

Для создания программы с выгрузкой данных в шаблон, необходимо: Создать шаблон Word (Excel) iconШаблон-инструкция для составления бизнес-плана Пример из шаблона: 2
Шаблон-инструкция для составления бизнес-плана может быть использована следующим образом

Для создания программы с выгрузкой данных в шаблон, необходимо: Создать шаблон Word (Excel) iconПрактическое задание Задана схема данных базы данных, содержащая...
По заданной схеме данных требуется создать компьютерную реализацию базы данных, выполнив следующие этапы работы: создать базовые...

Для создания программы с выгрузкой данных в шаблон, необходимо: Создать шаблон Word (Excel) iconИнструкция по заполнению файла-шаблона для спо
Гос, Фгос, фгос 3+), по которому обучались выпускники, открыть соответствующий файл Шаблон спо (гос) – для Государственных образовательных...

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск