Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal
Data/Hora da Publicação: 26/02/2014 00:00:00
Data/Hora Última Alteração: 20/06/2014 09:26:34
Descrição da Nota: AJUSTE DE PERFORMANCE. NOTA FISCAL(LATAN FI)
Sintoma
Ajuste para melhoria de performance no programa de nota fiscal para processos Latan por FI.
Solução
Ajuste para melhoria de performance no programa de nota fiscal para processos Latan por FI.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 13750 Data: 26/02/2014 Hora: 09:19:00
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 13750
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 9.0
Pacote : 00007
Agrupamento : 00170
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02360 - 00001 - 6.0 - 00025 - AO CRIAR NF GLOBAL E IMPRIMIR, NÃO GERA NFNUM PARA VISUALIZAÇÃO
05780 - 00002 - 7.0 - 00004 - PREENCHIMENTO AUTOMATICO DA QUANTIDADE DOS ITENS NA NF REMESSA
----------------------------------------------------------------------------------------------------
AJUSTE DE PERFORMANCE. NOTA FISCAL(LATAN FI)
----------------------------------------------------------------------------------------------------
Palavras Chave:
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI016 0100
REPS /PWS/MZYCI016F02
REPS /PWS/MZYCI016O01
REPS /PWS/MZYCI016I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI016 0100
MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0100
...
PROCESS AFTER INPUT.
LOOP AT itab_zycit042.
MODULE : altera_itab_zycit042,
exit_tela.
ENDLOOP.
MODULE:
user_command_0100,
* >> Início da exclusão:
atualiza_itab_zycit042,
* << Fim da exclusão
user_command_exit AT EXIT-COMMAND.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F02
...
* >> Início da inclusão:
FORM atual_zycit042.
DATA: BEGIN OF it_filtro OCCURS 0,
docnum TYPE j_1bnfdoc-docnum,
END OF it_filtro.
READ TABLE itab_zycit042 INDEX 1.
CHECK itab_zycit042-docnum NE '9999999999' AND
itab_zycit042-docnum NE '8888888888'.
LOOP AT itab_zycit042 WHERE docnum NE space.
CHECK itab_zycit042-nfnum IS INITIAL AND
itab_zycit042-series IS INITIAL AND
itab_zycit042-subser IS INITIAL.
it_filtro-docnum = itab_zycit042-docnum.
COLLECT it_filtro.
ENDLOOP.
LOOP AT it_filtro .
itab_zycit042-nfglobal = /pws/zycie041-nfglobal.
itab_zycit042-processado = space.
CALL FUNCTION '/PWS/ZYCI_BUSCA_NFNUM'
EXPORTING
docnum = it_filtro-docnum
IMPORTING
nfnum = itab_zycit042-nfnum
series = itab_zycit042-series
subser = itab_zycit042-subser.
IF itab_zycit042-nfnum IS INITIAL AND
itab_zycit042-series IS INITIAL AND
itab_zycit042-subser IS INITIAL.
CONTINUE.
ENDIF.
MODIFY itab_zycit042
TRANSPORTING nfnum series subser processado nfglobal
WHERE docnum EQ it_filtro-docnum.
itab_zycit041-nfnum = itab_zycit042-nfnum.
itab_zycit041-series = itab_zycit042-series.
itab_zycit041-subser = itab_zycit042-subser.
MODIFY itab_zycit041
TRANSPORTING nfnum series subser
WHERE docnum EQ it_filtro-docnum.
UPDATE /pws/zycit042 SET nfnum = itab_zycit042-nfnum
series = itab_zycit042-series
subser = itab_zycit042-subser
WHERE nrseqnf EQ /pws/zycie041-nrseq
AND docnum EQ it_filtro-docnum.
UPDATE /pws/zycit041 SET nfnum = itab_zycit042-nfnum
series = itab_zycit042-series
subser = itab_zycit042-subser
WHERE docnum = it_filtro-docnum
AND nrseq = /pws/zycie041-nrseq.
MOVE-CORRESPONDING itab_zycit041 TO /pws/zycit041.
PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'
sy-tcode '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.
LOOP AT itab_zycit042 where docnum = it_filtro-docnum.
MOVE-CORRESPONDING itab_zycit042 TO /pws/zycit042.
PERFORM carrega_log USING '/PWS/ZYCIT042' 'U'
sy-tcode '/PWS/SAPMZYCI016' /pws/zycit042-nrseqnf.
ENDLOOP.
ENDLOOP.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016O01
...
IF /pws/zycie041-nfglobal IS INITIAL.
PERFORM find_nrseqc.
ENDIF.
SELECT SINGLE * FROM t001
WHERE bukrs EQ /pws/zycie041-bukrs.
SELECT SINGLE * FROM j_1bbranch
WHERE bukrs = /pws/zycie041-bukrs
AND branch = /pws/zycit085-j_1bbranch.
SELECT SINGLE * FROM adrc
WHERE addrnumber = j_1bbranch-adrnr.
* >> Início da inclusão: MODULE LOAD_DATA_0100
PERFORM atual_zycit042.
* << Fim da inclusão
PERFORM seleciona_itens_nfg.
PERFORM seleciona_despesas.
SORT itab_zycit042 BY tpnf j_1bbranch lifnr nrseq ebeln ebelp.
MOVE itab_zycit042[] TO itab_zycit042_aux[].
v_status_s = 0.
ENDIF.
ELSEIF sy-tcode EQ '/PWS/ZYCI016_E'.
SELECT * FROM /pws/zycit041 INTO TABLE itab_zycit041
WHERE nrseq IN itab_nrseqdi
AND cancel EQ space.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016I01
...
itab_zycit044-saldo = itab_zycit044-saldo +
( itab_zycit044_aux-qtd_item - itab_zycit044-qtd_item ).
ENDIF.
itab_zycit044_aux = itab_zycit044.
MODIFY itab_zycit044_aux TRANSPORTING qtd_item saldo noinitial
WHERE ebeln = itab_zycit044-ebeln
AND ebelp = itab_zycit044-ebelp.
itab_zycit044-nrseqnf = /pws/zycie043-nrseq.
itab_zycit044-nfglobal = /pws/zycie043-nfglobal.
itab_zycit044-nfremessa = /pws/zycie043-nfremessa.
* >> Início da exclusão: MODULE ATUALIZA_ITAB_ZYCIT044
SELECT SINGLE * FROM j_1bnfdoc
WHERE docnum = itab_zycit044-docnum.
IF sy-subrc EQ 0.
* << Fim da exclusão
* >> Início da inclusão: MODULE ATUALIZA_ITAB_ZYCIT044
IF itab_zycit044-docnum NE '9999999999' AND
itab_zycit044-docnum NE '8888888888' AND
itab_zycit044-docnum NE space AND
itab_zycit044-nfnum IS INITIAL AND
itab_zycit044-series IS INITIAL AND
itab_zycit044-subser IS INITIAL.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYCI_BUSCA_NFNUM'
EXPORTING
docnum = itab_zycit044-docnum
IMPORTING
nfnum = itab_zycit044-nfnum
series = itab_zycit044-series
subser = itab_zycit044-subser
.
ENDIF.
IF /pws/zycie043-nfexterna = 'X'.
...