CE PLUS - Nota 003640

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 .

Versões Tratadas

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