Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DSI
Data/Hora da Publicação: 06/12/2006 00:00:00
Data/Hora Última Alteração: 20/06/2011 13:48:28
Descrição da Nota: AO ALTERAR VALOR DA DSI APÓS CRIAÇÃO DE NF DÁ DIFERENÇA
Sintoma
Há a possibilidade de ter uma DSI 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 DSI depois da criação da NF.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02597 Data: 06/12/2006 Hora: 09:23:46
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02597
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
02022 - 00001 - 6.0 - 00024 - AJUSTES DSI MUNDANÇA SISCOMEX
----------------------------------------------------------------------------------------------------
AO ALTERAR VALOR DA DSI APÓS CRIAÇÃO DE NF DÁ DIFERENÇA
----------------------------------------------------------------------------------------------------
Palavras Chave:
DIFERENÇA - DSI - VALORES DSI - ALTERAÇÃO DADOS DSI
APÓS NF
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI058 0100
DYNP /PWS/SAPMZYCI058 0200
REPS /PWS/MZYCI058F04
REPS /PWS/MZYCI058O01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI058 0200
process before output.
module: init_editor_di_compl,
load_data,
status_0200,
*<< Inicio Inclusão
verif_nf,
*<< Fim Inclusão
propoe_banco,
set_screen.
call subscreen: ss_sbas including syst-cprog '0210',
ss_scar including syst-cprog '0220',
ss_sben including syst-cprog '0230',
ss_des including syst-cprog '0160',
ss_spag including syst-cprog '0240',
SS_SCOM including syst-cprog '0180',
ss_cont including syst-cprog '0450'.
process after input.
call subscreen: ss_sbas,
ss_scar,
ss_sben,
ss_des ,
ss_spag,
ss_scom,
ss_cont.
chain.
field /pws/zycie085-bukrs.
field /pws/zycie085-j_1bbranch.
module load_cpnj on chain-request.
endchain.
module: user_command_0100,
user_command_exit at exit-command.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI058F04
...
CLEAR /pws/zycie100a-aliqcof.
screen-input = '0'.
ELSE.
screen-input = '1'.
ENDIF.
ELSEIF screen-name EQ '/PWS/ZYCIE100A-CODREGTRIPISCOFI'
AND /pws/zycie001-regime EQ '09'.
/pws/zycie100a-codregtripiscofi = '5' .
screen-input = '0'.
ENDIF.
* >> Início da exclusão: FORM SET_SCREEN_0235
IF sy-tcode EQ '/PWS/ZYCI058_E'.
* << Fim da exclusão
* >> Início da inclusão: FORM SET_SCREEN_0235
IF sy-tcode EQ '/PWS/ZYCI058_E'
OR V_NF041 EQ 'S'.
* << Fim da inclusão
screen-input = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDFORM.
FORM set_screen_0310.
LOOP AT SCREEN.
IF NOT screen-group1 IS INITIAL.
screen-invisible = '1'.
CASE screen-group1.
...
...
CLEAR t_ncmdes.
screen-input = 0.
screen-invisible = '1'.
ENDIF.
IF screen-name EQ 'TXT13'.
screen-invisible = '1'.
ENDIF.
ENDIF.
ENDIF.
MODIFY SCREEN.
* >> Início da exclusão: FORM SET_SCREEN_0232
IF sy-tcode EQ '/PWS/ZYCI058_E'.
* << Fim da exclusão
* >> Início da inclusão: FORM SET_SCREEN_0232
IF sy-tcode EQ '/PWS/ZYCI058_E'
OR v_nf041 EQ 'S'.
* << Fim da inclusão
screen-input = '0'.
else.
IF screen-name EQ '/PWS/ZYCIE100A-CODREGTRI'
and /pws/zycie001-regime EQ '09'.
screen-input = '0'.
elseIF screen-name EQ '/PWS/ZYCIE100A-CODFUNLEG' AND
/pws/zycie001-regime EQ '09'.
screen-input = '1'.
ENDIF.
ENDIF.
...
...
AND itab_zycit001-meioemba EQ 'PS'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
IF screen-name EQ '/PWS/ZYCIE085-NRPROC'
AND itab_zycit001-meioemba EQ 'PS'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM SET_SCREEN_0223
IF sy-tcode EQ '/PWS/ZYCI058_E'.
* << Fim da exclusão
* >> Início da inclusão: FORM SET_SCREEN_0223
IF sy-tcode EQ '/PWS/ZYCI058_E'
OR v_nf041 EQ 'S' .
* << Fim da inclusão
screen-input = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDFORM.
FORM set_screen_0222.
v_input = '0'.
MOVE /pws/zycie093-tpconh TO v_c.
LOOP AT SCREEN.
IF NOT screen-group1 IS INITIAL.
...
...
FORM set_screen_0180.
LOOP AT SCREEN.
IF sy-tcode EQ '/PWS/ZYCI058_E'.
screen-input = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDFORM.
FORM set_screen_0234.
LOOP AT SCREEN.
* >> Início da exclusão: FORM SET_SCREEN_0234
IF v_acto EQ 'E'.
* << Fim da exclusão
* >> Início da inclusão: FORM SET_SCREEN_0234
IF v_acto EQ 'E'
OR v_nf041 EQ 'S'.
* << Fim da inclusão
screen-input = '0'.
ELSE.
IF /pws/zycit000-pis_cof IS INITIAL AND
NOT sy-tcode EQ '/PWS/ZYCI058_E' .
IF screen-name EQ 'T_PISBS' OR
screen-name EQ 'T_COFINSBS'.
screen-input = '1'.
ENDIF.
ENDIF.
IF screen-name = 'T_IIREC' AND
...
...
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDFORM.
FORM set_screen_0233.
LOOP AT SCREEN.
IF itab_zycit001-meioemba EQ 'PS'.
screen-input = '0'.
ENDIF.
* >> Início da inclusão: FORM SET_SCREEN_0233
IF sy-tcode EQ '/PWS/ZYCI058_E'
OR v_nf041 EQ 'S'.
screen-input = '0'.
ENDIF.
* << Fim da inclusão
MODIFY SCREEN.
ENDLOOP.
ENDFORM.
form calc_piscofins.
CLEAR: T_PIS_CALC, T_PIS_DEV, T_COF_CALC, T_COF_DEV.
CASE /pws/zycie100a-codregtripiscofi.
WHEN '3' OR '5'.
IF /pws/zycie100a-aliqpis IS INITIAL.
T_PIS_DEV = T_PIS_CALC =
( ( /pws/zycie100a-advalpis / 100 ) * /pws/zycie100a-basepis ).
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI058O01
...
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-name EQ '/PWS/ZYCIE003-ADVALICMS'.
IF NOT /pws/zycie003-nrseqd IS INITIAL.
CLEAR: /pws/zycie003-advalicms.
screen-input = '0'.
ELSEIF /pws/zycie003-nrseqd IS INITIAL.
/pws/zycie003-advalicms = itab_it-advalicms.
screen-input = '1'.
ENDIF.
MODIFY SCREEN.
* >> 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.
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'.
...
...
IF v_nf041 EQ 'S'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
IF sy-dynnr = '0133' AND /pws/zycie093-meiotransp EQ 'PS'.
CLEAR: s_wicreco, s_wsisco.
ENDIF.
* >> Início da exclusão: MODULE SET_SCREEN_PADRAO
IF sy-dynnr = '0141'.
* << Fim da exclusão
* >> Início da inclusão: MODULE SET_SCREEN_PADRAO
IF sy-dynnr = '0141'
OR SY-DYNNR = '0142'.
* << Fim da inclusão
IF itab_zycit001-meioemba EQ 'PS'.
LOOP AT SCREEN.
screen-input = 0.
MODIFY SCREEN.
ENDLOOP.
* >> Início da exclusão: MODULE SET_SCREEN_PADRAO
ENDIF.
IF itab_zycit001-meioemba EQ 'PS'.
* << Fim da exclusão
LOOP AT tc_pag-cols INTO v_cols.
...