Текущее время: Чт, мар 28 2024, 11:44

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 2409 ]  На страницу Пред.  1 ... 135, 136, 137, 138, 139, 140, 141 ... 161  След.
Автор Сообщение
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Пн, апр 03 2017, 13:44 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Rez_nik написал(а):
Добрый день!
Нужна Ваша помощь.
После выгрузки документа в Excel должен запуститься макрос, который выделяет цветом строки с подитогами, итогами и т.д.

*вызов макроса
CLEAR it_val.
it_val-val_type = 'M'.
it_val-value = 'YZZ_DOWNTIME'.
APPEND it_val.

*заполнение внутренней таблицы
CALL FUNCTION 'ZZHCM_PY_02_2'
EXPORTING
line_name = 'line'
val_type = ''
TABLES
it_any_table = lt_ztab_pdf
it_values = it_val.

Но после загрузки и формирования документа Excel он не запускается на выполнение. Подскажите, пожалуйста, в чем может быть ошибка? Что я делаю неправильно?

Во-первых, ZWWW обрабатывает содержимое IT_VALUES в алфавитном порядке значений VAR_NAME, соответственно и заполняет шаблон в этом порядке. Поэтому, чтобы выполнить макрос "после выгрузки документа", нужно выполнить его для именованной области, стоящей ниже всех других по алфавитному порядку. В Вашем примере получается VAR_NAME=пусто, т.е. сначала выполнится макрос (когда форма еще не заполнена вся), а потом производится заполнение. Можно создать фиктивную именованную область, например, обозвать ячейку "Z_Format", если другие имена только латиницей, а если есть с русскими буквами, то можно типа "Я_Формат". Тогда макрос для VAR_NAME='Я_Формат' будет выполняться в конце.

Во-вторых, для раскраски итогов/подытогов вовсе нет необходимости лепить макросы. Всё делается гораздо проще, создаются макеты строк подытогов и где нужно подставляются в основную таблицу при помощи VAL_TYPE='V'. Посмотрите пример ZWWW_MANY_LIST, смотрите содержимое IT_VALUES перед вызовом ФМ, обратите внимание на строки, где VAL_TYPE='V'.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Пн, апр 03 2017, 16:33 
Начинающий
Начинающий

Зарегистрирован:
Пт, фев 19 2016, 11:12
Сообщения: 8
Получилось. Большое спасибо за помощь.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Чт, апр 13 2017, 19:23 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 09:38
Сообщения: 170
Добрый день, есть вопрос.
Можно ли как-нибудь приспособить данный ФМ для получения Excel в BSP без JAR'а?
Например, как-нибудь получить готовый Excel на сервер, прогнать через bin->xstring->string и вернуть респонс с application/vnd.ms-excel?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Чт, апр 13 2017, 20:18 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Saperx написал(а):
Добрый день, есть вопрос.
Можно ли как-нибудь приспособить данный ФМ для получения Excel в BSP без JAR'а?
Например, как-нибудь получить готовый Excel на сервер, прогнать через bin->xstring->string и вернуть респонс с application/vnd.ms-excel?

Без JAR полноценный файл *.xls получить нельзя, т.к. только сам Excel умеет его формировать.
В самой последней версии YWWW, про которую я писал здесь http://sapboard.ru/forum/viewtopic.php?f=13&t=4880&p=553330&hilit=YWWW#p553330, есть возможность формировать XML-Excel.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Пт, май 19 2017, 20:08 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, апр 12 2006, 12:43
Сообщения: 863
Откуда: СССР
Пол: Мужской
Добрый день, уважаемый Parazit. :pivo:

В одной из задач, в которой использую Ваш ФМ ZWWW_OPENFORM обнаружил такую багу/фичу.
Если таблица подаваемая на вход небольшая, то форма заполняется претензий нет.
Но наши юзера, пытаются грузить огромные таблицы. Предлагаю не обсуждать зачем, это отдельный вопрос, оставим за скобкми.
Суть в том, что глубоко внутри Вашего ZWWW* есть переключатель оптимизации.
Если число строк превышает какой-то порог, срабатывает модуль который формирует текстовый файл с разделителями "#" на локальной машине. Это всё отрабатывает. Но вот когда там внутри читается ZWWW_MACROS, в котором "сидит" Бейсик, то дальше дело не идёт, и ошибок не выдаёт.
На выходе получаю пустой шаблон без данных.
В отладчике процесс "ничего не делает" в форме RUNEXCELMACROS
Где-то здесь:
Code:
  GET PROPERTY OF WORKBOOKS 'Application' = APP.
  GET PROPERTY OF APP 'ActiveWorkbook' = WORKBOOK.
  CALL METHOD OF WORKBOOKS 'Open' = MACROBOOK
    EXPORTING #1 = FILE_MACROS.
  CALL METHOD OF WORKBOOK 'Activate'.
  CALL FUNCTION 'FLUSH'.

  CALL METHOD OF APP 'Run'
    EXPORTING #1 = MACROSNAME
    #2 = FILE_DATA.
  CALL FUNCTION 'FLUSH'.

Переменные WORKBOOK и MACROBOOK остаются пустыми.
Как тут отладиться в этом фрагменте?
Code:
  CALL METHOD OF WORKBOOKS 'Open' = MACROBOOK
    EXPORTING #1 = FILE_MACROS.

Сам блок ZWWW у нас старенький, но я сравнивал с последней версией. Этот код не отличается.
По итогам предыдущих этапов получаю текстовый файл 92 Мб... Маразм конечно. С юзерами потом обсудим. Предлагаю оставить за скобками.
В общем получается порядка 200 тыс записей. Эксель разрешает миллион.
Ширина строки порядка 100 байт.

В общем чисто теоретически вопрос что и где "упёрлось" при вызове Бейсика из шаблона ZWWW_MACROS ?
Этот шаблон у нас есть я проверял. Бейсик в своих "безопасностях" на десктопе разрешил.

_________________
Никого не трогаю, примусы починяю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Сб, май 20 2017, 00:21 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
[quote="hoar"][/quote]
Это не бага, это фича! :)
Для больших объемов данных был разработан альтернативный алгоритм на VBA, соответственно данные для него выгружаются в виде текстового файла с разделителями табуляции (код 09). Порог регулируется параметром OPTIMIZE, в старых версиях он имел значение по умолчанию 300. Т.е. при количестве записей в IT_VALUES > 300 включается алгоритм оптимизации через макрос. Соответственно, если задать параметр OPTIMIZE=0, то оптимизация будет работать всегда, и наоборот, если указать большое число типа OPTIMIZE=9999999, то оптимизация отключится. Алгоритмы работы через ABAP-OLE и VBA-макроса идентичны и различий в работе не должно быть, кроме скорости выгрузки.
Если у вас в выгружаемом текстовом файле вместо табуляции решетки "#", значит кто-то наломал дров в моем коде. Буквально недавно я столкнулся с этим, тоже здесь в форуме. Зачем это сделали ума не приложу, ибо за 12 лет существования ZWWW с табуляцией проблем не встречал ни на одном проекте ни а одной версии SAP.
Ещё могу предположить проблему из-за большого количества записей. Когда в 2005-м разрабатывался ФМ, то подразумевалось количество записей Excel не больше 65536, поэтому поле ZWWW_VALUES-VAR_NUM имело размерность NUMC 5 знаков. В последующих версиях, с выходом Excel 2007, это поле было расширено до 7 знаков. Возможно у вас очень старая версия и оно еще не расширено. Насколько помню расширение поля потребовало некоторых изменений ABAP-кода, поэтому рекомендую обновить ZWWW, иначе придётся разбираться в различиях кода.

p.s.
В общем то всё выше сказанное это гадание на кофейной гуще. Иногда бывают такие сюрпризы (и от SAP, и от MS), что ни в сказке сказать, ни пером описать. :)
Первое, что я рекомендую, обновить ZWWW. Второе отлаживать и разбираться. Для упрощения отладку можно включить, в т.ч. и в макросе, параметром DEBUG_MODE='X".
Если пришлете мне шаблон и содержимое IT_VALUES для проблемного случая, то я смогу проверить вашу выгрузку, часто помогает. Слать на мыло: misterxyz (сбк) mail (тчк) ru.

p.p.s.
Кстати, для выгрузки больших табличных данных есть фича VAL_TYPE='T', посмотрите пример ZWWW_ALV_GRID.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Пн, май 22 2017, 19:46 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, апр 12 2006, 12:43
Сообщения: 863
Откуда: СССР
Пол: Мужской
Parazit
В общем проблем решена организационным способом.
Большие объёмы, если их даже загрузить в Эксель не юзабилтны.
Посему время на дальнейший разбор полётов выделено не было.
Оставлено всё как есть. До следующего инцидента.

ЗЫ присылать Вам 92 мегабайта текста для "разбора полётов", считаю негуманным :wink:

_________________
Никого не трогаю, примусы починяю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Вт, май 23 2017, 15:22 
Начинающий
Начинающий

Зарегистрирован:
Вт, май 23 2017, 14:58
Сообщения: 13
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.


Подскажите, можно ли изменить цвет текста кодом, при выводе его в Excel ?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Вт, май 23 2017, 15:56 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
naberzhen написал(а):
...
Подскажите, можно ли изменить цвет текста кодом, при выводе его в Excel ?

Напрямую нет, т.к. одна из основных идей ZWWW заключается в том, что оформление должно решаться средствами шаблона.
А в ABAP-е должна решаться задача наполнения формы данными.

Есть разные способы раскраски формы.
1. В шаблоне подготавливается образец области (строки, ячейки) и в нужном месте накладывается на заполняемую область, например, подзаголовок или подытог таблицы.
2. Применить к ячейке шаблона условное форматирование.
3. Создать в шаблоне макрос и применить его к необходимой области.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Ср, май 24 2017, 10:03 
Начинающий
Начинающий

Зарегистрирован:
Вт, май 23 2017, 14:58
Сообщения: 13
а можно ли WRITE'ом заполнять ячейки в Excel?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Ср, май 24 2017, 13:06 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 347
hoar написал:
В общем чисто теоретически вопрос что и где "упёрлось" при вызове Бейсика из шаблона ZWWW_MACROS?
Несколько месяцев назад тоже сталкивался с подобной проблемой для старой версии ZWWW (загруженной в систему неведомо кем неведомо когда неведомо с какими модификациями). Правда, для Ворда. Точно не помню, но, кажется, решилось заменой в downloadmacros(lzwwwformf01) строк
Code:
concatenate TEMPDIR '\ZWWW_DATA_' FILEINDEX '.txt'   
    into FILE_DATA.
на
Code:
CONCATENATE tempdir '\ZWWW_DATA_' file_index '.txt'  into FILE_DATA.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Пн, май 29 2017, 14:29 
Начинающий
Начинающий

Зарегистрирован:
Пн, май 29 2017, 12:45
Сообщения: 9
Parazit написал:
Напрямую нет, т.к. одна из основных идей ZWWW заключается в том, что оформление должно решаться средствами шаблона.
А в ABAP-е должна решаться задача наполнения формы данными.

Добрый день! Большое спасибо за разработку, уже не раз ей пользовалась на разных проектах и в разных системах.
За время работы у меня, как и у некоторых отписавшихся в этой ветке, было только два небольших к ней вопроса:
1. Сортировка IT_VALUES.
2. Минимальное форматирование в WORD (жирный шрифт) на уровне не целой закладки, а только метки внутри закладки, метка появляется после первого заполнения шаблона данными.

Поясню на примерах (и буду очень рада, если получу некую критику и предложения по ним, заранее спасибо).
1. В эксель шаблоне часть столбцов статична, часть формируется динамически в процессе работы программы. Соответственно нужно создать новые столбцы макросом, проставить в них метки, затем всё заполнить. В одной системе работала с уже изменённым ФМ, в котором был добавлен параметр для того, чтобы убрать сортировку, и я никак не задумывалась о названии меток и макросов. С другой стороны пока сейчас писала, поняла, что надо было просто правильно в нужном арифметическом порядке назвать закладку для первого макроса и для нужной строки таблицы, тогда бы решилась проблема и того разрабочика, который добавил этот параметр в ФМ. Собственно этот пункт скорее констатация того факта, что если почитать FAQ к ФМ, многие вопросы легко решаются))

2. Сейчас столкнулась с такой проблемой. Нужно вывести в WORD документ. Типов документа несколько, один из типов в таблице сравнения перечисляет изменённые пункты документа второго типа, но в целом все формируемые документы очень похожи по настройкам. Сейчас текущая программа разрослась до безумных размеров, т.к. изменений много, нет единого подхода ни к настройке, ни к разработке. Предполагали сделать ведение пунктов в одной настроечной табличке (текст целого пункта, может быть параметризован), в этой же табличке задавать условие, по которуму определять выводить пункт или нет. Параметры соответственно ведутся в другой настроечной табличке. Некоторые параметры нужно выделять жирным шрифтом (это единственое требование к форматированию).
И тут две проблемы.
Очень хочется вести параметризованные тексты пунктов именно в настроечной табличке, а не в шаблоне (тогда можно на лету будет формировать табличку с изменениями в пунктах). Конечно, если вести тексты в шаблоне и для каждого пункта сделать закладку, то можно без проблем задавать жирный шрифт для некоторых строк и удалять ненужные пункты + с сортировкой IT_VALUES нет проблем. Но тогда нужно ещё вести закладки для каждого пункта. Как-то формировать табличку со сравнением пунктов (а нумерация пунктов к тому же нефиксированная) и это становится относительно сложной задачей (хотя может надо под другим углом посмотреть на задачу), сделать, конечно, можно, но тогда последующая настройка и поддержка усложняются. Пока планировала всё же вести просто метки в шаблоне (без закладок) , на первом прогоне их заполнять параметризованными текстами, на втором прогоне заполнять переменными, которые нужно задавать жирным шрифтом. И получается, что во-первых сортировка не даст сделать два прогона, а, во-вторых, жирный шрифт можно сделать только на уровне закладки, а не метки...
В общем пока думаю всё же добавить параметр для отмены сортировки и ещё один тип для val_type, отрабатывающий аналогично типу S, но выделяющим нужную метку жирным шрифтом.. Или же не мучить ваш ФМ, а просто сделать свой вывод в WORD).

Извините за длинный пространный текст и заранее спасибо)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Пн, май 29 2017, 18:22 
Начинающий
Начинающий

Зарегистрирован:
Пн, май 29 2017, 12:45
Сообщения: 9
Обсудила ещё раз со своими консультантами два подхода, и мы пришли к тому, что действительно нагляднее и удобнее вести форматирование именно в шаблоне, согласно вашей концепции. Так что ещё раз спасибо за ФМ, благодаря ему нашли оптимальный вариант для своей разработки)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Пн, май 29 2017, 19:25 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
moi_n_eau написал(а):
...
За время работы у меня, как и у некоторых отписавшихся в этой ветке, было только два небольших к ней вопроса:
1. Сортировка IT_VALUES.
2. Минимальное форматирование в WORD (жирный шрифт) на уровне не целой закладки, а только метки внутри закладки, метка появляется после первого заполнения шаблона данными.
...

Хорошо, что вы нашли решение. Тем не менее, это не значит, что задачу нельзя было решить. С помощью макросов можно реализовать любые фантазии. Например, можно было выводить жирный текст с какими-нибудь пометками типа скобочек "{текст}", а потом в конце запустить один макрос, который бы нашел все помеченные слова, сделал их жирными и удалил скобочки.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Вт, май 30 2017, 18:05 
Начинающий
Начинающий

Зарегистрирован:
Пн, май 29 2017, 12:45
Сообщения: 9
Добрый вечер!
Да, идея с макросами и фигурными скобками мне тоже приходила) Но смотрела какие ещё варианты есть без макросов.

А можно тогда ещё вопрос вдогонку. В поиске в теме находила вопрос про колонтитулы, и вы отвечали, что можно сделать заполнение параметров в колонтитулах, если в них указывать закладку. Сейчас попробовала так сделать - не работает, какая-то ole ошибка (пока особо её еще не разбирала), и до заполнения параметров программа не доходит. У нас в системе все вроде реализовывали через макросы заполнение колонтитулов при использовании ФМ ZWWW*. Всё-таки макрос, или что-то не так делаю? Заранее спасибо!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2409 ]  На страницу Пред.  1 ... 135, 136, 137, 138, 139, 140, 141 ... 161  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB