CE PLUS - Nota 008846

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

Data/Hora da Publicação: 18/08/2009 00:00:00

Data/Hora Última Alteração: 23/02/2011 09:20:39

Descrição da Nota: NECESSÁRIO PONTO DE EXIT AO CRIAR NF DE CONTINGÊNCIA

Sintoma

não será atendido no produto

 

 

Solução

abertura de exit

exit NFC006 no programa /PWS/SAPMZYCI029 e DNF019 no programa /PWS/SAPMZYCI016

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

CRIADA MELHORIA DE NF DE CONTINGÊNCIA.

ESTÁ RECLAMANDO DE RECEBIMENTO QUANDO NÃO HÁ NF CRIADA.

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 08846 Data: 18/08/2009 Hora: 10:20:14

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 08846

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00010

Agrupamento              : 00110

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

08787  - 00001 - 7.0    - 00010  - CRIADA MELHORIA DE NF DE CONTINGÊNCIA.

08820  - 00002 - 7.0    - 00010  - ESTÁ RECLAMANDO DE RECEBIMENTO QUANDO NÃO HÁ NF CRIADA.

----------------------------------------------------------------------------------------------------

NECESSÁRIO PONTO DE EXIT AO CRIAR NF DE CONTINGÊNCIA

----------------------------------------------------------------------------------------------------

Palavras Chave:

PONTO DE EXIT - ZYGLT100 - CONTINGENCIA - NFE - NF ELETRONICA

NF-E

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/MZYCI016F01

REPS /PWS/MZYCI029F01

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

 

FORM nf_contingencia USING v_valor.

  DATA: wa_zycie041 TYPE /pws/zycie041,

        wa_zycie042 TYPE /pws/zycie042,

        wa_zycie043 TYPE /pws/zycie043.

* >> Início da inclusão: FORM NF_CONTINGENCIA

  e_subrc = 0.

  REFRESH itab_zyglt100.

  PERFORM verifica_exit USING 'D'

                      '/PWS/SAPMZYCI016'

                      'DNF019'.

  CLEAR itab_zyglt100 .

  READ TABLE itab_zyglt100 WITH KEY

        zexit = 'DNF019'  BINARY SEARCH.

* << Fim da inclusão

  IF NOT v_conting IS INITIAL.

    SELECT SINGLE * FROM j_1bnfdoc

        WHERE docnum EQ v_valor.

    SELECT SINGLE * FROM j_1bnfdoc

    INTO wa_j1bnfdoc

        WHERE docnum EQ v_conting

        AND   cancel EQ space .

    IF sy-subrc EQ 0.

      IF v_campo EQ '/PWS/ZYCIE042-DOCNUM'.

* >> Início da inclusão: FORM NF_CONTINGENCIA

        IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

          PERFORM (itab_zyglt100-formulario) IN PROGRAM

            (itab_zyglt100-programa) IF FOUND .

        ENDIF.

        IF e_subrc EQ 0.

* << Fim da inclusão

        PERFORM consiste_msg.

        MOVE :  /pws/zycie041 TO wa_zycie041.

        DELETE FROM /pws/zycit041

          WHERE nrseq    = /pws/zycie041-nrseq

            AND nfglobal = /pws/zycie041-nfglobal

            AND docnum   = v_valor.

        MOVE  v_conting TO wa_zycie041-docnum.

        LOOP AT itab_zycit042 WHERE docnum EQ v_valor.

          IF itab_zycit042-docnum_cont IS INITIAL.

            MOVE: itab_zycit042-docnum TO itab_zycit042-docnum_cont,

...

 

...

          DELETE FROM /pws/zycit036

            WHERE nrseq   = itab_zycit036-nrseq

             AND ebeln    = itab_zycit036-ebeln

             AND ebelp    = itab_zycit036-ebelp

             AND nrseqori = itab_zycit036-nrseqori

             AND origem   = 'NF'.

          itab_zycit036-nrseqori = v_conting.

          MODIFY itab_zycit036.

        ENDLOOP.

        MODIFY /pws/zycit036 FROM TABLE itab_zycit036[].

* >> Início da inclusão: FORM NF_CONTINGENCIA

        ENDIF.

* << Fim da inclusão

      ELSEIF v_campo EQ '/PWS/ZYCIE044-DOCNUM'.

        PERFORM consiste_msg.

* >> Início da inclusão: FORM NF_CONTINGENCIA

        IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

          PERFORM (itab_zyglt100-formulario) IN PROGRAM

            (itab_zyglt100-programa) IF FOUND .

        ENDIF.

        IF e_subrc EQ 0.

* << Fim da inclusão

        MOVE :  /pws/zycie043 TO wa_zycie043.

...

 

...

            WHERE nrseqnf   = itab_zycit044-nrseqnf

              AND nrseq     = itab_zycit044-nrseq

              AND nfglobal  = itab_zycit044-nfglobal

              AND nfremessa = itab_zycit044-nfremessa

              AND ebeln     = itab_zycit044-ebeln

              AND ebelp     = itab_zycit044-ebelp.

        ENDLOOP.

        MODIFY :

             /pws/zycit043 FROM wa_zycie043 ,

             /pws/zycit044 FROM TABLE itab_zycit044[] .

* >> Início da inclusão: FORM NF_CONTINGENCIA

        ENDIF.

* << Fim da inclusão

      ENDIF.

      COMMIT WORK.

    ELSE.

      MESSAGE i015 WITH text-112.

    ENDIF.

  ENDIF.

ENDFORM.

 

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI029F01

 

...

 

FORM nf_contingencia USING    v_valor.

  TABLES /pws/zyglt217.

  DATA wa_j1bnfdoc TYPE j_1bnfdoc.

  DATA: wa_zycie265 TYPE /pws/zycie265.

* >> Início da inclusão: FORM NF_CONTINGENCIA

  e_subrc = 0.

  REFRESH itab_zyglt100.

  PERFORM verifica_exit USING 'D'

                      '/PWS/SAPMZYCI029'

                      'NFC006'.

  CLEAR itab_zyglt100 .

  READ TABLE itab_zyglt100 WITH KEY

        zexit = 'NFC006' biNARY SEARCH.

* << Fim da inclusão

  IF NOT v_conting IS INITIAL.

    SELECT SINGLE * FROM j_1bnfdoc

        WHERE docnum EQ v_valor.

    SELECT SINGLE * FROM j_1bnfdoc

    INTO wa_j1bnfdoc

        WHERE docnum EQ v_conting.

    IF sy-subrc EQ 0.

* >> Início da inclusão: FORM NF_CONTINGENCIA

        IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

          PERFORM (itab_zyglt100-formulario) IN PROGRAM

            (itab_zyglt100-programa) IF FOUND .

        ENDIF.

        IF e_subrc EQ 0.

* << Fim da inclusão

      LOOP AT itab_zycit265_c WHERE docnum EQ v_valor

              AND docnum_cont NE space.

      ENDLOOP.

      IF sy-subrc EQ 0.

        v_message = 'X' .

        EXIT.

      ENDIF.

      IF v_conting LE v_valor .

        SELECT SINGLE * FROM /pws/zyglt217

          WHERE arbgb EQ '/PWS/ZYCIM'

...

 

...

          DELETE FROM /pws/zycit265

            WHERE nrseqnf    = itab_zycit265_C-nrseqnf

              AND nrseqc     = itab_zycit265_c-nrseqc

              AND nrseq      = itab_zycit265_C-nrseq

              AND ebeln      = itab_zycit265_C-ebeln

              AND ebelp      = itab_zycit265_C-ebelp.

          MODIFY itab_zycit265_c.

      ENDLOOP.

      MODIFY  /pws/zycit265 FROM TABLE itab_zycit265_c[] .

      COMMIT WORK.

* >> Início da inclusão: FORM NF_CONTINGENCIA

        ENDIF.

* << Fim da inclusão

    ELSE.

      MESSAGE i015 WITH text-044.

    ENDIF.

  ENDIF.

ENDFORM.