CE PLUS - Nota 002396

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Custo Efetivo

Data/Hora da Publicação: 08/11/2006 00:00:00

Data/Hora Última Alteração: 22/02/2011 14:34:19

Descrição da Nota: FATURA DE DESPESA PARA EMBARQUES DE SERVIÇO

Sintoma

Após lançar a Fatura (com pagamento à vista) e após efetuar o Recebimento, eu tentei visualizar o

Custo Efetivo, na coluna de Realizado não havia nenhum valor lançado.

Na dúvida, lancei uma Prestação de Contas para tentar visualizar a despesa no Realizado, mas também

nenhum valor apareceu (a despesa lançada na prest. de contas está parametrizada na zycit140 para

entrar no custo na Prestação de Contas).

 

 

Solução

atualizado o programa para tratar fatura de despesas com embarque modalidade 2 serviço

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

VALOR QUE FOI LEVADO PARA O ENCER. DE CUSTOS ESTA MAIOR DO QUE DEVERIA

NA ADMISSÃO EM ENTREPOSTO, NO RECEBIMENTO NÃO CHAMAR A TRANSAÇÃO F-02.

ERRO NA EXIBIÇÃO DO ENCERRAMENTO DE PROCESSO SEM EURO

AGREGAR OS CUSTOS EFETIVOS DA ADMISSÃO NA NACIONALIZAÇÃO DA MERCADORIA

Informações Complementares

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

Nota Número 02396 Data: 08/11/2006 Hora: 10:54:26

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

 

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

Nota Número              : 02396

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00025

Agrupamento              : 00139

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

Referência às notas relacionadas:

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

 

01417  - 00001 - 6.0    - 00023  - AGREGAR OS CUSTOS EFETIVOS DA ADMISSÃO NA NACIONALIZAÇÃO DA MERCA

01422  - 00002 - 6.0    - 00023  - VALOR QUE FOI LEVADO PARA O ENCER. DE CUSTOS ESTA MAIOR DO QUE DE

01438  - 00003 - 6.0    - 00023  - ERRO NA EXIBIÇÃO DO ENCERRAMENTO DE PROCESSO SEM EURO

01771  - 00004 - 6.0    - 00024  - NA ADMISSÃO EM ENTREPOSTO, NO RECEBIMENTO NÃO CHAMAR A TRANSAÇÃO

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

FATURA DE DESPESA PARA EMBARQUES DE SERVIÇO

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

Palavras Chave:

FATURA - DESPESA - SERVIÇO - CUSTO

 

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

Objetos da nota:

FUNC /PWS/ZYCI_RATEIO_CUSTO

REPS /PWS/MZYCI003F01

REPS /PWS/MZYCI003F02

REPS /PWS/MZYCI003O01

REPS /PWS/MZYCI010F01

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_RATEIO_CUSTO

 

...

        vltot_pis     LIKE /pws/zycit036-vlreal,

        vl_pis        LIKE /pws/zycit036-vlreal,

        vltot_cofins  LIKE /pws/zycit036-vlreal,

        vl_cofins     LIKE /pws/zycit036-vlreal,

        v_vlseg       LIKE /pws/zycit036-vlreal.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

  DATA: v_vinserv TYPE /pws/zycit006-vinserv.

* << Fim da inclusão

  IF NOT itab_zycit003[] IS INITIAL.

    MOVE itab_zycit003[] TO itab_zycit003_aux[].

    IF NOT itab_zycit003_aux[] IS INITIAL.

      SELECT * FROM /pws/zycit003

        INTO TABLE itab_zycit003

...

 

...

  SELECT SINGLE * FROM /pws/zycit085

      WHERE nrbl = /pws/zycit094-nrseqce.

  SELECT * FROM /pws/zycit100

        INTO TABLE itab_zycit100a

        WHERE nrseqdi = /pws/zycit085-nrseqdi.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

  IMPORT v_vinserv FROM MEMORY ID 'VINSERV'.

* << Fim da inclusão

  IF v_programa = 'DI' AND itab_zycit100a[] IS INITIAL.

    LOOP AT itab_zycit100.

      MOVE itab_zycit100 TO itab_zycit100a.

      CLEAR itab_zycit100a-vl_sisco.

      APPEND itab_zycit100a.

    ENDLOOP.

  ENDIF.

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

  LOOP AT itab_zycit003 WHERE servico IS initial.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

  LOOP AT itab_zycit003 .

    IF ( v_vinserv IS INITIAL AND

         itab_zycit003-servico IS INITIAL ) OR

         ( v_vinserv EQ 'X' AND itab_zycit003-servico EQ 'X' ) .

* << Fim da inclusão

    v_tpeso = v_tpeso + itab_zycit003-ntgew.

    v_valor  = itab_zycit003-qtd_iten * itab_zycit003-vlreal.

    IF NOT v_valor IS INITIAL AND NOT v_tvalor IS INITIAL.

      v_tseg = v_valor / v_tvalor.

    ENDIF.

    v_seg = v_seg + v_valor.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

    ENDIF.

* << Fim da inclusão

  ENDLOOP.

  CLEAR: v_tfrete,

        v_ori.

  SELECT SINGLE land1 FROM t001 INTO t001-land1

     WHERE bukrs EQ /pws/zycbt007-bukrs.

...

 

...

    LOOP AT itab_zycit036_aux WHERE codigo = 'FRETEI' AND

                                 origem = v_ori.

      v_tfrete = v_tfrete + itab_zycit036_aux-vlreal.

    ENDLOOP.

  ENDIF.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

  LOOP AT itab_zycit003 .

    IF ( v_vinserv IS INITIAL AND

         itab_zycit003-servico IS INITIAL ) OR

         ( v_vinserv EQ 'X' AND itab_zycit003-servico EQ 'X' ) .

* << Fim da inclusão

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

  LOOP AT itab_zycit003 WHERE servico IS initial.

* << Fim da exclusão

    v_vlfrete =  v_tfrete * ( itab_zycit003-ntgew / v_tpeso ).

    IF itab_zycit003-qtd_itend IS INITIAL.

      v_tot = v_tot + ( itab_zycit003-netpr * itab_zycit003-qtd_iten ).

    ELSE.

      v_tot = v_tot + ( itab_zycit003-netpr * itab_zycit003-qtd_itend ).

    ENDIF.

    v_tot_vlreal = v_tot_vlreal + ( itab_zycit003-vlreal *

                    itab_zycit003-qtd_iten ).

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

    ENDIF.

* << Fim da inclusão

  ENDLOOP.

  LOOP AT itab_zycit100a.

    IF itab_zycit100a-codregtri NE '5' AND

       itab_zycit100a-codregtri NE '3'.

      v_tot_ii   = itab_zycit100a-vlii + v_tot_ii.

...

 

...

     v_programa EQ 'DI' OR

     ( v_programa EQ 'FAT' AND v_parametro(2) EQ '04' ).

    MOVE itab_zycit036[] TO itab_zycit036_aux[].

    LOOP AT itab_despesa WHERE netpr NE 0.

      CLEAR: v_tot_desp.

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

      LOOP AT itab_zycit003 WHERE servico IS initial.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

      LOOP AT itab_zycit003 .

        IF ( v_vinserv IS INITIAL AND

             itab_zycit003-servico IS INITIAL ) OR

             ( v_vinserv EQ 'X' AND itab_zycit003-servico EQ 'X' ) .

* << Fim da inclusão

        CLEAR itab_zycit036_aux.

        IF  NOT itab_despesa-matuse IS INITIAL.

          READ TABLE itab_ekpo WITH KEY ebeln = itab_zycit003-ebeln

                                        ebelp = itab_zycit003-ebelp.

          IF itab_ekpo-j_1bmatuse NE itab_despesa-matuse .

...

 

...

                       itab_zycit036_aux-vlreal =  itab_despesa-netpr *

                         ( ( v_vfob +  v_vfre + v_vseg )  /  v_vtot  ) .

                      ENDIF.

                    ENDIF.

                  ELSE.

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

                    IF NOT itab_zycit003-qtd_itend IS INITIAL.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

                      IF NOT v_tot IS INITIAL.

                        IF NOT itab_zycit003-qtd_itend IS INITIAL .

* << Fim da inclusão

                     itab_zycit036_aux-vlreal = ( itab_zycit003-netpr *

                                 itab_zycit003-qtd_itend / v_tot ) *

                                 itab_despesa-netpr.

                    ELSE.

                     itab_zycit036_aux-vlreal = ( itab_zycit003-netpr *

                                itab_zycit003-qtd_iten / v_tot ) *

                                itab_despesa-netpr.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

                        ENDIF.

* << Fim da inclusão

                    ENDIF.

                    itab_zycit036_aux-waers_real = itab_despesa-waers.

                  ENDIF.

                ELSE.

                  IF NOT itab_zycit003-qtd_itend IS INITIAL.

...

 

...

              ENDIF.

            ENDIF.

          ENDIF.

          APPEND itab_zycit036_aux.

          v_tot_desp = v_tot_desp + itab_zycit036_aux-vlreal.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

          ENDIF.

* << Fim da inclusão

        ENDIF.

      ENDLOOP.

      DELETE itab_zycit036_aux WHERE vlreal IS initial.

    ENDLOOP.

    MOVE itab_zycit036_aux[] TO itab_zycit036[].

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F01

 

...

      PERFORM gravar_custos_funcao.

    ENDIF.

  ELSEIF /pws/zycie006-tpfatura = '04'.

    IF NOT itab_zycit094[] IS INITIAL.

      PERFORM gravar_custos_funcao.

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

    else.

      LOOP AT itab_zycit036_aux2.

        UPDATE /pws/zycit036 SET codigo     = itab_zycit036-codigo

                                 netpr      = itab_zycit036-netpr

                                 waers      = itab_zycit036-waers

                                 vlreal     = itab_zycit036-vlreal

                                 waers_real = itab_zycit036-waers_real

                                 vlmov      = itab_zycit036-vlmov

                                 waers_mov  = itab_zycit036-waers_mov

                                 vldif      = itab_zycit036-vldif

                                 waers_dif  = itab_zycit036-waers_dif

                                 vlreal_emb = itab_zycit036-vlreal_emb

                                 waers_emb  = itab_zycit036-waers_emb

                                 usernamec  = sy-uname

                                 dtuserc    = sy-datum

                                 hruserc    = sy-uzeit

                           WHERE nrseq    EQ itab_zycit036-nrseq

                             AND ebeln    EQ itab_zycit036-ebeln

                             AND ebelp    EQ itab_zycit036-ebelp

                             AND codigo   EQ itab_zycit036-codigo

                             AND origem   EQ 'FAT'

                             AND nrseqori EQ itab_zycit036-nrseqori.

        IF sy-subrc NE 0.

          MODIFY /pws/zycit036 FROM itab_zycit036_aux2.

* << Fim da inclusão

    ENDIF.

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

      ENDLOOP.

    ENDIF.

* << Fim da inclusão

  ENDIF.

  LOOP AT itab_zycit003.

    SELECT SINGLE * FROM /pws/zycit001 INTO /pws/zycie001

      WHERE nrseq = itab_zycit003-nrseq.

    /pws/zycie001-status_e = 'A'.

...

 

...

              WHERE nrseq  EQ itab_zycit003-nrseq

                AND ebeln EQ itab_zycit003-ebeln

                AND ebelp  EQ itab_zycit003-ebelp

                AND docnum NE ''.

            ENDSELECT.

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

            IF sy-subrc NE 0.

* << Fim da exclusão

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

            IF sy-subrc NE 0 or /pws/zycie006-tpfatura eq '04'.

* << Fim da inclusão

              PERFORM contabilizacao_f-02_ou_f-43.

            ELSE.

              MESSAGE i015 WITH text-169.

            ENDIF.

          ELSE.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

ENDFORM.

FORM visualiza_rateio.

  DATA: v_programa LIKE /pws/zycit036-origem VALUE 'FAT',

        v_parametro LIKE /pws/zycit003-descr,

        v_erro_tax.

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

  data: v_vinserv type /pws/zycit006-vinserv.

  if /pws/zycie006-tpfatura eq 04 .

     v_vinserv = /pws/zycie006-vinserv.

     export v_vinserv to memory id 'VINSERV'.

  endif.

* << Fim da inclusão

  CLEAR: itab_item_funcao, itab_zycit036, itab_desp_funcao.

  REFRESH: itab_item_funcao, itab_zycit036, itab_desp_funcao.

  MOVE /pws/zycie006-tpfatura TO v_parametro.

  IF NOT itab_zycit094[] IS INITIAL.

    SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003O01

 

...

      SELECT * FROM /pws/zycit006

        INTO TABLE itab_zycit006

        FOR ALL ENTRIES IN itab_zycit263

        WHERE nrseq_pgfat = itab_zycit263-nrseq_pgfat.

    ENDIF.

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

      SELECT * FROM /pws/zycit006 APPENDING TABLE  itab_zycit006

        WHERE NRSEQF   = /pws/zycie001-nrseq AND

              tpfatura = '04'.

* << Fim da inclusão

  ENDIF.

  PERFORM verifica_exit USING 'D'

                       '/PWS/SAPMZYCI003'

                       'FAT006'.

  CLEAR itab_zyglt100 .

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI010F01

 

...

                MESSAGE w015 WITH text-074.

              ENDIF.

              LEAVE PROGRAM.

            ENDIF.

          ELSE.

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

            IF /pws/zycit000-flag_desp IS INITIAL.

              PERFORM converter_moeda

                    USING itab_zycit036_aux2-vlreal

                          itab_zycit036_aux2-waers_real

                          /pws/zycbt007-waersb

                    CHANGING itab_zycit036_aux2-vlreal.

              PERFORM converter_moeda

                    USING itab_zycit036_aux2-vlreal

                          /pws/zycbt007-waersb

                          /pws/zycie001-waers

                    CHANGING itab_zycit036_aux2-vlreal.

            ELSE.

* << Fim da inclusão

            IF /pws/zycie001-regime NE '14'.

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

           IF itab_zycit036_aux2-waers_real NE /pws/zycbt007-waersb AND

                                     itab_zycit036_aux2-origem NE 'PED'.

* << Fim da exclusão

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

               IF itab_zycit036_aux2-waers_real NE /pws/zycbt007-waersb

                            AND itab_zycit036_aux2-origem NE 'PED'.

* << Fim da inclusão

                IF NOT /pws/zycit085-dttax IS INITIAL.

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

             PERFORM taxa_converte USING  itab_zycit036_aux2-waers_real

* << Fim da exclusão

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

                    PERFORM taxa_converte

                          USING  itab_zycit036_aux2-waers_real

* << Fim da inclusão

                                                    /pws/zycit085-dttax

                                                       CHANGING  v_taxa.

                ELSEIF /pws/zycit085-dttax IS INITIAL.

             PERFORM taxa_converte USING  itab_zycit036_aux2-waers_real

                                                               sy-datum

...

 

...

              ELSE.

                IF /pws/zycie001-modalidade = '02'.

                  MESSAGE w015 WITH text-074.

                ENDIF.

                LEAVE PROGRAM.

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

                ENDIF.

* << Fim da inclusão

              ENDIF.

            ENDIF.

          ENDIF.

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

        ELSE.

          IF /pws/zycit000-flag_desp IS INITIAL.

            PERFORM converter_moeda

                  USING itab_zycit036_aux2-vlreal

                        /pws/zycie001-waers

                        /pws/zycbt007-waersb

                  CHANGING itab_zycit036_aux2-vlreal.

            PERFORM converter_moeda

                  USING itab_zycit036_aux2-vlreal

                        /pws/zycbt007-waersb

                        /pws/zycie001-waers

                  CHANGING itab_zycit036_aux2-vlreal.

* << Fim da inclusão

        ELSE.

          IF /pws/zycie001-regime NE '14'.

            IF NOT /pws/zycit085-dttax IS INITIAL.

              PERFORM taxa_converte USING  /pws/zycie001-waers

                                            /pws/zycit085-dttax

...

 

...

              PERFORM taxa_converte USING  /pws/zycie001-waers

                                           sy-datum

                                 CHANGING  v_taxa.

            ENDIF.

          ENDIF.

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

          ENDIF.

* << Fim da inclusão

          PERFORM retorna_decimais USING /pws/zycie001-waers

                         CHANGING itab_zycit036_aux2-vlreal.

          PERFORM trata_decimais USING /pws/zycie001-waers

                         CHANGING itab_zycit036_aux2-vlreal.

          v_vlreal = itab_zycit036_aux2-vlreal.

...

 

...

                           CHANGING  v_taxa.

      ELSE.

        PERFORM taxa_converte USING  /pws/zycie001-waers

                                     sy-datum

                           CHANGING  v_taxa.

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

      ENDIF.

* << Fim da inclusão

      ENDIF.

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

    IF /pws/zycie001-modalidade = '02'.

      v_taxa = 1.

* << Fim da inclusão

    ENDIF.

    IF NOT v_taxa IS INITIAL.

      v_vlreal = v_vlreal_t / v_taxa.

    ELSE.

      IF /pws/zycie001-modalidade = '02'.

...