Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Captação
Data/Hora da Publicação: 21/03/2007 00:00:00
Data/Hora Última Alteração: 10/03/2010 14:35:32
Descrição da Nota: CAPTAÇÃO - DP - PONTO DE EXIT F-29 E CONSITÊNCIA ORDEM
Sintoma
Inserir ponto de exit que permita retirar a consistência da ordem de venda, onde a mesma não pode
ser associada a mais de um contrato de DP.
Inserir ponto de exit que permita alterar o batch-input F-29, permitindo inserir novos campos no
mapeamento.
Solução
Ponto de exit CPT012 referete a consistência da ordem de venda.
IMPORTANTE: ao gerar o programa deste tratamento, não deixar de inserir todas consistências que
existem no standard, retirando apenas as necessárias.
Ponto de exit CPT013 referente a alteração no mapeamento da F-29/nova função de contabilização.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03292 Data: 21/03/2007 Hora: 15:59:39
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03292
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00026
Agrupamento : 00156
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
CAPTAÇÃO - DP - PONTO DE EXIT F-29 E CONSITÊNCIA ORDEM
----------------------------------------------------------------------------------------------------
Palavras Chave:
CAPTAÇÃO DP PONTO DE EXIT F-29 E CONSITÊNCIA ORDEM
CPT012 CPT013
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB001F01
REPS /PWS/MZYCB001TOP
REPS /PWS/MZYCB001X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB001F01
...
APPEND wa_zycbt221_aux.
ENDIF.
ENDLOOP.
ENDIF.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
IF itab_zycbt034[] IS INITIAL.
PERFORM executa_exit_cliente USING 'CPT011'.
IF /pws/zycbe001-tpcontr+0(1) = 'D'.
* >> Início da inclusão: FORM FILL_DATE1_F02
v_repid = sy-repid.
CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
EXPORTING
i_codmod = 'E'
i_func = v_repid
TABLES
itab_zyglt100 = itab_zyglt100
EXCEPTIONS
i_codmod_nao_encontrado = 1
i_func_nao_encontrado = 2
i_zexit_nao_encontrado = 3
OTHERS = 4.
READ TABLE itab_zyglt100 WITH KEY zexit = 'CPT013'.
IF sy-subrc EQ 0.
PERFORM (itab_zyglt100-formulario)
IN PROGRAM (itab_zyglt100-programa).
ELSE.
* << Fim da inclusão
IF NOT wa_zycbt089-rateio_cl IS INITIAL.
IF wa_zycbt221_aux IS INITIAL.
MESSAGE i061 WITH text-414 text-415.
EXIT.
ENDIF.
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_29R'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
...
...
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_29'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
EXCEPTIONS
OTHERS = 2.
ENDIF.
* >> Início da inclusão: FORM FILL_DATE1_F02
ENDIF.
* << Fim da inclusão
ELSE.
IF /pws/zycbt001-tpcontr(1) = 'P' OR
/pws/zycbe001-tpcontr(1) = 'S'.
CASE /pws/zycbe001-fdtlanc.
WHEN 'O'.
v_dtinicio = /pws/zycbe001-dtcontr.
WHEN 'D'.
v_dtinicio = /pws/zycbe001-dtdesem.
WHEN OTHERS.
v_dtinicio = /pws/zycbe001-dtcred.
...
...
v_msg2(25).
CLEAR: itab_vbap.
REFRESH: itab_vbap.
CLEAR: v_soma, v_itens, v_sub, v_pagador, v_tipo, v_moeda.
IF wa_zycbt221[] IS INITIAL.
LOOP AT itab_zycbt221.
MOVE-CORRESPONDING itab_zycbt221 TO wa_zycbt221.
APPEND wa_zycbt221.
ENDLOOP.
ENDIF.
* >> Início da inclusão: FORM VERIFICA_ORDEM
v_repid = sy-repid.
CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
EXPORTING
i_codmod = 'E'
i_func = v_repid
TABLES
itab_zyglt100 = itab_zyglt100
EXCEPTIONS
i_codmod_nao_encontrado = 1
i_func_nao_encontrado = 2
i_zexit_nao_encontrado = 3
OTHERS = 4.
READ TABLE itab_zyglt100 WITH KEY zexit = 'CPT012'.
IF sy-subrc EQ 0.
PERFORM (itab_zyglt100-formulario)
IN PROGRAM (itab_zyglt100-programa).
ELSE.
* << Fim da inclusão
READ TABLE wa_zycbt221 WITH KEY ordem = /pws/zycbe221-ordem.
IF sy-subrc NE 0.
CLEAR: wa_zycbt221, itab_zycbt221.
SELECT vbeln posnr netwr waerk gsber prctr pstyv
INTO TABLE itab_vbap
FROM vbap
WHERE vbeln EQ /pws/zycbe221-ordem.
IF sy-subrc EQ 0.
LOOP AT itab_vbap.
v_idx = sy-tabix.
...
...
MODIFY itab_zycbt221_ant TRANSPORTING vlr_rateio saldo_ov
WHERE nrseqc EQ wa_zycbt221-nrseqc
AND ordem EQ wa_zycbt221-ordem
AND item EQ wa_zycbt221-item.
IF wa_zycbt221-pagador NE /pws/zycbe001-kunnr.
v_pagador = 1.
v_ordem = itab_vbap-vbeln.
DELETE wa_zycbt221.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM VERIFICA_ORDEM
ENDIF.
* << Fim da inclusão
ENDFORM.
FORM save_zycbt221.
SELECT SINGLE nrseqc INTO /pws/zycbt221-nrseqc
FROM /pws/zycbt221
WHERE nrseqc = /pws/zycbe001-nrseqc.
IF sy-subrc EQ 0.
DELETE FROM /pws/zycbt221 WHERE nrseqc = /pws/zycbe001-nrseqc.
ENDIF.
LOOP AT itab_zycbt221.
MOVE-CORRESPONDING itab_zycbt221 TO /pws/zycbt221.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB001TOP
...
DATA: BEGIN OF itab_zyglt209_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zyglt209.
DATA: mark(1),
check(1).
DATA: END OF itab_zyglt209_aux.
DATA: BEGIN OF itab_excluido OCCURS 0.
INCLUDE STRUCTURE /pws/zyglt209.
DATA: mark(1),
check(1).
DATA: END OF itab_excluido.
* >> Início da exclusão:
DATA: BEGIN OF itab_zycbt034 OCCURS 10.
INCLUDE STRUCTURE /pws/zycbt034.
DATA: END OF itab_zycbt034.
* << Fim da exclusão
DATA: BEGIN OF itab_zycbt002p_ant OCCURS 10.
INCLUDE STRUCTURE /pws/zycbt002.
DATA: mark(1).
DATA: END OF itab_zycbt002p_ant.
DATA: BEGIN OF itab_zycbt002p_exc OCCURS 10.
INCLUDE STRUCTURE /pws/zycbt002.
DATA: mark(1).
DATA: END OF itab_zycbt002p_exc.
TYPES BEGIN OF t_comissao.
INCLUDE STRUCTURE /pws/zycbt002.
...
...
WITH HEADER LINE,
itab_zycbt134_comissao
TYPE STANDARD TABLE OF t_zycbt134_comissao
WITH HEADER LINE,
wa_comissao TYPE t_comissao,
v_vltotcomis LIKE /pws/zycbe001-vltotjur.
DATA: itab_zyglt100
TYPE STANDARD TABLE OF /pws/zyglt100 WITH HEADER LINE.
DATA:
itab_zycbt002_aux LIKE /pws/zycbt002 OCCURS 10 WITH HEADER LINE,
* >> Início da exclusão:
itab_zycbt032 LIKE /pws/zycbt032 OCCURS 10 WITH HEADER LINE,
* << Fim da exclusão
itab_zycbt013 LIKE /pws/zycbt013 OCCURS 10 WITH HEADER LINE,
itab_zycbt012 LIKE /pws/zycbt012 OCCURS 10 WITH HEADER LINE,
itab_zycbt036 LIKE /pws/zycbt036 OCCURS 10 WITH HEADER LINE.
DATA: BEGIN OF itab_pf_status OCCURS 10,
fcode LIKE rsmpe-func,
END OF itab_pf_status.
DATA: itab_zycbt010 LIKE /pws/zycbt010 OCCURS 5 WITH HEADER LINE.
* >> Início da exclusão:
DATA: wa_zycbt089 LIKE /pws/zycbt089.
* << Fim da exclusão
DATA: BEGIN OF itab_zycbt136_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycbe136.
DATA: END OF itab_zycbt136_aux.
DATA: BEGIN OF itab_zycbt004_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt004.
DATA: END OF itab_zycbt004_aux.
DATA: BEGIN OF itab_zycbt154 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt154.
DATA: END OF itab_zycbt154.
DATA: BEGIN OF itab_zycbt035 OCCURS 0.
...
...
v_campo(27),
v_valor(20),
i_belnr LIKE bkpf-belnr,
i_bukrs LIKE bkpf-bukrs,
i_gjahr LIKE bkpf-gjahr,
v_tottaxa LIKE /pws/zycbt001-txcneg,
v_int TYPE i,
v_taxaneg LIKE /pws/zycbe001-txcneg,
v_cambio LIKE /pws/zycbe001-txcneg,
v_transacao LIKE shkontext-tcode,
* >> Início da exclusão:
v_modo_bi,
* << Fim da exclusão
v_cont TYPE i,
v_txc_f51 LIKE tcurr-ukurs,
v_check(1) TYPE c,
v_dt_from LIKE /pws/zycbe001-dtcred,
v_dt_to LIKE /pws/zycbe001-dtcred,
v_pre(3) VALUE 'NO',
v_dias TYPE i,
v_dias3 TYPE i,
v_data LIKE sy-datum,
v_dia_semana TYPE p,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB001X01
...
DATA: BEGIN OF itab_zycbt221 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt221.
DATA: mark TYPE c,
END OF itab_zycbt221.
DATA: BEGIN OF wa_zycbt221 OCCURS 0.
INCLUDE STRUCTURE itab_zycbt221.
DATA: END OF wa_zycbt221.
DATA: wa_zycbt221_aux LIKE wa_zycbt221 OCCURS 0 WITH HEADER LINE.
DATA: itab_zycbt221_aux LIKE wa_zycbt221 OCCURS 0 WITH HEADER LINE.
DATA: itab_zycbt221_ant LIKE wa_zycbt221 OCCURS 0 WITH HEADER LINE.
* >> Início da inclusão:
DATA: BEGIN OF itab_zycbt034 OCCURS 10.
INCLUDE STRUCTURE /pws/zycbt034.
DATA: END OF itab_zycbt034.
* << Fim da inclusão
DATA: wa_zycbt001 LIKE /pws/zycbe001,
wa_zycbe001 LIKE /pws/zycbe001,
wa_zycbt001_pre LIKE /pws/zycbt001,
wa_zycbt004 LIKE /pws/zycbt004,
wa_zycbt091 LIKE /pws/zycbt091,
wa_zycbt204 LIKE /pws/zycbt204,
wa_zycbt136 LIKE itab_zycbt136,
* >> Início da exclusão:
wa_zycbt002 LIKE /pws/zycbt002.
* << Fim da exclusão
* >> Início da inclusão:
wa_zycbt002 LIKE /pws/zycbt002,
wa_zycbt089 LIKE /pws/zycbt089.
* << Fim da inclusão
DATA:
v_contabiliza TYPE c,
* >> Início da exclusão:
okcode LIKE sy-ucomm.
* << Fim da exclusão
* >> Início da inclusão:
okcode LIKE sy-ucomm,
v_modo_bi.
* << Fim da inclusão
* >> Início da exclusão:
DATA: itab_zycbe033 LIKE /pws/zycbe033 OCCURS 10 WITH HEADER LINE.
* << Fim da exclusão
* >> Início da inclusão:
DATA: itab_zycbe033 LIKE /pws/zycbe033 OCCURS 10 WITH HEADER LINE,
itab_zycbt032 LIKE /pws/zycbt032 OCCURS 10 WITH HEADER LINE.
* << Fim da inclusão
DATA: END OF COMMON PART.