Módulo: DRAWBACK
Funcionalidade: Ato Concessório
Data/Hora da Publicação: 18/10/2007 00:00:00
Data/Hora Última Alteração: 17/02/2011 15:13:36
Descrição da Nota: TRANSFERÊNCIA POR QUANTIDADE E PORCENTAGEM NO ATO CONCESSÓRIO
Sintoma
O Ato concessório realiza as transferencias apenas baseando-se em porcentagens.
Solução
O Ato Concessório foi atualizado para realizar transferências por quantidade e porcentagem.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05015 Data: 18/10/2007 Hora: 08:52:49
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05015
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00017
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03360 - 00001 - 6.0 - 00001 - CONTROLE DE SALDO NOS APONTAMENTOS DO ATO.
----------------------------------------------------------------------------------------------------
TRANSFERÊNCIA POR QUANTIDADE E PORCENTAGEM NO ATO CONCESSÓRIO
----------------------------------------------------------------------------------------------------
Palavras Chave:
TRANFERÊNCIA APONTAMENTOS ATO CONCESSÓRIO QUANTIDADE PORCENTAGEM
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI040 0239
REPS /PWS/MZYCI040I01
REPS /PWS/MZYCI040O01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI040 0239
PROCESS BEFORE OUTPUT.
MODULE status_0239.
LOOP AT itab_zycit279_ap_aux WITH CONTROL tc_transf
CURSOR tc_transf-current_line.
MODULE preenche_estrutura_0239.
ENDLOOP.
PROCESS AFTER INPUT.
CHAIN.
FIELD: /pws/zycie245-transf
MODULE modifica_transf2 ON CHAIN-REQUEST.
ENDCHAIN.
LOOP AT itab_zycit279_ap_aux.
CHAIN.
FIELD: v_mark2
MODULE modifica_transf ON CHAIN-REQUEST.
ENDCHAIN.
CHAIN.
FIELD: /pws/zycie279-nrseqd_d
MODULE modifica_ato_dest ON CHAIN-REQUEST.
ENDCHAIN.
* >> Início da inclusão
CHAIN.
FIELD: /pws/zycie279-qtd_transf
MODULE modifica_transf3 ON CHAIN-REQUEST.
ENDCHAIN.
* << Fim da inclusão
ENDLOOP.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040I01
...
MODIFY itab_resumo_ap INDEX tc_perda-current_line.
ENDMODULE.
MODULE modifica_transf INPUT.
DATA wa_transf LIKE /pws/zycie279.
READ TABLE itab_zycit279_ap_aux INDEX tc_transf-current_line.
wa_transf = itab_zycit279_ap_aux.
IF v_mark2 IS INITIAL.
v_saldo_transf = v_saldo_transf + /pws/zycie279-qtd_transf.
CLEAR: /pws/zycie279-qtd_transf, /pws/zycie279-nrseqd_d.
ELSE.
* >> Início da inclusão: MODULE MODIFICA_TRANSF
IF NOT /pws/zycie245-transf IS INITIAL.
* << Fim da inclusão
IF v_saldo_transf > 0 .
IF /pws/zycie279-slqtde > v_saldo_transf.
/pws/zycie279-qtd_transf = v_saldo_transf.
ELSE.
/pws/zycie279-qtd_transf = /pws/zycie279-slqtde.
ENDIF.
v_saldo_transf = v_saldo_transf - /pws/zycie279-qtd_transf.
ELSE.
CLEAR v_mark2.
MESSAGE i015 WITH text-267.
ENDIF.
ENDIF.
* >> Início da inclusão: MODULE MODIFICA_TRANSF
ENDIF.
* << Fim da inclusão
itab_zycit279_ap = itab_zycit279_ap_aux =
/pws/zycie279.
itab_zycit279_ap_aux-mark = itab_zycit279_ap_aux-mark = v_mark2.
MODIFY itab_zycit279_ap_aux TRANSPORTING qtd_transf
nrseqd_d mark
WHERE nrseq EQ wa_transf-nrseq
AND ebeln EQ wa_transf-ebeln
AND ebelp EQ wa_transf-ebelp.
LOOP AT itab_zycit279_ap
WHERE nrseq EQ wa_transf-nrseq
...
...
IF /pws/zycie244-werks IS INITIAL AND
NOT itab_centros2[] IS INITIAL.
READ TABLE itab_centros2 INDEX 1.
/pws/zycie244-werks = itab_centros2-werks.
ENDIF.
DELETE itab_zycit250 WHERE codagrup = /pws/zycie244-codagrup.
DELETE itab_centros2 WHERE werks = /pws/zycie244-werks.
ENDMODULE.
MODULE preenche_it_res_427 INPUT.
ENDMODULE.
* >> Início da inclusão:
MODULE modifica_transf3 INPUT.
IF /pws/zycie279-qtd_transf > /pws/zycie279-slqtde.
MESSAGE e015 WITH text-268 text-269.
ENDIF.
v_saldo_transf =
/pws/zycie245-qtd_transf = /pws/zycie279-qtd_transf.
CLEAR /pws/zycie245-transf.
itab_zycit245-qtd_transf = /pws/zycie245-qtd_transf.
itab_zycit245-transf = /pws/zycie245-transf.
MODIFY itab_zycit245 TRANSPORTING qtd_transf transf
WHERE nritem EQ /pws/zycie245-nritem.
CLEAR: itab_zycit279_ap, itab_zycit279_ap_aux.
itab_zycit279_ap_aux-transf = itab_zycit279_ap-transf =
/pws/zycie245-transf.
itab_zycit279_ap_aux-qtd_transf = itab_zycit279_ap-qtd_transf =
/pws/zycie279-qtd_transf.
MODIFY itab_zycit279_ap index tc_transf-current_line
TRANSPORTING qtd_transf transf nrseqd_d.
MODIFY itab_zycit279_ap_aux index tc_transf-current_line
TRANSPORTING qtd_transf transf nrseqd_d.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040O01
...
ENDMODULE.
MODULE preenche_estrutura_0239 OUTPUT.
/pws/zycie279 = itab_zycit279_ap_aux.
v_mark2 = itab_zycit279_ap_aux-mark.
IF v_mark2 EQ 'X'.
LOOP AT SCREEN.
CASE screen-name.
WHEN '/PWS/ZYCIE279-NRSEQD_D'.
screen-input = v_status2.
MODIFY SCREEN.
* >> Início da inclusão: MODULE PREENCHE_ESTRUTURA_0239
WHEN '/PWS/ZYCIE279-QTD_TRANSF'.
IF /pws/zycie245-transf IS INITIAL
AND /pws/zycie279-nrseqd_d IS INITIAL.
screen-input = v_status2.
ELSE.
screen-input = 0.
ENDIF.
MODIFY SCREEN.
* << Fim da inclusão
ENDCASE.
IF v_tcode2 EQ '/PWS/ZYCI040_E'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
ENDMODULE.
MODULE status_0239 OUTPUT.
IF v_tcode2 EQ '/PWS/ZYCI040_E'.
...
...
LOOP AT SCREEN.
CASE screen-name.
WHEN '/PWS/ZYCIE245-TRANSF'.
screen-input = 0.
MODIFY SCREEN.
ENDCASE.
ENDLOOP.
LOOP AT tc_transf-cols INTO wa_cols2.
wa_cols2-screen-input = 0.
MODIFY tc_transf-cols FROM wa_cols2.
* >> Início da inclusão: MODULE STATUS_0239
ENDLOOP.
ENDIF.
LOOP AT SCREEN.
CASE screen-name.
WHEN '/PWS/ZYCIE245-TRANSF'.
IF /pws/zycie245-transf IS INITIAL.
LOOP AT itab_zycit279_ap_aux WHERE qtd_transf > 0.
IF sy-subrc EQ 0.
screen-input = 0.
MODIFY SCREEN.
EXIT.
ENDIF.
* << Fim da inclusão
ENDLOOP.
ENDIF.
* >> Início da inclusão: MODULE STATUS_0239
ENDCASE.
ENDLOOP.
* << Fim da inclusão
ENDMODULE.
MODULE preenche_inf_export OUTPUT.
/pws/zycie246 = itab_zycit246_inf.
ENDMODULE.
...