SAPфорум.RU https://www.sapboard.ru/forum/ |
|
ZWWW - ФМ для выгрузки данных в WORD, EXCEL https://www.sapboard.ru/forum/viewtopic.php?f=13&t=4880 |
Страница 147 из 161 |
Автор: | metha [ Пн, сен 10 2018, 15:01 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Parazit написал: metha написал: Всем привет, есть ли возможность получить физическое имя файла (полное имя с диреткорией), которое сгенерил этот ФМ? Не шаблона, а именно файла итогового? Задача стоит взять сгенеренный бинарник. Подход немного другой. Вы сами можете сгенерить каталог и имя файла и подать его на вход ZWWW, параметр FILE_NAME. Таким образом вы будете знать, где лежит готовый файл после выполнения ZWWW. А если на вход подавать просто имя файла в этот параметр без полного пути, то куда будет идти генерация итогово файла? У меня на разных рабочих станциях какая-то вакханалия, кому-то в tmp\ кому-то в \temp, кому-то просто в десктоп. |
Автор: | Parazit [ Пн, сен 10 2018, 16:56 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
metha написал: Parazit написал: ... Подход немного другой. Вы сами можете сгенерить каталог и имя файла и подать его на вход ZWWW, параметр FILE_NAME. Таким образом вы будете знать, где лежит готовый файл после выполнения ZWWW. А если на вход подавать просто имя файла в этот параметр без полного пути, то куда будет идти генерация итогово файла? У меня на разных рабочих станциях какая-то вакханалия, кому-то в tmp\ кому-то в \temp, кому-то просто в десктоп. Файл без пути зависит от версии. Сделайте как в ZWWW: Code: Call function 'GUI_GET_DESKTOP_INFO'
exporting Type = 4 "TmpDir changing Return = Temp_Dir exceptions others = 99. |
Автор: | Aleksoid1978 [ Ср, сен 19 2018, 03:53 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Всем привет. Есть пару вопросов к автору. 1) - в Form GetTempDir ты используешь FM 'WS_EXECUTE', а он уже не работает в SAP GUI 7.5, просто на этом вызове висит бесконечно. Ну как бы и считается устаревшим(не помню ноту) и вместо него лучше использовать CALL METHOD CL_GUI_FRONTEND_SERVICES=>EXECUTE. 2) - используется старенькая версия сабжа(не знаю как узнать точную версию, но год "внедрения" в САП - 2010 указан). Если не было никакого изменения - могу ли я безболезненно обновиться на последнюю 3.03 версия ? Почему спрашиваю - сравнил код, ну очень много отличий, боюсь как бы не поломалось после обновления. |
Автор: | Parazit [ Ср, сен 19 2018, 10:54 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Aleksoid1978 написал(а): Всем привет. Есть пару вопросов к автору. 1) - в Form GetTempDir ты используешь FM 'WS_EXECUTE', а он уже не работает в SAP GUI 7.5, просто на этом вызове висит бесконечно. Ну как бы и считается устаревшим(не помню ноту) и вместо него лучше использовать CALL METHOD CL_GUI_FRONTEND_SERVICES=>EXECUTE. 2) - используется старенькая версия сабжа(не знаю как узнать точную версию, но год "внедрения" в САП - 2010 указан). Если не было никакого изменения - могу ли я безболезненно обновиться на последнюю 3.03 версия ? Почему спрашиваю - сравнил код, ну очень много отличий, боюсь как бы не поломалось после обновления. О как! Не слышал про проблемы под SAP GUI 7,5. Спасибо за инфу. Поставлю, проверю. Вызов через WS_EXECUTE был написан давно. Поскольку я стараюсь соблюдать совместимость со старыми версиями SAP (поначалу даже было с 4.0), то стараюсь не трогать старый работающий код. Тем более, что не всегда есть возможность проверить изменения на всех версиях. Строго говоря, я считаю код совместимым, если корректно работают все мои примеры, поскольку они реализуют все типичные приёмы работы ZWWW: ZWWW_SAMPLE_INVOICE, ZWWW_MANY_LIST, ZWWW_ALV_GRID. Насчёт обновления - я блюду обратную совместимость именно с той целью, чтобы не изменять старые отчёты. Все новые параметры ФМ создаются с признаком "необязательный" и имеют такие значения по умолчанию, чтобы работало как раньше без них. Но, разумеется, если кто-то изменял мой код или использовал "недокументированные" особенности, то накладки могут возникнуть. Но я ещё не встречал нерешаемых проблем. Однако перед обновлением лучше положить все объекты разработки ZWWW в отдельный запрос и деблокировать его, чтобы иметь возможность быстро восстановить старую версию. После обновления конечно желательно проверить старые отчёты. |
Автор: | Aleksoid1978 [ Ср, сен 19 2018, 15:47 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Parazit написал: Однако перед обновлением лучше положить все объекты разработки ZWWW в отдельный запрос и деблокировать его, чтобы иметь возможность быстро восстановить старую версию. Ну тогда подскажи такой вопрос(в этом я еще не особо) - а можно ли сразу весь пакет ZWWW(ну со всеми потрахами) положить в запрос. А то объектов то не мало, запаришься по отдельности. |
Автор: | Parazit [ Ср, сен 19 2018, 22:58 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Aleksoid1978 написал(а): Parazit написал: Однако перед обновлением лучше положить все объекты разработки ZWWW в отдельный запрос и деблокировать его, чтобы иметь возможность быстро восстановить старую версию. Ну тогда подскажи такой вопрос(в этом я еще не особо) - а можно ли сразу весь пакет ZWWW(ну со всеми потрахами) положить в запрос. А то объектов то не мало, запаришься по отдельности. Тр. SE03, "включение объектов в запрос на перенос". Можно по имени пакета все входящие в него объекты добавить в запрос. |
Автор: | Aleksoid1978 [ Сб, сен 22 2018, 09:16 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Спасибо большое за помощь. Обновил пакет - вроде бы все заработало. Но есть одно но - выгрузка в Excel стала работать "по другому". Если на старой версии сразу открывался Excel файл с данными, то теперь этот файл помещается во входящую почту пользователя, при выходе из транзакции об этом сообщается и тогда можно открыть полученный Excel файл. Вот как это выглядит: нажимаем часики: И только когда прогресс дойдет до конца откроется Excel с нужным файлом. Если просто закрыть первое окно - то видим созданный документ во входящей почте. P.S. пример с первой страницы Z_HELLO_WORLD работает как и положено. Выгрузка в Excel вот таким кодом, к примеру: Code: CALL FUNCTION 'ZWWW_OPENFORM'
EXPORTING form_name = 'ZPERESORT' printdialog = '' protect = '' optimize = 0 TABLES it_values = lt_values EXCEPTIONS printcancel = 1 OTHERS = 2. |
Автор: | Parazit [ Сб, сен 22 2018, 11:35 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Aleksoid1978 написал(а): Спасибо большое за помощь. Обновил пакет - вроде бы все заработало. Но есть одно но - выгрузка в Excel стала работать "по другому". Если на старой версии сразу открывался Excel файл с данными, то теперь этот файл помещается во входящую почту пользователя, при выходе из транзакции об этом сообщается и тогда можно открыть полученный Excel файл. Вот как это выглядит: нажимаем часики: И только когда прогресс дойдет до конца откроется Excel с нужным файлом. Если просто закрыть первое окно - то видим созданный документ во входящей почте. P.S. пример с первой страницы Z_HELLO_WORLD работает как и положено. Выгрузка в Excel вот таким кодом, к примеру: Code: CALL FUNCTION 'ZWWW_OPENFORM' EXPORTING form_name = 'ZPERESORT' printdialog = '' protect = '' optimize = 0 TABLES it_values = lt_values EXCEPTIONS printcancel = 1 OTHERS = 2. Такое должно происходить только при запуске модуля из фона, или принудительно указан параметр FILE_LOCATION='O' (Office) Есть какая-то особенность у вашей задачи? Может она запускается через BATCH-INPUT или в UPDATE TASK ? |
Автор: | Aleksoid1978 [ Сб, сен 22 2018, 12:11 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Да просто вручную запускаю транзакции(во всех так стала вести выгрузка). Может подскажешь где кусок кода, который делает проверки и либо выгружает напрямую в файл либо в почту отправляет? Посмотрю в отладчике что там к чему. |
Автор: | Parazit [ Сб, сен 22 2018, 13:23 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Aleksoid1978 написал(а): Да просто вручную запускаю транзакции(во всех так стала вести выгрузка). Может подскажешь где кусок кода, который делает проверки и либо выгружает напрямую в файл либо в почту отправляет? Посмотрю в отладчике что там к чему. Мои примеры нормально работают или так же? Если нормально, значит в ваших транзакциях есть какая-то особенность. Есть глобальная переменная isBackGrnd , нужно смотреть когда она становится не пустой. |
Автор: | Aleksoid1978 [ Сб, сен 22 2018, 13:38 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Отбой - ложная тревога. Перезапустил SAP GUI - теперь все работает как и положено. |
Автор: | Parazit [ Сб, сен 22 2018, 14:50 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Parazit написал: Aleksoid1978 написал(а): Всем привет. Есть пару вопросов к автору. 1) - в Form GetTempDir ты используешь FM 'WS_EXECUTE', а он уже не работает в SAP GUI 7.5, просто на этом вызове висит бесконечно. Ну как бы и считается устаревшим(не помню ноту) и вместо него лучше использовать CALL METHOD CL_GUI_FRONTEND_SERVICES=>EXECUTE. 2) - используется старенькая версия сабжа(не знаю как узнать точную версию, но год "внедрения" в САП - 2010 указан). Если не было никакого изменения - могу ли я безболезненно обновиться на последнюю 3.03 версия ? Почему спрашиваю - сравнил код, ну очень много отличий, боюсь как бы не поломалось после обновления. О как! Не слышал про проблемы под SAP GUI 7,5. Спасибо за инфу. Поставлю, проверю. Вызов через WS_EXECUTE был написан давно. Поскольку я стараюсь соблюдать совместимость со старыми версиями SAP (поначалу даже было с 4.0), то стараюсь не трогать старый работающий код. Тем более, что не всегда есть возможность проверить изменения на всех версиях. Строго говоря, я считаю код совместимым, если корректно работают все мои примеры, поскольку они реализуют все типичные приёмы работы ZWWW: ZWWW_SAMPLE_INVOICE, ZWWW_MANY_LIST, ZWWW_ALV_GRID. Насчёт обновления - я блюду обратную совместимость именно с той целью, чтобы не изменять старые отчёты. Все новые параметры ФМ создаются с признаком "необязательный" и имеют такие значения по умолчанию, чтобы работало как раньше без них. Но, разумеется, если кто-то изменял мой код или использовал "недокументированные" особенности, то накладки могут возникнуть. Но я ещё не встречал нерешаемых проблем. Однако перед обновлением лучше положить все объекты разработки ZWWW в отдельный запрос и деблокировать его, чтобы иметь возможность быстро восстановить старую версию. После обновления конечно желательно проверить старые отчёты. Проверил SAP Logon 7.5. Проблема есть, но она не в том, что WS_EXECUTE устарел и не работает. ФМ работает, как и раньше. Проблема в самом SAP Logon, точнее в настройках безопасности. Если проваерки безопасности полностью отключить, то всё работает. Если наоборот, всё запретить, то получим адекватное сообщение. И только если "на основе правил", то происходит зависание. Однако эта проблема легко обходится в данном случае. Подвисающий вызов в подпрограмме GetTempDir делался исключительно для очистки каталога временных файлов при первом запуске. Новые версии SAP Logon берут на себя эту функцию, поэтому её можно просто отключить. Для этого в таблицу ZWWW_PARAM_DEFLT нужно добавить настройку, где: NAME = 'CLEAR_TEMP' DATE_FROM = сегодняшнее число VALUE = '' - пусто |
Автор: | calm [ Ср, окт 10 2018, 15:29 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Добрый день, Валерий. Скачал версию 3.03. Всё как будто отлично ставится, активируется. Но при попытке переноса в журнале сообщения Цитата: Программа ZCL_ZWWW======================CU: ошибка синтаксиса в строке 000001 ABAP-оператор REPORT/PROGRAM отсутствует или типомпрограммы является Include Программа ZCL_ZWWW======================CO: ошибка синтаксиса в строке 000003 ABAP-оператор REPORT/PROGRAM отсутствует или типомпрограммы является Include Программа ZCL_ZWWW======================CI: ошибка синтаксиса в строке 000003 ABAP-оператор REPORT/PROGRAM отсутствует или типомпрограммы является Include Указанные инклуды, если их глянуть в SE38, имеют типа "1 выполняемая программа", хотя ожидается "I - Include-программа". В установочных файлах, насколько я их понял, всё верно. Пробовали ставить дважды - оба раза с такойо ошибкой. SAP_ABA 750, 11 уровень. Пока непонятно, как побороть проблему, т.к. тип программы так просто не изменить. И откуда это взялось. |
Автор: | Parazit [ Чт, окт 11 2018, 09:50 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
calm написал(а): Добрый день, Валерий. Скачал версию 3.03. Всё как будто отлично ставится, активируется. Но при попытке переноса в журнале сообщения Цитата: Программа ZCL_ZWWW======================CU: ошибка синтаксиса в строке 000001 ABAP-оператор REPORT/PROGRAM отсутствует или типомпрограммы является Include Программа ZCL_ZWWW======================CO: ошибка синтаксиса в строке 000003 ABAP-оператор REPORT/PROGRAM отсутствует или типомпрограммы является Include Программа ZCL_ZWWW======================CI: ошибка синтаксиса в строке 000003 ABAP-оператор REPORT/PROGRAM отсутствует или типомпрограммы является Include Указанные инклуды, если их глянуть в SE38, имеют типа "1 выполняемая программа", хотя ожидается "I - Include-программа". В установочных файлах, насколько я их понял, всё верно. Пробовали ставить дважды - оба раза с такойо ошибкой. SAP_ABA 750, 11 уровень. Пока непонятно, как побороть проблему, т.к. тип программы так просто не изменить. И откуда это взялось. Попробуйте использовать самую последнюю версию ZWWW_MIGRATE отсюда https://sites.google.com/site/vvnabap/fajly/ywww |
Автор: | Sam Stone [ Вт, окт 16 2018, 13:03 ] |
Заголовок сообщения: | Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL |
Добрый день Есть макрос в экселе, именованная область для него на листе. Делаю так: Code: append #( var_name = 'Область' value = '10' ) TO zwww_values. append #( var_name = 'Область' val_type = 'M' value = 'Макрос' ) TO zwww_values. append #( var_name = 'Область' value = '20' ) TO zwww_values. append #( var_name = 'Область' val_type = 'M' value = 'Макрос' ) TO zwww_values. При втором вызове макроса значение в 'Область' всё равно 10. Почему? Или нельзя несколько раз подряд в одно место записывать данные? |
Страница 147 из 161 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |