Módulo: DOC. EXPORTAÇÃO
Funcionalidade: CE Reports
Data/Hora da Publicação: 03/05/2007 00:00:00
Data/Hora Última Alteração: 21/02/2011 17:37:15
Descrição da Nota: REPORT EXCEL AUTOMATIZAÇÃO DO IDIOMA
Sintoma
Será necessário automatizar a seleção de idioma no report Excel.
Solução
Criado dois parâmetros adicionais onde o usuário poderá escolher o idioma do sy-langu ou do cadastro
do cliente ou ainda um outro idioma qualquer independente do sy-langu.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03603 Data: 03/05/2007 Hora: 14:35:14
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03603
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00001
Agrupamento : 00164
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03365 - 00001 - 6.0 - 00026 - REPORT EXCEL PARA A EMISSÃO DO DOCUMENTO SAQUE A PRAZO
----------------------------------------------------------------------------------------------------
REPORT EXCEL AUTOMATIZAÇÃO DO IDIOMA
----------------------------------------------------------------------------------------------------
Palavras Chave:
IDIOMA, AUTOMATIZAR IDIOMA, SAQUE Á PRAZO, SY-LANGU
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCRR017
REPT /PWS/ZYCRR017
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCRR017
...
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS r_s2_ft RADIOBUTTON GROUP s2.
SELECTION-SCREEN COMMENT 4(15) text-004.
PARAMETERS p_s2_ft(132) TYPE c MODIF ID s2f LOWER CASE
VISIBLE LENGTH 35.
PARAMETERS p_f2_ft(132) TYPE c MODIF ID s2f LOWER CASE
VISIBLE LENGTH 15.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b3.
* >> Início da inclusão:
SELECTION-SCREEN BEGIN OF BLOCK b6 WITH FRAME TITLE text-007.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS r_s3_db RADIOBUTTON GROUP s3 USER-COMMAND radio DEFAULT 'X'.
SELECTION-SCREEN COMMENT 4(23) text-008.
PARAMETERS p_s3_db TYPE /PWS/ZYCRT009-spras MODIF ID s3d
DEFAULT sy-langu.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS r_s3_ft RADIOBUTTON GROUP s3.
SELECTION-SCREEN COMMENT 4(17) text-009.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b6.
* << Fim da inclusão
SELECTION-SCREEN BEGIN OF BLOCK b4 WITH FRAME TITLE text-005.
PARAMETERS: p_un_vol TYPE t006-msehi OBLIGATORY DEFAULT 'M3'
MATCHCODE OBJECT h_unit_volume.
SELECTION-SCREEN END OF BLOCK b4.
SELECTION-SCREEN BEGIN OF BLOCK b5 WITH FRAME TITLE text-006.
PARAMETERS: p_print TYPE /pws/zycrl017 AS CHECKBOX,
p_prev TYPE /pws/zycrl018 AS CHECKBOX,
p_email TYPE /pws/zycrl019 AS CHECKBOX,
p_noshow TYPE /pws/zycrl020 AS CHECKBOX,
p_passwd(132) TYPE c LOWER CASE.
...
...
IF r_s2_db = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'S2F'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-group1 = 'S2D'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
* >> Início da inclusão:
IF r_s3_db = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'S3F'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-group1 = 'S3D'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
* << Fim da inclusão
START-OF-SELECTION.
PERFORM select_data
USING
p_nrseq
CHANGING
wa_cabecalho
it_zterm
* >> Início da exclusão:
it_itens[].
* << Fim da exclusão
* >> Início da inclusão:
it_itens[]
v_langu.
* << Fim da inclusão
IF wa_cabecalho IS INITIAL
OR it_itens[] IS INITIAL.
MESSAGE e031.
ENDIF.
PERFORM select_parameters
USING
p_repmod
p_report
* >> Início da exclusão:
sy-langu
* << Fim da exclusão
* >> Início da inclusão:
v_langu
* << Fim da inclusão
wa_cabecalho-zycet001-bukrs
wa_cabecalho-zycet001-werks
wa_cabecalho-j_1bbranch
wa_cabecalho-zycet001-inco1
wa_cabecalho-zycet046-zterm
''
''
''
''
''
...
...
CHANGING
wa_gen_param
wa_rep_param
it_matrix[]
it_report_fields[].
IF wa_gen_param IS INITIAL
OR wa_rep_param IS INITIAL
OR it_matrix[] IS INITIAL.
msg_module = p_repmod.
msg_report = p_report.
* >> Início da exclusão:
msg_langu = sy-langu.
* << Fim da exclusão
* >> Início da inclusão:
msg_langu = v_langu.
* << Fim da inclusão
msg_bukrs = wa_cabecalho-zycet001-bukrs.
msg_werks = wa_cabecalho-zycet001-werks.
msg_branch = wa_cabecalho-j_1bbranch.
msg_inco1 = wa_cabecalho-zycet001-inco1.
msg_zterm = wa_cabecalho-zycet046-zterm.
MESSAGE e000.
ENDIF.
PERFORM create_excel_content_table
USING
it_itens[]
...
...
it_sect_height[]
it_generation_options[].
LEAVE PROGRAM.
END-OF-SELECTION.
FORM select_data
USING
p_nrseq TYPE /pws/zycet001-nrseq
CHANGING
p_cabecalho TYPE s_cabecalho
p_zterm TYPE t_zterm
* >> Início da exclusão: FORM SELECT_DATA
p_t_itens TYPE t_itens.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECT_DATA
p_t_itens TYPE t_itens
v_langu TYPE /PWS/ZYCRT009-spras.
* << Fim da inclusão
DATA: l_subrc TYPE sy-subrc,
l_ntgew TYPE ntgew_15,
l_brgew TYPE brgew_15,
l_volum TYPE volum_15,
it_vtopis TYPE STANDARD TABLE OF vtopis,
vl_fob TYPE /pws/zycet002-vlfob,
vl_des type /pws/zycet002-vldesconto,
vl_fre type /pws/zycet002-vlfrete,
vl_seg type /pws/zycet002-vlseguro,
vl_acr type /pws/zycet002-vlacrescimo,
...
...
INTO p_cabecalho-zycet047
FROM /pws/zycet047
WHERE nrseq = p_nrseq.
SELECT zterm ratnr ratpz ratzt
INTO table p_zterm
FROM T052S
WHERE zterm = p_cabecalho-zycet046-zterm.
IF SY-SUBRC <> 0.
p_cabecalho-cp_zterm = 1.
ENDIF.
* >> Início da inclusão: FORM SELECT_DATA
PERFORM select_idioma
USING
r_s3_db
p_s3_db
r_s3_ft
wa_cabecalho-zycet001-codportd
CHANGING
v_langu.
* << Fim da inclusão
CALL FUNCTION 'J_1B_BRANCH_DETERMINE'
EXPORTING
company = p_cabecalho-zycet001-bukrs
plant = p_cabecalho-zycet001-werks
IMPORTING
branch = p_cabecalho-j_1bbranch
EXCEPTIONS
branch_not_found = 0
plant_not_found = 0
valuation_area_not_found = 0
company_not_found = 0
OTHERS = 0.
p_cabecalho-sy_datlo = sy-datlo.
CALL FUNCTION '/PWS/ZYCR_DATA_EXTENSO'
EXPORTING
data = p_cabecalho-sy_datlo
* >> Início da exclusão: FORM SELECT_DATA
spras = sy-langu
* << Fim da exclusão
* >> Início da inclusão: FORM SELECT_DATA
spras = v_langu
* << Fim da inclusão
IMPORTING
data_extenso = p_cabecalho-sy_datlo_t.
p_cabecalho-dtb_venc = p_cabecalho-zycet001-dtemb.
IF NOT p_cabecalho-dtb_venc IS INITIAL.
CALL FUNCTION '/PWS/ZYCR_DATA_EXTENSO'
EXPORTING
data = p_cabecalho-dtb_venc
* >> Início da exclusão: FORM SELECT_DATA
spras = sy-langu
* << Fim da exclusão
* >> Início da inclusão: FORM SELECT_DATA
spras = v_langu
* << Fim da inclusão
IMPORTING
data_extenso = p_cabecalho-dtb_venc_t.
ENDIF.
CALL FUNCTION 'SD_PRINT_TERMS_OF_PAYMENT'
EXPORTING
bldat = p_cabecalho-dtb_venc
terms_of_payment = p_cabecalho-zycet046-zterm
IMPORTING
zfbdt = p_cabecalho-dtb_venc_parc
TABLES
top_text = it_vtopis
EXCEPTIONS
terms_of_payment_not_in_t052 = 1
OTHERS = 2.
IF sy-subrc = 0 AND NOT p_cabecalho-dtb_venc_parc IS INITIAL.
CALL FUNCTION '/PWS/ZYCR_DATA_EXTENSO'
EXPORTING
data = p_cabecalho-dtb_venc_parc
* >> Início da exclusão: FORM SELECT_DATA
spras = sy-langu
* << Fim da exclusão
* >> Início da inclusão: FORM SELECT_DATA
spras = v_langu
* << Fim da inclusão
IMPORTING
data_extenso = p_cabecalho-dtb_venc_parc_t.
ENDIF.
PERFORM get_country_name
USING
* >> Início da exclusão: FORM SELECT_DATA
sy-langu
* << Fim da exclusão
* >> Início da inclusão: FORM SELECT_DATA
v_langu
* << Fim da inclusão
p_cabecalho-zycet001-paisdest
CHANGING
p_cabecalho-nome_paisdest.
PERFORM get_domain_description
USING
'/PWS/ZYCID081'
p_cabecalho-zycet001-viatrans
* >> Início da exclusão: FORM SELECT_DATA
sy-langu
* << Fim da exclusão
* >> Início da inclusão: FORM SELECT_DATA
v_langu
* << Fim da inclusão
CHANGING
p_cabecalho-meio_transp
l_subrc.
SELECT SINGLE waers
INTO p_cabecalho-waers
FROM /pws/zycet008
WHERE nrseq = p_cabecalho-zycet001-nrseq.
PERFORM spell_currency_amount
USING
p_cabecalho-vl_tot_vend
p_cabecalho-waers
* >> Início da inclusão: FORM SELECT_DATA
v_langu
* << Fim da inclusão
CHANGING
p_cabecalho-vl_tot_vend_txt.
PERFORM fill_users_names_info
USING
r_s1_db
p_s1_db
p_s1_ft
p_f1_ft
r_s2_db
p_s2_db
...
...
terms_of_payment_not_in_t052 = 1
OTHERS = 2.
IF sy-subrc = 0 AND NOT p_header-dtb_venc_parc IS INITIAL.
READ TABLE it_vtopis[] INTO wa_it_vtopis INDEX 1.
IF sy-subrc eq 0.
MOVE wa_it_vtopis-hdatum TO p_header-dtb_venc_parc.
ENDIF.
CALL FUNCTION '/PWS/ZYCR_DATA_EXTENSO'
EXPORTING
data = p_header-dtb_venc_parc
* >> Início da exclusão: FORM CREATE_EXCEL_CONTENT_TABLE
spras = sy-langu
* << Fim da exclusão
* >> Início da inclusão: FORM CREATE_EXCEL_CONTENT_TABLE
spras = v_langu
* << Fim da inclusão
IMPORTING
data_extenso = p_header-dtb_venc_parc_t.
ENDIF.
PERFORM spell_currency_amount
USING
p_header-vl_tot_vend
p_header-waers
* >> Início da inclusão: FORM CREATE_EXCEL_CONTENT_TABLE
v_langu
* << Fim da inclusão
CHANGING
p_header-vl_tot_vend_txt.
PERFORM append_new_section
USING
'A'
current_row
CHANGING
p_t_excel_content[].
PERFORM fill_header_fields
USING
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/ZYCRR017
Criados os símbolos de texto, idioma PT
Nº Texto Comp. máximo
007 Idioma 6
008 Idioma do Logon / Livre 30
009 Idioma do Cliente 30