CE PLUS - Nota 011144

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Embarque

Data/Hora da Publicação: 06/05/2011 00:00:00

Data/Hora Última Alteração: 06/05/2011 15:52:10

Descrição da Nota: AO CRIAR EMBARQUE, EXIBE MENSAGEM DE ERRO PARA CADA PEDIDO E ITEM

Sintoma

Ao criar embarque, exibe mensagem de erro para cada pedido e item

 

 

Solução

Exibir uma tela com todas as mensagens de erro apenas uma vez

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

NO EMBARQUE VERIFICAR SE O FORNECEDOR É NACIONAL

IMPLEMENTAÇÃO DA FATURA DE SERVIÇO COM PEDIDO DE SERVIÇO

AO VINCULAR PEDIDO DE COMPRA COM REMESSA FINAL DAVA ERRO EM OUTROS ITENS

PROGRAMA EXIBE MENSAGENS PARA CADA ITEM DO EMBARQUE.

Informações Complementares

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

Nota Número 11144 Data: 06/05/2011 Hora: 11:28:46

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

 

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

Nota Número              : 11144

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 8.0

Pacote                   : 00007

Agrupamento              : 00069

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

Referência às notas relacionadas:

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

 

02487  - 00001 - 6.0    - 00025  - AO VINCULAR PEDIDO DE COMPRA COM REMESSA FINAL DAVA ERRO EM OUTRO

08116  - 00002 - 7.0    - 00008  - IMPLEMENTAÇÃO DA FATURA DE SERVIÇO COM PEDIDO DE SERVIÇO

08741  - 00003 - 7.0    - 00010  - NO EMBARQUE VERIFICAR SE O FORNECEDOR É NACIONAL

11097  - 00004 - 8.0    - 00007  - PROGRAMA EXIBE MENSAGENS PARA CADA ITEM DO EMBARQUE.

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

AO CRIAR EMBARQUE, EXIBE MENSAGEM DE ERRO PARA CADA PEDIDO E ITEM

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

Palavras Chave:

ERRO - EMBARQUE - MENSAGEM - POR ITEM

 

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

Objetos da nota:

REPS /PWS/MZYCI001F01

REPS /PWS/MZYCI001F03

REPS /PWS/MZYCI001X01

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F01

 

...

  CLEAR:

       so_inco1, so_waers, so_werks, so_lifnr, so_bednr,

       so_aedat, so_ebeln, so_ebelp, so_matnr .

  REFRESH:

       so_inco1, so_waers, so_werks, so_lifnr, so_bednr,

       so_aedat, so_ebeln, so_ebelp, so_matnr .

  DESCRIBE TABLE itab_itens LINES v_index.

  SORT itab_itens BY ebeln ebelp.

  LOOP AT itab_itens.

    IF itab_itens-loekz EQ 'S'.

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

      MESSAGE i015 WITH text-340

                        itab_itens-ebeln

                        itab_itens-ebelp

                        text-339.

* << Fim da exclusão

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

      itab_msgncm-field = 'loekzs' .

      itab_msgncm-msgtp = 'I' .

      itab_msgncm-ebeln = itab_itens-ebeln.

      itab_msgncm-ebelp = itab_itens-ebelp.

      APPEND itab_msgncm.

* << Fim da inclusão

      DELETE itab_itens WHERE ebeln EQ itab_itens-ebeln

                        AND   ebelp EQ itab_itens-ebelp.

    ELSEIF itab_itens-loekz EQ 'L'.

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

      MESSAGE i015 WITH text-341

                        itab_itens-ebeln

                        itab_itens-ebelp

                        text-339.

* << Fim da exclusão

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

      itab_msgncm-field = 'loekzl' .

      itab_msgncm-msgtp = 'I' .

      itab_msgncm-ebeln = itab_itens-ebeln.

      itab_msgncm-ebelp = itab_itens-ebelp.

      APPEND itab_msgncm.

* << Fim da inclusão

      DELETE itab_itens WHERE ebeln EQ itab_itens-ebeln

                        AND   ebelp EQ itab_itens-ebelp.

    ENDIF.

  ENDLOOP.

  SELECT ebeln ebelp FROM ekes INTO TABLE itab_ekes

      FOR ALL ENTRIES IN itab_itens

      WHERE ebeln EQ itab_itens-ebeln

        AND ebelp EQ itab_itens-ebelp.

  CLEAR v_confirm.

  LOOP AT itab_itens.

    IF itab_itens-webre EQ 'X'.

      MESSAGE i013 WITH text-314 text-315.

    ENDIF.

    IF itab_itens-wepos NE 'X'.

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

      MESSAGE i015 WITH text-342

                        itab_itens-ebeln

                        itab_itens-ebelp

                        text-339.

* << Fim da exclusão

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

      itab_msgncm-field = 'webpos' .

      itab_msgncm-msgtp = 'I' .

      itab_msgncm-ebeln = itab_itens-ebeln.

      itab_msgncm-ebelp = itab_itens-ebelp.

      APPEND itab_msgncm.

* << Fim da inclusão

      DELETE itab_itens WHERE ebeln = itab_itens-ebeln

                        AND   ebelp = itab_itens-ebelp.

    ENDIF.

    IF itab_itens-elikz EQ 'X'.

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

      MESSAGE i015 WITH text-338

                        itab_itens-ebeln

                        itab_itens-ebelp

                        text-339.

* << Fim da exclusão

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

      itab_msgncm-field = 'elikz' .

      itab_msgncm-msgtp = 'I' .

      itab_msgncm-ebeln = itab_itens-ebeln.

      itab_msgncm-ebelp = itab_itens-ebelp.

      APPEND itab_msgncm.

* << Fim da inclusão

      DELETE itab_itens WHERE ebeln = itab_itens-ebeln

                        AND   ebelp = itab_itens-ebelp.

    ENDIF.

    IF /pws/zycie001-modalidade NE '02' AND

       /pws/zycie001-modalidade NE '03'.

      IF itab_itens-j_1bmatuse EQ ' ' AND

         v_land1 = 'BR'.

        MESSAGE e013 WITH text-314 text-320.

      ENDIF.

    ENDIF.

...

 

...

                 WITH itab_bloqueio-ebeln.

            DELETE itab_itens WHERE ebeln = itab_bloqueio-ebeln.

          ELSE.

          MESSAGE ID '/PWS/ZYCIM' TYPE /pws/zyglt217-msgtp NUMBER '131'

                                               WITH itab_bloqueio-ebeln.

          ENDIF.

        ENDIF.

      ENDIF.

    ENDIF.

  ENDLOOP.

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

  PERFORM exibe_mensagens.

* << Fim da inclusão

  IF itab_itens[] IS INITIAL.

    EXIT.

  ENDIF.

  IF  so_inco1 IS INITIAL.

    CLEAR: itab_itens, itab_zycit031, v_inco1a.

    REFRESH: itab_zycit031.

    READ TABLE itab_itens INDEX 1.

    SELECT * FROM /pws/zycit031

      INTO TABLE itab_zycit031

      WHERE inco1 EQ itab_itens-inco1

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F03

 

...

 

* >> Início da inclusão:

FORM exibe_mensagens.

  IF NOT itab_msgncm[] IS INITIAL.

    CALL FUNCTION 'MESSAGES_INITIALIZE'.

    LOOP AT itab_msgncm.

      IF itab_msgncm-field EQ 'loekzs'.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = 'I'

                  msgv1 = text-340

                  msgv2 = itab_msgncm-ebeln

                  msgv3 = itab_msgncm-ebelp

                  msgv4 = text-339

                  txtnr = '015'

                  zeile = '01'.

        IF sy-subrc <> 0.

        ENDIF.

      ELSEIF itab_msgncm-field EQ 'loekzl'.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = 'I'

                  msgv1 = text-341

                  msgv2 = itab_msgncm-ebeln

                  msgv3 = itab_msgncm-ebelp

                  msgv4 = text-339

                  txtnr = '015'

                  zeile = '01'.

        IF sy-subrc <> 0.

        ENDIF.

      ELSEIF itab_msgncm-field EQ 'wepos'.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = 'I'

                  msgv1 = text-342

                  msgv2 = itab_msgncm-ebeln

                  msgv3 = itab_msgncm-ebelp

                  msgv4 = text-339

                  txtnr = '015'

                  zeile = '01'.

        IF sy-subrc <> 0.

        ENDIF.

      ELSEIF itab_msgncm-field EQ 'elikz'.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = 'I'

                  msgv1 = text-338

                  msgv2 = itab_msgncm-ebeln

                  msgv3 = itab_msgncm-ebelp

                  msgv4 = text-339

                  txtnr = '015'

                  zeile = '01'.

        IF sy-subrc <> 0.

        ENDIF.

      ENDIF.

    ENDLOOP .

    CALL FUNCTION 'MESSAGES_SHOW'

         EXPORTING

              object          = '/PWS/SAPMZYCI001'

              i_amodal_window = ' '.

    IF sy-subrc <> 0.

    ENDIF.

    CALL FUNCTION 'MESSAGES_INITIALIZE'.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI001X01

 

...

 

data: begin of itab_msgncm occurs 0.

data: msgtp type /pws/zyglt217-msgtp,

      matnr type /pws/zycit003-matnr,

      j_1bnbm type /pws/zycit003-j_1bnbm,

* >> Início da exclusão:

      number type char3.

* << Fim da exclusão

* >> Início da inclusão:

      number type char3,

      field type char30,

      ebeln type ekpo-ebeln,

      ebelp type ekpo-ebelp.

* << Fim da inclusão

data: end of itab_msgncm.

DATA: END OF COMMON PART a.