Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.94 KB | None | 0 0
  1. REPORT zinr_prs_dt_al.
  2. TABLES: zint_prs_tm, zint_prs_mst, zint_dsg_mst, zint_qual_mst.
  3.  
  4. TYPE-POOLS slis.
  5.  
  6. SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
  7. SELECT-OPTIONS emp_code FOR zint_prs_tm-zzemp_cd OBLIGATORY.
  8. SELECT-OPTIONS date FOR zint_prs_tm-zzdt OBLIGATORY.
  9. SELECTION-SCREEN END OF BLOCK b1.
  10.  
  11. TYPES: BEGIN OF ty_final,
  12. zzemp_cd TYPE zint_prs_tm-zzemp_cd,
  13. zzdt TYPE zint_prs_tm-zzdt,
  14. zzintime TYPE zint_prs_tm-zzintime,
  15. zzoutime TYPE zint_prs_tm-zzoutime,
  16. zzfirst_nm TYPE zint_prs_mst-zzfirst_nm,
  17. zzlast_nm TYPE zint_prs_mst-zzlast_nm,
  18. zzint_de_dsg_cd TYPE zint_prs_mst-zzint_de_dsg_cd,
  19. zzdesc TYPE zint_dsg_mst-zzdesc,
  20. zzql TYPE zint_prs_mst-zzql,
  21. zzpl TYPE zint_prs_mst-zzpl,
  22. zzsl TYPE zint_prs_mst-zzsl,
  23.  
  24. END OF ty_final.
  25. DATA: wa_f TYPE ty_final,
  26. it_f TYPE TABLE OF ty_final,
  27. it_fcat TYPE slis_t_fieldcat_alv,
  28. wa_fcat LIKE LINE OF it_fcat,
  29. l_layout TYPE slis_layout_alv.
  30.  
  31.  
  32. TYPES : BEGIN OF ty_zint_prs_tm,
  33. zzemp_cd TYPE zint_prs_tm-zzemp_cd,
  34. zzdt TYPE zint_prs_tm-zzdt,
  35. zzintime TYPE zint_prs_tm-zzintime,
  36. zzoutime TYPE zint_prs_tm-zzoutime,
  37. END OF ty_zint_prs_tm.
  38. DATA: wa1 TYPE ty_zint_prs_tm,
  39. it1 TYPE TABLE OF ty_zint_prs_tm.
  40.  
  41. TYPES : BEGIN OF ty_zint_prs_mst,
  42. zzemp_cd TYPE zint_prs_mst-zzemp_cd,
  43. zzfirst_nm TYPE zint_prs_mst-zzfirst_nm,
  44. zzlast_nm TYPE zint_prs_mst-zzlast_nm,
  45. zzint_de_dsg_cd TYPE zint_prs_mst-zzint_de_dsg_cd,
  46. zzql TYPE zint_prs_mst-zzql,
  47. zzpl TYPE zint_prs_mst-zzpl,
  48. zzsl TYPE zint_prs_mst-zzsl,
  49. END OF ty_zint_prs_mst.
  50. DATA: wa2 TYPE ty_zint_prs_mst,
  51. it2 TYPE TABLE OF ty_zint_prs_mst.
  52.  
  53. TYPES: BEGIN OF ty_zint_dsg_mst,
  54. zzdesc TYPE zint_dsg_mst-zzdesc,
  55. zzdsg TYPE zint_dsg_mst-zzdsg,
  56. END OF ty_zint_dsg_mst.
  57. DATA: wa3 TYPE ty_zint_dsg_mst,
  58. it3 TYPE TABLE OF ty_zint_dsg_mst.
  59.  
  60.  
  61. TYPES: BEGIN OF ty_zint_qual_mst,
  62. zzdesc TYPE zint_qual_mst-zzdesc,
  63. END OF ty_zint_qual_mst.
  64. DATA: wa4 TYPE ty_zint_qual_mst,
  65. it4 TYPE TABLE OF ty_zint_qual_mst.
  66.  
  67. START-OF-SELECTION.
  68.  
  69. SELECT zzemp_cd zzdt zzintime zzoutime FROM zint_prs_tm INTO TABLE it1
  70. WHERE zzemp_cd IN emp_code
  71. AND zzdt IN date.
  72.  
  73. IF it1 IS NOT INITIAL.
  74.  
  75. SELECT
  76. zzemp_cd
  77. zzfirst_nm
  78. zzlast_nm
  79. zzint_de_dsg_cd
  80. zzql
  81. zzpl
  82. zzsl
  83. FROM zint_prs_mst INTO TABLE it2
  84. FOR ALL ENTRIES IN it1
  85. WHERE zzemp_cd = it1-zzemp_cd.
  86.  
  87. IF it2 IS NOT INITIAL.
  88. SELECT zzdesc zzdsg FROM zint_dsg_mst INTO TABLE it3
  89. FOR ALL ENTRIES IN it2
  90. WHERE zzdsg = it2-zzint_de_dsg_cd.
  91. ENDIF.
  92.  
  93. ENDIF.
  94.  
  95. END-OF-SELECTION.
  96.  
  97.  
  98. LOOP AT it1 INTO wa1.
  99. wa_f-zzemp_cd = wa1-zzemp_cd.
  100. wa_f-zzdt = wa1-zzdt.
  101. wa_f-zzintime = wa1-zzintime.
  102. wa_f-zzoutime = wa1-zzoutime.
  103.  
  104. READ TABLE it2 INTO wa2 WITH KEY zzemp_cd = wa1-zzemp_cd.
  105. IF sy-subrc = 0.
  106. wa_f-zzfirst_nm = wa2-zzfirst_nm.
  107. wa_f-zzlast_nm = wa2-zzlast_nm.
  108. wa_f-zzint_de_dsg_cd = wa2-zzint_de_dsg_cd.
  109. wa_f-zzql = wa2-zzql.
  110. wa_f-zzpl = wa2-zzpl.
  111. wa_f-zzsl = wa2-zzsl.
  112.  
  113. READ TABLE it3 INTO wa3 WITH KEY zzdsg = wa2-zzint_de_dsg_cd.
  114. IF sy-subrc = 0.
  115. wa_f-zzdesc = wa3-zzdesc.
  116.  
  117. ENDIF.
  118. APPEND wa_f TO it_f.
  119. CLEAR: wa_f, wa3, wa2, wa1.
  120. ENDIF.
  121.  
  122.  
  123. ENDLOOP.
  124.  
  125. wa_fcat-tabname = 'ZINT_PRS_TM'.
  126. wa_fcat-fieldname = 'ZZEMP_CD'.
  127. wa_fcat-seltext_l = 'Employee Code'.
  128. wa_fcat-col_pos = '1'.
  129. wa_fcat-outputlen = '20'.
  130. APPEND wa_fcat TO it_fcat.
  131. CLEAR :wa_fcat.
  132.  
  133. wa_fcat-tabname = 'ZINT_PRS_TM'.
  134. wa_fcat-fieldname = 'ZZDT'.
  135. wa_fcat-seltext_l = 'Record Date'.
  136. wa_fcat-col_pos = '2'.
  137. wa_fcat-outputlen = '20'.
  138. APPEND wa_fcat TO it_fcat.
  139. CLEAR :wa_fcat.
  140.  
  141. wa_fcat-tabname = 'ZINT_PRS_TM'.
  142. wa_fcat-fieldname = 'ZZINTIME'.
  143. wa_fcat-seltext_l = 'IN Time'.
  144. wa_fcat-col_pos = '3'.
  145. wa_fcat-outputlen = '20'.
  146. APPEND wa_fcat TO it_fcat.
  147. CLEAR :wa_fcat.
  148.  
  149. wa_fcat-tabname = 'ZINT_PRS_TM'.
  150. wa_fcat-fieldname = 'ZZOUTIME'.
  151. wa_fcat-seltext_l = 'OUT Time'.
  152. wa_fcat-col_pos = '4'.
  153. wa_fcat-outputlen = '20'.
  154. APPEND wa_fcat TO it_fcat.
  155. CLEAR :wa_fcat.
  156.  
  157. wa_fcat-tabname = 'ZINT_PRS_MST'.
  158. wa_fcat-fieldname = 'ZZFIRST_NM'.
  159. wa_fcat-seltext_l = 'First Name'.
  160. wa_fcat-col_pos = '5'.
  161. wa_fcat-outputlen = '30'.
  162. APPEND wa_fcat TO it_fcat.
  163. CLEAR :wa_fcat.
  164.  
  165. wa_fcat-tabname = 'ZINT_PRS_MST'.
  166. wa_fcat-fieldname = 'ZZLAST_NM'.
  167. wa_fcat-seltext_l = 'Last Name'.
  168. wa_fcat-col_pos = '6'.
  169. wa_fcat-outputlen = '30'.
  170. APPEND wa_fcat TO it_fcat.
  171. CLEAR :wa_fcat.
  172.  
  173. wa_fcat-tabname = 'ZINT_PRS_MST'.
  174. wa_fcat-fieldname = 'ZZINT_DE_DSG_CD'.
  175. wa_fcat-seltext_l = 'Designation Code'.
  176. wa_fcat-col_pos = '7'.
  177. wa_fcat-outputlen = '30'.
  178. APPEND wa_fcat TO it_fcat.
  179. CLEAR :wa_fcat.
  180.  
  181. wa_fcat-tabname = 'ZINT_DSG_MST'.
  182. wa_fcat-fieldname = 'ZZDESC'.
  183. wa_fcat-seltext_l = 'Description'.
  184. wa_fcat-col_pos = '8'.
  185. wa_fcat-outputlen = '30'.
  186. APPEND wa_fcat TO it_fcat.
  187. CLEAR :wa_fcat.
  188.  
  189. wa_fcat-tabname = 'ZINT_PRS_MST'.
  190. wa_fcat-fieldname = 'ZZQL'.
  191. wa_fcat-seltext_l = 'Qualifiaction Code'.
  192. wa_fcat-col_pos = '9'.
  193. wa_fcat-outputlen = '25'.
  194. APPEND wa_fcat TO it_fcat.
  195. CLEAR :wa_fcat.
  196.  
  197. wa_fcat-tabname = 'ZINT_PRS_MST'.
  198. wa_fcat-fieldname = 'ZZPL'.
  199. wa_fcat-seltext_l = 'Paid Leave'.
  200. wa_fcat-col_pos = '10'.
  201. wa_fcat-outputlen = '20'.
  202. APPEND wa_fcat TO it_fcat.
  203. CLEAR :wa_fcat.
  204.  
  205. wa_fcat-tabname = 'ZINT_PRS_MST'.
  206. wa_fcat-fieldname = 'ZZSL'.
  207. wa_fcat-seltext_l = 'Sick Leave'.
  208. wa_fcat-col_pos = '11'.
  209. wa_fcat-outputlen = '20'.
  210. APPEND wa_fcat TO it_fcat.
  211. CLEAR :wa_fcat.
  212.  
  213. CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
  214. EXPORTING
  215. it_fieldcat = it_fcat
  216. i_structure_name = 'it_f'
  217. TABLES
  218. t_outtab = it_f.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement