Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Associação Ordem de Pagamento
Data/Hora da Publicação: 21/08/2007 00:00:00
Data/Hora Última Alteração: 10/03/2010 16:08:12
Descrição da Nota: ASSOCIAÇÃO ORDEM PAGAMENTO - MATCHCODE - FILTRO POR EMISSOR ORDEM
Sintoma
No programa de associação de ordem de pagamento no embarque/remessa, quando selecionamos o "Nº
Ordem" pelo Match code o sistema exibe todas as ordens de pagamentos, independentemente da empresa
do embarque/remessa. Nas restrições da seleção temos o campo "Emissor da ordem", verificar se é
possível quando abrir o match code, já exibir utilizando o filtro "Emissor da ordem" = cliente da
fatura como padrão.
Solução
Inclusão de tratamento na função de ajuda de pesquisa, para carregar somente com emissor da ordem
igual ao cliente do embarque.
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04465 Data: 21/08/2007 Hora: 10:25:44
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04465
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00008
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
ASSOCIAÇÃO ORDEM PAGAMENTO - MATCHCODE - FILTRO POR EMISSOR ORDEM
----------------------------------------------------------------------------------------------------
Palavras Chave:
ASSOCIAÇÃO ORDEM PAGAMENTO MATCHCODE FILTRO POR EMISSOR ORDEM
CLIENTE AJUDA DE PESQUISA /PWS/ZYCBA277
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCBA277
REPS /PWS/MZYCB035F01
REPS /PWS/MZYCB035TOP
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCBA277
...
shlp.
TYPES:
BEGIN OF t_s_ordem,
nrseq TYPE /pws/zycbv217-nrseq,
sld_associar TYPE /pws/zycbv217-sld_associar,
END OF t_s_ordem,
t_t_ordem TYPE STANDARD TABLE OF t_s_ordem
WITH NON-UNIQUE KEY nrseq.
DATA:
itab_ordem TYPE t_t_ordem,
* >> Início da inclusão: FUNCTION /PWS/ZYCBA277
v_nr_ordem TYPE STRING,
* << Fim da inclusão
v_fieldname TYPE dfies-lfieldname.
FIELD-SYMBOLS:
<fs_shlp> LIKE LINE OF shlp_tab,
<fs_fielddescr> LIKE LINE OF shlp_tab-fielddescr.
IF callcontrol-step = 'DISP'.
READ TABLE shlp_tab INDEX 1 ASSIGNING <fs_shlp>.
CHECK <fs_shlp> IS ASSIGNED.
LOOP AT <fs_shlp>-fielddescr ASSIGNING <fs_fielddescr>.
CHECK: <fs_fielddescr>-fieldname = 'NRSEQ' OR
<fs_fielddescr>-fieldname = 'SLD_ASSOCIAR'.
...
...
IF sy-subrc <> 0.
EXIT.
ENDIF.
ENDLOOP.
UNASSIGN: <fs_shlp>, <fs_fielddescr>.
LOOP AT itab_ordem
TRANSPORTING NO FIELDS
WHERE sld_associar <= 0.
DELETE record_tab INDEX sy-tabix.
DELETE itab_ordem.
* >> Início da inclusão: FUNCTION /PWS/ZYCBA277
ENDLOOP.
IMPORT v_nr_ordem FROM MEMORY ID '500'.
IF NOT v_nr_ordem IS INITIAL .
LOOP AT record_tab.
IF record_tab+29(10) <> v_nr_ordem.
DELETE record_Tab.
ENDIF.
* << Fim da inclusão
ENDLOOP.
* >> Início da inclusão: FUNCTION /PWS/ZYCBA277
FREE MEMORY ID '500'.
ENDIF.
* << Fim da inclusão
ENDIF.
ENDFUNCTION.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB035F01
...
itab_result TYPE STANDARD TABLE OF ddshretval
WITH NON-UNIQUE DEFAULT KEY,
itab_dynpread TYPE t_t_dynpread,
wa_dynpread LIKE LINE OF itab_dynpread,
itab_nrseq TYPE t_t_ordem_chave,
wa_nrseq LIKE LINE OF itab_nrseq,
v_conv_exit(10) TYPE c,
v_linha TYPE i.
FIELD-SYMBOLS
<fs_result> LIKE LINE OF itab_result.
* >> Início da inclusão: FORM AJUDA_ORDEM_VENDA
v_nr_ordem = /PWS/ZYCBE227A-KUNAG.
EXPORT v_nr_ordem TO MEMORY ID '500'.
* << Fim da inclusão
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
tabname = c_tabname
fieldname = c_fieldname
searchhelp = c_searchhelp
shlpparam = c_shlpparam
multiple_choice = 'X'
TABLES
return_tab = itab_result
EXCEPTIONS
field_not_found = 1
no_help_for_field = 2
inconsistent_help = 3
no_values_found = 4
OTHERS = 5.
IF sy-subrc <> 0.
EXIT.
ENDIF.
* >> Início da inclusão: FORM AJUDA_ORDEM_VENDA
FREE MEMORY ID '500'.
* << Fim da inclusão
DESCRIBE FIELD /pws/zycbe228a-nrseq EDIT MASK v_conv_exit.
LOOP AT itab_result ASSIGNING <fs_result>.
CHECK <fs_result>-fieldname = c_nrseq.
wa_nrseq = <fs_result>-fieldval.
IF NOT v_conv_exit IS INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = wa_nrseq
IMPORTING
output = wa_nrseq.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB035TOP
...
WITH NON-UNIQUE DEFAULT KEY,
t_t_dynpread TYPE STANDARD TABLE OF dynpread
WITH NON-UNIQUE DEFAULT KEY.
TABLES:
/pws/zycbe227a,
/pws/zycbe228a,
/pws/zycbe229a.
DATA:
btn_embarque(1) TYPE c VALUE 'X',
btn_remessa(1) TYPE c VALUE space,
* >> Início da inclusão:
v_nr_ordem TYPE STRING,
* << Fim da inclusão
ok_code TYPE sy-ucomm.
CONTROLS:
tc_ordens TYPE TABLEVIEW USING SCREEN 0102.
DATA:
itab_tabstrip TYPE t_t_tabstrip,
itab_tbcontrol TYPE t_t_tbcontrol,
itab_drilldown TYPE t_t_drilldown,
itab_mensagem TYPE t_t_mensagem,
wa_controle TYPE t_s_controle,
wa_tabstrip LIKE LINE OF itab_tabstrip.