CE PLUS - Nota 007165

Módulo: DRAWBACK

Funcionalidade: Ato Concessório

Data/Hora da Publicação: 19/08/2008 00:00:00

Data/Hora Última Alteração: 17/02/2011 15:27:43

Descrição da Nota: CORREÇÃO NA TRANSFERENCIA DE SALDO DO ATO CONCESSÓRIO

Sintoma

Ao realizar a transferencia de saldo para um ato que possuam item iguais nas pastas importações e

nacionais, está vinculando ao item importado mesmo que o item seja nacional.

 

 

Solução

Verificar a origem do item para realizar a transferência para o item correspondente no ato de

destino.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

TRATAMENTO DOS INSUMOS ALTERNATIVOS NA TRANSFERENCIA DE SALDO

COMPRAS NO MERCADO INTERNO PARA DRAWBACK SUSPENSÃO

Informações Complementares

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

Nota Número 07165 Data: 19/08/2008 Hora: 15:11:56

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

 

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

Nota Número              : 07165

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00006

Agrupamento              : 00061

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

Referência às notas relacionadas:

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

 

04572  - 00001 - 7.0    - 00002  - TRATAMENTO DOS INSUMOS ALTERNATIVOS NA TRANSFERENCIA DE SALDO

07112  - 00002 - 7.0    - 00006  - COMPRAS NO MERCADO INTERNO PARA DRAWBACK SUSPENSÃO

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

CORREÇÃO NA TRANSFERENCIA DE SALDO DO ATO CONCESSÓRIO

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

Palavras Chave:

TRANSFERENCIA - SALDO - ATO - CONCESSÓRIO - MERCADO - INTERNO

/PWS/SAPMZYCI040

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

Objetos da nota:

REPS /PWS/MZYCI040F02

REPS /PWS/MZYCI040I01

 

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

Modificações efetuadas em REPS /PWS/MZYCI040F02

 

...

    APPEND itab_botoes2.

    itab_botoes2-bname = 'EXCLM'.

    APPEND itab_botoes2.

    itab_botoes2-bname = 'ATUALIZ'.

    APPEND itab_botoes2.

    itab_botoes2-bname = 'VFALT'.

    APPEND itab_botoes2.

  ENDIF.

  IF pressed_tab_2a NE 'FS_CIMP2' AND

     pressed_tab_2a NE 'FS_MEXP2' AND

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

     pressed_tab_2a NE 'FS_MERC'.

* << Fim da exclusão

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

     pressed_tab_2a NE 'FS_MERC'  AND

     pressed_tab_2a NE 'FS_MERC2'.

* << Fim da inclusão

    itab_botoes2-bname = 'FIRST'.

    APPEND itab_botoes2.

    itab_botoes2-bname = 'PRIOR'.

    APPEND itab_botoes2.

    itab_botoes2-bname = 'NEXT'.

    APPEND itab_botoes2.

    itab_botoes2-bname = 'LAST'.

    APPEND itab_botoes2.

  ELSEIF pressed_tab_2a EQ 'FS_CIMP2' AND

     pressed_tab_3a NE 'FS_REALIZ1'   AND

...

 

...

        v_meins   LIKE mara-meins  ,

        v_gewei   LIKE mara-gewei  ,

        v_brgew   LIKE mara-brgew  ,

        v_ntgew   LIKE mara-ntgew  ,

        v_steuc   LIKE marc-steuc  ,

        v_waers_t LIKE ckmlcr-waers,

        v_netpr_t LIKE ckmlcr-stprs.

  CHECK /pws/zycie244-nrforecast IS INITIAL AND

        /pws/zycie244-nrcompos   IS INITIAL.

  CLEAR: v_campo, v_valor, v_linha.

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

  PERFORM carrega_umncm_imp USING itab_zycit245-j_1bnbm

                                  itab_zycit245-codcomp

                         CHANGING v_um_basica

                                  v_um_rez

                                  v_um_ren

                                  v_umncm.

  GET CURSOR FIELD v_campo VALUE v_valor LINE v_linha.

  IF ( v_campo EQ '/PWS/ZYCIE245-CODCOMP' AND NOT v_valor IS INITIAL ).

    CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'

         EXPORTING

              input        = v_valor

         IMPORTING

              output       = v_codcomp

         EXCEPTIONS

              length_error = 1

              OTHERS       = 2.

    v_pos = tc_cimp2-top_line + v_linha - 1.

    READ TABLE itab_zycit245 INDEX v_pos.

    IF sy-subrc EQ 0.

      SELECT meins gewei brgew ntgew UP TO 1 ROWS

* << Fim da exclusão

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

  LOOP AT itab_zycit245.

    SELECT SINGLE meins gewei brgew ntgew

* << Fim da inclusão

             FROM mara INTO (v_meins,v_gewei,v_brgew,v_ntgew)

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

             WHERE matnr = v_codcomp.

      ENDSELECT.

* << Fim da exclusão

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

           WHERE matnr = itab_zycit245-codcomp.

* << Fim da inclusão

      IF sy-subrc NE 0.

        MESSAGE s015 WITH text-026.

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

        DELETE itab_zycit245 INDEX v_pos.

* << Fim da exclusão

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

      DELETE itab_zycit245.

* << Fim da inclusão

        EXIT.

      ELSE.

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

        SELECT kaln1 UP TO 1 ROWS FROM mbew INTO v_kaln1

               WHERE matnr = v_codcomp

* << Fim da exclusão

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

      SELECT SINGLE kaln1 FROM mbew INTO v_kaln1

             WHERE matnr = itab_zycit245-codcomp

* << Fim da inclusão

                 AND bwkey = /pws/zycie244-werks.

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

        ENDSELECT.

* << Fim da exclusão

        IF sy-subrc EQ 0.

          SELECT SINGLE * FROM t001a INTO wat001a

                 WHERE bukrs EQ /pws/zycie244-bukrs.

          CLEAR it_ckmlcr. REFRESH it_ckmlcr.

          IF pressed_tab_2a = 'FS_MERC2'.

            SELECT * FROM ckmlcr INTO TABLE it_ckmlcr

...

 

...

        IF itab_zycit245-brgew IS INITIAL.

          MOVE v_brgew TO itab_zycit245-brgew.

        ENDIF.

        IF itab_zycit245-ntgew IS INITIAL.

          MOVE v_ntgew TO itab_zycit245-ntgew.

        ENDIF.

        IF itab_zycit245-j_1bnbm IS INITIAL.

          SELECT SINGLE a~steuc INTO v_steuc

                 FROM ( marc AS a INNER JOIN t001w AS b ON

                        a~werks EQ b~werks )

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

                 WHERE a~matnr EQ v_codcomp

* << Fim da exclusão

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

               WHERE a~matnr EQ itab_zycit245-codcomp

* << Fim da inclusão

                   AND a~steuc NE space

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

                   AND b~land1 EQ t001-land1.          "#EC CI_BUFFJOIN

* << Fim da exclusão

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

                 AND b~land1 EQ t001-land1.            "#EC CI_BUFFJOIN

* << Fim da inclusão

          MOVE v_steuc TO itab_zycit245-j_1bnbm.

        ENDIF.

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

      PERFORM carrega_umncm_imp USING itab_zycit245-j_1bnbm

                                      itab_zycit245-codcomp

                             CHANGING v_um_basica

                                      v_um_rez

                                      v_um_ren

                                      v_umncm.

* << Fim da inclusão

        IF itab_zycit245-um_ncm IS INITIAL.

          MOVE v_umncm TO itab_zycit245-um_ncm.

        ENDIF.

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

        MODIFY itab_zycit245 INDEX v_pos.

* << Fim da exclusão

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

      MODIFY itab_zycit245.

* << Fim da inclusão

      ENDIF.

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

    ENDIF.

  ENDIF.

* << Fim da exclusão

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

  ENDLOOP.

* << Fim da inclusão

ENDFORM.

FORM check_field_0203.

  LOOP AT tc_cimp2-cols INTO wa_cols2.

    IF v_tcode2 EQ '/PWS/ZYCI040_E'.

      IF wa_cols2-screen-group1 NE 'NEX'.

        wa_cols2-screen-input = v_status2.

        MODIFY tc_cimp2-cols FROM wa_cols2.

      ENDIF.

      IF wa_cols2-screen-group2 EQ 'GR'.

        IF /pws/zycit321-it_ge      NE 'X' OR

...

 

...

          MODIFY tc_realizi-cols FROM wa_cols2.

        ENDIF.

      WHEN 'V_ICOREALIZ'.

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

          wa_cols2-invisible = 1.

        ELSE.

          wa_cols2-invisible = 0.

        ENDIF.

        MODIFY tc_realizi-cols FROM wa_cols2.

      WHEN 'INF_IMP'.

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

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

* << Fim da exclusão

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

        IF /pws/zycie244-modalidade EQ 'I' OR

           ( /pws/zycie244-tipo EQ 'N' AND

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

* << Fim da inclusão

          wa_cols2-invisible = 1.

        ELSE.

          wa_cols2-invisible = 0.

        ENDIF.

        MODIFY tc_realizi-cols FROM wa_cols2.

      WHEN 'V_ICOREAL1'.

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

          wa_cols2-invisible = 1.

        ELSE.

          wa_cols2-invisible = 0.

...

 

...

        itab_zycit245-nritem   TO i_nritem2         ,

        itab_zycit245-maktx    TO v_descr2_0210     ,

        itab_resumo_ap-matnr   TO /pws/zycie245c-codcomp ,

        itab_zycit245-j_1bnbm  TO /pws/zycie245c-j_1bnbm ,

        itab_zycit245-werks    TO /pws/zycie245c-werks   ,

        itab_zycit245-waers    TO /pws/zycie245c-waers   ,

        itab_zycit245-netpr_t  TO /pws/zycie245c-netpr_t ,

        itab_zycit245-meins    TO /pws/zycie245c-meins   .

  MOVE: itab_zycit245-qtd_tot TO /pws/zycie245c-qtd_iten.

  CLEAR: itab_zycit246. REFRESH: itab_zycit246.

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

  LOOP AT itab_zycit246_final WHERE nritem EQ i_nritem.

* << Fim da exclusão

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

  LOOP AT itab_zycit246_final WHERE nritem EQ i_nritem

                                AND matnr  EQ itab_resumo_ap-matnr.

* << Fim da inclusão

    READ TABLE itab_zycit470_s WITH KEY

                                      ebeln = itab_zycit246_final-ebeln

                                      ebelp = itab_zycit246_final-ebelp

                                      nrseq = itab_zycit246_final-nrseq

                                      lote  = itab_zycit246_final-lote.

    IF sy-subrc NE 0.

      CHECK itab_zycit246_final-qtd_ncm >

                                   itab_zycit246_final-qtd_compv.

    ENDIF.

    READ TABLE itab_zycit279_ap WITH KEY

...

 

...

      LOOP AT itab_zycit246_final WHERE nrseqd  = itab_zycit245-nrseqd

                                    AND nritem  = itab_zycit245-nritem

                                    AND codcomp = itab_zycit245-codcomp.

        LOOP AT itab_zycit246 WHERE nrseqd = itab_zycit246_final-nrseqd

                              AND nritem  = itab_zycit246_final-nritem

                              AND codcomp = itab_zycit246_final-codcomp.

          DELETE itab_zycit246.

        ENDLOOP.

        DELETE itab_zycit246_final.

      ENDLOOP.

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

      DELETE itab_zycit245t WHERE nrseqd  = itab_zycit245-nrseqd

                              AND nritem  = itab_zycit245-nritem.

* << Fim da inclusão

      DELETE itab_zycit245.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM trata_button_mall_m.

  IF itab_zycit247[] IS INITIAL.

    EXIT.

  ENDIF.

  IF pressed_tab_4a NE 'FS_MAT2'.

    EXIT.

...

 

...

ENDFORM.

FORM transf_saldo USING p_status_tf.

  DATA: itab_zycit244_ap LIKE /pws/zycit244 OCCURS 0 WITH HEADER LINE,

        itab_zycit245_ap LIKE /pws/zycit245 OCCURS 0 WITH HEADER LINE,

        v_prop TYPE /pws/zycit279-menge,

                    v_encer_a TYPE c.

  REFRESH: itab_zycit279_ap_s.

  p_status_tf = 'S'.

  SELECT * FROM /pws/zycit244 INTO TABLE itab_zycit244_ap

      FOR ALL ENTRIES IN itab_zycit279_ap

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

      WHERE nrseqd EQ itab_zycit279_ap-nrseqd_d

      .

* << Fim da exclusão

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

      WHERE nrseqd EQ itab_zycit279_ap-nrseqd_d.

* << Fim da inclusão

  SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245_ap

      FOR ALL ENTRIES IN itab_zycit279_ap

      WHERE nrseqd EQ itab_zycit279_ap-nrseqd_d.

  LOOP AT itab_zycit279_ap WHERE qtd_transf > 0.

    IF itab_zycit279_ap-nrseqd_d IS INITIAL.

      MESSAGE i015 WITH text-265 itab_zycit279_ap-nrseqdi text-275.

      p_status_tf = 'E'.

      EXIT.

    ENDIF.

    READ TABLE itab_zycit244_ap WITH KEY

...

 

...

           itab_zycit279_e LIKE /pws/zycit279 OCCURS 0 WITH HEADER LINE.

  IF NOT itab_zycit279_ap[] IS INITIAL.

    SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245_ap_s

        FOR ALL ENTRIES IN itab_zycit279_ap

        WHERE nrseqd EQ itab_zycit279_ap-nrseqd_d.

    SELECT * FROM /pws/zycit279 INTO TABLE itab_zycit279_e

        WHERE nrseqd EQ /pws/zycie244-nrseqd.           "#EC CI_NOFIRST

    SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245_e

        FOR ALL ENTRIES IN itab_zycit279_e

        WHERE nrseqd EQ itab_zycit279_e-nrseqd_d.

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

    SORT itab_zycit245_ap_s BY nrseqd nritem.

* << Fim da inclusão

    LOOP AT itab_zycit279_ap.

      CLEAR: itab_zycit279_e.

      READ TABLE itab_zycit279_e WITH KEY

                        nrseq  = itab_zycit279_ap-nrseq

                        ebeln  = itab_zycit279_ap-ebeln

                        lote   = itab_zycit279_ap-lote

                        ebelp  = itab_zycit279_ap-ebelp.

      IF itab_zycit279_ap-nrseqd_d IS INITIAL AND

         itab_zycit279_e-nrseqd_d IS INITIAL.

        CONTINUE.

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

      ENDIF.

      READ TABLE itab_zycit245_ap_s WITH KEY

              nrseqd = itab_zycit279_ap-nrseqd_d.

      IF itab_zycit245_ap_s-tipo NE 'G'.

        IF /pws/zycit321-c_comum IS INITIAL.

          REFRESH itab_zycit433.

          CLEAR itab_zycit433.

          SELECT SINGLE grupo FROM /pws/zycit433

          INTO itab_zycit433-grupo

                WHERE matnr EQ itab_zycit279_ap-matnr.

          SELECT * FROM /pws/zycit433 INTO TABLE itab_zycit433

                WHERE grupo EQ itab_zycit433-grupo.     "#EC CI_NOFIRST

          itab_zycit433-matnr     = 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.

          READ TABLE itab_zycit245_ap_s WITH KEY

                          nrseqd = itab_zycit279_ap-nrseqd_d

                          j_1bnbm = itab_zycit279_ap-j_1bnbm.

* << Fim da exclusão

        ENDIF.

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

      ENDIF.

* << Fim da exclusão

      READ TABLE itab_zycit246_save WITH KEY

                        nrseq = itab_zycit279_ap-nrseq

                        ebeln = itab_zycit279_ap-ebeln

                        lote  = itab_zycit279_ap-lote

                        ebelp = itab_zycit279_ap-ebelp.

      IF NOT itab_zycit279_e-nrseqd_d IS INITIAL.

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

        READ TABLE itab_zycit245_e WITH KEY

                nrseqd = itab_zycit279_e-nrseqd_d.

* << Fim da exclusão

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

        IF itab_zycit279_ap-nrseqdi IS INITIAL.

          LOOP AT itab_zycit245_e

                        WHERE nrseqd = itab_zycit279_e-nrseqd_d

                          AND nritem > '90000'.

            EXIT.

          ENDLOOP.

        ELSE.

          LOOP AT itab_zycit245_e

                        WHERE nrseqd = itab_zycit279_e-nrseqd_d

                          AND nritem < '90000'.

            EXIT.

          ENDLOOP.

        ENDIF.

* << Fim da inclusão

        IF itab_zycit245_e-tipo NE 'G'.

          IF /pws/zycit321-c_comum IS INITIAL.

            REFRESH itab_zycit433.

            CLEAR itab_zycit433.

            SELECT SINGLE grupo FROM /pws/zycit433

            INTO itab_zycit433-grupo

                  WHERE matnr EQ itab_zycit279_e-matnr.

            SELECT * FROM /pws/zycit433 INTO TABLE itab_zycit433

                  WHERE grupo EQ itab_zycit433-grupo.   "#EC CI_NOFIRST

            itab_zycit433-matnr     = itab_zycit279_e-matnr.

            APPEND itab_zycit433.

            LOOP AT itab_zycit433.

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

              READ TABLE itab_zycit245_e WITH KEY

                              nrseqd  = itab_zycit279_e-nrseqd_d

                              codcomp = itab_zycit433-matnr.

* << Fim da exclusão

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

              IF itab_zycit279_ap-nrseqdi IS INITIAL.

                LOOP AT itab_zycit245_e

                              WHERE nrseqd = itab_zycit279_e-nrseqd_d

                                AND codcomp = itab_zycit433-matnr

                                AND nritem > '90000'.

                  EXIT.

                ENDLOOP.

              ELSE.

                LOOP AT itab_zycit245_e

                              WHERE nrseqd = itab_zycit279_e-nrseqd_d

                                AND codcomp = itab_zycit433-matnr

                                AND nritem < '90000'.

                  EXIT.

                ENDLOOP.

              ENDIF.

* << Fim da inclusão

              IF sy-subrc EQ 0.

                EXIT.

              ENDIF.

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

            ENDLOOP.

          ELSE.

            IF itab_zycit279_ap-nrseqdi IS INITIAL.

              LOOP AT itab_zycit245_e

                          WHERE nrseqd = itab_zycit279_e-nrseqd_d

                            AND j_1bnbm = itab_zycit279_e-j_1bnbm

                            AND nritem > '90000'.

                EXIT.

* << Fim da inclusão

            ENDLOOP.

          ELSE.

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

            READ TABLE itab_zycit245_e WITH KEY

                            nrseqd  = itab_zycit279_e-nrseqd_d

                            j_1bnbm = itab_zycit279_e-j_1bnbm.

* << Fim da exclusão

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

              LOOP AT itab_zycit245_e

                          WHERE nrseqd = itab_zycit279_e-nrseqd_d

                            AND j_1bnbm = itab_zycit279_e-j_1bnbm

                            AND nritem < '90000'.

                EXIT.

              ENDLOOP.

* << Fim da inclusão

          ENDIF.

        ENDIF.

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

        ENDIF.

* << Fim da inclusão

        READ TABLE itab_zycit245_s WITH KEY

                nrseqd = itab_zycit245_e-nrseqd

                nritem = itab_zycit245_e-nritem.

        IF sy-subrc NE 0.

          itab_zycit245_s = itab_zycit245_e.

...

 

...

        itab_zycit245_s-vlvinc = itab_zycit245_s-vlvinc

                                      - v_vl_transf.

        itab_zycit245_s-vinculado =

              itab_zycit245_s-vinculado -

              itab_zycit279_e-qtd_transf.

        MODIFY itab_zycit245_s TRANSPORTING vinculado vlvinc

          WHERE nrseqd = itab_zycit245_s-nrseqd

            AND nritem = itab_zycit245_s-nritem.

        IF sy-subrc NE 0 .

          APPEND itab_zycit245_s.

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

        ENDIF.

* << Fim da inclusão

        ENDIF.

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

      IF itab_zycit279_ap-nrseqdi IS INITIAL.

        LOOP AT itab_zycit245_ap_s

                  WHERE nrseqd = itab_zycit279_ap-nrseqd_d

                    AND nritem > '90000'.

          EXIT.

        ENDLOOP.

      ELSE.

        LOOP AT itab_zycit245_ap_s

                  WHERE nrseqd = itab_zycit279_ap-nrseqd_d

                    AND nritem < '90000'.

          EXIT.

        ENDLOOP.

* << Fim da inclusão

      ENDIF.

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

      READ TABLE itab_zycit245_ap_s WITH KEY

              nrseqd = itab_zycit279_ap-nrseqd_d.

      IF itab_zycit245_e-tipo NE 'G'.

* << Fim da exclusão

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

      IF itab_zycit245_ap_s-tipo NE 'G'.

* << Fim da inclusão

        IF /pws/zycit321-c_comum IS INITIAL.

          REFRESH itab_zycit433.

          CLEAR itab_zycit433.

          SELECT SINGLE grupo FROM /pws/zycit433

          INTO itab_zycit433-grupo

                WHERE matnr EQ itab_zycit279_ap-matnr.

          SELECT * FROM /pws/zycit433 INTO TABLE itab_zycit433

                WHERE grupo EQ itab_zycit433-grupo.     "#EC CI_NOFIRST

          itab_zycit433-matnr     = itab_zycit279_ap-matnr.

          APPEND itab_zycit433.

          LOOP AT itab_zycit433.

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

            READ TABLE itab_zycit245_ap_s WITH KEY

                            nrseqd = itab_zycit279_ap-nrseqd_d

                            codcomp = itab_zycit433-matnr.

* << Fim da exclusão

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

            IF itab_zycit279_ap-nrseqdi IS INITIAL.

              LOOP AT itab_zycit245_ap_s

                            WHERE nrseqd = itab_zycit279_ap-nrseqd_d

                              AND codcomp = itab_zycit433-matnr

                              AND nritem > '90000'.

                EXIT.

              ENDLOOP.

            ELSE.

              LOOP AT itab_zycit245_ap_s

                            WHERE nrseqd = itab_zycit279_ap-nrseqd_d

                              AND codcomp = itab_zycit433-matnr

                              AND nritem < '90000'.

                EXIT.

              ENDLOOP.

            ENDIF.

* << Fim da inclusão

            IF sy-subrc EQ 0.

              EXIT.

            ENDIF.

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

          ENDLOOP.

        ELSE.

          IF itab_zycit279_ap-nrseqdi IS INITIAL.

            LOOP AT itab_zycit245_ap_s

                          WHERE nrseqd = itab_zycit279_ap-nrseqd_d

                            AND j_1bnbm = itab_zycit279_ap-j_1bnbm

                            AND nritem > '90000'.

              EXIT.

* << Fim da inclusão

          ENDLOOP.

        ELSE.

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

          READ TABLE itab_zycit245_ap_s WITH KEY

                          nrseqd = itab_zycit279_ap-nrseqd_d

                          j_1bnbm = itab_zycit279_ap-j_1bnbm.

* << Fim da exclusão

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

            LOOP AT itab_zycit245_ap_s

                          WHERE nrseqd = itab_zycit279_ap-nrseqd_d

                            AND j_1bnbm = itab_zycit279_ap-j_1bnbm

                            AND nritem < '90000'.

              EXIT.

            ENDLOOP.

          ENDIF.

* << Fim da inclusão

        ENDIF.

      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.

        itab_zycit245_s = itab_zycit245_ap_s.

      ENDIF.

      IF itab_zycit246_save-i_txmoeda IS INITIAL.

        itab_zycit246_save-i_txmoeda = 1.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI040I01

 

...

        v_saldo_vl     TYPE /pws/zycit245-netpr_t.

  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'

          AND modalidade EQ 'S'

          AND ( tipo EQ 'C' OR tipo EQ 'G' ).

    IF sy-subrc EQ 0.

      IF wa_zycit244_tf-tipo EQ 'G'.

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

        IF pressed_tab_2a = 'FS_MERC2'.

* << Fim da inclusão

        SELECT SINGLE * FROM /pws/zycit245 INTO wa_zycit245_tf

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

            WHERE nrseqd EQ /pws/zycie279-nrseqd_d.

* << Fim da exclusão

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

              WHERE nrseqd EQ /pws/zycie279-nrseqd_d

                AND nritem > 90000.                       "#EC PORTABLE

        ELSE.

          SELECT SINGLE * FROM /pws/zycit245 INTO wa_zycit245_tf

              WHERE nrseqd EQ /pws/zycie279-nrseqd_d

                AND nritem < 90000.                       "#EC PORTABLE

        ENDIF.

* << Fim da inclusão

        READ TABLE itab_zycit246_final WITH KEY

                          nrseq = itab_zycit279_ap_aux-nrseq

                          docnum = itab_zycit279_ap_aux-docnum

                          ebeln = itab_zycit279_ap_aux-ebeln

                          ebelp = itab_zycit279_ap_aux-ebelp.

        READ TABLE itab_zycit279_ap WITH KEY

                          nrseq = itab_zycit279_ap_aux-nrseq

                          docnum = itab_zycit279_ap_aux-docnum

                          ebeln = itab_zycit279_ap_aux-ebeln

                          ebelp = itab_zycit279_ap_aux-ebelp.

...

 

...

            ( /pws/zycie279-qtd_transf * itab_zycit279_ap-valor ) /

                                        itab_zycit246_final-i_txmoeda.

        IF v_saldo_vl < v_vl_transf.

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

          EXIT.

        ELSE.

          MESSAGE s015 WITH text-288.

        ENDIF.

      ELSE.

        REFRESH itab_zycit245_tf.

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

        IF pressed_tab_2a = 'FS_MERC2'.

* << Fim da inclusão

        SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245_tf

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

           WHERE nrseqd  EQ /pws/zycie279-nrseqd_d.

* << Fim da exclusão

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

               WHERE nrseqd EQ /pws/zycie279-nrseqd_d

                 AND nritem > 90000.                      "#EC PORTABLE

        ELSE.

          SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245_tf

               WHERE nrseqd EQ /pws/zycie279-nrseqd_d

                 AND nritem < 90000.                      "#EC PORTABLE

        ENDIF.

* << Fim da inclusão

        CLEAR: itab_zycit245_tf, wa_zycit245_tf.

        IF /pws/zycit321-c_comum IS INITIAL.

          REFRESH itab_zycit433.

          CLEAR itab_zycit433.

          SELECT SINGLE grupo FROM /pws/zycit433

          INTO itab_zycit433-grupo

                WHERE matnr EQ itab_zycit279_ap_aux-matnr.

          SELECT * FROM /pws/zycit433 INTO TABLE itab_zycit433

                WHERE grupo EQ itab_zycit433-grupo.     "#EC CI_NOFIRST

          itab_zycit433-matnr     = itab_zycit279_ap_aux-matnr.

...