CE PLUS - Nota 000344

Módulo: DOC. EXPORTAÇÃO

Funcionalidade: Relatórios

Data/Hora da Publicação: 25/11/2005 00:00:00

Data/Hora Última Alteração: 21/02/2011 13:52:38

Descrição da Nota: AJUSTES COM RELAÇÃO A CONSISTÊNCIAS DE RED FLAG E CAMPOS ERRADOS

Sintoma

Alguns problemas relacionados a consistências de RED FLAG e campos vazios estavam ocorrendo no

relatório de Controle de Exceções.

 

 

Solução

Carga correta de campos vazios e acerto nas consistências de RED FLAG.

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 00344 Data: 25/11/2005 Hora: 13:42:43

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

 

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

Nota Número              : 00344

Categoria                : Erro de Programa

Prioridade               : Baixa

Versão PW.CE             : 6.0

Pacote                   : 00021

Agrupamento              : 00089

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

AJUSTES COM RELAÇÃO A CONSISTÊNCIAS DE RED FLAG E CAMPOS ERRADOS

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

Palavras Chave:

ERRADOS; CAMPOS; RED FLAG; CONSISTÊNCIAS; RELAÇÃO; AJUSTES

 

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

Objetos da nota:

REPS /PWS/ZYCER214

 

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

Modificações efetuadas em REPS /PWS/ZYCER214

 

FORM seleciona_embarque.

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

  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'

       EXPORTING

            percentage = 10

            text       = 'Selecionando Dados'.

* << Fim da inclusão

  SELECT a~mandt    a~nrseq    a~nremb     a~nrsd  a~canal   a~navio

         a~dtprev   a~dtaverb  a~dtenvcamb a~dtdoc a~dtcruze a~dtemb

         a~viatrans a~portdest a~despach

         b~vbeln_va b~vbeln_vl b~vbeln_vf b~aupos b~posnl b~posnr

         b~waers    b~inco1    b~docnum   b~nfnum b~werks b~vkgrp

...

 

...

      ELSE.

        REFRESH itab_embarque.

      ENDIF.

    ENDIF.

  ENDIF.

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

  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'

       EXPORTING

            percentage = 30

            text       = 'Selecionando Dados'.

* << Fim da inclusão

  IF NOT itab_embarque[] IS INITIAL.

    SELECT vbeln bstkd

           FROM vbkd

           INTO TABLE itab_vbkd

           FOR ALL ENTRIES IN itab_embarque

...

 

...

      ELSE.

        REFRESH itab_embarque.

      ENDIF.

    ENDIF.

  ENDIF.

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

  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'

       EXPORTING

            percentage = 50

            text       = 'Selecionando Dados'.

* << Fim da inclusão

  IF NOT itab_embarque[] IS INITIAL.

    PERFORM trata_ordem_emb.

  ENDIF.

  IF NOT itab_embarque[] IS INITIAL.

    PERFORM seleciona_dados_embarque.

...

 

...

           INTO table itab_fatura

           FOR ALL ENTRIES IN itab_embarque

           WHERE vbrp~vbeln EQ itab_embarque-vbeln_vf

             AND vbrp~posnr EQ itab_embarque-posnr.

  ENDIF.

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

  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'

       EXPORTING

            percentage = 100

            text       = 'Selecionando Dados'.

* << Fim da inclusão

ENDFORM.

 

...

 

 

FORM processa_dados.

 

  SORT itab_ordem BY vbeln_vl

                     vbeln

                     posnl  .

 

  LOOP AT itab_ordem.

    CLEAR: itab_relat.

    MOVE: itab_ordem-vbeln      TO itab_relat-vbeln_va,

 

...

      ENDIF.

      CLEAR colinfo.

      colinfo-color-col = 2.

      colinfo-fieldname = 'BSTKD'.

      APPEND colinfo TO itab_relat-colinfo.

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

      PERFORM red_flags.

* << Fim da exclusão

    ENDIF.

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

    PERFORM red_flags.

* << Fim da inclusão

    APPEND itab_relat.

  ENDLOOP.

  SORT itab_relat BY nrseq

                     vbeln_vl

                     werks.

  DELETE ADJACENT DUPLICATES FROM itab_relat.

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

  DATA: BEGIN OF itab_zycet003_aux OCCURS 0,

          nrseq        LIKE /pws/zycet003-nrseq,

          nrre         LIKE /pws/zycet003-nrre,

          dtlibanu     LIKE /pws/zycet003-dtlibanu,

        END OF itab_zycet003_aux.

* << Fim da exclusão

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

  LOOP AT itab_relat.

* << Fim da inclusão

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

  itab_zycet003_aux[] = itab_zycet003[].

* << Fim da exclusão

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

    READ TABLE itab_zycet003 WITH KEY nrseq = itab_relat-nrseq.

* << Fim da inclusão

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

  LOOP AT itab_relat.

    READ TABLE itab_zycet003_aux WITH KEY nrseq = itab_relat-nrseq.

    IF sy-subrc EQ 0 AND itab_relat-icon_4 <> ' '.

      MOVE: itab_zycet003_aux-nrre       TO itab_relat-nrre,

            itab_zycet003_aux-dtlibanu   TO itab_relat-dtlibanu.

* << Fim da exclusão

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

    IF sy-subrc EQ 0 AND itab_relat-icon_4 IS INITIAL.

      MOVE: itab_zycet003-nrre       TO itab_relat-nrre.

      WRITE itab_zycet003-dtlibanu   TO itab_relat-icon_4.

* << Fim da inclusão

      MODIFY itab_relat.

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

      DELETE itab_zycet003_aux INDEX sy-tabix.

* << Fim da exclusão

    ENDIF.

  ENDLOOP.

  DELETE ADJACENT DUPLICATES FROM itab_relat.

  PERFORM refresh_tabelas.

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

  DATA v_tabix LIKE sy-tabix.

  LOOP AT itab_relat.

    ON CHANGE OF itab_relat-nrseq.

      CLEAR v_tabix.

      LOOP AT itab_relat WHERE nrseq = itab_relat-nrseq.

        IF v_tabix > 0.

          LOOP AT itab_relat WHERE nrseq = itab_relat-nrseq AND

                                   icon_4 <> ' '.

            IF sy-subrc EQ 0.

              LOOP AT itab_relat WHERE nrseq = itab_relat-nrseq AND

                                       icon_4 = ' '.

                DELETE itab_relat.

                CLEAR v_tabix.

              ENDLOOP.

            ENDIF.

          ENDLOOP.

        ENDIF.

        v_tabix = v_tabix + 1.

      ENDLOOP.

    ENDON.

  ENDLOOP.

* << Fim da exclusão

  SORT itab_relat BY nrseq.

  PERFORM limpa_campos.

ENDFORM.

 

...

 

FORM red_flags.

 

  DATA: v_data   LIKE sy-datum.

 

  CASE itab_relat-viatrans.

    WHEN c_ma OR c_rd OR c_ta.

 

      CLEAR v_data.

      IF NOT itab_relat-bldat IS INITIAL.

        WRITE: itab_relat-bldat TO itab_relat-icon_1.

      ELSE.

 

...

 

        WRITE: itab_relat-dtaverb TO itab_relat-icon_7.

      ENDIF.

      CLEAR v_data.

      IF itab_relat-dtdoc IS INITIAL.

        IF itab_relat-viatrans EQ c_ta.

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

          IF NOT itab_relat-dtemb IS INITIAL.

            v_data = itab_relat-dtemb + 2.

            IF sy-datum GT v_data.

              MOVE: v_icon  TO itab_relat-icon_8.

            ELSE.

              WRITE: itab_relat-dtdoc TO itab_relat-icon_8.

            ENDIF.

          ELSE.

* << Fim da exclusão

            WRITE: itab_relat-dtdoc TO itab_relat-icon_8.

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

          ENDIF.

* << Fim da exclusão

        ELSE.

...

 

      ENDIF.

 

      IF NOT itab_relat-dtenvcamb IS INITIAL.

        WRITE: itab_relat-dtenvcamb TO itab_relat-icon_9.

      ENDIF.

 

  ENDCASE.

ENDFORM.                    " red_flags