REPORT report.
INCLUDE zpautreport_top.
DATA: lv_continue TYPE char1.
* At Selection screen output
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF rb_all EQ
'X'.
screen-active
= '1'.
MODIFY
SCREEN.
ELSEIF rb_pa EQ
'X'.
IF
screen-group1 EQ 'TA' OR screen-group1 EQ 'CMA'.
screen-active = '0'.
ELSE.
screen-active = '1'.
ENDIF.
MODIFY
SCREEN.
ELSEIF rb_ta EQ
'X'.
IF
screen-group1 EQ 'PA' OR screen-group1 EQ 'CMA'.
screen-active = '0'.
ELSE.
screen-active = '1'.
ENDIF.
MODIFY
SCREEN.
ELSEIF rb_cma
EQ 'X'.
IF
screen-group1 EQ 'PA' OR screen-group1 EQ 'TA'.
screen-active
= '0'.
ELSE.
screen-active = '1'.
ENDIF.
MODIFY
SCREEN.
ENDIF.
ENDLOOP.
************START-OF-SELECTION********************
START-OF-SELECTION.
SELECT * FROM
zsft_user_actor INTO TABLE gt_user_actor
WHERE bname IN s_bname
AND actor IN
s_actor
AND start_date
IN s_begda
AND end_date IN
s_endda.
IF NOT
gt_user_actor[] IS INITIAL.
SELECT * FROM
zsft_actor_t INTO TABLE gt_actort
FOR
ALL ENTRIES IN gt_user_actor
WHERE actor =
gt_user_actor-actor
AND spras =
sy-langu.
IF rb_all EQ
'X' OR rb_pa EQ 'X'.
SELECT * FROM
zsft_user_popul INTO TABLE gt_user_popul
FOR
ALL ENTRIES IN gt_user_actor
WHERE uname = gt_user_actor-bname
AND
actor = gt_user_actor-actor
AND
pop_ia IN s_pop_ia
AND pop_ic IN s_pop_ic
AND
pop_pa IN s_pop_pa
AND
pop_pc IN s_pop_pc
AND
begda IN s_begda
AND
endda IN s_endda.
SELECT * FROM
zpftpopulation_t INTO TABLE gt_popul_t." WHERE spras = sy-langu.
ENDIF.
IF rb_all EQ
'X' OR rb_pa EQ 'X' OR rb_ta EQ 'X'.
SELECT * FROM
zsft_user_populf INTO TABLE gt_user_populf
FOR
ALL ENTRIES IN gt_user_actor
WHERE uname = gt_user_actor-bname
AND
actor = gt_user_actor-actor
AND
begda IN s_begda
AND
endda IN s_endda.
SELECT * FROM
hrp1001 INTO TABLE gt_1001_ta
WHERE plvar =
gc_plvar
AND otype = 'O'
AND rsign = 'A'
AND ( relat EQ
'ZRF' OR
relat EQ
'ZAF' OR
relat EQ
'ZSF' OR
relat EQ
'ZGF' OR
relat EQ
'ZAR' )
AND ( sclas = 'P'
OR sclas = 'H' )
AND begda IN
s_tbegda
AND endda IN
s_tendda.
SELECT * FROM
hrp1001 INTO TABLE gt_1001_p
WHERE plvar =
gc_plvar
AND otype = '9P'
AND rsign = 'B'
AND relat EQ 'ZCP'
AND ( sclas = 'P'
OR sclas = 'H' )
AND begda IN
s_pbegda
AND endda IN
s_pendda.
SELECT * FROM
hrp1000 INTO TABLE gt_1000
WHERE
plvar = gc_plvar
AND ( otype = 'O' OR otype =
'9P' )
AND begda LE sy-datum
AND endda GE sy-datum.
ENDIF.
IF rb_all EQ 'X' OR rb_cma EQ 'X'.
SELECT * FROM
hrp1001 INTO TABLE gt_1001
WHERE plvar =
gc_plvar
AND otype = 'S'
AND rsign = 'A'
AND relat EQ 'ZAC'
AND ( sclas = 'P'
OR sclas = 'H' )
AND begda IN
s_cbegda
AND endda IN
s_cendda.
ENDIF.
ENDIF.
SELECT * FROM
zsft_scrn_maintn INTO TABLE gt_sft_scrn_maintn
WHERE actor_id
IN s_actor
AND screen EQ
'2' OR screen EQ '3'.
SELECT * FROM
hrp9314 INTO TABLE gt_9314
WHERE plvar = gc_plvar
AND otype = 'H'
AND begda LE
sy-datum
AND endda GE
sy-datum.
SORT
gt_user_actor BY bname actor.
SORT gt_actort BY
actor.
SORT
gt_user_popul BY uname actor.
SORT
gt_user_populf BY uname actor.
SORT gt_popul_t
BY population.
SORT gt_user_popul BY begda DESCENDING.
DATA lv_tabnr
TYPE hrtabnr.
DATA lv_tseqnr
TYPE hrtabseqnr.
REFRESH:
gt_population_actors[],
gt_training_actors[],
gt_cma[],
gt_all[].
DATA: lv_pernr
TYPE p0105-pernr,
lv_user
TYPE p0105-usrid.
DATA: lv_usr TYPE
syuname.
DATA: lv_relat
TYPE hrp1001-relat.
DATA: lv_bname
TYPE usr01-bname.
DATA lv_pos TYPE
hrp1001-objid.
DATA:
lv_uname2 TYPE syuname,
lt_objects TYPE STANDARD TABLE
OF hrobject,
lwa_objects TYPE hrobject,
lv_objid_h TYPE hrobject,
lv_person TYPE char1,
lv_ex_person
TYPE char1.
LOOP AT
gt_user_actor INTO gwa_user_actor.
CLEAR
lv_continue.
CLEAR
gwa_common_data.
CLEAR
gwa_population_actors.
CLEAR
gwa_training_actors.
CLEAR gwa_cma.
gwa_common_data-bname = gwa_user_actor-bname.
CLEAR: lv_pernr,
lv_user.
lv_user =
gwa_common_data-bname.
CALL FUNCTION
'RP_GET_PERNR_FROM_USERID'
EXPORTING
begda = sy-datum
endda = sy-datum
usrid = lv_user
usrty = 'US'
IMPORTING
usr_pernr =
lv_pernr
EXCEPTIONS
retcd = 1
OTHERS = 2.
IF sy-subrc
<> 0.
CLEAR
lv_uname2.
lv_uname2 =
lv_user.
REFRESH:
lt_objects[].
CALL FUNCTION
'ZPACTIN_RH_GET_H_FROM_USER'
EXPORTING
*
I77PR =
uname = lv_uname2
TABLES
obj_tab =
lt_objects.
READ TABLE
lt_objects INTO lwa_objects
WITH KEY
otype = 'H'.
IF sy-subrc =
0.
CLEAR:
lv_objid_h,
lv_ex_person.
lv_objid_h
= lwa_objects-objid.
*
-------------------------------------------
lv_pernr =
lwa_objects-objid.
*
-------------------------------------------
lv_ex_person = 'X'.
READ TABLE
gt_9314 INTO gwa_9314 WITH KEY objid = lwa_objects-objid.
IF sy-subrc
EQ 0.
gwa_common_data-name1 = gwa_9314-vorna.
gwa_common_data-name2 = gwa_9314-nachn.
ENDIF.
ENDIF.
ELSE.
CLEAR lv_person.
lv_person =
'X'.
* Get User's Last Name and First Name
REFRESH:
gt_usr03[],
gt_addr[].
CALL FUNCTION
'SUSR_USER_ADDRESS_READ'
EXPORTING
user_name =
gwa_common_data-bname
* READ_DB_DIRECTLY = ' '
*
CACHE_RESULTS = 'X'
IMPORTING
user_address = gwa_addr
user_usr03 = gwa_usr03
EXCEPTIONS
user_address_not_found = 1
OTHERS = 2.
IF sy-subrc
EQ 0.
gwa_common_data-name1 = gwa_usr03-name1.
gwa_common_data-name2 = gwa_usr03-name2.
ENDIF.
ENDIF.
*Start date
gwa_common_data-begda = gwa_user_actor-start_date.
* End date
gwa_common_data-endda = gwa_user_actor-end_date.
gwa_common_data-actor = gwa_user_actor-actor.
READ TABLE
gt_actort INTO gwa_actort WITH KEY actor = gwa_user_actor-actor BINARY SEARCH.
IF sy-subrc EQ
0.
* Actor Description.
gwa_common_data-text
= gwa_actort-text.
ENDIF.
IF rb_all EQ
'X' OR rb_pa EQ 'X' OR rb_ta EQ 'X' .
IF rb_all EQ
'X' OR rb_pa EQ 'X'.
* Population Actor table
READ TABLE
gt_user_popul INTO gwa_user_popul WITH KEY uname = gwa_user_actor-bname actor =
gwa_user_actor-actor.
IF sy-subrc
EQ 0.
MOVE-CORRESPONDING gwa_common_data TO gwa_population_actors.
gwa_population_actors-pop_ia = gwa_user_popul-pop_ia.
READ
TABLE gt_popul_t INTO gwa_popul_t WITH KEY population =
gwa_population_actors-pop_ia.
IF
sy-subrc EQ 0.
gwa_population_actors-ia_pop_name = gwa_popul_t-pop_name.
ENDIF.
gwa_population_actors-pop_ic = gwa_user_popul-pop_ic.
READ
TABLE gt_popul_t INTO gwa_popul_t WITH KEY population =
gwa_population_actors-pop_ic.
IF
sy-subrc EQ 0.
gwa_population_actors-ic_pop_name = gwa_popul_t-pop_name.
ENDIF.
gwa_population_actors-pop_pa = gwa_user_popul-pop_pa.
READ
TABLE gt_popul_t INTO gwa_popul_t WITH KEY population =
gwa_population_actors-pop_pa.
IF
sy-subrc EQ 0.
gwa_population_actors-pa_pop_name = gwa_popul_t-pop_name.
ENDIF.
gwa_population_actors-pop_pc
= gwa_user_popul-pop_pc.
READ
TABLE gt_popul_t INTO gwa_popul_t WITH KEY population =
gwa_population_actors-pop_pc.
IF
sy-subrc EQ 0.
gwa_population_actors-pc_pop_name = gwa_popul_t-pop_name.
ENDIF.
ELSE.
IF rb_pa
EQ 'X'.
CONTINUE.
ENDIF.
ENDIF.
ENDIF.
CLEAR
lv_no_flag.
IF ck_np10 NE
'X' AND ck_sexec NE 'X' AND ck_hra NE 'X' AND ck_spos NE 'X' AND ck_mgc NE 'X'.
lv_no_flag
= 'X'.
ENDIF.
READ TABLE
gt_user_populf INTO gwa_user_populf WITH KEY uname = gwa_user_actor-bname actor
= gwa_user_actor-actor BINARY SEARCH.
IF sy-subrc
EQ 0.
IF ck_np10
EQ 'X' AND gwa_user_populf-executive IS NOT INITIAL.
lv_no_flag = 'X'.
ENDIF.
IF ck_sexec
EQ 'X' AND gwa_user_populf-senior_exec IS NOT INITIAL.
lv_no_flag = 'X'.
ENDIF.
IF ck_hra
EQ 'X' AND gwa_user_populf-hr_actor IS NOT INITIAL.
lv_no_flag = 'X'.
ENDIF.
IF ck_spos
EQ 'X' AND gwa_user_populf-sensitive_pos IS NOT INITIAL.
lv_no_flag = 'X'.
ENDIF.
IF ck_mgc
EQ 'X' AND gwa_user_populf-managed_contrac IS NOT INITIAL.
lv_no_flag = 'X'.
ENDIF.
gwa_population_actors-executive = gwa_user_populf-executive.
gwa_population_actors-senior_exec = gwa_user_populf-senior_exec.
gwa_population_actors-hr_actor = gwa_user_populf-hr_actor.
gwa_population_actors-sensitive_pos = gwa_user_populf-sensitive_pos.
gwa_population_actors-managed_contrac = gwa_user_populf-managed_contrac.
ENDIF.
IF lv_no_flag
EQ 'X'.
MOVE-CORRESPONDING gwa_population_actors TO gwa_all.
APPEND
gwa_population_actors TO gt_population_actors.
ELSE.
CONTINUE.
ENDIF.
CLEAR
gwa_population_actors.
ENDIF.
IF rb_all EQ
'X' OR rb_ta EQ 'X'.
CLEAR
lv_no_flag.
IF ck_nphp EQ
'X' AND gwa_user_populf-nphp IS NOT INITIAL.
lv_no_flag
= 'X'.
ENDIF.
IF ck_nphp NE
'X'.
lv_no_flag
= 'X'.
ENDIF.
READ TABLE
gt_sft_scrn_maintn INTO gwa_sft_scrn_maintn WITH KEY actor_id =
gwa_user_actor-actor screen = '2'.
IF sy-subrc
EQ 0.
CLEAR
lv_relat.
IF
gwa_common_data-actor EQ 'TM'.
lv_relat
= 'ZRF'.
ELSEIF
gwa_common_data-actor EQ 'TA'.
lv_relat
= 'ZAF'.
ELSEIF
gwa_common_data-actor EQ 'STM'.
lv_relat
= 'ZSF'.
ELSEIF
gwa_common_data-actor EQ 'TSP'.
lv_relat
= 'ZGF'.
ELSEIF
gwa_common_data-actor EQ 'ARC'.
lv_relat
= 'ZAR'.
ENDIF.
LOOP AT
gt_1001_ta INTO gwa_1001_ta WHERE relat = lv_relat AND sobid = lv_pernr.
lv_continue = 'X'.
IF
ck_nphp EQ 'X' AND gwa_user_populf-nphp IS INITIAL.
CONTINUE.
ENDIF.
gwa_training_actors-nphp = gwa_user_populf-nphp.
MOVE-CORRESPONDING gwa_common_data TO gwa_training_actors.
gwa_training_actors-tdept = gwa_1001_ta-objid.
IF NOT
gwa_training_actors-tdept IN s_tdept.
CONTINUE.
ENDIF.
gwa_training_actors-tr_begda = gwa_1001_ta-begda.
gwa_training_actors-tr_endda = gwa_1001_ta-endda.
*** TDEPT DESCRIPTION
READ
TABLE gt_1000 INTO gwa_1000 WITH KEY objid = gwa_training_actors-tdept.
IF
sy-subrc EQ 0.
gwa_training_actors-o_tline = gwa_1000-stext.
ENDIF.
IF
lv_no_flag = 'X'.
IF NOT
gwa_training_actors-tdept IN s_tdept OR NOT gwa_training_actors-pool IN s_pool.
CLEAR
gwa_training_actors.
CONTINUE.
ENDIF.
MOVE-CORRESPONDING gwa_training_actors TO gwa_all.
APPEND
gwa_training_actors TO gt_training_actors.
CLEAR
gwa_training_actors.
MOVE-CORRESPONDING gwa_common_data TO gwa_all.
APPEND
gwa_all TO gt_all.
CLEAR
gwa_all.
ENDIF.
ENDLOOP.
IF
lv_continue IS INITIAL.
IF
gwa_training_actors-tdept IN s_tdept." AND NOT gwa_training_actors-tdept
IS INITIAL.
IF
ck_nphp EQ 'X' AND gwa_user_populf-nphp IS INITIAL.
CONTINUE.
ENDIF.
gwa_training_actors-nphp = gwa_user_populf-nphp.
MOVE-CORRESPONDING gwa_common_data TO gwa_training_actors.
MOVE-CORRESPONDING gwa_training_actors TO gwa_all.
APPEND gwa_training_actors TO
gt_training_actors.
CLEAR
gwa_training_actors.
MOVE-CORRESPONDING gwa_common_data TO gwa_all.
APPEND
gwa_all TO gt_all.
CLEAR
gwa_all.
CLEAR
lv_continue.
CONTINUE.
ENDIF.
ENDIF.
** POOL
LOOP AT
gt_1001_p INTO gwa_1001_p WHERE sobid = lv_pernr.
lv_continue = 'X'.
IF
ck_nphp EQ 'X' AND gwa_user_populf-nphp IS INITIAL.
CONTINUE.
ENDIF.
gwa_training_actors-nphp = gwa_user_populf-nphp.
MOVE-CORRESPONDING gwa_common_data TO gwa_training_actors.
gwa_training_actors-pool = gwa_1001_p-objid.
IF NOT
gwa_training_actors-pool IN s_pool.
CONTINUE.
ENDIF.
gwa_training_actors-p_begda = gwa_1001_p-begda.
gwa_training_actors-p_endda = gwa_1001_p-endda.
*** POOL DESCRIPTION
READ
TABLE gt_1000 INTO gwa_1000 WITH KEY objid = gwa_training_actors-pool.
IF
sy-subrc EQ 0.
gwa_training_actors-p_tline = gwa_1000-stext.
ENDIF.
IF
lv_no_flag = 'X'.
IF NOT
gwa_training_actors-pool IN s_pool OR NOT gwa_training_actors-tdept IN s_tdept.
CONTINUE.
ENDIF.
MOVE-CORRESPONDING gwa_training_actors TO gwa_all.
APPEND
gwa_training_actors TO gt_training_actors.
CLEAR
gwa_training_actors.
MOVE-CORRESPONDING gwa_common_data TO gwa_all.
APPEND
gwa_all TO gt_all.
CLEAR
gwa_all.
CONTINUE.
ENDIF.
ENDLOOP.
IF
lv_continue IS INITIAL.
IF
gwa_training_actors-pool IN s_pool." AND NOT gwa_training_actors-pool IS
INITIAL.
IF ck_nphp EQ 'X' AND
gwa_user_populf-nphp IS INITIAL.
CONTINUE.
ENDIF.
gwa_training_actors-nphp = gwa_user_populf-nphp.
* IF
lv_no_flag = 'X'.
MOVE-CORRESPONDING gwa_common_data TO gwa_training_actors.
MOVE-CORRESPONDING gwa_training_actors TO gwa_all.
APPEND
gwa_training_actors TO gt_training_actors.
CLEAR
gwa_training_actors.
MOVE-CORRESPONDING gwa_common_data TO gwa_all.
APPEND
gwa_all TO gt_all.
CLEAR
gwa_all.
CLEAR
lv_continue.
CONTINUE.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
IF rb_all EQ
'X' OR rb_cma EQ 'X'.
READ TABLE
gt_sft_scrn_maintn INTO gwa_sft_scrn_maintn WITH KEY actor_id =
gwa_user_actor-actor screen = '3'.
IF sy-subrc
EQ 0.
CLEAR
lv_pos.
IF
lv_person EQ 'X'.
SELECT
SINGLE plans FROM pa0001 INTO lv_pos WHERE pernr = lv_pernr AND begda LE
sy-datum AND endda GE sy-datum.
IF
sy-subrc EQ 0.
LOOP AT
gt_1001 INTO gwa_1001 WHERE objid = lv_pos.
MOVE-CORRESPONDING gwa_common_data TO gwa_cma.
gwa_cma-objid = gwa_1001-sobid.
IF
NOT gwa_cma-objid IN s_objid.
CONTINUE.
ENDIF.
IF
rb_cma EQ 'X'.
IF
gwa_cma-objid IS INITIAL.
CONTINUE.
ENDIF.
ENDIF.
gwa_cma-cm_begda = gwa_1001-begda.
gwa_cma-cm_endda = gwa_1001-endda.
CLEAR: lv_usr.
CALL
FUNCTION 'CATSXT_GET_USER_ID_OF_PERNR'
EXPORTING
im_personnel_number = gwa_cma-objid
IMPORTING
ex_user_id = lv_usr
EXCEPTIONS
failed = 1
OTHERS = 2.
IF
sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
* Get User's Last Name and First Name
REFRESH: gt_usr03[],
gt_addr[].
CLEAR
lv_bname.
lv_bname = lv_usr.
CALL
FUNCTION 'SUSR_USER_ADDRESS_READ'
EXPORTING
user_name = lv_bname
*
READ_DB_DIRECTLY = ' '
*
CACHE_RESULTS = 'X'
IMPORTING
user_address = gwa_addr
user_usr03 = gwa_usr03
EXCEPTIONS
user_address_not_found = 1
OTHERS = 2.
IF
sy-subrc EQ 0.
gwa_cma-cm_name1 = gwa_usr03-name1.
gwa_cma-cm_name2 = gwa_usr03-name2.
ENDIF.
MOVE-CORRESPONDING gwa_cma TO gwa_all.
APPEND gwa_cma TO gt_cma.
CLEAR
gwa_cma.
MOVE-CORRESPONDING gwa_common_data TO gwa_all.
APPEND gwa_all TO gt_all.
CLEAR
gwa_all.
ENDLOOP.
IF
sy-subrc NE 0.
IF
gwa_cma-objid IN s_objid.
MOVE-CORRESPONDING gwa_common_data TO gwa_cma.
APPEND gwa_cma TO gt_cma.
CLEAR gwa_cma.
MOVE-CORRESPONDING gwa_common_data TO gwa_all.
APPEND gwa_all TO gt_all.
CLEAR gwa_all.
ENDIF.
ENDIF.
ENDIF.
ELSEIF lv_ex_person
EQ 'X'.
*
lv_objid_h
MOVE-CORRESPONDING gwa_common_data TO gwa_cma.
DATA:
gt_1001_h TYPE TABLE OF hrp1001,
gwa_1001_h TYPE hrp1001.
DATA:
lv_cma TYPE hrp1001-sobid.
SELECT
SINGLE * FROM hrp1001 INTO gwa_1001_h
WHERE objid = lv_objid_h
AND plvar = gc_plvar
AND otype = 'H'
AND rsign = 'A'
AND relat EQ 'ZAC'
AND sclas = 'H'
AND begda IN s_pbegda
AND endda IN s_pendda.
IF
sy-subrc EQ 0.
gwa_cma-objid = gwa_1001_h-sobid.
gwa_cma-cm_begda
= gwa_1001_h-begda.
gwa_cma-cm_endda = gwa_1001_h-endda.
* Get First name and Last name of CMA of External Person.
READ
TABLE gt_9314 INTO gwa_9314 WITH KEY objid = gwa_1001_h-sobid.
IF
sy-subrc EQ 0.
gwa_cma-cm_name1 = gwa_9314-vorna.
gwa_cma-cm_name2 = gwa_9314-nachn.
ENDIF.
MOVE-CORRESPONDING gwa_cma TO gwa_all.
APPEND
gwa_cma TO gt_cma.
CLEAR
gwa_cma.
MOVE-CORRESPONDING gwa_common_data TO gwa_all.
APPEND
gwa_all TO gt_all.
CLEAR
gwa_all.
ENDIF.
ENDIF.
ELSE.
IF
gwa_common_data-actor EQ 'TM' OR gwa_common_data-actor EQ 'TA'
OR gwa_common_data-actor EQ 'STM' OR gwa_common_data-actor EQ 'TSP' OR
gwa_common_data-actor EQ 'ARC'."lv_relat.
CONTINUE.
ENDIF.
* IF
lv_ex_person EQ 'X'.
*
MOVE-CORRESPONDING gwa_common_data TO gwa_all.
* APPEND
gwa_all TO gt_all.
* CLEAR
gwa_all.
* ENDIF.
* IF
lv_person EQ 'X'.
MOVE-CORRESPONDING gwa_common_data TO gwa_all.
APPEND
gwa_all TO gt_all.
CLEAR
gwa_all.
* ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
END-OF-SELECTION.
CALL SCREEN 100.
*&---------------------------------------------------------------------*
*&
Module ALV_GRID_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE alv_grid_0100 OUTPUT.
PERFORM free.
IF
go_custom_container_100 IS INITIAL.
CREATE OBJECT
go_custom_container_100
EXPORTING
container_name = 'GV_CONTAINER'.
ENDIF.
CLEAR
go_grid_100.
IF go_grid_100 IS
INITIAL.
CREATE OBJECT
go_grid_100
EXPORTING
i_parent =
go_custom_container_100.
ENDIF.
PERFORM
build_fieldcat_100.
IF rb_all EQ 'X'.
gs_layout_100-grid_title = 'All Fields'. "#EC NOTEXT
PERFORM
outputlog_alv_disp CHANGING gt_all.
ELSEIF rb_pa EQ
'X'.
gs_layout_100-grid_title = 'PA'.
PERFORM
outputlog_alv_disp CHANGING gt_population_actors.
ELSEIF rb_ta EQ
'X'.
gs_layout_100-grid_title = 'TA'.
PERFORM
outputlog_alv_disp CHANGING gt_training_actors.
ELSEIF rb_cma EQ
'X'.
gs_layout_100-grid_title = 'CMA'.
PERFORM outputlog_alv_disp
CHANGING gt_cma.
ENDIF.
ENDMODULE.
" ALV_GRID_0100 OUTPUT
*&---------------------------------------------------------------------*
*&
Form FREE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM free .
IF go_grid_100 IS
NOT INITIAL.
CALL METHOD
go_grid_100->free
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc NE
0.
MESSAGE ID
sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH
sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
FREE
go_grid_100.
ENDIF.
ENDIF.
IF
go_custom_container_100 IS NOT INITIAL.
CALL METHOD
go_custom_container_100->free
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc NE
0.
MESSAGE ID
sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1
sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
FREE
go_custom_container_100.
ENDIF.
ENDIF.
ENDFORM. " FREE
*&---------------------------------------------------------------------*
*&
Form BUILD_FIELDCAT_100
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM build_fieldcat_100 .
DATA:ls_fcat TYPE lvc_s_fcat.
REFRESH
gt_fieldcat_100.
IF rb_all EQ
'X'. "All radiobutton(Common data)
ls_fcat-col_pos = 1.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'BNAME'.
ls_fcat-coltext = 'IGG'(008).
ls_fcat-outputlen = 10.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 2.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'NAME2'.
ls_fcat-coltext = 'Name'(009).
ls_fcat-outputlen = 20.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 3.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'NAME1'.
ls_fcat-coltext = 'First
name'(010).
ls_fcat-outputlen = 20.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 4.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'ACTOR'.
ls_fcat-coltext = 'Actor'(011).
ls_fcat-outputlen = 10.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 5.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'TEXT'.
ls_fcat-coltext = 'Actor
description'(012).
ls_fcat-outputlen = 20.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 6.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'BEGDA'.
ls_fcat-coltext = 'Start
date'(013).
ls_fcat-outputlen = 11.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 7.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'ENDDA'.
ls_fcat-coltext = 'End
date'(014).
ls_fcat-outputlen = 10.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 8. "All
radiobutton(Population output)
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'POP_IA'.
ls_fcat-coltext = 'IA object
ID'(015).
ls_fcat-outputlen = 13.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 9.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname =
'IA_POP_NAME'.
ls_fcat-coltext = 'IA Population description'(016).
ls_fcat-outputlen = 26.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 10.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'POP_IC'.
ls_fcat-coltext = 'IC object
ID'(017).
ls_fcat-outputlen = 13.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 11.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname =
'IC_POP_NAME'.
ls_fcat-coltext = 'IC Population description'(018).
ls_fcat-outputlen = 27.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 12.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'POP_PA'.
ls_fcat-coltext = 'PA object
ID'(019).
ls_fcat-outputlen = 13.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 13.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname =
'PA_POP_NAME'.
ls_fcat-coltext = 'PA
Population description'(020).
ls_fcat-outputlen = 30.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 14.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'POP_PC'.
ls_fcat-coltext = 'PC object ID'(021).
ls_fcat-outputlen = 12.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 15.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname =
'PC_POP_NAME'.
ls_fcat-coltext = 'PC
Population description'(022).
ls_fcat-outputlen = 27.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 16.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'EXECUTIVE'.
ls_fcat-coltext = 'NP 10
+'(023).
ls_fcat-outputlen = 8.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 17.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname =
'SENIOR_EXEC'.
ls_fcat-coltext = 'Senior
Executive'(024).
ls_fcat-outputlen = 15.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 18.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'HR_ACTOR'.
ls_fcat-coltext = 'HR
Domain'(025).
ls_fcat-outputlen = 10.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 19.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname =
'SENSITIVE_POS'.
ls_fcat-coltext =
'Sensitive'(026).
ls_fcat-outputlen = 9.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 20.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname =
'MANAGED_CONTRAC'.
ls_fcat-coltext = 'Managed
contractor'(027).
ls_fcat-outputlen = 18.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 21. "All radiobutton(Training output)
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'TDEPT'.
ls_fcat-coltext = 'Training Service
object ID'(028).
ls_fcat-outputlen = 24.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 22.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'O_TLINE'.
ls_fcat-coltext = 'O object
description'(029).
ls_fcat-outputlen = 20.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 23.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'TR_BEGDA'.
ls_fcat-coltext = 'Start date
training service'(030).
ls_fcat-outputlen = 23.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 24.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'TR_ENDDA'.
ls_fcat-coltext = 'End date training service'(031).
ls_fcat-outputlen = 23.
*
ls_fcat-coltext = 'Training End
date'(031).
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 25.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'NPHP'.
ls_fcat-coltext = 'NP/HP'(032).
ls_fcat-outputlen = 7.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 26.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'POOL'.
ls_fcat-coltext = 'Pool
Assignment object ID'(033).
ls_fcat-outputlen = 24.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 27.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'P_TLINE'.
ls_fcat-coltext = 'Pool
description'(034).
ls_fcat-outputlen = 20.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 28.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'P_BEGDA'.
ls_fcat-coltext = 'Start Date
pool assignment'(035).
ls_fcat-outputlen = 22.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 29.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'P_ENDDA'.
ls_fcat-coltext = 'End date
pool assignment'(036).
ls_fcat-outputlen = 22.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 30.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'OBJID'.
ls_fcat-coltext = 'Career manager'(037).
ls_fcat-outputlen = 15.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 31.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'CM_NAME2'.
ls_fcat-coltext = 'Name of the
CM'(038).
ls_fcat-outputlen = 20.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 32.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'CM_NAME1'.
ls_fcat-coltext = 'First name
of CM'(039).
ls_fcat-outputlen = 20.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 33.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'CM_BEGDA'.
ls_fcat-coltext = 'Start date of the relationship'(040).
ls_fcat-outputlen = 24.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 34.
ls_fcat-tabname = 'GT_ALL'.
ls_fcat-fieldname = 'CM_ENDDA'.
ls_fcat-coltext = 'End date of the relationship'(041).
ls_fcat-outputlen = 24.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ELSEIF rb_pa EQ
'X'. "Check only Population actors
ls_fcat-col_pos = 1.
ls_fcat-tabname =
'GT_POPULATION_ACTORS'.
ls_fcat-fieldname = 'BNAME'.
ls_fcat-coltext = 'IGG'(008).
ls_fcat-outputlen = 10.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 2.
ls_fcat-tabname = 'GT_POPULATION_ACTORS'.
ls_fcat-fieldname = 'NAME2'.
ls_fcat-coltext = 'Name'(009).
ls_fcat-outputlen = 20.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 3.
ls_fcat-tabname = 'GT_POPULATION_ACTORS'.
ls_fcat-fieldname = 'NAME1'.
ls_fcat-coltext = 'First
name'(010).
ls_fcat-outputlen = 20.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 4.
ls_fcat-tabname =
'GT_POPULATION_ACTORS'.
ls_fcat-fieldname = 'ACTOR'.
ls_fcat-coltext = 'Actor'(011).
ls_fcat-outputlen = 10.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 5.
ls_fcat-tabname =
'GT_POPULATION_ACTORS'.
ls_fcat-fieldname = 'TEXT'.
ls_fcat-coltext = 'Actor
description'(012).
ls_fcat-outputlen = 20.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 6.
ls_fcat-tabname =
'GT_POPULATION_ACTORS'.
ls_fcat-fieldname = 'BEGDA'.
ls_fcat-coltext = 'Start
date'(013).
ls_fcat-outputlen = 11.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 7.
ls_fcat-tabname =
'GT_POPULATION_ACTORS'.
ls_fcat-fieldname = 'ENDDA'.
ls_fcat-coltext = 'End
date'(014).
ls_fcat-outputlen = 11.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 8. "All
radiobutton(Population output)
ls_fcat-tabname =
'GT_POPULATION_ACTORS'.
ls_fcat-fieldname = 'POP_IA'.
ls_fcat-coltext = 'IA object
ID'(015).
ls_fcat-outputlen = 13.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 9.
ls_fcat-tabname =
'GT_POPULATION_ACTORS'.
ls_fcat-fieldname =
'IA_POP_NAME'.
ls_fcat-coltext = 'IA
Population description'(016).
ls_fcat-outputlen = 26.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 10.
ls_fcat-tabname =
'GT_POPULATION_ACTORS'.
ls_fcat-fieldname = 'POP_IC'.
ls_fcat-coltext = 'IC object
ID'(017).
ls_fcat-outputlen = 13.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 11.
ls_fcat-tabname =
'GT_POPULATION_ACTORS'.
ls_fcat-fieldname = 'IC_POP_NAME'.
ls_fcat-coltext = 'IC
Population description'(018).
ls_fcat-outputlen = 27.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 12.
ls_fcat-tabname =
'GT_POPULATION_ACTORS'.
ls_fcat-fieldname = 'POP_PA'.
ls_fcat-coltext = 'PA object
ID'(019).
ls_fcat-outputlen = 13.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 13.
ls_fcat-tabname =
'GT_POPULATION_ACTORS'.
ls_fcat-fieldname =
'PA_POP_NAME'.
ls_fcat-coltext = 'PA
Population description'(020).
ls_fcat-outputlen = 30.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 14.
ls_fcat-tabname =
'GT_POPULATION_ACTORS'.
ls_fcat-fieldname = 'POP_PC'.
ls_fcat-coltext = 'PC object
ID'(021).
ls_fcat-outputlen = 12.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 15.
ls_fcat-tabname =
'GT_POPULATION_ACTORS'.
ls_fcat-fieldname =
'PC_POP_NAME'.
ls_fcat-coltext = 'PC
Population description'(022).
ls_fcat-outputlen = 27.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 16.
ls_fcat-tabname =
'GT_POPULATION_ACTORS'.
ls_fcat-fieldname = 'EXECUTIVE'.
ls_fcat-coltext = 'NP 10
+'(023).
ls_fcat-outputlen = 8.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 17.
ls_fcat-tabname = 'GT_POPULATION_ACTORS'.
ls_fcat-fieldname =
'SENIOR_EXEC'.
ls_fcat-coltext = 'Senior
Executive'(024).
ls_fcat-outputlen = 15.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 18.
ls_fcat-tabname = 'GT_POPULATION_ACTORS'.
ls_fcat-fieldname = 'HR_ACTOR'.
ls_fcat-coltext = 'HR
Domain'(025).
ls_fcat-outputlen = 10.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 19.
ls_fcat-tabname =
'GT_POPULATION_ACTORS'.
ls_fcat-fieldname =
'SENSITIVE_POS'.
ls_fcat-coltext =
'Sensitive'(026).
ls_fcat-outputlen = 9.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 20.
ls_fcat-tabname = 'GT_POPULATION_ACTORS'.
ls_fcat-fieldname =
'MANAGED_CONTRAC'.
ls_fcat-coltext = 'Managed
contractor'(027).
ls_fcat-outputlen = 18.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ELSEIF rb_ta EQ
'X'. "Training actors
ls_fcat-col_pos = 1.
ls_fcat-tabname =
'GT_TRAINING_ACTORS'.
ls_fcat-fieldname = 'BNAME'.
ls_fcat-coltext = 'IGG'(008).
ls_fcat-outputlen = 10.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 2.
ls_fcat-tabname =
'GT_TRAINING_ACTORS'.
ls_fcat-fieldname = 'NAME2'.
ls_fcat-coltext = 'Name'(009).
ls_fcat-outputlen = 20.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos
= 3.
ls_fcat-tabname =
'GT_TRAINING_ACTORS'.
ls_fcat-fieldname = 'NAME1'.
ls_fcat-coltext = 'First
name'(010).
ls_fcat-outputlen = 20.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 4.
ls_fcat-tabname = 'GT_TRAINING_ACTORS'.
ls_fcat-fieldname = 'ACTOR'.
ls_fcat-coltext = 'Actor'(011).
ls_fcat-outputlen = 10.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 5.
ls_fcat-tabname =
'GT_TRAINING_ACTORS'.
ls_fcat-fieldname = 'TEXT'.
ls_fcat-coltext = 'Actor
description'(012).
ls_fcat-outputlen = 20.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 6.
ls_fcat-tabname = 'GT_TRAINING_ACTORS'.
ls_fcat-fieldname = 'BEGDA'.
ls_fcat-coltext = 'Start
date'(013).
ls_fcat-outputlen = 11.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 7.
ls_fcat-tabname = 'GT_TRAINING_ACTORS'.
ls_fcat-fieldname = 'ENDDA'.
ls_fcat-coltext = 'End
date'(014).
ls_fcat-outputlen = 10.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 8. "Training output
ls_fcat-tabname = 'GT_TRAINING_ACTORS'.
ls_fcat-fieldname = 'TDEPT'.
ls_fcat-coltext = 'Training
Service object ID'(028).
ls_fcat-outputlen = 24.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 9.
ls_fcat-tabname =
'GT_TRAINING_ACTORS'.
ls_fcat-fieldname = 'O_TLINE'.
ls_fcat-coltext = 'O object
description'(029).
ls_fcat-outputlen = 20.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 10.
ls_fcat-tabname = 'GT_TRAINING_ACTORS'.
ls_fcat-fieldname = 'TR_BEGDA'.
ls_fcat-coltext = 'Start date
training service'(030).
ls_fcat-outputlen = 23.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 11.
ls_fcat-tabname =
'GT_TRAINING_ACTORS'.
ls_fcat-fieldname = 'TR_ENDDA'.
ls_fcat-coltext = 'End date
training service'(031).
ls_fcat-outputlen = 23.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 12.
ls_fcat-tabname =
'GT_TRAINING_ACTORS'.
ls_fcat-fieldname = 'NPHP'.
ls_fcat-coltext = 'NP/HP'(032).
ls_fcat-outputlen = 7.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos
= 13.
ls_fcat-tabname =
'GT_TRAINING_ACTORS'.
ls_fcat-fieldname = 'POOL'.
ls_fcat-coltext = 'Pool
Assignment object ID'(033).
ls_fcat-outputlen = 24.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 14.
ls_fcat-tabname =
'GT_TRAINING_ACTORS'.
ls_fcat-fieldname = 'P_TLINE'.
ls_fcat-coltext = 'Pool
description'(034).
ls_fcat-outputlen = 20.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 15.
ls_fcat-tabname =
'GT_TRAINING_ACTORS'.
ls_fcat-fieldname =
'P_BEGDA'."'POOL_BEGDA'.
ls_fcat-coltext = 'Start Date
pool assignment'(035).
ls_fcat-outputlen = 22.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 16.
ls_fcat-tabname =
'GT_TRAINING_ACTORS'.
ls_fcat-fieldname =
'P_ENDDA'."'POOL_ENDDA'.
ls_fcat-coltext = 'End date
pool assignment'(036).
ls_fcat-outputlen = 22.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ELSEIF rb_cma EQ
'X'. "Career manager assistant
ls_fcat-col_pos = 1.
ls_fcat-tabname = 'GT_CMA'.
ls_fcat-fieldname = 'BNAME'.
ls_fcat-coltext = 'IGG'(008).
ls_fcat-outputlen = 10.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 2.
ls_fcat-tabname = 'GT_CMA'.
ls_fcat-fieldname = 'NAME2'.
ls_fcat-coltext = 'Name'(009).
ls_fcat-outputlen = 20.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 3.
ls_fcat-tabname = 'GT_CMA'.
ls_fcat-fieldname = 'NAME1'.
ls_fcat-coltext = 'First
name'(010).
ls_fcat-outputlen = 20.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 4.
ls_fcat-tabname = 'GT_CMA'.
ls_fcat-fieldname = 'ACTOR'.
ls_fcat-coltext = 'Actor'(011).
ls_fcat-outputlen = 10.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 5.
ls_fcat-tabname = 'GT_CMA'.
ls_fcat-fieldname = 'TEXT'.
ls_fcat-coltext = 'Actor
description'(012).
ls_fcat-outputlen = 20.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 6.
ls_fcat-tabname
= 'GT_CMA'.
ls_fcat-fieldname = 'BEGDA'.
ls_fcat-coltext = 'Start
date'(013).
ls_fcat-outputlen = 11.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 7.
ls_fcat-tabname = 'GT_CMA'.
ls_fcat-fieldname = 'ENDDA'.
ls_fcat-coltext = 'End
date'(014).
ls_fcat-outputlen = 11.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 8.
ls_fcat-tabname = 'GT_CMA'.
ls_fcat-fieldname = 'OBJID'.
ls_fcat-coltext = 'Career
manager'(037).
ls_fcat-outputlen = 15.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 9.
ls_fcat-tabname = 'GT_CMA'.
ls_fcat-fieldname = 'CM_NAME2'.
ls_fcat-coltext = 'Name of the CM'(038).
ls_fcat-outputlen = 20.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 10.
ls_fcat-tabname = 'GT_CMA'.
ls_fcat-fieldname = 'CM_NAME1'.
ls_fcat-coltext = 'First name of
CM'(039).
ls_fcat-outputlen = 20.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 11.
ls_fcat-tabname = 'GT_CMA'.
ls_fcat-fieldname = 'CM_BEGDA'.
ls_fcat-coltext = 'Start date
of the relationship'(040).
ls_fcat-outputlen = 24.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ls_fcat-col_pos = 12.
ls_fcat-tabname = 'GT_CMA'.
ls_fcat-fieldname = 'CM_ENDDA'.
ls_fcat-coltext = 'End date of the relationship'(041).
ls_fcat-outputlen = 24.
APPEND ls_fcat
TO gt_fieldcat_100.
CLEAR ls_fcat.
ENDIF.
ENDFORM. " BUILD_FIELDCAT_100
*&---------------------------------------------------------------------*
*&
Form OUTPUTLOG_ALV_DISP
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM outputlog_alv_disp
CHANGING i_disp_table TYPE STANDARD TABLE.
CALL METHOD
go_grid_100->set_table_for_first_display
EXPORTING
*
it_toolbar_excluding = gt_exclude_100
is_layout =
gs_layout_100
CHANGING
it_fieldcatalog =
gt_fieldcat_100
it_outtab = i_disp_table[].
* Set editable cells to ready for input initially
CALL METHOD
go_grid_100->set_ready_for_input
EXPORTING
i_ready_for_input = 0.
ENDFORM. " OUTPUTLOG_ALV_DISP
*&---------------------------------------------------------------------*
*&
Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS
'STATUS100'.
SET TITLEBAR
'TITLE100'.
ENDMODULE.
" STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
WHEN 'BACK'.
LEAVE TO
SCREEN 0.
WHEN 'CANCEL'.
LEAVE TO
SCREEN 0.
WHEN 'EXIT'.
LEAVE TO
SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*&
Include ZPAUTREPORT_TOP
*&---------------------------------------------------------------------*
TABLES: zsft_actor,
zpeia_doc,
zsft_user_actor,
zsft_user_popul,
zsft_user_populf,
hrp1002.
*******Internal table declaration******************
******Internal table Common data
declaration******************
TYPES: BEGIN OF ty_common_data,
bname TYPE
zsft_user_actor-bname,
name2 TYPE
xuname1,
name1 TYPE
xuname1 ,
actor TYPE
zsft_user_actor-actor,
begda TYPE
zsft_user_actor-start_date,
endda TYPE
zsft_user_actor-end_date,
text TYPE zsft_actor_t-text,
END OF
ty_common_data.
DATA: gwa_common_data TYPE ty_common_data,
gt_common_data TYPE TABLE OF ty_common_data.
TYPES: BEGIN OF ty_all,
* Common data:
bname TYPE zsft_user_actor-bname, "IGG
name2 TYPE xuname1, "Name
name1 TYPE xuname1 , "First name
actor TYPE zsft_user_actor-actor, "Actor
text TYPE zsft_actor_t-text, "Actor description
begda TYPE
zsft_user_actor-start_date,
"Start date
endda TYPE zsft_user_actor-end_date, "End date
* Population
output:
pop_ia TYPE zsft_user_popul-pop_ia,
ia_pop_name TYPE
zpftpopulation_t-pop_name, "IA
Population description
pop_ic TYPE zsft_user_popul-pop_ic,
ic_pop_name TYPE zpftpopulation_t-pop_name, "IC Population description
pop_pa TYPE zsft_user_popul-pop_pa,
pa_pop_name TYPE
zpftpopulation_t-pop_name, "PA
Population description
pop_pc TYPE zsft_user_popul-pop_pc,
pc_pop_name
TYPE zpftpopulation_t-pop_name,
"PC Population description
executive TYPE
zsft_user_populf-executive,
"Can manage NP10+
senior_exec TYPE
zsft_user_populf-senior_exec,
"Senior Executive
hr_actor TYPE zsft_user_populf-hr_actor, "HR Domain
sensitive_pos TYPE
zsft_user_populf-sensitive_pos,
"Sensitive
managed_contrac TYPE zsft_user_populf-managed_contrac,"Managed
contractor
* Training
tdept TYPE hrp1002-objid, "Training Service
object ID
o_tline TYPE
hrt1002-tline, "O
object description
tr_begda TYPE
zsft_user_actor-start_date,
"Start date of the training service
tr_endda TYPE
zsft_user_actor-end_date,
"End date of the training service
nphp TYPE zsft_user_populf-nphp, "NP/HP
pool TYPE hrp1002-objid, "Pool Assignment
object ID
p_tline TYPE
hrt1002-tline,
"Pool description
p_begda TYPE
zsft_user_actor-start_date,
"Start date pool assignment
p_endda TYPE
zsft_user_actor-end_date,
"End date pool assignment
* Career
manager
objid TYPE hrp1002-objid, "Career manager
cm_name2 TYPE xuname1, "Name of
the CM (Name of the CM The name is retrieved through the user
profile (SU01D))
cm_name1 TYPE xuname1 , "First name
of CM (The name is retrieved through the user profile (SU01D))
cm_begda TYPE
zsft_user_actor-start_date,
"Start date of the relationship
cm_endda TYPE
zsft_user_actor-end_date,
"End date of the relationship
END OF
ty_all.
DATA: gwa_all TYPE ty_all,
gt_all TYPE
TABLE OF ty_all.
*******Internal table Population actors data
declaration******************
TYPES: BEGIN OF ty_population_actors,
* Common
data:
bname TYPE
zsft_user_actor-bname,
"IGG
name2 TYPE
xuname1,
"Name
name1 TYPE
xuname1 , "First name
actor TYPE
zsft_user_actor-actor,
"Actor
text TYPE zsft_actor_t-text, "Actor
description
begda TYPE
zsft_user_actor-start_date,
"Start date
endda TYPE
zsft_user_actor-end_date,
"End date
* Population
output:
pop_ia TYPE zsft_user_popul-pop_ia,
ia_pop_name TYPE zpftpopulation_t-pop_name, "IA Population description
pop_ic TYPE zsft_user_popul-pop_ic,
ic_pop_name TYPE
zpftpopulation_t-pop_name,
"IC Population description
pop_pa TYPE zsft_user_popul-pop_pa,
pa_pop_name TYPE
zpftpopulation_t-pop_name,
"PA Population description
pop_pc TYPE zsft_user_popul-pop_pc,
pc_pop_name TYPE
zpftpopulation_t-pop_name,
"PC Population description
executive TYPE
zsft_user_populf-executive,
senior_exec TYPE
zsft_user_populf-senior_exec,
hr_actor TYPE
zsft_user_populf-hr_actor,
sensitive_pos TYPE
zsft_user_populf-sensitive_pos,
managed_contrac
TYPE zsft_user_populf-managed_contrac,
END OF
ty_population_actors.
DATA: gwa_population_actors TYPE ty_population_actors,
gt_population_actors TYPE TABLE OF ty_population_actors.
********Internal table Training actors data declaration******************
TYPES: BEGIN OF ty_training_actors,
* Common
data:
bname TYPE zsft_user_actor-bname, "IGG
name2 TYPE xuname1,
"Name
name1 TYPE xuname1 ,
"First name
actor TYPE zsft_user_actor-actor, "Actor
text TYPE zsft_actor_t-text, "Actor
description
begda TYPE zsft_user_actor-start_date, "Start date
endda TYPE zsft_user_actor-end_date, "End date
* Training
tdept TYPE hrp1002-objid, "Training
Service object ID
o_tline TYPE
hrt1002-tline,
"O object description
tr_begda TYPE
zsft_user_actor-start_date,
"Start date of the training service
tr_endda TYPE
zsft_user_actor-end_date,
"End date of the training service
nphp TYPE zsft_user_populf-nphp, "NP/HP
pool TYPE hrp1002-objid, "Pool
Assignment object ID
p_tline TYPE hrt1002-tline, "Pool
description
p_begda TYPE
zsft_user_actor-start_date,
"Start date pool assignment
p_endda TYPE
zsft_user_actor-end_date,
"End date pool assignment
END OF ty_training_actors.
DATA: gwa_training_actors TYPE ty_training_actors,
gt_training_actors TYPE TABLE OF ty_training_actors.
********Internal table Career manager assistant data
declaration******************
TYPES: BEGIN OF ty_cma,
* Common data:
bname TYPE zsft_user_actor-bname, "IGG
name2 TYPE xuname1,
"Name
name1 TYPE xuname1 ,
"First name
actor TYPE zsft_user_actor-actor, "Actor
text TYPE zsft_actor_t-text, "Actor
description
begda TYPE zsft_user_actor-start_date, "Start date
endda TYPE zsft_user_actor-end_date, "End date
* Career
manager
objid TYPE hrp1002-objid, "Career
manager
cm_name2 TYPE xuname1,
"Name of the CM
cm_name1 TYPE xuname1 ,
"First name of CM
cm_begda TYPE
zsft_user_actor-start_date,
"Start date of the relationship
cm_endda TYPE
zsft_user_actor-end_date, "End date of the
relationship
END OF ty_cma.
DATA: gwa_cma TYPE ty_cma,
gt_cma TYPE
TABLE OF ty_cma.
DATA:
gt_user_actor TYPE STANDARD TABLE OF zsft_user_actor,
gwa_user_actor TYPE zsft_user_actor,
gt_actort
TYPE STANDARD TABLE OF zsft_actor_t,
gwa_actort
TYPE zsft_actor_t,
gt_user_popul TYPE STANDARD TABLE OF zsft_user_popul,
gwa_user_popul TYPE zsft_user_popul,
gt_popul_t
TYPE STANDARD TABLE OF zpftpopulation_t,
gwa_popul_t
TYPE zpftpopulation_t,
gt_user_populf TYPE STANDARD TABLE OF zsft_user_populf,
gwa_user_populf TYPE zsft_user_populf,
gt_usr03
TYPE STANDARD TABLE OF usr03,
gwa_usr03
TYPE usr03,
gt_addr
TYPE STANDARD TABLE OF addr3_val,
gwa_addr
TYPE addr3_val,
gt_1001
TYPE STANDARD TABLE OF hrp1001,
gwa_1001
TYPE hrp1001,
gt_9314
TYPE STANDARD TABLE OF hrp9314,
gwa_9314
TYPE hrp9314,
gt_1000
TYPE STANDARD TABLE OF hrp1000,
gwa_1000
TYPE hrp1000,
gt_1001_ta
TYPE STANDARD TABLE OF hrp1001,
gwa_1001_ta
TYPE hrp1001,
gt_1001_p
TYPE STANDARD TABLE OF hrp1001,
gwa_1001_p
TYPE hrp1001,
gwa_sft_scrn_maintn TYPE zsft_scrn_maintn,
gt_sft_scrn_maintn TYPE TABLE OF zsft_scrn_maintn..
DATA: lv_no_flag TYPE char1.
DATA: gt_fieldcat_100 TYPE lvc_t_fcat.
DATA: gv_disp_table TYPE string.
DATA: go_grid_100 TYPE REF TO cl_gui_alv_grid.
DATA: go_custom_container_100 TYPE REF TO cl_gui_custom_container.
DATA: gs_layout_100 TYPE lvc_s_layo.
CONSTANTS:
lc_act1 TYPE
char2 VALUE 'TM',
lc_act2 TYPE
char2 VALUE 'TA',
lc_act3 TYPE
char3 VALUE 'STM',
lc_act4 TYPE
char3 VALUE 'TSP',
lc_act5 TYPE
char3 VALUE 'ARC',
gc_plvar TYPE
hrp1000-plvar VALUE '01'.
******selection screen declaration****************
SELECTION-SCREEN:BEGIN OF BLOCK rad1 WITH FRAME TITLE
text-001.
* Common data.
SELECTION-SCREEN BEGIN OF BLOCK common WITH FRAME TITLE
text-002.
SELECT-OPTIONS : s_bname FOR zsft_user_actor-bname MATCHCODE OBJECT
user_comp OBLIGATORY.
SELECT-OPTIONS : s_actor FOR zsft_user_actor-actor.
SELECT-OPTIONS : s_begda FOR zsft_user_actor-start_date.
SELECT-OPTIONS : s_endda FOR zsft_user_actor-end_date.
SELECTION-SCREEN END OF BLOCK common.
SELECTION-SCREEN BEGIN OF BLOCK options WITH FRAME TITLE
text-003.
SELECTION-SCREEN BEGIN OF LINE.
**Radio buttons
PARAMETERS: rb_all RADIOBUTTON GROUP auth USER-COMMAND
rusr.
SELECTION-SCREEN COMMENT 7(5) text-004 FOR FIELD rb_all.
PARAMETERS: rb_pa
RADIOBUTTON GROUP auth.
SELECTION-SCREEN COMMENT 14(18) text-005 FOR FIELD rb_pa.
PARAMETERS: rb_ta
RADIOBUTTON GROUP auth.
SELECTION-SCREEN COMMENT 41(19) text-006 FOR FIELD rb_ta.
PARAMETERS: rb_cma RADIOBUTTON GROUP auth.
SELECTION-SCREEN COMMENT 62(36) text-007 FOR FIELD
rb_cma.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK options.
SELECTION-SCREEN BEGIN OF BLOCK pa WITH FRAME TITLE text-005.
SELECT-OPTIONS: s_pop_ia FOR zsft_user_popul-pop_ia
MATCHCODE OBJECT zpft_populid MODIF ID pa,
s_pop_ic FOR zsft_user_popul-pop_ic MATCHCODE OBJECT zpft_populid MODIF
ID pa,
s_pop_pa FOR zsft_user_popul-pop_pa MATCHCODE OBJECT zpft_populid MODIF
ID pa,
s_pop_pc FOR zsft_user_popul-pop_pc MATCHCODE OBJECT zpft_populid MODIF
ID pa.
PARAMETERS: ck_np10 AS CHECKBOX MODIF ID pa,
ck_sexec AS CHECKBOX MODIF ID pa,
ck_hra
AS CHECKBOX MODIF ID pa,
ck_mgc
AS CHECKBOX MODIF ID pa,
ck_spos
AS CHECKBOX MODIF ID pa.
SELECTION-SCREEN END OF BLOCK pa.
SELECTION-SCREEN BEGIN OF BLOCK ta WITH FRAME TITLE
text-006.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(38) text-048 MODIF ID ta.
SELECT-OPTIONS: s_tdept FOR hrp1002-objid MATCHCODE
OBJECT zpsft_training_s MODIF ID ta.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(38) text-030 MODIF ID ta.
SELECT-OPTIONS: s_tbegda FOR zsft_user_actor-start_date MODIF ID
ta.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(38) text-031 MODIF ID ta.
SELECT-OPTIONS: s_tendda FOR zsft_user_actor-end_date MODIF ID ta.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN COMMENT 1(38) text-045 MODIF ID ta.
SELECT-OPTIONS: s_pool FOR hrp1002-objid MATCHCODE OBJECT
zpsft_pool MODIF ID ta.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(38) text-046 MODIF ID ta.
SELECT-OPTIONS: s_pbegda FOR zsft_user_actor-start_date MODIF ID
ta.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(38) text-047 MODIF ID ta.
SELECT-OPTIONS: s_pendda FOR zsft_user_actor-end_date MODIF ID ta.
SELECTION-SCREEN END OF LINE.
PARAMETERS: ck_nphp AS CHECKBOX MODIF ID ta.
SELECTION-SCREEN END OF BLOCK ta.
SELECTION-SCREEN BEGIN OF BLOCK cma WITH FRAME TITLE
text-007.
SELECT-OPTIONS: s_objid FOR hrp1002-objid MATCHCODE
OBJECT zpsft_pernr_cm MODIF ID cma.
SELECT-OPTIONS: s_cbegda FOR zsft_user_actor-start_date MODIF ID
cma.
SELECT-OPTIONS: s_cendda FOR zsft_user_actor-end_date MODIF ID cma.
SELECTION-SCREEN END OF BLOCK cma.
SELECTION-SCREEN END OF BLOCK rad1.