Текущее время: Пт, мар 29 2024, 02:59

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Генерация QR кода больших размеров средствами SAP
СообщениеДобавлено: Чт, янв 18 2018, 17:21 
Начинающий
Начинающий

Зарегистрирован:
Чт, май 13 2010, 16:56
Сообщения: 20
DiVo написал(а):
Сначала в тр. SE73 создайте свой QR код (как здесь):

https://blogs.sap.com/2016/05/12/qr-code-or-2d-bar-code-in-sap/

Затем для смартформы создайте стиль и в этом стиле создайте формат знаков, ссылающийся на ранее созданный QR код. Далее используйте этот формат в смартформе для отображения QR кода.


Спасибо огромное всем :pivo: , сейчас вышло сделать QR код размерностью в 560 символов байтовый в юникоде. Теперь буду отлаживать код смартформ для того чтобы выяснить как QR создается таких размеров и выходит на экран. Если кто то может сразу сказать в какой фм/класс залезть буду признателен.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Генерация QR кода больших размеров средствами SAP
СообщениеДобавлено: Пт, янв 19 2018, 15:00 
Начинающий
Начинающий

Зарегистрирован:
Чт, май 13 2010, 16:56
Сообщения: 20
Все заработало. :D Получилось посмотреть каким образом запускаются системные функции при создании QR в смартформах.
В итоге переменная, в которой лежит текст кода должна быть DATA: barcdata(6144) TYPE c.
Генерю следующим образом
Code:
CALL 'RSPO_CACHE_CONTROL' ID 'AREA' FIELD 'BARCODE'
                            ID 'OP'   FIELD 'RENDERBARCODE'
                            ID 'BC_PAR' FIELD bc_cmd-tdprintpar
                            ID 'BP_PAR' FIELD bp_cmd-tdprintpar
                            ID 'BARCDATA' FIELD barcdata
                            ID 'BARCDATALEN' FIELD barcdatalen
                            ID 'BMSIZE' FIELD bitmapsize
                            ID 'WIDTH'  FIELD w
                            ID 'HEIGHT' FIELD h
                            ID 'MSG'    FIELD msg
                            ID 'ERRMSG' FIELD errmsg.



  IF sy-subrc = 0.
* get bitmap buffer
    totallen = 0.
    DO.
      CALL 'RSPO_CACHE_CONTROL' ID 'AREA' FIELD 'BARCODE'
                                ID 'OP'   FIELD 'GETBITMAP'
                                ID 'BUFFER' FIELD bmbuf-data
                                ID 'LENGTH' FIELD c_bmbuf_size
                                ID 'ACTSIZE' FIELD actlen.
      IF sy-subrc = 0.
        IF actlen > 0.
          APPEND bmbuf.
          ADD actlen TO totallen.
        ENDIF.
        IF totallen >= bitmapsize.
          sy-subrc = 0.
          EXIT.
        ENDIF.
      ELSE.
*      write: / 'ERROR at GETBITMAP, SUBRC', sy-subrc.
        EXIT.
      ENDIF.
    ENDDO.
    IF sy-subrc = 0.
*   write: / 'Read', totallen, 'bytes of bitmap data'.
    ENDIF.
  ELSE.
    CONCATENATE errmsg ':' msg INTO errormsg.
    sy-subrc = 1. "concatenate changes SUBRC
  ENDIF.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Генерация QR кода больших размеров средствами SAP
СообщениеДобавлено: Пт, янв 19 2018, 15:08 
Начинающий
Начинающий

Зарегистрирован:
Чт, май 13 2010, 16:56
Сообщения: 20
Сейчас есть следующая проблема, при генерации кода не может создать bitmap больше 871 кб. Это дает ограничение на QR код при уровне корректировке H максимум 220 символов, при L максимум 500 символов. QR код у меня в байтовой кодировке.
Ошибка сразу после выполнения системной функции RSPO_CACHE_CONTROL
Сообщение следующее:
Изображение

Никто не знает можно ли расширить объем графического файла?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Генерация QR кода больших размеров средствами SAP
СообщениеДобавлено: Вт, янв 23 2018, 11:57 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пн, сен 17 2007, 07:11
Сообщения: 41
MeIIIok написал(а):
Никто не знает можно ли расширить объем графического файла?


А какая конечная цель, получить bmp-файл с QR кодом? :-)

Я правильно понимаю, теперь любые QR коды выводятся на смартформу без каких-либо ограничений, проблема только в формировании bmp-файла?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация QR кода больших размеров средствами SAP
СообщениеДобавлено: Ср, янв 24 2018, 21:00 
Начинающий
Начинающий

Зарегистрирован:
Чт, май 13 2010, 16:56
Сообщения: 20
DiVo написал(а):
MeIIIok написал(а):
Никто не знает можно ли расширить объем графического файла?


А какая конечная цель, получить bmp-файл с QR кодом? :-)

Я правильно понимаю, теперь любые QR коды выводятся на смартформу без каких-либо ограничений, проблема только в формировании bmp-файла?


Конечная цель получить QR код в bmp файл и прицепить его к эксель форме, часть данных из которой будет зашита в QR код.

Да, теперь в смартформу можно вывести практически любой QR код, ограничением является размер страницы смартформы и физическое ограничение QR кода (для кириллицы около 1500 символов) и как в моем случае ограничение на BMP файл, причем это ограничение сработает и в смартформе, так как там выполняется точно такой же код.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Генерация QR кода больших размеров средствами SAP
СообщениеДобавлено: Пн, янв 29 2018, 18:04 
Специалист
Специалист

Зарегистрирован:
Вт, июн 10 2014, 09:41
Сообщения: 179
Может быть, получится установить какую-нибудь утилиту на сервер приложений и запускать её, чтобы генерировался BMP-файл?
http://www.linux-magazine.com/Online/Features/Generating-QR-Codes-in-Linux


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Генерация QR кода больших размеров средствами SAP
СообщениеДобавлено: Вт, янв 30 2018, 04:37 
Специалист
Специалист

Зарегистрирован:
Чт, мар 25 2010, 09:02
Сообщения: 207
А там случайно нет настройки какая ширина\высота квадратика qr-кода в пикселах? Может поменьше поставить? Тогда будет генерироваться файл меньшего размера.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Генерация QR кода больших размеров средствами SAP
СообщениеДобавлено: Ср, янв 31 2018, 22:22 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пн, сен 17 2007, 07:11
Сообщения: 41
MeIIIok написал(а):

Да, теперь в смартформу можно вывести практически любой QR код


Если QR коды выводятся на смартформу без проблем, то можно попробовать сделать следующим образом:

1. Вывести QR код на смартформу без отображения на экране, получить отрендеренное содержимое смартформы в формате OTF. Подробно описано здесь http://sap-technique.blogspot.ru/2017/04/converting-smart-forms-output-to-pdf.html, см. параметры control_parameters-no_dialog, control_parameters-getotf и job_output_info-otfdata[].

2. Выгрузить полученные OTF данные способом, описанным здесь https://blogs.sap.com/2016/05/12/qr-code-or-2d-bar-code-in-sap/. В блоге есть программа, надо использовать кусок кода, который идёт сразу после вызова процедуры bitmap2otf
Code:
perform bitmap2otf IN PROGRAM sapmssco
                   tables bitmap
                          otf
                    using bitmapsize
                          w
                          h.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генерация QR кода больших размеров средствами SAP
СообщениеДобавлено: Ср, фев 07 2018, 12:55 
Начинающий
Начинающий

Зарегистрирован:
Чт, май 13 2010, 16:56
Сообщения: 20
UKY написал(а):
Может быть, получится установить какую-нибудь утилиту на сервер приложений и запускать её, чтобы генерировался BMP-файл?
http://www.linux-magazine.com/Online/Features/Generating-QR-Codes-in-Linux

Думали про это, вопрос, как эту утилиту вызывать из Abap и как передавать на нее параметры.

AFH написал(а):
А там случайно нет настройки какая ширина\высота квадратика qr-кода в пикселах? Может поменьше поставить? Тогда будет генерироваться файл меньшего размера.

Такой настройки не видел.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Генерация QR кода больших размеров средствами SAP
СообщениеДобавлено: Ср, фев 07 2018, 12:58 
Начинающий
Начинающий

Зарегистрирован:
Чт, май 13 2010, 16:56
Сообщения: 20
DiVo написал(а):
MeIIIok написал(а):

Да, теперь в смартформу можно вывести практически любой QR код


Если QR коды выводятся на смартформу без проблем, то можно попробовать сделать следующим образом:

1. Вывести QR код на смартформу без отображения на экране, получить отрендеренное содержимое смартформы в формате OTF. Подробно описано здесь http://sap-technique.blogspot.ru/2017/04/converting-smart-forms-output-to-pdf.html, см. параметры control_parameters-no_dialog, control_parameters-getotf и job_output_info-otfdata[].

2. Выгрузить полученные OTF данные способом, описанным здесь https://blogs.sap.com/2016/05/12/qr-code-or-2d-bar-code-in-sap/. В блоге есть программа, надо использовать кусок кода, который идёт сразу после вызова процедуры bitmap2otf
Code:
perform bitmap2otf IN PROGRAM sapmssco
                   tables bitmap
                          otf
                    using bitmapsize
                          w
                          h.


Не выйдет, так как ограничение на размер bitmap вылетает в момент выполнения системной функции, которая генерит сам qr код.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2

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


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

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


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

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