Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- METHOD get_carrieragr_data_wd.
- DATA:
- lt_key TYPE /bobf/t_frw_key,
- data TYPE xstring,
- ls_printout TYPE zstm_agreement_printout,
- lv_i TYPE i VALUE '1', "Счетчик для позиций
- lt_val TYPE TABLE OF zwww_values.
- lt_key = it_key.
- mo_collect_data_helper->get_carrieragr_data(
- EXPORTING
- it_key = lt_key
- IMPORTING
- es_header = ls_printout-head
- et_body = ls_printout-body
- es_footer = ls_printout-footer ).
- TYPES:
- BEGIN OF t_data,
- agreement TYPE string,
- zz4 TYPE string,
- zz3 TYPE string,
- END OF t_data,
- tt_data TYPE TABLE OF t_data WITH EMPTY KEY.
- DATA lt_context TYPE t_data.
- lt_context-agreement = 'TESTOVIE DANNIE'.
- lt_context-zz3 = 'Текст 2'.
- lt_context-zz4 = 'text431321'.
- DATA(iv_document) = zcl_document_to_word=>get_document(
- iv_w3objid = 'ZWORD_TEMPLATE2' " name of our template, obligatory
- iv_on_desktop = 'X' " by default save document on desktop
- iv_folder = 'report' " in folder by default 'report'
- iv_path = '' " IF iv_path IS INITIAL save on desctop or sap_tmp folder
- iv_file_name = 'report.docx' " file name by default
- iv_no_execute = '' " if filled -- just get document no run office
- iv_protect = '' " if filled protect document from editing, but not protect from sequence
- "ctrl+a, ctrl+c, ctrl+n, ctrl+v, edit
- iv_data = lt_context " root of our data, obligatory
- iv_no_save = 'X' " just get binary data not save on disk
- ).
- "--------------------> Semenova
- *** DATA lt_merge_fields TYPE TABLE OF abap_compname.
- *** DATA lv_xstring TYPE xstring.
- *** DATA lv_str TYPE string.
- *** DATA lt_context TYPE ztttm_agreement_body.
- *** mo_collect_data_helper->get_carrieragr_data(
- *** EXPORTING
- *** it_key = lt_key
- *** IMPORTING
- *** es_header = ls_printout-head
- *** et_body = ls_printout-body
- *** es_footer = ls_printout-footer ).
- ***
- *** CALL FUNCTION 'ZWWW_OPENFORM'
- *** EXPORTING
- *** form_name = 'ZTM_CARRIER_AGR_WD'
- *** file_name = 'word.docx'
- *** file_location = ''
- *** printdialog = ''
- *** protect = ''
- *** optimize = 100
- *** debug_mode = ''
- *** decimal_separator = '.'
- *** close_form = 'X'
- *** "delete_file = ''
- *** " without_ole = ''
- *** " use_jar = 'X'
- *** "use_unicode = ''
- *** TABLES
- *** it_values = lt_val
- *** " IT_FILES =
- *** EXCEPTIONS
- *** printcancel = 1
- *** OTHERS = 2.
- *** IF sy-subrc <> 0.
- *** "Implement suitable error handling here
- *** ENDIF.
- *** DATA lv_show_consolid TYPE i.
- *** "lv_show_consolid = COND i( WHEN mv_show_consolid EQ abap_true THEN 1 ELSE 0 ).
- *** " lt_merge_fields = VALUE #( ( 'TOR_ID' ) ).
- *** CALL TRANSFORMATION zitl_list_fr_det_rcd
- *** SOURCE "XML lt_context
- *** it_data = ls_printout"lt_context
- *** "it_acc_data = lt_data_acc
- *** " iv_show_consolid = lv_show_consolid
- *** RESULT XML lv_xstring.
- ***
- *** " DATA(lv_filename) = |Детализация расчета - { sy-datum } _ { sy-timlo }.docx|.
- ***
- *** CALL FUNCTION 'ECATT_CONV_XSTRING_TO_STRING'
- *** EXPORTING
- *** im_xstring = lv_xstring
- *** IMPORTING
- *** ex_string = lv_str.
- ***
- ***
- *** " REPLACE ALL OCCURRENCES OF text-003 IN lv_str
- *** " WITH text-004.
- ***
- *** CALL FUNCTION 'ECATT_CONV_STRING_TO_XSTRING'
- *** EXPORTING
- *** im_string = lv_str
- *** IMPORTING
- *** ex_xstring = lv_xstring.
- ***
- ***
- CALL METHOD cl_wd_runtime_services=>attach_file_to_response
- EXPORTING
- i_filename = 'word.docx' "lv_filename
- i_content = iv_document
- i_mime_type = 'application/docx' "'text/docx'
- i_in_new_window = abap_false.
- * cl_wd_runtime_services=>attach_file_to_response(
- * i_filename = 'Document.docx'
- * i_content = lt_context
- * i_mime_type = 'application/docx' ).
- *CALL FUNCTION 'ZWWW_PREPARE_TABLE'
- * EXPORTING
- * line_name = 'HEADER' "имя строки таблицы в шаблоне
- * val_type = ''
- * TABLES
- * IT_ANY_TABLE = ls_printout-body"it_LFA1 "внутренняя таблица с данными
- * it_values = lt_val. "таблица для 'ZWWW_OPENFORM'
- *
- * CALL FUNCTION 'ZWWW_OPENFORM'
- * EXPORTING
- * form_name = 'ZTM_CARRIER_AGR_WD'
- * file_name = 'word.docx'
- * file_location = ''
- * printdialog = ''
- * protect = ''
- * optimize = 100
- * debug_mode = ''
- * decimal_separator = '.'
- * close_form = 'X'
- * delete_file = ''
- * without_ole = ''
- * use_jar = 'X'
- * use_unicode = ''
- * TABLES
- * it_values = lt_val
- * " IT_FILES =
- * EXCEPTIONS
- * printcancel = 1
- * OTHERS = 2.
- * IF sy-subrc <> 0.
- * "Implement suitable error handling here
- * ENDIF.
- " Template storage class (tr OAOR -> zcl_xtt_file_oaor, external sources -> ZCL_XTT_FILE_RAW)
- "DATA(lo_file) = NEW zcl_xtt_file_smw0( 'word.docx' ).
- " Excel (Use ZCL_XTT_WORD_DOCX, ZCL_XTT_PDF for word and pdf respectively)
- *DATA(lo_xtt) = NEW ZCL_XTT_WORD_DOCX( io_file = 'ZTM_CARRIER_AGR_WD' ).
- *
- *" R is a marker in the IV_TEMPLATE
- *lo_xtt->merge( iv_block_name = 'R'
- * is_block = VALUE ts_root(
- * begda = pn-begda
- * endda = pn-endda
- * t = lt_alv
- * ) ).
- " Download to sap_tmp. You could specify path. Show SaveAs dialogue
- " Call SHOW( ) for inplace mode
- *lo_xtt->download( ).
- "CALL METHOD cl_wd_runtime_services=>attach_file_to_response
- " EXPORTING
- " i_filename = 'word.docx'
- " i_content = data
- " i_mime_type = 'application/docx'
- " i_inplace = abap_false.
- "------------------< Semenova 01/04/2021
- *
- * READ TABLE ls_printout-body INTO DATA(ls_pr) INDEX 1.
- * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[AGREEMENT_ID]' val_type = '' value = ls_printout-head-agreement_id ) TO lt_val.
- * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[ZZ4]' val_type = '' value = ls_pr-zz4_customers_name ) TO lt_val.
- * 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.
- * 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.
- * 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.
- * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[ZZ22X]' val_type = '' value = ls_pr-zz22x_head_position ) TO lt_val.
- * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[ZZ21X]' val_type = '' value = ls_pr-zz21x_foundation_document ) TO lt_val.
- * 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.
- * 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.
- * 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.
- * 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.
- * 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.
- * 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.
- * 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.
- * APPEND VALUE #( var_name = 'HEADER' var_num = lv_i find_text = '[ZZ1]' val_type = '' value = ls_pr-zz1_number_of_contract ) TO lt_val.
- * 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.
- * 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.
- * 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.
- **
- * wdr_task=>client_window->client->attach_file_to_response( i_filename = 'vv.docx'
- * i_content = data
- * i_mime_type = 'DOCX' ).
- *
- * CALL FUNCTION 'ZWWW_OPENFORM'
- * EXPORTING
- * form_name = 'ZTM_CARRIER_AGR_WD' " Имя объекта для SapWWW-шлюза
- * file_name = 'C:\TEMP\ZTM_CARRIER_AGR_WD-132151.DOCX' " Каталог и имя файла для выгрузки
- ** save_only = space
- * printdialog = ''
- ** use_unicode = 'X' " Показать диалог печати
- ** optimize = 300 " Кол-во строк таблицы,с которого оптимизировать (через Excel
- ** debug_mode = '' " Отладочный режим
- ** decimal_separator = '.' " Десятичный разделитель для установки в Excel
- * TABLES
- * it_values = lt_val. " Данные переменных в форме
- *
- * if sy-subrc <> 0.
- ** Implement suitable error handling here
- *ENDIF.
- ENDMETHOD.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement