SAPфорум.RU https://www.sapboard.ru/forum/ |
|
Печать в смартформе рисунка, сохраненного в аттачменте https://www.sapboard.ru/forum/viewtopic.php?f=77&t=52715 |
Страница 1 из 1 |
Автор: | Kiki [ Вт, авг 25 2009, 11:21 ] |
Заголовок сообщения: | Печать в смартформе рисунка, сохраненного в аттачменте |
Привет всем! Клиенты поставили следующую задачу: есть Quality Notification, для которого они сохраняют рисунки в аттачменте, через стандартные функции. Далее при печати смартформы эти рисунки должны также распечатываться. Моя задача состоит на основе номера QN найти загруженные картинки, сохранить их на сервер смартформ\сапскриптов (стандартно при наличии картинки на презентационном сервере реализовывается с помощью SE78) и вывод на печать. С помощью таблицы SRGBTBREL и FM "SO_OBJECT_READ" я нахожу и вычитываю название картинки, также там есть информация о папке и объекте, но в виде: FOLTP FOLYR FOLNO DOCTP DOCYR DOCNO FOL 31 000000000004 EXT 34 000000000107 Может кто знает, с помощью каких функций можно вычитать содержимое картинкив в BIN-виде или как можно перевести цифры папки в физический путь? Либо кто-то знает какими функциями можно сразу сохранить картинку на сервере смартформ из аттачмента? Заранее всем спасибо за ответы. |
Автор: | John Doe [ Чт, ноя 12 2009, 16:05 ] |
Заголовок сообщения: | Re: Печать в смартформе рисунка, сохраненного в аттачменте |
Очень у меня "свежий" ответ получится Пример получения бинарников приложений из сообщений по качеству. Code: DATA: l_objectid TYPE bapiborid, lt_relat TYPE TABLE OF bapirellk WITH HEADER LINE, l_objdisp TYPE sood2, lt_objcont TYPE TABLE OF soli, lt_context LIKE sdokpropty OCCURS 0 WITH HEADER LINE, loio_object LIKE sdokobject, phio_object LIKE sdokobject, lt_binary_content TYPE TABLE OF sdokcntbin, xfile TYPE xstring, xfilename TYPE string. DATA: xlen TYPE i. PARAMETERS: p_qmnum LIKE qmel-qmnum. START-OF-SELECTION. l_objectid-objkey = p_qmnum. l_objectid-objtype = 'BUS2080'. CALL FUNCTION 'BAPI_REL_GETRELATIONS' EXPORTING objectid = l_objectid TABLES listofrelations = lt_relat[]. LOOP AT lt_relat. REFRESH lt_objcont. CALL FUNCTION 'SO_OBJECT_READ' EXPORTING folder_id = lt_relat-objkey_b(17) object_id = lt_relat-objkey_b+17(17) IMPORTING object_hd_display = l_objdisp TABLES objcont = lt_objcont EXCEPTIONS OTHERS = 15. TRANSLATE l_objdisp-file_ext TO UPPER CASE. CALL FUNCTION 'SO_KPRO_DATA_FROM_OBJCONT_GET' IMPORTING loio_object = loio_object TABLES objcont = lt_objcont context = lt_context EXCEPTIONS missing_kpro_data = 1 OTHERS = 2. CALL FUNCTION 'SO_LOIO_PHIO_GET' EXPORTING loio_object = loio_object IMPORTING phio_object = phio_object EXCEPTIONS kpro_inconsistency = 1 x_error = 2 OTHERS = 3. CALL FUNCTION 'SDOK_PHIO_LOAD_CONTENT' EXPORTING object_id = phio_object TABLES file_content_binary = lt_binary_content EXCEPTIONS not_existing = 1 not_authorized = 2 no_content = 3 bad_storage_type = 4 OTHERS = 5. xlen = l_objdisp-objlen. CALL FUNCTION 'SCMS_BINARY_TO_XSTRING' EXPORTING input_length = xlen IMPORTING buffer = xfile TABLES binary_tab = lt_binary_content EXCEPTIONS failed = 1 OTHERS = 2. ENDLOOP. Дальше хорошо только на Adobe Forms ложится - бинарник в интерфейс закидывается, а там биндинг на изображение. Со смартформами простого пути не нашел. Можно попробовать конечно сперва выгружать на клиент, а потом пакетником на SE78 загружать... |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |