Google Search - Blog...........

Showing posts with label sap hr abap report program. Show all posts
Showing posts with label sap hr abap report program. Show all posts

HR ABAP - Display Texts For Personnel Subarea, Employee Group, Employee Subgroup, Cost Center & Organizational Unit.

REPORT yztexts no standard page heading
line-size 450. .

*----database tables used
TABLES: pa0001.

*---types for Personnel Subarea Text
TYPES: BEGIN OF ty_text,
btrtl TYPE t001p-btrtl,
btext TYPE t001p-btext,
END OF ty_text,
*---Employee group text
BEGIN OF ty_text1,
persg TYPE t501t-persg,
ptext TYPE t501t-ptext,
END OF ty_text1,
*---Employee subgroup text
BEGIN OF ty_text2,
persk TYPE t503t-persk,
ptext1 TYPE t503t-ptext,
END OF ty_text2,
*---Cost center text
BEGIN OF ty_text3,
kostl TYPE cskt-kostl,
ltext TYPE cskt-ltext,
END OF ty_text3,
*---Organizational unit short text
BEGIN OF ty_text4,
orgeh TYPE t527x-orgeh,
orgtx TYPE t527x-orgtx,
END OF ty_text4,

BEGIN OF ty_pa0001,
pernr LIKE pa0001-pernr,
begda LIKE pa0001-begda,
endda LIKE pa0001-endda,
bukrs LIKE pa0001-bukrs,
werks LIKE pa0001-werks,
persg LIKE pa0001-persg,
persk LIKE pa0001-persk,
btrtl LIKE pa0001-btrtl,
kostl LIKE pa0001-kostl,
kokrs LIKE pa0001-kokrs,
orgeh LIKE pa0001-orgeh,
END OF ty_pa0001.

*---internal tables
DATA: it_pa0001 TYPE TABLE OF ty_pa0001 WITH HEADER LINE,
it_text TYPE TABLE OF ty_text WITH HEADER LINE,
it_text1 TYPE TABLE OF ty_text1 WITH HEADER LINE,
it_text2 TYPE TABLE OF ty_text2 WITH HEADER LINE,
it_text3 TYPE TABLE OF ty_text3 WITH HEADER LINE,
it_text4 TYPE TABLE OF ty_text4 WITH HEADER LINE.

*--selection screen
SELECT-OPTIONS: s_pernr FOR pa0001-pernr.

*---start of selection
START-OF-SELECTION.

perform get_data.

SELECT pernr
begda
endda
bukrs
werks
persg
persk
btrtl
kostl
kokrs
orgeh
FROM pa0001
INTO TABLE it_pa0001
WHERE pernr IN s_pernr.

IF NOT it_pa0001[] IS INITIAL.
* Personnel Subarea Text
SELECT btrtl btext
FROM t001p
INTO TABLE it_text
FOR ALL ENTRIES IN it_pa0001
WHERE werks = it_pa0001-werks
AND btrtl = it_pa0001-btrtl.

* Employee group text
SELECT persg ptext
FROM t501t
INTO TABLE it_text1
FOR ALL ENTRIES IN it_pa0001
WHERE sprsl = sy-langu
AND persg = it_pa0001-persg.

* Employee subgroup text
SELECT persk ptext
FROM t503t
INTO TABLE it_text2
FOR ALL ENTRIES IN it_pa0001
WHERE sprsl = sy-langu
AND persk = it_pa0001-persk.

* Cost center text
SELECT kostl ltext
FROM cskt
INTO TABLE it_text3
FOR ALL ENTRIES IN it_pa0001
WHERE spras = sy-langu
AND kokrs = it_pa0001-kokrs
AND kostl = it_pa0001-kostl.

* Organizational unit short text
SELECT orgeh orgtx
INTO TABLE it_text4
FROM t527x
FOR ALL ENTRIES IN it_pa0001
where orgeh = it_pa0001-orgeh
AND SPRSL = sy-langu .
ENDIF.

format color 7.

write:/1 'personnel number',
30 'begin date',
60 'end date',
90 'company code',
120 'Employee Group',
150 'Employee Group text',
180 'Employee Subgroup',
210 'Employee Subgroup text',
240 'Personnel Subarea',
270 'Personnel Subarea text',
300 'cost center',
330 'cost center text',
360 'orgnization unit',
390 'organization unit text'.

format color off.

LOOP AT it_pa0001.

WRITE:/1 it_pa0001-pernr,
30 it_pa0001-begda,
60 it_pa0001-endda,
90 it_pa0001-bukrs,
120 it_pa0001-werks,
150 it_pa0001-persg.
READ TABLE it_text1 WITH KEY persg = it_pa0001-persg.
WRITE: 180 it_text1-ptext,
210 it_pa0001-persk.
READ TABLE it_text2 WITH KEY persk = it_pa0001-persk.
WRITE: 240 it_text2-ptext1.

READ TABLE it_text WITH KEY btrtl = it_pa0001-btrtl.
WRITE: 270 it_text-bte t,
300 it_pa0001-kostl.
READ TABLE it_text3 WITH KEY kostl = it_pa0001-kostl.
WRITE: 330 it_text3-ltext,
360 it_pa0001-orgeh.
READ TABLE it_text4 WITH KEY orgeh = it_pa0001-orgeh.
WRITE: 390 it_text4-orgtx.
ENDLOOP.

the selection screen is like this:...



and the output is like this :




ALSO READ:

- Minimum & Maximum Salaries For The Employees.

- Handling User Exits In HR ABAP.

- Termination Workbench Report In HR ABAP.

- Service Calculation Report In HR ABAP.

- Use Of BAPI HR_MAINTAIN_MASTERDATA For Updating HR DATA.

.....Back To Sub-Index On HR ABAP.

.....Back To MAIN INDEX.


HR ABAP - Obtain All The Sub Org Units Under An Organization Unit

report.

TABLES: hrp1000.

TYPES: BEGIN OF ty_orgunit,
objid TYPE objid,
begda TYPE begda,
endda TYPE endda,
END OF ty_orgunit.

DATA:it_orgunit TYPE STANDARD TABLE OF ty_orgunit WITH HEADER LINE.
DATA:root_org TYPE STANDARD TABLE OF hrwpc_s_hrobject WITH HEADER LINE.
DATA:t_objec TYPE STANDARD TABLE OF hrwpc_s_objec WITH HEADER LINE.
DATA:t_struc TYPE STANDARD TABLE OF hrwpc_s_struc WITH HEADER LINE.

SELECT-OPTIONS:s_objid FOR hrp1000-objid,
s_date FOR sy-datum .

START-OF-SELECTION.
*--For all the org.units entered in the selection.

LOOP AT s_objid.
CLEAR it_orgunit.
REFRESH it_orgunit.
root_org-objid = s_objid-low.
root_org-plvar = '01'.
root_org-otype = 'O'.

*--Get the sub org.unts for the given selection.
CALL FUNCTION 'HRWPC_RFC_STRUCTURE_GET'
EXPORTING
root = root_org
evpath = 'O-O_DOWN'
begda = s_date-low
endda = s_date-high
TABLES
t_objec = t_objec
t_struc = t_struc
EXCEPTIONS
nothing_found = 1
internal_error = 2
OTHERS = 3.

*--Prepare final sub org.units tabl.
LOOP AT t_objec WHERE objid NE s_objid-low.
WRITE:/ t_objec-objid .
ENDLOOP.
ENDLOOP.


ALSO READ:

- Display Texts For Personnel Subarea, Employee Group, Employee Subgroup, Cost Center & Organizational Unit.

- Minimum & Maximum Salaries For The Employees.

- Handling User Exits In HR ABAP.

- Termination Workbench Report In HR ABAP.

- Service Calculation Report In HR ABAP.

.....Back To Sub-Index On HR ABAP.

.....Back To MAIN INDEX.


HR ABAP - Get All The Existing Organization Units.

REPORT Ztest .

tables: hrp1000.

select-options:s_objid for hrp1000-objid,
s_date for sy-datum .

data: roots type HRROOTOB occurs 0 with header line.

types: begin of ty_orgunit,
objid type objid,
begda type begda,
endda type endda,
end of ty_orgunit.

data:it_orgunit type standard table of ty_orgunit with header line.
*--Check for Org.unit entered or not.

IF s_objid[] IS INITIAL.
*--If no org unit entered, get root orgs
CALL FUNCTION 'RH_STRUC_HELP_ROOTS_GET'
EXPORTING
SEARCH_PLVAR = '01'
SEARCH_OTYPE = 'O'
SEARCH_BEGDA = s_date-low
SEARCH_ENDDA = s_date-high
TABLES
ROOTS = roots.

IF SY-SUBRC = 0.
loop at roots.
s_objid-sign = 'I'.
s_objid-option = 'EQ'.
s_objid-low = roots-objid.
append s_objid.
endloop.
ENDIF.
endif.

start-of-selection.

SELECT objid
begda
endda
INTO table it_orgunit
FROM hrp1000
WHERE otype = 'O'
AND objid IN s_objid
AND plvar = '01'.

end-of-selection.

loop at it_orgunit.
write:/ it_orgunit-objid.
endloop.



ALSO READ:

- Obtain All The Sub Org Units Under An Organization Unit.

- Display Texts For Personnel Subarea, Employee Group, Employee Subgroup, Cost Center & Organizational Unit.

- Minimum & Maximum Salaries For The Employees.

- Handling User Exits In HR ABAP.

- Termination Workbench Report In HR ABAP.

.....Back To Sub-Index On HR ABAP.

.....Back To MAIN INDEX.


HR ABAP - First & Last Working Date Of An Employee.

REPORT ztest.

TABLES: pa0000.

PARAMETERS:p_pernr LIKE pa0000-pernr.

DATA: entrydate TYPE p0000-begda,
leavingdate TYPE p0000-begda.

DATA: BEGIN OF it_entry_dates OCCURS 0.
INCLUDE STRUCTURE hida.
DATA: END OF it_entry_dates.

START-OF-SELECTION.

CALL FUNCTION 'HR_ENTRY_DATE'
EXPORTING
persnr = p_pernr
begda = '18000101'
endda = '99991231'
IMPORTING
entrydate = entrydate
TABLES
entry_dates = it_entry_dates
EXCEPTIONS
entry_date_not_found = 1
pernr_not_assigned = 2
OTHERS = 3.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

CALL FUNCTION 'HR_LEAVING_DATE'
EXPORTING
persnr = p_pernr
begda = '18000101'
endda = '99991231'
IMPORTING
leavingdate = leavingdate
exceptions
leaving_date_not_found = 1
pernr_not_assigned = 2
others = 3.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

END-OF-SELECTION.

WRITE:/ 'entry date:', entrydate COLOR 6,
'leaving date:', leavingdate COLOR 5.


ALSO READ:

- Get All The Existing Organization Units.

- Obtain All The Sub Org Units Under An Organization Unit.

- Display Texts For Personnel Subarea, Employee Group, Employee Subgroup, Cost Center & Organizational Unit.

- Minimum & Maximum Salaries For The Employees.

- Handling User Exits In HR ABAP.

.....Back To Sub-Index On HR ABAP.

.....Back To MAIN INDEX.


HR ABAP - Display Details about Organization unit, Position or Job In HR ABAP.

REPORT YZTEST .

*---database tables used
tables: hrp1000.

*----types declaration
types: begin of ty_table,
PLVAR type hrp1000-plvar,
OTYPE type hrp1000-OTYPE,
OBJID type hrp1000-OBJID,
ISTAT type hrp1000-ISTAT,
LANGU type hrp1000-LANGU,
SEQNR type hrp1000-SEQNR,
STEXT type hrp1000-STEXT,
end of ty_table.
*---internal table declaration
data: it_table type table of ty_table with header line.

*---selection screen
select-options: s_objid for hrp1000-objid.

parameters:p_otype type hrp1000-otype.

* enter o for org unit
* s for position
* c for job

*--start of selection
start-of-selection.
*--get the data
perform get_data.
*---end of selection
end-of-selection.
*---display data
perform display_data.

*&---------------------------------------------------------------------*
*& Form get_data
*----------------------------------------------------------------------*
form get_data .

SELECT PLVAR
OTYPE
OBJID
ISTAT
LANGU
SEQNR
STEXT
FROM HRP1000
INTO table it_table
WHERE PLVAR = '01'
AND OTYPE = p_otype
AND OBJID in s_objid
AND ISTAT = '1'
AND LANGU = sy-langu
AND SEQNR = '000'.

sort it_table by objid.
delete adjacent duplicates from it_table comparing objid.

endform. " get_data
*&---------------------------------------------------------------------*
*& Form display_data
*----------------------------------------------------------------------*
form display_data .

loop at it_table.
write:/ it_table-PLVAR,
it_table-OTYPE,
it_table-OBJID,
it_table-ISTAT,
it_table-LANGU,
it_table-SEQNR,
it_table-STEXT.
endloop.

endform. " display_data




HR ABAP - Ordering (Descending ) Org. Unit For An Organization.

REPORT YZTEST.

*--internal table declarations
DATA:result_struc TYPE TABLE OF struc WITH HEADER LINE.
*---selection screen declarations
PARAMETERS:p_objid TYPE objid.
*---start of selection
START-OF-SELECTION.

perform get_data.

perform header .

perform display_data.

*&---------------------------------------------------------------------*
*& Form get_data
*----------------------------------------------------------------------*
form get_data .

CALL FUNCTION 'RH_STRUC_GET'
EXPORTING
act_otype = 'O'
act_objid = p_objid
act_wegid = 'O-O'
act_plvar = '01'
act_begda = sy-datum
act_endda = sy-datum
TABLES
result_struc = result_struc.


SORT result_struc BY level DESCENDING.

endform. " get_data
*&---------------------------------------------------------------------*
*& Form header
*----------------------------------------------------------------------*
form header .

FORMAT COLOR 7.
WRITE:/1 'Level',
20 'Object Type',
35 ' Object ID',
50 'Start Date',
65 'End Date'.
FORMAT COLOR OFF.

endform. " header
*&---------------------------------------------------------------------*
*& Form display_data
*----------------------------------------------------------------------*
form display_data .

LOOP AT result_struc .
IF sy-tabix = 1.
WRITE:/1 result_struc-level,
20 result_struc-otype,
35 result_struc-objid,
50 result_struc-sbegd,
65 result_struc-sendd.
ELSE.
EXIT.
ENDIF.
ENDLOOP.

endform. " display_data


ALSO READ:

- Display Details about Organization unit, Position or Job In HR ABAP.

- First & Last Working Date Of An Employee.

- Get All The Existing Organization Units.

- Obtain All The Sub Org Units Under An Organization Unit.

- Display Texts For Personnel Subarea, Employee Group, Employee Subgroup, Cost Center & Organizational Unit.

.....Back To Sub-Index On HR ABAP.

.....Back To MAIN INDEX.


HR ABAP - Finding Job Code For Position.

REPORT YZTEST.

*---data base tables used
tables: hrp1000.

*---types declaration
types: begin of ty_job,
plvar type hrp1000-plvar,
otype type hrp1000-otype,
objid type hrp1000-objid,
istat type hrp1000-istat,
langu type hrp1000-langu,
seqnr type hrp1000-seqnr,
short type hrp1000-short,
end of ty_job .

*---internal table declaration
data: it_job type standard table of ty_job with header line.

*---selection screen details
select-options:s_stell for hrp1000-objid.

*--start of selection
start-of-selection.

perform get_data.

*--- end of selection
end-of-selection.

perform display_result.
*&---------------------------------------------------------------------*
*& Form get_data
*----------------------------------------------------------------------*
form get_data .

SELECT plvar otype objid istat
langu seqnr short
FROM hrp1000
INTO table it_job
WHERE plvar = '01'
AND otype = 'C'
AND objid in s_stell
AND istat = '1'
and BEGDA <= sy-datum and ENDDA >= sy-datum
AND langu = sy-langu
AND seqnr = '000' .

endform. " get_data
*&---------------------------------------------------------------------*
*& Form display_result
*----------------------------------------------------------------------*
form display_result .

loop at it_job.
write:/1 it_job-plvar,
20 it_job-otype ,
35 it_job-objid ,
40 it_job-istat ,
55 it_job-langu ,
70 it_job-seqnr ,
105 it_job-short .
endloop.

endform. " display_result


ALSO READ:

- Finding Job Code For Position.

- Ordering (Descending ) Org. Unit For An Organization.

- Display Details about Organization unit, Position or Job In HR ABAP.

- First & Last Working Date Of An Employee.

- Get All The Existing Organization Units.

.....Back To Sub-Index On HR ABAP.

.....Back To MAIN INDEX.