CE PLUS - Nota 004972

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Relatórios

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

Data/Hora Última Alteração: 21/02/2011 13:24:52

Descrição da Nota: RELATÓRIO DE CORREÇÃO DE CUSTO NÃO TRATA FATURAS PARCELADAS TIPO P

Sintoma

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

 

 

Solução

ATUALIZADO REPORT DE CORREÇÃO PARA VERIFICAR TAMBÉM A TABELA /PWS/ZYCIT132 DE FATURA PARCELADA.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTE CUSTO

ERRO NO CUSTO EFETIVO, VALOR DA FATURA

Informações Complementares

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

Nota Número 04972 Data: 11/10/2007 Hora: 13:50:17

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

 

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

Nota Número              : 04972

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00003

Agrupamento              : 00016

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

Referência às notas relacionadas:

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

 

03346  - 00001 - 7.0    - 00001  - ERRO NO CUSTO EFETIVO, VALOR DA FATURA

04253  - 00002 - 7.0    - 00002  - AJUSTE CUSTO

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

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

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

Palavras Chave:

CORREÇÃO DE CUSTO - CUSTO EFETIVO - ORIGEM FOB - TABELA /PWS/ZYCIT036

 

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

Objetos da nota:

REPS /PWS/ZYCIR988

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

Modificações efetuadas em REPS /PWS/ZYCIR988

 

...

         /pws/zycit041,

         /pws/zycbt007,

         tcurx,

         t001.

DATA itab_zycit036 LIKE /pws/zycit036 OCCURS 0 WITH HEADER LINE.

DATA itab_zycit003 LIKE /pws/zycit003 OCCURS 0 WITH HEADER LINE.

DATA itab_zycit042 LIKE /pws/zycit042 OCCURS 0 WITH HEADER LINE.

DATA itab_zycit263 LIKE /pws/zycie263 OCCURS 0 WITH HEADER LINE.

DATA itab_zycit006 LIKE /pws/zycie006 OCCURS 0 WITH HEADER LINE.

DATA itab_zycit100 LIKE /pws/zycit100 OCCURS 0 WITH HEADER LINE.

* >> Início da inclusão:

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

* << Fim da inclusão

DATA: okcode LIKE sy-ucomm.

DATA :  v_kursf LIKE bkpf-kursf,

        v_valor LIKE /pws/zycit036-vlreal.

SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-001.

PARAMETER: p_nrseq TYPE /pws/zycit003-nrseq OBLIGATORY.

SELECTION-SCREEN END OF BLOCK bl1.

...

 

...

    SELECT SINGLE *

      FROM /pws/zycbt007

      WHERE bukrs EQ /pws/zycie001-bukrs.

    SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003

     WHERE nrseq EQ /pws/zycie001-nrseq.

    SELECT * FROM /pws/zycit100 INTO TABLE itab_zycit100

     WHERE nrseq EQ /pws/zycie001-nrseq.

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

    IF sy-subrc EQ 0.

* << Fim da exclusão

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

    IF NOT itab_zycit003[] IS INITIAL.

* << Fim da inclusão

      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

      AND   eliminado NE 'X'.

      IF sy-subrc EQ 0.

        SELECT  * FROM /pws/zycit006

         INTO TABLE itab_zycit006

         FOR ALL ENTRIES IN itab_zycit263

         WHERE nrseq_pgfat EQ itab_zycit263-nrseq_pgfat

         AND   tpfatura    EQ '01'

         AND   eliminado   NE 'X' .

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

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

        ENDIF.

* << Fim da inclusão

        SELECT * FROM /pws/zycit042 INTO TABLE itab_zycit042

        FOR ALL ENTRIES IN itab_zycit003

        WHERE nrseq = itab_zycit003-nrseq AND

              ebeln = itab_zycit003-ebeln AND

              ebelp = itab_zycit003-ebelp.

      ENDIF.

    ENDIF.

  ELSE.

    MESSAGE i015 WITH text-004.

  ENDIF.

ENDFORM.

...

 

...

                 codigo = 'CIF' )

                 AND origem = 'PED' .

      IF sy-subrc EQ 0.

        READ TABLE itab_zycit263 WITH KEY

                   nrseq = itab_zycit003-nrseq

                   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.

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

          IF sy-subrc EQ 0.

            READ TABLE itab_zycit132 WITH KEY

                 nrseq = itab_zycit006-nrseq.

          ENDIF.

* << Fim da inclusão

          IF NOT itab_zycit006-belnr_p IS INITIAL OR

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

             NOT itab_zycit006-frpagto EQ 'A' .

* << Fim da exclusão

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

              itab_zycit006-frpagto EQ 'A' OR

             NOT itab_zycit132-belnr_p IS INITIAL.

* << Fim da inclusão

            LOOP AT itab_zycit036 WHERE

                   nrseq = itab_zycit003-nrseq AND

...

 

...

                CLEAR : itab_zycit036-vldif.

                itab_zycit036-usernamec  = sy-uname.

                itab_zycit036-dtuserc    = sy-datum.

                itab_zycit036-hruserc    = sy-uzeit.

                SELECT SINGLE * FROM /pws/zycit041

                   WHERE nrseq    EQ itab_zycit042-nrseqnf

                   AND   nfglobal EQ itab_zycit042-nfglobal

                   AND   docnum   EQ itab_zycit042-docnum  .

                IF sy-subrc EQ 0 AND

                   NOT /pws/zycit041-belnr_mr1m IS INITIAL.

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

                  IF sy-subrc EQ 0.

* << Fim da exclusão

                    itab_zycit036-congelamov = 'X' .

                  ENDIF.

                  INSERT /pws/zycit036 FROM itab_zycit036.

                  IF sy-subrc NE 0.

                    MODIFY /pws/zycit036 FROM itab_zycit036.

                  ENDIF.

                  IF sy-subrc EQ 0.

                    v_sucesso = 'X'.

                  ENDIF.

                ENDIF.

                SELECT * FROM /pws/zycit042 INTO TABLE itab_zycit042

                WHERE nrseq = itab_zycit003-nrseq AND

                      ebeln = itab_zycit003-ebeln AND

                      ebelp = itab_zycit003-ebelp.

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

              IF sy-subrc EQ 0 .

* << Fim da inclusão

                READ TABLE itab_zycit003

                                 WITH KEY ebeln = itab_zycit036-ebeln

                                          ebelp = itab_zycit036-ebelp.

                IF sy-subrc = 0.

                  READ TABLE itab_zycit042

                              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.

...

 

...

              ENDIF.

            ENDLOOP.

          ELSE.

            MESSAGE i015 WITH text-003.

          ENDIF.

        ENDIF.

      ENDIF.

    ENDIF.

  ENDLOOP.

  IF v_sucesso = 'X'.

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

    COMMIT WORK.

* << Fim da inclusão

    MESSAGE i015 WITH text-002.

  ENDIF.

ENDFORM.

FORM retorna_decimais USING    p_moeda

                      CHANGING p_valor.

  SELECT SINGLE * FROM tcurx WHERE currkey = p_moeda.

  IF sy-subrc <> 0.

    tcurx-currdec = 2.

  ENDIF.

  p_valor = p_valor / ( 10 ** ( tcurx-currdec - 2 ) ).

...