CE PLUS - Nota 002597

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.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTES DSI MUNDANÇA SISCOMEX

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.

...