上载相关

01 日期转换

  1. *&---------------------------------------------------------------------*
  2. *& Form FRM_DATE_INPUT
  3. *&---------------------------------------------------------------------*
  4. *& 日期相关处理
  5. *&---------------------------------------------------------------------*
  6. FORM frm_date_input USING p_exte TYPE char10
  7. CHANGING p_date TYPE datum.
  8. DATA:lv_day TYPE n LENGTH 2,
  9. lv_mon TYPE n LENGTH 2,
  10. lv_year TYPE n LENGTH 4.
  11. CHECK p_exte IS NOT INITIAL.
  12. SPLIT p_exte AT '/' INTO lv_year lv_mon lv_day.
  13. IF sy-subrc <> 0.
  14. SPLIT p_exte AT '.' INTO lv_year lv_mon lv_day.
  15. IF sy-subrc <> 0.
  16. SPLIT p_exte AT '\' INTO lv_year lv_mon lv_day.
  17. IF sy-subrc <> 0.
  18. SPLIT p_exte AT '-' INTO lv_year lv_mon lv_day.
  19. IF sy-subrc <> 0.
  20. lv_year = p_exte(4).
  21. lv_mon = p_exte+4(2).
  22. lv_day = p_exte+6(2).
  23. ENDIF.
  24. ENDIF.
  25. ENDIF.
  26. ENDIF.
  27. IF lv_mon < 10 AND lv_mon IS NOT INITIAL.
  28. lv_mon = '0' && |{ lv_mon ALPHA = OUT }|.
  29. ENDIF.
  30. IF lv_day < 10 AND lv_day IS NOT INITIAL.
  31. lv_day = '0' && |{ lv_day ALPHA = OUT }|.
  32. ENDIF.
  33. p_date = |{ lv_year }{ lv_mon }{ lv_day }|.
  34. ENDFORM.

02 最大行校验

💡 wait to write

03 小数位数检查

  1. *&---------------------------------------------------------------------*
  2. *& Form frm_check_decimal
  3. *&---------------------------------------------------------------------*
  4. *& 小数位数检查
  5. *&---------------------------------------------------------------------*
  6. FORM frm_check_decimal USING p_value
  7. p_show TYPE ty_show
  8. p_text TYPE c.
  9. DATA: lv_int TYPE string,
  10. lv_decimal TYPE string.
  11. DATA: lv_len TYPE i.
  12. DATA: lv_value TYPE string.
  13. lv_value = p_value.
  14. CONDENSE lv_value NO-GAPS.
  15. SPLIT lv_value AT '.' INTO lv_int lv_decimal.
  16. SHIFT lv_decimal RIGHT DELETING TRAILING '0'.
  17. CONDENSE lv_decimal NO-GAPS.
  18. lv_len = strlen( lv_decimal ).
  19. IF lv_len >= 3.
  20. p_show-msg = p_text && '小数位超过2位,请重新填写'.
  21. p_show-icon = icon_led_red.
  22. ENDIF.
  23. ENDFORM.

下载相关

01 基于ALV的下载

💡 wait to write