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

Employee Hiring Details using PNP

$
0
0

MAIN

************************************************************************
* Object Name : REPORT  ZHCM_ASMNT1PNP. *
* Author/Company Name : Krishnakant Joshi / *
* Transport Request *
* Creation Date * 01/21/2013
************************************************************************
* Description: *  Employee hiring details
************************************************************************
* Dependencies *
************************************************************************
* Modification History *
************************************************************************
* Date Programmer Client Ref No. Description Correction *
************************************************************************
REPORT  zhcm_asmnt1pnp.
*&**********************************************************************
*&    INCLUDE
*&**********************************************************************
INCLUDE : zhcm_asmnt1pnp_top,    "Global Types and Data
zhcm_asmnt1pnp_form.  
"Subroutines
*&**********************************************************************
*&    INITIALIZATION.
*&**********************************************************************
INITIALIZATION.
v_repid = sy-repid.
*&**********************************************************************
*&    AT SELECTION-SCREEN
*&**********************************************************************
AT SELECTION-SCREEN.
*&**********************************************************************
*&    START-OF-SELECTION
*&**********************************************************************
START-
OF-SELECTION.
PERFORM get_texts.
SORT: i_t513s BY stell,
i_t530t
BY massn massg,
i_t529t
BY massn.
*&**********************************************************************
*&    GET PERNR.
*&**********************************************************************
GET pernr.
DATA : w_final TYPE t_final,
v_dar
TYPE datar,
v_dat
TYPE dardt.
*&---------------------------------------------------------------------*
*& Local data for prosessing
DATA : w_t529t  TYPE t_t529t,
w_t530t 
TYPE t_t530t,
w_t513s 
TYPE t_t513s,
w_t548t 
TYPE t_t548t,
lw_p0000
TYPE p0000.
*&---------------------------------------------------------------------
*& Get Date specifications
rp-
provide-from-last p0041 space pn-begda pn-endda.
IF pnp-sw-found = c_1.
*&---------------------------------------------------------------------*
*& Do loop to check for hire date or original hire date
DO12TIMES VARYING v_dar FROM p0041-dar01 NEXT
p0041-dar02
VARYING v_dat
FROM p0041-dat01 NEXT
p0041-dat02.
*&---------------------------------------------------------------------*
*& Check for Original date
IF v_dar = c_16.
w_final-dat01 = v_dat.
w_final-dtext = v_dar.
*&---------------------------------------------------------------------*
*& Check for hire date
ELSEIF v_dar = c_u1.
w_final-dat01 = v_dat.
w_final-dtext = v_dar.
EXIT.
ENDIF.
CLEAR: v_dar, v_dat.
ENDDO.
IF w_final-dat01 ISINITIAL.
REJECT.
ENDIF.
ENDIF.
*&---------------------------------------------------------------------
*& Get action data
rp-
provide-from-last p0000 space pn-begda pn-endda.
IF pnp-sw-found = c_1.
DELETE p0000[] WHERE stat2 <> 3.
IF p0000[] ISNOTINITIAL.
SORT p0000 BY endda DESCENDING.
READTABLE p0000 INTO lw_p0000 INDEX1.
w_final-pernr = lw_p0000-pernr.
"Employee number
w_final-begda = lw_p0000-begda.
"Start date
READTABLE i_t529t INTO w_t529t
WITHKEY massn = lw_p0000-massn
BINARYSEARCH.
IF sy-subrc = 0.
w_final-mntxt = w_t529t-mntxt.
"Action text
ENDIF.
IF lw_p0000-massg ISNOTINITIALAND lw_p0000-massn  ISNOTINITIAL.
CLEAR w_t530t.
*&---------------------------------------------------------------------*
*& Populate Action reason text
READTABLE i_t530t INTO w_t530t
WITHKEY massn = lw_p0000-massn
massg = lw_p0000-massg
BINARYSEARCH.
IF sy-subrc = 0.
w_final-mgtxt = w_t530t-mgtxt.
"Action reason text
ENDIF.
ENDIF.
ENDIF.
ENDIF.
*&---------------------------------------------------------------------
*& Get organizational assignments
rp-
provide-from-last p0001 space pn-begda pn-endda.
IF pnp-sw-found = c_1.
w_final-werks = p0001-werks.
w_final-orgeh = p0001-orgeh.
w_final-kostl = p0001-kostl.
*&---------------------------------------------------------------------*
*& Populate job text
CLEAR w_t513s.
READTABLE i_t513s INTO w_t513s
WITHKEY stell = p0001-stell
BINARYSEARCH.
IF sy-subrc = 0.
w_final-stltx = w_t513s-stltx.
ENDIF.
ENDIF.
*&---------------------------------------------------------------------
*& Get Personal data
rp-
provide-from-last p0002 space pn-begda pn-endda.
IF pnp-sw-found = c_1.
w_final-vorna = p0002-vorna.
"First name
w_final-nachn = p0002-nachn.
"Last name
CASE p0002-gesch. "Gender
WHEN c_1.
w_final-gesch =
text-037.
WHEN c_2.
w_final-gesch =
text-038.
WHENOTHERS.
w_final-gesch =
text-039.
ENDCASE.
w_final-gbdep = p0002-gbdep.
w_final-gbdat = p0002-gbdat.
ENDIF.
*&---------------------------------------------------------------------
*& Get Address details
rp-
provide-from-last p0006 c_1 pn-begda pn-endda.
IF pnp-sw-found = c_1.
w_final-pstlz = p0006-pstlz.
ENDIF.
*&---------------------------------------------------------------------
*& Get Basic Pay details
rp-
provide-from-last p0008 space pn-begda pn-endda.
IF pnp-sw-found = c_1.
w_final-ansal = p0008-ansal.
"Annual salary
ENDIF.
*&---------------------------------------------------------------------
*& Get Email details
rp-
provide-from-last p0105 c_0010 pn-begda pn-endda.
IF pnp-sw-found = c_1.
w_final-usrid_long = p0105-usrid_long.
"Email
ENDIF.
*&---------------------------------------------------------------------
*& Append work area
IF w_final-dat01 ISNOTINITIAL.
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.
APPEND w_final TO i_final.
CLEAR w_final.
ENDIF.
*&**********************************************************************
*&    END-OF-SELECTION
*&**********************************************************************
END-OF-SELECTION.
IF i_final ISNOTINITIAL.
PERFORM  build_fieldcatalog.
PERFORM  set_layout.
PERFORM  display_alv_report.
ELSE.
MESSAGEtext-046  TYPE c_i.
ENDIF.

 
 

 

TOP

*&---------------------------------------------------------------------*
*&  Include           ZHCM_ASMNT1PNP_TOP
*&---------------------------------------------------------------------*

TYPE-POOLS: slis.
TABLES: pernr.
INFOTYPES: 0000, 0001, 0002, 0006, 0008, 0041, 0105.
*&---------------------------------------------------------------------*
TYPES:
*&---------------------------------------------------------------------*
*&     Date text
BEGINOF t_t548t,
datar    
TYPE  datar,
dtext    
TYPE datax,
ENDOF   t_t548t,
*&---------------------------------------------------------------------*
*&     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,
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_t529t  TYPESTANDARDTABLEOF t_t529t,
i_t530t 
TYPESTANDARDTABLEOF t_t530t,
i_t513s 
TYPESTANDARDTABLEOF t_t513s,
i_final 
TYPESTANDARDTABLEOF t_final,
i_t548t 
TYPESTANDARDTABLEOF t_t548t.
DATA: i_fieldcatalog TYPETABLEOF slis_fieldcat_alv,
w_fieldcatalog
TYPE slis_fieldcat_alv,
v_repid    
LIKE sy-repid,
v_gridtitle
TYPE lvc_title,
w_layout
TYPE slis_layout_alv.
DATA : v_colpos TYPEiVALUE  1.
*&**********************************************************************
*&   Constants
*&**********************************************************************
CONSTANTS : c_x TYPEcVALUE'X',
c_h
TYPEcVALUE'H',
c_i
TYPEcVALUE'I',
c_s
TYPEcVALUE'S',
c_1
TYPEcVALUE'1',
c_2
TYPEcVALUE'2',
c_u1
TYPE char02 VALUE'U1',
c_16
TYPE char02 VALUE'16',
c_0010
TYPE char04 VALUE'0010'.

 
 

 

FORM

*&---------------------------------------------------------------------*
*&  Include           ZHCM_ASMNT1PNP_FORM
*&---------------------------------------------------------------------*
*----------------------------------------------------------------------*
* Form build_fieldcatalog *
*----------------------------------------------------------------------*
* This form is used set field catalog
*----------------------------------------------------------------------*
FORM build_fieldcatalog .
* SET Field Catalog
PERFORM set_fieldcatalog USINGtext-019text-001,
text-020text-018,
text-021text-002,
text-022text-003,
text-023text-004,
text-024text-005,
text-025text-006,
text-026text-007,
text-027text-008,
text-028text-009,
text-029text-010,
text-030text-011,
text-031text-012,
text-032text-013,
text-033text-014,
text-034text-015,
text-035text-016,
text-036text-017.
ENDFORM.                    " BUILD_FIELDCATALOG
*----------------------------------------------------------------------*
* Form display_alv_report *
*----------------------------------------------------------------------*
* This form is used to display report
*----------------------------------------------------------------------*
FORM display_alv_report .
v_gridtitle =
text-042.
* ALV GRID DISPLAY Function Module call---------------------------------
CALLFUNCTION'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program     = v_repid
i_callback_top_of_page =
'TOP_OF_PAGE'
it_fieldcat            = i_fieldcatalog
is_layout              = w_layout
i_grid_title           = v_gridtitle
TABLES
t_outtab               = i_final
EXCEPTIONS
program_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.
ENDFORM.                    "display_alv_report

*----------------------------------------------------------------------*
* Form set_fieldcatalog *
*----------------------------------------------------------------------*
* This form is used to set field catalog
*----------------------------------------------------------------------*
FORM set_fieldcatalog  USING p_field type slis_fieldname
p_seltext
type SCRTEXT_M .
CLEAR  w_fieldcatalog.
w_fieldcatalog-fieldname   = p_field.
w_fieldcatalog-seltext_m   = p_seltext.
w_fieldcatalog-col_pos     = v_colpos.
w_fieldcatalog-do_sum      = c_x.
APPEND w_fieldcatalog TO i_fieldcatalog.
v_colpos = v_colpos +
1.
ENDFORM.                    " set_fieldcatalog
*----------------------------------------------------------------------*
* Form set_layout *
*----------------------------------------------------------------------*
* This form is used to set report layout
*----------------------------------------------------------------------*
FORM set_layout.
w_layout-no_hotspot = c_x.
w_layout-zebra  = c_x.
w_layout-colwidth_optimize = c_x.
ENDFORM.                    "set_layout

*----------------------------------------------------------------------*
* top_of_page *
*----------------------------------------------------------------------*
* This form is used to set top of page
*----------------------------------------------------------------------*
FORM top_of_page.
DATA : li_header TYPETABLEOF slis_listheader,
lw_header
TYPE slis_listheader,
lv_count
TYPEi,
lv_date
TYPE char10.
lw_header-info =
text-042.
lw_header-
key = text-045.
lw_header-typ = c_h.
APPEND lw_header TO li_header.
CLEAR lw_header.
DESCRIBETABLE i_final LINES lv_count.
WRITE lv_count TO lw_header-info.
"lw_header-info = lv_date.
lw_header-
key = text-043.
lw_header-typ = c_s.
APPEND lw_header TO li_header.
CLEAR lw_header.
WRITE: sy-datum TO lv_date USINGEDITMASK'__/__/____'.
lw_header-info = lv_date.
lw_header-
key = text-044.
lw_header-typ = c_s.
APPEND lw_header TO li_header.
CALLFUNCTION'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = li_header.
ENDFORM.                    "TOP_OF_PAGE
*&---------------------------------------------------------------------*
*&      Form  GET_TEXTS
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM get_texts .
*&---------------------------------------------------------------------*
*& Get Date text
SELECT datar dtext
FROM t548t
INTOTABLE i_t548t
WHERE sprsl = sy-langu AND ( datar = c_u1 OR datar = c_16 ).
*&---------------------------------------------------------------------*
*& Get Job title
SELECT stell stltx endda begda
FROM t513s
INTOTABLE i_t513s
WHERE sprsl = sy-langu.
*&---------------------------------------------------------------------
*& Action Texts
SELECT massn mntxt
INTOTABLE i_t529t
FROM t529t
WHERE  sprsl = sy-langu.
*&---------------------------------------------------------------------
*& Reason for Action Texts
SELECT massn massg mgtxt
INTOTABLE i_t530t
FROM t530t
WHERE sprsl = sy-langu.
ENDFORM.                    " GET_TEXTS


Viewing all articles
Browse latest Browse all 672

Trending Articles



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