Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Recebimento
Data/Hora da Publicação: 14/01/2013 00:00:00
Data/Hora Última Alteração: 04/04/2013 13:46:10
Descrição da Nota: AJUSTE PARA VERIFICAR TABELA T156Q CONFORME REALIZADO PELA MIGO
Sintoma
O sistema não deixa fazer o recebimento físico devido a falta de verificação em tabela standard
(T156Q).
Solução
Ajustado programa de recebimento para verificar o preenchimento de serie utilizando a tabela de
parametro t156q conforme realizado pela MIGO.
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 12765 Data: 14/01/2013 Hora: 14:37:22
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 12765
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 9.0
Pacote : 00003
Agrupamento : 00144
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
12279 - 00001 - 8.0 - 00011 - NÚMERO DE SÉRIE NA MIGO - RECEBIMENTO
----------------------------------------------------------------------------------------------------
AJUSTE PARA VERIFICAR TABELA T156Q CONFORME REALIZADO PELA MIGO
----------------------------------------------------------------------------------------------------
Palavras Chave:
RECEBIMENTO - MIGO - SERIE - TABELA = PARAMETRO - T156Q
/PWS/SAPMZYCI017
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI017F03
REPS /PWS/MZYCI017F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017F03
...
* >> Início da inclusão:
FORM ver_ad_serie.
DATA: wa_t156q TYPE t156q.
REFRESH itab_t377.
IF NOT wa_nf-bwartwe IS INITIAL.
itab_zycie033-bwartwe = wa_nf-bwartwe.
ELSE.
SELECT SINGLE tp_movto
FROM /pws/zycit507
INTO itab_zycie033-bwartwe
WHERE modalidade = /pws/zycit001-modalidade .
ENDIF.
IF t001-land1 = 'AR' OR t001-land1 ='CL' OR
itab_zycie033-bwartwe IS INITIAL.
itab_zycie033-bwartwe = '101'.
ENDIF.
SELECT SINGLE * INTO wa_t156q
FROM t156q
WHERE bwart = itab_zycie033-bwartwe
AND sobkz = ' '
AND kzbew = 'B'
AND kzzug = ' '
AND kzvbr = ' '.
LOOP AT itab_serie WHERE sernp NE space.
CLEAR itab_t377.
READ TABLE itab_t377 WITH KEY serail = itab_serie-sernp.
IF sy-subrc NE 0.
CALL FUNCTION 'SERIAL_PROFILE_READ'
EXPORTING
profile_r = itab_serie-sernp
operation_r = 'MMSL'
snbwg_r = wa_t156q-snbwg
pflege = 'X'
IMPORTING
t_377 = itab_t377
EXCEPTIONS
no_t377p_entry = 1
no_t377_entry = 2
OTHERS = 3.
IF sy-subrc EQ 0.
APPEND itab_t377.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017F01
...
AND ebelp = itab_zycit044-ebelp.
PERFORM verif_lote.
SELECT a~ebeln a~ebelp a~matnr b~sernp
FROM ( ekpo AS a INNER JOIN marc AS b
ON a~matnr EQ b~matnr AND
a~werks EQ b~werks )
INTO TABLE itab_serie
FOR ALL ENTRIES IN itab_zycit044
WHERE ebeln = itab_zycit044-ebeln
AND ebelp = itab_zycit044-ebelp.
* >> Início da exclusão: FORM CHAMAR_NFREMESSA
IF NOT itab_serie[] IS INITIAL.
CLEAR: itab_t377, itab_t377[].
SELECT * FROM t377
INTO TABLE itab_t377
FOR ALL ENTRIES IN itab_serie
WHERE serail = itab_serie-sernp
AND beleg = 'MMSL'.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM CHAMAR_NFREMESSA
PERFORM ver_ad_serie.
* << Fim da inclusão
LOOP AT itab_zycit044.
READ TABLE itab_serie WITH KEY
ebeln = itab_zycit044-ebeln
ebelp = itab_zycit044-ebelp.
IF sy-subrc EQ 0 AND NOT itab_serie-sernp IS INITIAL.
CLEAR: itab_t377.
READ TABLE itab_t377 WITH KEY serail = itab_serie-sernp.
IF sy-subrc EQ 0 AND itab_t377-serpflicht NE '01'.
itab_zycit044-serie = 'X'.
MODIFY itab_zycit044 TRANSPORTING serie WHERE
...
...
AND ebelp = itab_zycit042-ebelp.
PERFORM verif_lote.
SELECT a~ebeln a~ebelp a~matnr b~sernp
FROM ( ekpo AS a INNER JOIN marc AS b
ON a~matnr EQ b~matnr AND
a~werks EQ b~werks )
INTO TABLE itab_serie
FOR ALL ENTRIES IN itab_zycit042
WHERE ebeln = itab_zycit042-ebeln
AND ebelp = itab_zycit042-ebelp.
* >> Início da exclusão: FORM CHAMAR_NFGLOBAL
IF NOT itab_serie[] IS INITIAL.
CLEAR: itab_t377, itab_t377[].
SELECT * FROM t377
INTO TABLE itab_t377
FOR ALL ENTRIES IN itab_serie
WHERE serail = itab_serie-sernp
AND beleg = 'MMSL'.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM CHAMAR_NFGLOBAL
PERFORM ver_ad_serie.
* << Fim da inclusão
LOOP AT itab_zycit042.
READ TABLE itab_serie WITH KEY
ebeln = itab_zycit042-ebeln
ebelp = itab_zycit042-ebelp.
IF sy-subrc EQ 0 AND NOT itab_serie-sernp IS INITIAL.
CLEAR: itab_t377.
READ TABLE itab_t377 WITH KEY serail = itab_serie-sernp.
IF sy-subrc EQ 0 AND itab_t377-serpflicht NE '01'.
itab_zycit042-serie = 'X'.
MODIFY itab_zycit042 TRANSPORTING serie WHERE
...
...
CLEAR itab_ekpo_s.
IF NOT itab_itens_nf[] IS INITIAL.
SELECT a~ebeln a~ebelp a~matnr b~sernp
FROM ( ekpo AS a INNER JOIN marc AS b
ON a~matnr EQ b~matnr AND
a~werks EQ b~werks )
INTO TABLE itab_serie
FOR ALL ENTRIES IN itab_itens_nf
WHERE ebeln = itab_itens_nf-ebeln
AND ebelp = itab_itens_nf-ebelp.
* >> Início da exclusão: FORM FILL_DATE_MB01
IF NOT itab_serie[] IS INITIAL.
CLEAR: itab_t377, itab_t377[].
SELECT * FROM t377
INTO TABLE itab_t377
FOR ALL ENTRIES IN itab_serie
WHERE serail = itab_serie-sernp
AND beleg = 'MMSL'.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_MB01
PERFORM ver_ad_serie.
* << Fim da inclusão
ENDIF.
IF NOT itab_itens_nf[] IS INITIAL.
SELECT ebeln ebelp zgtyp FROM ekpo
INTO TABLE itab_cert
FOR ALL ENTRIES IN itab_itens_nf
WHERE ebeln EQ itab_itens_nf-ebeln
AND ebelp EQ itab_itens_nf-ebelp.
ENDIF.
FREE itab_zycit031.
IF v_inbound EQ 'X'.
...