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
8.0
Produto:
Nota
Descrição
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.