CE PLUS - Nota 004179

Módulo: DOC. EXPORTAÇÃO

Funcionalidade: Embarque

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

Data/Hora Última Alteração: 04/03/2010 10:54:22

Descrição da Nota: VERIFICAÇÃO DE CONSISTÊNCIA DE ITEM AO INCLUIR UMA ENTRADA NO EMBARQUE

Sintoma

 

Quando um Embarque é criado sem que a ordem esteja fornecida ou faturada, ao criar outro embarque

após a ordem ter sido fornecida/faturada, ao passar pela verificação de se ordem/item já pertence a

outro Embarque, o programa não estava encontrando o registro, permitindo que a ordem/item fosse

aceita no Embarque novo.

 

Solução

 

Implementação de nova chave de busca para selecionar ordens/itens que já pertencem a outro Embarque.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 04179 Data: 16/07/2007 Hora: 09:05:36

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

 

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

Nota Número              : 04179

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00002

Agrupamento              : 00003

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

VERIFICAÇÃO DE CONSISTÊNCIA DE ITEM AO INCLUIR UMA ENTRADA NO EMBARQUE

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

Palavras Chave:

ITEM, CONSISTÊNCIA, EMBARQUE, VERIFICAÇÃO, REGISTRO, ORDEM,

 

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

Objetos da nota:

REPS /PWS/MZYCE003F01

 

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

Modificações efetuadas em REPS /PWS/MZYCE003F01

 

...

           WHERE ebeln = itab_pedidos-ebeln AND

                 ebelp = itab_pedidos-ebelp.

    DELETE itab_zycet002_existe WHERE nrseq EQ /pws/zycee001-nrseq.

  ENDIF.

  LOOP AT itab_zycet002.

    READ TABLE itab_zycet002_existe

          WITH KEY vbeln_va = itab_zycet002-vbeln_va

                   aupos    = itab_zycet002-aupos

                   vbeln_vl = itab_zycet002-vbeln_vl

                   posnl    = itab_zycet002-posnl

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

                   vbeln_vf = itab_zycet002-vbeln_vf

                   posnr    = itab_zycet002-posnr

* << Fim da exclusão

                   ebeln    = itab_zycet002-ebeln

                   ebelp    = itab_zycet002-ebelp.

    IF sy-subrc EQ 0.

      IF itab_zycet002-vbeln_va IS INITIAL.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCEM'

                  msgty = v_msgtp

                  msgv1 = itab_zycet002-ebeln

                  msgv2 = itab_zycet002-ebelp

...

 

...

                  msgv3 = itab_zycet002_existe-nrseq

                  txtnr = 242

                  zeile = 'NRSEQ_ERR'.

      ENDIF.

      IF p_excluir EQ 'X'.

        IF NOT itab_zycet002-vbeln_vl IS INITIAL OR

           NOT itab_zycet002-vbeln_vf IS INITIAL.

          DELETE itab_zycet002.

          v_cabec  = 'X'.

          v_exclui = 'X'.

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

        ENDIF.

      ENDIF.

    ELSE.

      READ TABLE itab_zycet002_existe

        WITH KEY vbeln_va = itab_zycet002-vbeln_va

                 aupos    = itab_zycet002-aupos

                 ebeln    = itab_zycet002-ebeln

                 ebelp    = itab_zycet002-ebelp.

      IF sy-subrc IS INITIAL.

        IF itab_zycet002-vbeln_va IS INITIAL.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCEM'

                    msgty = v_msgtp

                    msgv1 = itab_zycet002-ebeln

                    msgv2 = itab_zycet002-ebelp

                    msgv3 = itab_zycet002-vbeln_vl

                    msgv4 = itab_zycet002_existe-nrseq

                    txtnr = 077

                    zeile = 'NRSEQ_ERR'.

        ELSE.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCEM'

                    msgty = v_msgtp

                    msgv1 = itab_zycet002-vbeln_va

                    msgv2 = itab_zycet002-aupos

                    msgv3 = itab_zycet002-vbeln_vl

                    msgv4 = itab_zycet002_existe-nrseq

                    txtnr = 077

                    zeile = 'NRSEQ_ERR'.

* << Fim da inclusão

        ENDIF.

      ENDIF.

    ENDIF.

  ENDLOOP.

  IF NOT v_cabec IS INITIAL.

    PERFORM cabecalho_dados_organizacao USING v_cabec.

  ENDIF.

  IF itab_zycet037-tpverifparc CA 'CI'.

    LOOP AT itab_zycet002.

      IF itab_zycet002-vbeln_vf IS INITIAL.

...