Текущее время: Чт, мар 28 2024, 14:40

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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