- REPORT ZUNICODE_HVIEW.
- parameters: p_file type char255 LOWER CASE." DEFAULT 'IEC/INTERFACE_S/CFOS/CFO_ZSDRPA009_NOTAS_ENTREGA'.
- CONSTANTS fast_ascii type c LENGTH 128 VALUE
- ' !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'.
- data: begin of ty_view,
- c_off type c LENGTH 16,
- i_off type i,
- n_off type n LENGTH 5,
- hexa type char50,
- ascii type char16,
- end of ty_view.
- data: T_file type TABL32768,
- l_hexa type x,
- l_char type c,
- i_seg type i.
- at SELECTION-SCREEN on VALUE-REQUEST FOR p_file.
- CALL FUNCTION '/SAPDMC/LSM_F4_SERVER_FILE'
- IMPORTING
- SERVERFILE = p_file
- EXCEPTIONS
- CANCELED_BY_USER = 1
- OTHERS = 2.
- end-of-SELECTION.
- open DATASET p_file for INPUT in LEGACY BINARY MODE.
- if sy-subrc eq 0.
- do.
- read DATASET p_file into T_file ACTUAL LENGTH sy-curow.
- if sy-subrc ne 0 and sy-curow is INITIAL.
- exit.
- endif.
- *--[ Preparamos el Offset
- sy-cucol = 1 + sy-curow div 16.
- do sy-cucol times.
- perform DEC_2_HEX USING ty_view-i_off CHANGING ty_view-c_off.
- clear: ty_view-ascii, ty_view-hexa.
- *--[ Preparamos los hexadecimales.
- do 16 times.
- l_hexa = T_file+i_seg(1).
- sy-pagno = l_hexa.
- perform DEC_2_HEX USING sy-pagno CHANGING Sy-lisel.
- Sy-lisel = Sy-lisel+14(2).
- CONCATENATE ty_view-hexa Sy-lisel+0(2) into ty_view-hexa SEPARATED BY ' '.
- if sy-pagno >= 33 and sy-pagno < 127.
- l_char = fast_ascii+sy-pagno(1).
- else.
- l_char = '.'.
- endif.
- CONCATENATE ty_view-ascii l_char into ty_view-ascii.
- add 1 to i_seg. "<-- Apunta al siguiente
- enddo.
- write: / '|', ty_view-c_off, '(', ty_view-n_off, ') |', ty_view-hexa, '|', ty_view-ascii, '|' .
- add 16 to: ty_view-i_off,
- ty_view-n_off.
- enddo.
- enddo.
- close DATASET p_file.
- endif.
- form DEC_2_HEX using P_I
- CHANGING p_o.
- data: v_hexa type x LENGTH 5,
- v_hexa_value type char16,
- v_cnt type i.
- v_hexa = p_i.
- v_hexa_value = v_hexa.
- v_cnt = strlen( v_hexa_value ).
- v_cnt = 16 - v_cnt.
- do v_cnt times.
- concatenate '0' v_hexa_value into v_hexa_value.
- enddo.
- p_o = v_hexa_value.
- endform.
Última modificación de la página el 04 November 2015 a las 15h04
Powered by
PmWiki