* This is the report where you can get most of the texts and most needed information for an employee
* in the Personnel Administration in HR
REPORT zhr_pers_dev.
TABLES: pa0000.
TYPE-POOLS: slis.
DATA : t_fieldcat TYPE slis_t_fieldcat_alv,
w_fieldcat TYPE slis_fieldcat_alv,
w_layout TYPE slis_layout_alv,
is_keyinfo TYPE slis_keyinfo_alv,
it_events TYPE slis_t_event,
wa_events TYPE slis_alv_event.
DATA: v_col TYPE i.
TYPES: BEGIN OF ty_final,
pernr TYPE pa0001-pernr,
begda TYPE pa0001-begda,
endda TYPE pa0001-endda,
vorna TYPE pa0002-vorna,
nachn TYPE pa0002-nachn,
massn TYPE pa0000-massn,
mntxt TYPE t529t-mntxt,
massg TYPE pa0000-massg,
mgtxt TYPE t530t-mgtxt,
stat2 TYPE pa0000-stat2,
text1 TYPE t529u-text1,
bukrs TYPE pa0001-bukrs,
butxt TYPE t001-butxt,
werks TYPE pa0001-werks,
name1 TYPE t500p-name1,
persg TYPE pa0001-persg,
ptext TYPE t501t-ptext,
persk TYPE pa0001-persk,
ptext1 TYPE t503t-ptext,
btrtl TYPE pa0001-btrtl,
btext TYPE t001p-btext,
abkrs TYPE pa0001-abkrs,
atext TYPE t549t-atext,
kostl TYPE pa0001-kostl,
ktext TYPE cskt-ktext ,
orgeh TYPE pa0001-orgeh,
orgtx TYPE t527x-orgtx,
plans TYPE pa0001-plans,
plstx TYPE t528t-plstx,
stell TYPE pa0001-stell,
stltx TYPE t513s-stltx,
subty TYPE pa0006-subty,
stext TYPE t591s-stext,
name2 TYPE pa0006-name2,
stras TYPE pa0006-stras,
ort01 TYPE pa0006-ort01,
ort02 TYPE pa0006-ort02,
pstlz TYPE pa0006-pstlz,
land1 TYPE pa0006-land1,
telnr TYPE pa0006-telnr,
subty_1 TYPE pa0006-subty,
stext_1 TYPE t591s-stext,
name2_1 TYPE pa0006-name2,
stras_1 TYPE pa0006-stras,
ort01_1 TYPE pa0006-ort01,
ort02_1 TYPE pa0006-ort02,
pstlz_1 TYPE pa0006-pstlz,
land1_1 TYPE pa0006-land1,
telnr_1 TYPE pa0006-telnr,
wage1 TYPE pa0008-lga01,
lgtxt1 TYPE t512t-lgtxt,
amount1 TYPE pa0008-bet01,
wage2 TYPE pa0008-lga01,
lgtxt2 TYPE t512t-lgtxt,
amount2 TYPE pa0008-bet01,
wage3 TYPE pa0008-lga01,
lgtxt3 TYPE t512t-lgtxt,
amount3 TYPE pa0008-bet01,
wage4 TYPE pa0008-lga01,
lgtxt4 TYPE t512t-lgtxt,
amount4 TYPE pa0008-bet01,
subty_2 TYPE pa0105-subty,
stext_2 TYPE t591s-stext,
usrty TYPE pa0105-usrty,
usrid TYPE pa0105-usrid,
usrid_long TYPE pa0105-usrid_long,
END OF ty_final.
TYPES: BEGIN OF ty_pa0000,
pernr TYPE pa0001-pernr,
begda TYPE pa0001-begda,
endda TYPE pa0001-endda,
massn TYPE pa0000-massn,
massg TYPE pa0000-massg,
stat2 TYPE pa0000-stat2,
END OF ty_pa0000.
TYPES: BEGIN OF ty_pa0002,
pernr TYPE pa0001-pernr,
vorna TYPE pa0002-vorna,
nachn TYPE pa0002-nachn,
END OF ty_pa0002.
TYPES: BEGIN OF ty_pa0001,
pernr TYPE pa0001-pernr,
bukrs TYPE pa0001-bukrs,
werks TYPE pa0001-werks,
persg TYPE pa0001-persg,
persk TYPE pa0001-persk,
btrtl TYPE pa0001-btrtl,
abkrs TYPE pa0001-abkrs,
kostl TYPE pa0001-kostl,
orgeh TYPE pa0001-orgeh,
plans TYPE pa0001-plans,
stell TYPE pa0001-stell,
END OF ty_pa0001.
TYPES: BEGIN OF ty_t529u,
statv TYPE t529u-statv,
text1 TYPE t529u-text1,
END OF ty_t529u.
TYPES: BEGIN OF ty_t530t,
massg TYPE t530t-massg,
mgtxt TYPE t530t-mgtxt,
END OF ty_t530t.
TYPES: BEGIN OF ty_t001,
bukrs TYPE t001-bukrs,
butxt TYPE t001-butxt,
END OF ty_t001.
TYPES: BEGIN OF ty_t529t,
massn TYPE t529t-massn,
mntxt TYPE t529t-mntxt,
END OF ty_t529t.
TYPES: BEGIN OF ty_t500p,
persa TYPE t500p-persa,
name1 TYPE t500p-name1,
END OF ty_t500p.
TYPES: BEGIN OF ty_t501t,
persg TYPE t501t-persg,
ptext TYPE t501t-ptext,
END OF ty_t501t.
TYPES: BEGIN OF ty_t503t,
persk TYPE t503t-persk,
ptext TYPE t503t-ptext,
END OF ty_t503t.
TYPES: BEGIN OF ty_t001p,
btrtl TYPE t001p-btrtl,
btext TYPE t001p-btext,
END OF ty_t001p.
TYPES: BEGIN OF ty_t549t,
abkrs TYPE t549t-abkrs,
atext TYPE t549t-atext,
END OF ty_t549t.
TYPES: BEGIN OF ty_cskt,
kostl TYPE cskt-kostl,
ktext TYPE cskt-ktext,
END OF ty_cskt.
TYPES: BEGIN OF ty_t527x,
orgeh TYPE t527x-orgeh,
orgtx TYPE t527x-orgtx,
END OF ty_t527x.
TYPES: BEGIN OF ty_t528t,
plans TYPE t528t-plans,
plstx TYPE t528t-plstx,
END OF ty_t528t.
TYPES: BEGIN OF ty_t513s,
stell TYPE t513s-stell,
stltx TYPE t513s-stltx,
END OF ty_t513s.
TYPES: BEGIN OF ty_pa0008.
INCLUDE STRUCTURE p0008.
TYPES: END OF ty_pa0008.
DATA: BEGIN OF wagetypes,
lga LIKE p0008-lga01,
bet LIKE p0008-bet01,
END OF wagetypes.
TYPES: BEGIN OF ty_pa0006,
pernr TYPE pa0006-pernr,
subty TYPE pa0006-subty,
name2 TYPE pa0006-name2,
stras TYPE pa0006-stras,
ort01 TYPE pa0006-ort01,
ort02 TYPE pa0006-ort02,
pstlz TYPE pa0006-pstlz,
land1 TYPE pa0006-land1,
telnr TYPE pa0006-telnr,
END OF ty_pa0006.
TYPES: BEGIN OF ty_t591s,
infty TYPE t591s-infty,
subty TYPE t591s-subty,
stext TYPE t591s-stext,
END OF ty_t591s.
TYPES: BEGIN OF ty_t512t,
lgart TYPE t512t-lgart,
lgtxt TYPE t512t-lgtxt,
END OF ty_t512t.
types: BEGIN OF ty_pa0105,
pernr TYPE pa0105-pernr,
subty TYPE pa0105-subty,
usrty TYPE pa0105-usrty,
usrid TYPE pa0105-usrid,
usrid_long TYPE pa0105-usrid_long,
END OF ty_pa0105.
DATA: lfs_0008 LIKE p0008.
DATA: it_t529u TYPE TABLE OF ty_t529u WITH HEADER LINE,
it_t530t TYPE TABLE OF ty_t530t WITH HEADER LINE,
it_t001 TYPE TABLE OF ty_t001 WITH HEADER LINE,
it_t529t TYPE TABLE OF ty_t529t WITH HEADER LINE,
it_t500p TYPE TABLE OF ty_t500p WITH HEADER LINE,
it_t501t TYPE TABLE OF ty_t501t WITH HEADER LINE,
it_t503t TYPE TABLE OF ty_t503t WITH HEADER LINE,
it_t001p TYPE TABLE OF ty_t001p WITH HEADER LINE,
it_t549t TYPE TABLE OF ty_t549t WITH HEADER LINE,
it_cskt TYPE TABLE OF ty_cskt WITH HEADER LINE,
it_t527x TYPE TABLE OF ty_t527x WITH HEADER LINE,
it_t528t TYPE TABLE OF ty_t528t WITH HEADER LINE,
it_t513s TYPE TABLE OF ty_t513s WITH HEADER LINE,
it_t591s TYPE TABLE OF ty_t591s WITH HEADER LINE,
it_t591s_1 TYPE TABLE OF ty_t591s WITH HEADER LINE,
it_t512t TYPE TABLE OF ty_t512t WITH HEADER LINE,
it_pa0000 TYPE TABLE OF ty_pa0000 WITH HEADER LINE,
it_pa0001 TYPE TABLE OF ty_pa0001 WITH HEADER LINE,
it_pa0002 TYPE TABLE OF ty_pa0002 WITH HEADER LINE,
it_pa0006 TYPE TABLE OF ty_pa0006 WITH HEADER LINE,
it_pa0008 TYPE TABLE OF ty_pa0008 WITH HEADER LINE,
it_pa0105 TYPE TABLE OF ty_pa0105 WITH HEADER LINE,
it_final TYPE TABLE OF ty_final WITH HEADER LINE.
SELECT-OPTIONS: s_pernr FOR pa0000-pernr.
START-OF-SELECTION.
PERFORM get_pa0000_data.
IF NOT it_pa0000[] IS INITIAL.
PERFORM get_pa0001_data.
IF NOT it_pa0001[] IS INITIAL.
PERFORM get_texts.
ENDIF.
PERFORM get_pa0002_data.
PERFORM get_pa0006_data.
PERFORM get_pa0008_data.
perform get_pa0105_data.
ENDIF.
END-OF-SELECTION.
PERFORM process_data.
PERFORM build_fieldcatalog.
PERFORM display_alv.
*&---------------------------------------------------------------------*
*& Form FILL_CAT
*----------------------------------------------------------------------*
FORM fill_cat USING value(p_1259)
value(p_1260).
v_col = v_col + 1.
w_fieldcat-col_pos = v_col.
w_fieldcat-fieldname = p_1259.
w_fieldcat-tabname = 'IT_FINAL'.
w_fieldcat-reptext_ddic = p_1260.
APPEND w_fieldcat TO t_fieldcat.
CLEAR w_fieldcat.
ENDFORM. " FILL_CAT
*&---------------------------------------------------------------------*
*& Form get_pa0000_data
*----------------------------------------------------------------------*
FORM get_pa0000_data .
SELECT pernr
begda
endda
massn
massg
stat2
FROM pa0000
INTO TABLE it_pa0000
WHERE pernr IN s_pernr
AND stat2 = '3'.
ENDFORM. " get_pa0000_data
*&---------------------------------------------------------------------*
*& Form get_pa0001_data
*----------------------------------------------------------------------*
FORM get_pa0001_data .
SELECT pernr
bukrs
werks
persg
persk
btrtl
abkrs
kostl
orgeh
plans
stell
FROM pa0001
INTO TABLE it_pa0001
FOR ALL ENTRIES IN it_pa0000
WHERE pernr = it_pa0000-pernr.
ENDFORM. " get_pa0001_data
*&---------------------------------------------------------------------*
*& Form get_texts
*----------------------------------------------------------------------*
FORM get_texts .
SELECT statv
text1
FROM t529u
INTO TABLE it_t529u
FOR ALL ENTRIES IN it_pa0000
WHERE statv = it_pa0000-stat2
AND statn = '2'
AND sprsl = 'E'.
SELECT massg
mgtxt
FROM t530t
INTO TABLE it_t530t
FOR ALL ENTRIES IN it_pa0000
WHERE massg = it_pa0000-massg
AND sprsl = 'E'.
SELECT massn
mntxt
FROM t529t
INTO TABLE it_t529t
FOR ALL ENTRIES IN it_pa0000
WHERE massn = it_pa0000-massn
AND sprsl = 'E'.
SELECT bukrs
butxt
FROM t001
INTO TABLE it_t001
FOR ALL ENTRIES IN it_pa0001
WHERE bukrs = it_pa0001-bukrs
AND spras = 'E'.
SELECT persa
name1
FROM t500p
INTO TABLE it_t500p
FOR ALL ENTRIES IN it_pa0001
WHERE persa = it_pa0001-werks.
SELECT persg
ptext
FROM t501t
INTO TABLE it_t501t
FOR ALL ENTRIES IN it_pa0001
WHERE persg = it_pa0001-persg
AND sprsl = 'E'.
SELECT persk
ptext
FROM t503t
INTO TABLE it_t503t
FOR ALL ENTRIES IN it_pa0001
WHERE persk = it_pa0001-persk
AND sprsl = 'E'.
SELECT btrtl
btext
FROM t001p
INTO TABLE it_t001p
FOR ALL ENTRIES IN it_pa0001
WHERE btrtl = it_pa0001-btrtl.
SELECT abkrs
atext
FROM t549t
INTO TABLE it_t549t
FOR ALL ENTRIES IN it_pa0001
WHERE abkrs = it_pa0001-abkrs
AND sprsl = 'E'.
SELECT kostl
ktext
FROM cskt
INTO TABLE it_cskt
FOR ALL ENTRIES IN it_pa0001
WHERE kostl = it_pa0001-kostl
AND spras = 'E'.
SELECT orgeh
orgtx
FROM t527x
INTO TABLE it_t527x
FOR ALL ENTRIES IN it_pa0001
WHERE orgeh = it_pa0001-orgeh
AND sprsl = 'E'.
SELECT plans
plstx
FROM t528t
INTO TABLE it_t528t
FOR ALL ENTRIES IN it_pa0001
WHERE plans = it_pa0001-plans
AND sprsl = 'E'.
SELECT stell
stltx
FROM t513s
INTO TABLE it_t513s
FOR ALL ENTRIES IN it_pa0001
WHERE stell = it_pa0001-stell
AND sprsl = 'E'.
ENDFORM. " get_texts
*&---------------------------------------------------------------------*
*& Form get_pa0002_data
*----------------------------------------------------------------------*
FORM get_pa0002_data .
SELECT pernr
vorna
nachn
FROM pa0002
INTO TABLE it_pa0002
FOR ALL ENTRIES IN it_pa0000
WHERE pernr = it_pa0000-pernr.
ENDFORM. " get_pa0002_data
*&---------------------------------------------------------------------*
*& Form get_pa0006_data
*----------------------------------------------------------------------*
FORM get_pa0006_data .
SELECT pernr
subty
name2
stras
ort01
ort02
pstlz
land1
telnr
FROM pa0006
INTO TABLE it_pa0006
FOR ALL ENTRIES IN it_pa0000
WHERE pernr = it_pa0000-pernr.
IF NOT it_pa0006[] IS INITIAL.
SELECT infty
subty
stext
FROM t591s
INTO TABLE it_t591s
FOR ALL ENTRIES IN it_pa0006
WHERE infty = '0006'
AND subty = it_pa0006-subty
AND sprsl = 'E'.
ENDIF.
ENDFORM. " get_pa0006_data
*&---------------------------------------------------------------------*
*& Form get_pa0008_data
*----------------------------------------------------------------------*
FORM get_pa0008_data .
SELECT *
FROM pa0008
INTO CORRESPONDING FIELDS OF TABLE it_pa0008
FOR ALL ENTRIES IN it_pa0000
WHERE pernr = it_pa0000-pernr.
IF NOT it_pa0008[] IS INITIAL.
SELECT lgart
lgtxt
FROM t512t
INTO TABLE it_t512t.
ENDIF.
ENDFORM. " get_pa0008_data
*&---------------------------------------------------------------------*
*& Form process_data
*----------------------------------------------------------------------*
FORM process_data .
LOOP AT it_pa0000.
it_final-pernr = it_pa0000-pernr.
it_final-begda = it_pa0000-begda.
it_final-endda = it_pa0000-endda.
it_final-massn = it_pa0000-massn.
READ TABLE it_t529t WITH KEY massn = it_pa0000-massn.
IF sy-subrc = 0.
it_final-mntxt = it_t529t-mntxt.
ENDIF.
it_final-massg = it_pa0000-massg.
READ TABLE it_t530t WITH KEY massg = it_pa0000-massg.
IF sy-subrc = 0.
it_final-mgtxt = it_t530t-mgtxt.
ENDIF.
it_final-stat2 = it_pa0000-stat2.
READ TABLE it_t529u WITH KEY statv = it_pa0000-stat2.
IF sy-subrc = 0.
it_final-text1 = it_t529u-text1.
ENDIF.
READ TABLE it_pa0001 WITH KEY pernr = it_pa0000-pernr.
IF sy-subrc = 0.
it_final-bukrs = it_pa0001-bukrs.
READ TABLE it_t001 WITH KEY bukrs = it_pa0001-bukrs.
IF sy-subrc = 0.
it_final-butxt = it_t001-butxt.
ENDIF.
it_final-werks = it_pa0001-werks.
READ TABLE it_t500p WITH KEY persa = it_pa0001-werks.
IF sy-subrc = 0.
it_final-name1 = it_t500p-name1.
ENDIF.
it_final-persg = it_pa0001-persg.
READ TABLE it_t501t WITH KEY persg = it_pa0001-persg.
IF sy-subrc = 0.
it_final-ptext = it_t501t-ptext.
ENDIF.
it_final-persk = it_pa0001-persk.
READ TABLE it_t503t WITH KEY persk = it_pa0001-persk.
IF sy-subrc = 0.
it_final-ptext1 = it_t503t-ptext.
ENDIF.
it_final-btrtl = it_pa0001-btrtl.
READ TABLE it_t001p WITH KEY btrtl = it_pa0001-btrtl.
IF sy-subrc = 0.
it_final-btext = it_t001p-btext.
ENDIF.
it_final-abkrs = it_pa0001-abkrs.
READ TABLE it_t549t WITH KEY abkrs = it_pa0001-abkrs.
IF sy-subrc = 0.
it_final-atext = it_t549t-atext.
ENDIF.
it_final-kostl = it_pa0001-kostl.
READ TABLE it_cskt WITH KEY kostl = it_pa0001-kostl.
IF sy-subrc = 0.
it_final-ktext = it_cskt-ktext.
ENDIF.
it_final-orgeh = it_pa0001-orgeh.
READ TABLE it_t527x WITH KEY orgeh = it_pa0001-orgeh.
IF sy-subrc = 0.
it_final-orgtx = it_t527x-orgtx.
ENDIF.
it_final-plans = it_pa0001-plans.
READ TABLE it_t528t WITH KEY plans = it_pa0001-plans.
IF sy-subrc = 0.
it_final-plstx = it_t528t-plstx.
ENDIF.
it_final-stell = it_pa0001-stell.
READ TABLE it_t513s WITH KEY stell = it_pa0001-stell.
IF sy-subrc = 0.
it_final-stltx = it_t513s-stltx.
ENDIF.
ENDIF.
READ TABLE it_pa0002 WITH KEY pernr = it_pa0000-pernr.
IF sy-subrc = 0.
it_final-vorna = it_pa0002-vorna.
it_final-nachn = it_pa0002-nachn.
ENDIF.
READ TABLE it_pa0006 WITH KEY pernr = it_pa0000-pernr
subty = '1'.
IF sy-subrc = 0.
it_final-subty = it_pa0006-subty.
READ TABLE it_t591s WITH KEY infty = '0006'
subty = '1'.
IF sy-subrc = 0.
it_final-stext = it_t591s-stext.
ENDIF.
it_final-name2 = it_pa0006-name2.
it_final-stras = it_pa0006-stras.
it_final-ort01 = it_pa0006-ort01.
it_final-ort02 = it_pa0006-ort02.
it_final-pstlz = it_pa0006-pstlz.
it_final-land1 = it_pa0006-land1.
it_final-telnr = it_pa0006-telnr.
ENDIF.
READ TABLE it_pa0006 WITH KEY pernr = it_pa0000-pernr
subty = '2'.
IF sy-subrc = 0.
it_final-subty_1 = it_pa0006-subty.
READ TABLE it_t591s WITH KEY infty = '0006'
subty = '2'.
IF sy-subrc = 0.
it_final-stext_1 = it_t591s-stext.
ENDIF.
it_final-name2_1 = it_pa0006-name2.
it_final-stras_1 = it_pa0006-stras.
it_final-ort01_1 = it_pa0006-ort01.
it_final-ort02_1 = it_pa0006-ort02.
it_final-pstlz_1 = it_pa0006-pstlz.
it_final-land1_1 = it_pa0006-land1.
it_final-telnr_1 = it_pa0006-telnr.
ENDIF.
READ TABLE it_pa0008 WITH KEY pernr = it_pa0000-pernr
lga01 = '1000'.
IF sy-subrc = 0.
CLEAR : lfs_0008.
MOVE-CORRESPONDING it_pa0008 TO lfs_0008.
DO 40 TIMES VARYING wagetypes-lga FROM lfs_0008-lga01 NEXT lfs_0008-lga02
VARYING wagetypes-bet FROM lfs_0008-bet01 NEXT lfs_0008-bet02.
CHECK wagetypes-lga IS NOT INITIAL.
CASE wagetypes-lga.
WHEN '0001'.
it_final-wage1 = wagetypes-lga .
it_final-amount1 = wagetypes-bet .
READ TABLE it_t512t WITH KEY lgart = wagetypes-lga.
IF sy-subrc = 0.
it_final-lgtxt1 = it_t512t-lgtxt.
ENDIF.
WHEN '0002'.
it_final-wage2 = wagetypes-lga .
it_final-amount2 = wagetypes-bet .
READ TABLE it_t512t WITH KEY lgart = wagetypes-lga.
IF sy-subrc = 0.
it_final-lgtxt2 = it_t512t-lgtxt.
ENDIF.
WHEN '0003'.
it_final-wage3 = wagetypes-lga .
it_final-amount3 = wagetypes-bet .
READ TABLE it_t512t WITH KEY lgart = wagetypes-lga.
IF sy-subrc = 0.
it_final-lgtxt3 = it_t512t-lgtxt.
ENDIF.
WHEN '0004'.
it_final-wage4 = wagetypes-lga .
it_final-amount4 = wagetypes-bet .
READ TABLE it_t512t WITH KEY lgart = wagetypes-lga.
IF sy-subrc = 0.
it_final-lgtxt4 = it_t512t-lgtxt.
ENDIF.
ENDCASE.
ENDDO.
ENDIF.
read table it_pa0105 with key pernr = it_pa0000-pernr
SUBTY = '0010'.
if sy-subrc = 0.
it_final-subty_2 = it_pa0105-subty.
READ TABLE it_t591s WITH KEY infty = '0105'
subty = '0010'.
IF sy-subrc = 0.
it_final-stext_2 = it_t591s-stext.
ENDIF.
it_final-usrty = it_pa0105-usrty.
it_final-usrid = it_pa0105-usrid.
it_final-usrid_long = it_pa0105-usrid_long.
endif.
APPEND it_final .
CLEAR it_final .
ENDLOOP.
ENDFORM. " process_data
*&---------------------------------------------------------------------*
*& Form build_fieldcatalog
*----------------------------------------------------------------------*
FORM build_fieldcatalog .
PERFORM fill_cat USING 'PERNR' 'Personnel No'.
PERFORM fill_cat USING 'BEGDA' 'Start Date'.
PERFORM fill_cat USING 'ENDDA' 'End Date'.
PERFORM fill_cat USING 'VORNA' 'First Name'.
PERFORM fill_cat USING 'NACHN' 'Last Name'.
PERFORM fill_cat USING 'MASSN' 'Action Type'.
PERFORM fill_cat USING 'MNTXT' 'Action Text'.
PERFORM fill_cat USING 'MASSG' 'Reason for Action'.
PERFORM fill_cat USING 'MGTXT' 'Reason for Action Text'.
PERFORM fill_cat USING 'STAT2' 'Employment Status'.
PERFORM fill_cat USING 'TEXT1 ' 'Employment Status Text'.
PERFORM fill_cat USING 'BUKRS' 'Company Code'.
PERFORM fill_cat USING 'BUTX' 'Company Code Text'.
PERFORM fill_cat USING 'WERKS' 'Personnel Area'.
PERFORM fill_cat USING 'NAME1' 'Personnel Area Text'.
PERFORM fill_cat USING 'PERSG' 'Employee Group'.
PERFORM fill_cat USING 'PTEXT' 'Employee Group Text'.
PERFORM fill_cat USING 'PERSK' 'Employee Subgroup'.
PERFORM fill_cat USING 'PTEXT1' 'Employee Subgroup Text'.
PERFORM fill_cat USING 'BTRTL' 'Personnel Subarea'.
PERFORM fill_cat USING 'BTEXT' 'Personnel Subarea Text'.
PERFORM fill_cat USING 'ABKRS' 'Payroll Area'.
PERFORM fill_cat USING 'ATEXT' 'Payroll Area Text'.
PERFORM fill_cat USING 'KOSTL' 'Cost Center'.
PERFORM fill_cat USING 'KTEXT' 'Cost Center Text'.
PERFORM fill_cat USING 'ORGEH' 'Organizational Unit'.
PERFORM fill_cat USING 'ORGTX' 'Organizational Unit Text'.
PERFORM fill_cat USING 'PLANS' 'Position'.
PERFORM fill_cat USING 'PLSTX' 'Position Text'.
PERFORM fill_cat USING 'STELL' 'Job'.
PERFORM fill_cat USING 'STLTX' 'Job title'.
PERFORM fill_cat USING 'SUBTY' 'Address Subtype '.
PERFORM fill_cat USING 'STEXT' 'Subtype Text'.
PERFORM fill_cat USING 'NAME2' 'C/O name'.
PERFORM fill_cat USING 'STRAS' 'Street and House Number'.
PERFORM fill_cat USING 'ORT01' 'City'.
PERFORM fill_cat USING 'ORT02' 'District'.
PERFORM fill_cat USING 'PSTLZ' 'Postal Code'.
PERFORM fill_cat USING 'LAND1' 'Country Key'.
PERFORM fill_cat USING 'TELNR' 'Telephone number'.
PERFORM fill_cat USING 'SUBTY_1' 'Address Subtype '.
PERFORM fill_cat USING 'STEXT_1' 'Subtype Text'.
PERFORM fill_cat USING 'NAME2_1' 'C/O name'.
PERFORM fill_cat USING 'STRAS_1' 'Street and House Number'.
PERFORM fill_cat USING 'ORT01_1' 'City'.
PERFORM fill_cat USING 'ORT02_1' 'District'.
PERFORM fill_cat USING 'PSTLZ_1' 'Postal Code'.
PERFORM fill_cat USING 'LAND1_1' 'Country Key'.
PERFORM fill_cat USING 'TELNR_1' 'Telephone number'.
PERFORM fill_cat USING 'WAGE1' 'Wage Type'.
PERFORM fill_cat USING 'LGTXT1' 'Wage Text'.
PERFORM fill_cat USING 'AMOUNT1' 'Amount'.
PERFORM fill_cat USING 'WAGE2' 'Wage Type'.
PERFORM fill_cat USING 'LGTXT2' 'Wage Text'.
PERFORM fill_cat USING 'AMOUNT2' 'Amount'.
PERFORM fill_cat USING 'WAGE3' 'Wage Type'.
PERFORM fill_cat USING 'LGTXT3' 'Wage Text'.
PERFORM fill_cat USING 'AMOUNT3' 'Amount'.
PERFORM fill_cat USING 'WAGE4' 'Wage Type'.
PERFORM fill_cat USING 'LGTXT4' 'Wage Text'.
PERFORM fill_cat USING 'AMOUNT4' 'Amount'.
PERFORM fill_cat USING 'SUBTY_2' 'Sub type'.
PERFORM fill_cat USING 'STEXT_2' 'Subtype Text'.
PERFORM fill_cat USING 'USRID' 'User ID'.
PERFORM fill_cat USING 'USRID_LONG' 'Email'.
ENDFORM. " build_fieldcatalog
*&---------------------------------------------------------------------*
*& Form display_alv
*----------------------------------------------------------------------*
FORM display_alv .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout = w_layout
it_fieldcat = t_fieldcat
it_events = it_events
TABLES
t_outtab = it_final
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM. " display_alv
*&---------------------------------------------------------------------*
*& Form get_pa0105_data
*----------------------------------------------------------------------*
form get_pa0105_data .
select
pernr
subty
usrty
usrid
usrid_long
from pa0105
into table it_pa0105
for all entries in it_pa0000
where pernr = it_pa0000-pernr.
if sy-subrc = 0.
SELECT infty
subty
stext
FROM t591s
INTO TABLE it_t591s
FOR ALL ENTRIES IN it_pa0105
WHERE infty = '0105'
AND subty = it_pa0105-subty
AND sprsl = 'E'.
endif.
endform. " get_pa0105_data