CE PLUS - Nota 004363

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DA

Data/Hora da Publicação: 07/08/2007 00:00:00

Data/Hora Última Alteração: 22/02/2011 14:44:11

Descrição da Nota: DECLARAÇÃO DE IMPORTAÇÃO - RECOF

Sintoma

Coluna Qtde. DA está alterando os valores.

 

 

Solução

Atualização no programa da DI para que nos embarques de recof o sistema faça o cálculo do saldo do

pedido e da DA corretamente.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTES REFERENTES A PERFORMANCE DO EMBARQUE.

Informações Complementares

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

Nota Número 04363 Data: 07/08/2007 Hora: 16:41:45

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

 

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

Nota Número              : 04363

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00002

Agrupamento              : 00007

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

Referência às notas relacionadas:

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

 

03732  - 00001 - 7.0    - 00001  - AJUSTES REFERENTES A PERFORMANCE DO EMBARQUE.

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

DECLARAÇÃO DE IMPORTAÇÃO - RECOF

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

Palavras Chave:

QUANTIDADE

 

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

Objetos da nota:

DYNP /PWS/SAPMZYCI070                        0150

REPS /PWS/MZYCI070I01

REPS /PWS/MZYCI070F01

REPS /PWS/MZYCI001F03

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI070                        0150

 

 

 

PROCESS BEFORE OUTPUT.

 

  MODULE: screen_lines,

          set_screen.

 

  LOOP AT itab_it WITH CONTROL tc_item.

    MODULE: set_status_item.

    MODULE: set_screen_table,

            fill_structit,

            saldo_online_da.

  ENDLOOP.

 

PROCESS AFTER INPUT.

 

* >> Início da inclusão:

  module sort_by_ebeln.

* << Fim da inclusão

 

  LOOP AT itab_it.

    CHAIN.

      FIELD v_qtd_da MODULE saldo_online_da ON INPUT.

    ENDCHAIN.

 

    MODULE: modi_datait.

  ENDLOOP.

 

  MODULE user_command_drill_down.

 

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI070I01

 

...

              ID 'TCD'  FIELD 'FB03'.

            IF sy-subrc = 0.

              CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.

            ELSE.

              MESSAGE e261(sf) WITH 'FB03'.

            ENDIF.

          ENDIF.

      ENDCASE.

  ENDCASE.

  CLEAR sy-ucomm.

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

  PERFORM data_sort.

* << Fim da inclusão

ENDMODULE.

...

 

...

      MESSAGE w013 WITH text-103 /pws/zycie443a-codfunlegicms text-104.

      CLEAR:  t_fundes_icms, /pws/zycie443a-codfunlegicms.

    ENDIF.

  ELSE.

    CLEAR:  t_fundes_icms.

  ENDIF.

ENDMODULE.

MODULE load_piscofins INPUT.

  PERFORM load_piscofins.

ENDMODULE.

* >> Início da inclusão:

MODULE sort_by_ebeln INPUT.

  SORT itab_it BY nrseq ebeln ebelp.

ENDMODULE.

* << Fim da inclusão

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI070F01

...

           ad_extarif    = itab_it-ad_extarif

           ad_tipo       = itab_it-ad_tipo

           ad_orgemiss   = itab_it-ad_orgemiss

           ad_numero     = itab_it-ad_numero

           ad_anoemiss   = itab_it-ad_anoemiss

           naladincca    = itab_it-naladincca

           nrseqd        = itab_it-nrseqd

           nrdrawback    = itab_it-nrdrawback

           modalidade    = itab_it-modalidade

           basred        = itab_it-basred

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

           nrseqda       = itab_it-nrseqda

* << Fim da inclusão

       WHERE

           nrseq = itab_it-nrseq AND

           ebeln = itab_it-ebeln AND

           ebelp = itab_it-ebelp.

  ENDLOOP.

  CLEAR: itab_zycit003_t,   itab_zycit078_t,

         itab_zycit442_t,   itab_zycit443_t.

  REFRESH: itab_zycit003_t, itab_zycit078_t,

           itab_zycit442_t, itab_zycit443_t.

  SELECT *

...

 

...

  DELETE itab_zycit460 WHERE nrseqda = /pws/zycie442-nrseqda.

  DELETE itab_zycit463 WHERE nrseqda = /pws/zycie442-nrseqda.

  DELETE itab_zycit464 WHERE nrseqda = /pws/zycie442-nrseqda.

  DELETE itab_zycit049 WHERE nrseq   = /pws/zycie442-nrseqda.

  DESCRIBE TABLE itab_zycit442 LINES v_nolin.

  LEAVE TO SCREEN 0.

ENDFORM.

FORM save_data_item.

  DATA : v_waersdif LIKE /pws/zycie443a-waersbem.

  CLEAR: v_waersdif.

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

  data wa_itab_aux like itab_it.

* << Fim da inclusão

  IF v_dit = 'S' AND

    ( /pws/zycie442-meiotransp = 'PS' OR

      /pws/zycie093-meiotransp = 'PS' )

                 AND /pws/zycie442-tpdi       = 'S'.

    /pws/zycie443a-vlii  = t_iirec.

    /pws/zycie443a-vlipi = t_ipirec.

  ENDIF.

  IF /pws/zycie442-mdadicao EQ 'N'.

    v_waersdif = itab_it-waersbem.

    IF NOT /pws/zycie003-nrseq IS INITIAL.

...

 

...

    itab_it-mandt = sy-mandt.

  ENDIF.

  MOVE t_pisbs    TO itab_it-basepis.

  MOVE t_cofinsbs TO itab_it-basecofins.

  IF sy-ucomm EQ 'ANTE' OR

     sy-ucomm EQ 'PROX' .

    CLEAR: t_pisbs, t_cofinsbs.

  ENDIF.

  MOVE itab_it TO wa_it.

  IF NOT v_ip IS INITIAL.

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

    MODIFY itab_it INDEX v_ip.

* << Fim da exclusão

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

    READ TABLE itab_it into wa_itab_aux WITH KEY

  nrseqda = itab_it-nrseqda

     nrseq = itab_it-nrseq

      ebeln = itab_it-ebeln

      ebelp = itab_it-ebelp

      adicao = itab_it-adicao.

    MODIFY itab_it INDEX sy-tabix.

* << Fim da inclusão

  ENDIF.

  DELETE itab_zycit450 WHERE

             nrseq  = wa_it-nrseq AND

             ebeln  = wa_it-ebeln AND

             ebelp  = wa_it-ebelp.

  LOOP AT itab_zycit450b.

    MOVE itab_zycit450b TO itab_zycit450.

    APPEND itab_zycit450.

  ENDLOOP.

  CONCATENATE /pws/zycie442-nrseqda

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI001X01

...

 

DATA: BEGIN OF itab_zycit003_util OCCURS 0.

DATA: nrseq    TYPE /pws/zycit003-nrseq,

      ebeln    TYPE /pws/zycit003-ebeln,

      ebelp    TYPE /pws/zycit003-ebelp,

* >> Início da exclusão:

      qtd_iten TYPE /pws/zycit003-qtd_iten.

* << Fim da exclusão

* >> Início da inclusão:

      qtd_iten TYPE /pws/zycit003-qtd_iten,

      regime   type /pws/zycit001-regime  .

* << Fim da inclusão

DATA: END OF itab_zycit003_util.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F03

 

...

      MODIFY itab_da.

    ENDLOOP.

    DATA: itab_zycit003_saldo LIKE itab_zycit003 OCCURS 0

          WITH HEADER LINE.

    IF NOT itab_da[] IS INITIAL.

      SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003_saldo

         FOR ALL ENTRIES IN itab_da

         WHERE ebeln EQ itab_da-ebeln

         AND   ebelp EQ itab_da-ebelp

         AND   nrseqda EQ itab_da-nrseqda.

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

      IF not itab_zycit003_saldo[] is initial.

* << Fim da inclusão

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

      IF sy-subrc EQ 0.

* << Fim da exclusão

        SELECT nrseq regime FROM /pws/zycit001

           INTO TABLE itab_zycit001_saldo

           FOR ALL ENTRIES IN itab_zycit003_saldo

           WHERE nrseq EQ itab_zycit003_saldo-nrseq

           AND   regime EQ '04'

           AND   tpdecl EQ 'DI'.

      ENDIF.

      LOOP AT itab_zycit001_saldo.

        DELETE itab_zycit003_saldo

           WHERE nrseq EQ itab_zycit001_saldo-nrseq.

...

 

...

      itab_zycit003_util-qtd_iten = itab_zycit003-qtd_iten.

      APPEND itab_zycit003_util.

    ENDLOOP.

    IF NOT itab_pedido_temp[] IS INITIAL.

      SELECT nrseq ebeln ebelp qtd_iten FROM /pws/zycit003

        APPENDING TABLE itab_zycit003_util

        FOR ALL ENTRIES IN itab_pedido_temp

        WHERE ebeln EQ itab_pedido_temp-ebeln

          AND ebelp EQ itab_pedido_temp-ebelp

          AND nrseq NE /pws/zycie001-nrseq.

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

       if not itab_zycit003_util[]  is initial.

          select nrseq regime  from /pws/zycit001

            into table itab_zycit001_saldo

            for all entries in itab_zycit003_util

        where nrseq eq itab_zycit003_util-nrseq.

        loop at itab_zycit001_saldo where regime eq '16' .

           delete itab_zycit003_util

             where nrseq eq itab_zycit001_saldo-nrseq.

        endloop .

       endif .

* << Fim da inclusão

    ENDIF.

  ENDIF.

  LOOP AT itab_zycit013.

    CLEAR: itab_pedido, itab_zycit003_util.

    READ TABLE itab_pedido WITH KEY ebeln = itab_zycit013-ebeln

                                    ebelp = itab_zycit013-ebelp.

    IF sy-subrc EQ 0.

      CLEAR v_qtdemb.

      LOOP AT itab_zycit003_util WHERE ebeln EQ itab_zycit013-ebeln

                                 AND   ebelp EQ itab_zycit013-ebelp.

...