Advertisement
Guest User

Untitled

a guest
Aug 24th, 2019
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.39 KB | None | 0 0
  1. *&---------------------------------------------------------------------*
  2. *& Report ZRBC003
  3. *&
  4. *&---------------------------------------------------------------------*
  5. *&
  6. *&
  7. *&---------------------------------------------------------------------*
  8.  
  9. REPORT zrbc003.
  10.  
  11. TABLES: usr01.
  12. TYPE-POOLS: truxs.
  13. SELECTION-SCREEN BEGIN OF BLOCK usr WITH FRAME .
  14. PARAMETERS:
  15. p_bname LIKE usr01-bname DEFAULT '*'.
  16. SELECTION-SCREEN END OF BLOCK usr.
  17.  
  18. SELECTION-SCREEN BEGIN OF BLOCK par WITH FRAME .
  19. PARAMETERS: p_file TYPE rlgrap-filename OBLIGATORY.
  20. PARAMETERS: p_head TYPE char01 DEFAULT 'X'.
  21. SELECTION-SCREEN END OF BLOCK par.
  22.  
  23. SELECTION-SCREEN BEGIN OF BLOCK var.
  24. PARAMETERS: p_vari LIKE disvariant-variant.
  25. SELECTION-SCREEN END OF BLOCK var.
  26.  
  27.  
  28. TYPES: BEGIN OF ty_excel,
  29. col1(50) TYPE c, "Razão Social
  30. col2(50) TYPE c, "Nome Funcionário
  31. col3(14) TYPE c, "Data Admição
  32. col4(50) TYPE c, "Cargo
  33. col5(7) TYPE c, "Centro de Custo
  34. col6(50) TYPE c, "Descrição Centro de Custo
  35. col7(60) TYPE c, "E-Mail
  36. col8(50) TYPE c, "Gestor Imediato
  37. col9(15) TYPE c, "CPF
  38. END OF ty_excel.
  39. DATA: t_excel TYPE STANDARD TABLE OF ty_excel,
  40. w_excel LIKE LINE OF t_excel.
  41.  
  42. DATA: it_raw TYPE truxs_t_text_data.
  43.  
  44.  
  45. TYPE-POOLS: slis, sydes.
  46.  
  47. DATA: "Dynpro Control
  48. lvc_t_fcat TYPE lvc_t_fcat,
  49. lvc_t_sort TYPE lvc_t_sort,
  50. lvc_w_layout TYPE lvc_s_layo,
  51. lvc_t_filter TYPE lvc_t_filt.
  52.  
  53. DATA: BEGIN OF t_output OCCURS 0,
  54. bname LIKE usr01,
  55. END OF t_output.
  56.  
  57. DATA: g_save,
  58. g_exit,
  59. g_variant TYPE disvariant,
  60. gx_variant TYPE disvariant.
  61.  
  62. * At selection screen
  63. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
  64. CALL FUNCTION 'F4_FILENAME'
  65. EXPORTING
  66. field_name = 'P_FILE'
  67. IMPORTING
  68. file_name = p_file.
  69.  
  70. INITIALIZATION.
  71. g_save = 'A'.
  72. CLEAR g_variant.
  73. g_variant-report = sy-cprog.
  74. * Get default variant
  75. gx_variant = g_variant.
  76. CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
  77. EXPORTING
  78. i_save = g_save
  79. CHANGING
  80. cs_variant = gx_variant
  81. EXCEPTIONS
  82. not_found = 2.
  83. IF sy-subrc = 0.
  84. p_vari = gx_variant-variant.
  85. ENDIF.
  86. * Process on value request
  87. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
  88. CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
  89. EXPORTING
  90. is_variant = g_variant
  91. i_save = g_save
  92. * it_default_fieldcat =
  93. IMPORTING
  94. e_exit = g_exit
  95. es_variant = gx_variant
  96. EXCEPTIONS
  97. not_found = 2.
  98. IF sy-subrc = 2.
  99. MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
  100. WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  101. ELSE.
  102. IF g_exit = space.
  103. p_vari = gx_variant-variant.
  104. ENDIF.
  105. ENDIF.
  106.  
  107. START-OF-SELECTION.
  108. PERFORM load_excel.
  109. PERFORM load_users.
  110.  
  111.  
  112. ***********************************************************************
  113. * END-OF-SELECTION.
  114. END-OF-SELECTION.
  115. " For sample, Excel Data transfered to internal table is displayed with write
  116. * LOOP AT it_datatab INTO wa_datatab.
  117. * WRITE:/
  118. * wa_datatab-col1,
  119. * wa_datatab-col2,
  120. * wa_datatab-col3,
  121. * wa_datatab-col4,
  122. * wa_datatab-col5,
  123. * wa_datatab-col6,
  124. * wa_datatab-col7,
  125. * wa_datatab-col8,
  126. * wa_datatab-col9.
  127. * ENDLOOP.
  128.  
  129. * CALL FUNCTION 'HR_IT_SHOW_ANY_TABLE_ON_ALV'
  130. * TABLES
  131. * table = t_excel
  132. * EXCEPTIONS
  133. * fb_error = 1
  134. * OTHERS = 2.
  135. * IF sy-subrc <> 0.
  136. * MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
  137. * WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  138. * ENDIF.
  139. *&---------------------------------------------------------------------*
  140. *& Form LOAD_EXCEL
  141. *&---------------------------------------------------------------------*
  142. * text
  143. *----------------------------------------------------------------------*
  144. * --> p1 text
  145. * <-- p2 text
  146. *----------------------------------------------------------------------*
  147. FORM load_excel .
  148. " Convert Excel Data to SAP internal Table Data
  149. CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
  150. EXPORTING
  151. * I_FIELD_SEPERATOR =
  152. i_line_header = p_head
  153. i_tab_raw_data = it_raw " WORK TABLE
  154. i_filename = p_file
  155. TABLES
  156. i_tab_converted_data = t_excel[] "ACTUAL DATA
  157. EXCEPTIONS
  158. conversion_failed = 1
  159. OTHERS = 2.
  160.  
  161. IF sy-subrc <> 0.
  162. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
  163. WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  164. ENDIF.
  165.  
  166. ENDFORM. " LOAD_EXCEL
  167. *&---------------------------------------------------------------------*
  168. *& Form LOAD_USERS
  169. *&---------------------------------------------------------------------*
  170. * text
  171. *----------------------------------------------------------------------*
  172. * --> p1 text
  173. * <-- p2 text
  174. *----------------------------------------------------------------------*
  175. FORM load_users .
  176. DATA: t_users TYPE TABLE OF bapiusname,
  177. t_return TYPE TABLE OF bapiret2.
  178. CALL FUNCTION 'BAPI_USER_GETLIST'
  179. EXPORTING
  180. * MAX_ROWS = 0
  181. with_username = p_bname
  182. * IMPORTING
  183. * ROWS =
  184. TABLES
  185. * SELECTION_RANGE =
  186. * SELECTION_EXP =
  187. userlist = t_users
  188. return = t_return.
  189.  
  190. DATA: w_user LIKE LINE OF t_users,
  191. w_output LIKE LINE OF t_output.
  192. CLEAR: t_output[].
  193. LOOP AT t_users INTO w_user.
  194. CLEAR w_output.
  195. w_output-bname = w_user-username.
  196.  
  197. APPEND w_output TO t_output.
  198. ENDLOOP.
  199.  
  200. ENDFORM. " LOAD_USERS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement