Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Transmissão Siscomex
Data/Hora da Publicação: 09/05/2007 00:00:00
Data/Hora Última Alteração: 09/03/2010 09:37:59
Descrição da Nota: CHAMADA DE EXIT NA FUNÇÃO DE TRANSMISSÃO DA DI PARA ESPECÍFICO
Sintoma
Necessário chamada de exit no programa de transmissão da DI para tratamento específico na conta
bancária do fornecedor, da pasta pagamento da DI.
Solução
CRIAR CHAMADA DE EXIT TD001 NA FUNÇÃO /PWS/ZICI_TRANSFER_DI .
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03640 Data: 09/05/2007 Hora: 11:45:17
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03640
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00001
Agrupamento : 00166
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
CHAMADA DE EXIT NA FUNÇÃO DE TRANSMISSÃO DA DI PARA ESPECÍFICO
----------------------------------------------------------------------------------------------------
Palavras Chave:
CHAMADA DE EXIT - FUNÇÃO DE TRANSMISSÃO DA DI -
/PWS/ZICI_TRANSFER_DI - TRATAMENTO ESPECÍFICO
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCI_TRANSFER_DI
REPS /PWS/LZYCIGF5F01
REPS /PWS/LZYCIGF5TOP
REPS /PWS/LZYCIGF5X01
REPS /PWS/SAPLZYCIGF5
REPT /PWS/LZYCIGF5X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_TRANSFER_DI
...
* Seleciona as tabelas transparentes usadas na função.
TABLES: /pws/zycit001 ,
/pws/zycit014 , " CI-BL/AWB/CRT - Dados Complementares
/pws/zycit049 , " CI-Itens Prest.Ctas.-Dados Congelados p/NF
/pws/zycie085 , " CI - DI 2
/pws/zycit085 , " CI - DI 2
/pws/zycit086 , " CI - Documento de Instrução de Despacho
/pws/zycit087 , " CI - Processo Vinculado
/pws/zycit093 , " CI - BL 2
/pws/zycit094 ,
/pws/zycit095 ,
/pws/zycit096 , " CI - Armazéns
/pws/zycit100 , " CI - Itens da DSI
/pws/zycit115 , " CI - Documento Vinculado
/pws/zycit116 , " CI - Cab. Adições
/pws/zycit118 , " CI - Nomenclatura de Vl.Aduaneiro e Estat.
/pws/zycit121 , " CI - Pagamentos
/pws/zycie100t, "
/pws/zycie122a, " CI - Acréscimos - SISCOMEX
/pws/zycie123a, " CI - Deduções - SISCOMEX (Valores e moeda)
/pws/zycit122 , " CI - SISCOMEX - Acréscimo
/pws/zycit124 , " CI - Parcelas Variáveis
/pws/zycft007 , " CF - Historico de Processamento de Carga
/pws/zycie006 , " CI - Fatura
/pws/zycit263 , " CI - Faturas de Mercadora
/pws/zycit080 , " CI - Itens do Fornecedor
lfa1 , " Mestre de fornecedores
t005u ,
lfbk , " Mestre de fornecedores (coordenadas do banco)
t001 .
* >> Início da exclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
DATA: wa_019 LIKE /pws/zycit019,
wa_122 LIKE /pws/zycit122,
wa_085 LIKE /pws/zycit085,
wa_093 LIKE /pws/zycit093,
wa_003 LIKE /pws/zycit003,
wa_lfa1 LIKE lfa1,
wa_adrc LIKE adrc.
DATA: it_116 LIKE /pws/zycie116 OCCURS 0 WITH HEADER LINE,
it_001 LIKE /pws/zycie001 OCCURS 0 WITH HEADER LINE,
it_122 LIKE /pws/zycie122a OCCURS 0 WITH HEADER LINE,
it_123 LIKE /pws/zycie123a OCCURS 0 WITH HEADER LINE,
it_019 LIKE /pws/zycit019 OCCURS 0 WITH HEADER LINE,
it_039 LIKE /pws/zycit039 OCCURS 0 WITH HEADER LINE,
it_114 LIKE /pws/zycit114 OCCURS 0 WITH HEADER LINE,
it_200 LIKE /pws/zycit200 OCCURS 0 WITH HEADER LINE,
it_031 LIKE /pws/zycit031 OCCURS 0 WITH HEADER LINE,
rtexti LIKE tline OCCURS 0 WITH HEADER LINE,
it_lfbk LIKE lfbk OCCURS 0 WITH HEADER LINE,
it_fat_merc_di LIKE /pws/zycit263 OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF it_049 OCCURS 0.
INCLUDE STRUCTURE /pws/zycie049 .
DATA: tipo LIKE /pws/zycit019-tipo ,
coddesp LIKE /pws/zycit019-coddesp ,
codigo LIKE /pws/zycit019-codigo ,
vldp_aux LIKE /pws/zycie049-vldp ,
divabs LIKE /pws/zycit039-divabs ,
END OF it_049 .
DATA: v_txtpais(20),
v_txtw(60),
v_comp(18),
v_obs(8000),
v_naladi(8) VALUE ' ',
v_nancca(7) VALUE ' ',
v_add TYPE i,
v_line TYPE i,
v_line2 TYPE i,
v_len TYPE i,
v_i1 TYPE i,
v_id LIKE sy-index,
v_idx LIKE sy-tabix,
v_obs1 LIKE /pws/zycie116a-complementares,
v_txtki LIKE thead-tdname,
v_moeda LIKE /pws/zycit049-waers,
s_tax LIKE /pws/zycie085-ukursfob,
v_vldp LIKE /pws/zycie049-vldp,
v_vldpr LIKE /pws/zycie049-vldp,
v_tmle LIKE /pws/zycie085-vlfob,
v_mler LIKE /pws/zycie085-vlfob,
t_ivdes2 LIKE /pws/zycie085-vlfob,
t_ivdes3 LIKE /pws/zycie085-vlfob,
s_inco1_ci LIKE /pws/zycit031-inco1_ci,
v_di_vlmle LIKE /pws/zycie116a-vlmle,
s_inco1 LIKE /pws/zycit031-inco1,
p_moeda LIKE /pws/zycit005-waersseg,
p_valor LIKE /pws/zycit005-vlseg,
p_prepaid LIKE /pws/zycit093-prepaid,
p_collect LIKE /pws/zycit093-collect,
p_ternacion LIKE /pws/zycit093-ternacion,
v_int TYPE n,
s_pgcc(19) ,
v_ncm(8) TYPE c,
v_linha TYPE i,
v_tabix LIKE sy-tabix,
v_banco TYPE lfbk-bankn.
data itab_zycit020 like /pws/zycit020 occurs 0 with header line.
data: local_adrn like j_1bbranch-adrnr,
v_region like adrc-region.
* << Fim da exclusão
CLEAR:
it_cabecalho_di, it_itens_di, it_det_itens_di, it_inst_desp_di,
it_proc_vinc_di, it_volumes_di, it_armazens_di, it_deb_cta_di,
it_doc_vinc_di, it_prest_cta_di, it_acresc_sisco, it_deduc_sisco,
it_adicao_di, it_pagtos_di, it_parc_var_di, it_nomencl_di,
it_t005_di, it_urf_desp_di, it_resumoit_di, it_bl_di,
it_faturas_di, it_ag_faturas, it_compl_di, it_destncm, it_forn,
it_destaque, it_lfbk, it_fat_merc_di.
REFRESH:
it_cabecalho_di, it_itens_di, it_det_itens_di, it_inst_desp_di,
it_proc_vinc_di, it_volumes_di, it_armazens_di, it_deb_cta_di,
it_doc_vinc_di, it_prest_cta_di, it_acresc_sisco, it_deduc_sisco,
it_adicao_di, it_pagtos_di, it_parc_var_di, it_nomencl_di,
it_t005_di, it_urf_desp_di, it_resumoit_di, it_bl_di,
it_faturas_di, it_ag_faturas, it_compl_di, it_destncm, it_forn,
it_destaque, it_lfbk, it_fat_merc_di.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
v_nrseqdi = i_nrseqdi .
v_tpdi = i_tpdi .
PERFORM carrega_exits
CHANGING
itab_zyglt100[].
* << Fim da inclusão
SELECT * UP TO 1 ROWS FROM /pws/zycit085 INTO TABLE it_cabecalho_di
WHERE nrseqdi EQ i_nrseqdi
AND tpdi EQ i_tpdi.
IF sy-subrc EQ 0.
IF NOT it_cabecalho_di[] IS INITIAL.
READ TABLE it_cabecalho_di INDEX 1.
IF it_cabecalho_di-opfundap IS INITIAL.
it_cabecalho_di-opfundap = 'N'.
ELSE.
it_cabecalho_di-opfundap = 'S'.
...
...
it_adicao_di-codregtriipi = '0'.
ENDIF.
IF it_adicao_di-codregtriipi EQ '4'.
it_adicao_di-codregtriipi = '2'.
ENDIF.
IF it_adicao_di-codregtriipi EQ '3'.
it_adicao_di-codregtriipi = '4'.
ENDIF.
MODIFY it_adicao_di.
ENDLOOP.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
READ TABLE itab_zyglt100 WITH KEY zexit = 'TDI001' BINARY SEARCH.
IF sy-subrc = 0
AND NOT itab_zyglt100-programa IS INITIAL
AND NOT itab_zyglt100-formulario IS INITIAL.
it_cabecalho_di2[] = it_cabecalho_di[].
it_itens_di2[] = it_itens_di[].
it_det_itens_di2[] = it_det_itens_di[].
it_inst_desp_di2[] = it_inst_desp_di[].
it_proc_vinc_di2[] = it_proc_vinc_di[].
it_volumes_di2[] = it_volumes_di[].
it_armazens_di2[] = it_armazens_di[].
it_deb_cta_di2[] = it_deb_cta_di[].
it_doc_vinc_di2[] = it_doc_vinc_di[].
it_prest_cta_di2[] = it_prest_cta_di[].
it_acresc_sisco2[] = it_acresc_sisco[].
it_deduc_sisco2[] = it_deduc_sisco[].
it_adicao_di2[] = it_adicao_di[].
it_pagtos_di2[] = it_pagtos_di[].
it_parc_var_di2[] = it_parc_var_di[].
it_nomencl_di2[] = it_nomencl_di[].
it_t005_di2[] = it_t005_di[].
it_urf_desp_di2[] = it_urf_desp_di[].
it_resumoit_di2[] = it_resumoit_di[].
it_bl_di2[] = it_bl_di[].
it_faturas_di2[] = it_faturas_di[].
it_ag_faturas2[] = it_ag_faturas[].
it_compl_di2[] = it_compl_di[].
it_destncm2[] = it_destncm[].
it_forn2[] = it_forn[].
it_destaque2[] = it_destaque[].
PERFORM (itab_zyglt100-formulario)
IN PROGRAM (itab_zyglt100-programa)
IF FOUND.
IF e_subrc EQ 0 .
it_cabecalho_di[] = it_cabecalho_di2[] .
it_itens_di[] = it_itens_di2[] .
it_det_itens_di[] = it_det_itens_di2[] .
it_inst_desp_di[] = it_inst_desp_di2[] .
it_proc_vinc_di[] = it_proc_vinc_di2[] .
it_volumes_di[] = it_volumes_di2[] .
it_armazens_di[] = it_armazens_di2[] .
it_deb_cta_di[] = it_deb_cta_di2[] .
it_doc_vinc_di[] = it_doc_vinc_di2[] .
it_prest_cta_di[] = it_prest_cta_di2[] .
it_acresc_sisco[] = it_acresc_sisco2[] .
it_deduc_sisco[] = it_deduc_sisco2[] .
it_adicao_di[] = it_adicao_di2[] .
it_pagtos_di[] = it_pagtos_di2[] .
it_parc_var_di[] = it_parc_var_di2[] .
it_nomencl_di[] = it_nomencl_di2[] .
it_t005_di[] = it_t005_di2[] .
it_urf_desp_di[] = it_urf_desp_di2[] .
it_resumoit_di[] = it_resumoit_di2[] .
it_bl_di[] = it_bl_di2[] .
it_faturas_di[] = it_faturas_di2[] .
it_ag_faturas[] = it_ag_faturas2[] .
it_compl_di[] = it_compl_di2[] .
it_destncm[] = it_destncm2[] .
it_forn[] = it_forn2[] .
it_destaque[] = it_destaque2[] .
ENDIF.
ENDIF.
* << Fim da inclusão
ENDFUNCTION.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCIGF5F01
...
P_V_NETPR = P_V_NETPR / ( 10 ** ( tcurx-currdec - 2 ) ).
endform.
form trata_decimais_di using p_moeda
p_valor.
select single * from tcurx where currkey = P_MOEDA.
if sy-subrc <> 0.
tcurx-currdec = 2.
endif.
p_valor = p_valor / ( 10 ** ( tcurx-currdec - 2 ) ).
endform.
* >> Início da inclusão:
FORM carrega_exits
CHANGING
p_t_zyglt100 LIKE itab_zyglt100[].
CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
EXPORTING
i_codmod = 'D'
i_func = '/PWS/LZYCIGF5U05'
TABLES
itab_zyglt100 = p_t_zyglt100
EXCEPTIONS
i_codmod_nao_encontrado = 1
i_func_nao_encontrado = 2
i_zexit_nao_encontrado = 3
OTHERS = 4.
IF sy-subrc <> 0.
REFRESH p_t_zyglt100.
ENDIF.
endform.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCIGF5TOP
FUNCTION-POOL /PWS/ZYCIGF5.
* >> Início da inclusão:
INCLUDE: /PWS/LZYCIGF5X01.
DATA: itab_zyglt100 TYPE TABLE OF /pws/zyglt100 WITH HEADER LINE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCIGF5X01
*Criado include /PWS/LZYCIGF5X01 no grupo de funções /PWS/ZYCIGF5
DATA BEGIN OF COMMON PART k.
* Work-Áreas utilizadas na função.
DATA: wa_019 LIKE /pws/zycit019,
wa_122 LIKE /pws/zycit122,
wa_085 LIKE /pws/zycit085,
wa_093 LIKE /pws/zycit093,
wa_003 LIKE /pws/zycit003,
wa_lfa1 LIKE lfa1,
wa_adrc LIKE adrc.
* ITs
DATA: it_116 LIKE /pws/zycie116 OCCURS 0 WITH HEADER LINE,
it_001 LIKE /pws/zycie001 OCCURS 0 WITH HEADER LINE,
it_122 LIKE /pws/zycie122a OCCURS 0 WITH HEADER LINE,
it_123 LIKE /pws/zycie123a OCCURS 0 WITH HEADER LINE,
it_019 LIKE /pws/zycit019 OCCURS 0 WITH HEADER LINE,
it_039 LIKE /pws/zycit039 OCCURS 0 WITH HEADER LINE,
it_114 LIKE /pws/zycit114 OCCURS 0 WITH HEADER LINE,
it_200 LIKE /pws/zycit200 OCCURS 0 WITH HEADER LINE,
it_031 LIKE /pws/zycit031 OCCURS 0 WITH HEADER LINE,
rtexti LIKE tline OCCURS 0 WITH HEADER LINE, "111
it_lfbk LIKE lfbk OCCURS 0 WITH HEADER LINE,
it_fat_merc_di LIKE /pws/zycit263 OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF it_049 OCCURS 0.
INCLUDE STRUCTURE /pws/zycie049 .
DATA: tipo LIKE /pws/zycit019-tipo ,
coddesp LIKE /pws/zycit019-coddesp ,
codigo LIKE /pws/zycit019-codigo ,
vldp_aux LIKE /pws/zycie049-vldp ,
divabs LIKE /pws/zycit039-divabs ,
END OF it_049 .
* Variáveis
DATA: v_txtpais(20),
v_txtw(60),
v_comp(18),
v_obs(8000),
v_naladi(8) VALUE ' ',
v_nancca(7) VALUE ' ',
v_add TYPE i,
v_line TYPE i,
v_line2 TYPE i,
v_len TYPE i,
v_i1 TYPE i,
v_id LIKE sy-index,
v_idx LIKE sy-tabix,
v_obs1 LIKE /pws/zycie116a-complementares,
v_txtki LIKE thead-tdname,
v_moeda LIKE /pws/zycit049-waers,
s_tax LIKE /pws/zycie085-ukursfob,
v_vldp LIKE /pws/zycie049-vldp,
v_vldpr LIKE /pws/zycie049-vldp,
v_tmle LIKE /pws/zycie085-vlfob,
v_mler LIKE /pws/zycie085-vlfob,
t_ivdes2 LIKE /pws/zycie085-vlfob,
t_ivdes3 LIKE /pws/zycie085-vlfob,
s_inco1_ci LIKE /pws/zycit031-inco1_ci,
v_di_vlmle LIKE /pws/zycie116a-vlmle,
s_inco1 LIKE /pws/zycit031-inco1,
p_moeda LIKE /pws/zycit005-waersseg,
p_valor LIKE /pws/zycit005-vlseg,
p_prepaid LIKE /pws/zycit093-prepaid,
p_collect LIKE /pws/zycit093-collect,
p_ternacion LIKE /pws/zycit093-ternacion,
v_int TYPE n,
s_pgcc(19) ,
v_ncm(8) TYPE c,
v_linha TYPE i,
v_tabix LIKE sy-tabix,
v_banco TYPE lfbk-bankn.
data itab_zycit020 like /pws/zycit020 occurs 0 with header line.
data: local_adrn like j_1bbranch-adrnr,
v_region like adrc-region.
data:
v_nrseqdi type /pws/zycie085-nrseqdi,
v_tpdi type /pws/zycie085-tpdi .
data:
IT_CABECALHO_DI2 type /PWS/ZYCIE085 occurs 0,
IT_ITENS_DI2 type /PWS/ZYCIT100 occurs 0,
IT_DET_ITENS_DI2 type /PWS/ZYCIE003 occurs 0,
IT_INST_DESP_DI2 type /PWS/ZYCIE086 occurs 0,
IT_PROC_VINC_DI2 type /PWS/ZYCIE087 occurs 0,
IT_VOLUMES_DI2 type /PWS/ZYCIE014 occurs 0,
IT_ARMAZENS_DI2 type /PWS/ZYCIE096 occurs 0,
IT_DEB_CTA_DI2 type /PWS/ZYCIE095 occurs 0,
IT_DOC_VINC_DI2 type /PWS/ZYCIE115A occurs 0,
IT_PREST_CTA_DI2 type /PWS/ZYCIE049 occurs 0,
IT_ACRESC_SISCO2 type /PWS/ZYCIE122A occurs 0,
IT_DEDUC_SISCO2 type /PWS/ZYCIE123A occurs 0,
IT_ADICAO_DI2 type /PWS/ZYCIE116A occurs 0,
IT_PAGTOS_DI2 type /PWS/ZYCIE121 occurs 0,
IT_PARC_VAR_DI2 type /PWS/ZYCIE124 occurs 0,
IT_NOMENCL_DI2 type /PWS/ZYCIE118 occurs 0,
IT_T005_DI2 type T005 occurs 0,
IT_URF_DESP_DI2 type /PWS/ZYCET132 occurs 0,
IT_RESUMOIT_DI2 type /PWS/ZYCIE100T occurs 0,
IT_BL_DI2 type /PWS/ZYCIE093 occurs 0,
IT_FATURAS_DI2 type /PWS/ZYCIE006 occurs 0,
It_AG_FATURAS2 type /PWS/ZYCIE126 occurs 0,
IT_COMPL_DI2 type /PWS/ZYCIE085T occurs 0,
IT_DESTNCM2 type /PWS/ZYCIE100B occurs 0,
IT_FORN2 type /PWS/ZYCIE080T occurs 0,
IT_DESTAQUE2 type /PWS/ZYCIE114 occurs 0 .
data: e_subrc .
DATA END OF COMMON PART k.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/SAPLZYCIGF5
*******************************************************************
* System-defined Include-files. *
*******************************************************************
INCLUDE /PWS/LZYCIGF5TOP. " Global Data
INCLUDE /PWS/LZYCIGF5UXX. " Function Modules
*******************************************************************
* User-defined Include-files (if necessary). *
*******************************************************************
* INCLUDE /PWS/LZYCIGF5F... " Subprograms
* INCLUDE /PWS/LZYCIGF5O... " PBO-Modules
* INCLUDE /PWS/LZYCIGF5I... " PAI-Modules
INCLUDE /pws/LZYCIGF5F01.
* >> Início da exclusão: /PWS/SAPLZYCIGF5
INCLUDE /PWS/LZYCIGF5X01.
* >> Fim da exclusão