CE PLUS - Nota 013750

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.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

PREENCHIMENTO AUTOMATICO DA QUANTIDADE DOS ITENS NA NF REMESSA

AO CRIAR NF GLOBAL E IMPRIMIR, NÃO GERA NFNUM PARA VISUALIZAÇÃO

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'.

...