CE PLUS - Nota 005621

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 14/01/2008 00:00:00

Data/Hora Última Alteração: 22/02/2011 13:52:23

Descrição da Nota: A DESCRIÇÃO DO PRIMEIRO ITEN DA ADIÇÃO É COPIADA PARA OS DEMAIS ITENS DI

Sintoma

Atualizada a exit para recalcular valores de icms.

ajustados os textos do campo especificação da DI.

 

 

Solução

criada variável v_tipop para receber o tipo de utilizacao dos cálculos.

Atualizada a exit para recalcular valores de icms.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

A DESCRIÇÃO DOS ITENS DE UMA ADIÇÃO DA DI ESTÃO INCORRETOS

NECESSÁRIO COMPATILHAR O TIPO DA DI PARA USO DA EXIT

Informações Complementares

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

Nota Número 05621 Data: 14/01/2008 Hora: 09:10:31

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

 

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

Nota Número              : 05621

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00004

Agrupamento              : 00029

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

Referência às notas relacionadas:

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

 

04859  - 00002 - 7.0    - 00003  - NECESSÁRIO COMPATILHAR O TIPO DA DI PARA USO DA EXIT

05564  - 00001 - 7.0    - 00004  - A DESCRIÇÃO DOS ITENS DE UMA ADIÇÃO DA DI ESTÃO INCORRETOS

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

A DESCRIÇÃO DO PRIMEIRO ITEN DA ADIÇÃO É COPIADA PARA OS DEMAIS ITENS DI

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

Palavras Chave:

SISCOMEX - TRANSMISSÃO - ADIÇÃO

 

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

Objetos da nota:

REPS /PWS/MZYCI023F01

REPS /PWS/MZYCI023F02

REPS /PWS/MZYCI023F03

REPS /PWS/MZYCI023O01

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

...

  encont = 1.

  CONCATENATE text-052 itab_ekko-ebeln text-120 itab_ekpo-ebelp

              text-108 INTO mensagem3 SEPARATED BY space.

  mensagem4 = text-121.

  CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'

       EXPORTING

            titel     = text-112

            textline1 = mensagem3

            textline2 = mensagem4.

ENDFORM.

* >> Início da inclusão:

form load_data_blitem.

  IF sy-ucomm EQ 'DETA'.

    READ TABLE itab_it INDEX v_ip.

  ENDIF.

  IF itab_it NE wa_it.

    PERFORM fill_itabitc.

    SELECT SINGLE embarca FROM /pws/zycit001 INTO t_embarc WHERE

           nrseq = itab_it-nrseq.

    READ TABLE itab_zycit003 WITH KEY nrseq = itab_it-nrseq

                                      ebeln = itab_it-ebeln

                                      ebelp = itab_it-ebelp.

    MOVE: itab_zycit003-nrseqd TO itab_it-nrseqd.

    IF NOT itab_zycit003-nrseqd IS INITIAL.

      SELECT SINGLE nratoc FROM /pws/zycit244 INTO v_nratoc

           WHERE nrseqd = itab_zycit003-nrseqd.

      IF sy-subrc NE 0.

        CLEAR v_nratoc.

      ELSE.

        SELECT SINGLE * FROM /pws/zycit078 INTO wa_zycit078 WHERE

         nrseqli = itab_zycit003-nrseqli.

        IF sy-subrc EQ 0.

          v_nratoc     = wa_zycit078-reg_drawback.

          /pws/zycie003-nrseqd = wa_zycit078-nrseqd.

        ENDIF.

      ENDIF.

    ELSE.

      SELECT SINGLE * FROM /pws/zycit078 INTO wa_zycit078 WHERE

       nrseqli = itab_zycit003-nrseqli.

      IF sy-subrc EQ 0.

        v_nratoc     = wa_zycit078-reg_drawback.

        /pws/zycie003-nrseqd = wa_zycit078-nrseqd.

      ELSE.

        CLEAR v_nratoc.

      ENDIF.

    ENDIF.

    IF itab_it-pproc IS INITIAL.

      READ TABLE itab_zycit003 WITH KEY nrseq = itab_it-nrseq

                                        ebeln = itab_it-ebeln

                                        ebelp = itab_it-ebelp.

      itab_it-pproc = /pws/zycie100a-pproc = itab_zycit003-paisfab.

    ENDIF.

    IF itab_it-codregtri IS INITIAL.

      itab_it-codregtri = /pws/zycie100a-codregtri = '1'.

    ENDIF.

    IF /pws/zycie100a-codregtriipi IS INITIAL.

      /pws/zycie100a-codregtriipi = '3'.

    ENDIF.

  if sy-tcode = '/PWS/ZYCI023_C'.

    if itab_zycit001-regime = '05' and

       itab_zycit001-tpdecl = 'DI'.

         itab_it-codregtri = '5'.

         itab_it-codregtripiscofi = '5'.

         itab_it-codregtriipi = '5'.

         itab_it-codregtriicms = '5'.

    endif.

  endif.

    MOVE itab_it TO wa_it.

    MOVE-CORRESPONDING: itab_it TO /pws/zycie100a,

                        itab_it TO /pws/zycie003.

    v_idx = v_ip.

    v_tipop = 'T' .

    PERFORM: load_ifre  USING  v_tipop,

             load_itax  USING  v_tipop.

    PERFORM  calcula_impostos USING v_tipop .

    IF v_dit = 'N'.

      PERFORM fill_it115b.

      CLEAR: itab_zycit116, /pws/zycie085-ntimp.

      READ TABLE itab_zycit116 WITH KEY

           adicao = itab_it-adicao.

      s_advl  = /pws/zycie100a-vlantid.

      s_adbs  = /pws/zycie100a-baseantid.

      PERFORM: load_cncm  USING wa_it-j_1bnbm,

               load_mval  USING /pws/zycie100a-codmat,

               load_inco,

               load_itwa  USING /pws/zycie100a-waersbem,

               load_regt  USING /pws/zycie100a-codregtri

                                /pws/zycie085-ntimp

                                '1' CHANGING t_regdes,

               load_regt  USING /pws/zycie100a-codregtriipi

                                /pws/zycie085-ntimp

                                '2' CHANGING t_regde2,

               load_fund  USING /pws/zycie100a-codfunleg,

               load_regt  USING /pws/zycie100a-codregtriicms

                                /pws/zycie085-ntimp

                                '4' CHANGING t_regde3,

               load_fun_icms  ,

               load_alad  USING /pws/zycie100a-aladi,

               load_unit  USING /pws/zycie003-meins CHANGING s_umped,

               load_um    USING /pws/zycie003-meinsest CHANGING

                                s_umestt,

               load_umad.

    ENDIF.

    CLEAR:   rtexti, xtheadi.

    REFRESH: rtexti.

    CONCATENATE /pws/zycie085-nrseqdi

                itab_it-nrseq

                itab_it-ebeln

                itab_it-ebelp

                INTO v_txtki.

    IF  sy-dynnr EQ '0400'.

      PERFORM fill_desc.

      PERFORM read_text_blitem CHANGING /pws/zycie100a-especificacao.

    ELSE.

      PERFORM read_text_blitem CHANGING t_espec.

    ENDIF.

  ENDIF.

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F02

 

...

      p_text = itab_zycit100-especificacao.

    ELSEIF NOT rtexti[] IS INITIAL.

      READ TABLE rtexti INDEX 1.

      p_text = rtexti-tdline.

    ELSE.

      IF sy-dynnr NE '0400'.

        p_text = itab_it-descr.

      ENDIF.

    ENDIF.

  ELSE.

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

    IF sy-dynnr NE '0400'.

* << Fim da exclusão

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

    IF sy-dynnr NE '0400' AND sy-dynnr NE '0050'.

* << Fim da inclusão

      p_text = itab_it-descr.

    ELSE.

      IF NOT itab_it-especificacao IS INITIAL.

        IF rtexti[] IS INITIAL.

          rtexti-tdformat = space.

          rtexti-tdline   = itab_it-especificacao.

          APPEND rtexti.

        ENDIF.

        /pws/zycie100a-especificacao = itab_it-especificacao.

      ELSE.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F03

 

...

            object                  = 5

            reference_check         = 6

            wrong_access_to_archive = 7

            OTHERS                  = 8.

  IF sy-subrc = 0.

    READ TABLE rtexti INDEX 1.

  ENDIF.

  DATA: v_spras LIKE ekko-spras.

  IF rtexti IS INITIAL.

    SORT itab_zycit229 BY codseq.

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

    READ TABLE itab_ekpo WITH KEY ebeln = itab_zycit003-ebeln

                                  ebelp = itab_zycit003-ebelp.

* << Fim da exclusão

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

    READ TABLE itab_ekpo WITH KEY ebeln = itab_it-ebeln

                                  ebelp = itab_it-ebelp.

* << Fim da inclusão

    IF NOT itab_zycit229[] IS INITIAL.

      LOOP AT itab_zycit229.

        CLEAR: v_name, v_texto, itab_makt, itab_stxl, v_spras.

        FREE: itab_makt, itab_stxl.

        IF itab_zycit229-spras NE space.

          v_spras = itab_zycit229-spras.

        ELSE.

          SELECT SINGLE spras FROM ekko INTO v_spras

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

            WHERE ebeln = itab_zycit003-ebeln.

* << Fim da exclusão

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

            WHERE ebeln = itab_it-ebeln.

* << Fim da inclusão

        ENDIF.

        IF itab_zycit229-txtdesc = '01'.

          SELECT SINGLE * FROM makt INTO itab_makt

                          WHERE matnr = itab_ekpo-matnr

                           AND spras = v_spras.

          IF sy-subrc = 0.

            rtexti-tdformat = '*'.

            rtexti-tdline   = itab_makt-maktx.

            APPEND rtexti.

          ELSE.

...

 

...

            IF sy-subrc EQ 0.

              rtexti-tdformat = '*'.

              CONCATENATE text-114  wa_ender-stras wa_ender-ort01

                          wa_ender-regio

                  INTO rtexti-tdline SEPARATED BY space.

              APPEND rtexti.

            ENDIF.

          ENDIF.

        ELSEIF itab_zycit229-txtdesc = '11'.

          rtexti-tdformat = '*'.

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

          CONCATENATE text-052 itab_zycit003-ebeln

* << Fim da exclusão

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

          CONCATENATE text-052 itab_it-ebeln

* << Fim da inclusão

                      INTO rtexti-tdline SEPARATED BY space.

          APPEND rtexti.

        ELSEIF itab_zycit229-txtdesc = '12'.

          rtexti-tdformat = '*'.

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

          CONCATENATE text-115 itab_zycit003-ebelp

* << Fim da exclusão

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

          CONCATENATE text-115 itab_it-ebelp

* << Fim da inclusão

                      INTO rtexti-tdline SEPARATED BY space.

          APPEND rtexti.

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

        ENDIF.

        IF rtexti IS INITIAL.

         PERFORM read_text_blitem CHANGING /pws/zycie100a-especificacao.

* << Fim da inclusão

        ENDIF.

      ENDLOOP.

    ELSE.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023O01

 

...

  /pws/zycie013-slqtde     = itab_it-slqtde.

  /pws/zycie003-nrseqli    = itab_it-nrseqli.

  /pws/zycie003-nrli       = itab_it-nrli.

  /pws/zycie003-nrseqd     = itab_it-nrseqd.

  /pws/zycie003-nrdrawback = itab_it-nrdrawback.

  /pws/zycie003-modalidade = itab_it-modalidade.

  wa_it-mark          = itab_it-mark.

  MOVE-CORRESPONDING itab_it TO /pws/zycie003.

ENDMODULE.

MODULE load_data_blitem OUTPUT.

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

  IF sy-ucomm EQ 'DETA'.

    READ TABLE itab_it INDEX v_ip.

  ENDIF.

* << Fim da exclusão

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

  PERFORM load_data_blitem.

* << Fim da inclusão

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

  IF itab_it NE wa_it.

    PERFORM fill_itabitc.

    SELECT SINGLE embarca FROM /pws/zycit001 INTO t_embarc WHERE

           nrseq = itab_it-nrseq.

    READ TABLE itab_zycit003 WITH KEY nrseq = itab_it-nrseq

                                      ebeln = itab_it-ebeln

                                      ebelp = itab_it-ebelp.

    MOVE: itab_zycit003-nrseqd TO itab_it-nrseqd.

    IF NOT itab_zycit003-nrseqd IS INITIAL.

      SELECT SINGLE nratoc FROM /pws/zycit244 INTO v_nratoc

           WHERE nrseqd = itab_zycit003-nrseqd.

      IF sy-subrc NE 0.

        CLEAR v_nratoc.

      ELSE.

        SELECT SINGLE * FROM /pws/zycit078 INTO wa_zycit078 WHERE

         nrseqli = itab_zycit003-nrseqli.

        IF sy-subrc EQ 0.

          v_nratoc     = wa_zycit078-reg_drawback.

          /pws/zycie003-nrseqd = wa_zycit078-nrseqd.

        ENDIF.

      ENDIF.

    ELSE.

      SELECT SINGLE * FROM /pws/zycit078 INTO wa_zycit078 WHERE

       nrseqli = itab_zycit003-nrseqli.

      IF sy-subrc EQ 0.

        v_nratoc     = wa_zycit078-reg_drawback.

        /pws/zycie003-nrseqd = wa_zycit078-nrseqd.

      ELSE.

        CLEAR v_nratoc.

      ENDIF.

    ENDIF.

    IF itab_it-pproc IS INITIAL.

      READ TABLE itab_zycit003 WITH KEY nrseq = itab_it-nrseq

                                        ebeln = itab_it-ebeln

                                        ebelp = itab_it-ebelp.

      itab_it-pproc = /pws/zycie100a-pproc = itab_zycit003-paisfab.

    ENDIF.

    IF itab_it-codregtri IS INITIAL.

      itab_it-codregtri = /pws/zycie100a-codregtri = '1'.

    ENDIF.

    IF /pws/zycie100a-codregtriipi IS INITIAL.

      /pws/zycie100a-codregtriipi = '3'.

    ENDIF.

  if sy-tcode = '/PWS/ZYCI023_C'.

    if itab_zycit001-regime = '05' and

       itab_zycit001-tpdecl = 'DI'.

         itab_it-codregtri = '5'.

         itab_it-codregtripiscofi = '5'.

         itab_it-codregtriipi = '5'.

         itab_it-codregtriicms = '5'.

    endif.

  endif.

    MOVE itab_it TO wa_it.

    MOVE-CORRESPONDING: itab_it TO /pws/zycie100a,

                        itab_it TO /pws/zycie003.

    v_idx = v_ip.

    v_tipop = 'T' .

    PERFORM: load_ifre  USING  v_tipop,

             load_itax  USING  v_tipop.

    PERFORM  calcula_impostos USING v_tipop .

    IF v_dit = 'N'.

      PERFORM fill_it115b.

      CLEAR: itab_zycit116, /pws/zycie085-ntimp.

      READ TABLE itab_zycit116 WITH KEY

           adicao = itab_it-adicao.

      s_advl  = /pws/zycie100a-vlantid.

      s_adbs  = /pws/zycie100a-baseantid.

      PERFORM: load_cncm  USING wa_it-j_1bnbm,

               load_mval  USING /pws/zycie100a-codmat,

               load_inco,

               load_itwa  USING /pws/zycie100a-waersbem,

               load_regt  USING /pws/zycie100a-codregtri

                                /pws/zycie085-ntimp

                                '1' CHANGING t_regdes,

               load_regt  USING /pws/zycie100a-codregtriipi

                                /pws/zycie085-ntimp

                                '2' CHANGING t_regde2,

               load_fund  USING /pws/zycie100a-codfunleg,

               load_regt  USING /pws/zycie100a-codregtriicms

                                /pws/zycie085-ntimp

                                '4' CHANGING t_regde3,

               load_fun_icms  ,

               load_alad  USING /pws/zycie100a-aladi,

               load_unit  USING /pws/zycie003-meins CHANGING s_umped,

               load_um    USING /pws/zycie003-meinsest CHANGING

                                s_umestt,

               load_umad.

    ENDIF.

    CLEAR:   rtexti, xtheadi.

    REFRESH: rtexti.

    CONCATENATE /pws/zycie085-nrseqdi

                itab_it-nrseq

                itab_it-ebeln

                itab_it-ebelp

                INTO v_txtki.

    IF  sy-dynnr EQ '0400'.

      PERFORM fill_desc.

      PERFORM read_text_blitem CHANGING /pws/zycie100a-especificacao.

    ELSE.

      PERFORM read_text_blitem CHANGING t_espec.

    ENDIF.

  ENDIF.

* << Fim da exclusão

ENDMODULE.

MODULE status_0231 OUTPUT.

  IF v_acto = 'A'.

    SET PF-STATUS '0231' EXCLUDING 'REPL_A'.

  ELSE.

    SET PF-STATUS '0231' EXCLUDING it_statu3.

  ENDIF.

  IF sy-dynnr = '0231'.

    SET TITLEBAR  '0231' WITH text-061 /pws/zycie085-nrseqdi.

  ELSE.

...