CE PLUS - Nota 013027

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 03/06/2013 00:00:00

Data/Hora Última Alteração: 10/06/2013 09:52:41

Descrição da Nota: O SISTEMA ESTÁ PERMITINDO CRIAR DI POR FORA COM O EMBARQUE SENDO EDITADO

Sintoma

Processo com 2 itens no embarque. Do 1° item foi gerada fatura. Quando tentamos criar fatura do 2°

item o campo peso liquido vem fechado. Verificamos que o processo já tem DI.

 

 

Solução

Atualizado programa para impedir que em telas abertas do mesmo processo seja feita uma DI e que

o embarque seja alterado simultaneamente.

 

Versões Tratadas

9.0

Informações Complementares

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

Nota Número 13027 Data: 03/06/2013 Hora: 09:58:46

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

 

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

Nota Número              : 13027

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 9.0

Pacote                   : 00004

Agrupamento              : 00156

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

Referência às notas relacionadas:

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

 

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

O SISTEMA ESTÁ PERMITINDO CRIAR DI POR FORA COM O EMBARQUE SENDO EDITADO

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

Palavras Chave:

ENQUEUE / DUPLICIDADE / FATURA - CAMPO PESO LIQUIDO VEM FECHADO

PROCESSO JÁ POSSUI DI / EDITAR O PROCESSO EM DUAS JANELAS

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

Objetos da nota:

REPS /PWS/MZYCI023F03

REPS /PWS/MZYCI023F02

REPS /PWS/MZYCI023F05

REPT /PWS/SAPMZYCI023

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F03

 

...

FORM unlock_record.

  IF sy-tcode = '/PWS/ZYCI023_A'.

    CALL FUNCTION '/PWS/ZYCI_DEQUEUE_ZYCIT085'

         EXPORTING

              nrseqdi = /pws/zycie085-nrseqdi.

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

    CALL FUNCTION '/PWS/ZYCI_DEQUEUE_ZYCIT001'

         EXPORTING

              nrseq = /pws/zycit001-nrseq.

* << Fim da inclusão

  ENDIF.

  CLEAR /pws/zycie085-nrseqdi.

ENDFORM.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F02

 

...

    REFRESH: itab_it, itab_ita.

  ELSE.

    IF v_difora EQ 'X'.

      PERFORM verifica_bl CHANGING v_bl1.

      IF v_bl1 = '1'.

        MESSAGE i015 WITH text-237.

        CLEAR /pws/zycie085-nrbl.

        EXIT.

      ENDIF.

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

      CLEAR: v_bl1.

      PERFORM lock_embarque CHANGING v_bl1.

      IF v_bl1 = '1'.

        MESSAGE i015 WITH text-306 sy-uname.

        CLEAR /pws/zycie085-nrbl.

        EXIT.

      ENDIF.

* << Fim da inclusão

    ENDIF.

    PERFORM: verify_bl CHANGING v_bl.

    IF v_bl = '1'.

      PERFORM: load_blid.

      MOVE-CORRESPONDING /pws/zycie085 TO wa_zycit085.

      MOVE-CORRESPONDING /pws/zycie093 TO /pws/zycie085.

      /pws/zycie085-land        = /pws/zycie093-paispae.

      /pws/zycie085-identify    = wa_zycit085-identify.

      /pws/zycie085-dtuserc     = wa_zycit085-dtuserc.

      /pws/zycie085-dtusera     = wa_zycit085-dtusera.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F05

 

...

      ENDIF.

    ENDLOOP.

  ENDIF.

  IF v_msg = 'X'.

    MESSAGE i015 WITH text-260 sy-uname text-261.

    IF sy-dynnr EQ '0010'.

      LEAVE TO TRANSACTION '/PWS/ZYCI023_E'

                        AND SKIP FIRST SCREEN.

    ENDIF.

  ENDIF.

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

  IF sy-tcode NE '/PWS/ZYCI023_E' AND v_difora EQ 'X'.

    READ TABLE itab_it INDEX 1.

    CALL FUNCTION '/PWS/ZYCI_ENQUEUE_ZYCIT001'

         EXPORTING

              nrseq          = itab_it-nrseq

         EXCEPTIONS

              foreign_lock   = 1

              system_failure = 2.

    IF sy-subrc EQ '1'.

      IF sy-tcode EQ '/PWS/ZYCI023_C'  OR

         sy-tcode EQ '/PWS/ZYCI023_A'.

        v_msg = 'X'.

      ENDIF.

    ENDIF.

    IF v_msg = 'X'.

      MESSAGE i015 WITH text-306 sy-uname text-261.

      IF sy-dynnr EQ '0010'.

        LEAVE TO TRANSACTION '/PWS/ZYCI023_E'

                          AND SKIP FIRST SCREEN.

      ENDIF.

    ENDIF.

  ENDIF.

* << Fim da inclusão

ENDFORM.

...

 

...

* >> Início da inclusão:

FORM lock_embarque CHANGING p_bl1.

  IF sy-tcode NE '/PWS/ZYCI023_E'.

    CLEAR: /pws/zycit094.

    SELECT SINGLE * FROM /pws/zycit094

       WHERE nrseqce = /pws/zycie085-nrbl.

    IF sy-subrc EQ 0 AND NOT /pws/zycit094-nrseq IS INITIAL.

      CALL FUNCTION '/PWS/ZYCI_ENQUEUE_ZYCIT001'

           EXPORTING

                nrseq          = /pws/zycit094-nrseq

           EXCEPTIONS

                foreign_lock   = 1

                system_failure = 2.

      IF sy-subrc EQ '1'.

        IF sy-tcode EQ '/PWS/ZYCI023_C'  OR

           sy-tcode EQ '/PWS/ZYCI023_A'.

          p_bl1 = '1'.

        ENDIF.

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI023

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 306

 

Texto: (46 caracteres)

"Embarque já está sendo processado pelo usuário"

 

Comprimento máximo: 46