Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- METHOD encode_checkboxes.
- ***********************************************************
- ** Przykład wejścia: 0X0XX ( zaznaczenie checkboxów dla wartości B, D i E )
- ** Przykład wyścia: 26
- ** Legenda dla 5 wartości:
- ** A - 1
- ** B - 2
- ** C - 4
- ** D - 8
- ** E - 16
- ***********************************************************
- DATA: lv_digit TYPE i,
- lv_iter TYPE i.
- DATA(lv_str_val) = iv_checkboxes.
- WHILE strlen( lv_str_val ) > 0.
- lv_iter = sy-index - 1.
- DATA(lv_char) = iv_checkboxes+lv_iter(1).
- IF lv_char = 'X'.
- lv_digit = lv_digit + 2 ** lv_iter.
- ENDIF.
- lv_str_val = iv_checkboxes+sy-index.
- ENDWHILE.
- rv_result = lv_digit.
- ENDMETHOD.
- METHOD decode_checkboxes.
- ***********************************************************
- ** Przykład wyścia: 26
- ** Przykład wejścia: 0X0XX ( zaznaczenie checkboxów dla wartości B, D i E )
- ** Legenda dla 5 wartości:
- ** A - 1
- ** B - 2
- ** C - 4
- ** D - 8
- ** E - 16
- ***********************************************************
- DATA: lv_digit TYPE i.
- lv_digit = iv_code.
- WHILE lv_digit > 0.
- DATA(lv_mod) = lv_digit MOD 2.
- IF lv_mod = 1.
- rv_checkboxes = rv_checkboxes && 'X'.
- lv_digit = lv_digit - 1.
- ELSE.
- rv_checkboxes = rv_checkboxes && '0'.
- ENDIF.
- lv_digit = lv_digit / 2.
- ENDWHILE.
- ENDMETHOD.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement