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
7.0
Produto:
Nota
Descrição
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'.
...