CE PLUS - Nota 009460

Módulo: DRAWBACK

Funcionalidade: Ato Concessório

Data/Hora da Publicação: 26/11/2009 00:00:00

Data/Hora Última Alteração: 17/02/2011 15:44:23

Descrição da Nota: IMPLEMENTAÇÃO DE ATO CONCESSÓRIO GENÉRICO POR AGRUPAMENTO

Sintoma

Ajustes para tratamento de ato concessório Generico com lista técnica por agrupamento.

 

 

Solução

Ajustes para tratamento de ato concessório Generico com lista técnica por agrupamento.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

ATO CENCESÓRIO INTERMEDIARIO EXPORTADOR COM LISTA POR AGRUPAMENTO

CRIAÇÃO DE ATO CONCESSÓRIO GENÉRICO ATRAVÉS DE UM FORECAST.

APROPRIAÇÃO MULTIPLA / PARCIAL

Informações Complementares

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

Nota Número 09460 Data: 26/11/2009 Hora: 13:59:30

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

 

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

Nota Número              : 09460

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00001

Agrupamento              : 00001

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

Referência às notas relacionadas:

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

 

08034  - 00001 - 7.0    - 00008  - APROPRIAÇÃO MULTIPLA / PARCIAL

08060  - 00002 - 7.0    - 00008  - ATO CENCESÓRIO INTERMEDIARIO EXPORTADOR COM LISTA POR AGRUPAMENTO

08858  - 00003 - 7.0    - 00010  - CRIAÇÃO DE ATO CONCESSÓRIO GENÉRICO ATRAVÉS DE UM FORECAST.

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

IMPLEMENTAÇÃO DE ATO CONCESSÓRIO GENÉRICO POR AGRUPAMENTO

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

Palavras Chave:

 

 

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

Objetos da nota:

REPS /PWS/MZYCI040F02

REPS /PWS/MZYCI040I01

REPS /PWS/MZYCI040O01

REPS /PWS/ZYCIR254F01

 

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

Modificações efetuadas em REPS /PWS/MZYCI040F02

 

...

    IF v_tcode2 EQ '/PWS/ZYCI040_E'.

      IF wa_cols2-screen-group1 NE 'NEX'.

        wa_cols2-screen-input = v_status2.

        MODIFY tc_mexp2-cols FROM wa_cols2.

      ENDIF.

    ELSE.

      IF /pws/zycie244-modalidade EQ 'S'.

        IF /pws/zycie244-nrforecast IS INITIAL.

          IF wa_cols2-screen-group1 NE 'NEX'.

            wa_cols2-screen-input = v_status2.

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

            IF /pws/zycie244-tipo EQ 'G' OR

              ( /pws/zycie244-tipo EQ 'F' AND v_agrup IS INITIAL ) OR

                                           /pws/zycit321-c_comum EQ 'X'.

* << Fim da exclusão

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

            IF ( /pws/zycie244-tipo EQ 'G' OR

                /pws/zycie244-tipo EQ 'F' OR

                /pws/zycit321-c_comum EQ 'X' ) AND

                v_agrup IS INITIAL.

* << Fim da inclusão

              IF wa_cols2-screen-name EQ '/PWS/ZYCIE247-NETPR'.

                wa_cols2-screen-input = 0.

              ELSEIF wa_cols2-screen-name EQ '/PWS/ZYCIE247-NETPR_T'.

                wa_cols2-screen-input = 1.

              ELSEIF wa_cols2-screen-name EQ 'V_DESCR_0206'.

                wa_cols2-screen-input = 1.

              ENDIF.

            ELSE.

              IF wa_cols2-screen-name EQ '/PWS/ZYCIE247-NETPR'.

                wa_cols2-screen-input = 1.

...

 

...

                wa_cols2-screen-input = 0.

              ELSEIF wa_cols2-screen-name EQ 'V_DESCR_0206'.

                wa_cols2-screen-input = 0.

              ENDIF.

            ENDIF.

            MODIFY tc_mexp2-cols FROM wa_cols2.

          ENDIF.

        ELSE.

          IF wa_cols2-screen-group1 NE 'NEX'.

            wa_cols2-screen-input = 1.

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

           IF /pws/zycie244-tipo EQ 'G' OR /pws/zycie244-tipo EQ 'F' OR

                                           /pws/zycit321-c_comum EQ 'X'.

* << Fim da exclusão

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

            IF ( /pws/zycie244-tipo    EQ 'G' OR

                 /pws/zycie244-tipo    EQ 'F' OR

                 /pws/zycit321-c_comum EQ 'X' ) AND

                 v_agrup IS INITIAL.

* << Fim da inclusão

              IF wa_cols2-screen-name EQ '/PWS/ZYCIE247-NETPR'.

                wa_cols2-screen-input = 0.

              ELSEIF wa_cols2-screen-name EQ '/PWS/ZYCIE247-NETPR_T'.

                wa_cols2-screen-input = 1.

              ELSEIF wa_cols2-screen-name EQ 'V_DESCR_0206'.

                wa_cols2-screen-input = 1.

              ENDIF.

            ELSE.

              IF wa_cols2-screen-name EQ '/PWS/ZYCIE247-NETPR'.

                wa_cols2-screen-input = 1.

...

 

...

          v_flag(1) TYPE c              .

  DATA: BEGIN OF itab_zycit245_collect OCCURS 0,

          nrseqd   LIKE /pws/zycit245-nrseqd,

          codcomp  LIKE /pws/zycit245-codcomp ,

          meins    LIKE /pws/zycit245-meins,

          werks    LIKE /pws/zycit245-werks,

          proced   LIKE /pws/zycit245-proced ,

          qtd_iten LIKE /pws/zycit245-qtd_iten ,

          qtd_tot  LIKE /pws/zycit245-qtd_tot,

        END OF itab_zycit245_collect.

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

  CHECK /pws/zycie244-tipo NE 'G'.

* << Fim da inclusão

  CLEAR v_nritem.

  CHECK v_tcode2 NE '/PWS/ZYCI040_E'.

  DESCRIBE TABLE itab_zycit247 LINES v_ilinhas.

  DESCRIBE TABLE itab_zycit427 LINES v_ilinhas3.

  IF v_verificp2 EQ 'S' AND

     v_verificp2_merc EQ 'S'.

    EXIT.

  ENDIF.

  IF ( v_verificp2 EQ 'N' AND v_verifiit2 EQ v_ilinhas ) OR

   ( v_verificp2_merc EQ 'N' AND v_verifiit3 EQ v_ilinhas3 ).

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI040I01

 

...

            itab_zycit247-sdomat_e = itab_zycit239-qtd_aditiv.

          ENDIF.

          itab_zycit247-qtd_ncm = itab_zycit247-qtd_iten.

          itab_zycit247-um_ncm  = itab_zycit247-meins  .

          IF /pws/zycit321-ltopc IS INITIAL.

            PERFORM converte_um_ncm USING itab_zycit247-codmat

                                    CHANGING itab_zycit247-um_ncm

                                             itab_zycit247-werks

                                             itab_zycit247-qtd_ncm.

          ENDIF.

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

          IF /pws/zycit321-c_comum EQ 'X' OR /pws/zycie244-tipo EQ 'G'.

* << Fim da exclusão

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

          IF ( /pws/zycit321-c_comum EQ 'X' OR

                  /pws/zycie244-tipo EQ 'G' ) AND

               /pws/zycit321-ltopc IS INITIAL .

* << Fim da inclusão

            READ TABLE itab_zycit247_aux

                      WITH KEY j_1bnbm = itab_zycit247-j_1bnbm.

            IF sy-subrc EQ 0.

              itab_zycit247-nritem   = itab_zycit247_aux-nritem.

            ENDIF.

            itab_zycit247-qtd_iten = itab_zycit247-qtd_ncm   .

            itab_zycit247-meins    = itab_zycit247-um_ncm    .

            CLEAR: itab_zycit247-codmat, itab_zycit247-stlal,

                   itab_zycit247-stlan, itab_zycit247-stlnr,

                   itab_zycit247-tolling.

...

 

...

     INTO TABLE itab_matnr

     WHERE matnr EQ /pws/zycie247-codmat.

    IF sy-dbcnt > 1.

      v_centro = 'X'.

    ENDIF.

  ENDIF.

  IF NOT v_centro IS INITIAL

  AND /pws/zycie247-werks IS INITIAL.

    MESSAGE w015 WITH text-258 /pws/zycie247-codmat text-256 text-257.

  ENDIF.

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

  IF /pws/zycie244-tipo EQ 'G' OR

* << Fim da exclusão

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

  IF ( /pws/zycie244-tipo EQ 'G' OR

* << Fim da inclusão

      ( /pws/zycie244-tipo EQ 'F' AND v_agrup IS INITIAL ) OR

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

           /pws/zycit321-c_comum EQ 'X'.

* << Fim da exclusão

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

           /pws/zycit321-c_comum EQ 'X' ) AND v_agrup IS INITIAL.

* << Fim da inclusão

    IF  /pws/zycie244-tipo EQ 'N' AND /pws/zycie244-modalidade EQ 'S'.

      PERFORM fill_itab_zycit247_inter.

    ELSE.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI040O01

 

...

      ENDIF.

    ELSE.

      IF screen-name EQ '/PWS/ZYCIE247-J_1BNBM'.

        READ TABLE itab_zycit247 INDEX tc_mexp2-current_line.

        IF sy-subrc EQ 0 AND NOT /pws/zycie247-j_1bnbm IS INITIAL.

          screen-input = 0.

          MODIFY SCREEN.

        ENDIF.

      ENDIF.

    ENDIF.

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

    IF screen-name EQ '/PWS/ZYCIT422-STLAL' AND

       NOT /pws/zycit422-stlal IS INITIAL.

      screen-input = 0.

      MODIFY SCREEN.

    ENDIF.

    IF screen-name EQ '/PWS/ZYCIE247-AGRUP' AND

       NOT /pws/zycie247-agrup IS INITIAL.

      screen-input = 0.

      MODIFY SCREEN.

    ENDIF.

    IF screen-name EQ '/PWS/ZYCIT422-WERKS' AND

       NOT /pws/zycit422-werks IS INITIAL.

      screen-input = 0.

      MODIFY SCREEN.

    ENDIF.

* << Fim da inclusão

    IF screen-name EQ '/PWS/ZYCIE247-PCTCOMIS'.

     IF /pws/zycie244-modalidade EQ 'S' AND /pws/zycie244-nrforecast IS

                                                                INITIAL.

        READ TABLE itab_zycit247 INDEX tc_mexp2-current_line.

        IF sy-subrc EQ 0.

          IF /pws/zycie244-status <> 'A'.

            IF itab_zycit247-vl_comis IS INITIAL.

              screen-input = v_status2.

              MODIFY SCREEN.

            ELSE.

...

 

...

     /pws/zycit321-c_comum NE 'X'.

    SELECT maktx UP TO 1 ROWS FROM makt INTO v_descr_0206

           WHERE matnr = /pws/zycie247-codmat

             AND spras = sy-langu.

    ENDSELECT.

  ELSE.

    IF v_descr_0206 IS INITIAL AND NOT /pws/zycie247-j_1bnbm IS INITIAL.

      SELECT text1 UP TO 1 ROWS FROM t604n INTO v_descr_0206

             WHERE spras = sy-langu

               AND land1 = 'BR'

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

               AND steuc = /pws/zycie247-j_1bnbm.     "#EC CI_SGLSELECT

* << Fim da exclusão

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

          AND steuc = /pws/zycie247-j_1bnbm.          "#EC CI_SGLSELECT

* << Fim da inclusão

      ENDSELECT.

    ENDIF.

  ENDIF.

  IF NOT /pws/zycie247-agrup IS INITIAL.

    SELECT SINGLE descr

           FROM /pws/zycit419

           INTO v_descr_0206

           WHERE agrup EQ /pws/zycie247-agrup.

  ENDIF.

  IF /pws/zycit247-maktx IS INITIAL AND

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCIR254F01

 

...

      CLEAR: v_errolog, it_log_erro.

      CONCATENATE text-016 it_zycet002-matnr

                                  INTO v_errolog SEPARATED BY space.

      MOVE v_errolog TO it_log_erro.

      APPEND it_log_erro.

    ENDIF.

    REFRESH itab_lista_f.

    itab_lista_f[] = itab_lista[].

    v_apmat = 'S'.

    v_error = 'N'.

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

    IF it_zycit244-tipo NE 'G'.

* << Fim da exclusão

      PERFORM appropriate_tng CHANGING v_qtdaprop v_qtdbase v_error.

      v_pct_com = v_qtdaprop / it_zycet002-fkimg .

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

    ENDIF.

* << Fim da exclusão

    IF v_error EQ 'S'.

      CONTINUE.

    ENDIF.

  ENDLOOP.

  REFRESH: itab_lista.

...