Módulo: CÂMBIO FINANCEIRO
Funcionalidade: SISCOSERV
Data/Hora da Publicação: 22/05/2014 09:50:56
Data/Hora Última Alteração: 22/05/2014 09:50:56
Descrição da Nota: SISCOSERV - ASSOCIAÇÃO - AUTOMATIZAR PAGAMENTO DO PEDIDO DE COMPRA
Sintoma
AUTOMATIZAÇÃO DA BUSCA DO DOCUMENTO CONTÁBIL DO PAGAMENTO DA FATURA NO MOMENTO DA ASSOCIAÇÃO DO
SISCOSERV
Solução
AUTOMATIZAÇÃO DA BUSCA DO DOCUMENTO CONTÁBIL DO PAGAMENTO DA FATURA NO MOMENTO DA ASSOCIAÇÃO DO
SISCOSERV
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 13310 Data: 10/10/2013 Hora: 09:59:34
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 13310
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 9.0
Pacote : 00006
Agrupamento : 00165
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
13109 - 00001 - 9.0 - 00005 - SISCOSERV - NBS
13149 - 00002 - 9.0 - 00005 - SISCOERV - ASSOCIAÇÃO SISCOSERV
13178 - 00003 - 9.0 - 00005 - SISCOSERV - ASSOCIAÇÃO SISCOSERV
13194 - 00004 - 9.0 - 00005 - SISCOSERV - ROBÔ - MELHORIAS PARA TRATAR RE-ENVIO AUTOMÁTICO DO A
----------------------------------------------------------------------------------------------------
SISCOSERV - ASSOCIAÇÃO - AUTOMATIZAR PAGAMENTO DO PEDIDO DE COMPRA
----------------------------------------------------------------------------------------------------
Palavras Chave:
SISCOSERV - ASSOCIAÇÃO - AUTOMATIZAR PAGAMENTO DO PEDIDO DE COMPRA
----------------------------------------------------------------------------------------------------
Objetos da nota:
TABD /PWS/ZYCAT031
DYNP /PWS/SAPMZYCA011 0101
REPS /PWS/MZYCA011F01
REPS /PWS/MZYCA011I01
REPS /PWS/MZYCA011O01
REPS /PWS/MZYCA012F01
REPS /PWS/MZYCA012TOP
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCAT031
CAMPOS NOVOS
INCLUIR O CAMPO ABAIXO LOGO APÓS O CAMPO 'STATUS'
CAMPOS: TP. CAMPO CH: INI: TAB.VERIF.: TAB.REF.: CPO.RE
EBELP EBELP ' ' ' ' ' ' ' ' ' '
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCA011 0101
Efetuar download da(s) tela(s) no Portal de Produtos, caminho:
Aplicativos -> pw.CE > Notas > NOTAS - TELAS > CAMBIO > 13310_TELAS.ZIP
Descompactar e efetuar upload no programa e tela correspondente, transação SE80.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA011F01
...
with key ebeln = wa_ekpo-ebeln
ebelp = wa_ekpo-ebelp.
move:
v_operacao to wa_zycat031-operacao,
wa_zycat046-nbs to wa_zycat031-nbs,
wa_zycat046-modo_prest to wa_zycat031-modo_prest,
wa_eket-eindt to wa_zycat031-data_ini,
wa_ekko-kdate to wa_zycat031-data_fim,
wa_ekpo-netwr to wa_zycat031-valor,
wa_ekpo-netwr to wa_zycat031-saldo,
* >> Início da exclusão: FORM BUSCA_PEDIDO_COMPRA
/pws/zycat030-cod_pais to wa_zycat031-cod_pais.
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_PEDIDO_COMPRA
/pws/zycat030-cod_pais to wa_zycat031-cod_pais,
wa_ekpo-ebelp to wa_zycat031-ebelp.
* << Fim da inclusão
/pws/zycat030-valor = /pws/zycat030-valor + wa_ekpo-netwr.
append wa_zycat031 to itab_zycat031t.
clear: wa_zycat031, wa_zycat046, wa_eket.
endloop.
/pws/zycat030-saldo = /pws/zycat030-valor.
endform.
form match_code_pedcompra.
data: l_display(1) type c,
itab_result type table of ddshretval,
wa_result type ddshretval.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA011I01
...
message e015 with text-e29 text-e30.
endif.
endmodule.
module verifica_numero input.
check not /pws/zycat030-processamento is initial.
if /pws/zycat030-n_rvs_ras is initial and
/pws/zycat030-status = 'PS'.
message e015 with text-e31.
endif.
endmodule.
* >> Início da inclusão:
module carrega_item input.
DATA: wa_zycat031t TYPE ty_zycat031t.
IF /pws/zycat030-tp_origem = 'PC'.
READ TABLE itab_zycat031t INTO wa_zycat031t
WITH KEY operacao = /pws/zycat031-operacao.
/pws/zycat031-ebelp = wa_zycat031t-ebelp.
ENDIF.
endmodule.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA011O01
...
IF NOT v_exibe IS INITIAL.
LOOP AT SCREEN.
IF screen-name NE 'BOT_ENQ'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
LOOP AT tc_oper-cols INTO wa_cols.
IF wa_cols-screen-name NE 'BT_ENQ'.
wa_cols-screen-input = '0'.
* >> Início da inclusão: MODULE STATUS_0101
IF wa_cols-screen-name = '/PWS/ZYCAT031-EBELP'.
wa_cols-screen-input = '0'.
wa_cols-screen-active = '0'.
wa_cols-invisible = '1'.
ENDIF.
* << Fim da inclusão
MODIFY tc_oper-cols FROM wa_cols.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
screen-input = '1'.
MODIFY SCREEN.
ENDLOOP.
LOOP AT tc_oper-cols INTO wa_cols.
* >> Início da exclusão: MODULE STATUS_0101
IF wa_cols-screen-name NE '/PWS/ZYCAT031-SALDO' AND
wa_cols-screen-name NE '/PWS/ZYCAT031-WAERS' AND
wa_cols-screen-name NE '/PWS/ZYCAT031-STATUS'.
* << Fim da exclusão
* >> Início da inclusão: MODULE STATUS_0101
IF wa_cols-screen-name NE '/PWS/ZYCAT031-SALDO' AND
wa_cols-screen-name NE '/PWS/ZYCAT031-WAERS' AND
wa_cols-screen-name NE '/PWS/ZYCAT031-STATUS' AND
wa_cols-screen-name NE '/PWS/ZYCAT031-EBELP'.
* << Fim da inclusão
wa_cols-screen-input = '1'.
ENDIF.
IF wa_cols-screen-name = '/PWS/ZYCAT031-STATUS' AND
NOT /pws/zycat030-processamento IS INITIAL.
wa_cols-screen-input = '1'.
ELSEIF wa_cols-screen-name = '/PWS/ZYCAT031-STATUS' AND
/pws/zycat030-processamento IS INITIAL.
* >> Início da inclusão: MODULE STATUS_0101
wa_cols-screen-input = '0'.
ELSEIF wa_cols-screen-name = '/PWS/ZYCAT031-EBELP'.
* << Fim da inclusão
wa_cols-screen-input = '0'.
* >> Início da inclusão: MODULE STATUS_0101
wa_cols-screen-active = '0'.
wa_cols-invisible = '1'.
* << Fim da inclusão
ENDIF.
MODIFY tc_oper-cols FROM wa_cols.
ENDLOOP.
ENDIF.
ENDMODULE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA012F01
...
/pws/zycat030-tp_origem = 'EE'.
wa_zycat039fe-fat_exp = /pws/zycat030-origem.
wa_zycat039fe-moeda = /pws/zycat030-waers.
wa_zycat039fe-valor = /pws/zycat030-valor.
perform atualiza_itab tables itab_zycat039_fe
using wa_zycat039fe
tc_fatexp.
endif.
perform calcula_saldo.
endif.
* >> Início da inclusão: FORM SELECIONA_DADOS_MODIF
IF /pws/zycat030-tp_origem = 'PC'.
PERFORM busca_doc_pedido USING /pws/zycat030-origem
/pws/zycat031-ebelp.
PERFORM calcula_saldo.
ENDIF.
* << Fim da inclusão
if not itab_zycat039_r[] is initial or
( itab_zycat039_r[] is initial and
itab_zycat039_c[] is initial and
itab_zycat039_f[] is initial and
itab_zycat039_fe[] is initial and
itab_zycat039_o[] is initial ).
v_dynnr = '0101'.
ts_assoc-activetab = 'TB_REM'.
elseif not itab_zycat039_c[] is initial.
v_dynnr = '0102'.
...
...
itab_zycat039_fe-status = 'ES'.
message i061 with text-i06 itab_zycat039_f-fat_comis
text-i07.
else.
delete itab_zycat039_fe.
endif.
endloop.
clear v_okcode.
endcase.
endform.
* >> Início da inclusão:
FORM busca_doc_pedido USING p_ebeln
p_ebelp.
DATA: itab_ekbe TYPE TABLE OF ty_ekbe,
wa_ekbe TYPE ty_ekbe,
itab_awkey TYPE TABLE OF ty_awkey,
wa_awkey TYPE bkpf-awkey,
itab_bkpf TYPE TABLE OF ty_bkpf,
itab_bsak TYPE TABLE OF ty_bsak,
itab_total TYPE TABLE OF ty_total,
wa_bsak TYPE ty_bsak,
wa_total TYPE ty_total,
v_valor TYPE /pws/zycat039-valor.
SELECT ebeln gjahr belnr bewtp shkzg
FROM ekbe
INTO TABLE itab_ekbe
WHERE ebeln = p_ebeln
AND ebelp = p_ebelp.
DELETE itab_ekbe WHERE bewtp NE 'Q'.
DELETE itab_ekbe WHERE shkzg NE 'S'.
IF NOT itab_ekbe[] IS INITIAL.
LOOP AT itab_ekbe INTO wa_ekbe.
CONCATENATE wa_ekbe-belnr wa_ekbe-gjahr
INTO wa_awkey.
APPEND wa_awkey TO itab_awkey.
ENDLOOP.
IF NOT itab_awkey[] IS INITIAL.
SELECT bukrs belnr gjahr awtyp awkey
FROM bkpf
INTO TABLE itab_bkpf
FOR ALL ENTRIES IN itab_awkey
WHERE awkey = itab_awkey-awkey.
DELETE itab_bkpf WHERE awtyp NE 'RMRP'.
IF NOT itab_bkpf[] IS INITIAL.
SELECT bukrs lifnr umsks umskz augdt augbl
gjahr belnr buzei waers wrbtr
FROM bsak
INTO TABLE itab_bsak
FOR ALL ENTRIES IN itab_bkpf
WHERE bukrs = itab_bkpf-bukrs
AND gjahr = itab_bkpf-gjahr
AND belnr = itab_bkpf-belnr.
LOOP AT itab_bsak INTO wa_bsak.
READ TABLE itab_zycat039 INTO wa_zycat039
WITH KEY fatura = wa_bsak-augbl.
IF sy-subrc NE 0.
MOVE-CORRESPONDING wa_bsak TO wa_total.
COLLECT wa_total INTO itab_total.
ENDIF.
ENDLOOP.
LOOP AT itab_total INTO wa_total.
SELECT sum( valor )
FROM /pws/zycat039
INTO v_valor
WHERE ( nrseq NE /pws/zycat031-nrseq
or operacao NE /pws/zycat031-operacao )
AND fatura = wa_total-augbl.
wa_total-wrbtr = wa_total-wrbtr - v_valor.
CHECK wa_total-wrbtr > 0.
MOVE: wa_total-augbl TO wa_zycat039o-fatura,
wa_total-augdt TO wa_zycat039o-dt_pg_rec,
wa_total-waers TO wa_zycat039o-moeda,
wa_total-wrbtr TO wa_zycat039o-valor.
APPEND wa_zycat039o TO itab_zycat039_o.
CLEAR wa_zycat039o.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA012TOP
...
nrseq_arq TYPE /pws/zycat038-nrseq_arq,
processo(40) TYPE c,
usuario TYPE /pws/zycat038-usuario,
data TYPE /pws/zycat038-data,
hora TYPE /pws/zycat038-hora,
prot_transm TYPE /pws/zycat038-prot_transm,
status TYPE /pws/zycat038-status,
status_t(25) TYPE c,
cod_erro TYPE /pws/zycat038-cod_erro,
cod_erro_t TYPE /pws/zycat040-mensagem,
* >> Início da exclusão:
END OF ty_zycat038_alv.
* << Fim da exclusão
* >> Início da inclusão:
END OF ty_zycat038_alv,
BEGIN OF ty_ekbe,
ebeln TYPE ekbe-ebeln,
gjahr TYPE ekbe-gjahr,
belnr TYPE ekbe-belnr,
bewtp TYPE ekbe-bewtp,
shkzg TYPE ekbe-shkzg,
END OF ty_ekbe,
BEGIN OF ty_bkpf,
bukrs TYPE bkpf-bukrs,
belnr TYPE bkpf-belnr,
gjahr TYPE bkpf-gjahr,
awtyp TYPE bkpf-awtyp,
awkey TYPE bkpf-awkey,
END OF ty_bkpf,
BEGIN OF ty_bsak,
bukrs TYPE bsak-bukrs,
lifnr TYPE bsak-lifnr,
umsks TYPE bsak-umsks,
umskz TYPE bsak-umskz,
augdt TYPE bsak-augdt,
augbl TYPE bsak-augbl,
gjahr TYPE bsak-gjahr,
belnr TYPE bsak-belnr,
buzei TYPE bsak-buzei,
waers TYPE bsak-waers,
wrbtr TYPE bsak-wrbtr,
END OF ty_bsak,
BEGIN OF ty_total,
bukrs TYPE bsak-bukrs,
augdt TYPE bsak-augdt,
augbl TYPE bsak-augbl,
gjahr TYPE bsak-gjahr,
belnr TYPE bsak-belnr,
waers TYPE bsak-waers,
wrbtr TYPE bsak-wrbtr,
END OF ty_total,
BEGIN OF ty_awkey,
awkey TYPE bkpf-awkey,
END OF ty_awkey.
* << Fim da inclusão
TABLES: /pws/zycat030,
/pws/zycat031,
/pws/zycat037,
/pws/zycat038,
/pws/zycat039,
bkpf.
DATA: itab_zycat039 TYPE TABLE OF /pws/zycat039,
itab_zycat039_ant TYPE TABLE OF /pws/zycat039,
itab_zycat039_c TYPE TABLE OF ty_zycat039t WITH HEADER LINE,
itab_zycat039_r TYPE TABLE OF ty_zycat039t WITH HEADER LINE,
...