CE PLUS - Nota 007493

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 29/10/2008 00:00:00

Data/Hora Última Alteração: 22/02/2011 14:01:06

Descrição da Nota: QDO O VALOR DO FRETE É MAIOR QUE O VALOR DA MERCADORIA,DÁ DUMP NA DI/DSI

Sintoma

Qdo o valor do frete é maior que o valor da mercadoria,dá dump na di/dsi

 

 

Solução

Fazer tratamento para não deixar dar dump.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

CRIAR TABELA DE LOG PARA EXCLUSÕES

Informações Complementares

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

Nota Número 07493 Data: 29/10/2008 Hora: 10:05:51

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

 

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

Nota Número              : 07493

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00007

Agrupamento              : 00071

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

Referência às notas relacionadas:

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

 

07020  - 00001 - 7.0    - 00006  - CRIAR TABELA DE LOG PARA EXCLUSÕES

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

QDO O VALOR DO FRETE É MAIOR QUE O VALOR DA MERCADORIA,DÁ DUMP NA DI/DSI

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

Palavras Chave:

VALOR - FRETE MAIOR QUE MERCADORIA - DUMP - DI - DSI

 

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

Objetos da nota:

REPS /PWS/MZYCI023F01

REPS /PWS/MZYCI058F01

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

...

                                  nrseqdi = /pws/zycie085-nrseqdi

                                  dtregdi = /pws/zycie085-dtreg

                                  adicao  = itab_zycit100_t-adicao

                            WHERE nrseqli = itab_zycit078_t-nrseqli

                              AND tpli    = 'N'.

          ENDLOOP.

        ENDIF.

      ENDIF.

    ENDIF.

  ENDIF.

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

  READ TABLE itab_it INDEX 1.

* << Fim da inclusão

  IF NOT /pws/zycie085-dtreg IS INITIAL AND

     NOT /pws/zycie085-nrdi IS INITIAL.

    PERFORM salva_fatura.

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

    IF NOT itab_it-nrseq IS INITIAL.

      UPDATE /pws/zycit001 SET   status   = 'DS'

                  WHERE nrseq = itab_it-nrseq.

    ENDIF.

  ELSE.

    IF NOT itab_it-nrseq IS INITIAL.

      UPDATE /pws/zycit001 SET   status   = 'DB'

                  WHERE nrseq = itab_it-nrseq.

    ENDIF.

* << Fim da inclusão

  ENDIF.

  IF NOT /pws/zycie085-nrdi  IS INITIAL OR

     NOT /pws/zycie085-dtreg IS INITIAL.

    PERFORM atualiza_status.

  ENDIF.

  DELETE itab_zycit085 WHERE nrseqdi = /pws/zycie085-nrseqdi.

  APPEND /pws/zycie085 TO itab_zycit085.

  SORT itab_zycit085 BY nrseqdi.

  COMMIT WORK.

  IF v_dit = 'N'.

...

 

...

 

  DELETE FROM /pws/zycit085 WHERE nrseqdi = /pws/zycie085-nrseqdi.

  DELETE FROM /pws/zycit095 WHERE nrseqdi = /pws/zycie085-nrseqdi.

  DELETE FROM /pws/zycit100 WHERE nrseqdi = /pws/zycie085-nrseqdi.

  IF sy-subrc EQ 0.

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

    UPDATE /pws/zycit001 SET status = 'AB'

        WHERE nrseq = /pws/zycie001-nrseq.

* << Fim da inclusão

    INSERT /pws/zycit496 FROM /pws/zycit496.

  ENDIF.

  IF v_dit = 'N'.

    DELETE FROM /pws/zycit086 WHERE nrseqdi = /pws/zycie085-nrseqdi.

    DELETE FROM /pws/zycit087 WHERE nrseqdi = /pws/zycie085-nrseqdi.

    DELETE FROM /pws/zycit096 WHERE nrseqdi = /pws/zycie085-nrseqdi.

    DELETE FROM /pws/zycit114 WHERE nrseqdi = /pws/zycie085-nrseqdi.

    DELETE FROM /pws/zycit115 WHERE nrseqdi = /pws/zycie085-nrseqdi.

    DELETE FROM /pws/zycit116 WHERE nrseqdi = /pws/zycie085-nrseqdi.

    DELETE FROM /pws/zycit118 WHERE nrseqdi = /pws/zycie085-nrseqdi.

...

 

...

      ENDLOOP.

      READ TABLE itab_it WITH KEY mark = 'X'.

      v_ip = sy-tabix.

      IF v_msg = 'S'.

        MESSAGE i015 WITH text-219.

      ENDIF.

    ENDIF.

    IF v_msg = 'A' .

      MESSAGE i015 WITH text-239 text-240.

    ENDIF.

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

    IF NOT v_msg = 'S'.

* << Fim da inclusão

    CALL SCREEN '0400'.

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

    ENDIF.

* << Fim da inclusão

  ELSE.

    IF /pws/zycie085-dttax IS INITIAL.

      MESSAGE i015 WITH text-213.

      EXIT.

    ELSE.

      CALL SCREEN '0231'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI058F01

 

...

 

FORM call_item.

  PERFORM: calc_itab.

  CLEAR:  wa_it, v_msg.

  READ TABLE itab_it WITH KEY mark = 'X'.

  v_ip = sy-tabix.

  DESCRIBE TABLE itab_it LINES v_ipt.

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

  IF sy-dynnr = '0100' OR sy-dynnr = '0150'.

* << Fim da exclusão

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

  IF /pws/zycie085-dttax IS INITIAL.

    MESSAGE i015 WITH text-213.

    EXIT.

  ENDIF.

* << Fim da inclusão

    IF s_inco1 EQ 'CFR' OR

       s_inco1 EQ 'CIF' OR

       s_inco1 EQ 'C&F'.

      LOOP AT itab_it.

        IF itab_it-vlfre > itab_it-vlfob.

          v_msg = 'S'.

        ENDIF.

      ENDLOOP.

      READ TABLE itab_it WITH KEY mark = 'X'.

      v_ip = sy-tabix.

      IF v_msg = 'S'.

        MESSAGE i015 WITH text-219.

      ENDIF.

    ENDIF.

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

    CALL SCREEN '0400'.

  ELSE.

    IF /pws/zycie085-dttax IS INITIAL.

      MESSAGE i015 WITH text-213.

      EXIT.

    ELSE.

* << Fim da exclusão

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

  IF NOT v_msg = 'S'.

* << Fim da inclusão

      CALL SCREEN '0231'.

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

    ENDIF.

* << Fim da exclusão

  ENDIF.

ENDFORM.

...