Текущее время: Вс, фев 25 2018, 11:46

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


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


ВНИМАНИЕ!

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



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

Зарегистрирован:
Чт, авг 19 2004, 18:37
Сообщения: 1779
Откуда: Москва
Пол: Мужской
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, 17:33 
Начинающий
Начинающий

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


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

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


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

Зарегистрирован:
Чт, авг 19 2004, 18:37
Сообщения: 1779
Откуда: Москва
Пол: Мужской
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, 21:08 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, апр 12 2006, 13:43
Сообщения: 836
Откуда: СССР
Пол: Мужской
Доброго времени суток, уважаемый 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, 01:21 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 18:37
Сообщения: 1779
Откуда: Москва
Пол: Мужской
[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, 20:46 
Директор
Директор
Аватара пользователя

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

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

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


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

Зарегистрирован:
Вт, май 23 2017, 15: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, 16:56 
Почетный гуру
Почетный гуру
Аватара пользователя

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

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

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

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


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

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


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

Зарегистрирован:
Чт, май 12 2011, 17:06
Сообщения: 241
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, 15:29 
Начинающий
Начинающий

Зарегистрирован:
Пн, май 29 2017, 13:45
Сообщения: 7
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, 19:22 
Начинающий
Начинающий

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


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

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

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

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


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

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

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


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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