Módulo: CÂMBIO FINANCEIRO
Funcionalidade: SISCOSERV
Data/Hora da Publicação: 08/03/2013 00:00:00
Data/Hora Última Alteração: 08/04/2013 16:20:30
Descrição da Nota: SISCOSERV
Sintoma
Adequação da Geração de XML para versões Unicode e não-Unicode do SAP
Solução
Adequação da Geração de XML para versões Unicode e não-Unicode do SAP
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 12842 Data: 08/03/2013 Hora: 16:27:36
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 12842
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 9.0
Pacote : 00003
Agrupamento : 00149
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
12480 - 00001 - 9.0 - 00001 - SISCOSERV
12684 - 00002 - 9.0 - 00002 - VALOR DA MERCADORIA INCORRETO NO DETALHE DO ITEM (ANA)
12811 - 00003 - 9.0 - 00003 - SISCOSERV
----------------------------------------------------------------------------------------------------
SISCOSERV
----------------------------------------------------------------------------------------------------
Palavras Chave:
SISCOSERV - GERAÇÃO DE XML
----------------------------------------------------------------------------------------------------
Objetos da nota:
DOMA /PWS/ZYGLD983
DTEL /PWS/ZYGLL1546
TABD /PWS/ZYCAE003
FUNC /PWS/ZYCA_FILA_SISCOSERV
FUNC /PWS/ZYCA_GERA_XML_SISCOSERV
REPS /PWS/LZYCAGFO01
REPS /PWS/LZYCAGFTOP
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DOMA /PWS/ZYGLD983
------------------------------------------------------------------------
Domínio incluído: /PWS/ZYGLD983
Descrição breve incluída (21 caracteres), idioma: PT
"Linha XML - Siscoserv"
Classe de desenvolvimento: /PWS/ZYGL
Idioma original: PT
Categoria de dados: RAW
Número de posições: 256
Comprimento de saída: 512
Rotina de conversão:
Incluída tabela de valores:
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DTEL /PWS/ZYGLL1546
------------------------------------------------------------------------
Elemento de dados incluído: /PWS/ZYGLL1546
Classe de desenvolvimento: /PWS/ZYGL
Idioma original: PT
Descrição breve incluída: (21 caracteres), idioma: PT
"Linha XML - Siscoserv"
Categoria de dados: Domínio
Domínio: /PWS/ZYGLD983
ID parâmetro:
Nome componente default:
Documentar modificações: NÃO
Nome da ajuda de pesquisa:
Parâmetro da ajuda de pesquisa:
Comprimento máximo do denominador breve: 10
Denominador breve incluído (3 caracteres), idioma: PT
"XML"
Comprimento máximo do denominador médio: 15
Denominador médio incluído (9 caracteres), idioma: PT
"Linha XML"
Comprimento máximo do denominador longo: 20
Denominador longo incluído (9 caracteres), idioma: PT
"Linha XML"
Comprimento máximo do título: 09
Título incluído (9 caracteres), idioma: PT
"Linha XML"
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCAE003
Alterar o TipoComponente do campo XML para /PWS/ZYGLL1546
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCA_FILA_SISCOSERV
FUNCTION /pws/zyca_fila_siscoserv.
DATA: itab_zycat030 TYPE TABLE OF /pws/zycat030,
itab_zycat031 TYPE TABLE OF /pws/zycat031,
itab_zycat034 TYPE TABLE OF /pws/zycat034,
itab_zycat036 TYPE TABLE OF /pws/zycat036,
itab_zycat037 TYPE TABLE OF /pws/zycat037,
itab_zycat038 TYPE TABLE OF /pws/zycat038,
* >> Início da exclusão: FUNCTION /PWS/ZYCA_FILA_SISCOSERV
it_xml TYPE STANDARD TABLE OF char256.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCA_FILA_SISCOSERV
it_xml TYPE STANDARD TABLE OF /pws/zygll1546.
* << Fim da inclusão
DATA: wa_zycat030 TYPE /pws/zycat030,
wa_zycat031 TYPE /pws/zycat031,
wa_zycat034 TYPE /pws/zycat034,
wa_zycat036 TYPE /pws/zycat036,
wa_zycat037 TYPE /pws/zycat037,
wa_zycat038 TYPE /pws/zycat038,
wa_zycat039 TYPE /pws/zycat039,
wa_zycae002 TYPE /pws/zycae002,
wa_zycae003 TYPE /pws/zycae003,
* >> Início da exclusão: FUNCTION /PWS/ZYCA_FILA_SISCOSERV
wa_xml TYPE char256.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCA_FILA_SISCOSERV
wa_xml TYPE /pws/zygll1546.
* << Fim da inclusão
DATA: v_cgc_number TYPE j_1bwfield-cgc_number,
v_indice TYPE /pws/zycat038-indice_xml,
v_tabix TYPE sy-tabix,
v_funcionalidade TYPE /pws/zyglt390-programa,
v_identificador TYPE /pws/zyglt390-identificador.
SELECT * FROM /pws/zycat038
INTO TABLE itab_zycat038
WHERE ( prot_transm = ' ' AND
status = ' ' ) OR
( prot_transm NE ' ' AND
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCA_GERA_XML_SISCOSERV
...
document TYPE REF TO if_ixml_document,
encoding TYPE REF TO if_ixml_encoding,
stream_factory TYPE REF TO if_ixml_stream_factory,
stream TYPE REF TO if_ixml_ostream,
renderer TYPE REF TO if_ixml_renderer.
DATA:
element_principal TYPE REF TO if_ixml_element,
element_operacao TYPE REF TO if_ixml_element,
element_enquad TYPE REF TO if_ixml_element,
element_re_di TYPE REF TO if_ixml_element.
* >> Início da exclusão: FUNCTION /PWS/ZYCA_GERA_XML_SISCOSERV
DATA: wa_xml TYPE char256,
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCA_GERA_XML_SISCOSERV
DATA: wa_xml TYPE /pws/zygll1546,
* << Fim da inclusão
v_split TYPE string,
v_split1 TYPE string,
v_split2 TYPE string,
v_lines TYPE i,
v_len_spl type i,
v_len_xml type i,
* >> Início da exclusão: FUNCTION /PWS/ZYCA_GERA_XML_SISCOSERV
it_xml_aux TYPE STANDARD TABLE OF char256.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCA_GERA_XML_SISCOSERV
it_xml_aux TYPE STANDARD TABLE OF /pws/zygll1546.
* << Fim da inclusão
CLEAR ixml.
REFRESH: it_xml, it_xml_aux.
IF i_processo NE 'ERVS' and
i_processo NE 'ERAS' and
i_processo NE 'EARVS' and
i_processo NE 'EARAS'.
CALL METHOD cl_ixml=>create
RECEIVING
rval = ixml.
CALL METHOD ixml->create_document
...
...
rval = stream.
CALL METHOD ixml->create_renderer
EXPORTING
document = document
ostream = stream
RECEIVING
rval = renderer.
CALL METHOD renderer->render
RECEIVING
rval = ret_code.
* >> Início da exclusão: FUNCTION /PWS/ZYCA_GERA_XML_SISCOSERV
PERFORM converte_it_xml.
DESCRIBE TABLE it_xml LINES v_lines.
it_xml_aux[] = it_xml[].
REFRESH it_xml.
LOOP AT it_xml_aux INTO wa_xml.
IF sy-tabix < v_lines.
APPEND wa_xml TO it_xml.
ELSE.
v_len_spl = strlen( v_split ).
v_len_xml = strlen( wa_xml ).
if v_len_xml < v_len_spl.
v_len_spl = v_len_spl - v_len_xml.
v_split = v_split+v_len_spl(v_len_xml).
endif.
SPLIT wa_xml AT v_split INTO v_split1 v_split2.
CLEAR wa_xml.
CONCATENATE v_split1 v_split INTO wa_xml.
CONDENSE wa_xml.
APPEND wa_xml TO it_xml.
ENDIF.
ENDLOOP.
* << Fim da exclusão
IF NOT it_xml[] IS INITIAL.
PERFORM grava_xml TABLES i_zycat031
USING i_zycat030
i_zycat039
i_processo.
ELSE.
RAISE xml_error.
ENDIF.
IF NOT i_path IS INITIAL.
CONCATENATE i_path i_processo INTO v_path.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCAGFO01
...
SET PF-STATUS '0002'.
SET TITLEBAR '0002'.
ENDMODULE.
MODULE cria_html OUTPUT.
DATA: html_viewer TYPE REF TO cl_gui_html_viewer,
my_container TYPE REF TO cl_gui_custom_container,
evt_receiver TYPE REF TO cl_myevent_handler,
myevent_tab TYPE cntl_simple_events,
myevent TYPE cntl_simple_event,
v_url(80) TYPE c.
* >> Início da inclusão: MODULE CRIA_HTML
data: it_xml_aux type table of char256,
wa_xml type /pws/zygll1546,
v_null(4) type x,
v_lines type i,
v_split1(256) type c,
v_split2(256) type c.
field-symbols: <fs_xml> type c,
<fs_null> type c.
* << Fim da inclusão
IF my_container IS INITIAL.
CREATE OBJECT my_container
EXPORTING
container_name = 'CC_HTML'
EXCEPTIONS
others = 1.
CASE sy-subrc.
WHEN 0.
WHEN OTHERS.
RAISE cntl_error.
...
...
ENDIF.
myevent-eventid = html_viewer->m_id_navigate_complete.
myevent-appl_event = 'X'.
APPEND myevent TO myevent_tab.
CALL METHOD html_viewer->set_registered_events
EXPORTING
events = myevent_tab.
CREATE OBJECT evt_receiver.
SET HANDLER evt_receiver->on_navigate_complete
FOR html_viewer.
* >> Início da inclusão: MODULE CRIA_HTML
if sy-saprl(2) eq '46'. "#EC PORTABLE
refresh it_xml_aux.
describe table it_xml lines v_lines.
assign v_null to <fs_null> casting.
loop at it_xml into wa_xml.
if sy-tabix < v_lines.
assign wa_xml to <fs_xml> casting.
append <fs_xml> to it_xml_aux.
else.
split <fs_xml> at <fs_null>(1) into v_split1 v_split2.
append v_split1 to it_xml_aux.
endif.
endloop.
call method html_viewer->load_data
exporting
type = 'HTML'
subtype = 'XML'
importing
assigned_url = v_url
changing
data_table = it_xml_aux
exceptions
dp_invalid_parameter = 1
dp_error_general = 2.
call method html_viewer->show_url
exporting
url = v_url
exceptions
cntl_error = 1.
else.
* << Fim da inclusão
CALL METHOD html_viewer->load_data
EXPORTING
type = 'HTML'
subtype = 'XML'
IMPORTING
assigned_url = v_url
CHANGING
data_table = it_xml
EXCEPTIONS
dp_invalid_parameter = 1
dp_error_general = 2.
* >> Início da inclusão: MODULE CRIA_HTML
endif.
* << Fim da inclusão
CALL METHOD html_viewer->show_url
EXPORTING
url = v_url
EXCEPTIONS
cntl_error = 1.
ENDIF.
ENDMODULE.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCAGFTOP
...
hora type /pws/zycat038-hora,
prot_transm type /pws/zycat038-prot_transm,
status type /pws/zycat038-status,
status_t(25) type c,
cod_erro type /pws/zycat038-cod_erro,
cod_erro_t type /pws/zycat040-mensagem,
indice_xml type /pws/zycat038-indice_xml,
end of ty_zycat038_alv.
data:
attrib_value type string,
* >> Início da exclusão:
it_xml type standard table of char256,
* << Fim da exclusão
* >> Início da inclusão:
it_xml type standard table of /pws/zygll1546,
* << Fim da inclusão
ret_code type i,
size_it_xml type i,
wa_zycat030 type /pws/zycat030,
v_exibe type c,
v_okcode type sy-ucomm,
it_zycat038_alv type table of ty_zycat038_alv.
data: itab_zycat031_alt type table of /pws/zycat031,
wa_zycat031 type /pws/zycat031,
wa_toolbar type stb_button.
class lcl_event_handler_log definition.
...