Advertisement
hxxxrz

Untitled

Apr 6th, 2021
342
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.51 KB | None | 0 0
  1. METHOD get_carrieragr_data_wd.
  2. DATA:
  3. lt_key TYPE /bobf/t_frw_key,
  4. data TYPE xstring,
  5. ls_printout TYPE zstm_agreement_printout,
  6. lv_i TYPE i VALUE '1', "Счетчик для позиций
  7. lt_val TYPE TABLE OF zwww_values.
  8.  
  9. lt_key = it_key.
  10.  
  11. mo_collect_data_helper->get_carrieragr_data(
  12. EXPORTING
  13. it_key = lt_key
  14. IMPORTING
  15. es_header = ls_printout-head
  16. et_body = ls_printout-body
  17. es_footer = ls_printout-footer ).
  18.  
  19. TYPES:
  20. BEGIN OF t_data,
  21. agreement TYPE string,
  22. zz4 TYPE string,
  23. zz3 TYPE string,
  24. END OF t_data,
  25.  
  26. tt_data TYPE TABLE OF t_data WITH EMPTY KEY.
  27.  
  28. DATA lt_context TYPE t_data.
  29. lt_context-agreement = 'TESTOVIE DANNIE'.
  30. lt_context-zz3 = 'Текст 2'.
  31. lt_context-zz4 = 'text431321'.
  32.  
  33.  
  34. DATA(iv_document) = zcl_document_to_word=>get_document(
  35. iv_w3objid = 'ZWORD_TEMPLATE2' " name of our template, obligatory
  36. iv_on_desktop = 'X' " by default save document on desktop
  37. iv_folder = 'report' " in folder by default 'report'
  38. iv_path = '' " IF iv_path IS INITIAL save on desctop or sap_tmp folder
  39. iv_file_name = 'report.docx' " file name by default
  40. iv_no_execute = '' " if filled -- just get document no run office
  41. iv_protect = '' " if filled protect document from editing, but not protect from sequence
  42. "ctrl+a, ctrl+c, ctrl+n, ctrl+v, edit
  43. iv_data = lt_context " root of our data, obligatory
  44.  
  45. iv_no_save = 'X' " just get binary data not save on disk
  46. ).
  47. "--------------------> Semenova
  48. *** DATA lt_merge_fields TYPE TABLE OF abap_compname.
  49. *** DATA lv_xstring TYPE xstring.
  50. *** DATA lv_str TYPE string.
  51. *** DATA lt_context TYPE ztttm_agreement_body.
  52. *** mo_collect_data_helper->get_carrieragr_data(
  53. *** EXPORTING
  54. *** it_key = lt_key
  55. *** IMPORTING
  56. *** es_header = ls_printout-head
  57. *** et_body = ls_printout-body
  58. *** es_footer = ls_printout-footer ).
  59. ***
  60. *** CALL FUNCTION 'ZWWW_OPENFORM'
  61. *** EXPORTING
  62. *** form_name = 'ZTM_CARRIER_AGR_WD'
  63. *** file_name = 'word.docx'
  64. *** file_location = ''
  65. *** printdialog = ''
  66. *** protect = ''
  67. *** optimize = 100
  68. *** debug_mode = ''
  69. *** decimal_separator = '.'
  70. *** close_form = 'X'
  71. *** "delete_file = ''
  72. *** " without_ole = ''
  73. *** " use_jar = 'X'
  74. *** "use_unicode = ''
  75. *** TABLES
  76. *** it_values = lt_val
  77. *** " IT_FILES =
  78. *** EXCEPTIONS
  79. *** printcancel = 1
  80. *** OTHERS = 2.
  81. *** IF sy-subrc <> 0.
  82. *** "Implement suitable error handling here
  83. *** ENDIF.
  84. *** DATA lv_show_consolid TYPE i.
  85. *** "lv_show_consolid = COND i( WHEN mv_show_consolid EQ abap_true THEN 1 ELSE 0 ).
  86. *** " lt_merge_fields = VALUE #( ( 'TOR_ID' ) ).
  87. *** CALL TRANSFORMATION zitl_list_fr_det_rcd
  88. *** SOURCE "XML lt_context
  89. *** it_data = ls_printout"lt_context
  90. *** "it_acc_data = lt_data_acc
  91. *** " iv_show_consolid = lv_show_consolid
  92. *** RESULT XML lv_xstring.
  93. ***
  94. *** " DATA(lv_filename) = |Детализация расчета - { sy-datum } _ { sy-timlo }.docx|.
  95. ***
  96. *** CALL FUNCTION 'ECATT_CONV_XSTRING_TO_STRING'
  97. *** EXPORTING
  98. *** im_xstring = lv_xstring
  99. *** IMPORTING
  100. *** ex_string = lv_str.
  101. ***
  102. ***
  103. *** " REPLACE ALL OCCURRENCES OF text-003 IN lv_str
  104. *** " WITH text-004.
  105. ***
  106. *** CALL FUNCTION 'ECATT_CONV_STRING_TO_XSTRING'
  107. *** EXPORTING
  108. *** im_string = lv_str
  109. *** IMPORTING
  110. *** ex_xstring = lv_xstring.
  111. ***
  112. ***
  113. CALL METHOD cl_wd_runtime_services=>attach_file_to_response
  114. EXPORTING
  115. i_filename = 'word.docx' "lv_filename
  116. i_content = iv_document
  117. i_mime_type = 'application/docx' "'text/docx'
  118. i_in_new_window = abap_false.
  119.  
  120. * cl_wd_runtime_services=>attach_file_to_response(
  121. * i_filename = 'Document.docx'
  122. * i_content = lt_context
  123. * i_mime_type = 'application/docx' ).
  124. *CALL FUNCTION 'ZWWW_PREPARE_TABLE'
  125. * EXPORTING
  126. * line_name = 'HEADER' "имя строки таблицы в шаблоне
  127. * val_type = ''
  128. * TABLES
  129. * IT_ANY_TABLE = ls_printout-body"it_LFA1 "внутренняя таблица с данными
  130. * it_values = lt_val. "таблица для 'ZWWW_OPENFORM'
  131. *
  132. * CALL FUNCTION 'ZWWW_OPENFORM'
  133. * EXPORTING
  134. * form_name = 'ZTM_CARRIER_AGR_WD'
  135. * file_name = 'word.docx'
  136. * file_location = ''
  137. * printdialog = ''
  138. * protect = ''
  139. * optimize = 100
  140. * debug_mode = ''
  141. * decimal_separator = '.'
  142. * close_form = 'X'
  143. * delete_file = ''
  144. * without_ole = ''
  145. * use_jar = 'X'
  146. * use_unicode = ''
  147. * TABLES
  148. * it_values = lt_val
  149. * " IT_FILES =
  150. * EXCEPTIONS
  151. * printcancel = 1
  152. * OTHERS = 2.
  153. * IF sy-subrc <> 0.
  154. * "Implement suitable error handling here
  155. * ENDIF.
  156.  
  157. " Template storage class (tr OAOR -> zcl_xtt_file_oaor, external sources -> ZCL_XTT_FILE_RAW)
  158. "DATA(lo_file) = NEW zcl_xtt_file_smw0( 'word.docx' ).
  159.  
  160. " Excel (Use ZCL_XTT_WORD_DOCX, ZCL_XTT_PDF for word and pdf respectively)
  161. *DATA(lo_xtt) = NEW ZCL_XTT_WORD_DOCX( io_file = 'ZTM_CARRIER_AGR_WD' ).
  162. *
  163. *" R is a marker in the IV_TEMPLATE
  164. *lo_xtt->merge( iv_block_name = 'R'
  165. * is_block = VALUE ts_root(
  166. * begda = pn-begda
  167. * endda = pn-endda
  168. * t = lt_alv
  169. * ) ).
  170.  
  171. " Download to sap_tmp. You could specify path. Show SaveAs dialogue
  172. " Call SHOW( ) for inplace mode
  173. *lo_xtt->download( ).
  174. "CALL METHOD cl_wd_runtime_services=>attach_file_to_response
  175. " EXPORTING
  176. " i_filename = 'word.docx'
  177. " i_content = data
  178. " i_mime_type = 'application/docx'
  179. " i_inplace = abap_false.
  180. "------------------< Semenova 01/04/2021
  181. *
  182. * READ TABLE ls_printout-body INTO DATA(ls_pr) INDEX 1.
  183. * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[AGREEMENT_ID]' val_type = '' value = ls_printout-head-agreement_id ) TO lt_val.
  184. * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[ZZ4]' val_type = '' value = ls_pr-zz4_customers_name ) TO lt_val.
  185. * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[ZZ3]' val_type = '' value = ls_pr-zz3_name_of_the_pers_in_charge ) TO lt_val.
  186. * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[ZZ5]' val_type = '' value = ls_pr-zz5_charter_power_of_attorney ) TO lt_val.
  187. * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[ZZ2]' val_type = '' value = ls_pr-zz2_forwarders_name_ip_llc ) TO lt_val.
  188. * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[ZZ22X]' val_type = '' value = ls_pr-zz22x_head_position ) TO lt_val.
  189. * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[ZZ21X]' val_type = '' value = ls_pr-zz21x_foundation_document ) TO lt_val.
  190. * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[ZZ102_VALIDITY_END]' val_type = '' value = ls_pr-zz102_validity_end ) TO lt_val.
  191. * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[ZZ_CUSTOMERS_NAME_FO]' val_type = '' value = ls_pr-zz_customers_name_fo ) TO lt_val.
  192. * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[POST_DIRECTOR_IP]' val_type = '' value = ls_printout-footer-post_director_ip ) TO lt_val.
  193. * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[POST_DIRECTOR_FIO]' val_type = '' value = ls_printout-footer-post_director_fio ) TO lt_val.
  194. * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[ZZ_FORWARDERS_NAME_FO]' val_type = '' value = ls_pr-zz_forwarders_name_fo ) TO lt_val.
  195. * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[POST_CONTRAGENT_REPRES]' val_type = '' value = ls_printout-footer-post_contragent_repres ) TO lt_val.
  196. * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[CONTRAGENT_REPRES_FIO]' val_type = '' value = ls_printout-footer-contragent_repres_fio ) TO lt_val.
  197. * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[ZZ1]' val_type = '' value = ls_pr-zz1_number_of_contract ) TO lt_val.
  198. * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[ZZ101_VALIDITY_START]' val_type = '' value = ls_pr-zz101_validity_start ) TO lt_val.
  199. * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[ZZ_CUSTOMERS_NAME_FO2]' val_type = '' value = ls_pr-zz_customers_name_fo2 ) TO lt_val.
  200. * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[ZZ_FORWARDERS_NAME_FO2]' val_type = '' value = ls_pr-zz_forwarders_name_fo2 ) TO lt_val.
  201. **
  202. * wdr_task=>client_window->client->attach_file_to_response( i_filename = 'vv.docx'
  203. * i_content = data
  204. * i_mime_type = 'DOCX' ).
  205. *
  206. * CALL FUNCTION 'ZWWW_OPENFORM'
  207. * EXPORTING
  208. * form_name = 'ZTM_CARRIER_AGR_WD' " Имя объекта для SapWWW-шлюза
  209. * file_name = 'C:\TEMP\ZTM_CARRIER_AGR_WD-132151.DOCX' " Каталог и имя файла для выгрузки
  210. ** save_only = space
  211. * printdialog = ''
  212. ** use_unicode = 'X' " Показать диалог печати
  213. ** optimize = 300 " Кол-во строк таблицы,с которого оптимизировать (через Excel
  214. ** debug_mode = '' " Отладочный режим
  215. ** decimal_separator = '.' " Десятичный разделитель для установки в Excel
  216. * TABLES
  217. * it_values = lt_val. " Данные переменных в форме
  218. *
  219. * if sy-subrc <> 0.
  220. ** Implement suitable error handling here
  221. *ENDIF.
  222. ENDMETHOD.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement