*> -------safety
PERFORM frm_get_safety USING iv_sysid iv_uname CHANGING ls_safety.
*&---------------------------------------------------------------------*
*& Form FRM_GET_SAFETY
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_SYSID text
* <--P_SAFETY text
*----------------------------------------------------------------------*
FORM frm_get_safety USING p_sysid TYPE psj_system_id
p_uname TYPE sy-uname
CHANGING p_safety TYPE zcms7097.
DATA lv_datum TYPE sy-datum.
DATA lv_uzeit TYPE sy-uzeit.
DATA lv_timestamp TYPE timestamp.
DATA lv_data TYPE string.
DATA lv_hash TYPE hash160.
"安全校验位,Time的值+clientcode的值+barcode的值+useraccount的值+密码, 整体生成MD5
GET TIME STAMP FIELD lv_timestamp.
CONVERT TIME STAMP lv_timestamp TIME ZONE sy-zonlo INTO DATE lv_datum TIME lv_uzeit.
p_safety-time = lv_datum && lv_uzeit.
p_safety-clientcode = p_sysid.
* p_safety-useraccount = p_uname.
lv_data = p_safety-time && p_safety-clientcode && p_sysid && 'IMAGE'.
CALL FUNCTION 'CALCULATE_HASH_FOR_CHAR'
EXPORTING
alg = 'MD5'
data = lv_data
IMPORTING
hash = lv_hash
EXCEPTIONS
unknown_alg = 1
param_error = 2
internal_error = 3
OTHERS = 4.
IF sy-subrc = 0.
p_safety-ticket = lv_hash.
TRANSLATE p_safety-ticket TO LOWER CASE.
ENDIF.
ENDFORM. " FRM_GET_SAFETY