CE PLUS - Nota 004287

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 27/07/2007 00:00:00

Data/Hora Última Alteração: 22/02/2011 13:46:36

Descrição da Nota: DECLARAÇÃO DE IMPORTAÇÃO (DI) - VARIAÇÃO CAMBIAL

Sintoma

Ao gerar o documento de variação cambial, o sistema não está lendo o parâmetro de levar o centro de

lucro para IA.

 

 

Solução

O programa deverá buscar o Centro de Lucro e levá-lo para a contabilização da variação cambial

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

LANÇAR O CENTRO DE CUSTO NA RECLASSIFICAÇÃO DE IA.

ERRO NA DI AO FAZER VARIAÇÃO CAMBIAL.

TRATAMENTO PARA CONTA BLOQUEADA NA RECLASSIFICAÇÃO DE IA

Informações Complementares

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

Nota Número 04287 Data: 27/07/2007 Hora: 10:07:29

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

 

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

Nota Número              : 04287

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00002

Agrupamento              : 00004

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

Referência às notas relacionadas:

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

 

03954  - 00001 - 7.0    - 00002  - TRATAMENTO PARA CONTA BLOQUEADA NA RECLASSIFICAÇÃO DE IA

04090  - 00002 - 7.0    - 00002  - LANÇAR O CENTRO DE CUSTO NA RECLASSIFICAÇÃO DE IA.

04390  - 00003 - 7.0    - 00002  - ERRO NA DI AO FAZER VARIAÇÃO CAMBIAL.

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

DECLARAÇÃO DE IMPORTAÇÃO (DI) - VARIAÇÃO CAMBIAL

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

Palavras Chave:

VARIAÇÃO; CAMBIAL; CENTRO DE LUCRO; IMPORTAÇÃO EM

ANDAMENTO; CLASSIFICAÇÃO CONTÁBIL; EKKN; CSKS-PRCTR

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

Objetos da nota:

FUNC /PWS/ZYCI_RECLASSIFICACAO_IA

REPS /PWS/LZYCIGF2F01

REPS /PWS/LZYCIGF2TOP

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_RECLASSIFICACAO_IA

 

FUNCTION /pws/zyci_reclassificacao_ia.

  TABLES: /pws/zycit041,

          /pws/zycit042.

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

  DATA: BEGIN OF itab_matuse OCCURS 0    ,

          ebeln      TYPE ekpo-ebeln     ,

          ebelp      TYPE ekpo-ebelp     ,

          matnr      TYPE ekpo-matnr     ,

          bwtar      TYPE ekpo-bwtar     ,

          j_1bmatuse TYPE ekpo-j_1bmatuse,

          knttp      TYPE ekpo-knttp     ,

          werks      TYPE t001w-werks    ,

          bwkey      TYPE mbew-bwkey     ,

        END OF itab_matuse               .

* << Fim da exclusão

  DATA: BEGIN OF itab_bsis_aux1 OCCURS 10,

          hkont    TYPE bsis-hkont       ,

          dmbtr    TYPE bsis-dmbtr       ,

          wrbtr    TYPE bsis-wrbtr       ,

          belnr    TYPE bsis-belnr       ,

          buzei    TYPE bsis-buzei       ,

          tpfatura TYPE /pws/zycit006-tpfatura,

        END OF itab_bsis_aux1.

  DATA: BEGIN OF itab_zycit132 OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit132.

  DATA: END OF itab_zycit132.

  REFRESH: itab_di, itab_bsis_aux, itab_matuse_aux2, itab_matuse_aux,

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

           itab_bsis.

* << Fim da exclusão

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

           itab_bsis, itab_matuse.

* << Fim da inclusão

  CLEAR: itab_di, itab_bsis_aux, itab_matuse_aux2, itab_matuse_aux,

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

         itab_bsis.

* << Fim da exclusão

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

         itab_bsis, itab_matuse.

* << Fim da inclusão

  DATA:

      itab_zycit094    TYPE /pws/zycie094    OCCURS 0 WITH HEADER LINE,

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

...

 

...

      FOR ALL ENTRIES IN itab_zycit006

      WHERE nrseq_pgfat EQ itab_zycit006-nrseq_pgfat.

  ENDIF.

  LOOP AT t_zycit100.

    READ TABLE itab_zycit263 WITH KEY ebeln = t_zycit100-ebeln

                                      ebelp = t_zycit100-ebelp.

    CLEAR: itab_ekkn.

    READ TABLE itab_ekkn WITH KEY ebeln = t_zycit100-ebeln

                                  ebelp = t_zycit100-ebelp.

    itab_di-kostl = itab_ekkn-kostl.

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

    itab_di-prctr = itab_ekkn-prctr.

* << Fim da inclusão

    CLEAR itab_zycit006.

    READ TABLE itab_zycit006

                  WITH KEY nrseq_pgfat = itab_zycit263-nrseq_pgfat.

    CHECK NOT itab_zycit006-belnr_p IS INITIAL.

    CLEAR: itab_matuse, itab_matuse_aux.

    READ TABLE itab_matuse WITH KEY ebeln = t_zycit100-ebeln

                                      ebelp = t_zycit100-ebelp.

    READ TABLE itab_matuse_aux WITH KEY

                  j_1bmatuse = itab_matuse-j_1bmatuse.

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

    IF /pws/zycit000-clucro_ia = 'X'.

      PERFORM verifica_centro_l tables itab_matuse.

    ENDIF.

* << Fim da inclusão

    MOVE: itab_matuse_aux-hkont TO itab_di-hkont,

          t_zycit100-vlseg   TO itab_di-vlseg,

          t_zycit100-vlfre   TO itab_di-vlfre.

    itab_di-vlfob = t_zycit100-dttaxbem * t_zycit100-vlfob.

    IF NOT /pws/zycit093-ternacion IS INITIAL.

      READ TABLE t_zycit003 WITH KEY

               nrseq = t_zycit100-nrseq

               ebeln = t_zycit100-ebeln

               ebelp = t_zycit100-ebelp .

      IF NOT v_tntgew IS INITIAL.

...

 

 

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

Modificações efetuadas em REPS /PWS/LZYCIGF2F01

 

...

    v_valor_variacao = itab_bsis_aux-dmbtr + ABS( vl_variacao_aux ).

  ENDIF.

  v_diferenca = v_valor_variacao - p_valor.

  IF ( v_diferenca < 1

   AND v_diferenca > -1

   AND v_diferenca NE 0 ).

    p_valor = v_valor_variacao.

  ENDIF.

  itab_contas-tcode  = 'F-51'.

  itab_contas-c_kostl = itab_contas-d_kostl = itab_di-kostl.

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

  itab_contas-c_prctr = itab_contas-d_prctr = itab_di-prctr.

* << Fim da inclusão

  itab_contas-mandt  = sy-mandt.

  itab_contas-tabela = '/PWS/ZYCIT044'.

  IF v_belnrf05 IS INITIAL.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'

         EXPORTING

              input  = itab_matuse_aux2-hkont

         IMPORTING

              output = v_conta.

    CLEAR itab_cta. REFRESH itab_cta.

    .

...

 

...

      itab_contas-d_newko = itab_cta-konth.

    ELSE.

      READ TABLE itab_cta INDEX 1.

      itab_contas-bschl  = '40'.

      itab_contas-wrbtr  = abs( vl_variacao ).

      itab_contas-d_newko = itab_cta-konts.

    ENDIF.

    APPEND itab_contas.

    CLEAR itab_contas.

  ENDIF.

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

  itab_contas-c_kostl = itab_contas-d_kostl = itab_di-kostl.

* << Fim da inclusão

  IF /pws/zycit000-clucro_ia NE space.

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

    itab_contas-c_kostl = itab_contas-d_kostl = itab_di-kostl.

* << Fim da exclusão

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

    itab_contas-c_prctr = itab_contas-d_prctr = itab_di-prctr.

* << Fim da inclusão

  ENDIF.

  itab_contas-tcode  = 'F-51'.

  itab_contas-mandt  = sy-mandt.

...

 

...

  IF vl_variacao > 0.

    itab_contas-bschl  = '40'.

  ELSEIF vl_variacao < 0.

    itab_contas-bschl  = '50'.

  ELSE .

    v_erro_f05 = 'S'.

  ENDIF.

  v_variadec = vl_variacao.

  itab_contas-wrbtr  = abs( v_variadec ).

  itab_contas-c_kostl = itab_contas-d_kostl = itab_di-kostl.

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

  itab_contas-c_prctr = itab_contas-d_prctr = itab_di-prctr.

* << Fim da inclusão

  itab_contas-d_newko = itab_bsis_aux-hkont.

  APPEND itab_contas.

  CLEAR itab_contas.

  itab_contas-tcode  = 'F-05'.

  itab_contas-mandt  = sy-mandt.

  itab_contas-tabela = '/PWS/ZYCIT044'.

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

    itab_contas-c_kostl = itab_contas-d_kostl = itab_di-kostl.

* << Fim da inclusão

  IF /pws/zycit000-clucro_ia NE space.

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

    itab_contas-c_kostl = itab_contas-d_kostl = itab_di-kostl.

* << Fim da exclusão

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

    itab_contas-c_prctr = itab_contas-d_prctr = itab_di-prctr.

* << Fim da inclusão

  ENDIF.

  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'

       EXPORTING

            input  = itab_matuse_aux2-hkont

       IMPORTING

            output = v_conta.

  CLEAR itab_cta. REFRESH itab_cta.

  CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

       EXPORTING

            bukrs           = /pws/zycie085-bukrs

...

 

...

        p_estorno = 'X'.

      ENDIF.

    ELSE.

    ENDIF.

  ELSE.

    READ TABLE p_zycbt032 WITH KEY tcode  = 'FB08'

                                      tabela = '/PWS/ZYCIE085'

                                      tpmsg  = 'S'.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

form verifica_centro_l tables itab_matuse structure itab_matuse .

data: begin of itab_marc occurs 0 ,

        matnr  like marc-matnr,

        prctr  like marc-prctr,

      end of itab_marc.

data: begin of itab_csks occurs 0,

        kostl  like csks-kostl,

        kokrs  like csks-kokrs,

        prctr  like csks-prctr,

      end of itab_csks.

data: begin of itab_aufk occurs 0,

        aufnr  like aufk-aufnr,

        prctr  like aufk-prctr,

      end of itab_aufk.

  IF itab_matuse-knttp IS INITIAL AND itab_matuse-j_1bmatuse NE '3'.

      CLEAR: itab_di-prctr.

    CLEAR itab_marc.   REFRESH itab_marc.

    SELECT SINGLE matnr prctr FROM marc INTO itab_marc

      WHERE matnr EQ itab_matuse-matnr AND

            werks EQ itab_matuse-werks.

    IF sy-subrc NE 0.

      SELECT SINGLE matnr prctr FROM marc INTO itab_marc

        WHERE matnr EQ itab_matuse-matnr.

    ENDIF.

    itab_di-prctr = itab_marc-prctr.

  ELSEIF itab_matuse-knttp = 'K' AND itab_matuse-j_1bmatuse NE '3'.

  CLEAR: itab_di-prctr.

    CLEAR itab_csks.   REFRESH itab_csks.

    SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks

      WHERE kostl EQ itab_ekkn-kostl

        AND kokrs EQ itab_ekkn-kokrs.

    itab_di-prctr = itab_csks-prctr.

  ELSEIF itab_matuse-knttp = 'F' AND itab_matuse-j_1bmatuse NE '3'.

  CLEAR: itab_di-prctr.

    CLEAR itab_aufk.   REFRESH itab_aufk.

    SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk

      WHERE aufnr EQ itab_ekkn-aufnr.

    itab_di-prctr = itab_aufk-prctr.

  ENDIF.

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/LZYCIGF2TOP

 

...

      hkont      LIKE bsis-hkont     .

DATA: END OF itab_matuse_aux2 .

DATA: BEGIN OF itab_di OCCURS 0,

        hkont      LIKE bsis-hkont,

        vlseg      LIKE /pws/zycit100-vlseg,

        vlfre      LIKE /pws/zycit100-vlfre,

        vlfob      LIKE /pws/zycit100-vlfob,

        vldi       LIKE /pws/zycit100-vlfob,

        vlfren     LIKE /pws/zycit100-vlfre,

        kostl      type ekkn-kostl,

* >> Início da inclusão:

        prctr      type ekkn-prctr,

* << Fim da inclusão

      END OF itab_di .

* >> Início da inclusão:

  DATA: BEGIN OF itab_matuse OCCURS 0    ,

          ebeln      TYPE ekpo-ebeln     ,

          ebelp      TYPE ekpo-ebelp     ,

          matnr      TYPE ekpo-matnr     ,

          bwtar      TYPE ekpo-bwtar     ,

          j_1bmatuse TYPE ekpo-j_1bmatuse,

          knttp      TYPE ekpo-knttp     ,

          werks      TYPE t001w-werks    ,

          bwkey      TYPE mbew-bwkey     ,

        END OF itab_matuse               .

* << Fim da inclusão

DATA: BEGIN OF itab_contas OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbe035.

DATA: END OF itab_contas.

DATA: BEGIN OF itab_cta OCCURS 0.

        INCLUDE STRUCTURE /pws/zygle316.

DATA: END OF itab_cta.

DATA: BEGIN OF itab_matuse_aux OCCURS 0,

        j_1bmatuse LIKE ekpo-j_1bmatuse,

        hkont      LIKE bsis-hkont     ,

      END OF itab_matuse_aux           .

...