Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Embarque
Data/Hora da Publicação: 13/09/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 15:16:33
Descrição da Nota: EMBARQUE - REGIME 14 - SELEÇÃO DA
Sintoma
Ao selecionar vários lotes de itens diferentes, o programa exibe Itens repetidos e o saldo errado no
Embarque.
Solução
O embarque de nacionalização, regime 14, deverá juntar todas as quantidades do mesmo pedido/item
quando selecionar vários lotes de vários itens.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04717 Data: 13/09/2007 Hora: 17:51:59
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04717
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00012
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01468 - 00001 - 6.0 - 00023 - CONTROLE DE SALDO DA DA POR LOTE
04023 - 00002 - 7.0 - 00001 - EMBARQUE: VINCULAÇÃO DE DA
04611 - 00003 - 7.0 - 00002 - EMBARQUE DE NACIONALIZAÇÃO - REGIME 14
----------------------------------------------------------------------------------------------------
EMBARQUE - REGIME 14 - SELEÇÃO DA
----------------------------------------------------------------------------------------------------
Palavras Chave:
LOTE; SALDO; SELEÇÃO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI001F03
REPS /PWS/MZYCI001TOP
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001F03
...
wa_cols-screen-input = '0'.
ELSE.
wa_cols-screen-input = '1'.
ENDIF.
ENDIF.
MODIFY tc_ped-cols FROM wa_cols.
ENDLOOP.
ENDIF.
ENDFORM.
FORM selecionar_da.
* >> Início da inclusão: FORM SELECIONAR_DA
LOOP AT itab_zycit467.
itab_zycit467_aux1 = itab_zycit467.
APPEND itab_zycit467_aux1.
ENDLOOP.
* << Fim da inclusão
CLEAR itab_zycit467.
REFRESH itab_zycit467.
IF NOT itab_zycit003[] IS INITIAL.
IF NOT so_nrseq IS INITIAL.
LOOP AT itab_zycit003 WHERE
nrseqda NE so_nrseq+3.
ENDLOOP.
IF sy-subrc IS INITIAL.
MESSAGE s015 WITH text-254.
EXIT.
...
...
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
DELETE itab_da WHERE qtd_lote IS initial.
DESCRIBE TABLE itab_da LINES v_line.
IF itab_da[] IS INITIAL.
MESSAGE s015 WITH text-259 text-264.
EXIT.
ENDIF.
* >> Início da inclusão: FORM SELECIONAR_DA
LOOP AT itab_da.
v_tabix = sy-tabix.
LOOP AT itab_zycit467_aux1 WHERE ebeln EQ itab_da-ebeln
AND ebelp EQ itab_da-ebelp
AND nrseqlote EQ itab_da-nrseqlote.
v_saldo = itab_da-qtd_lote - itab_zycit467_aux1-qtd_nac.
IF v_saldo LE 0.
DELETE itab_da INDEX v_tabix.
ELSE.
itab_da-qtd_lote = v_saldo.
MODIFY itab_da INDEX v_tabix.
ENDIF.
ENDLOOP.
ENDLOOP.
* << Fim da inclusão
IF v_manual EQ 'X'.
v_caller = 'SELECIONAR_RC'.
ELSE.
v_caller = 'SELECIONAR_DA'.
ENDIF.
...
...
itab_zycit443-adicao TO itab_zycit003-adicao ,
/pws/zycit442-nrdi TO itab_zycit003-nrdi .
IF NOT itab_zycit443-qtd_da IS INITIAL.
itab_zycit003-ntgew = ( itab_zycit443-ntgew /
itab_zycit443-qtd_da ) * itab_zycit003-qtd_iten.
ENDIF.
itab_zycit003-sld_da = itab_zycit443-qtd_sld =
itab_zycit443-qtd_da - itab_zycit443-qtd_util -
itab_zycit443-qtd_iten.
APPEND itab_zycit003.
ENDIF.
ENDLOOP.
ENDIF.
* >> Início da inclusão: FORM SELECIONAR_ITENS_DA
DATA: BEGIN OF itab_zycit003_aux3 OCCURS 0,
ebeln LIKE /pws/zycit003-ebeln,
ebelp LIKE /pws/zycit003-ebelp,
qtd_iten LIKE /pws/zycit003-qtd_iten,
ntgew LIKE /pws/zycit003-ntgew,
sld_da LIKE /pws/zycit003-qtd_iten,
END OF itab_zycit003_aux3.
DATA: v_ntgew LIKE /pws/zycit003-ntgew.
LOOP AT itab_zycit003.
itab_zycit003_aux3-ebeln = itab_zycit003-ebeln.
itab_zycit003_aux3-ebelp = itab_zycit003-ebelp.
itab_zycit003_aux3-qtd_iten = itab_zycit003-qtd_iten.
itab_zycit003_aux3-ntgew = itab_zycit003-ntgew.
COLLECT itab_zycit003_aux3.
ENDLOOP.
LOOP AT itab_zycit443.
CLEAR itab_zycit003_aux3.
READ TABLE itab_zycit003_aux3 WITH KEY
ebeln = itab_zycit443-ebeln
ebelp = itab_zycit443-ebelp.
IF sy-subrc IS INITIAL.
v_tabix = sy-tabix.
itab_zycit003_aux3-sld_da = itab_zycit443-qtd_da -
itab_zycit443-qtd_util -
itab_zycit003_aux3-qtd_iten.
IF itab_zycit003_aux3-sld_da > itab_zycit443-qtd_da.
MESSAGE i015 WITH text-208.
EXIT.
ENDIF.
MODIFY itab_zycit003_aux3 INDEX v_tabix.
ENDIF.
ENDLOOP.
SORT itab_zycit003 BY ebeln ebelp.
DELETE ADJACENT DUPLICATES FROM itab_zycit003
COMPARING ebeln
ebelp.
LOOP AT itab_zycit003.
v_tabix = sy-tabix.
CLEAR itab_zycit003_aux3.
READ TABLE itab_zycit003_aux3 WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
itab_zycit003-qtd_iten = itab_zycit003_aux3-qtd_iten.
itab_zycit003-ntgew = itab_zycit003_aux3-ntgew.
itab_zycit003-sld_da = itab_zycit003_aux3-sld_da.
MODIFY itab_zycit003 INDEX v_tabix.
ENDLOOP.
* << Fim da inclusão
CLEAR itab_nac.
REFRESH itab_nac.
MOVE itab_da[] TO itab_da_aux[].
CLEAR itab_da. REFRESH itab_da.
LOOP AT itab_da_aux.
DELETE itab_zycit467_del WHERE nrseqda EQ itab_da_aux-nrseqda
AND nrseqlote EQ itab_da_aux-nrseqlote
AND nrseq EQ /pws/zycie001-nrseq
AND ebeln EQ itab_da_aux-ebeln
AND ebelp EQ itab_da_aux-ebelp.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001TOP
...
INCLUDE STRUCTURE /pws/zyglt100.
DATA: END OF itab_zyglt100.
DATA: itab_zycit094 LIKE /pws/zycit094 OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF itab_zycit031 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit031.
DATA: END OF itab_zycit031.
DATA: BEGIN OF it_zycbe033_aux OCCURS 0.
INCLUDE STRUCTURE it_zycbe033.
DATA: belnr_f02 LIKE /pws/zycit466-belnr_f02,
END OF it_zycbe033_aux.
* >> Início da inclusão:
DATA: itab_zycit467_aux1 LIKE itab_zycit467 OCCURS 0
WITH HEADER LINE.
* << Fim da inclusão
DATA: BEGIN OF wa093,
bukrs LIKE /pws/zycie093-bukrs,
meiotransp LIKE /pws/zycie093-meiotransp,
paemb LIKE /pws/zycie093-paemb ,
paispae LIKE /pws/zycie093-paispae ,
padest LIKE /pws/zycie093-padest ,
paispad LIKE /pws/zycie093-paispad ,
embarca LIKE /pws/zycie093-embarca ,
END OF wa093.
DATA: wa_zycit001 LIKE /pws/zycie001,
...