CE PLUS - Nota 001484

Módulo: DRAWBACK

Funcionalidade: Ato Concessório

Data/Hora da Publicação: 01/06/2006 00:00:00

Data/Hora Última Alteração: 17/02/2011 13:48:38

Descrição da Nota: TRANSFERENCIA DE SALDO DE INSUMOS ALTERNATIVOS E ATO COMUM POR NCM

Sintoma

A transferencia de saldo do ato concessório não atende a insumos alternativos e ato concessório

comum por NCM

 

 

Solução

Ajustar transferencia para atender os cenarios de insumo alternativo e ato concessório comum por

NCM.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTES PARA CONTROLE DE ATO CONCESSÓRIO COMUM POR NCM.

AJUSTE NO CALCULO DE SALDO DO ATO DE DESTINO NA TRANSFERENCIA DE SALDO

VINCULAÇÃO FORECAST E TRESFERENCIA DE SALDO DO ATO CONCESSÓRIO

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 01484 Data: 01/06/2006 Hora: 09:17:11

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 01484

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00023

Agrupamento              : 00116

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

00513  - 00001 - 6.0    - 00022  - AJUSTE NO CALCULO DE SALDO DO ATO DE DESTINO NA TRANSFERENCIA DE

01012  - 00002 - 6.0    - 00022  - VINCULAÇÃO FORECAST E TRESFERENCIA DE SALDO DO ATO CONCESSÓRIO

01284  - 00003 - 6.0    - 00023  - AJUSTES PARA CONTROLE DE ATO CONCESSÓRIO COMUM POR NCM.

----------------------------------------------------------------------------------------------------

TRANSFERENCIA DE SALDO DE INSUMOS ALTERNATIVOS E ATO COMUM POR NCM

----------------------------------------------------------------------------------------------------

Palavras Chave:

TRANSFERENCIA - SALDO - NCM - ALTERNATIVO - ATO - CONCESSÓRIO

/PWS/SAPMZYCI040

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/MZYCI040F02

REPS /PWS/MZYCI040I01

REPS /PWS/MZYCI040TOP2

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI040F02

 

...

                        nrseq  = itab_zycit279_ap-nrseq

                        ebeln  = itab_zycit279_ap-ebeln

                        ebelp  = itab_zycit279_ap-ebelp.

      IF itab_zycit279_ap-nrseqd_d IS INITIAL AND

         itab_zycit279_e-nrseqd_d IS INITIAL.

* >> Início da exclusão: FORM SALVA_APONT

        EXIT.

* << Fim da exclusão

* >> Início da inclusão: FORM SALVA_APONT

        Continue.

* << Fim da inclusão

      ENDIF.

      READ TABLE itab_zycit245_ap_s WITH KEY

              nrseqd = itab_zycit279_ap-nrseqd_d.

      IF itab_zycit245_ap_s-tipo NE 'G'.

* >> Início da inclusão: FORM SALVA_APONT

        IF /pws/zycit321-c_comum IS INITIAL.

          REFRESH itab_zycit433.

          SELECT * FROM /pws/zycit433 INTO TABLE itab_zycit433

                WHERE matnr_alt EQ itab_zycit279_ap-matnr.

          itab_zycit433-matnr     = itab_zycit279_ap-matnr.

          itab_zycit433-matnr_alt = itab_zycit279_ap-matnr.

          APPEND itab_zycit433.

          LOOP AT itab_zycit433.

            READ TABLE itab_zycit245_ap_s WITH KEY

                            nrseqd = itab_zycit279_ap-nrseqd_d

                            codcomp = itab_zycit433-matnr.

            IF sy-subrc EQ 0.

              EXIT.

            ENDIF.

          ENDLOOP.

        ELSE.

* << Fim da inclusão

        READ TABLE itab_zycit245_ap_s WITH KEY

                nrseqd = itab_zycit279_ap-nrseqd_d

* >> Início da exclusão: FORM SALVA_APONT

                codcomp = itab_zycit279_ap-matnr.

* << Fim da exclusão

* >> Início da inclusão: FORM SALVA_APONT

                          j_1bnbm = itab_zycit279_ap-j_1bnbm.

        ENDIF.

* << Fim da inclusão

      ENDIF.

      READ TABLE itab_zycit246_save WITH KEY

                        nrseq = itab_zycit279_ap-nrseq

                        ebeln = itab_zycit279_ap-ebeln

                        ebelp = itab_zycit279_ap-ebelp.

      IF NOT itab_zycit279_e-nrseqd_d IS INITIAL.

        READ TABLE itab_zycit245_e WITH KEY

                nrseqd = itab_zycit279_e-nrseqd_d.

        IF itab_zycit245_e-tipo NE 'G'.

* >> Início da inclusão: FORM SALVA_APONT

        IF /pws/zycit321-c_comum IS INITIAL.

          REFRESH itab_zycit433.

          SELECT * FROM /pws/zycit433 INTO TABLE itab_zycit433

                WHERE matnr_alt EQ itab_zycit279_e-matnr.

          itab_zycit433-matnr     = itab_zycit279_e-matnr.

          itab_zycit433-matnr_alt = itab_zycit279_e-matnr.

          APPEND itab_zycit433.

          LOOP AT itab_zycit433.

            READ TABLE itab_zycit245_e WITH KEY

                            nrseqd  = itab_zycit279_e-nrseqd_d

                            codcomp = itab_zycit433-matnr.

            IF sy-subrc EQ 0.

              EXIT.

            ENDIF.

          ENDLOOP.

        ELSE.

* << Fim da inclusão

          READ TABLE itab_zycit245_e WITH KEY

* >> Início da exclusão: FORM SALVA_APONT

                  nrseqd = itab_zycit279_e-nrseqd_d

                  codcomp = itab_zycit279_e-matnr.

* << Fim da exclusão

* >> Início da inclusão: FORM SALVA_APONT

                          nrseqd  = itab_zycit279_e-nrseqd_d

                          j_1bnbm = itab_zycit279_e-j_1bnbm.

        ENDIF.

* << Fim da inclusão

        ENDIF.

        READ TABLE itab_zycit245_s WITH KEY

                nrseqd = itab_zycit245_e-nrseqd

                nritem = itab_zycit245_e-nritem.

        IF sy-subrc NE 0.

...

 

...

        ENDIF.

      ENDIF.

      READ TABLE itab_zycit245_ap_s WITH KEY

              nrseqd = itab_zycit279_ap-nrseqd_d.

      IF itab_zycit245_e-tipo NE 'G'.

* >> Início da inclusão: FORM SALVA_APONT

        IF /pws/zycit321-c_comum IS INITIAL.

          REFRESH itab_zycit433.

          SELECT * FROM /pws/zycit433 INTO TABLE itab_zycit433

                WHERE matnr_alt EQ itab_zycit279_ap-matnr.

          itab_zycit433-matnr     = itab_zycit279_ap-matnr.

          itab_zycit433-matnr_alt = itab_zycit279_ap-matnr.

          APPEND itab_zycit433.

          LOOP AT itab_zycit433.

            READ TABLE itab_zycit245_ap_s WITH KEY

                            nrseqd = itab_zycit279_ap-nrseqd_d

                            codcomp = itab_zycit433-matnr.

            IF sy-subrc EQ 0.

              EXIT.

            ENDIF.

          ENDLOOP.

        ELSE.

* << Fim da inclusão

        READ TABLE itab_zycit245_ap_s WITH KEY

                nrseqd = itab_zycit279_ap-nrseqd_d

* >> Início da exclusão: FORM SALVA_APONT

                codcomp = itab_zycit279_ap-matnr.

* << Fim da exclusão

* >> Início da inclusão: FORM SALVA_APONT

                          j_1bnbm = itab_zycit279_ap-j_1bnbm.

        ENDIF.

* << Fim da inclusão

      ENDIF.

      READ TABLE itab_zycit245_s WITH KEY

              nrseqd = itab_zycit245_ap_s-nrseqd

              nritem = itab_zycit245_ap_s-nritem.

      IF sy-subrc NE 0.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI040I01

 

...

  MODIFY itab_zycit279_ap_aux TRANSPORTING mark qtd_transf

                                           transf nrseqd_d

                              WHERE mark EQ 'X'.

ENDMODULE.

MODULE modifica_ato_dest INPUT.

* >> Início da exclusão: MODULE MODIFICA_ATO_DEST

  DATA: wa_zycit244_tf LIKE /pws/zycit244,

        wa_zycit245_tf LIKE /pws/zycit245,

        v_qtd_tf       LIKE /pws/zycit279-qtd_transf,

        v_saldo_vl     LIKE /pws/zycit245-netpr_t.

* << Fim da exclusão

* >> Início da inclusão: MODULE MODIFICA_ATO_DEST

  DATA: wa_zycit244_tf TYPE /pws/zycit244,

        itab_zycit245_tf TYPE /pws/zycit245 OCCURS 0 WITH HEADER LINE,

        wa_zycit245_tf TYPE /pws/zycit245,

        v_qtd_tf       TYPE /pws/zycit279-qtd_transf,

        v_saldo_vl     TYPE /pws/zycit245-netpr_t.

* << Fim da inclusão

  READ TABLE itab_zycit279_ap_aux INDEX tc_transf-current_line.

  IF NOT /pws/zycie279-nrseqd_d IS INITIAL.

    SELECT SINGLE * FROM /pws/zycit244 INTO wa_zycit244_tf

        WHERE nrseqd EQ /pws/zycie279-nrseqd_d

          AND status EQ 'D'

...

 

...

          EXIT.

        ELSE.

          MESSAGE s015 WITH text-288.

        ENDIF.

      ELSE.

* >> Início da exclusão: MODULE MODIFICA_ATO_DEST

        SELECT SINGLE * FROM /pws/zycit245 INTO wa_zycit245_tf

            WHERE codcomp EQ itab_zycit279_ap_aux-matnr

              AND nrseqd  EQ /pws/zycie279-nrseqd_d.

* << Fim da exclusão

* >> Início da inclusão: MODULE MODIFICA_ATO_DEST

        REFRESH itab_zycit245_tf.

        SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245_tf

           WHERE nrseqd  EQ /pws/zycie279-nrseqd_d.

        CLEAR: itab_zycit245_tf, wa_zycit245_tf.

        IF /pws/zycit321-c_comum IS INITIAL.

          REFRESH itab_zycit433.

          SELECT * FROM /pws/zycit433 INTO TABLE itab_zycit433

                WHERE matnr_alt EQ itab_zycit279_ap_aux-matnr.

          itab_zycit433-matnr     = itab_zycit279_ap_aux-matnr.

          itab_zycit433-matnr_alt = itab_zycit279_ap_aux-matnr.

          APPEND itab_zycit433.

          LOOP AT itab_zycit433.

            READ TABLE itab_zycit245_tf WITH KEY

                            codcomp = itab_zycit433-matnr.

            IF sy-subrc EQ 0.

              wa_zycit245_tf = itab_zycit245_tf.

              EXIT.

            ENDIF.

          ENDLOOP.

        ELSE.

          READ TABLE itab_zycit245_tf WITH KEY

                          j_1bnbm = itab_zycit279_ap_aux-j_1bnbm.

* << Fim da inclusão

        IF sy-subrc EQ 0.

* >> Início da inclusão: MODULE MODIFICA_ATO_DEST

            wa_zycit245_tf = itab_zycit245_tf.

          ENDIF.

        ENDIF.

        IF NOT wa_zycit245_tf IS INITIAL.

* << Fim da inclusão

          v_qtd_tf = wa_zycit245_tf-qtd_ncm - wa_zycit245_tf-vinculado.

          IF v_qtd_tf < itab_zycit279_ap_aux-qtd_transf.

            MESSAGE i015 WITH text-268 /pws/zycie279-nrseqd_d text-269.

            EXIT.

          ELSE.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI040TOP2

 

...

DATA: nrseq LIKE /pws/zycit003-nrseq,

      ebeln LIKE /pws/zycit003-ebeln,

      ebelp LIKE /pws/zycit003-ebelp,

      fator LIKE /pws/zycit245-qtd_iten.

DATA: END OF itab_di_p.

* >> Início da inclusão:

DATA: BEGIN OF itab_zycit433 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit433.

DATA: END OF itab_zycit433.

* << Fim da inclusão

DATA: toolbar_container2 TYPE REF TO cl_gui_custom_container,

      tool_container2    TYPE        scrfname VALUE 'BTN2'  ,

      myevent_tab2       TYPE        cntl_simple_events     ,

      myevent2           TYPE        cntl_simple_event      ,

      btn2               TYPE REF TO cl_gui_toolbar         ,

...