Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Recebimento
Data/Hora da Publicação: 02/06/2014 00:00:00
Data/Hora Última Alteração: 03/06/2014 14:17:27
Descrição da Nota: AJUSTE PARA TRATAR O FECHAMENTO DO CAMPO N CONTAINERS NA MIGO
Sintoma
Ao executar o recebimento de um item com lote e preencher o campo 'num.container' ocorre erro no
batch input informando que o campo está fechado.
Solução
Ajustado programa para fechar o campo numero de container no PWCE conforme parametrização no SAP,
tabela TQSS1, campo KZGEB.
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 13990 Data: 02/06/2014 Hora: 09:21:26
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 13990
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 9.0
Pacote : 00007
Agrupamento : 00171
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
12077 - 00001 - 8.0 - 00011 - QUANDO TEM TEMPO MÍNIMO RESTANTE DE VALIDADE NÃO ABRE DATA DE PRO
12730 - 00002 - 9.0 - 00002 - VERIFICAÇÃO DE CERTIFICADO PARA PROCESSO COM LOTE
----------------------------------------------------------------------------------------------------
AJUSTE PARA TRATAR O FECHAMENTO DO CAMPO N CONTAINERS NA MIGO
----------------------------------------------------------------------------------------------------
Palavras Chave:
RECEBIMENTO - CAMPO - NUMERO - CONTAINERS - FECHADO - MIGO
/PWS/SAPMZYCI017
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI017O01
REPS /PWS/MZYCI017F02
REPS /PWS/MZYCI017F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017O01
...
ELSEIF screen-name = '/PWS/ZYCIE223-CERTIFICADO'.
screen-input = '1'.
MODIFY SCREEN.
ELSEIF screen-name = '/PWS/ZYCIE223-LOTE'.
IF NOT v_suj_lote IS INITIAL.
screen-input = '1'.
ELSE.
screen-input = '0'.
ENDIF.
MODIFY SCREEN.
* >> Início da exclusão: MODULE INIBE_LINHAS
ELSE.
* << Fim da exclusão
* >> Início da inclusão: MODULE INIBE_LINHAS
ELSEIF screen-name NE '/PWS/ZYCIE223-NRVOLUME' AND
screen-name NE '/PWS/ZYCIE223-TPVOLUME'.
* << Fim da inclusão
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
PERFORM verifica_validade.
LOOP AT SCREEN.
IF screen-name = '/PWS/ZYCIE223-DT_PRODUCAO' OR
screen-name = '/PWS/ZYCIE223-DT_VENCTO'.
IF NOT v_validade IS INITIAL.
...
...
ELSEIF screen-name = '/PWS/ZYCIE223-CERTIFICADO'.
screen-input = '1'.
MODIFY SCREEN.
ELSEIF screen-name = '/PWS/ZYCIE223-LOTE'.
IF NOT v_suj_lote IS INITIAL.
screen-input = '1'.
ELSE.
screen-input = '0'.
ENDIF.
MODIFY SCREEN.
* >> Início da exclusão: MODULE INIBE_LINHAS
ELSE.
* << Fim da exclusão
* >> Início da inclusão: MODULE INIBE_LINHAS
ELSEIF screen-name NE '/PWS/ZYCIE223-NRVOLUME' AND
screen-name NE '/PWS/ZYCIE223-TPVOLUME'.
* << Fim da inclusão
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
v_validade_aux = v_validade.
IF NOT wa_zycie042 IS INITIAL.
LOOP AT itab_zycit003 WHERE matnr EQ wa_zycie042-matnr
AND ebeln EQ wa_zycie042-ebeln
AND ebelp EQ wa_zycie042-ebelp.
...
...
MODIFY SCREEN.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-name EQ '/PWS/ZYCIE223-LOTE'.
screen-input = 1.
ELSEIF screen-name EQ '/PWS/ZYCIE223-QTDE'.
screen-input = 1.
screen-required = 1.
ELSEIF screen-name EQ '/PWS/ZYCIE223-NRVOLUME'.
* >> Início da exclusão: MODULE INIBE_LINHAS
screen-input = 1.
* << Fim da exclusão
* >> Início da inclusão: MODULE INIBE_LINHAS
IF tqss1-kzgeb EQ '+'.
screen-required = 1.
ELSE.
* << Fim da inclusão
screen-required = 0.
* >> Início da inclusão: MODULE INIBE_LINHAS
ENDIF.
* << Fim da inclusão
ELSEIF screen-name EQ '/PWS/ZYCIE223-TPVOLUME'.
* >> Início da exclusão: MODULE INIBE_LINHAS
SELECT SINGLE * FROM tqss1
INTO tqss1
WHERE werks EQ itab_zycit003-werks.
IF sy-subrc = 0.
* << Fim da exclusão
IF tqss1-kzgeb EQ '+'.
screen-input = 1.
screen-required = 1.
* >> Início da exclusão: MODULE INIBE_LINHAS
ELSE.
screen-input = 1.
screen-required = 0.
ENDIF.
* << Fim da exclusão
ELSE.
* >> Início da exclusão: MODULE INIBE_LINHAS
screen-input = 1.
* << Fim da exclusão
screen-required = 0.
ENDIF.
ELSEIF screen-name EQ '/PWS/ZYCIE223-LOTE_FORN'.
screen-input = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
ELSE.
LOOP AT SCREEN.
...
...
MODIFY SCREEN.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-name EQ '/PWS/ZYCIE223-LOTE'.
screen-input = 1.
ELSEIF screen-name EQ '/PWS/ZYCIE223-QTDE'.
screen-input = 1.
screen-required = 1.
ELSEIF screen-name EQ '/PWS/ZYCIE223-NRVOLUME'.
* >> Início da exclusão: MODULE INIBE_LINHAS
screen-input = 1.
* << Fim da exclusão
* >> Início da inclusão: MODULE INIBE_LINHAS
IF tqss1-kzgeb EQ '+'.
screen-required = 1.
ELSE.
* << Fim da inclusão
screen-required = 0.
* >> Início da inclusão: MODULE INIBE_LINHAS
ENDIF.
* << Fim da inclusão
ELSEIF screen-name EQ '/PWS/ZYCIE223-TPVOLUME'.
* >> Início da exclusão: MODULE INIBE_LINHAS
SELECT SINGLE * FROM tqss1
INTO tqss1
WHERE werks EQ itab_zycit003-werks.
IF sy-subrc = 0.
* << Fim da exclusão
IF tqss1-kzgeb EQ '+'.
screen-input = 1.
screen-required = 1.
* >> Início da exclusão: MODULE INIBE_LINHAS
ELSE.
screen-input = 1.
screen-required = 0.
ENDIF.
* << Fim da exclusão
ELSE.
* >> Início da exclusão: MODULE INIBE_LINHAS
screen-input = 1.
* << Fim da exclusão
screen-required = 0.
ENDIF.
ELSEIF screen-name EQ '/PWS/ZYCIE223-LOTE_FORN'.
screen-input = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
ELSE.
LOOP AT SCREEN.
...
...
MODULE set_screen_0110 OUTPUT.
DESCRIBE TABLE itab_zycit223 LINES v_linhas_110.
tc_lote-lines = v_linhas_110 + 10.
* >> Início da inclusão: MODULE SET_SCREEN_0110
LOOP AT tc_lote-cols INTO wa_cols.
IF wa_cols-screen-name EQ '/PWS/ZYCIE223-NRVOLUME' OR
wa_cols-screen-name EQ '/PWS/ZYCIE223-TPVOLUME'.
IF tqss1-kzgeb EQ space.
wa_cols-screen-input = 0.
ELSE.
wa_cols-screen-input = 1.
ENDIF.
MODIFY tc_lote-cols FROM wa_cols.
ENDIF.
ENDLOOP.
* << Fim da inclusão
ENDMODULE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017F02
...
FORM verifica_lote.
* >> Início da exclusão: FORM VERIFICA_LOTE
CLEAR: itab_zycit223, wa_zycie042, wa_zycie044.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_LOTE
CLEAR: itab_zycit223, wa_zycie042, wa_zycie044, tqss1.
* << Fim da inclusão
REFRESH: itab_zycit223.
LOOP AT itab_zycit042 WHERE mark = 'X'.
MOVE itab_zycit042 TO wa_zycie042.
ENDLOOP.
LOOP AT itab_zycit044 WHERE mark = 'X'.
MOVE itab_zycit044 TO wa_zycie044.
ENDLOOP.
IF NOT wa_zycie042 IS INITIAL.
CLEAR: itab_zycit223-lote.
SELECT SINGLE charg FROM eket INTO itab_zycit223-lote
...
...
WHERE ebeln = wa_zycie042-ebeln
AND ebelp = wa_zycie042-ebelp.
SELECT SINGLE xchpf FROM marc
INTO v_suj_lote
WHERE matnr EQ itab_matuse_aux3-matnr
AND werks EQ wa_zycie042-werks.
IF v_suj_lote IS INITIAL.
MESSAGE w015 WITH text-256.
EXIT.
ENDIF.
* >> Início da inclusão: FORM VERIFICA_LOTE
SELECT SINGLE * FROM tqss1
WHERE werks EQ wa_zycie042-werks.
* << Fim da inclusão
SELECT * FROM /pws/zycit223 INTO TABLE itab_zycit223
WHERE nrseq = wa_zycie042-nrseq AND
nrseqnf = wa_zycie042-nrseqnf AND
nfglobal = wa_zycie042-nfglobal AND
nfremessa = space AND
ebeln = wa_zycie042-ebeln AND
ebelp = wa_zycie042-ebelp.
ELSEIF NOT wa_zycie044 IS INITIAL.
CLEAR: itab_zycit223-lote.
SELECT SINGLE charg FROM eket INTO itab_zycit223-lote
...
...
WHERE ebeln = wa_zycie044-ebeln
AND ebelp = wa_zycie044-ebelp.
SELECT SINGLE xchpf FROM marc
INTO v_suj_lote
WHERE matnr EQ itab_matuse_aux3-matnr
AND werks EQ wa_zycie044-werks.
IF v_suj_lote IS INITIAL.
MESSAGE w015 WITH text-256.
EXIT.
ENDIF.
* >> Início da inclusão: FORM VERIFICA_LOTE
SELECT SINGLE * FROM tqss1
WHERE werks EQ wa_zycie044-werks.
* << Fim da inclusão
SELECT * FROM /pws/zycit223 INTO TABLE itab_zycit223
WHERE nrseq = wa_zycie044-nrseq AND
nrseqnf = wa_zycie044-nrseqnf AND
nfglobal = wa_zycie044-nfglobal AND
nfremessa = wa_zycie044-nfremessa AND
ebeln = wa_zycie044-ebeln AND
ebelp = wa_zycie044-ebelp.
ENDIF.
IF sy-dynnr = '0100'.
v_remessa = ' '.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017F01
...
i_wemng = itab_zycit031-menge
i_xblnr = itab_zycie033-lfsnr
IMPORTING
e_cert_active = v_cert_ativ
EXCEPTIONS
OTHERS = 1.
IF sy-subrc NE 0 OR v_cert_ativ NE 'X'.
CLEAR v_cert_ativ.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM FILL_DATE_MB01
CLEAR itab_zycit003.
READ TABLE itab_zycit003 WITH KEY ebeln = itab_zycit031-ebeln
ebelp = itab_zycit031-ebelp.
IF tqss1-werks NE itab_zycit003-werks.
CLEAR tqss1.
SELECT SINGLE * FROM tqss1
WHERE werks EQ itab_zycit003-werks.
tqss1-werks = itab_zycit003-werks.
ENDIF.
* << Fim da inclusão
READ TABLE itab_zycit223 WITH KEY ebeln = itab_zycit031-ebeln
ebelp = itab_zycit031-ebelp.
IF sy-subrc = 0.
DELETE itab_zycit031.
ENDIF.
LOOP AT itab_zycit223 WHERE ebeln = itab_zycit031-ebeln AND
ebelp = itab_zycit031-ebelp.
MOVE: itab_zycit223-ebeln TO itab_zycit031_aux-ebeln,
itab_zycit223-ebelp TO itab_zycit031_aux-ebelp,
itab_zycit223-lote TO itab_zycit031_aux-charg,
itab_zycit223-qtde TO itab_zycit031_aux-menge,
itab_zycit223-nrvolume TO itab_zycit031_aux-anzgeb,
itab_zycit223-tpvolume TO itab_zycit031_aux-gebeh,
itab_zycit223-certificado TO itab_zycit031_aux-answer,
itab_zycit223-lote_forn TO itab_zycit031_aux-lichn,
itab_zycit223-dt_vencto TO itab_zycit031_aux-vfdat,
itab_zycit223-dt_producao TO itab_zycit031_aux-hsdat.
* >> Início da inclusão: FORM FILL_DATE_MB01
IF tqss1-kzgeb EQ space.
CLEAR: itab_zycit031_aux-anzgeb, itab_zycit031_aux-gebeh.
ENDIF.
* << Fim da inclusão
IF v_cert_ativ IS INITIAL.
CLEAR itab_zycit031_aux-answer.
ENDIF.
itab_zycit031_aux-tcode = itab_zycie033-tcode.
itab_zycit031_aux-tabela = itab_zycie033-tabela.
itab_zycit031_aux-cpochv = itab_zycie033-cpochv.
itab_zycit031_aux-lgort = itab_zycit031-lgort .
APPEND itab_zycit031_aux.
ENDLOOP.
ENDLOOP.
...