CE PLUS - Nota 002951

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Custo Efetivo

Data/Hora da Publicação: 23/01/2007 00:00:00

Data/Hora Última Alteração: 08/03/2010 16:31:50

Descrição da Nota: RELATORIO /PWS/ZTCIR986 - AJUSTE TABELA 036

Sintoma

 

Por algum motivo na hora de eliminar a fatura não eliminou da tabela /PWS/ZYCIT036

 

Solução

 

Atualização do programa de custo efetivo para gerar um relatorio para ajustar o valor da mercadoria

que ficou duplicado no custo efetivo.

Versões Tratadas

6.0

Informações Complementares

 

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

Nota Número 02951 Data: 23/01/2007 Hora: 15:27:13

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

 

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

Nota Número              : 02951

Categoria                : Erro de Programa

Prioridade               : Baixa

Versão PW.CE             : 6.0

Pacote                   : 00026

Agrupamento              : 00149

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

RELATORIO /PWS/ZTCIR986 - AJUSTE TABELA 036

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

Palavras Chave:

RELATORIO

 

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

Objetos da nota:

REPS /PWS/ZYCIR986

 

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

Modificações efetuadas em REPS /PWS/ZYCIR986

 

*&---------------------------------------------------------------------*

*& Report  /PWS/ZYCIR986                                               *

*&                                                                     *

*&---------------------------------------------------------------------*

*&                                                                     *

*&                                                                     *

*&---------------------------------------------------------------------*

 

REPORT  /pws/zycir986 MESSAGE-ID /pws/zycim.

 

TABLES: /pws/zycit263,

        /pws/zycit006.

 

DATA: itab_zycit036 TYPE /pws/zycit036 OCCURS 0 WITH HEADER LINE,

      itab_zycit006 TYPE /pws/zycit006 OCCURS 0 WITH HEADER LINE,

      itab_zycit140 TYPE /pws/zycit140 OCCURS 0 WITH HEADER LINE,

      itab_zycit003 TYPE /pws/zycit003 OCCURS 0 WITH HEADER LINE,

      itab_zycit263 TYPE /pws/zycit263 OCCURS 0 WITH HEADER LINE.

 

PARAMETERS: p_nrseq TYPE /pws/zycit001-nrseq.

 

 

START-OF-SELECTION.

 

  SELECT *

    FROM /pws/zycit036

    INTO TABLE itab_zycit036

    WHERE nrseq  EQ p_nrseq

      AND ( origem EQ 'NF'

       OR   origem EQ 'FAT' )

      AND ( codigo EQ 'CIF'

       OR   codigo EQ 'C&F'

       OR   codigo EQ 'FOB' ).

 

  IF sy-subrc EQ 0.

 

    SELECT *:

 

      FROM /pws/zycit263

      INTO TABLE itab_zycit263

      WHERE nrseq EQ p_nrseq,

 

      FROM /pws/zycit003

      INTO TABLE itab_zycit003

      WHERE nrseq EQ p_nrseq,

 

      FROM /pws/zycit006

      INTO TABLE itab_zycit006

      FOR ALL ENTRIES IN itab_zycit263

      WHERE nrseq_pgfat EQ itab_zycit263-nrseq_pgfat

        AND eliminado   EQ 'X',

 

      FROM /pws/zycit140

      INTO TABLE itab_zycit140

      WHERE codigo EQ 'CIF'

         OR codigo EQ 'C&F'

         OR codigo EQ 'FOB'.

 

    LOOP AT itab_zycit006.

      DELETE FROM /pws/zycit036 WHERE nrseqori = itab_zycit006-nrseq.

      IF sy-subrc EQ 0.

        MESSAGE i061 WITH text-002 itab_zycit006-nrseq.

        DELETE itab_zycit036 WHERE nrseqori = itab_zycit006-nrseq..

      ENDIF.

    ENDLOOP.

 

    if sy-subrc ne 0.

      message e039 with text-005.

    endif.

 

    LOOP AT itab_zycit036.

      READ TABLE itab_zycit140 WITH KEY codigo = itab_zycit036-codigo

                                         custo = 'X'.

      IF itab_zycit140-origem EQ 'NF' AND itab_zycit036-origem EQ 'NF'.

        READ TABLE itab_zycit003 WITH KEY ebeln  = itab_zycit036-ebeln

                                          ebelp  = itab_zycit036-ebelp.

 

        itab_zycit036-vlreal = ( itab_zycit003-vlreal     *

                                 itab_zycit003-qtd_iten ) +

                                 itab_zycit003-vlfre_fat  +

                                 itab_zycit003-vlseg_fat.

 

        UPDATE /pws/zycit036 SET: vlreal    = itab_zycit036-vlreal

                           WHERE: nrseq     = itab_zycit036-nrseq

                             AND  ebeln     = itab_zycit036-ebeln

                             AND  ebelp     = itab_zycit036-ebelp

                             AND  codigo    = itab_zycit036-codigo

                             AND  origem    = itab_zycit036-origem

                             AND  nrseqori  = itab_zycit036-nrseqori.

        if sy-subrc eq 0.

          message i039 with text-004.

        endif.

 

      ELSEIF itab_zycit140-origem EQ 'FAT' AND

      itab_zycit036-origem EQ 'FAT'.

 

        itab_zycit036-vlmov = itab_zycit036-vlmov + itab_zycit036-vlmov.

 

        UPDATE /pws/zycit036 SET: vlmov    = itab_zycit036-vlmov

                           WHERE: nrseq    = itab_zycit036-nrseq

                             AND  ebeln    = itab_zycit036-ebeln

                             AND  ebelp    = itab_zycit036-ebelp

                             AND  codigo   = itab_zycit036-codigo

                             AND  origem   = itab_zycit036-origem

                             AND  nrseqori = itab_zycit036-nrseqori.

        if sy-subrc eq 0.

          message i039 with text-003.

        endif.

      ENDIF.

      MODIFY itab_zycit036.

 

    ENDLOOP.

 

  ELSE.

    MESSAGE i039 WITH text-001.

    STOP.

  ENDIF.

 

 

 

Textos criados

001 Embarque não encontrado

002 Fatura eliminada da /PWS/ZYCIT036 -

003 Valor do MOVIMENTADO atualizado com sucesso!

004 Valor do REALIZADO atualizado com sucesso!

005 Faturas não encontradas!

 

 

Tradução

 

  Embarque não encontrado

  Shipment not found

 

  Fatura eliminada da /PWS/ZYCIT036 -

  Eliminated invoice of /PWS/ZYCIT036 -

 

  Valor do MOVIMENTADO atualizado com sucesso!

  Moved value updated with success

 

  Valor do REALIZADO atualizado com sucesso!

  Realized value updated with success

 

  Faturas não encontradas!

  Invoice not found

 

  CI - Ajuste tabela 036 - faturas eliminadas na 006 mas não na 036

  CI - Adjust table 036 - invoices eliminated in the 006 but not in 036

 

  Nº Sequência do Embarque

  Shipment Sequential Numb

 

Na tela de selecção a descrição do campo deve vir Referência Dictionary

 

 

 

transação criada para o Relatorio:

 

/PWS/ZYCIR986

 

 

 

 

 

 

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

 DELETE FROM /pws/zycit036

                      WHERE nrseq  = it003-nrseq

                        AND ebeln  = it003-ebeln

                        AND ebelp  = it003-ebelp

                        AND codigo = pcodigo

                        AND origem = 'FAT'

                        AND nrseqori = /pws/zycie006-nrseq.

      IF ptype = 'X'.

        UPDATE /pws/zycit263 SET eliminado   = 'X' WHERE

                         nrseq       = it003-nrseq AND

                         ebeln       = it003-ebeln AND

                         ebelp       = it003-ebelp AND

                         nrseq_pgfat = /pws/zycie006-nrseq.

      ENDIF.

    ENDIF.

* << inicio inclusão form: dele_custo

    if sy-subrc ne 0.

      DELETE FROM /pws/zycit036

                      WHERE codigo = pcodigo

                        AND origem = 'FAT'

                        AND nrseqori = /pws/zycie006-nrseq.

    endif.

* << fim inclusão

  ENDLOOP.

* << inicio inclusão form: dele_custo

  if sy-subrc ne 0.

    DELETE FROM /pws/zycit036

                    WHERE codigo = pcodigo

                      AND origem = 'FAT'

                      AND nrseqori = /pws/zycie006-nrseq.

  endif.

* << fim inclusão

  IF ptype = 'X'.

    CLEAR /pws/zycie006.

  ENDIF.

 

 

  COMMIT WORK.

 

 

ENDFORM.                    " dele_custo

FORM executa_recebimento.

 

  DATA: v_lfsnr_old   LIKE /pws/zycie006-lfsnr,

        v_lfsnr       LIKE /pws/zycie006-lfsnr,

        v_indice(02)  TYPE n                  ,

        v_erro                                ,

        v_servico(01) TYPE c                  .

...