CE PLUS - Nota 013399

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 20/11/2013 17:45:53

Data/Hora Última Alteração: 20/11/2013 17:45:53

Descrição da Nota: PREENCHIMENTO DOS VALORES PASTA CÂMBIO ADIÇÃO DA DI

Sintoma

Não carregava os valores da Fatura para as Pastas da Adição Antecipado e À Vista

 

 

Solução

Desenvolvimento para carregar os valores das faturas para a Pasta Adição da DI.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

AO CRIAR AS ADIÇÕES DA DI,NÃO LEVA DADOS DA PASTA CÂMBIO AUTOMATICAMENTE

TABELAS DE ALIQUOTA DE PIS E COFINS NÃO VERIFICA VIGENCIA NA DI

GRAVA DADOS DE CONTRATO COM INFORMAÇÕES INCOMPLETAS

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 13399 Data: 08/11/2013 Hora: 15:04:04

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 13399

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 9.0

Pacote                   : 00006

Agrupamento              : 00166

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

13226  - 00003 - 9.0    - 00006  - TABELAS DE ALIQUOTA DE PIS E COFINS NÃO VERIFICA VIGENCIA NA DI

10673  - 00001 - 8.0    - 00005  - AO CRIAR AS ADIÇÕES DA DI,NÃO LEVA DADOS DA PASTA CÂMBIO AUTOMATI

13098  - 00002 - 9.0    - 00005  - GRAVA DADOS DE CONTRATO COM INFORMAÇÕES INCOMPLETAS

----------------------------------------------------------------------------------------------------

PREENCHIMENTO DOS VALORES PASTA CÂMBIO ADIÇÃO DA DI

----------------------------------------------------------------------------------------------------

Palavras Chave:

VALORES PASTA CÂMBIO ADIÇÃO DI

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/MZYCI023TOP

REPS /PWS/MZYCI023F05

REPS /PWS/MZYCI023F01

REPS /PWS/MZYCI023F03

REPS /PWS/MZYCI023I01

MESS /PWS/ZYCIM159

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI023TOP

 

...

  v_nf041(1)       TYPE c                     ,

  v_taxa           LIKE /pws/zycie085-ukursfob,

  v_resp           TYPE c,

  v_visualiza      TYPE c,

  v_report         TYPE c,

  v_msgfre         TYPE c,

  v_region LIKE adrc-region,

  v_canal  LIKE    /pws/zycie085-canal ,                    "#EC NEEDED

  v_ternacion LIKE /pws/zycie093-ternacion,

  v_cnpj_findap(18) TYPE c,

* >> Início da exclusão:

  v_desc_findap TYPE lfa1-name1.

* << Fim da exclusão

* >> Início da inclusão:

  v_desc_findap     TYPE lfa1-name1,

  v_adicao(1)       TYPE c,

  v_list            TYPE c,

  v_list_ant        TYPE c.

* << Fim da inclusão

DATA:

 gv_subscreen_0050   TYPE sy-dynnr VALUE '0051'.            "#EC NEEDED

DATA: BEGIN OF gc_subscreen,

             prog     TYPE sy-dynnr VALUE '0100',

             help     TYPE sy-dynnr VALUE '0053',

           END OF gc_subscreen.

DATA:  gv_help_show TYPE boolean VALUE ' '.

TABLES: t002.

DATA: editor         TYPE REF TO cl_gui_textedit,

      editcontainer  TYPE REF TO cl_gui_custom_container,

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI023F05

 

...

    ENDIF.

  ENDIF.

ENDFORM.

FORM load_cambio USING p_ebeln p_ebelp.

  TABLES : /pws/zycbt117,

   /pws/zycbt119,

   /pws/zycbt031,

   /pws/zycbt048,

   /pws/zycbt064,

   /pws/zycbt115.

* >> Início da inclusão: FORM LOAD_CAMBIO

  IF sy-tcode = '/PWS/ZYCI023_C'

    AND v_adicao IS INITIAL.

* << Fim da inclusão

  LOOP AT itab_zycit263 WHERE ebeln = p_ebeln

                        AND   ebelp = p_ebelp .

    LOOP AT itab_zycit006

    WHERE nrseq_pgfat = itab_zycit263-nrseq_pgfat

      AND   belnr_p    <> space.

* >> Início da inclusão: FORM LOAD_CAMBIO

        CLEAR v_tipo.

        SELECT SINGLE frpagto FROM /pws/zycit128

          INTO v_tipo

          WHERE codigo = itab_zycit006-gpcambio.

* << Fim da inclusão

      SELECT SINGLE * FROM /pws/zycbt117

           WHERE ebeln = p_ebeln

            AND status NE 'E'.                          "#EC CI_NOFIELD

      IF sy-subrc NE 0.

        SELECT SINGLE * FROM /pws/zycbt119

          WHERE nrseq = itab_zycit006-nrseq_pgfat.

        IF sy-subrc EQ 0.

          SELECT SINGLE * FROM /pws/zycbt031

                 WHERE     bukrs = /pws/zycbt119-bukrs

                   AND mdcorresp = 'IP'

                   AND nrcorresp = /pws/zycbt119-nrseq

                   AND tabela    = '/PWS/ZYCBT119'.

          SELECT SINGLE * FROM /pws/zycbt048

                 WHERE bukrs = /pws/zycbt119-bukrs

                   AND mdcorresp = 'IP'

                   AND nrcorresp = /pws/zycbt119-nrseq.

          SELECT SINGLE * FROM /pws/zycbt115

                 WHERE nrcorrep = /pws/zycbt119-nrseq

                   AND tpdoc    = 'P'.

        ENDIF.

* >> Início da inclusão: FORM LOAD_CAMBIO

        ENDIF.

        IF v_tipo = 02.

* << Fim da inclusão

        IF /pws/zycbt117-waers NE wa_zycbt007-waersb.

          itab_zycit121-moedanac = 'N'.

        ELSE.

          itab_zycit121-moedanac = 'S'.

        ENDIF.

        itab_zycit121-mandt         = sy-mandt.

        itab_zycit121-nrseqdi       = /pws/zycie085-nrseqdi.

        itab_zycit121-adicao        = wa_it-adicao.

        itab_zycit121-banco         = /pws/zycbt031-bcooper+5(5).

        itab_zycit121-praca         = /pws/zycbt048-praca+1(4).

        itab_zycit121-contrato      = /pws/zycbt048-nrcontr .

* >> Início da exclusão: FORM LOAD_CAMBIO

        itab_zycit121-valor         = /pws/zycbt031-vlme.

* << Fim da exclusão

* >> Início da inclusão: FORM LOAD_CAMBIO

          itab_zycit121-valor =

          itab_zycit263-qtd_iten * itab_zycit263-vlreal.

* << Fim da inclusão

        itab_zycit121-waers         = /pws/zycbt117-waers.

        itab_zycit121-tipo          = 'V'.

* >> Início da exclusão: FORM LOAD_CAMBIO

        IF NOT itab_zycit121-moedanac IS INITIAL AND

           NOT itab_zycit121-contrato IS INITIAL AND

           NOT itab_zycit121-banco    IS INITIAL AND

           NOT itab_zycit121-praca    IS INITIAL.

          MODIFY itab_zycit121 TRANSPORTING mandt nrseqdi

                   adicao banco praca contrato valor waers tipo

                               WHERE nrseqdi  = /pws/zycie085-nrseqdi

                               AND   adicao   = wa_it-adicao

                               AND   tipo     = itab_zycit121-tipo

                               AND   moedanac = itab_zycit121-moedanac

                               AND   contrato = itab_zycit121-contrato

                               AND   banco    = itab_zycit121-banco

                               AND   praca    = itab_zycit121-praca .

          IF sy-subrc NE 0.

            APPEND itab_zycit121.

          ENDIF.

* << Fim da exclusão

* >> Início da inclusão: FORM LOAD_CAMBIO

          COLLECT itab_zycit121.

* << Fim da inclusão

        ENDIF.

* >> Início da exclusão: FORM LOAD_CAMBIO

      ELSE.

* << Fim da exclusão

* >> Início da inclusão: FORM LOAD_CAMBIO

        IF v_tipo = 01.

* << Fim da inclusão

        SELECT *

          FROM /pws/zycbt064

            UP TO 1 ROWS

...

 

...

          itab_zycit121-moedanac = 'N'.

        ELSE.

          itab_zycit121-moedanac = 'S'.

        ENDIF.

        itab_zycit121-mandt         = sy-mandt.

        itab_zycit121-nrseqdi       = /pws/zycie085-nrseqdi.

        itab_zycit121-adicao        = wa_it-adicao.

        itab_zycit121-banco         = /pws/zycbt031-bcooper+5(5).

        itab_zycit121-praca         = /pws/zycbt048-praca+1(4).

        itab_zycit121-contrato      = /pws/zycbt048-nrcontr .

* >> Início da inclusão: FORM LOAD_CAMBIO

          IF NOT /pws/zycbt031-vlme IS INITIAL.

* << Fim da inclusão

        itab_zycit121-valor         = /pws/zycbt031-vlme.

* >> Início da inclusão: FORM LOAD_CAMBIO

          ELSE.

            itab_zycit121-valor         = a_vlrtot.

          ENDIF.

* << Fim da inclusão

        itab_zycit121-waers         = /pws/zycbt117-waers.

        itab_zycit121-tipo           = 'A'.

* >> Início da exclusão: FORM LOAD_CAMBIO

        IF NOT itab_zycit121-moedanac IS INITIAL AND

           NOT itab_zycit121-contrato IS INITIAL AND

           NOT itab_zycit121-banco    IS INITIAL AND

           NOT itab_zycit121-praca    IS INITIAL.

          MODIFY itab_zycit121 TRANSPORTING mandt nrseqdi

                   adicao banco praca contrato valor waers tipo

                   WHERE nrseqdi  = /pws/zycie085-nrseqdi

                               AND   adicao   = wa_it-adicao

                               AND   tipo     = itab_zycit121-tipo

                               AND   moedanac = itab_zycit121-moedanac

                               AND   contrato = itab_zycit121-contrato

                               AND   banco    = itab_zycit121-banco

                               AND   praca    = itab_zycit121-praca .

          IF sy-subrc NE 0.

            APPEND itab_zycit121.

* << Fim da exclusão

* >> Início da inclusão: FORM LOAD_CAMBIO

          COLLECT itab_zycit121.

* << Fim da inclusão

          ENDIF.

* >> Início da exclusão: FORM LOAD_CAMBIO

        ENDIF.

      ENDIF.

* << Fim da exclusão

    ENDLOOP.

  ENDLOOP.

* >> Início da inclusão: FORM LOAD_CAMBIO

  ENDIF.

* << Fim da inclusão

ENDFORM.

FORM verifica_um USING    p_meinsest.

  CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'

       EXPORTING

            input          = p_meinsest

            language       = sy-langu

       IMPORTING

            output         = p_meinsest

       EXCEPTIONS

            unit_not_found = 1

...

 

...

            itab_it-basredcof = itab_it-advalcofins.

            CLEAR : itab_it-advalcofins,

                    itab_it-vlcofins   .

          ENDIF.

        ENDIF.

      ENDIF.

    ENDIF.

    MODIFY itab_it INDEX v_idx.

  ENDLOOP.

ENDFORM.

* >> Início da inclusão:

FORM verifica_contratos.

  DATA: v_msg(1) TYPE c.

  CHECK NOT /pws/zycit000-siscomex IS INITIAL.

  IF NOT itab_zycit121[] IS INITIAL.

    LOOP AT itab_zycit121.

      IF itab_zycit121-moedanac IS INITIAL OR

         itab_zycit121-contrato IS INITIAL OR

         itab_zycit121-banco    IS INITIAL OR

         itab_zycit121-praca    IS INITIAL.

        v_msg = 'X'.

        EXIT.

      ENDIF.

    ENDLOOP.

  ENDIF.

  IF NOT v_msg IS INITIAL.

    MESSAGE e159.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

...

      MOVE: itab_itb-item_adi_sisc  TO  itab_it-item_adi_sisc.

    ENDIF.

    MODIFY itab_it TRANSPORTING item_adi_sisc

                       WHERE nrseqdi = itab_itb-nrseqdi

                         AND nrseq   = itab_itb-nrseq

                         AND ebeln   = itab_itb-ebeln

                         AND ebelp   = itab_itb-ebelp

                         AND adicao  = itab_itb-adicao.

  ENDLOOP.

  IF /pws/zycie006-mdpgto = '10'.

* >> Início da exclusão: FORM SAVE_ADIC

    IF itab_zycit121b[] IS INITIAL.

* << Fim da exclusão

* >> Início da inclusão: FORM SAVE_ADIC

    IF NOT itab_zycit121b[]       IS INITIAL AND

       NOT /pws/zycit000-siscomex IS INITIAL.

      LOOP AT itab_zycit121b.

        IF itab_zycit121b-moedanac IS INITIAL OR

           itab_zycit121b-contrato IS INITIAL OR

           itab_zycit121b-banco    IS INITIAL OR

           itab_zycit121b-praca    IS INITIAL.

* << Fim da inclusão

      MESSAGE i015 WITH text-074.

* >> Início da inclusão: FORM SAVE_ADIC

          EXIT.

        ENDIF.

      ENDLOOP.

* << Fim da inclusão

    ENDIF.

  ENDIF.

  IF /pws/zycie006-mdpgto = '20' OR /pws/zycie006-mdpgto = '21'.

* >> Início da exclusão: FORM SAVE_ADIC

    IF itab_zycit121c[] IS INITIAL.

* << Fim da exclusão

* >> Início da inclusão: FORM SAVE_ADIC

    IF NOT itab_zycit121c[]       IS INITIAL AND

       NOT /pws/zycit000-siscomex IS INITIAL.

      LOOP AT itab_zycit121c.

        IF itab_zycit121c-moedanac IS INITIAL OR

           itab_zycit121c-contrato IS INITIAL OR

           itab_zycit121c-banco    IS INITIAL OR

           itab_zycit121c-praca    IS INITIAL.

* << Fim da inclusão

      MESSAGE i015 WITH text-074.

* >> Início da inclusão: FORM SAVE_ADIC

          EXIT.

        ENDIF.

      ENDLOOP.

* << Fim da inclusão

    ENDIF.

  ENDIF.

ENDFORM.

FORM adic_load.

...

 

...

      PERFORM adic_list.

      CLEAR v_pos.

      LOOP AT it_alist.

        v_pos = v_pos + 1.

        PERFORM: adic_change,

                 load_cambio USING it_alist-ebeln it_alist-ebelp,

                 adic_load,

                 calc_itab_adic,

                 save_adic.

      ENDLOOP.

* >> Início da inclusão: FORM REFRESH_ALL

      v_adicao = 'X'.

* << Fim da inclusão

    ENDIF.

  ELSE.

    IF NOT /pws/zycie093-waersfre IS INITIAL.

      PERFORM: taxa_converte USING    /pws/zycie093-waersfre

 /pws/zycie085-dttax

                             CHANGING /pws/zycie085-ukursfre,

               load_frvl.

    ENDIF.

    IF NOT /pws/zycie085-waersseg IS INITIAL.

      PERFORM: taxa_converte USING    /pws/zycie085-waersseg

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI023F03

 

...

    ENDIF.

  ENDIF.

ENDFORM.

FORM comm_select USING p_mark.

  LOOP AT itab_it.

    itab_it-mark = p_mark.

    MODIFY itab_it TRANSPORTING mark.

  ENDLOOP.

ENDFORM.

FORM comm_send.

* >> Início da inclusão: FORM COMM_SEND

  PERFORM verifica_contratos.

* << Fim da inclusão

  IF /pws/zycie085-nrdi IS INITIAL AND

     /pws/zycie085-dtreg IS INITIAL.

    IF /pws/zycie085-dtuserc IS INITIAL.

      MESSAGE i015 WITH text-046.

    ELSEIF NOT /pws/zycie085-dtreg IS INITIAL.

      MESSAGE i015 WITH text-029.

    ELSE.

      IF v_dit = 'N'.

        SELECT SINGLE * FROM /pws/zycit136 INTO wa_zycit136 WHERE

               nrseq = /pws/zycie085-nrseqdi AND

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI023I01

 

...

        IF itab_zycit114b-destaque IS INITIAL.

          DELETE itab_zycit114b INDEX sy-tabix.

        ENDIF.

      ENDLOOP.

    WHEN '0323'.

      LOOP AT itab_zycit118b.

        IF itab_zycit118b-nivel    IS INITIAL.

          DELETE itab_zycit118b INDEX sy-tabix.

        ENDIF.

      ENDLOOP.

* >> Início da exclusão: MODULE VERIFY_TABLES

    WHEN '0351'.

      LOOP AT itab_zycit121b.

        IF itab_zycit121b-moedanac IS INITIAL OR

           itab_zycit121b-contrato IS INITIAL OR

           itab_zycit121b-banco    IS INITIAL OR

           itab_zycit121b-praca    IS INITIAL.

          DELETE itab_zycit121b INDEX sy-tabix.

        ENDIF.

      ENDLOOP.

    WHEN '0352'.

      LOOP AT itab_zycit121c.

        IF itab_zycit121c-moedanac IS INITIAL OR

           itab_zycit121c-contrato IS INITIAL OR

           itab_zycit121c-banco    IS INITIAL OR

           itab_zycit121c-praca    IS INITIAL.

          DELETE itab_zycit121c INDEX sy-tabix.

        ENDIF.

      ENDLOOP.

* << Fim da exclusão

    WHEN '0353'.

      LOOP AT itab_zycit124b.

        IF itab_zycit124b-valor IS INITIAL OR

           itab_zycit124b-mes IS INITIAL OR

           itab_zycit124b-ano IS INITIAL.

          DELETE itab_zycit124b INDEX sy-tabix.

        ENDIF.

      ENDLOOP.

  ENDCASE.

ENDMODULE.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em MESS /PWS/ZYCIM159

 

Criar Mensagem

Classe de Mensagem: /PWS/ZYCIM

Mensagem: 159

Txt. breve: Preencher dados do contrato na pasta Câmbio da adição.