SAPфорум.RU
https://www.sapboard.ru/forum/

ZWWW - ФМ для выгрузки данных в WORD, EXCEL
https://www.sapboard.ru/forum/viewtopic.php?f=13&t=4880
Страница 145 из 161

Автор:  NickS [ Пт, июн 22 2018, 15:21 ]
Заголовок сообщения:  Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL

День добрый, возникла потребность перевести формирование Excel файла в фон и решил воспользоваться новым инструментом YWWW. И столкнулся с проблемой - перенос значений в ячейки с прямой адресацией типа VAR_NAME = Лист1!G3 не происходит, а очень надо. Может кто подскажет, что не так делаю?В простом ZWWW такая адресация срабатывала, лист в шаблоне так же называется. В примерах не увидел решения. Может не все смотрел?

Автор:  Parazit [ Пт, июн 22 2018, 15:27 ]
Заголовок сообщения:  Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL

NickS написал(а):
День добрый, возникла потребность перевести формирование Excel файла в фон и решил воспользоваться новым инструментом YWWW. И столкнулся с проблемой - перенос значений в ячейки с прямой адресацией типа VAR_NAME = Лист1!G3 не происходит, а очень надо. Может кто подскажет, что не так делаю?В простом ZWWW такая адресация срабатывала, лист в шаблоне так же называется. В примерах не увидел решения. Может не все смотрел?

Можете прислать шаблон и содержимое IT_VALUES на почту misterxyz@mail.ru ?

Автор:  ssv10 [ Сб, июл 07 2018, 12:25 ]
Заголовок сообщения:  Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL

Добрый день.
Поделитесь, пожалуйста, примером отправки вложенного файла XML по электронной почте.
Я остановилась на том, что отправила сообщение в SAP Office и получила его ID с помощью zcl_zwww=>sap_office_get_file_id.
Затем запускаю SO_OLD_DOCUMENT_SEND_API1 и в результате вижу в SAP Office в исходящих свое сообщение.
Нажимаю Отправить и получаю письмо без вложения.
А можно как-то сделать так, чтобы мой XML был вложением?
Есть ли возможность отправлять письмо с вложением с помощью CL_DOCUMENT_BCS? Нашла метод GETU_BCS_INSTANCE, который позволяет
получить объект SAP Office по его ID (надо передать структуру SOODK). Но непонятно, как его увязать с результатом вызова sap_office_get_file_id и что вообще потом делать.

Code:
   zcl_zwww=>sap_office_get_file_id( exporting i_file_name = conv #( lv_filename )
                                                       importing e_file_id   = data(lv_file_id)
                                                       exceptions file_not_found = 1  ).
   if sy-subrc ne '0'.
       exit.
   endif.

   ls_receivers-rec_type  = 'U'.
   ls_receivers-express = 'X'.
   ls_receivers-receiver  = email пользователя
   append ls_receivers to lt_receivers.

   CALL FUNCTION 'SO_OLD_DOCUMENT_SEND_API1'
       EXPORTING
          document_id                = lv_file_id
          PUT_IN_OUTBOX              = abap_true
        TABLES
          receivers                  = lt_receivers
        EXCEPTIONS
          too_many_receiver          = 1
          document_not_sent          = 2
          document_not_exist         = 3
          operation_no_authorization = 4
          parameter_error            = 5
          x_error                    = 6
          enqueue_error              = 7
          OTHERS                     = 8.

Автор:  Parazit [ Пн, июл 09 2018, 12:47 ]
Заголовок сообщения:  Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL

ssv10 написал(а):
Добрый день.
Поделитесь, пожалуйста, примером отправки вложенного файла XML по электронной почте.
Я остановилась на том, что отправила сообщение в SAP Office и получила его ID с помощью zcl_zwww=>sap_office_get_file_id.
Затем запускаю SO_OLD_DOCUMENT_SEND_API1 и в результате вижу в SAP Office в исходящих свое сообщение.
Нажимаю Отправить и получаю письмо без вложения.
А можно как-то сделать так, чтобы мой XML был вложением?
Есть ли возможность отправлять письмо с вложением с помощью CL_DOCUMENT_BCS? Нашла метод GETU_BCS_INSTANCE, который позволяет
получить объект SAP Office по его ID (надо передать структуру SOODK). Но непонятно, как его увязать с результатом вызова sap_office_get_file_id и что вообще потом делать.


Пример можете подсмотреть в подпрограмме Sap_Office_Send_Mail, или в методе YCLITC_PRINTED_FORM->SAP_OFFICE_SEND_MAIL, если используете YWWW.
Он отправляет пользователю экстренное сообщение с вложенным документом. Это происходит автоматически, если вызов ZWWW (YWWW) производится в фоне. Либо задача напрямую направляет вывод в SAP Office (параметр FILE_LOCATION='O' и CLOSE_FORM=space).

Автор:  Sam Stone [ Вт, июл 17 2018, 10:49 ]
Заголовок сообщения:  Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL

Вроде был такой или похожий вопрос, найти не могу: ZWWW_SAMPLE_INVOICE, версия 3.03, не выгружает заголовок, только табличную часть, если optimize <> 0. Офис 2010.
Это проблема конкретной версии офиса?

Автор:  Parazit [ Вт, июл 17 2018, 11:41 ]
Заголовок сообщения:  Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL

Sam Stone написал(а):
Вроде был такой или похожий вопрос, найти не могу: ZWWW_SAMPLE_INVOICE, версия 3.03, не выгружает заголовок, только табличную часть, если optimize <> 0. Офис 2010.
Это проблема конкретной версии офиса?

Нет, с такими очевидными проблемами я не выкладываю ZWWW.
Отчасти для этого я и создал примеры, чтобы была проверка.
Когда был установлен ZWWW 3.03?
Какие-нибудь собственные изменения вносились?
Какие версии SAP и SAP Logon?
Можете при помощи ZWWW_MIGRATE выгрузить весь ZWWW (например, весь пакет ZWWW_EXCEL) и выслать на почту misterxyz@mail.ru ?

Автор:  Sam Stone [ Вт, июл 17 2018, 12:15 ]
Заголовок сообщения:  Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL

Parazit написал:
Sam Stone написал(а):
Вроде был такой или похожий вопрос, найти не могу: ZWWW_SAMPLE_INVOICE, версия 3.03, не выгружает заголовок, только табличную часть, если optimize <> 0. Офис 2010.
Это проблема конкретной версии офиса?

Нет, с такими очевидными проблемами я не выкладываю ZWWW.
Отчасти для этого я и создал примеры, чтобы была проверка.
Когда был установлен ZWWW 3.03?
Какие-нибудь собственные изменения вносились?
Какие версии SAP и SAP Logon?
Можете при помощи ZWWW_MIGRATE выгрузить весь ZWWW (например, весь пакет ZWWW_EXCEL) и выслать на почту misterxyz@mail.ru ?


Запрос от 05.10.2016, дата изменения та же.
По поводу своих изменений не знаю.
ABAP 7.40 SP6, gui 740 SP10 build 1704187
Письмо с выгруженным пакетом отправил.

Автор:  Parazit [ Вт, июл 17 2018, 12:30 ]
Заголовок сообщения:  Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL

Sam Stone написал(а):
...
Запрос от 05.10.2016, дата изменения та же.
По поводу своих изменений не знаю.
ABAP 7.40 SP6, gui 740 SP10 build 1704187
Письмо с выгруженным пакетом отправил.

Пакет получил, сразу вижу - изменения есть. Попозже посмотрю, сейчас убегаю.

Автор:  Saperx [ Ср, июл 18 2018, 12:07 ]
Заголовок сообщения:  Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL

Добрый день.
Необходимо вывести длинный текст с переводами каретки, html разметкой и прочим.
При реплейсе возвращается subrc = 2 и собственно текст не выводится. Ранее по теме нашел, что в word существует ограничение на функцию replace, в Excel та же фигня? B можно как-нибудь обойтись без тегов вида [1][2]... а то текст может быть от 10 до нескольких тысяч символов.

Автор:  Parazit [ Ср, июл 18 2018, 13:31 ]
Заголовок сообщения:  Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL

Saperx написал(а):
Добрый день.
Необходимо вывести длинный текст с переводами каретки, html разметкой и прочим.
При реплейсе возвращается subrc = 2 и собственно текст не выводится. Ранее по теме нашел, что в word существует ограничение на функцию replace, в Excel та же фигня? B можно как-нибудь обойтись без тегов вида [1][2]... а то текст может быть от 10 до нескольких тысяч символов.

Да, у Excel та же фигня.

Автор:  Saperx [ Чт, июл 19 2018, 12:33 ]
Заголовок сообщения:  Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL

Может кому понадобиться, небольшой хак чтобы не надо было вставлять кучу меток для вывода длинного текста.
Версия модуля очень старая, так что смотрите по месту сами
Кусок
Code:
Case <IT_VALUES>-VAL_TYPE.
   when 'S'.
      Call method of Range 'Replace'
         EXPORTING
         #1 = <IT_VALUES>-FIND_TEXT
         #2 = lv_temp_string. "<IT_VALUES>-VALUE.

Меняем на
Code:
Case <IT_VALUES>-VAL_TYPE.
   when 'S'.
   DATA(lv_temp_string) = CONV string( <value> ).
   PERFORM fill_long_text USING <it_values>-find_text
                         lv_temp_string
                         range.

И создаем перформ
Code:
FORM fill_long_text USING iv_find_text TYPE char50
                     iv_value TYPE string
                     io_range.

"Сколько символов уместится, если добавить тэг
DATA(pivot) = 255 - strlen( iv_find_text ).

"Вставляем либо всю строку, либо начало строки + тег
DATA(lv_current) = COND #( when strlen( iv_value ) < 255
                     then iv_value
                     else iv_value(pivot) && iv_find_text ).

CALL METHOD OF io_range 'Replace'
   EXPORTING
   #1 = iv_find_text
   #2 = lv_current.
   
IF strlen( iv_value ) > 255.
   data(lv_rest) = iv_value+pivot.
   PERFORM fill_long_text USING iv_find_text lv_rest io_range.
ENDIF.

ENDFORM.


Соответственно тоже самое в Excel, при оптимизации
Code:
'r.Replace Ar(2), Ln, xlPart, xlByRows, False
Fill_Long_Text Ar(2), Ln, r
         
Sub Fill_Long_Text(find_text As String, line As String, r As Range)
    Dim pivot As Integer
    Dim current As String
   
    pivot = 255 - Len(find_text)
    If Len(line) < 255 Then
        current = line
    Else
        current = Left(line, pivot) & find_text
    End If
   
    r.Replace find_text, current, xlPart, xlByRows, False
    If Len(line) > 255 Then
        Fill_Long_Text find_text, Mid(line, pivot + 1), r
    End If
End Sub

Автор:  Saperx [ Вт, авг 14 2018, 13:01 ]
Заголовок сообщения:  Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL

Просмотрел всю тему, но не смог найти.
Можно ли при выгрузке формировать ссылки(как на другие страницы, так и на интернет адреса)?
И как выгружать строки с объединением ячеек по вертикали и горизонтали.

Автор:  Parazit [ Вт, авг 14 2018, 14:39 ]
Заголовок сообщения:  Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL

Saperx написал(а):
Просмотрел всю тему, но не смог найти.
Можно ли при выгрузке формировать ссылки(как на другие страницы, так и на интернет адреса)?
И как выгружать строки с объединением ячеек по вертикали и горизонтали.

Создание ссылок в Excel довольно легко решается.
Можно создать скрытую ячейку, в которую вывести ссылку в виде текста.
Например, в ячейку A1 пишем текст "https://sapboard.ru/forum/viewtopic.php?f=13&t=4880".
А в ячейке, где нужна ссылка, поместить формулу типа =ГИПЕРССЫЛКА(A1).

Вывод в горизонтально объединённые ячейки не имеет особенностей.
А вертикальные объединения обычно реализуют через макросы.

Автор:  Endrews [ Чт, авг 16 2018, 17:27 ]
Заголовок сообщения:  Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL

Добрый день. Может конечно кто уже спрашивал.
А можно БЕЗ макроса через ZWW скрывать области в Excel ?

Автор:  Parazit [ Чт, авг 16 2018, 22:29 ]
Заголовок сообщения:  Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL

Endrews написал(а):
Добрый день. Может конечно кто уже спрашивал.
А можно БЕЗ макроса через ZWW скрывать области в Excel ?

Скрывать нет, но можно удалять.
VAR_NAME=<имя области>
VAL_TYPE='D' - Delete

Удаление всегда производится в самом конце, после заполнения формы.

Страница 145 из 161 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/