CE PLUS - Nota 004536

Módulo: DOC. EXPORTAÇÃO

Funcionalidade: Embarque

Data/Hora da Publicação: 28/08/2007 00:00:00

Data/Hora Última Alteração: 04/03/2010 11:14:41

Descrição da Nota: REMOÇÃO DE ITENS DO EMBARQUE COM OV SEM REMESSA

Sintoma

 

Não é possível remover itens do embarque com ordens de vendas sem remessa, sem antes removê-las

primeiro.

 

Solução

 

Efetuar atualização apenas para novos itens.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 04536 Data: 28/08/2007 Hora: 07:59:40

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

 

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

Nota Número              : 04536

Categoria                : Erro de Programa

Prioridade               : Baixa

Versão PW.CE             : 7.0

Pacote                   : 00002

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

Texto Rápido:

REMOÇÃO DE ITENS DO EMBARQUE COM OV SEM REMESSA

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

Palavras Chave:

ITEM EMBARQUE OV SEM REMESSA

 

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

Objetos da nota:

REPS /PWS/MZYCE003F01

REPS /PWS/MZYCE003F02

 

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

Modificações efetuadas em REPS /PWS/MZYCE003F01

 

...

    sy-subrc = 4.

  ENDIF.

ENDFORM.

FORM envia_para_cambio.

  DATA: v_resposta(1)  TYPE c,

        v_modo_venc(1) TYPE c,

        v_mode(1)      TYPE c,

        v_result(1)    TYPE c,

        v_status_agrup TYPE i.

  REFRESH: itab_zycet093.

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

  PERFORM refresh_embarque USING 'X'.

* << Fim da exclusão

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

  PERFORM refresh_embarque USING space.

* << Fim da inclusão

  PERFORM verifica_alteracao.

  CHECK sy-subrc IS INITIAL.

  PERFORM valida_envio_para_cambio.

  CHECK sy-subrc EQ 0.

  CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'

       EXPORTING

            defaultoption  = 'N'

            textline1      = text-556

            titel          = text-530

            cancel_display = space

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCE003F02

 

...

                 FROM itab_zycet002

                 TRANSPORTING novo

                 WHERE novo <> 'X'.

          APPEND LINES OF it_zycet002_rem_transp[] TO itab_zycet002[].

        ENDIF.

      ENDIF.

    WHEN 'DEL_MK'.

      PERFORM elimina_itens_marcados USING 'X'

                                     CHANGING v_exclui.

      IF v_exclui EQ 'X'.

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

        PERFORM refresh_embarque USING 'X'.

* << Fim da exclusão

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

        PERFORM refresh_embarque USING space.

* << Fim da inclusão

        IF itab_zycet002_tc[] IS INITIAL.

          okcode = 'T/02'.

        ENDIF.

      ENDIF.

    WHEN 'DETAIL'.

      okcode = 'DUMMY'.

      READ TABLE itab_zycet002_tc WITH KEY mark = 'X'.

      IF sy-subrc NE 0.

        MESSAGE s323(v1).

        EXIT.

...

 

...

  COMMIT WORK.

  PERFORM busca_numero_sequencial.

  IF /pws/zycee001-nrseq IS INITIAL.

    EXIT.

  ENDIF.

  IF okcode                EQ 'STA1' AND

     /pws/zycee001-envia_c EQ 'X'.

    UPDATE /pws/zycet001 SET sta1 = /pws/zycee001-sta1

                      WHERE nrseq = /pws/zycee001-nrseq.

  ELSE.

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

    PERFORM refresh_embarque USING 'X'.

* << Fim da exclusão

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

    PERFORM refresh_embarque USING space.

* << Fim da inclusão

    itab_zycet002-nrseq = /pws/zycee001-nrseq.

    MODIFY itab_zycet002 TRANSPORTING nrseq

                         WHERE nrseq NE /pws/zycee001-nrseq.

    itab_zycet003-nrseq = /pws/zycee001-nrseq.

    LOOP AT itab_zycet003 WHERE NOT nrseqre IS initial.

      UPDATE /pws/zycet003 SET dtlibanu = itab_zycet003-dtlibanu

                         WHERE nrseq    = itab_zycet003-nrseq AND

                               nrseqre  = itab_zycet003-nrseqre.

    ENDLOOP.

    DELETE itab_zycet003 WHERE NOT nrseqre IS initial.

...