Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal Remessa
Data/Hora da Publicação: 23/11/2007 00:00:00
Data/Hora Última Alteração: 09/03/2010 11:06:20
Descrição da Nota: A EXIT DO DRAFT DA NF REMESSA NÃO FUNCIONA QUANDO EXIBIMOS
Sintoma
A exit do draft da nf remessa não funciona quando exibimos
Solução
Abertura de exit na Nota fiscal remessa.
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05293 Data: 23/11/2007 Hora: 10:20:43
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05293
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00022
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
A EXIT DO DRAFT DA NF REMESSA NÃO FUNCIONA QUANDO EXIBIMOS
----------------------------------------------------------------------------------------------------
Palavras Chave:
EXIT - DRAFT - NOTA FISCAL - NF - REMESSA
DNF001
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI016I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016I01
...
ENDIF.
APPEND itab_zycit044.
APPEND itab_zycit044 TO itab_zycit044_aux.
ELSE.
MESSAGE w061 WITH text-002 itab_zycit003-ebelp
text-005 itab_zycit003-ebeln.
ENDIF.
ENDIF.
ENDMODULE.
MODULE user_command_0200 INPUT.
* >> Início da exclusão: MODULE USER_COMMAND_0200
IF sy-tcode EQ '/PWS/ZYCI016_C' OR sy-tcode EQ '/PWS/ZYCI016_A'.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0200
DATA: v_autoriza TYPE c.
IF sy-tcode EQ '/PWS/ZYCI016_C' OR
sy-tcode EQ '/PWS/ZYCI016_A'.
* << Fim da inclusão
CASE okcode.
* >> Início da exclusão: MODULE USER_COMMAND_0200
WHEN 'OBS'.
CALL SCREEN '0210' STARTING AT 2 2.
* << Fim da exclusão
WHEN 'ITENSNFR'.
CALL SCREEN '0220' STARTING AT 2 2.
* >> Início da exclusão: MODULE USER_COMMAND_0200
WHEN 'SELE'.
GET CURSOR FIELD v_campo VALUE v_valor.
IF v_campo EQ '/PWS/ZYCIE044-DOCNUM'.
SELECT SINGLE * FROM j_1bnfdoc
WHERE docnum EQ v_valor.
IF sy-subrc EQ 0.
i_docnum = v_valor.
SET PARAMETER ID 'JEF' FIELD i_docnum.
CALL TRANSACTION 'J1B3N' AND SKIP FIRST SCREEN.
ELSE.
MESSAGE i025.
ENDIF.
ELSEIF v_campo EQ '/PWS/ZYCIE044-NRSEQ' .
/pws/zycie042-nrseq = v_valor.
EXPORT /pws/zycie042-nrseq TO MEMORY ID '002'.
v_status_s = 0.
CALL TRANSACTION '/PWS/ZYCI001_E' AND SKIP FIRST SCREEN.
ELSEIF v_campo EQ '/PWS/ZYCIE044-EBELN'.
i_ebeln = v_valor.
SELECT SINGLE * FROM ekko
INTO ekko
WHERE ebeln = v_valor.
IF ekko-bstyp = 'L'.
SET PARAMETER ID 'VRT' FIELD i_ebeln.
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD 'ME33'.
IF sy-subrc EQ 0.
CALL TRANSACTION 'ME33' AND SKIP FIRST SCREEN.
ELSE.
MESSAGE e261(sf) WITH 'ME33'.
ENDIF.
ELSE.
SET PARAMETER ID 'BES' FIELD i_ebeln.
AUTHORITY-CHECK OBJECT 'S_TCODE' ID 'TCD' FIELD 'ME23N'.
IF sy-subrc EQ 0.
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
ELSE.
MESSAGE e261(sf) WITH 'ME23N'.
ENDIF.
ENDIF.
ENDIF.
* << Fim da exclusão
WHEN 'ENTE'.
IF /pws/zycie043-nfexterna NE wa_zycit048-nfext.
v_ok = 'A'.
ENDIF.
itab_zycit044-nfnum = /pws/zycie044-nfnum.
itab_zycit044-series = /pws/zycie044-series.
itab_zycit044-subser = /pws/zycie044-subser.
WHEN 'DELE'.
LOOP AT itab_zycit044
WHERE mark = 'X'.
...
...
LOOP AT itab_zycit044.
itab_zycit044-mark = 'X'.
MODIFY itab_zycit044.
ENDLOOP.
WHEN 'DESM'.
LOOP AT itab_zycit044.
itab_zycit044-mark = ' '.
MODIFY itab_zycit044.
ENDLOOP.
WHEN 'MODO'.
* >> Início da exclusão: MODULE USER_COMMAND_0200
DATA: v_autoriza TYPE c.
* << Fim da exclusão
CALL FUNCTION '/PWS/ZYGL_AUTORIZA_MODO_BATCH'
EXPORTING
codmod = 'D'
usuario = sy-uname
func = 'NFR'
IMPORTING
autoriza = v_autoriza.
IF v_autoriza = 'X'.
PERFORM modo_batch_input.
ELSE.
MESSAGE w013 WITH text-094 text-095.
ENDIF.
WHEN 'CRIARNFR'.
IF /pws/zycie043-transpnac IS INITIAL.
SELECT SINGLE * FROM /pws/zyglt217
WHERE arbgb EQ '/PWS/ZYCIM'
AND msgnr EQ '111'.
IF sy-subrc EQ 0 AND NOT /pws/zyglt217-msgtp IS INITIAL.
MESSAGE ID '/PWS/ZYCIM' TYPE /pws/zyglt217-msgtp NUMBER '111'.
* >> Início da inclusão: MODULE USER_COMMAND_0200
ENDIF.
ENDIF.
PERFORM cria_nota_fiscal_r.
WHEN 'CANCR'.
PERFORM efetua_cancelamento_r.
ENDCASE.
ELSEIF sy-tcode EQ '/PWS/ZYCI016_E'.
CASE okcode.
WHEN 'CRIARNFR'.
PERFORM cria_nota_fiscal_r.
WHEN OTHERS.
IF NOT okcode IS INITIAL.
MESSAGE s015 WITH text-006.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: MODULE USER_COMMAND_0200
ENDCASE.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: MODULE USER_COMMAND_0200
PERFORM cria_nota_fiscal_r.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0200
CASE okcode.
* << Fim da inclusão
WHEN 'DRAFT'.
GET CURSOR FIELD v_campo VALUE v_valor.
EXPORT /pws/zycie041-nrseq TO MEMORY ID '001'.
IF v_campo EQ '/PWS/ZYCIE044-DOCNUM'.
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI016'
'DNF001'.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'DNF001'.
IF itab_zyglt100-zexit_ativa NE 'X'.
SUBMIT /pws/zycir005 WITH pa_nrnot = v_valor AND RETURN.
ELSE.
SUBMIT (itab_zyglt100-programa) WITH
pa_nrnot = v_valor AND RETURN.
ENDIF.
MESSAGE i026.
ENDIF.
* >> Início da exclusão: MODULE USER_COMMAND_0200
WHEN 'CANCR'.
PERFORM efetua_cancelamento_r.
ENDCASE.
ELSEIF sy-tcode EQ '/PWS/ZYCI016_E'.
CASE okcode.
* << Fim da exclusão
WHEN 'OBS'.
CALL SCREEN '0210' STARTING AT 2 2.
* >> Início da exclusão: MODULE USER_COMMAND_0200
WHEN 'CRIARNFR'.
PERFORM cria_nota_fiscal_r.
* << Fim da exclusão
WHEN 'SELE'.
GET CURSOR FIELD v_campo VALUE v_valor.
IF v_campo EQ '/PWS/ZYCIE044-DOCNUM'.
SELECT SINGLE * FROM j_1bnfdoc
...
...
MESSAGE e261(sf) WITH 'ME33'.
ENDIF.
ELSE.
SET PARAMETER ID 'BES' FIELD i_ebeln.
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD 'ME23N'.
IF sy-subrc EQ 0.
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
ELSE.
MESSAGE e261(sf) WITH 'ME23N'.
* >> Início da exclusão: MODULE USER_COMMAND_0200
ENDIF.
* << Fim da exclusão
ENDIF.
ENDIF.
* >> Início da exclusão: MODULE USER_COMMAND_0200
ENDIF.
WHEN 'DRAFT'.
GET CURSOR FIELD v_campo VALUE v_valor.
IF v_campo EQ '/PWS/ZYCIE044-DOCNUM'.
SUBMIT /pws/zycir005 WITH pa_nrnot = v_valor AND RETURN.
ELSE.
MESSAGE i026.
* << Fim da exclusão
ENDIF.
* >> Início da exclusão: MODULE USER_COMMAND_0200
WHEN OTHERS.
IF NOT okcode IS INITIAL.
MESSAGE s015 WITH text-006.
* << Fim da exclusão
ENDIF.
ENDCASE.
* >> Início da exclusão: MODULE USER_COMMAND_0200
ENDIF.
* << Fim da exclusão
CLEAR: okcode.
ENDMODULE.
MODULE user_command_0210 INPUT.
CASE okcode.
WHEN 'ENTE'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE.
MODULE user_command_0220 INPUT.
CASE okcode.
...