Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Embarque
Data/Hora da Publicação: 18/03/2011 00:00:00
Data/Hora Última Alteração: 22/03/2011 11:12:52
Descrição da Nota: VINCULAÇÃO DE LI NO EMBARQUE
Sintoma
Uma vez vinculados alguns itens de uma LI no Embarque, os demais itens não podem ser vinculados
porque não aparecem mais para vinculação.
Solução
Se uma LI possuir itens que ainda não foram vinculados ao embarque, ela deve aparecer.
8.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 11026 Data: 18/03/2011 Hora: 15:50:53
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 11026
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00007
Agrupamento : 00062
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
----------------------------------------------------------------------------------------------------
VINCULAÇÃO DE LI NO EMBARQUE
----------------------------------------------------------------------------------------------------
Palavras Chave:
ERRO NA VINCULAÇÃO DE LI NO EMBARQUE
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI001F01
REPS /PWS/MZYCI020F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001F01
...
AND v_adm_temp NE 'X'.
MESSAGE i015 WITH text-514 text-515.
EXIT .
ENDIF.
IF v_sair = 'X'.
EXIT.
ENDIF.
v_nrseqerro = space.
CLEAR: itab_zycit008.
FREE: itab_zycit008.
* >> Início da exclusão: FORM GRAVA_TABELAS
SELECT * FROM /pws/zycit008 "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TABELAS
SELECT * FROM /pws/zycit008 "#EC CI_NOFIELD
* << Fim da inclusão
INTO TABLE itab_zycit008
WHERE tpgto EQ 'D'.
IF sy-subrc EQ 0.
LOOP AT itab_zycit125.
IF itab_zycit125-lifnr IS INITIAL.
DELETE itab_zycit125 INDEX sy-tabix.
MESSAGE i015 WITH text-223.
EXIT.
ENDIF.
ENDLOOP.
...
...
IF sy-subrc EQ 0.
v_msg = 'X' .
ENDIF.
IF v_msg EQ 'X'.
SELECT SINGLE * FROM /pws/zycit026
WHERE nrseq = /pws/zycie001-nrseq.
IF sy-subrc = 0.
MESSAGE i015 WITH text-489 text-490 text-491.
EXIT.
ENDIF.
* >> Início da exclusão: FORM GRAVA_TABELAS
SELECT SINGLE * FROM /pws/zycit008 "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TABELAS
SELECT SINGLE * FROM /pws/zycit008 "#EC CI_NOFIELD
* << Fim da inclusão
WHERE nrseq = /pws/zycie001-nrseq
AND tpgto = 'D'.
IF sy-subrc EQ 0.
MESSAGE i015 WITH text-489 text-490 text-492.
EXIT.
ENDIF.
MESSAGE i015 WITH text-261 text-260.
DELETE itab_zycit003 WHERE qtd_iten EQ '0'.
ENDIF.
LOOP AT itab_zycit003.
...
...
AND ebelp = itab_zycit374-ebelp.
MODIFY /pws/zycit396 FROM TABLE itab_zycit396.
ENDIF.
ENDIF.
MODIFY /pws/zycit133 FROM /pws/zycie133.
MODIFY /pws/zycit133 FROM /pws/zycie133a.
MOVE: /pws/zycie134 TO wa_zycit134,
/pws/zycie133 TO wa_zycit133,
/pws/zycie133a TO wa_zycit133a.
ENDIF.
* >> Início da exclusão: FORM GRAVA_TABELAS
SELECT SINGLE * FROM /pws/zycit094 "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TABELAS
SELECT SINGLE * FROM /pws/zycit094 "#EC CI_NOFIRST
* << Fim da inclusão
INTO /pws/zycit094
WHERE nrseq = /pws/zycie001-nrseq.
IF sy-subrc = 0.
SELECT SINGLE * FROM
/pws/zycit093 INTO /pws/zycit093
WHERE nrseqce = /pws/zycit094-nrseqce.
IF sy-subrc = 0.
/pws/zycit093-meiotransp = /pws/zycie001-meioemba.
/pws/zycit093-embarca = /pws/zycie001-navio.
IF /pws/zycit000 IS INITIAL.
...
...
SELECT MAX( nrseq ) INTO (v_nrseq_emp)
FROM /pws/zycit001
WHERE nrseq LIKE v_ano_emp.
v_tam = strlen( p_range ).
v_tam_2 = ( 7 - v_tam ).
v_count(v_tam_2) = v_nrseq_emp+v_tam(v_tam_2) + 1.
CONCATENATE p_range v_count(v_tam_2) 'I' sy-datlo+2(2)
INTO v_nrseq_emp.
ENDFORM.
FORM vinculacao_li.
* >> Início da inclusão: FORM VINCULACAO_LI
DATA: BEGIN OF itab_079qtd OCCURS 0.
DATA: nrseqli TYPE /pws/zycit079-nrseqli,
ebeln TYPE /pws/zycit079-ebeln ,
ebelp TYPE /pws/zycit079-ebelp .
DATA END OF itab_079qtd.
* << Fim da inclusão
DATA: v_nacion TYPE c.
DATA: v_char1(20),
v_char2(20),
v_pos TYPE i.
DATA: v_qtdumest LIKE /pws/zycit003-qtdeumest.
PERFORM grava_tabelas.
CLEAR: itab_zycit079 ,
itab_zycit078 ,
itab_log ,
itab_ncm ,
...
...
IF sy-subrc EQ 0.
MESSAGE s015 WITH text-506 text-507.
EXIT .
ENDIF.
SELECT * FROM /pws/zycit079 "#EC CI_NOFIRST
INTO TABLE itab_zycit079
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln EQ itab_zycit003-ebeln
AND ebelp EQ itab_zycit003-ebelp
AND nrseq EQ space.
* >> Início da exclusão: FORM VINCULACAO_LI
IF sy-subrc EQ 0.
LOOP AT itab_zycit079.
SELECT SINGLE * FROM /pws/zycit079
WHERE nrseqli EQ itab_zycit079-nrseqli
AND nrseq NE space.
IF sy-subrc EQ 0.
DELETE itab_zycit079
WHERE nrseqli EQ /pws/zycit079-nrseqli.
ENDIF.
ENDLOOP.
ENDIF.
* << Fim da exclusão
IF NOT itab_zycit079[] IS INITIAL.
IF /pws/zycie001-tpdecl EQ 'DI'.
IF /pws/zycie001-regime EQ '13'.
v_nacion = 'X'.
ELSE.
CLEAR: v_nacion.
ENDIF.
SELECT * FROM /pws/zycit078
INTO TABLE itab_zycit078
FOR ALL ENTRIES IN itab_zycit079
...
...
FOR ALL ENTRIES IN itab_zycit078
WHERE nrseqli EQ itab_zycit078-nrseqli
AND tpli EQ 'N'.
ELSE.
MESSAGE s015 WITH text-108.
EXIT.
ENDIF.
ELSE.
MESSAGE s015 WITH text-107.
EXIT.
* >> Início da inclusão: FORM VINCULACAO_LI
ENDIF.
IF NOT itab_zycit078[] IS INITIAL.
SELECT nrseqli ebeln ebelp FROM /pws/zycit079
INTO TABLE itab_079qtd
FOR ALL ENTRIES IN itab_zycit078
WHERE nrseqli EQ itab_zycit078-nrseqli.
* << Fim da inclusão
ENDIF.
LOOP AT itab_zycit078.
CLEAR: v_qtdumest, itab_zycit079, itab_zycit003.
* >> Início da exclusão: FORM VINCULACAO_LI
LOOP AT itab_zycit079 WHERE nrseqli = itab_zycit078-nrseqli.
READ TABLE itab_zycit003 WITH KEY ebeln = itab_zycit079-ebeln
ebelp = itab_zycit079-ebelp.
* << Fim da exclusão
* >> Início da inclusão: FORM VINCULACAO_LI
LOOP AT itab_079qtd WHERE nrseqli = itab_zycit078-nrseqli.
READ TABLE itab_zycit003 WITH KEY ebeln = itab_079qtd-ebeln
ebelp = itab_079qtd-ebelp.
* << Fim da inclusão
CHECK sy-subrc EQ 0.
v_qtdumest = v_qtdumest + itab_zycit003-qtdeumest.
ENDLOOP.
LOOP AT itab_zycit079 WHERE nrseqli = itab_zycit078-nrseqli.
READ TABLE itab_zycit003 WITH KEY ebeln = itab_zycit079-ebeln
ebelp = itab_zycit079-ebelp.
CHECK itab_zycit003-nrseqli IS INITIAL.
IF itab_zycit078-bukrs NE /pws/zycie001-bukrs.
v_descrlog = text-078.
MOVE: itab_zycit003-ebeln TO itab_log-ebeln ,
...
...
nrdrawback = /pws/zycit078-nrdrawback
modalidade = /pws/zycit078-modalidade
WHERE ebeln = itab_vincula-ebeln
AND ebelp = itab_vincula-ebelp
AND nrseq = /pws/zycie001-nrseq.
ENDIF.
UPDATE /pws/zycit079 SET nrseq = /pws/zycie001-nrseq
WHERE ebeln = itab_vincula-ebeln
AND ebelp = itab_vincula-ebelp
AND nrseqli = itab_vincula-nrseqli.
* >> Início da inclusão: FORM REALIZANDO_VIN_LI
SELECT * FROM /pws/zycit079 INTO TABLE itab_zycit079
WHERE nrseqli EQ /pws/zycit078-nrseqli
AND nrseq EQ space.
IF sy-subrc NE 0.
* << Fim da inclusão
UPDATE /pws/zycit078 SET status = 'VIN'
nrseq = /pws/zycie001-nrseq
WHERE nrseqli = itab_vincula-nrseqli
AND nrli = itab_vincula-nrli
AND tpli = 'N'.
* >> Início da inclusão: FORM REALIZANDO_VIN_LI
ENDIF.
* << Fim da inclusão
ENDFORM.
...
...
AND nrseq = /pws/zycie001-nrseq.
UPDATE /pws/zycit003 SET nrlsisub = 'X'
WHERE ebeln = itab_vincula-ebeln
AND ebelp = itab_vincula-ebelp
AND nrseq = /pws/zycie001-nrseq.
ENDIF.
UPDATE /pws/zycit079 SET nrseq = /pws/zycie001-nrseq
WHERE ebeln = itab_vincula-ebeln
AND ebelp = itab_vincula-ebelp
AND nrseqli = itab_vincula-nrseqli.
* >> Início da inclusão: FORM REALIZANDO_VIN_LSI
SELECT * FROM /pws/zycit079 INTO TABLE itab_zycit079
WHERE nrseqli EQ /pws/zycit078-nrseqli
AND nrseq EQ space.
IF sy-subrc NE 0.
* << Fim da inclusão
UPDATE /pws/zycit078 SET status = 'VIN'
nrseq = /pws/zycie001-nrseq
WHERE nrseqli = itab_vincula-nrseqli
AND nrli = itab_vincula-nrli
AND tpli = 'S'.
* >> Início da inclusão: FORM REALIZANDO_VIN_LSI
ENDIF.
* << Fim da inclusão
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020F01
...
ENDIF.
IF NOT /pws/zycie078-nrseq IS INITIAL.
SELECT SINGLE * FROM /pws/zycit003
WHERE nrseq EQ /pws/zycie078-nrseq
AND nrseqli EQ /pws/zycie078-nrseqli.
IF sy-subrc NE 0.
PERFORM deleta_itens.
CLEAR /pws/zycie078-nrseq .
EXIT.
ELSE.
* >> Início da inclusão: FORM DESVIN_LI
LOOP AT it_zycit079 WHERE nrseq EQ space.
ENDLOOP.
IF sy-subrc NE 0.
* << Fim da inclusão
/pws/zycie078-status = 'VIN'.
* >> Início da inclusão: FORM DESVIN_LI
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
IF /pws/zycie078-status NE 'VIN'.
IF /pws/zycie078-tpli EQ 'N'.
MESSAGE i015 WITH text-161.
ELSEIF /pws/zycie078-tpli EQ 'S'.
...