Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Associação Ordem de Pagamento
Data/Hora da Publicação: 17/11/2008 00:00:00
Data/Hora Última Alteração: 18/02/2011 16:24:04
Descrição da Nota: ASSOCIAÇÃO DE ORDENS DE PAGAMENTO - PRIMEIRA TELA DE REMESSA VAZIA
Sintoma
No programa de Associação de Ordens de Pagamento - a segunda tela não deveria entrar sem antes estar
preenchida a primeira tela com os dados da remessa.
Solução
Colocar a consistencia correta para a segunda tela entrar somente quando a primeira tela estiver
preenchida com os dados corretos da remessa
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07585 Data: 17/11/2008 Hora: 10:58:00
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07585
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00007
Agrupamento : 00074
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
06029 - 00001 - 7.0 - 00004 - CB - CODE INSPECTOR E VERIFICAÇÃO AMPLIADA
----------------------------------------------------------------------------------------------------
ASSOCIAÇÃO DE ORDENS DE PAGAMENTO - PRIMEIRA TELA DE REMESSA VAZIA
----------------------------------------------------------------------------------------------------
Palavras Chave:
ASSOCIAÇÃO DE ORDENS DE PAGAMENTO - PRIMEIRA TELA DE REMESSA VAZIA
NÃO DEVERIA IR PRA SEGUNDA TELA
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCB035 0001
REPS /PWS/MZYCB035F01
REPS /PWS/MZYCB035F02
REPS /PWS/MZYCB035I01
REPS /PWS/MZYCB035O01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCB035 0001
MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0001
PROCESS BEFORE OUTPUT.
MODULE screen.
PROCESS AFTER INPUT.
CHAIN.
FIELD: /pws/zycbe227a-nrinvoic,
/pws/zycbe227a-nrparcf,
/pws/zycbe227a-gsberf.
MODULE consiste_embarque.
ENDCHAIN.
* >> Início da exclusão:
FIELD /pws/zycbe229a-nrseq MODULE consiste_remessa.
FIELD /pws/zycbe227a-dtassoc MODULE consiste_dtassoc.
* << Fim da exclusão
* >> Início da inclusão:
CHAIN.
FIELD: btn_remessa,
/pws/zycbe229a-nrseq,
/pws/zycbe227a-dtassoc MODULE consiste_campos ON CHAIN-REQUEST .
ENDCHAIN.
* << Fim da inclusão
MODULE user_command.
MODULE user_command_exit AT EXIT-COMMAND.
PROCESS ON VALUE-REQUEST.
FIELD:
/pws/zycbe227a-nrinvoic MODULE ajuda_fatura,
/pws/zycbe229a-nrseq MODULE ajuda_remessa,
/pws/zycbe227a-dtassoc MODULE ajuda_dtassoc.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB035F01
...
READ TABLE itab_drilldown
WITH TABLE KEY field = p_wa_screen-name
TRANSPORTING NO FIELDS.
IF sy-subrc = 0.
screen-intensified = '1'.
ENDIF.
ENDFORM.
FORM loop_at_screen_0001.
LOOP AT SCREEN.
IF ( btn_embarque = 'X' AND screen-group3 = 'R' ) OR
* >> Início da exclusão: FORM LOOP_AT_SCREEN_0001
( btn_remessa = 'X' AND screen-group3 = 'E' ).
* << Fim da exclusão
* >> Início da inclusão: FORM LOOP_AT_SCREEN_0001
( btn_remessa = 'X' AND screen-group3 = 'E' ) OR
( btn_embarque = 'X' AND screen-group3 = 'I' ).
* << Fim da inclusão
screen-input = '0'.
ENDIF.
IF sy-tcode = c_transacao_c.
IF screen-group3 CA 'I'.
screen-active = '0'.
screen-invisible = '1'.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
...
...
ENDIF.
UNASSIGN <fs_mark>.
ENDIF.
ENDLOOP.
ENDFORM.
FORM ajuda_fatura.
CONSTANTS:
c_tabname TYPE dfies-tabname VALUE '/PWS/ZYCBE227A',"#EC *
c_fieldname TYPE dfies-fieldname VALUE 'NRINVOIC', "#EC *
c_searchhelp_c TYPE shlpname VALUE '/PWS/ZYCBA276',
* >> Início da exclusão: FORM AJUDA_FATURA
c_searchhelp_a TYPE shlpname VALUE '/PWS/ZYCBA278'."#EC *
* << Fim da exclusão
* >> Início da inclusão: FORM AJUDA_FATURA
c_searchhelp_a TYPE shlpname VALUE '/PWS/ZYCBA278'. "#EC *
* << Fim da inclusão
DATA:
v_searchhelp(14) TYPE c,
wa_fatura TYPE t_s_fatura,
record_tab TYPE STANDARD TABLE OF seahlpres,
itab_dynpread TYPE t_t_dynpread,
v_pos1 TYPE i,
v_pos2 TYPE i,
v_pos3 TYPE i.
FIELD-SYMBOLS:
<fs_searchhelp> TYPE shlpname,
...
...
wa_fatura-nrinvoic = /pws/zycbe227a-nrinvoic.
wa_fatura-nrparcf = /pws/zycbe227a-nrparcf.
wa_fatura-gsberf = /pws/zycbe227a-gsberf.
v_dtassoc = /pws/zycbe227a-dtassoc.
PERFORM verifica_commodities
USING wa_fatura.
CHECK sy-subrc NE 0.
ELSE.
CLEAR wa_fatura.
wa_controle-processo = c_flag_remessa.
* >> Início da inclusão: FORM USER_COMMAND_0001
IF sy-tcode eq c_transacao_c .
if not /pws/zycbe229a-nrseq is initial.
* << Fim da inclusão
v_nrseq = /pws/zycbe229a-nrseq.
v_dtassoc = /pws/zycbe227a-dtassoc.
CLEAR /pws/zycbe227a.
* >> Início da inclusão: FORM USER_COMMAND_0001
else.
MESSAGE i061
WITH
'Favor entrar com'(m19) 'os dados da'(m22) 'remessa'(m06).
LEAVE TO SCREEN '0001'.
endif.
ELSEIF sy-tcode ne c_transacao_c.
IF NOT /pws/zycbe229a-nrseq IS INITIAL AND
NOT /pws/zycbe227a-dtassoc IS INITIAL.
v_nrseq = /pws/zycbe229a-nrseq.
v_dtassoc = /pws/zycbe227a-dtassoc.
CLEAR /pws/zycbe227a.
ELSE.
MESSAGE i061
WITH
'Favor entrar com'(m19) 'os dados da'(m22) 'remessa'(m06).
LEAVE TO SCREEN '0001'.
ENDIF.
endif.
* << Fim da inclusão
ENDIF.
FREE itab_zycbt228a.
PERFORM seleciona_dados
USING wa_fatura v_nrseq v_dtassoc.
IF NOT wa_zycbt017 IS INITIAL.
ASSIGN wa_zycbt017-bukrs TO <fs_bukrs>.
ELSEIF NOT wa_zycbt124 IS INITIAL.
ASSIGN wa_zycbt124-bukrs TO <fs_bukrs>.
ENDIF.
IF <fs_bukrs> IS ASSIGNED.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB035F02
...
FORM consiste_dtassoc
USING
value(p_nrinvoic) TYPE /pws/zycbe227a-nrinvoic
value(p_nrparcf) TYPE /pws/zycbe227a-nrparcf
value(p_gsberf) TYPE /pws/zycbe227a-gsberf
value(p_nrseq) TYPE /pws/zycbe229a-nrseq
value(p_dtassoc) TYPE /pws/zycbe227a-dtassoc.
DATA:
wa_fatura TYPE t_s_fatura,
v_nao_existe(1) TYPE c.
* >> Início da exclusão: FORM CONSISTE_DTASSOC
IF p_dtassoc IS INITIAL.
MESSAGE e061
WITH 'Favor entrar com'(m19) 'a data de'(m20) 'associação'(m17).
ELSE.
* << Fim da exclusão
wa_fatura-nrinvoic = p_nrinvoic.
wa_fatura-nrparcf = p_nrparcf.
wa_fatura-gsberf = p_gsberf.
PERFORM verifica_associacao
USING
wa_fatura
p_nrseq
p_dtassoc
CHANGING v_nao_existe.
IF v_nao_existe = 'X' AND ok_code <> 'NOVO'.
MESSAGE e061
WITH 'Não existe'(m16) 'associação'(m17) 'nesta data.'(m18).
* >> Início da exclusão: FORM CONSISTE_DTASSOC
ENDIF.
* << Fim da exclusão
ENDIF.
ENDFORM.
FORM consiste_embarque
USING
value(p_nrinvoic) TYPE /pws/zycbe227a-nrinvoic
value(p_nrparcf) TYPE /pws/zycbe227a-nrparcf
value(p_gsberf) TYPE /pws/zycbe227a-gsberf.
DATA:
wa_fatura TYPE t_s_fatura,
v_nao_existe(1) TYPE c.
...
...
CHANGING v_nao_existe.
IF v_nao_existe = 'X'.
MESSAGE e015
WITH 'O embarque'(m11) 'não possui saldo a associar.'(m13).
ENDIF.
ENDIF.
ENDFORM.
FORM consiste_remessa USING value(p_nrseq) TYPE /pws/zycbe229a-nrseq.
DATA
v_nao_existe(1) TYPE c.
* >> Início da exclusão: FORM CONSISTE_REMESSA
IF p_nrseq IS INITIAL.
MESSAGE e061
WITH 'Favor entrar com'(m19) 'os dados da'(m22) 'remessa'(m06).
ELSE.
* << Fim da exclusão
PERFORM verifica_remessa
USING p_nrseq
CHANGING v_nao_existe.
IF v_nao_existe = 'X'.
MESSAGE e015
WITH 'A remessa'(m10) 'não possui saldo a associar.'(m13).
* >> Início da exclusão: FORM CONSISTE_REMESSA
ENDIF.
* << Fim da exclusão
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB035I01
...
/pws/zycbe227a-gsberf.
ENDMODULE.
MODULE consiste_remessa INPUT.
CHECK btn_remessa = 'X' AND ok_code = 'ENTE'.
PERFORM consiste_remessa
USING /pws/zycbe229a-nrseq.
ENDMODULE.
MODULE atualiza_saldos INPUT.
PERFORM atualiza_saldos.
ENDMODULE.
* >> Início da inclusão:
MODULE consiste_campos INPUT.
CHECK btn_remessa = 'X' .
IF /pws/zycbe229a-nrseq IS INITIAL .
IF NOT /pws/zycbe227a-dtassoc IS INITIAL .
MESSAGE e061
WITH 'Favor entrar com'(m19) 'os dados da'(m22) 'remessa'(m06).
ENDIF.
ENDIF.
IF /pws/zycbe227a-dtassoc IS INITIAL.
IF NOT /pws/zycbe229a-nrseq IS INITIAL .
IF sy-tcode NE c_transacao_c.
MESSAGE e061
WITH 'Favor entrar com'(m19) 'a data de'(m20) 'associação'(m17).
ENDIF.
ENDIF.
ENDIF.
IF NOT /pws/zycbe227a-dtassoc IS INITIAL AND
NOT /pws/zycbe229a-nrseq IS INITIAL .
PERFORM consiste_remessa
USING /pws/zycbe229a-nrseq.
PERFORM consiste_dtassoc
USING
/pws/zycbe227a-nrinvoic
/pws/zycbe227a-nrparcf
/pws/zycbe227a-gsberf
/pws/zycbe229a-nrseq
/pws/zycbe227a-dtassoc.
ENDIF.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB035O01