Quantcast
Channel: SCN : Document List - SAP ERP Human Capital Management (SAP ERP HCM)
Viewing all articles
Browse latest Browse all 672

Employee Hiring Details ( Without PNP)

$
0
0

MAIN

************************************************************************
* Object Name : REPORT  ZHCM_ASMNT1. *
* Author/Company Name : Krishnakant Joshi*
* Transport Request *
* Creation Date * 01/17/2012
************************************************************************
* Description: *  Report to Get Employees Hiring Details
************************************************************************
* Dependencies *
************************************************************************
* Modification History *
************************************************************************
* Date Programmer Client Ref No. Description Correction *
************************************************************************
REPORT  zhcm_asmnt1.
*&**********************************************************************
*&    INCLUDE
*&**********************************************************************
INCLUDE : zhcm_asmnt1_top,    "Global Types and Data
zhcm_asmnt1_screen,
"Screen Design
zhcm_asmnt1_class, 
"Class
zhcm_asmnt1_pbo,   
"PBO
zhcm_asmnt1_pai.   
"PAI

*&**********************************************************************
*&    INITIALIZATION
*&**********************************************************************
INITIALIZATION.
*& Create object
CREATE OBJECT o_empdata.
*&**********************************************************************
*&    AT SELECTION-SCREEN
*&**********************************************************************
AT SELECTION-SCREEN.
o_empdata->validation( ).
*&**********************************************************************
*&    START-OF-SELECTION
*&**********************************************************************
START-
OF-SELECTION.
o_empdata->get_data( ).
"Populate internal tables
*&**********************************************************************
*&    END-OF-SELECTION
*&**********************************************************************
END-OF-SELECTION.
IF i_final ISNOTINITIAL.
o_empdata->display_alv( ).
"Populate internal tables
ELSE.
MESSAGEtext-002TYPE c_i.
Leave LIST-PROCESSING.
ENDIF.

 
 

 

TOP:

*&---------------------------------------------------------------------*
*&  Include           ZHCM_ASMNT1_TOP
*&---------------------------------------------------------------------*
CLASS cl_empdata DEFINITION DEFERRED.
*&**********************************************************************
*&   TYPES
*&**********************************************************************
TYPES :
*&  Actions
BEGINOF t_pa0000,
pernr    
TYPE persno,
endda    
TYPE endda,
begda    
TYPE begda,
massn    
TYPE massn,   "Action Type
massg    
TYPE massg,   "Reason for Action
ENDOF   t_pa0000,
*&  Org. Assignment
BEGINOF t_pa0001,
pernr    
TYPE persno,
endda    
TYPE endda,
begda    
TYPE begda,
werks    
TYPE persa,   "Personnel Area
kostl    
TYPE kostl,   "Cost center
orgeh    
TYPE orgeh,   "Organization Unit
stell    
TYPE stell,   "Job
ENDOF   t_pa0001,
*&  Personal Dat
BEGINOF t_pa0002,
pernr    
TYPE persno,
endda    
TYPE endda,
begda    
TYPE begda,
vorna    
TYPE pad_vorna,"First name
nachn    
TYPE pad_nachn,"Last name
gesch    
TYPE gesch,   "Gender Key
gbdep    
TYPE gbdep,   "State
gbdat    
TYPE gbdat,   "DOB
ENDOF   t_pa0002,
*&  Address
BEGINOF t_pa0006,
pernr    
TYPE persno,
endda    
TYPE endda,
begda    
TYPE begda,
pstlz    
TYPE pstlz_hr,"Postal Code
ENDOF   t_pa0006,
*&  Basic Pay
BEGINOF t_pa0008,
pernr    
TYPE persno,
endda    
TYPE endda,
begda    
TYPE begda,
ansal    
TYPE ansal,   "Annual Salary
ENDOF   t_pa0008,
*&  Date Specifications
BEGINOF t_pa0041,
pernr    
TYPE  persno,
endda    
TYPE  endda,
begda    
TYPE  begda,
dar01    
TYPE  datar,
dat01    
TYPE  dardt,
dar02    
TYPE  datar,
dat02     
TYPE  dardt,
dar03     
TYPE   datar,
dat03     
TYPE   dardt,
dar04     
TYPE   datar,
dat04     
TYPE   dardt,
dar05     
TYPE   datar,
dat05     
TYPE   dardt,
dar06     
TYPE   datar,
dat06     
TYPE   dardt,
dar07     
TYPE   datar,
dat07     
TYPE   dardt,
dar08     
TYPE   datar,
dat08    
TYPE  dardt,
dar09     
TYPE   datar,
dat09     
TYPE   dardt,
dar10    
TYPE  datar,
dat10    
TYPE  dardt,
dar11    
TYPE  datar,
dat11    
TYPE  dardt,
dar12     
TYPE   datar,
dat12     
TYPE   dardt,
ENDOF   t_pa0041,
BEGINOF t_pa0041d,
pernr    
TYPE  persno,
endda    
TYPE  endda,
begda    
TYPE  begda,
dar01    
TYPE  datar,
dat01    
TYPE  dardt,
ENDOF   t_pa0041d,
*& Date text
BEGINOF t_t548t,
datar    
TYPE  datar,
dtext     
TYPE datax,
ENDOF   t_t548t,
*&  Communication
beginof t_pa0105,
pernr    
type persno,
endda    
type endda,
begda    
type begda,
usrty    
type usrty,   "Communication Type
usrid_long 
type comm_id_long,"Long Identification/Number
endof   t_pa0105,
*& Personnel Action Texts
beginof t_t529t,
massn    
type  massn,  "Action Type
mntxt    
type  mntxt,  "Name of Action Type
endof   t_t529t,
*      & Reason for Action Texts
beginof t_t530t,
massn    
type  massn,  "Action Type
massg    
type  massg,  "Reason for Action
mgtxt    
type  mgtxt,  "Name of reason for action
endof   t_t530t,
*      & Job Titles
beginof t_t513s,
stell    
type  stell,  "Job
stltx    
type  stltx,  "Job Title
begda    
type  begda,  "Start Date
endda    
type  endda,  "End Date
endof   t_t513s,
*      & Final table
beginof t_final,
pernr    
type pernr_d,
begda    
type begda,
mntxt    
type mntxt,
mgtxt    
type mgtxt,
vorna    
type pad_vorna,
nachn    
type pad_nachn,
gesch    
type char20,
gbdep    
type gbdep,
pstlz    
type pstlz_hr,
werks    
type persa,
stltx    
type stltx,
orgeh    
type orgeh,
kostl    
type kostl,
gbdat    
type gbdat,
usrid_long 
type comm_id_long,
dtext    
type datax,
dat01    
type dardt,
ansal    
type ansal,
endof t_final.

*&**********************************************************************
*&   Data
*&**********************************************************************
DATA : i_pa0000 TYPESTANDARDTABLEOF t_pa0000,
i_pa0001
TYPESTANDARDTABLEOF t_pa0001,
i_pa0002
TYPESTANDARDTABLEOF t_pa0002,
i_pa0006
TYPESTANDARDTABLEOF t_pa0006,
i_pa0008
TYPESTANDARDTABLEOF t_pa0008,
i_pa0041
TYPESTANDARDTABLEOF t_pa0041,
i_pa0041d
TYPESTANDARDTABLEOF t_pa0041d,
i_pa0105
TYPESTANDARDTABLEOF t_pa0105,
i_t529t 
TYPESTANDARDTABLEOF t_t529t,
i_t530t 
TYPESTANDARDTABLEOF t_t530t,
i_t513s 
TYPESTANDARDTABLEOF t_t513s,
i_final 
TYPESTANDARDTABLEOF t_final,
i_t548t 
TYPESTANDARDTABLEOF t_t548t,
w_final
TYPE t_final.

*&---------------------------------------------------------------------*
*& Local data for prosessing
DATA : w_pa0000 TYPE t_pa0000,
w_t529t 
TYPE t_t529t,
w_t530t 
TYPE t_t530t,
w_pa0001
TYPE t_pa0001,
w_t513s 
TYPE t_t513s,
w_pa0002
TYPE t_pa0002,
w_pa0006
TYPE t_pa0006,
w_pa0008
TYPE t_pa0008,
w_pa0105
TYPE t_pa0105,
w_t548t 
TYPE t_t548t.

DATA : v_pernr TYPE persno, "Employee Number
v_date  
TYPE begda, "Run Date
i_fieldcat
TYPE lvc_t_fcat,
w_fieldcat
TYPE lvc_s_fcat,
v_colpos
TYPEiVALUE1,
v_dar
TYPE datar,
v_dat
TYPE dardt.
*&**********************************************************************
*&   Objects
*&**********************************************************************
DATA : o_empdata    TYPEREFTO cl_empdata,
o_cc        
TYPEREFTO cl_gui_custom_container,
o_split     
TYPEREFTO cl_gui_easy_splitter_container,
o_top_cntnr 
TYPEREFTO cl_gui_container,
o_btm_cntnr 
TYPEREFTO cl_gui_container,
o_doc       
TYPEREFTO cl_dd_document, "Document
o_alv       
TYPEREFTO cl_gui_alv_grid.
*&**********************************************************************
*&   Constants
*&**********************************************************************
CONSTANTS : c_e TYPEcVALUE'E',
c_1
TYPEcVALUE'1',
c_2
TYPEcVALUE'2',
c_i
TYPEcVALUE'I'.

FIELD-SYMBOLS <lx_data> TYPE t_pa0041.

 
 

 

SCREEN

*&---------------------------------------------------------------------*
*&  Include           ZHCM_ASMNT1_SCREEN
*&---------------------------------------------------------------------*
************************************************************************
*& Selection screen
************************************************************************
SELECTION-
SCREENBEGINOFBLOCK b1 WITHFRAMETITLEtext-000.
SELECT-OPTIONS : s_pernr for v_pernr, "Employee Number
s_rundte
for v_date.   "Run date
SELECTION-
SCREENENDOFBLOCK b1.

 
 

 

CLASS

*&---------------------------------------------------------------------*
*&  Include           ZHCM_ASMNT1_CLASS
*&---------------------------------------------------------------------*
*&**********************************************************************
*&   CLASS CL_EMPDATA DEFINITATION
*&**********************************************************************
CLASS cl_empdata DEFINITION.
PUBLICSECTION.
METHODS : validation,   "Screen validation
get_data,    
"Fetch Data
merge_data,  
"Populate final table to display
set_fieldcat
IMPORTING fieldname TYPE lvc_fname
seltext  
TYPE lvc_txt
coltext  
TYPE lvc_txtcol
outputlen
TYPE lvc_outlen
EXPORTING w_fieldcatr TYPE lvc_s_fcat,
populate_finaldata,
prepare_topofpage,
build_fieldcatalog,
"Build field catalogs
display_alv. 
"Display dta
ENDCLASS.                   "CL_EMPDATA
*&**********************************************************************
*&   CLASS CL_EMPDATA IMPLEMENTATION
*&**********************************************************************
CLASS cl_empdata IMPLEMENTATION.
*&---------------------------------------------------------------------*
*&   METHOD validation
*&   Method to validate screen inputs
*&---------------------------------------------------------------------*
METHOD  validation.
DATA: lv_pernr TYPE persno,
lv_check
TYPEi.
*& Validate employee number
IF s_pernr ISNOTINITIAL.
SELECTSINGLE pernr
FROM pa0000
INTO lv_pernr
WHERE pernr IN s_pernr AND stat2 = 3.
IF sy-subrc <> 0.
MESSAGEtext-042TYPE c_e.
ENDIF.
ENDIF.
*& Validate run date
IF s_rundte ISNOTINITIAL.
lv_check = s_rundte-low.
IF lv_check = 0.
MESSAGEtext-043TYPE c_e.
ENDIF.
CLEAR lv_check.
lv_check = s_rundte-high.
IF lv_check = 0.
MESSAGEtext-043TYPE c_e.
ENDIF.
ELSE.
s_rundte-low =
'00010101'.
s_rundte-high =
'99991231'.
ENDIF.
ENDMETHOD.                "Validation
*&---------------------------------------------------------------------*
*&   METHOD get_data
*&   Method to fetch data
*&---------------------------------------------------------------------*
METHOD  get_data.
DATA : li_pa0000 TYPESTANDARDTABLEOF t_pa0000,
li_pa0001
TYPESTANDARDTABLEOF t_pa0001.
*&---------------------------------------------------------------------*
*& Select Action data
SELECT pernr endda begda massn massg
INTOTABLE i_pa0000
FROM pa0000
WHERE endda >= s_rundte-low
AND begda <= s_rundte-high
AND pernr IN s_pernr AND stat2 = 3.
IF sy-subrc = 0.
*& Assign data of i_pa0000 to temp table
li_pa0000 = i_pa0000.
*& Sort table
SORT li_pa0000 BY massn.
*& Delete duplicate Action type from Actions
DELETEADJACENTDUPLICATESFROM li_pa0000 COMPARING massn.
*&---------------------------------------------------------------------
*& Action Texts
SELECT massn mntxt
INTOTABLE i_t529t
FROM t529t
FORALL ENTRIES IN li_pa0000
WHERE massn = li_pa0000-massn AND sprsl = sy-langu.
*& Clear temp table
CLEAR li_pa0000.
*& Assign data of i_pa0000 to temp table
li_pa0000 = i_pa0000.
*& Sort table
SORT li_pa0000 BY massn massg.
*& Delete duplicate Action reasons keys from Actions
DELETEADJACENTDUPLICATESFROM li_pa0000 COMPARING massn massg.
*&---------------------------------------------------------------------

*& Reason for Action Texts
SELECT massn massg mgtxt
INTOTABLE i_t530t
FROM t530t
FORALL ENTRIES IN li_pa0000
WHERE massn = li_pa0000-massn
AND massg = li_pa0000-massg
AND sprsl = sy-langu.
*&---------------------------------------------------------------------
*& Clear temp table
CLEAR li_pa0000.
*& Assign data of i_pa0000 to temp table
li_pa0000 = i_pa0000.
*& Sort table
SORT li_pa0000 BY pernr.
*& Delete duplicate Action reasons keys from Actions
DELETEADJACENTDUPLICATESFROM li_pa0000 COMPARING pernr.

*& Select organizational assignment
SELECT  pernr endda begda
werks kostl orgeh stell
INTOTABLE i_pa0001
FROM pa0001
FORALL ENTRIES IN li_pa0000
WHERE pernr = li_pa0000-pernr AND endda >= s_rundte-low
AND begda <= s_rundte-high.

IF sy-subrc = 0.
*& Assign data of i_pa0001 to temp table
li_pa0001 = i_pa0001.
*& Sort table
SORT li_pa0001 BY stell.
*& Delete duplicate job from organizational assignment
DELETEADJACENTDUPLICATESFROM li_pa0001 COMPARING stell.
*&---------------------------------------------------------------------

*& Get jobitle text
SELECT stell stltx endda begda
FROM t513s
INTOTABLE i_t513s
FORALL ENTRIES IN li_pa0001
WHERE stell = li_pa0001-stell
AND sprsl = sy-langu.
ENDIF.
*&---------------------------------------------------------------------*
*& Select Personal Data
SELECT  pernr endda begda
vorna nachn gesch gbdep gbdat
INTOTABLE i_pa0002
FROM pa0002
FORALL ENTRIES IN li_pa0000
WHERE pernr = li_pa0000-pernr AND endda >= s_rundte-low
AND begda <= s_rundte-high.
*&---------------------------------------------------------------------*
*& Select Address
SELECT  pernr endda begda
pstlz
INTOTABLE i_pa0006
FROM pa0006
FORALL ENTRIES IN li_pa0000
WHERE pernr = li_pa0000-pernr AND endda >= s_rundte-low
AND begda <= s_rundte-high.
*&---------------------------------------------------------------------*
*& Basic Pay
SELECT  pernr endda begda
ansal
INTOTABLE i_pa0008
FROM pa0008
FORALL ENTRIES IN li_pa0000
WHERE pernr = li_pa0000-pernr AND endda >= s_rundte-low
AND begda <= s_rundte-high.
*&---------------------------------------------------------------------*
*& Date Specifications
SELECT  pernr endda begda
dar01 dat01 dar02 dat02 dar03 dat03 dar04
dat04 dar05 dat05 dar06 dat06 dar07 dat07
dar08 dat08 dar09 dat09 dar10 dat10 dar11
dat11 dar12 dat12
INTOTABLE i_pa0041
FROM pa0041
FORALL ENTRIES IN li_pa0000
WHERE pernr = li_pa0000-pernr AND endda >= s_rundte-low
AND begda <= s_rundte-high.
*&---------------------------------------------------------------------*
*&  Communication
SELECT pernr endda begda
usrty usrid_long
INTOTABLE i_pa0105
FROM pa0105
FORALL ENTRIES IN li_pa0000
WHERE  pernr = li_pa0000-pernr
AND subty = '0010'AND endda >= s_rundte-low
AND begda <= s_rundte-high.
o_empdata->merge_data( ).

ELSE.
MESSAGEtext-002TYPE c_e.
ENDIF.
ENDMETHOD.                "Get_data
*&---------------------------------------------------------------------*
*&   METHOD merge_data
*&   Method to populate final table to display
*&---------------------------------------------------------------------*
METHOD  merge_data.
*&---------------------------------------------------------------------*
*& Loop date specification table for getting hire date or original hire
*& date

SELECT datar dtext
FROM t548t
INTOTABLE i_t548t
WHERE sprsl = sy-langu and datar = 'U1'OR datar = '16'.

SORT i_pa0041  BY pernr endda DESCENDING.
SORT i_pa0000  BY pernr endda DESCENDING.
SORT i_pa0001  BY pernr endda DESCENDING.
SORT i_pa0002  BY pernr endda DESCENDING.
SORT i_pa0006  BY pernr endda DESCENDING.
SORT i_pa0008  BY pernr endda DESCENDING.
SORT i_pa0105  BY pernr endda DESCENDING.
SORT i_t529t   BY massn.
SORT i_t513s   BY stell endda DESCENDING.

LOOPAT i_pa0041 ASSIGNING<lx_data>  .
CLEAR: w_final.
*&---------------------------------------------------------------------*
*& Do loop to check for hire date or original hire date
DO12TIMES VARYING v_dar FROM<lx_data>-dar01 NEXT
<lx_data>-dar02
VARYING v_dat
FROM<lx_data>-dat01 NEXT
<lx_data>-dat02.
*&---------------------------------------------------------------------*
*& Check for Original date
IF v_dar = '16'.
w_final-dat01 = v_dat.
w_final-dtext = v_dar.
*&---------------------------------------------------------------------*
*& Check for hire date
ELSEIF v_dar = 'U1'.
w_final-dat01 = v_dat.
w_final-dtext = v_dar.
EXIT.
ENDIF.
CLEAR: v_dar,  v_dat.
ENDDO.
IF w_final-dat01 ISNOTINITIAL.
o_empdata->populate_finaldata( ).
ENDIF.
ENDLOOP.
ENDMETHOD.                  "Merge_data

METHOD  populate_finaldata.
CLEAR w_t548t.
*&---------------------------------------------------------------------*
*& Populate date text
READTABLE i_t548t INTO  w_t548t
WITHKEY datar = w_final-dtext.
IF sy-subrc = 0.
w_final-dtext = w_t548t-dtext.
"Date text
ENDIF.
*&---------------------------------------------------------------------*
*& Populate Employee number, start date
CLEAR w_pa0000.
READTABLE i_pa0000 INTO w_pa0000
WITHKEY pernr = <lx_data>-pernr
BINARYSEARCH.
IF sy-subrc = 0.
w_final-pernr = w_pa0000-pernr.
"Employee number
w_final-begda = w_pa0000-begda.
"Start date
*&---------------------------------------------------------------------*
*& Populate Action text
CLEAR w_t529t.
READTABLE i_t529t INTO w_t529t
WITHKEY massn = w_pa0000-massn
BINARYSEARCH.
IF sy-subrc = 0.
w_final-mntxt = w_t529t-mntxt.
"Action text
ENDIF.
IF w_pa0000-massg ISNOTINITIAL.
CLEAR w_t530t.
*&---------------------------------------------------------------------*
*& Populate Action reason text
READTABLE i_t530t INTO w_t530t
WITHKEY massn = w_pa0000-massn
massg = w_pa0000-massg
BINARYSEARCH.
IF sy-subrc = 0.
w_final-mgtxt = w_t530t-mgtxt.
"Action reason text
ENDIF.
ENDIF.
ENDIF.
*&---------------------------------------------------------------------*
*& Populate Organizational Assignments
CLEAR w_pa0001.
READTABLE i_pa0001 INTO w_pa0001
WITHKEY pernr = <lx_data>-pernr
BINARYSEARCH.
IF sy-subrc = 0.
w_final-werks = w_pa0001-werks.
w_final-orgeh = w_pa0001-orgeh.
w_final-kostl = w_pa0001-kostl.
*&---------------------------------------------------------------------*
*& Populate job text
CLEAR w_t513s.
READTABLE i_t513s INTO w_t513s
WITHKEY stell = w_pa0001-stell
BINARYSEARCH.
IF sy-subrc = 0.
w_final-stltx = w_t513s-stltx.
ENDIF.
ENDIF.
*&---------------------------------------------------------------------*
*& Populate Personnel details
CLEAR  w_pa0002.
READTABLE i_pa0002 INTO w_pa0002
WITHKEY pernr = <lx_data>-pernr
BINARYSEARCH.
IF sy-subrc = 0.
w_final-vorna = w_pa0002-vorna.
"First name
w_final-nachn = w_pa0002-nachn.
"Last name
CASE w_pa0002-gesch. "Gender
WHEN c_1.
w_final-gesch =
text-039.
WHEN c_2.
w_final-gesch =
text-040.
WHENOTHERS.
w_final-gesch =
text-041.
ENDCASE.
w_final-gbdep = w_pa0002-gbdep.
w_final-gbdat = w_pa0002-gbdat.
ENDIF.
*&---------------------------------------------------------------------*
*& Populate postal address
CLEAR w_pa0006.
READTABLE i_pa0006 INTO w_pa0006
WITHKEY pernr = <lx_data>-pernr
BINARYSEARCH.
IF sy-subrc = 0.
w_final-pstlz = w_pa0006-pstlz.
ENDIF.
*&---------------------------------------------------------------------*
*& Populate Basic pay data  - annual salary
CLEAR w_pa0008.
READTABLE i_pa0008 INTO w_pa0008
WITHKEY pernr = <lx_data>-pernr
BINARYSEARCH.
IF sy-subrc = 0.
w_final-ansal = w_pa0008-ansal.
"Annual salary
ENDIF.
*&---------------------------------------------------------------------*
*& Populate Email id
CLEAR w_pa0105.
READTABLE i_pa0105 INTO w_pa0105
WITHKEY pernr = <lx_data>-pernr
BINARYSEARCH.
IF sy-subrc = 0.
w_final-usrid_long = w_pa0105-usrid_long.
"Email
ENDIF.
*&---------------------------------------------------------------------*
*& Append work area to final table
APPEND w_final TO i_final.

ENDMETHOD.                  "Populate_finaldata

*&---------------------------------------------------------------------*
*&   METHOD build_fieldcatalog
*&   Method to build field catalogs
*&---------------------------------------------------------------------*
METHOD  build_fieldcatalog.
CLEAR : w_fieldcat,i_fieldcat.
CALLMETHOD o_empdata->set_fieldcat
EXPORTING
fieldname   =
text-021
seltext     =
text-003
coltext     =
text-003
outputlen   =
'10'
IMPORTING
w_fieldcatr = w_fieldcat.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.

CALLMETHOD o_empdata->set_fieldcat
EXPORTING
fieldname   =
text-022
seltext     =
text-020
coltext     =
text-020
outputlen   =
'10'
IMPORTING
w_fieldcatr = w_fieldcat.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.

CALLMETHOD o_empdata->set_fieldcat
EXPORTING
fieldname   =
text-023
seltext     =
text-004
coltext     =
text-004
outputlen   =
'10'
IMPORTING
w_fieldcatr = w_fieldcat.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.

CALLMETHOD o_empdata->set_fieldcat
EXPORTING
fieldname   =
text-024
seltext     =
text-005
coltext     =
text-005
outputlen   =
'10'
IMPORTING
w_fieldcatr = w_fieldcat.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.

CALLMETHOD o_empdata->set_fieldcat
EXPORTING
fieldname   =
text-025
seltext     =
text-006
coltext     =
text-006
outputlen   =
'10'
IMPORTING
w_fieldcatr = w_fieldcat.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.

CALLMETHOD o_empdata->set_fieldcat
EXPORTING
fieldname   =
text-026
seltext     =
text-007
coltext     =
text-007
outputlen   =
'10'
IMPORTING
w_fieldcatr = w_fieldcat.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.

CALLMETHOD o_empdata->set_fieldcat
EXPORTING
fieldname   =
text-027
seltext     =
text-008
coltext     =
text-008
outputlen   =
'10'
IMPORTING
w_fieldcatr = w_fieldcat.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.

CALLMETHOD o_empdata->set_fieldcat
EXPORTING
fieldname   =
text-028
seltext     =
text-009
coltext     =
text-009
outputlen   =
'10'
IMPORTING
w_fieldcatr = w_fieldcat.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.

CALLMETHOD o_empdata->set_fieldcat
EXPORTING
fieldname   =
text-029
seltext     =
text-010
coltext     =
text-010
outputlen   =
'10'
IMPORTING
w_fieldcatr = w_fieldcat.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.

CALLMETHOD o_empdata->set_fieldcat
EXPORTING
fieldname   =
text-030
seltext     =
text-011
coltext     =
text-011
outputlen   =
'10'
IMPORTING
w_fieldcatr = w_fieldcat.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.

CALLMETHOD o_empdata->set_fieldcat
EXPORTING
fieldname   =
text-031
seltext     =
text-012
coltext     =
text-013
outputlen   =
'10'
IMPORTING
w_fieldcatr = w_fieldcat.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.

CALLMETHOD o_empdata->set_fieldcat
EXPORTING
fieldname   =
text-032
seltext     =
text-013
coltext     =
text-013
outputlen   =
'10'
IMPORTING
w_fieldcatr = w_fieldcat.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.

CALLMETHOD o_empdata->set_fieldcat
EXPORTING
fieldname   =
text-033
seltext     =
text-014
coltext     =
text-014
outputlen   =
'10'
IMPORTING
w_fieldcatr = w_fieldcat.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.

CALLMETHOD o_empdata->set_fieldcat
EXPORTING
fieldname   =
text-033
seltext     =
text-014
coltext     =
text-014
outputlen   =
'10'
IMPORTING
w_fieldcatr = w_fieldcat.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.

CALLMETHOD o_empdata->set_fieldcat
EXPORTING
fieldname   =
text-034
seltext     =
text-015
coltext     =
text-015
outputlen   =
'10'
IMPORTING
w_fieldcatr = w_fieldcat.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.

CALLMETHOD o_empdata->set_fieldcat
EXPORTING
fieldname   =
text-035
seltext     =
text-016
coltext     =
text-016
outputlen   =
'10'
IMPORTING
w_fieldcatr = w_fieldcat.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.

CALLMETHOD o_empdata->set_fieldcat
EXPORTING
fieldname   =
text-036
seltext     =
text-017
coltext     =
text-017
outputlen   =
'10'
IMPORTING
w_fieldcatr = w_fieldcat.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.

CALLMETHOD o_empdata->set_fieldcat
EXPORTING
fieldname   =
text-037
seltext     =
text-018
coltext     =
text-018
outputlen   =
'10'
IMPORTING
w_fieldcatr = w_fieldcat.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.


CALLMETHOD o_empdata->set_fieldcat
EXPORTING
fieldname   =
text-038
seltext     =
text-019
coltext     =
text-019
outputlen   =
'10'
IMPORTING
w_fieldcatr = w_fieldcat.
APPEND w_fieldcat TO i_fieldcat.
CLEAR : w_fieldcat.

ENDMETHOD.                "Build_fieldcatalog
*&---------------------------------------------------------------------*
*&   METHOD prepare_topofpage
*&   Method to report header
*&---------------------------------------------------------------------*
METHOD prepare_topofpage.

DATA: lv_count TYPE char255,
lv_count1
TYPE string,
lv_rundte
TYPE char255,
lv_rundte_l
TYPE char20,
lv_rundte_h
TYPE char20.


DESCRIBETABLE i_final.
lv_count1 = sy-tfill.

CONCATENATEtext-045':' lv_count1 INTO lv_count.

IF s_rundte-low ISNOTINITIAL.

CONCATENATEtext-047  s_rundte-low+4(2) '.'
s_rundte-low+
6(2) '.' s_rundte-low+0(4)
INTO lv_rundte_l.
ENDIF.

IF s_rundte-high ISNOTINITIAL.
CONCATENATE  text-048 s_rundte-high+4(2) '.'
s_rundte-high+
6(2) '.' s_rundte-high+0(4)
INTO lv_rundte_h .
ENDIF.

CONCATENATEtext-046 lv_rundte_l  lv_rundte_h
INTO lv_rundte.
*&---------------------------------------------------------------------*
*&   Employee’s Hiring Details
CALLMETHOD o_doc->add_text
EXPORTING
text         = text-044
sap_fontsize = cl_dd_area=>medium
sap_emphasis = cl_dd_area=>strong.
CALLMETHOD o_doc->new_line.
*&---------------------------------------------------------------------*
*&   Number of records
CALLMETHOD o_doc->add_text
EXPORTING
text         = lv_count
sap_fontsize = cl_dd_area=>medium
sap_emphasis = cl_dd_area=>strong.
CALLMETHOD o_doc->new_line.
*&---------------------------------------------------------------------*
*&   Run Date
CALLMETHOD o_doc->add_text
EXPORTING
text         = lv_rundte
sap_fontsize = cl_dd_area=>medium
sap_emphasis = cl_dd_area=>strong.
CALLMETHOD o_doc->display_document
EXPORTING
parent             = o_top_cntnr
EXCEPTIONS
html_display_error =
1
OTHERS             = 2.
IF sy-subrc <> 0.
MESSAGEID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDMETHOD.                    "prepare_topofpage

*&---------------------------------------------------------------------*
*&   METHOD set_fieldcat
*&   Method to set_fieldcat
*&---------------------------------------------------------------------*
METHOD set_fieldcat.
CLEAR: w_fieldcat.
w_fieldcatr-fieldname = fieldname.
w_fieldcatr-col_pos = v_colpos.
w_fieldcatr-outputlen = outputlen.
w_fieldcatr-coltext = coltext.
w_fieldcatr-seltext = seltext.
v_colpos = v_colpos +
1.
ENDMETHOD.                    "set_fieldcat

*&---------------------------------------------------------------------*
*&   METHOD display_alv
*&   Method to display ALV grid
*&---------------------------------------------------------------------*
METHOD  display_alv.
o_empdata->build_fieldcatalog( ).
CALLSCREEN100.
ENDMETHOD.                "Display_alv
ENDCLASS.                   "CL_EMPDATA

 
 

 

PAI

*&---------------------------------------------------------------------*
*&  Include           ZHCM_ASMNT1_PAI
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
module USER_COMMAND_0100 input.
CASE sy-ucomm .
WHEN'BACK'OR'RW'OR'%EX' .
LEAVEPROGRAM .
ENDCASE .
endmodule.                 " USER_COMMAND_0100  INPUT

 
 

PBO

*&---------------------------------------------------------------------*
*&  Include           ZHCM_ASMNT1_PBO
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS 'EMP_DATA'.
*  SET TITLEBAR 'xxx'.

ENDMODULE.                 " STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  DSPLY_EMPDATA  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE dsply_empdata OUTPUT.
*----------------------------------------------------------------------*
*Check for object of first grid
*----------------------------------------------------------------------*

IF o_alv ISINITIAL.
"Create object for first container
CREATE OBJECT o_cc
EXPORTING
container_name              =
'CC_EMPDATA'
EXCEPTIONS
cntl_error                  =
1
cntl_system_error           =
2
create_error                =
3
lifetime_error              =
4
lifetime_dynpro_dynpro_link =
5
OTHERS                      = 6.
IF sy-subrc <> 0.
MESSAGEID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
*----------------------------------------------------------------------*
*Create object for first ALV grid
*----------------------------------------------------------------------*
CREATE OBJECT o_split                       "split container obj
EXPORTING
parent            = o_cc
sash_position     =
20
with_border       =
1
EXCEPTIONS
cntl_error        =
1
cntl_system_error =
2
OTHERS            = 3.
IF sy-subrc <> 0.
MESSAGEID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

o_top_cntnr = o_split->top_left_container .
o_btm_cntnr = o_split->bottom_right_container .

CREATE OBJECT o_doc
EXPORTING
style =
'ALV_GRID'.

o_empdata->prepare_topofpage( ).



CREATE OBJECT o_alv
EXPORTING
i_parent          = o_btm_cntnr
EXCEPTIONS
error_cntl_create =
1
error_cntl_init   =
2
error_cntl_link   =
3
error_dp_create   =
4
OTHERS            = 5.
IF sy-subrc <> 0.
MESSAGEID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
CALLMETHOD o_alv->list_processing_events
EXPORTING
i_event_name =
'TOP_OF_PAGE'
i_dyndoc_id  = o_doc.

"Display ALV grid
CALLMETHOD o_alv->set_table_for_first_display
CHANGING
it_fieldcatalog               = i_fieldcat
it_outtab                     = i_final
EXCEPTIONS
invalid_parameter_combination =
1
program_error                 =
2
too_many_lines                =
3
OTHERS                        = 4.
IF sy-subrc <> 0.
MESSAGEID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDMODULE.                 " DSPLY_EMPDATA  OUTPUT


Viewing all articles
Browse latest Browse all 672

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>