CE PLUS - Nota 005091

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

Data/Hora da Publicação: 26/10/2007 00:00:00

Data/Hora Última Alteração: 23/02/2011 09:15:19

Descrição da Nota: AJUSTES PARA CRIAR A LINHA DE FATURA PARCELADA NO CUSTO

Sintoma

Ao criar Fatura não gravou a linha do incoterm na tabela /PWS/ZYCIT036. Ao tentar corrigir, não

funcionou porque a fatura era parcelada.

 

 

Solução

Ajustes no relatório de correção para fatura parcelada e livre de débito e na criação da fatura.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

RELATÓRIO DE CORREÇÃO DE CUSTO NÃO TRATA FATURAS PARCELADAS TIPO P

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

Informações Complementares

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

Nota Número 05091 Data: 26/10/2007 Hora: 15:18:03

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

 

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

Nota Número              : 05091

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00003

Agrupamento              : 00018

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

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.

04972  - 00002 - 7.0    - 00003  - RELATÓRIO DE CORREÇÃO DE CUSTO NÃO TRATA FATURAS PARCELADAS TIPO

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

AJUSTES PARA CRIAR A LINHA DE FATURA PARCELADA NO CUSTO

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

Palavras Chave:

CUSTO EFETIVO - FATURA - CRIAÇÃO NF - VALOR FOB

 

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

Objetos da nota:

REPS /PWS/MZYCI016F01

REPS /PWS/ZYCIR988

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

    ENDIF.

  ENDIF.

ENDFORM.

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.

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

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

* << Fim da inclusão

  IF NOT itab_zycit003[] IS INITIAL.

    SELECT * FROM /pws/zycit263

      INTO TABLE itab_zycit263

    FOR ALL ENTRIES IN itab_zycit003

    WHERE nrseq EQ itab_zycit003-nrseq

    AND   ebeln EQ itab_zycit003-ebeln

    AND   ebelp EQ itab_zycit003-ebelp .

    IF NOT itab_zycit263[] IS INITIAL.

      SELECT * FROM /pws/zycit006

        INTO TABLE itab_zycit006

      FOR ALL ENTRIES IN itab_zycit263

      WHERE nrseq_pgfat EQ itab_zycit263-nrseq_pgfat .

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

      IF sy-subrc EQ

      0.

        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'.

* << Fim da inclusão

    ENDIF.

  ENDIF.

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

  ENDIF.

* << Fim da inclusão

  READ TABLE itab_zycit003 INDEX 1.

  SELECT SINGLE * FROM /pws/zycit001

    INTO /pws/zycie001

    WHERE nrseq EQ itab_zycit003-nrseq.

  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' .

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

  IF sy-subrc EQ 0.

* << Fim da inclusão

  LOOP AT itab_zycit036_aux.

    READ TABLE itab_zycit006 WITH KEY

         nrseq = itab_zycit036_aux-nrseqori.

    IF sy-subrc NE 0.

      DELETE FROM /pws/zycit036

         WHERE nrseq    = itab_zycit036_aux-nrseq

         AND   ebeln    = itab_zycit036_aux-ebeln

         AND   ebelp    = itab_zycit036_aux-ebelp

         AND   nrseqori = itab_zycit006-nrseq.

    ELSE.

...

 

...

           AND   ebelp    = itab_zycit036_aux-ebelp

           AND   nrseqori = itab_zycit006-nrseq.

        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.

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

  ENDIF.

* << Fim da inclusão

  LOOP AT itab_zycit263 WHERE eliminado NE 'X'.

    READ TABLE itab_zycit003 WITH KEY

             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.

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

          READ TABLE itab_zycit132 WITH KEY

               nrseq = itab_zycit006-nrseq.

* << Fim da inclusão

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

          IF NOT itab_zycit006-belnr_p IS INITIAL.

* << Fim da exclusão

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

          IF NOT itab_zycit006-belnr_p IS INITIAL OR

             itab_zycit006-frpagto EQ 'A' OR

             NOT itab_zycit132-belnr_p IS INITIAL.

* << Fim da inclusão

            itab_zycit036-mandt      = sy-mandt  .

            itab_zycit036-nrseq      = itab_zycit003-nrseq.

            itab_zycit036-ebeln      = itab_zycit003-ebeln.

            itab_zycit036-ebelp      = itab_zycit003-ebelp.

            itab_zycit036-werks      = itab_zycit003-werks.

            itab_zycit036-nrseqori   = itab_zycit006-nrseq.

            itab_zycit036-embarca    = /pws/zycie001-embarca.

            itab_zycit036-codigo     = /pws/zycit031-inco1_ci.

            itab_zycit036-netpr      =

            itab_zycit003-netpr * itab_zycit003-qtd_iten.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCIR988

 

...

                   ebeln = itab_zycit003-ebeln

                   ebelp = itab_zycit003-ebelp.

        IF sy-subrc EQ 0.

          READ TABLE itab_zycit006 WITH KEY

                    nrseq_pgfat = itab_zycit263-nrseq_pgfat.

          IF sy-subrc EQ 0.

            READ TABLE itab_zycit132 WITH KEY

                 nrseq = itab_zycit006-nrseq.

          ENDIF.

          IF NOT itab_zycit006-belnr_p IS INITIAL OR

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

             NOT itab_zycit006-frpagto EQ 'A' OR

* << Fim da exclusão

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

              itab_zycit006-frpagto EQ 'A' OR

* << Fim da inclusão

             NOT itab_zycit132-belnr_p IS INITIAL.

            LOOP AT itab_zycit036 WHERE

                   nrseq = itab_zycit003-nrseq AND

                   ebeln = itab_zycit003-ebeln AND

                   ebelp = itab_zycit003-ebelp.

              IF sy-subrc EQ 0.

                itab_zycit036-vlreal = ( itab_zycit003-vlreal *

                  itab_zycit263-qtd_iten )   +

                itab_zycit003-vlfre_fat + itab_zycit003-vlseg_fat.

                itab_zycit036-origem = 'FAT'.

...