CE PLUS - Nota 006675

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal Remessa

Data/Hora da Publicação: 03/06/2008 00:00:00

Data/Hora Última Alteração: 23/02/2011 09:17:11

Descrição da Nota: AO CRIAR REMESSA DE UM DOS ITENS DO EMBARQUE, APAGA O CUSTO DO OUTRO

Sintoma

Ao criar remessa de um dos dois itens do embarque, o Pw.CE, o sistema está apagando do custo o outro

item

 

 

Solução

Verificar todos os itens do embarque ao fazer nf remessa.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTES PARA CRIAR A LINHA DE FATURA PARCELADA NO CUSTO

AO GERAR A NOTA FISCAL OS VALORES DO CUSTO FICAM INCORRETOS.

Informações Complementares

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

Nota Número 06675 Data: 03/06/2008 Hora: 14:53:20

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

 

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

Nota Número              : 06675

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00005

Agrupamento              : 00050

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

Referência às notas relacionadas:

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

 

03654  - 00001 - 7.0    - 00001  - AO GERAR A NOTA FISCAL OS VALORES DO CUSTO FICAM INCORRETOS.

05091  - 00002 - 7.0    - 00003  - AJUSTES PARA CRIAR A LINHA DE FATURA PARCELADA NO CUSTO

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

AO CRIAR REMESSA DE UM DOS ITENS DO EMBARQUE, APAGA O CUSTO DO OUTRO

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

Palavras Chave:

NF REMESSA - ITENS DO EMBARQUE - CUSTO EFETIVO

 

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

Objetos da nota:

REPS /PWS/MZYCI016F01

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

 

FORM atualiza_custos .

  DATA: BEGIN OF itab_zycit006 OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit006.

  DATA: END OF itab_zycit006.

  DATA: BEGIN OF itab_zycit036_aux OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit036.

  DATA: END OF itab_zycit036_aux.

  DATA itab_zycit132 LIKE /pws/zycie132 OCCURS 0 WITH HEADER LINE.

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

  DATA: itab_zycit003_aux2 TYPE /pws/zycit003 OCCURS 0 WITH HEADER LINE.

* << Fim da inclusão

  IF NOT itab_zycit003[] IS INITIAL.

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

    READ TABLE itab_zycit003 INDEX 1.

    IF sy-subrc EQ 0.

      SELECT SINGLE * FROM /pws/zycit001

        INTO /pws/zycie001

        WHERE nrseq EQ itab_zycit003-nrseq.

      IF /pws/zycit031 IS INITIAL.

        IF t001 IS INITIAL.

          SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie041-bukrs.

        ENDIF.

        SELECT SINGLE * FROM /pws/zycit031

          WHERE inco1 = /pws/zycie001-inco1

            AND land1 EQ t001-land1.                    "#EC CI_NOFIRST

      ENDIF.

      SELECT * FROM /pws/zycit003

      INTO TABLE itab_zycit003_aux2

       WHERE nrseq EQ  itab_zycit003-nrseq.

      IF sy-subrc EQ 0.

* << Fim da inclusão

    SELECT * FROM /pws/zycit263

      INTO TABLE itab_zycit263

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

    FOR ALL ENTRIES IN itab_zycit003

    WHERE nrseq EQ itab_zycit003-nrseq

    AND   ebeln EQ itab_zycit003-ebeln

    AND   ebelp EQ itab_zycit003-ebelp .

* << Fim da exclusão

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

        FOR ALL ENTRIES IN itab_zycit003_aux2

        WHERE nrseq EQ itab_zycit003_aux2-nrseq

        AND   ebeln EQ itab_zycit003_aux2-ebeln

        AND   ebelp EQ itab_zycit003_aux2-ebelp .

* << Fim da inclusão

    IF NOT itab_zycit263[] IS INITIAL.

      SELECT * FROM /pws/zycit006

        INTO TABLE itab_zycit006

      FOR ALL ENTRIES IN itab_zycit263

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

      WHERE nrseq_pgfat EQ itab_zycit263-nrseq_pgfat .  "#EC CI_NOFIELD

      IF sy-subrc EQ

      0.

* << Fim da exclusão

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

       WHERE nrseq_pgfat EQ itab_zycit263-nrseq_pgfat . "#EC CI_NOFIELD

          IF sy-subrc EQ  0.

* << Fim da inclusão

        SELECT * FROM /pws/zycit132 INTO TABLE itab_zycit132

        FOR ALL ENTRIES IN itab_zycit006

            WHERE nrseq = itab_zycit006-nrseq

              AND nrfat = itab_zycit006-nrfat

              AND eliminado NE 'X'.

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

          ENDIF.

* << Fim da inclusão

      ENDIF.

    ENDIF.

  ENDIF.

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

  READ TABLE itab_zycit003 INDEX 1.

  SELECT SINGLE * FROM /pws/zycit001

    INTO /pws/zycie001

    WHERE nrseq EQ itab_zycit003-nrseq.

* << Fim da exclusão

  SELECT * FROM /pws/zycit036

    INTO TABLE itab_zycit036_aux

    WHERE nrseq  EQ /pws/zycie001-nrseq

    AND   codigo EQ /pws/zycit031-inco1_ci

    AND   origem EQ 'FAT' .

  IF sy-subrc EQ 0.

    LOOP AT itab_zycit036_aux.

      READ TABLE itab_zycit006 WITH KEY

           nrseq = itab_zycit036_aux-nrseqori.

      IF sy-subrc NE 0.

...

 

...

          DELETE itab_zycit036

             WHERE nrseq    = itab_zycit036_aux-nrseq

             AND   ebeln    = itab_zycit036_aux-ebeln

             AND   ebelp    = itab_zycit036_aux-ebelp

             AND   nrseqori = itab_zycit006-nrseq.

        ENDIF.

      ENDIF.

    ENDLOOP.

  ENDIF.

  LOOP AT itab_zycit263 WHERE eliminado NE 'X'.

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

    READ TABLE itab_zycit003 WITH KEY

* << Fim da exclusão

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

      READ TABLE itab_zycit003_aux2 WITH KEY

* << Fim da inclusão

             nrseq = itab_zycit263-nrseq

             ebeln = itab_zycit263-ebeln

             ebelp = itab_zycit263-ebelp.

    IF sy-subrc EQ 0.

      LOOP AT itab_zycit006

          WHERE nrseq_pgfat = itab_zycit263-nrseq_pgfat

          AND   eliminado   NE 'X'.

        READ TABLE itab_zycit036_aux  WITH KEY

             nrseq    = /pws/zycie001-nrseq

             codigo   = /pws/zycit031-inco1_ci

             origem   =  'FAT'

             nrseqori = itab_zycit006-nrseq.

        IF sy-subrc NE 0.

          READ TABLE itab_zycit132 WITH KEY

               nrseq = itab_zycit006-nrseq.

          IF NOT itab_zycit006-belnr_p IS INITIAL OR

             itab_zycit006-frpagto EQ 'A' OR

             NOT itab_zycit132-belnr_p IS INITIAL.

            itab_zycit036-mandt      = sy-mandt  .

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

            itab_zycit036-nrseq      = itab_zycit003-nrseq.

            itab_zycit036-ebeln      = itab_zycit003-ebeln.

            itab_zycit036-ebelp      = itab_zycit003-ebelp.

            itab_zycit036-werks      = itab_zycit003-werks.

* << Fim da exclusão

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

              itab_zycit036-nrseq      = itab_zycit003_aux2-nrseq.

              itab_zycit036-ebeln      = itab_zycit003_aux2-ebeln.

              itab_zycit036-ebelp      = itab_zycit003_aux2-ebelp.

              itab_zycit036-werks      = itab_zycit003_aux2-werks.

* << Fim da inclusão

            itab_zycit036-nrseqori   = itab_zycit006-nrseq.

            itab_zycit036-embarca    = /pws/zycie001-embarca.

            itab_zycit036-codigo     = /pws/zycit031-inco1_ci.

            itab_zycit036-netpr      =

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

            itab_zycit003-netpr * itab_zycit003-qtd_iten.

            itab_zycit036-waers      = itab_zycit003-waers.

* << Fim da exclusão

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

              itab_zycit003_aux2-netpr * itab_zycit003_aux2-qtd_iten.

              itab_zycit036-waers      = itab_zycit003_aux2-waers.

* << Fim da inclusão

            itab_zycit036-waers_real = itab_zycit006-waers.

            itab_zycit036-usernamec  = sy-uname.

            itab_zycit036-dtuserc    = sy-datum.

            itab_zycit036-hruserc    = sy-uzeit.

            PERFORM trata_decimais USING    itab_zycit036-waers

                                     CHANGING itab_zycit036-vlreal.

            itab_zycit036-vlreal =

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

          ( itab_zycit003-vlreal    * itab_zycit263-qtd_iten ) +

            itab_zycit003-vlfre_fat + itab_zycit003-vlseg_fat.

* << Fim da exclusão

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

            ( itab_zycit003_aux2-vlreal    * itab_zycit263-qtd_iten ) +

            itab_zycit003_aux2-vlfre_fat + itab_zycit003_aux2-vlseg_fat.

* << Fim da inclusão

            itab_zycit036-bukrs      = itab_zycit006-bukrs.

            itab_zycit036-codmod     = 'D'.

            itab_zycit036-status     = 'M'.

            itab_zycit036-vlreal_emb = itab_zycit006-vltotal.

            itab_zycit036-waers_emb  = itab_zycit006-waers.

            itab_zycit036-origem     = 'FAT'.

            itab_zycit036-waers_dif  = /pws/zycie001-waers.

            MODIFY /pws/zycit036 FROM itab_zycit036.

            READ TABLE itab_zycit036 TRANSPORTING NO FIELDS WITH KEY

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

                                  nrseq      = itab_zycit003-nrseq

                                  ebeln      = itab_zycit003-ebeln

                                  ebelp      = itab_zycit003-ebelp

* << Fim da exclusão

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

                                  nrseq      = itab_zycit003_aux2-nrseq

                                  ebeln      = itab_zycit003_aux2-ebeln

                                  ebelp      = itab_zycit003_aux2-ebelp

* << Fim da inclusão

                                  nrseqori   = itab_zycit006-nrseq

                                  origem     = 'FAT'

                                  codigo     = /pws/zycit031-inco1_ci.

            IF sy-subrc EQ 0.

              MODIFY itab_zycit036 INDEX sy-tabix.

            ELSE.

              APPEND itab_zycit036.

            ENDIF.

          ENDIF.

        ENDIF.

      ENDLOOP.

    ENDIF.

  ENDLOOP.

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

  ENDIF.

* << Fim da inclusão

ENDFORM.

...