Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 9052

Re: WRAP ALV HEADER.

$
0
0

Hi Markus,

 

Following is the code, please have a look on my code and help me to come out from this issue.

 

*&---------------------------------------------------------------------*
*& Report  ZHR_EMP_REPORT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZHR_EMP_REPORT.


TABLES: pernr.
INFOTYPES: 0000, 0001, 0002, 0008, 0022,0041, 9007,0167, 0105.
TYPE-POOLS: slis.

* Type Declarations
TYPES: BEGIN OF TY_output,
sno
(6) TYPE n,
werks
TYPE string,
btrtl
TYPE string,
persk
TYPE pktxt,
pernr
TYPE persno,
ENAME
TYPE P0001-ENAME,        " NAME
ptext
TYPE btext,
NAME1
type T500P-NAME1,
BTEXT
TYPE T001P-BTEXT,
ZZ_DESIGTEXT
TYPE ZHRTR_DESIG, " Designation
GSBER
type P0001-GSBER,        " Bussiness Area
GTEXT
TYPE TGSBT-GTEXT,         " Bussiness Area TEXT
GBDAT
TYPE P0002-GBDAT,        "Date of Birth
ANSVH
type P0001-ANSVH,        " Stream
ATX
TYPE T542T-ATX,            " Stream TEXT
Start_date
type P0022-BEGDA,
End_date
type P0022-ENDDA,
mobile
type p0105-usrid,       "Communication ID/Number
EMAIL
TYPE STRING,             " Email ID
EMP_GRP
TYPE STRING,           " employee group
EMP_GENDER
TYPE STRING,
END OF ty_output.


* Internal Table Declarations

DATA: it_output TYPE TABLE OF ty_output,
it_fieldcat
TYPE slis_t_fieldcat_alv,
it_layout
TYPE slis_layout_alv,
*      IT_CADRE TYPE TABLE OF ZHRTR_CADRE,
IT_DESIG
TYPE TABLE OF ZHRTR_DESIG,
IT_T503T
TYPE TABLE OF T503T,
IT_T001P
TYPE TABLE OF T001P,
IT_T500P
TYPE TABLE OF T500P,
IT_P0022
TYPE TABLE OF P0022 .


* Work Area Declarations

DATA: wa_output TYPE ty_output,
wa_fieldcat
TYPE slis_fieldcat_alv,
*      WA_CADRE TYPE zhrtr_cadre,
WA_DESIG
TYPE ZHRTR_DESIG,
WA_T503T
TYPE  T503T,
WA_T001P
TYPE  T001P,
WA_T500P
TYPE  T500P,
WA_P0105
type P0105,
WA_P0022
TYPE P0022,
SNO
(6) TYPE n .

* Instantiate the used component
DATA lo_cmp_usage TYPE REF TO if_wd_component_usage.

* Selection Screen.
SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: r1 RADIOBUTTON GROUP gr1 DEFAULT 'X' USER-COMMAND flg.
SELECTION-SCREEN COMMENT 10(3) text-002 FOR FIELD r1.
PARAMETERS: r2 RADIOBUTTON GROUP gr1 .
SELECTION-SCREEN COMMENT 20(6) text-003 FOR FIELD r2.
PARAMETERS: r3 RADIOBUTTON GROUP gr1  .
SELECTION-SCREEN COMMENT 30(4) text-004 FOR FIELD r3.
PARAMETERS: r4 RADIOBUTTON GROUP gr1  .
SELECTION-SCREEN COMMENT 40(5) text-007 FOR FIELD r4.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN: END OF BLOCK b1.

SELECTION-SCREEN: BEGIN OF BLOCK b2 WITH FRAME TITLE text-015.
SELECT-OPTIONS: s_date FOR sy-datum NO-EXTENSION NO INTERVALS OBLIGATORY. ".
SELECTION-SCREEN: END OF BLOCK b2"Selection Screen.




Initialization.



At selection-screen.

PERFORM check.

START-OF-SELECTION.


pn
-begda = '18000101'.
pn
-endda = s_date-low.           "s_date-high.


* TO GET THE DESIGNATION TEXT
SELECT * FROM ZHRTR_DESIG INTO TABLE IT_DESIG.
* SELECT TO GET EMPLOYEE SUBGROUP
select * from t503t into table IT_T503T where sprsl = sy-langu.
* SELECT TO GET PA (CIRCLE) CODE
SELECT * FROM T500P into table IT_T500P WHERE molga = '40'.
* SELECT TO GET PSA(SSA) CODE
SELECT * from t001p INTO TABLE IT_T001P where molga = '40'.


GET PERNR.

IF  r2 = 'X'.
if  PNPWERKS IS INITIAL.
Exit.
endif.
ELSEIF r1 = 'X' and PNPWERKS IS INITIAL and PNPBTRTL IS INITIAL.
Exit.
elseif r1 = 'X' and PNPWERKS IS not INITIAL and PNPBTRTL IS INITIAL.
exit.
elseif r4 = 'X' .
if  PNPpernr IS INITIAL.
Exit.
endif.

ENDIF.



RP
-PROVIDE-FROM-LAST P0000 SPACE PN-BEGDA PN-ENDDA.
"CHECK P0000-STAT2 for active employees
IF pnp-sw-found EQ 1.
" If to include the employees in active list whose separation was run in advance

IF P0000-BEGDA > SY-DATUM AND p0000-MASSN eq 'ZC'.                " Change Ist: replace P0000-ENDDA > SY-DATUM with p0000-MASSN eq'Zc'..
CHECK P0000-STAT2 EQ '0'.   " EMPLOYEE IS STILL ACTIVE
ELSEIF P0000-ENDDA < SY-DATUM AND p0000-MASSN eq 'ZC'.             " Change 2nd: adding P0000-MASSN eq'Zc'..
REJECT.
ELSE.
CHECK p0000-STAT2 EQ '3'. " CHECK THE ACTIVE STATUS
ENDIF.

RP
-PROVIDE-FROM-LAST P0001 SPACE PN-BEGDA PN-ENDDA.
if p0000-MASSN ne 'ZF'.                                                  " Change 3rd: if added for including Deputation employees
CHECK P0001-ABKRS NE '99'.     " CHECK TO EXCLUDE THE DUMMY ENTRIES.
endif.
CHECK P0001-WERKS IN PNPWERKS. "CHECK Personnel Area
CHECK P0001-BTRTL IN PNPBTRTL. "CHECK Personnel Subarea
CHECK P0001-PERSG IN PNPPERSG. "CHECK EMPLOYEE GROUP
CHECK P0001-PERSK IN PNPPERSK. "CHECK EMPLOYEE SUBGROUP.

* TO GET THE DESIGNATION TEXT
" SELECT * FROM ZHRTR_DESIG INTO TABLE IT_DESIG.
READ TABLE IT_DESIG INTO WA_DESIG WITH KEY ZZ_DESIG = P0001-ZZ_DESIG.
IF SY-SUBRC EQ 0.
WA_OUTPUT
-ZZ_DESIGTEXT WA_DESIG-ZZ_DESIGTEXT.
ENDIF.
MOVE: P0000-PERNR to WA_OUTPUT-PERNR.
MOVE: P0001-ENAME TO WA_OUTPUT-ENAME.
MOVE: P0002-GBDAT TO WA_OUTPUT-GBDAT.

* SELECT TO GET EMPLOYEE SUBGROUP
Read table IT_T503T into WA_T503T with key persk = p0001-PERSK.
IF SY-SUBRC EQ 0.
MOVE: WA_T503T-PTEXT TO WA_OUTPUT-PTEXT.
ENDIF.


* SELECT TO GET PA (CIRCLE) CODE
Read table IT_T500P into WA_T500P with key PERSA = P0001-WERKS.   " WERKS = PA CODE (CIRCLE)
IF SY-SUBRC EQ 0.
MOVE: WA_T500P-NAME1 TO WA_OUTPUT-NAME1.
ENDIF.

* SELECT TO GET PSA(SSA) CODE

   Read table IT_T001P into WA_T001P with key btrtl = p0001-btrtl.
IF SY-SUBRC EQ 0.
MOVE: WA_T001P-BTEXT TO WA_OUTPUT-BTEXT.
ENDIF.

*     IF TO GET GENDER TEXT
IF P0002-GESCH EQ '1'.
WA_OUTPUT
-EMP_GENDER = 'MALE'.
ELSEIF P0002-GESCH EQ '2'.
WA_OUTPUT
-EMP_GENDER = 'FEMALE'.
ENDIF.

*    IF TO GET  EMPLOYEE GROUP TEXT

IF P0001-PERSG EQ '1'.
WA_OUTPUT
-EMP_GRP = 'Unabsorbed'.
ELSEIF P0001-PERSG EQ '2'.
WA_OUTPUT
-EMP_GRP = 'Absorbed'.
ELSEIF P0001-PERSG EQ '3'.
WA_OUTPUT
-EMP_GRP = 'Deputaion In'.
ELSEIF P0001-PERSG EQ '4'.
WA_OUTPUT
-EMP_GRP = 'Direct Recruitee'.
ENDIF.


* TO GET THE MOBILE NO AND EMAIL ID..

LOOP AT P0105 INTO WA_P0105 .
IF WA_P0105-USRTY = '0002' AND WA_P0105-ENDDA > SY-DATUM.
WA_OUTPUT
-MOBILE = WA_P0105-USRID.
ELSEIF P0105-USRTY = '0010' AND WA_P0105-ENDDA > SY-DATUM.
WA_OUTPUT
-EMAIL = WA_P0105-USRID_LONG.
ENDIF.
ENDLOOP.







SNO
SNO + 1.
WA_OUTPUT
-SNO = SNO.

if wa_outPUT is not initial.
APPEND WA_OUTPUT TO IT_OUTPUT.
CLEAR: WA_OUTPUT,
WA_T503T
,
WA_T500P
,
WA_DESIG
.
endif.
ENDIF.

END-OF-SELECTION.

 


IF IT_OUTPUT IS INITIAL.

MESSAGE 'No Data Found for the Selection Criteria' TYPE 'I'.

ELSE.

    PERFORM build_catalog.
PERFORM display.

ENDIF.





*&---------------------------------------------------------------------*
*&      Form  BUILD_CATALOG
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM build_catalog .
REFRESH it_fieldcat.
PERFORM build_cat1 USING '1' 'SNO'          'IT_OUTPUT'  text-006.
PERFORM build_cat1 USING '2' 'ENAME'        'IT_OUTPUT'  text-008.
PERFORM build_cat1 USING '3' 'ZZ_DESIGTEXT' 'IT_OUTPUT'  text-010.
PERFORM build_cat1 USING '4' ''             'IT_OUTPUT'  text-010.     "grade
PERFORM build_cat1 USING '5' 'ZZ_DESIGTEXT' 'IT_OUTPUT'  text-010.   "PAYSCALE
PERFORM build_cat1 USING '6' 'GBDAT'        'IT_OUTPUT'  text-016.
PERFORM build_cat1 USING '7' ''             'IT_OUTPUT'  text-017.              "Date of positing in present circle
PERFORM build_cat1 USING '8' 'EMP_GRP'      'IT_OUTPUT'  text-014.   "absorbed  Y/N
PERFORM build_cat1 USING '9' 'PERNR'        'IT_OUTPUT'  text-007.
PERFORM build_cat1 USING '10' ''            'IT_OUTPUT'  text-018.   "Ending date currency of minor Punishment falling in last 5 years or minor penalty Imposed in last 3 years.
PERFORM build_cat1 USING '11' ''            'IT_OUTPUT'  text-019.   "Ending date of currency of major punishment falling in last 5 years or majorpenalty Imposed in last 5 years.
PERFORM build_cat1 USING '12' ''            'IT_OUTPUT'  text-020.   "Any disciplinary case contemplated/pending as per records.
PERFORM build_cat1 USING '13' ''            'IT_OUTPUT'  text-021.   "Any Complaint under investigation as per records. if yes (date of receipt of complaint).
PERFORM build_cat1 USING '14' ''            'IT_OUTPUT'  text-022.   "VC may be Granted/Withheld.
PERFORM build_cat1 USING '15' ''            'IT_OUTPUT'  text-023.   "Whether APR Submitted for the previous year ending on 31st December,



PERFORM build_cat1 USING '16' 'NAME1'        'IT_OUTPUT'  text-003.   "circle
PERFORM build_cat1 USING '17' 'BTEXT'        'IT_OUTPUT'  text-002.   "ssa
PERFORM build_cat1 USING '18' 'PTEXT'        'IT_OUTPUT'  text-009.   "emp subgrp
PERFORM build_cat1 USING '19' 'EMP_GENDER' 'IT_OUTPUT'  text-011.     "gender
PERFORM build_cat1 USING '20' 'MOBILE' 'IT_OUTPUT'  text-012.         " contact no.


it_layout
-colwidth_optimize = 'X'.
ENDFORM.                    "build_catalog



*&---------------------------------------------------------------------*
*&      Form  display
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM display .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program      
= sy-repid
is_layout               
= it_layout
i_callback_pf_status_set
= 'PF_STATUS'
it_fieldcat             
= it_fieldcat
*      i_callback_user_command  = 'USER_COMMAND'
*      i_callback_top_of_page   = 'TOP_OF_PAGE'
i_default         
= 'X'
i_save            
= 'A'
*      is_variant         = lv_tmplt
*      I_GRID_TITLE       = LV_GRID_TITLE
TABLES
t_outtab                
= it_output
EXCEPTIONS
program_error           
= 1
OTHERS                   = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

ENDFORM.                    " DISPLAY




*&---------------------------------------------------------------------*
*&      Form  BUILD_CAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_0572   text
*      -->P_0573   text
*      -->P_0574   text
*      -->P_TEXT_001  text
*----------------------------------------------------------------------*
FORM build_cat1  USING    value(p_0572)
value(p_0573)
value(p_0574)
p_text_001
.
wa_fieldcat
-col_pos = p_0572.
wa_fieldcat
-fieldname = p_0573.
wa_fieldcat
-tabname = p_0574.
wa_fieldcat
-seltext_l = p_text_001.
*  " wa_fieldcat-do_sum    = 'X'.
*  IF p_0573 = 'PERNR'.
*    wa_fieldcat-hotspot   =  'X'.
*  ENDIF.

APPEND wa_fieldcat TO it_fieldcat.
CLEAR: wa_fieldcat.
ENDFORM.                    " BUILD_CAT



*&---------------------------------------------------------------------*
*&      Form  pf_status
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->RT_EXTAB   text
*----------------------------------------------------------------------*
FORM pf_status USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'ZSTANDARD1'.

ENDFORM.                    "pf_status


Viewing all articles
Browse latest Browse all 9052

Trending Articles



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