Строка в CRC32 как 4 байта и преобразование LZMA1 в ABAP - PullRequest
0 голосов
/ 21 ноября 2018

Мне нужно для QR-кода payBySquare в Словацкой Республике преобразовать массив в строку и сделать CRC32 HASH.После этого мне нужен comprime HASH от LZMA1.Я надеюсь, что мой код в порядке с CRC32 Но я не могу найти, как сделать компримирование с помощью LZMA1.

  method GENERATE_QR_STRING_FOR_SR.
   DATA: lw_string TYPE STRING,
         lw_wrbtr_s TYPE STRING,
         lo_crc TYPE REF TO IF_SCV_CRC_SERVICES,
         lo_crc_hash TYPE REF TO IF_SCV_CRC32.



   LW_WRBTR_S = me->WRBTR.

   CONCATENATE 'true'
               LW_WRBTR_S "
               me->WAERS "Currency
               '20170101' "'Date'
               me->VAR_SYMB "Variabile Symbol
               me->CON_SYMB "Constant Symbol
               me->SPE_SYMB "Specific Symbol
               ''
               me->INF_FOR_BE "Information for benef.. 
               '1'
               me->IBAN "Iban
               me->SWIFT "SWIFT
               '0'
               '0'
               INTO lw_string SEPARATED BY ' '.

  CONCATENATE '' '1' lw_string INTO lw_string SEPARATED BY ' '.

DATA:
   ld_CONTENT TYPE XSTRING ,
   ld_CRC32 TYPE I.

" ld_CONTENT = "<Populate with value>

CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
  EXPORTING
    TEXT           = LW_STRING
*   MIMETYPE       = ' '
*   ENCODING       =
 IMPORTING
   BUFFER         = LD_CONTENT
* EXCEPTIONS
*   FAILED         = 1
*   OTHERS         = 2
          .
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.

CALL METHOD CL_UJF_ZIP=>CRC32( EXPORTING CONTENT = ld_CONTENT RECEIVING CRC32 = ld_CRC32 ).

"ld_CRC32 = CL_RSBPCF_ZIP=>CRC32( EXPORTING CONTENT = ld_CONTENT ).
...