CE PLUS - Nota 007680

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DSI

Data/Hora da Publicação: 01/12/2008 00:00:00

Data/Hora Última Alteração: 22/02/2011 14:59:46

Descrição da Nota: PREENCHE CENTRO LUCRO NA VARIAÇÃO CAMBIAL DA DSI

Sintoma

Ao lançar a variação cambial na DSI não está preenchendo o centro de lucro mesmo estando

parametrizado para que este seja preenchido.

 

 

Solução

Ajustado programa para utilizar a mesma função utilizada pela DI para lançar a variação cambial.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

ESTA NOTA CRIA A FUNÇÃO DE RECLASSIFICAÇÃO DE IA

Informações Complementares

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

Nota Número 07680 Data: 01/12/2008 Hora: 14:08:57

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

 

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

Nota Número              : 07680

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00007

Agrupamento              : 00076

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

Referência às notas relacionadas:

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

 

03047  - 00001 - 6.0    - 00026  - ESTA NOTA CRIA A FUNÇÃO DE RECLASSIFICAÇÃO DE IA

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

PREENCHE CENTRO LUCRO NA VARIAÇÃO CAMBIAL DA DSI

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

Palavras Chave:

VARIAÇÃO - CAMBIAL - CENTRO - LUCRO - DSI -

/PWS/SAPMZYCI058

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

Objetos da nota:

REPS /PWS/MZYCI058F01

REPS /PWS/MZYCI058F02

 

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

Modificações efetuadas em REPS /PWS/MZYCI058F01

 

...

           itab_zycit115[] TO itab_zycit115a[],

           itab_zycit116[] TO itab_zycit116a[],

           itab_zycit118[] TO itab_zycit118a[],

           itab_zycit121[] TO itab_zycit121a[],

           itab_zycit124[] TO itab_zycit124a[],

           itab_zycit200[] TO itab_zycit200a[],

           itab_zycit049di2[] TO itab_zycit049di[],

           itab_it[]       TO itab_ita[],

           /pws/zycie085        TO wa_zycit085.

  PERFORM save_especificacao.

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

  PERFORM reclassificacao_ia.

* << Fim da exclusão

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

    PERFORM reclassificacao_ia_funcao.

* << Fim da inclusão

ENDFORM.

FORM verify_changes.

  CLEAR v_changed.

  CHECK v_acto EQ 'A'.

  CLEAR:   itab_zycit100, itab_zycit003.

  REFRESH: itab_zycit100, itab_zycit003, itab_zycit049di2.

  LOOP AT itab_it.

    MOVE-CORRESPONDING itab_it TO itab_zycit100.

    APPEND itab_zycit100.

  ENDLOOP.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI058F02

 

...

* >> Início da inclusão:

FORM reclassificacao_ia_funcao.

  DATA: BEGIN OF itab_variacao OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit085.

  DATA: END OF itab_variacao.

  CHECK NOT /pws/zycie085-dtreg IS INITIAL AND

        NOT /pws/zycie085-nrdi  IS INITIAL.

  LOOP AT itab_zycit006.

    IF itab_zycit006-frpagto EQ 'P' OR

       itab_zycit006-frpagto EQ 'A' .

      DELETE itab_zycit006.

    ENDIF.

  ENDLOOP.

  LOOP AT itab_zycit006.

  ENDLOOP.

  IF sy-subrc NE 0 .

    EXIT.

  ENDIF.

  IF v_modo_bi IS INITIAL .

    v_modo_bi = 'N'.

  ENDIF.

  CLEAR: v_dele.

  IF /pws/zycie085-belnr_0 IS INITIAL AND

     NOT /pws/zycie085-belnr_0_f05 IS INITIAL.

    v_text = text-208.

    PERFORM executa_fb08 USING /pws/zycie085-belnr_0_f05

       /pws/zycie085-budat_0.

    IF v_dele IS INITIAL.

      CLEAR: /pws/zycie085-belnr_0_f05.

    ENDIF.

  ENDIF.

  IF  /pws/zycie085-belnr_1 IS INITIAL AND

     NOT /pws/zycie085-belnr_1_f05 IS INITIAL.

    v_text = text-208.

    PERFORM executa_fb08 USING /pws/zycie085-belnr_1_f05

       /pws/zycie085-budat_1.

    IF v_dele IS INITIAL.

      CLEAR: /pws/zycie085-belnr_1_f05.

    ENDIF.

  ENDIF.

  IF /pws/zycie085-belnr_2 IS INITIAL AND

     NOT /pws/zycie085-belnr_2_f05 IS INITIAL.

    v_text = text-208.

    PERFORM executa_fb08 USING /pws/zycie085-belnr_2_f05

       /pws/zycie085-budat_2.

    IF v_dele IS INITIAL.

      CLEAR: /pws/zycie085-belnr_2_f05.

    ENDIF.

  ENDIF.

  IF /pws/zycie085-belnr_3 IS INITIAL AND

     NOT /pws/zycie085-belnr_3_f05 IS INITIAL.

    v_text = text-208.

    PERFORM executa_fb08 USING /pws/zycie085-belnr_3_f05

       /pws/zycie085-budat_3.

    IF v_dele IS INITIAL.

      CLEAR: /pws/zycie085-belnr_3_f05.

    ENDIF.

  ENDIF.

  UPDATE /pws/zycit085 SET  belnr_0_f05 = /pws/zycie085-belnr_0_f05

                            belnr_1_f05 = /pws/zycie085-belnr_1_f05

                            belnr_2_f05 = /pws/zycie085-belnr_2_f05

                            belnr_3_f05 = /pws/zycie085-belnr_3_f05

                              WHERE nrseqdi = /pws/zycie085-nrseqdi.

  PERFORM clear_date_batch.

  CALL FUNCTION '/PWS/ZYCI_RECLASSIFICACAO_IA'

       EXPORTING

            i_zycit001           = itab_zycit001

            v_modo               = v_modo_bi

            i_programa           = 'DI'

       TABLES

            t_zycit100           = itab_zycit100[]

            t_zycit003           = itab_zycit003[]

            t_zycbt032           = itab_zycbt032[]

            itab_variacao        = itab_variacao[]

       EXCEPTIONS

            table_initial        = 1

            existe_recebimento   = 2

            flag_reclassificacao = 3

            dados_di_inicial     = 4

            OTHERS               = 5.

  IF sy-subrc <> 0.

    CLEAR itab_variacao.

  ENDIF.

  READ TABLE itab_variacao INDEX 1.

  IF sy-subrc EQ 0.

    IF NOT itab_variacao-belnr_0_f05 IS INITIAL OR

       NOT itab_variacao-belnr_1_f05 IS INITIAL OR

       NOT itab_variacao-belnr_2_f05 IS INITIAL OR

       NOT itab_variacao-belnr_3_f05 IS INITIAL OR

       NOT itab_variacao-belnr_0     IS INITIAL OR

       NOT itab_variacao-belnr_1     IS INITIAL OR

       NOT itab_variacao-belnr_2     IS INITIAL OR

       NOT itab_variacao-belnr_3     IS INITIAL.

      MOVE :

        itab_variacao-belnr_0 TO /pws/zycie085-belnr_0 ,

        itab_variacao-belnr_1  TO /pws/zycie085-belnr_1,

        itab_variacao-belnr_2  TO /pws/zycie085-belnr_2,

        itab_variacao-belnr_3  TO /pws/zycie085-belnr_3,

        itab_variacao-budat_0  TO /pws/zycie085-budat_0,

        itab_variacao-budat_1  TO /pws/zycie085-budat_1,

        itab_variacao-budat_2  TO /pws/zycie085-budat_2,

        itab_variacao-budat_3  TO /pws/zycie085-budat_3,

        itab_variacao-belnr_0_f05  TO /pws/zycie085-belnr_0_f05,

        itab_variacao-belnr_1_f05  TO /pws/zycie085-belnr_1_f05,

        itab_variacao-belnr_2_f05  TO /pws/zycie085-belnr_2_f05,

        itab_variacao-belnr_3_f05  TO /pws/zycie085-belnr_3_f05.

    ELSE.

      CLEAR itab_zycbt032.

      READ TABLE itab_zycbt032 WITH KEY

                               tcode = 'F-51'

                               tpmsg = 'E'.

      IF sy-subrc IS INITIAL.

        MESSAGE i015(/pws/zycim) WITH

                                 itab_zycbt032-tcode

                                 itab_zycbt032-msg(50)

                                 itab_zycbt032-msg+50(50).

      ELSE.

        CLEAR itab_zycbt032.

        READ TABLE itab_zycbt032 WITH KEY

                                 tcode = 'F-05'

                                 tpmsg = 'E'.

        IF sy-subrc IS INITIAL.

          MESSAGE i015(/pws/zycim) WITH

                                   itab_zycbt032-tcode

                                   itab_zycbt032-msg(50)

                                   itab_zycbt032-msg+50(50).

        ENDIF.

      ENDIF.

    ENDIF.

  ELSE.

    CLEAR itab_zycbt032.

    READ TABLE itab_zycbt032 WITH KEY

                             tcode = 'F-51'

                             tpmsg = 'E'.

    IF sy-subrc IS INITIAL.

      MESSAGE i015(/pws/zycim) WITH

                               itab_zycbt032-tcode

                               itab_zycbt032-msg(50)

                               itab_zycbt032-msg+50(50).

    ELSE.

      CLEAR itab_zycbt032.

      READ TABLE itab_zycbt032 WITH KEY

                               tcode = 'F-05'

                               tpmsg = 'E'.

      IF sy-subrc IS INITIAL.

        MESSAGE i015(/pws/zycim) WITH

                                 itab_zycbt032-tcode

                                 itab_zycbt032-msg(50)

                                 itab_zycbt032-msg+50(50).

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

* << Fim da inclusão