PW.TP - Nota 002843

Módulo: PROCESSO IMPORTAÇÃO

Funcionalidade: Análise Oficial DIPJ

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

Data/Hora Última Alteração: 23/06/2010 14:23:34

Descrição da Nota: RELATÓRIO DIPJ

Sintoma

Preço Praticado dos métodos PIC e CPL consideram o mês 00.

 

 

Solução

Criar parâmetro que permite calcular o preço praticado considerando ou não o mês 00.

 

Versões Tratadas

Não Usar - 2.00.0000

Informações Complementares

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

Nota Número 02843 Data: 09/01/2007 Hora: 16:40:16

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

 

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

Nota Número              : 02843

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.TP             : 2.0

Pacote                   : 00024

Agrupamento              : 00005

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

RELATÓRIO DIPJ

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

Palavras Chave:

PREÇO PRATICADO CONSIDERANDO OU NÃO O MÊS 00

 

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

Objetos da nota:

DOMD /PWS/ZYTPD400

REPS /PWS/ZYTPR042

REPS /PWS/ZYTPR043

 

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

Modificações efetuadas em DOMD /PWS/ZYTPD400

 

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

Domínio modificado: /PWS/ZYTPD400

-Valores individuais

Incluído valor fixo "9"

Texto modificado, idioma: PT (52 caracteres):

"Preço Praticado - /PWS/ZYTPT902 Inclusive Período 00"

Excluído valor fixo "2"

Incluído valor fixo "2"

Texto modificado, idioma: PT (31 caracteres):

"Preço Parâmetro - /PWS/ZYTPT902"

Excluído valor fixo "3"

Incluído valor fixo "3"

Texto modificado, idioma: PT (33 caracteres):

"Total da Operação - /PWS/ZYTPT902"

Excluído valor fixo "4"

Incluído valor fixo "4"

Texto modificado, idioma: PT (37 caracteres):

"Preço Mercado Interno - /PWS/ZYTPT902"

Excluído valor fixo "5"

Incluído valor fixo "5"

Texto modificado, idioma: PT (60 caracteres):

"Preço Parâmetro - /PWS/ZYTPT902 Verificando Lista de Revenda"

Excluído valor fixo "6"

Incluído valor fixo "6"

Texto modificado, idioma: PT (50 caracteres):

"Preço Parâmetro - /PWS/ZYTPT904 - Lista de Consumo"

Excluído valor fixo "7"

Incluído valor fixo "7"

Texto modificado, idioma: PT (31 caracteres):

"Preço Parâmetro - /PWS/ZYTPT002"

Excluído valor fixo "8"

Incluído valor fixo "8"

Texto incluído, idioma: PT (43 caracteres):

"Preço Parâmetro - /PWS/ZYTPT904 - Acumulada"

 

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

Modificações efetuadas em REPS /PWS/ZYTPR042

 

...

  r_proc_904-sign =

  r_met_002-sign =

  r_proc_902-sign = 'I'.

  r_lista-option =

  r_proc_904-option =

  r_met_002-option =

  r_proc_902-option = 'EQ'.

  LOOP AT t_007.

    CASE t_007-tipo.

      WHEN '1'

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

        OR '9'

* << Fim da inclusão

        OR '2'

        OR '3'

        OR '4'.

        r_proc_902-low = t_007-processo.

        COLLECT r_proc_902.

      WHEN '5'.

        r_proc_902-low = t_007-processo.

        COLLECT r_proc_902.

        r_proc_904-low = t_007-processo.

        COLLECT r_proc_904.

...

 

...

  ELSE.

    p_calc-grupo = p_901-grupo.

  ENDIF.

  p_calc-sig_metodo = p_001-sig_metodo.

  p_calc-cod_metodo = p_001-cod_metodo.

  MOVE-CORRESPONDING p_calc TO t_detalhe.

  CATCH SYSTEM-EXCEPTIONS arithmetic_errors = 1.

    LOOP AT p_902 WHERE matnr IN p_matnr.

      LOOP AT t_007_aux

       WHERE processo = p_902-processo

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

         AND tipo    <= '4'.

* << Fim da exclusão

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

       AND ( tipo  <= '4' OR tipo  = '9' ).

* << Fim da inclusão

        ADD t_007_aux-ajuste TO v_aj_906.

        IF t_007_aux-fator = fator_safe90.

          v_fator_safe = fator_safe90.

        ENDIF.

        CASE t_007_aux-tipo.

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

          WHEN '1'.

* << Fim da exclusão

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

          WHEN '1'

            OR '9' .

            IF t_007_aux-tipo = '1' AND p_902-mes = '00'.

              CONTINUE.

            ENDIF.

* << Fim da inclusão

            IF p_safe = 'X'.

              CHECK p_902-pais IN r_pais_fav.

            ENDIF.

            ASSIGN COMPONENT t_007_aux-campo

                OF STRUCTURE p_902 TO <valor>.

            IF sy-subrc EQ 0.

              IF NOT /pws/zytpt056-fator IS INITIAL AND

               t_007_aux-fator = fator_prtc.

                <valor> = <valor> * /pws/zytpt056-fator.

              ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYTPR043

 

...

  ENDLOOP.

  r_proc_904-sign =

  r_met_002-sign =

  r_proc_902-sign = 'I'.

  r_proc_904-option =

  r_met_002-option =

  r_proc_902-option = 'EQ'.

  LOOP AT t_007.

    CASE t_007-tipo.

      WHEN '1'

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

        OR '2'.

* << Fim da exclusão

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

        OR '2'

        OR '9'.

* << Fim da inclusão

        r_proc_902-low = t_007-processo.

        COLLECT r_proc_902.

      WHEN '5'.

        r_proc_902-low = t_007-processo.

        COLLECT r_proc_902.

        r_proc_904-low = t_007-processo.

        COLLECT r_proc_904.

      WHEN '6'

        OR '8'.

        r_proc_904-low = t_007-processo.

...

 

...

  INTO TABLE t_007

  FOR ALL ENTRIES IN t_001

  WHERE bukrs_g    EQ p_bukrsg

    AND cod_metodo EQ t_001-cod_metodo.

  IF sy-subrc NE 0.

    MESSAGE s079(/pws/zytpm) WITH text-006.

    STOP.

  ENDIF.

  DELETE t_007

   WHERE tipo <> '1'

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

     AND tipo <> '9'

* << Fim da inclusão

     AND tipo <> '2'

     AND tipo <> '5'

     AND tipo <> '6'

     AND tipo <> '7'

     AND tipo <> '8'.

  SELECT * FROM /pws/zytpt026

  INTO TABLE t_026

  WHERE sysid = sy-sysid

    AND bukrs_g IN (p_bukrsg, space).

  SELECT * FROM /pws/zytpt012

...

 

...

    ENDLOOP.

  ELSE.

    WRITE: / text-018.

  ENDIF.

ENDFORM.

FORM verificar_metodos TABLES p_matnr

                        USING p_001 STRUCTURE /pws/zytpt001

                     CHANGING praticado

                              parametro.

  LOOP AT t_007 WHERE cod_metodo = p_001-cod_metodo

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

                  AND tipo = '1'.

* << Fim da exclusão

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

                  AND ( tipo = '1' OR tipo = '9' ).

* << Fim da inclusão

    LOOP AT t_902 WHERE matnr IN p_matnr

                    AND processo = t_007-processo.

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

      IF t_902-mes = '00' AND t_007-tipo = '1'.

        CONTINUE.

      ENDIF.

* << Fim da inclusão

      praticado = 'X'.

      EXIT.

    ENDLOOP.

    IF praticado = 'X'.

      EXIT.

    ENDIF.

  ENDLOOP.

  IF praticado = 'X'.

    LOOP AT t_007 WHERE cod_metodo = p_001-cod_metodo

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

                    AND tipo <> '1'.

* << Fim da exclusão

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

                    AND tipo <> '1' AND tipo <> '9'.

* << Fim da inclusão

      IF t_007-tipo = '2'.

        LOOP AT t_902 WHERE matnr IN p_matnr

                        AND processo = t_007-processo.

          READ TABLE t_026

           WITH KEY cod_metodo = p_001-cod_metodo

                    processo   = t_007-processo.

          IF sy-subrc NE 0.

            parametro = 'X'.

            EXIT.

          ELSE.

...