Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 05/12/2006 00:00:00
Data/Hora Última Alteração: 20/06/2011 13:44:28
Descrição da Nota: AO ALTERAR VALOR DA DI APÓS CRIAÇÃO DE NF DÁ DIFERENÇA
Sintoma
Há a possibilidade de ter uma DI criada no processo e após fazer a NF alterar seus dados,
modificando valores já contabilizados na nota.
Solução
Fechar campos que possam alterar o valor da DI depois da criação da NF.
6.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02592 Data: 05/12/2006 Hora: 14:16:20
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02592
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 6.0
Pacote : 00025
Agrupamento : 00142
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02325 - 00001 - 6.0 - 00025 - TRATAMENTO PARA SUSPENSÃO DE ICMS NA DI POR REGIÃO
----------------------------------------------------------------------------------------------------
AO ALTERAR VALOR DA DI APÓS CRIAÇÃO DE NF DÁ DIFERENÇA
----------------------------------------------------------------------------------------------------
Palavras Chave:
DIFERENÇA - DI - VALORES DI - ALTERAÇÃO DADOS DI
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI023 0100
REPS /PWS/MZYCI023F04
REPS /PWS/MZYCI023O01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI023 0100
process before output.
module: init_editor_di_compl,
load_data,
*<<Inicio inclusão
verif_nf,
*<<Fim inclusão
propoe_banco,
set_screen,
exit_tela.
call subscreen: ss_bas including syst-cprog '0110',
ss_tra including syst-cprog '0120',
ss_car including syst-cprog '0130',
ss_pag including syst-cprog '0141',
ss_pg2 including syst-cprog '0142',
ss_ite including syst-cprog '0150',
ss_des including syst-cprog '0160',
ss_com including syst-cprog '0180',
ss_cont including syst-cprog '0450'.
process after input.
field /PWS/ZYCIE085-BUKRS module authority_empresa.
call subscreen: ss_bas ,
ss_tra ,
ss_car ,
ss_pag ,
ss_pg2 ,
ss_ite ,
ss_des ,
ss_com ,
ss_cont.
chain.
field /pws/zycie085-bukrs.
field /pws/zycie085-j_1bbranch.
module load_cpnj on chain-request.
endchain.
field: /pws/zycie085-canal module load_cana on request.
module carrega_dados.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F04
...
/pws/zycie003-ii_tipo,
/pws/zycie003-ii_orgemiss,
/pws/zycie003-ii_numero,
/pws/zycie003-ii_anoemiss.
screen-input = '0'.
ENDIF.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDIF.
* >> Início da inclusão: FORM SET_SCREEN_0431
if v_nf041 eq 'S'.
screen-input = '0'.
modify screen.
endif.
* << Fim da inclusão
ENDLOOP.
ENDFORM.
FORM set_screen_0432.
IF '26' CA /pws/zycie100a-codregtri.
CLEAR: /pws/zycie100a-codregtriipi, t_regde2,
/pws/zycie100a-notatipi,
/pws/zycie100a-tribipi, /pws/zycie100a-reduzidaipi,
/pws/zycie100a-unit_valor,
/pws/zycie100a-unit_meins,
/pws/zycie100a-unit_qtde,
...
...
ELSE.
screen-input = '0'.
ENDIF.
MODIFY SCREEN.
ENDIF.
IF screen-group3 EQ 'IPI'.
screen-invisible = '1'.
MODIFY SCREEN.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM SET_SCREEN_0432
IF sy-tcode EQ '/PWS/ZYCI023_E'.
* << Fim da exclusão
* >> Início da inclusão: FORM SET_SCREEN_0432
IF sy-tcode EQ '/PWS/ZYCI023_E'
or v_nf041 eq 'S'.
* << Fim da inclusão
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDFORM.
FORM set_screen_0120.
MOVE /pws/zycie093-meiotransp TO v_t.
LOOP AT SCREEN.
screen-invisible = '1'.
screen-input = '0'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023O01
...
ENDMODULE.
MODULE set_screen_lines OUTPUT.
LOOP AT SCREEN.
IF screen-group1 EQ 'AC'.
screen-input = '0'.
IF v_acto EQ 'A'.
screen-input = '1'.
ENDIF.
MODIFY SCREEN.
ENDIF.
* >> Início da inclusão: MODULE SET_SCREEN_LINES
IF v_nf041 EQ 'S'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
* << Fim da inclusão
ENDLOOP.
ENDMODULE.
MODULE fill_struct_itb OUTPUT.
a_ip = tc_aite-current_line.
MOVE itab_itb TO wa_itb.
a_itval = wa_itb-vlreal_aux2 * wa_itb-qtd_iten.
IF wa_itb-item_adi_sisc IS INITIAL.
MOVE a_ip TO wa_itb-item_adi_sisc.
ENDIF.
ENDMODULE.
...
...
ENDIF.
IF screen-group4 EQ 'REQ'.
screen-required = '1'.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDIF.
IF screen-name EQ '/PWS/ZYCIE003-ADVALICMS'.
/pws/zycie003-advalicms = itab_it-advalicms.
screen-input = '1'.
* >> Início da exclusão: MODULE SET_SCREEN_PADRAO
IF sy-tcode EQ '/PWS/ZYCI023_E'.
* << Fim da exclusão
* >> Início da inclusão: MODULE SET_SCREEN_PADRAO
IF sy-tcode EQ '/PWS/ZYCI023_E'
OR v_nf041 EQ 'S'.
* << Fim da inclusão
screen-input = '0'.
ENDIF.
MODIFY SCREEN.
ENDIF.
IF sy-dynnr = '0132' .
IF /pws/zycie093-meiotransp EQ 'PS'.
IF screen-name = '/PWS/ZYCIE085-DTTAX' OR
screen-name = '/PWS/ZYCIE085-VLFRE' OR
screen-name = '/PWS/ZYCIE085-WAERSSEG' OR
screen-name = '/PWS/ZYCIE085-VLSEG'.
screen-input = 1.
ENDIF.
ENDIF.
IF screen-name = '/PWS/ZYCIE085-DTTAX'.
IF v_nf041 EQ 'S'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDIF.
* >> Início da exclusão: MODULE SET_SCREEN_PADRAO
IF sy-tcode EQ '/PWS/ZYCI023_E'.
* << Fim da exclusão
* >> Início da inclusão: MODULE SET_SCREEN_PADRAO
IF sy-tcode EQ '/PWS/ZYCI023_E'
OR v_nf041 EQ 'S'.
* << Fim da inclusão
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
IF sy-dynnr = '0133' AND /pws/zycie093-meiotransp EQ 'PS'.
CLEAR: s_wicreco, s_wsisco.
ENDIF.
IF sy-dynnr = '0141'.
IF itab_zycit001-meioemba EQ 'PS'.
LOOP AT SCREEN.
...
...
ENDIF.
IF /pws/zycie100a-codregtripiscofi EQ 2 OR
/pws/zycie100a-codregtripiscofi EQ 6.
IF screen-name EQ '/PWS/ZYCIE100A-ALIQPIS' OR
screen-name EQ '/PWS/ZYCIE100A-ALIQCOF' OR
screen-name EQ '/PWS/ZYCIE100A-BASREDPIS' OR
screen-name EQ '/PWS/ZYCIE100A-BASREDCOF'.
screen-input = 0.
ENDIF.
ENDIF.
* >> Início da exclusão: MODULE SET_SCREEN_PADRAO
IF sy-tcode EQ '/PWS/ZYCI023_E'.
* << Fim da exclusão
* >> Início da inclusão: MODULE SET_SCREEN_PADRAO
IF sy-tcode EQ '/PWS/ZYCI023_E'
OR v_nf041 EQ 'S'.
* << Fim da inclusão
screen-input = 0.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
ENDMODULE.
MODULE fill_struct_itc OUTPUT.
wa_itb-nrseq = itab_itc-nrseq.
wa_itb-ebeln = itab_itc-ebeln.
wa_itb-ebelp = itab_itc-ebelp.
...