CE PLUS - Nota 010424

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

Data/Hora da Publicação: 23/07/2010 00:00:00

Data/Hora Última Alteração: 11/10/2011 14:50:55

Descrição da Nota: IMPLEMENTADO NA NOTA FISCAL RATEIO DA TX SISCOMEX NAS MENSAGENS E NR ATO

Sintoma

Implementar Taxa do siscomex proporcional na nota fiscal de entrada e numero do ato concessório na

mensagem

 

 

Solução

Implementar parâmetro para permitir ratear Taxa do siscomex proporcional na nota fiscal de entrada e

levar o numero do ato concessório na mensagens

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

NA DI ARREDONDAR O CALCULO DE ICMS BASE REDUZIDA PARA 4 CASAS

Informações Complementares

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

Nota Número 10424 Data: 23/07/2010 Hora: 09:39:21

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

 

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

Nota Número              : 10424

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00004

Agrupamento              : 00031

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

Referência às notas relacionadas:

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

 

08729  - 00001 - 7.0    - 00010  - NA DI ARREDONDAR O CALCULO DE ICMS BASE REDUZIDA PARA 4 CASAS

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

IMPLEMENTADO NA NOTA FISCAL RATEIO DA TX SISCOMEX NAS MENSAGENS E NR ATO

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

Palavras Chave:

NOTA - FISCAL - MENSAGENS- RATEIO - TX - SISC - ATO - CONCESSORIO - NFE

 

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

Objetos da nota:

DTEL /PWS/ZYCIL884

MESS /PWS/ZYCIM151

REPS /PWS/MZYCI016F01

REPS /PWS/MZYCI016I01

REPS /PWS/MZYCI016X01

TABD /PWS/ZYCIT062

TABU TDDAT

TABU TVDIR

TOBJ /PWS/ZYCIT062S

 

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

Modificações efetuadas em DTEL /PWS/ZYCIL884

 

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

Elemento de dados incluído: /PWS/ZYCIL884

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Descrição breve incluída: (50 caracteres), idioma: PT

"GL - Rateio Proporcional da Taxa do Siscomex na NF"

Categoria de dados: Domínio

Domínio: XFELD

ID parâmetro:

Nome componente default:

Documentar modificações: SIM

Nome da ajuda de pesquisa:

Parâmetro da ajuda de pesquisa:

Comprimento máximo do denominador breve: 10

Denominador breve incluído (9 caracteres), idioma: PT

"Rat. Sisc"

Comprimento máximo do denominador médio: 19

Denominador médio incluído (19 caracteres), idioma: PT

"Rat. Sisc. Proporc."

Comprimento máximo do denominador longo: 34

Denominador longo incluído (34 caracteres), idioma: PT

"Rat. Proporcional da Tx Sisc na NF"

Comprimento máximo do título: 45

Título incluído (45 caracteres), idioma: PT

"Rateio Proporcional da Taxa do Siscomex na NF"

 

 

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

Modificações efetuadas em MESS /PWS/ZYCIM151

* Incluir mensagem na Classe de Mensagens /PWS/ZYCIM

* Mensagem = "151"

* Txt.breve mensagem = "NF-e Campos Dt. Desembaraço, URF Entrada, URF Despacho. São Obrigatórios"

 

* Traduzir esta mensagem para Espanhol "ES"

* "NFe Campos Dt. Liquidación, Entrada URF, URF Orden. Se requieren"

 

* Traduzir esta mensagem para Inlgês "EN"

* "NF-e fields Dt. Clearance, URF Entry, Order URF. Are Required"

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

      IF itab_zycit049_aux_r-waers NE /pws/zycbt007-waersb.

        PERFORM trata_decimais USING itab_zycit049_aux_r-waers

                     CHANGING  itab_zycit049_aux_r-vldp.

        PERFORM taxa_converte USING itab_zycit049_aux_r-waers

             itab_zycit085-dttax CHANGING v_taxa_desp.

        v_vldp  = itab_zycit049_aux_r-vldp *

                        v_taxa_desp.

      ELSE.

        v_vldp = itab_zycit049_aux_r-vldp .

      ENDIF.

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

       IF ( itab_zycit049_aux_r-tpdesp EQ /pws/zycit000-cod_sisc AND

            /pws/zycit062-RATEIO_TX_SISC = 'X' ).

         CLEAR v_vldp.

         LOOP AT itab_zycit042_mark.

           READ TABLE itab_zycit042_sisc WITH KEY

                nrseqnf  = itab_zycit042_mark-nrseqnf

                nrseq    = itab_zycit042_mark-nrseq

                nfglobal = itab_zycit042_mark-nfglobal

                ebeln    = itab_zycit042_mark-ebeln

                ebelp    = itab_zycit042_mark-ebelp.

           IF SY-SUBRC = 0.

             v_vldp = v_vldp + itab_zycit042_sisc-vldp.

           ENDIF.

         ENDLOOP.

       ENDIF.

* << Fim da inclusão

      READ TABLE itab_zycit019 WITH KEY

                                tpdesp = itab_zycit049_aux_r-tpdesp.

      READ TABLE itab_zycit020 WITH KEY codigo = itab_zycit019-codigo

                                        regio  =  itab_zycit019-regio.

    ELSE.

      IF itab_zycit049_aux_r-waers NE /pws/zycbt007-waersb.

        PERFORM trata_decimais USING itab_zycit049_aux_r-waers

                      CHANGING   itab_zycit049_aux_r-vldp.

        PERFORM taxa_converte USING itab_zycit049_aux_r-waers

                                     /pws/zycit085-dttax

...

 

...

        it_zycee006-indice = v_ind.

        APPEND it_zycee006.

      ENDIF.

    ENDLOOP.

    SELECT SINGLE * FROM /pws/zycit479

      WHERE tpnf EQ itab_zycit042_mark-tpnf.

    IF sy-subrc EQ 0.

      it_zycee006-msg = /pws/zycit479-text1.

      APPEND it_zycee006.

      it_zycee006-msg = /pws/zycit479-text2.

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

      APPEND it_zycee006.

    ENDIF.

  ENDIF.

  LOOP AT itab_zycit003_mark.

    IF NOT itab_zycit003_mark-nrseqd IS INITIAL.

      SELECT SINGLE * FROM /pws/zycit078

       WHERE nrseqli = itab_zycit003_mark-nrseqli

         AND ( tpli = 'N' OR tpli = 'S' ).

       IF sy-subrc EQ 0.

          it_zycee006-msg = 'Pedido'. "#EC NOTEXT

          CONCATENATE it_zycee006-msg itab_zycit003_mark-ebeln

          INTO it_zycee006-msg

          SEPARATED BY '-' .

          CONCATENATE it_zycee006-msg 'Item' "#EC NOTEXT

          INTO it_zycee006-msg

          SEPARATED BY space .

          CONCATENATE it_zycee006-msg itab_zycit003_mark-ebelp

          INTO it_zycee006-msg

          SEPARATED BY '-'.

          CONCATENATE it_zycee006-msg 'Nº Ato Concessório' "#EC NOTEXT

          INTO it_zycee006-msg

          SEPARATED BY ' /  ' .

          CONCATENATE it_zycee006-msg /pws/zycit078-reg_drawback

          INTO it_zycee006-msg

          SEPARATED BY '-' .

          v_ind = v_ind + 1.

          it_zycee006-indice = v_ind.

* << Fim da inclusão

      APPEND it_zycee006.

    ENDIF.

  ENDIF.

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

  ENDLOOP.

* << Fim da inclusão

  CLEAR itab_zycit042_mark[].

  REFRESH itab_zycit042_mark[].

ENDFORM.

FORM mensagens_nf_r.

...

 

...

        itab_zycit003-vlreal =

                itab_zycit003-vlreal / v_taxa .

      ENDIF.

    ENDIF.

    v_tot_plan = v_tot_plan +

         ( itab_zycit003-netpr * itab_zycit003-qtd_iten ).

    v_tot_real = v_tot_real +

         ( itab_zycit003-vlreal * itab_zycit003-qtd_iten ).

  ENDLOOP.

  LOOP AT itab_zycit049_a.

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

    IF ( itab_zycit049_a-tpdesp NE /pws/zycit000-cod_sisc AND

* << Fim da exclusão

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

   IF ( itab_zycit049_a-tpdesp EQ /pws/zycit000-cod_sisc AND

        /pws/zycit062-RATEIO_TX_SISC = 'X' ).

        CLEAR: itab_zycit042_sisc.

        REFRESH: itab_zycit042_sisc.

        MOVE: itab_zycit042_d[] TO itab_zycit042_sisc[].

   ENDIF.

    IF ( ( itab_zycit049_a-tpdesp NE /pws/zycit000-cod_sisc OR

           itab_zycit049_a-tpdesp EQ /pws/zycit000-cod_sisc AND

           /pws/zycit062-RATEIO_TX_SISC = 'X' ) AND

* << Fim da inclusão

         itab_zycit049_a-tpdesp NE /pws/zycit000-cod_antidump ) OR

       /pws/zycit000-flag_txsisc IS INITIAL OR

       /pws/zycit001-tpdecl = 'DSI'.

      IF itab_zycit049_a-tpdesp EQ /pws/zycit000-cod_antidump AND

         /pws/zycit001-tpdecl NE 'DSI'.

        CONTINUE.

      ENDIF.

      CLEAR: v_tot_vldp, v_vldp.

      LOOP AT itab_zycit042_d.

        MOVE sy-tabix TO v_tabix.

        READ TABLE itab_zycit003 WITH KEY

                           nrseq = itab_zycit042_d-nrseq

                           ebeln = itab_zycit042_d-ebeln

                           ebelp = itab_zycit042_d-ebelp.

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

        IF ( itab_zycit049_a-tpdesp EQ /pws/zycit000-cod_sisc AND

             /pws/zycit062-RATEIO_TX_SISC = 'X' ).

          READ TABLE itab_zycit042_sisc WITH KEY

                             nrseqnf  = itab_zycit042_d-nrseqnf

                             nrseq    = itab_zycit042_d-nrseq

                             nfglobal = itab_zycit042_d-nfglobal

                             ebeln    = itab_zycit042_d-ebeln

                             ebelp    = itab_zycit042_d-ebelp.

        ENDIF.

* << Fim da inclusão

        IF itab_zycit085-waersfob NE itab_zycit003-waers.

          PERFORM taxa_converte USING itab_zycit003-waers

                                      itab_zycit085-dttax

                             CHANGING v_taxa.

          IF NOT v_taxa IS INITIAL.

            itab_zycit003-vlreal =

                  itab_zycit003-vlreal * v_taxa.

            itab_zycit003-netpr  =

                  itab_zycit003-netpr  * v_taxa.

          ENDIF.

...

 

...

                       /pws/zycit085-vlseg ) ).

                ENDIF.

              ELSE.

                v_vldp = itab_zycit049_a-vldp *

                        ( itab_zycit003-vlreal *

                        itab_zycit003-qtd_iten / v_tot_real ).

              ENDIF.

            ENDIF.

            v_tot_vldp = v_tot_vldp + v_vldp.

            itab_zycit042_d-vldp = itab_zycit042_d-vldp + v_vldp.

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

            IF ( itab_zycit049_a-tpdesp EQ /pws/zycit000-cod_sisc AND

                 /pws/zycit062-RATEIO_TX_SISC = 'X' ).

             itab_zycit042_sisc-vldp = itab_zycit042_sisc-vldp + v_vldp.

              MODIFY itab_zycit042_sisc TRANSPORTING vldp

              WHERE nrseqnf  = itab_zycit042_d-nrseqnf

                AND nrseq    = itab_zycit042_d-nrseq

                AND nfglobal = itab_zycit042_d-nfglobal

                AND ebeln    = itab_zycit042_d-ebeln

                AND ebelp    = itab_zycit042_d-ebelp.

            ENDIF.

* << Fim da inclusão

            CLEAR v_vldp.

          ENDIF.

          MODIFY itab_zycit042_d.

        ENDIF.

      ENDLOOP.

    ENDIF.

  ENDLOOP.

  LOOP AT itab_zycit042_d.

    v_totitem = v_totitem + ( itab_zycit042_d-netpr *

                              itab_zycit042_d-qtd_iten ).

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI016I01

 

...

          IF v_autoriza = 'X'.

            PERFORM modo_batch_input.

          ELSE.

            MESSAGE w013 WITH text-094 text-095.

          ENDIF.

        WHEN 'CRIARNF'.

          IF v_modo_bi IS INITIAL.

            v_modo_bi = 'E'.

          ENDIF.

          SORT itab_zycit042 BY tpnf j_1bbranch lifnr nrseq ebeln ebelp.

* >> Início da inclusão: MODULE USER_COMMAND_0050

           SELECT SINGLE * FROM dd03l

             WHERE tabname = 'J_1BNFDOC' AND

                   fieldname = 'NFE'.

           IF sy-subrc = 0.

             ASSIGN: (t_fields4) TO <nfenum>,

                     (t_fields3)  TO <nfe>.

             IF NOT <nfenum> IS INITIAL AND

                NOT <nfe> IS INITIAL.

                  SELECT SINGLE * FROM /PWS/ZYCIT085

                  WHERE NRSEQDI = /PWS/ZYCIE041-NRSEQ.

                  IF SY-SUBRC = 0.

                    IF /PWS/ZYCIT085-DTDESEMB IS INITIAL OR

                       /PWS/ZYCIT085-URFENT IS INITIAL OR

                       /PWS/ZYCIT085-URFDESP IS INITIAL.

                         SELECT SINGLE * FROM /pws/zyglt217

                         WHERE arbgb EQ '/PWS/ZYCIM'

                           AND msgnr EQ '151'.

                         IF sy-subrc EQ 0 AND

                            NOT /pws/zyglt217-msgtp IS INITIAL.

                           MESSAGE ID '/PWS/ZYCIM' TYPE

                            /pws/zyglt217-msgtp NUMBER '151'.

                         ENDIF.

                    ENDIF.

                  ENDIF.

             ENDIF.

           ENDIF.

* << Fim da inclusão

          IF /pws/zycie041-transpnac IS INITIAL.

            SELECT SINGLE * FROM /pws/zyglt217

              WHERE arbgb EQ '/PWS/ZYCIM'

                     AND   msgnr EQ '111'.

            IF sy-subrc EQ 0 AND /pws/zyglt217-msgtp EQ 'E'.

          MESSAGE ID '/PWS/ZYCIM' TYPE /pws/zyglt217-msgtp NUMBER '111'

                                                                       .

            ELSE.

              IF sy-subrc EQ 0 AND ( /pws/zyglt217-msgtp NE 'E'

                               AND NOT /pws/zyglt217-msgtp IS INITIAL ).

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI016X01

 

...

 

* >> Início da inclusão:

DATA: BEGIN OF itab_zycit042_sisc OCCURS 0.

        INCLUDE STRUCTURE itab_zycit042.

DATA: END OF itab_zycit042_sisc.

* << Fim da inclusão

...

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIT062

 

 

Nome de campo    Chv Elem.dados    Tab.verif. N CtDt Comp.

 

...

ICMS_BASE_RED_AR     /PWS/ZYCIL390              CHAR     1

* >> Início da inclusão:

RATEIO_TX_SISC       /PWS/ZYCIL884              CHAR     1

* << Fim da inclusão

USERNAMEC            SYUNAME                    CHAR    12

DTUSERC              SYDATUM                    DATS     8

HRUSERC              SYSTTIMLO                  TIMS     6