CE PLUS - Nota 005015

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.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

CONTROLE DE SALDO NOS APONTAMENTOS DO ATO.

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.

...