FORM datos_nuevos.
*--[ Hay que meterlo en el evento 05 de la SM30
*--[ Forzado únicamente a las altas, pues una modificación no sabremos nunca
*--[ si nos están metiendo un plain-text o un string codificado
*--[ Igualmente esto sive vomo ejemplo de llamada
DATA: tmp_string TYPE string.
tmp_string = zkk_001-pass. "<-- Aquí va el valor de la tabla a codificar
PERFORM encode_string CHANGING tmp_string. " IN PROGRAM XXXXXXX <- Para utilizarlo desde cualquier sitio
zkk_001-pass = tmp_string. "<-- Devolvemos el valor codificado
ENDFORM. "datos_nuevos
*--[
*--[ Está separado en dos forms por si en el futuro se quiere utilizar
*--[ otra forma de codificación, sin alterar el código de donde se ha metido.
*--[ Además queda claro que hace en cada momento
*--[
FORM encode_string CHANGING my_str TYPE string.
DATA: l_obj TYPE REF TO cl_hard_wired_encryptor,
l_in_s TYPE string,
l_out_s TYPE string.
*
*--[ ADVERTENCIA: Esto no es realmente una codificación fuerte
*--[ esto está pensado para que no sea visible al ojo humano
*
l_in_s = my_str.
CLEAR: l_out_s.
CREATE OBJECT l_obj.
DO 2 TIMES.
TRY.
CALL METHOD l_obj->encrypt_string2string
EXPORTING
the_string = l_in_s
RECEIVING
result = l_out_s.
CATCH cx_encrypt_error .
ENDTRY.
l_in_s = l_out_s.
ENDDO.
my_str = l_out_s.
ENDFORM. "encode_string
FORM decode_string CHANGING my_str TYPE string.
DATA: l_obj TYPE REF TO cl_hard_wired_encryptor,
l_in_s TYPE string,
l_out_s TYPE string.
*
*--[ ADVERTENCIA: Esto no es realmente una codificación fuerte
*--[ esto está pensado para que no sea visible al ojo humano
*
l_in_s = my_str.
CLEAR: l_out_s.
CREATE OBJECT l_obj.
DO 2 TIMES.
TRY.
CALL METHOD l_obj->decrypt_string2string
EXPORTING
the_string = l_in_s
RECEIVING
result = l_out_s.
CATCH cx_encrypt_error .
ENDTRY.
l_in_s = l_out_s.
ENDDO.
my_str = l_out_s.
ENDFORM. "decode_string