CE PLUS - Nota 004228

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

Data/Hora da Publicação: 23/07/2007 00:00:00

Data/Hora Última Alteração: 23/02/2011 09:14:29

Descrição da Nota: NECESSÁRIO CHAMADA DE EXIT AO CRIAR ITENS DA NOTA FISCAL GLOBAL.

Sintoma

necessário chamada de exit ao criar itens da nota fiscal global.

 

 

Solução

criada a exit

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

NO MOMENTO QUE É GERADO A NF, NÃO GERA A NOTA NEM VAI PARA OS ITENS

Informações Complementares

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

Nota Número 04228 Data: 23/07/2007 Hora: 08:54:16

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

 

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

Nota Número              : 04228

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00002

Agrupamento              : 00004

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

Referência às notas relacionadas:

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

 

03061  - 00001 - 6.0    - 00026  - NO MOMENTO QUE É GERADO A NF, NÃO GERA A NOTA NEM VAI PARA OS ITE

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

NECESSÁRIO CHAMADA DE EXIT AO CRIAR ITENS DA NOTA FISCAL GLOBAL.

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

Palavras Chave:

EXIT - /PWS/ZYGLT100 - NOTA FISCAL

 

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

Objetos da nota:

REPS /PWS/MZYCI016F01

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

  IF wa_zycit048-sepnf = 'X'.

    SORT itab_zycit042_aux BY tpnf j_1bbranch lifnr nrseq ebeln ebelp.

    SORT itab_zycit042     BY tpnf j_1bbranch lifnr nrseq ebeln ebelp.

    CLEAR v_tpnf.

    LOOP AT itab_zycit042_aux WHERE ( docnum IS initial        OR

                                   docnum = '9999999999'       OR

                                   docnum = '8888888888' )     AND

                                   NOT ebeln  IS initial       AND

                                   mark   =  'X'.

      CLEAR: v_counter.

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

      REFRESH itab_zyglt100.

      PERFORM verifica_exit USING 'D'

                          '/PWS/SAPMZYCI016'

                          ' '.

      e_subrc = '0'.

      CLEAR itab_zyglt100 .

      READ TABLE itab_zyglt100 WITH KEY

            zexit = 'DNF013'  BINARY SEARCH.

      IF  NOT itab_zyglt100-zexit_ativa IS INITIAL.

        PERFORM (itab_zyglt100-formulario) IN PROGRAM

           (itab_zyglt100-programa) IF FOUND.

      ELSE.

* << Fim da inclusão

      IF itab_zycit042_aux-tpnf NE v_tpnf OR

         itab_zycit042_aux-j_1bbranch NE v_j_1bbranch OR

         itab_zycit042_aux-lifnr NE v_lifnr.

        v_tpnf = itab_zycit042_aux-tpnf.

        v_j_1bbranch = itab_zycit042_aux-j_1bbranch.

        v_lifnr = itab_zycit042_aux-lifnr.

        PERFORM clear_date_batch.

        PERFORM cabecalho_nf.

        IF ( v_resp EQ 'S' ) OR

           ( v_libera = 'X' AND v_modalidade = '99' ).

...

 

...

            ENDIF.

            v_qtditem = wa_zycit048-qtd_item.

            IF v_counter >= v_qtditem.

              v_tpnf = 0.

            ENDIF.

          ENDIF.

        ELSE.

          CALL SCREEN '0050'.

        ENDIF.

      ENDIF.

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

      ENDIF.

* << Fim da inclusão

    ENDLOOP.

    IF sy-subrc NE 0.

      MESSAGE e015 WITH text-043.

    ENDIF.

  ELSE.

    LOOP AT itab_zycit042_aux WHERE ( docnum IS initial OR

                            docnum = '9999999999' OR

                            docnum = '8888888888' ) AND

                            NOT ebeln  IS initial AND

                            processado IS initial AND

                                mark   EQ 'X'.

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

      REFRESH itab_zyglt100.

      PERFORM verifica_exit USING 'D'

                          '/PWS/SAPMZYCI016'

                          ' '.

      e_subrc = '0'.

      CLEAR itab_zyglt100 .

      READ TABLE itab_zyglt100 WITH KEY

            zexit = 'DNF013'  BINARY SEARCH.

      CLEAR itab_zyglt100 .

      IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

        PERFORM (itab_zyglt100-formulario) IN PROGRAM

           (itab_zyglt100-programa) IF FOUND.

      ELSE.

* << Fim da inclusão

      IF v_lifnr NE itab_zycit042_aux-lifnr OR

         v_j_1bbranch NE itab_zycit042-j_1bbranch.

        v_j_1bbranch = itab_zycit042_aux-j_1bbranch.

        v_lifnr = itab_zycit042_aux-lifnr.

        CLEAR v_counter.

        PERFORM clear_date_batch.

        PERFORM cabecalho_nf.

        IF ( v_resp EQ 'S' ) OR

           ( v_libera = 'X' AND v_modalidade = '99' ).

          SELECT SINGLE * FROM /pws/zycit093

...

 

...

                        AND processado = 'X'.

                ADD 1 TO v_contitm.

                itab_zycit042-itmnum = v_contitm * 10.

                MODIFY itab_zycit042 INDEX sy-tabix.

                PERFORM atualiza_dados_nota.

              ENDLOOP.

            ENDIF.

          ENDIF.

        ELSE.

          CALL SCREEN '0050'.

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

          ENDIF.

* << Fim da inclusão

        ENDIF.

      ENDIF.

    ENDLOOP.

  ENDIF.

  MODIFY /pws/zycit053 FROM TABLE itab_zycit053_s.

  COMMIT WORK.

 IF v_modalidade = '99' OR ( t001-land1 EQ 'AR' OR t001-land1 EQ 'CL' ).

    LOOP AT itab_zycit042 WHERE docnum IS initial OR

                                docnum = '9999999999' OR

                                docnum = '8888888888'.

...