原文链接:https://blog.csdn.net/ki_laikun/article/details/123851330
可以做输入检查和校验的增强,回车或者保存都会触发
EXIT_SAPFP50M_002
INFOTYPES : 0185, 0530, 0532.
DATA: lw_0185 TYPE p0185,
lw_0105 TYPE p0105.
* lw_9509 TYPE p9509.
DATA: lw_p0008 TYPE p0008,
lw_p0007 TYPE p0007,
lt_p0007 TYPE TABLE OF pa0007.
DATA: l_icnum TYPE p0185-icnum,
l_pernr TYPE numc08,
l_len TYPE i,
l_usrid TYPE p0105-usrid.
DATA: lv_varyf_old TYPE char10.
DATA: lv_varyf_new TYPE char10.
DATA lv_szbk TYPE zehr_szbk.
DATA: lv_is_dc_per TYPE char1,
ls_p0001 TYPE p0001.
CASE innnn-infty.
WHEN '0105' .
CALL METHOD cl_hr_pnnnn_type_cast=>prelp_to_pnnnn "获取信息类型数据
EXPORTING
prelp = innnn
IMPORTING
pnnnn = lw_0105.
IF lw_0105-subty = 'CELL'.
l_len = strlen( lw_0105-usrid ).
IF l_len <> 11.
MESSAGE '手机号码长度应该为11位,请检查' TYPE 'E'.
ENDIF.
SELECT SINGLE usrid FROM pa0105 INTO l_usrid WHERE usrid = lw_0105-usrid AND subty = 'CELL'.
IF sy-subrc = 0.
MESSAGE '手机号码已存在系统,请检查信息' TYPE 'E'.
ENDIF.
ENDIF.
ENDCASE.
扩展知识:
HR出口增强中常用的 方法有:
1、 cl_hr_pnnnn_type_cast=>prelp_to_pnnnn “ 获取数据
2、 cl_hr_pnnnn_type_cast=>pnnnn_to_prelp “写入数据
HR中常用的BADI
1、HRBAS00INFTY “ 作用于 OM
2、HRPAD00INFTY “ 作用于 PA