如果想获得某个infotype的subtype,可以使用函数 HR_F4_GET_SUBTYPE 来实现。
比如,我们想获得infotype 0021的 subtype,作为某个字段的F4。
程序实现如下:
CONSTANTS: gc_molga TYPE molga VALUE 'QA'.
*Family member
PARAMETERS: p_fam like p0021-FAMSA .
INITIALIZATION.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fam.
perform f4_family_member.
FORM f4_family_member .
data: subty_text LIKE t591s-stext.
CALL FUNCTION 'HR_F4_GET_SUBTYPE'
EXPORTING
INFTY = '0021'
LANGU = sy-langu
MOLGA = gc_molga
IMPORTING
SUBTY = p_fam
STEXT = subty_text
EXCEPTIONS
INFTY_NOT_FOUND = 1
NO_ENTRIES_FOUND = 2
CANCELLED = 3
INFTY_NOT_SUPPORTED = 4
INFTY_HAS_NO_SUBTIES = 5
OTHERS = 6
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM.
实现效果如下图所示: