SAPфорум.RU https://sapboard.ru/forum/ |
|
ZWWW - ФМ для выгрузки данных в WORD, EXCEL https://sapboard.ru/forum/viewtopic.php?f=13&t=4880 |
Страница 1 из 161 |
Автор: | Parazit [ Чт, май 05 2005, 08:31 ] |
Заголовок сообщения: | ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Хочу подарить народу ФМ для выгрузки данных в WORD, EXCEL. Не хочу, чтобы пропадал мой "скорбный труд" Простой интерфейс, шаблоны по технологии WYSIWYG. Скачать можно на сайте компании WWW.IT-CODE.RU или моем персональном VVN_ABAP ! Прежде чем задать вопрос в теме, рекомендую сначала почитать FAQ (ЧАВО) - ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ, который можно увидеть чуть ниже. Дополнение от 09/08/2007: Разработка позволяет использовать для выгрузки WWW-шаблоны (транзакция SMW0) и BDS-шаблоны (транзация OAOR). Основной ее принцип - максимальное соответствие технологии WYSIWYG. Т.е. ваша ABAP-программа занимается только выборкой и выводом данных, форма отчета, раскраска и стиль задаются шаблоном. Технология вывода в Word и Excel идентичная, т.е. практически любую форму отчета Excel можно реализовать средствами Word (и наоборот), не изменяя при этом вашу ABAP-программу, просто заменив шаблон. При этом, для нормального вывода, нет необходимости в каждый шаблон вставлять какие-либо макросы. Однако возможно использовать собственные макросы для специфической обработки, например для автоматического форматирования. При чем они будут работать даже при включенном максимальном уровне безопасности макросов MS-Office, также не требуется разрешения доступа к VB, что позволяет соблюсти политику безопасности компании. Все это позволяет максимально упростить использование уже готовых форм, подготовленных средствами MS-Office, например, выгруженных из Консультант+. Т.о. разработку и модификацию шаблонов можно поручить функционалам или продвинутым пользователям. Дополнение от 12/01/2010: До версии 2.6 подразумевалась полностью ручная установка всех объектов разработки: программ, модулей, шаблонов, элементов словаря и т.д. Это создавало определенные неудобства, а для начинающих разработчиков серьёзные трудности. С версии 2.6 возможна облегченная процедура установки-обновления разработки: 1. Распаковать ZIP-файл в корень диска C:. Создастся папка C:\ZWWW\ 2. В системе создать запрос разработки. 3. Создать класс разработки ZWWW_EXCEL. Если хотите использовать другое имя (или уже используете), то нужно переименовать папку ZWWW_EXCEL.DEVC на <имя класса>.DEVC 4. В системе создать программу с именем ZWWW_MIGRATE и скопировать в нее содержимое файла C:\ZWWW\ZWWW_EXCEL.DEVC\PROG\ZWWW_MIGRATE\REPORT.txt (с версии 2.90 \ZWWW_EXCEL.DEVC\PROG.R3TR\ZWWW_MIGRATE\REPS.LIMU\ZWWW_MIGRATE>ABAPTEXT.TXT) 5. Запустить ZWWW_MIGRATE, в экранное поле S_TRKORR подставить номер вашего запроса, в S_CLASS имя вашего класса, выбрать режим "Импорт" (радиокнопка P_IMPORT), нажать F8, в ALV-Grid выбрать необходимые компоненты (предпочтительно ВСЕ) и кликнуть кнопочку Import. Всё! Дополнение от 22/01/2010: Пример программы Hello World Code: Report Z_Hello_World.
Data: it_val type standard table of ZWWW_VALUES with header line. * Выведем текст в ячейку с адресом C5 it_val-VAR_NAME = 'C5'. it_val-VALUE = 'Hello World!'. Append it_val. Call function 'ZWWW_OPENFORM' exporting FORM_NAME = 'ZWWW_MACROS' PRINTDIALOG = '' tables IT_VALUES = it_val. |
Автор: | T [ Чт, май 05 2005, 08:51 ] |
Заголовок сообщения: | |
http://www.dalestech.com/ В downloads есть хороший софт для выгрузки (правда не для последующей загрузки) и просмотра кода и объектов словаря в HTML. На сколько помню, не выгружает классы/интерфейсы. |
Автор: | Parazit [ Чт, май 05 2005, 08:56 ] |
Заголовок сообщения: | ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ |
FAQ (ЧАВО) - ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ OlegDm Цитата: Шаблон Ворд-документа содержит колонтитул, в котором я хочу разместить данные(из АБАП) - обычным способом ... ничего не получается - похоже на то, что колонтитулы при поиске текста для замены игнорируются В колонтитуле нужно создать закладку. Тогда работает как присвоение всей закладки (FIND_TEXT = пусто), так и поиск/замена в ней отдельного текста. Silence1 Цитата: Подскажите, можно ли сделать так, чтобы повторять табличку на одном листе Excel n-ное кол-во раз? Например, для каждого контрагента своя табличка и свои надписи над табличкой и подписи под ней? Конечно можно! Самый простой наглядный вариант, каждой строке шаблона присвоить имя и собирать отчет из них, как из кирпичиков. Опять же для наглядности, можно присвоить имя (например: "МестоВывода") пустой строке в самом низу и перекладывать туда строки шаблона. Типа так: Code: *табличка 1 SetVal 'Место Вывода' 1 '' 'V' 'Заголовок'. SetVal 'Место Вывода' 2 '' 'V' 'Строка'. SetVal 'Место Вывода' 2 '[1]' '' 'значение ячейки 1'. SetVal 'Место Вывода' 2 '[2]' '' 'значение ячейки 2'. SetVal 'Место Вывода' 3 '' 'V' 'ПустаяСтрока'. *табличка 2 SetVal 'Место Вывода' 4 '' 'V' 'Заголовок'. SetVal 'Место Вывода' 5 '' 'V' 'Строка'. SetVal 'Место Вывода' 5 '[1]' '' 'значение ячейки 1'. SetVal 'Место Вывода' 5 '[2]' '' 'значение ячейки 2'. SetVal 'Место Вывода' 6 '' 'V' 'ПустаяСтрока'. Nivol Цитата: После выгрузки файл защищен соответственно его нельзя редактировать. Для снятия защиты он требует пароль. Поэтому вопрос: Какой пароль? И можно ли сразу сделать так чтобы защита листа была снята? По умолчанию параметр PROTECT = 'X', поэтому документ защищен, пароль генерится динамически. Соотвественно, укажите PROTECT = '' и всё откроется. Кстати, если необходимо изменение только отдельных частей документа, можно открыть их штатными средствами Word и Excel в шаблоне, в таком случае PROTECT отменять не надо. Nivol Цитата: При выгрузке в excel числа преобразуются в строку. Поэтому в excel не работают суммы по ячейкам с этими числами. Можно ли при выгрузке указать что в ячейке должно быть число, а не текст? Используйте такой текстовый формат для вывода чисел, чтобы разделитель десятичных знаков был точкой, и не было разделителей тысяч. Самый простой способ VALUE = <число>. big.mim Цитата: А возможно ли данный ФМ использовать в веб-интерфейсе? Например в веб-клиенте CRM? Версия 2.71 была адаптирована для использования через Web GUI. Это позволяет использовать обычные разработки с выгрузкой отчетов MS Office через веб-интерефейс. Для использования напрямую из Web Dynpro пока данная разработка не пригодна. organmusic Цитата: Подскажите пожалуйста, как стартануть VBA макрос в выгружаемом EXCEL Есть примеры, например ZWWW_SAMPLE_INVOICE. Строка SetVal 'Я_Формат' '' '' 'M' 'Macros_AutoFit'. запустит макрос с именем Macros_AutoFit, передав ему в качестве параметра именованную область 'Я_Формат'. Указанная именованная область 'Я_Формат' дожна быть обязательно объявлена в листе, даже если не используется - без нее макрос не запускается. Макрос должен лежать в Modules (не в Книге и не в Листе) organmusic Цитата: Вывожу в ячейку Excel значение (текстовое) больше 255 символов - ничего не выводится, до 255 - все нормально. Есть ограничение на длину строки? Это ограничение функции поиска/замены Excel. Обойти можно по разному. Например вывод в ячейку напрямую - VAR_NAME = имя ячейки; FIND_TEXT = пусто. Или выводить частями, в ячейку поместить несколько меток, типа [1][2][3]. Однако надо учитывать, что у Excel есть и другое ограничение на количество символов в ячейке (около 900 байт для MS 2003). AlexABAPoff Цитата: при выгрузке в EXCEL, текстовая переменная 310000000000000717 отображается в шаблоне как 3.1Е+17. Поле в шаблоне текстовое, в таблице с выходными данными тоже нормальное значение. Проблема в том, что Excel в функции поиска/замены, которую я использую, пытается любую информацию преобразовать в число при подстановке его в ячейку, независимо от типа ячейки. Я считаю это косяком Excel. Избавиться удается при помощи апострофа в первом символе содержимого ячейки, например в шаблоне можно сделать так '[1], или к выгружаемым данным прибавлять апостроф, типа так '310000000000000717 aar Цитата: Еще и значение "02" превращается в просто "2"... В общем, сконкатенейтил апостроф и значение, пусть пока так. Думал еще макросом заменить апостроф на ничто — фиг, слетает формат. Вот такой макрос убирает все апострофы, причем одни махом во всей выделенной области. Главное, чтобы форматы ячеек были какие-надо. Code: Sub Z_Format(R as Range) R.Value = R.Value End Sub kamlit Цитата: Что отрабатывает первым, макрос или вставка данных в Excel? У меня проблема в следующем, при формирования ТЗ у меня запускается макрос, который добавляет n-ое количество столбцов, после чего вставляются данные, но в добавленные столбцы ничего не падает, т.е. происходит смещение данных за границы таблицы. Такое ощущение, что сначала записались данные таблицы, а потом макрос отработал. Заполнение в абапе: Code: ** Макрос setval 'Value_mac' '' '' '' col_num. setval 'Value_mac' '' '' 'M' 'CopyCol'. ** Строка setval 'POSITION' lv_pos '[1]' 'R' lv_strvalue. Вывод производится в алфавитом порядке значения VAR_NAME и не зависит от того порядка, в котором заполняется внутренняя таблица. В приведенном примере сначала сработает заполнение POSITION, а затем вызовется макрос для VALUE_MAC. В данном случае можно переименовать VALUE_MAC, например, в A_VALUE_MAC. |
Автор: | T [ Чт, май 05 2005, 09:18 ] |
Заголовок сообщения: | |
Разумеется можно и через транспорт Вешаешь всё на один запрос целыми объектами. Лучше даже ручками список заполнить типа: R3TR FUGR [имя] R3TR PROG [имя] R3TR DOMA [имя] R3TR DTEL [имя] R3TR TABL [имя] Деблокируешь запрос и идёшь к базисникам, типа дайте мне 2 файла к запросу ***K###### (*** - имя системы, ###### - № запроса) Файы будут с именами K###### и R###### Их могут к себе залить другие. Типа импортировать запрос. Проблема может возникнуть с именами. Вдруг повторятся ) тогда загруженная версия убъёт предыдущую. *======================================= Есть еще всякие программки, которыми пользуются для выгрузки/загрузки, которые в своём формате фигачат. У нас где-то мелькала такая, но загружать я ей не пробовал ни разу.. |
Автор: | nicky555 [ Чт, май 05 2005, 10:05 ] |
Заголовок сообщения: | Re: Хочу подарить народу ФМ для выгрузки данных в WORD, EXCE |
Parazit написал: Хочу подарить народу ФМ для выгрузки данных в WORD, EXCEL.
Не хочу, чтобы пропадал мой "скорбный труд" Есть функциональная группа, элементы данных и домены в словаре, программы с примерами... А что, использование стандартных средств уже не катит? По-моему, в системе достаточно ФМ, классов и интерфейсов, чтобы состряпать такую программку за 3-4 часа... |
Автор: | Гость [ Чт, май 05 2005, 10:51 ] |
Заголовок сообщения: | |
Цитата: Хочу подарить народу ФМ для выгрузки данных в WORD, EXCEL.
Не хочу, чтобы пропадал мой "скорбный труд" Ну что ж.... дари |
Автор: | Гость [ Чт, май 05 2005, 14:45 ] |
Заголовок сообщения: | |
И мне подари: newere@mail.ru |
Автор: | Parazit [ Чт, май 05 2005, 15:36 ] |
Заголовок сообщения: | После праздников |
Anonymous написал(а): И мне подари: newere@mail.ru
После праздников, модули подшаманю еще чуть-чуть. |
Автор: | Parazit [ Пт, май 13 2005, 13:44 ] |
Заголовок сообщения: | Выкладываю обещанное! |
Выкладываю обещанное! Вот тут берите. Законченной функцию не считаю, но работоспособной весьма. Уже несколько разработок ее используют. |
Автор: | Parazit [ Пт, май 13 2005, 15:48 ] |
Заголовок сообщения: | Пардон, перечитайте файлик, |
Пардон, перечитайте файлик, там описания структурки ZWWW_FIELD_CATALOG не хватало. |
Автор: | Parazit [ Пн, май 16 2005, 09:07 ] |
Заголовок сообщения: | И тишина... |
И тишина... Либо у всех все работает, либо никто и не пробовал. Че, и вопросов не будет, и даже критики? |
Автор: | Гость [ Пн, май 16 2005, 09:43 ] |
Заголовок сообщения: | |
Parazit, ты откуда, я имею ввиду ты с Москвы? |
Автор: | ArmAnn [ Пн, май 16 2005, 09:49 ] |
Заголовок сообщения: | Re: И тишина... |
Parazit написал: И тишина... Либо у всех все работает, либо никто и не пробовал.
Че, и вопросов не будет, и даже критики? руки просто не дошли как потребуется - достанем модуль из загашника, иии... как накритикуем |
Автор: | Parazit [ Пн, май 16 2005, 09:50 ] |
Заголовок сообщения: | |
Anonymous написал(а): Parazit, ты откуда, я имею ввиду ты с Москвы?
Родом из Перми, но сейчас живу в Москве. |
Автор: | Гость [ Пн, май 16 2005, 09:57 ] |
Заголовок сообщения: | |
Parazit, а аська у тебя есть или хотя бы почта? |
Страница 1 из 161 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |