CE PLUS - Nota 007001

Módulo: DRAWBACK

Funcionalidade: Entrada de NF Mercado Interno

Data/Hora da Publicação: 22/07/2008 00:00:00

Data/Hora Última Alteração: 17/02/2011 15:25:46

Descrição da Nota: ENTRADA DE NOTAS NOS ATOS CONCESSÓRIOS DO TIPO SUSPENSÃO

Sintoma

Nova funcionalidade no programa de entrada de NF's no mercado interno, ato concessório tipo

suspensão.

 

 

Solução

Nova funcionalidade no programa de entrada de NF's no mercado interno, ato concessório tipo

suspensão.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTE NO TRATAMENTO DE ENTRADA DE NOTA FISCAL COM E SEM ICMS.

ATUALIZAÇÃO DO PROGRAMA PARA TRATATIVA DE GRUPOS COM DIFERENTES NCM'S

Informações Complementares

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

Nota Número 07001 Data: 22/07/2008 Hora: 08:46:24

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

 

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

Nota Número              : 07001

Categoria                : Melhoria

Prioridade               : Baixa

Versão PW.CE             : 7.0

Pacote                   : 00006

Agrupamento              : 00057

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

Referência às notas relacionadas:

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

 

02798  - 00001 - 6.0    - 00026  - AJUSTE NO TRATAMENTO DE ENTRADA DE NOTA FISCAL COM E SEM ICMS.

06056  - 00002 - 7.0    - 00004  - ATUALIZAÇÃO DO PROGRAMA PARA TRATATIVA DE GRUPOS COM DIFERENTES N

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

ENTRADA DE NOTAS NOS ATOS CONCESSÓRIOS DO TIPO SUSPENSÃO

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

Palavras Chave:

ENTRADA DE NOTAS ATO CONCESSÓRIO SUSPENSÃO VERDE AMARELO

 

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

Objetos da nota:

DYNP /PWS/SAPMZYCI052                        0001

DYNP /PWS/SAPMZYCI052                        0100

DYNP /PWS/SAPMZYCI052                        0200

REPS /PWS/MZYCI052F01

REPS /PWS/MZYCI052I01

REPS /PWS/MZYCI052O01

REPS /PWS/MZYCI052TOP

TABD /PWS/ZYCIE329

TABD /PWS/ZYCIE330

TABD /PWS/ZYCIT329

TABD /PWS/ZYCIT330

MENU /PWS/ZYCID

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI052                        0001

 

MODIFICAR CARACTERÍSTICAS DA TELA 0001

Tela seguinte            0001

 

MODIFICAR FRAME "%#AUTOTEXT001"

Altura                   6

 

MODIFICAR CAIXA DE VERIFICAÇÃO "/PWS/ZYCIE329-CICMS"

Linha                    5

 

MODIFICAR CHTXT "/PWS/ZYCIE329-CICMS"

Linha                    5

 

INCLUIR CAIXA DE VERIFICAÇÃO "/PWS/ZYCIE329-TIPO"

Comprimento Visível      1

Linha                    4

Coluna                   4

Formato                  CHAR

Texto                    _

Código função            TIPO

 

INCLUIR CHTXT "/PWS/ZYCIE329-TIPO"

Comprimento Visível      24

Linha                    4

Coluna                   6

Formato                  CHAR

Texto                    Intermediario-Exportação

 

MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0001

process before output.

  module status_0001.

* >> Início da inclusão:

  MODULE set_screen_0001.

* << Fim da inclusão

process after input.

  module user_command_0001.

process on value-request.

  field /pws/zycie329-docnum module trata_docnum.

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI052                        0100

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE329-NFNUM"

Altura                   6

Comprimento Visível      9

Linhas mínimas           9

Texto                    _________

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE330-CODCOMP" em tbl.contr./tabstr.

Altura                   18

Comprimento Visível      18

Linha                    1

Coluna                   18

Formato                  CHAR

Linhas mínimas           18

Texto                    __________________

Código função

 

INCLUIR TEXTO "/PWS/ZYCIE330-CODCOMP" em tbl.contr./tabstr.

Altura                   18

Comprimento Visível      15

Linha                    1

Coluna                   18

Formato                  CHAR

Texto                    Material

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-DTREG" em tbl.contr./tabstr.

Coluna                   17

 

MODIFICAR TEXTO "/PWS/ZYCIE330-DTREG" em tbl.contr./tabstr.

Coluna                   17

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-GEWEI" em tbl.contr./tabstr.

Coluna                   10

 

MODIFICAR TEXTO "/PWS/ZYCIE330-GEWEI" em tbl.contr./tabstr.

Coluna                   10

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-NCM" em tbl.contr./tabstr.

Coluna                   19

 

MODIFICAR TEXTO "/PWS/ZYCIE330-NCM" em tbl.contr./tabstr.

Coluna                   19

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-NETPR" em tbl.contr./tabstr.

Altura                   21

 

MODIFICAR TEXTO "/PWS/ZYCIE330-NETPR" em tbl.contr./tabstr.

Altura                   21

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-NRATOC" em tbl.contr./tabstr.

Coluna                   13

 

MODIFICAR TEXTO "/PWS/ZYCIE330-NRATOC" em tbl.contr./tabstr.

Coluna                   13

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-NRDI" em tbl.contr./tabstr.

Coluna                   15

 

MODIFICAR TEXTO "/PWS/ZYCIE330-NRDI" em tbl.contr./tabstr.

Coluna                   15

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE330-NRITEM" em tbl.contr./tabstr.

Altura                   5

Comprimento Visível      15

Linha                    1

Coluna                   14

Formato                  CHAR

Linhas mínimas           5

Texto                    _______________

 

INCLUIR TEXTO "/PWS/ZYCIE330-NRITEM" em tbl.contr./tabstr.

Altura                   15

Comprimento Visível      15

Linha                    1

Coluna                   14

Formato                  CHAR

Texto                    Item

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-NRSEQD" em tbl.contr./tabstr.

Coluna                   12

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-NTGEW" em tbl.contr./tabstr.

Coluna                   11

 

MODIFICAR TEXTO "/PWS/ZYCIE330-NTGEW" em tbl.contr./tabstr.

Coluna                   11

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-TPDI" em tbl.contr./tabstr.

Coluna                   16

 

MODIFICAR TEXTO "/PWS/ZYCIE330-TPDI" em tbl.contr./tabstr.

Coluna                   16

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE330-WAERK" em tbl.contr./tabstr.

Altura                   5

Comprimento Visível      5

Linha                    1

Coluna                   9

Formato                  CUKY

Linhas mínimas           5

Texto                    _____

 

INCLUIR TEXTO "/PWS/ZYCIE330-WAERK" em tbl.contr./tabstr.

Altura                   5

Comprimento Visível      15

Linha                    1

Coluna                   9

Formato                  CHAR

Texto                    Moeda documento

 

MODIFICAR TEXTO "V_TXTNRSEQ" em tbl.contr./tabstr.

Coluna                   12

 

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI052                        0200

 

MODIFICAR CAIXA DE VERIFICAÇÃO "MARK" em tbl.contr./tabstr.

Texto                    _

 

MODIFICAR CONTROLE DE TABELA "TC_ATO"

Altura                   22

Comprimento Visível      100

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI052F01

 

...

    /pws/zycie329-vltot_me = itab_zycit329-vltot_me.

    /pws/zycie329-vluni_me = itab_zycit329-vluni_me.

  ENDIF.

  IF sy-subrc EQ 0 AND NOT v_tcode = '/PWS/ZYCI052_C'.

    SELECT * FROM /pws/zycit330 INTO TABLE itab_zycit330

           WHERE docnum = /pws/zycie329-docnum.

    MOVE /pws/zycie329 TO wa_zycie329.

    MOVE itab_zycit330[] TO itab_zycit330_aux[].

    IF NOT itab_zycit330[] IS INITIAL.

      SELECT * FROM /pws/zycit279 INTO

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

      TABLE itab_zycit279 "#EC CI_NOFIRST

* << Fim da exclusão

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

      TABLE itab_zycit279                               "#EC CI_NOFIRST

* << Fim da inclusão

             FOR ALL ENTRIES IN itab_zycit330

             WHERE ebeln  = itab_zycit330-ebeln

               AND ebelp  = itab_zycit330-ebelp

               AND docnum = itab_zycit330-docnum

               AND buzei  = itab_zycit330-buzei.

    ENDIF.

  ELSEIF sy-subrc EQ 0 AND v_tcode = '/PWS/ZYCI052_C'.

    MESSAGE i017 WITH text-013.

    LEAVE TO SCREEN 0001.

  ELSEIF sy-subrc NE 0 AND v_tcode = '/PWS/ZYCI052_C'.

...

 

...

           FOR ALL ENTRIES IN itab_zycit330

           WHERE ebeln = itab_zycit330-ebeln AND

                 ebelp = itab_zycit330-ebelp.

    SELECT * FROM j_1bnflin INTO TABLE itab_j_1bnflin

        WHERE docnum EQ /pws/zycie329-docnum.

    REFRESH itab_zycit245.

    SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245

        FOR ALL ENTRIES IN itab_zycit330

        WHERE nrseqd EQ itab_zycit330-nrseqd.

  ENDIF.

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

  IF v_tcode EQ '/PWS/ZYCI052_C'.

* << Fim da inclusão

  REFRESH: itab_zycit279.

  LOOP AT itab_zycit330.

    READ TABLE itab_ekpo WITH KEY ebeln = itab_zycit330-ebeln

                                  ebelp = itab_zycit330-ebelp.

    IF sy-subrc EQ 0.

      MOVE itab_ekpo-matnr TO /pws/zycit279-matnr.

    ENDIF.

    READ TABLE itab_j_1bnflin WITH KEY

                               itmnum = itab_zycit330-buzei.

    /pws/zycit279-vltot =

...

 

...

          itab_zycit330-lote   TO /pws/zycit279-lote   ,

          itab_zycit330-ncm    TO /pws/zycit279-j_1bnbm,

          itab_zycit330-menge  TO /pws/zycit279-qtd_iten,

          itab_zycit330-gewei  TO /pws/zycit279-gewei  ,

          itab_zycit330-waerk  TO /pws/zycit279-waers  ,

          itab_zycit330-netpr  TO /pws/zycit279-netpr  ,

          itab_zycit329-nfnum  TO /pws/zycit279-nfnum  ,

          itab_zycit329-series TO /pws/zycit279-serie  ,

          itab_zycit329-docdat TO /pws/zycit279-dtnf   ,

          itab_zycit330-buzei  TO /pws/zycit279-itmnum .

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

      MOVE: j_1bnfdoc-waerk      TO /pws/zycit279-i_waerscifmi .

      /pws/zycit279-i_txmoeda = itab_j_1bnflin-netwr /

                                /pws/zycit279-vltot.

      /pws/zycit279-valor = itab_j_1bnflin-netwr /

                            /pws/zycit279-menge.

* << Fim da inclusão

    /pws/zycit279-um_base = /pws/zycit279-meins.

    PERFORM  converte_um_base   USING /pws/zycit279-matnr

                             CHANGING /pws/zycit279-um_base

                                      /pws/zycit279-qtd_iten.

    DELETE FROM /pws/zycit279 WHERE docnum EQ itab_zycit330-docnum

                       AND buzei  EQ itab_zycit330-buzei."#EC CI_NOFIRST

    MODIFY /pws/zycit279 FROM /pws/zycit279.

    APPEND /pws/zycit279 TO itab_zycit279.

    CLEAR: itab_zycit330_des.

    READ TABLE itab_zycit330_des WITH KEY

                                  docnum = itab_zycit330-docnum

                                  buzei  = itab_zycit330-buzei .

    IF sy-subrc EQ 0 AND

       itab_zycit330_des-nrseqd EQ itab_zycit330-nrseqd.

      CONTINUE.

    ELSE.

      CLEAR: itab_zycit245_des.

      READ TABLE itab_zycit245_des WITH KEY

                             nrseqd  = itab_zycit330-nrseqd

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

                             j_1bnbm = itab_zycit330-ncm.

* << Fim da exclusão

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

                               nritem = itab_zycit330-nritem.

* << Fim da inclusão

      IF sy-subrc EQ 0.

        itab_zycit245_des-vlvinc = itab_zycit245_des-vlvinc -

                                          /pws/zycit279-vltot.

        itab_zycit245_des-vinculado = itab_zycit245_des-vinculado -

                                             itab_zycit330-menge.

        UPDATE /pws/zycit245

                SET vlvinc    = itab_zycit245_des-vlvinc

                    vinculado = itab_zycit245_des-vinculado

                        WHERE nrseqd EQ itab_zycit245_des-nrseqd

                          AND nritem EQ itab_zycit245_des-nritem.

...

 

...

                  AND nritem EQ itab_zycit245_des-nritem.

        READ TABLE itab_zycit245 WITH KEY

                               nrseqd  = itab_zycit245_des-nrseqd

                               nritem  = itab_zycit245_des-nritem.

        IF sy-subrc EQ 0.

          itab_zycit245-vlvinc = itab_zycit245_des-vlvinc.

          itab_zycit245-vinculado = itab_zycit245_des-vinculado.

          MODIFY itab_zycit245 TRANSPORTING vlvinc vinculado

                WHERE nrseqd EQ itab_zycit245_des-nrseqd

                  AND nritem EQ itab_zycit245_des-nritem.

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

          ENDIF.

* << Fim da inclusão

        ENDIF.

      ENDIF.

      CLEAR: itab_zycit245.

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

      IF /pws/zycit321-apr_imp IS INITIAL.

        READ TABLE itab_zycit245 WITH KEY

                               nrseqd = itab_zycit330-nrseqd

                               nritem = itab_zycit330-nritem.

      ELSE.

* << Fim da inclusão

      READ TABLE itab_zycit245 WITH KEY

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

                             nrseqd  = itab_zycit330-nrseqd

                             j_1bnbm = itab_zycit330-ncm.

* << Fim da exclusão

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

                               nrseqd  = itab_zycit330-nrseqd.

      ENDIF.

* << Fim da inclusão

      IF sy-subrc EQ 0.

        itab_zycit245-vlvinc = itab_zycit245-vlvinc +

                                          /pws/zycit279-vltot.

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

        IF /pws/zycit321-apr_imp IS INITIAL.

* << Fim da inclusão

        itab_zycit245-vinculado = itab_zycit245-vinculado +

                                             itab_zycit330-menge.

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

        ENDIF.

* << Fim da inclusão

        UPDATE /pws/zycit245

                SET vlvinc    = itab_zycit245-vlvinc

                    vinculado = itab_zycit245-vinculado

                        WHERE nrseqd EQ itab_zycit245-nrseqd

                          AND nritem EQ itab_zycit245-nritem.

        MODIFY itab_zycit245 TRANSPORTING vlvinc vinculado

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

                             WHERE nrseqd EQ itab_zycit245-nrseqd

                               AND nritem EQ itab_zycit245-nritem.

      ENDIF.

    ENDLOOP.

    IF NOT itab_zycit279_d[] IS INITIAL.

      LOOP AT itab_zycit279_d.

    READ TABLE itab_zycit330_d WITH KEY docnum = itab_zycit279_d-docnum

                                         buzei  = itab_zycit279_d-buzei.

      READ TABLE itab_zycit245 WITH KEY nrseqd = itab_zycit330_d-nrseqd

                                        nritem = itab_zycit330_d-nritem.

    itab_zycit245-vlvinc = itab_zycit245-vlvinc - itab_zycit279_d-vltot.

        IF /pws/zycit321-apr_imp IS INITIAL.

          itab_zycit245-vinculado =

                        itab_zycit245-vinculado - itab_zycit279_d-menge.

        ENDIF.

        IF itab_zycit245-vinculado <= 0.

          itab_zycit245-vinculado = 0.

        ENDIF.

        IF itab_zycit245-vlvinc <= 0.

          itab_zycit245-vlvinc = 0.

        ENDIF.

        MODIFY itab_zycit245 TRANSPORTING vinculado vlvinc

                          WHERE nrseqd EQ itab_zycit330_d-nrseqd

                          AND   nritem EQ itab_zycit330_d-nritem.

        UPDATE /pws/zycit245

            SET vlvinc    = itab_zycit245-vlvinc

                vinculado = itab_zycit245-vinculado

* << Fim da inclusão

                             WHERE nrseqd EQ itab_zycit245-nrseqd

                               AND nritem EQ itab_zycit245-nritem.

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

      ENDLOOP.

      DELETE /pws/zycit279 FROM TABLE itab_zycit279_d.

* << Fim da inclusão

      ENDIF.

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

  ELSEIF v_tcode EQ '/PWS/ZYCI052_A'.

    IF NOT itab_zycit279_d[] IS INITIAL.

      LOOP AT itab_zycit279_d.

    READ TABLE itab_zycit330_d WITH KEY docnum = itab_zycit279_d-docnum

                                         buzei  = itab_zycit279_d-buzei.

      READ TABLE itab_zycit245 WITH KEY nrseqd = itab_zycit330_d-nrseqd

                                        nritem = itab_zycit330_d-nritem.

    itab_zycit245-vlvinc = itab_zycit245-vlvinc - itab_zycit279_d-vltot.

        IF /pws/zycit321-apr_imp IS INITIAL.

          itab_zycit245-vinculado =

                        itab_zycit245-vinculado - itab_zycit279_d-menge.

* << Fim da inclusão

    ENDIF.

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

        IF itab_zycit245-vinculado <= 0.

          itab_zycit245-vinculado = 0.

        ENDIF.

        IF itab_zycit245-vlvinc <= 0.

          itab_zycit245-vlvinc = 0.

        ENDIF.

        MODIFY itab_zycit245 TRANSPORTING vinculado vlvinc

                          WHERE nrseqd EQ itab_zycit330_d-nrseqd

                          AND   nritem EQ itab_zycit330_d-nritem.

        UPDATE /pws/zycit245

            SET vlvinc    = itab_zycit245-vlvinc

                vinculado = itab_zycit245-vinculado

                    WHERE nrseqd EQ itab_zycit245-nrseqd

                      AND nritem EQ itab_zycit245-nritem.

* << Fim da inclusão

  ENDLOOP.

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

      DELETE /pws/zycit279 FROM TABLE itab_zycit279_d.

    ENDIF.

  ENDIF.

* << Fim da inclusão

  COMMIT WORK AND WAIT.

  MESSAGE i017 WITH /pws/zycie329-docnum.

  MOVE /pws/zycie329 TO wa_zycie329.

  MOVE itab_zycit330[] TO itab_zycit330_aux[].

...

 

...

            text_button_1         = text-010

            icon_button_1         = 'ICON_OKAY'

            text_button_2         = text-011

            icon_button_2         = 'ICON_CANCEL'

            default_button        = '1'

            display_cancel_button = ' '

       IMPORTING

            answer                = v_answer.

  IF v_answer = '1'.

    IF NOT itab_zycit279[] IS INITIAL.

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

      LOOP AT itab_zycit279.

        IF itab_zycit279-menge <> itab_zycit279-slqtde.

          MESSAGE i013 WITH text-014 space text-015.

          LEAVE SCREEN.

        ENDIF.

      ENDLOOP.

* << Fim da inclusão

      CLEAR itab_zycit245_des. REFRESH itab_zycit245_des.

      SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245_des

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

           FOR ALL ENTRIES IN itab_zycit279

            WHERE nrseqd  = itab_zycit279-nrseqd

              AND j_1bnbm = itab_zycit279-j_1bnbm.

* << Fim da exclusão

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

           FOR ALL ENTRIES IN itab_zycit330

            WHERE nrseqd  = itab_zycit330-nrseqd

              AND nritem  = itab_zycit330-nritem.

* << Fim da inclusão

      CLEAR itab_zycit282. REFRESH itab_zycit282.

      SELECT * FROM /pws/zycit282 INTO

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

      TABLE itab_zycit282 "#EC CI_NOFIRST

* << Fim da exclusão

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

      TABLE itab_zycit282                               "#EC CI_NOFIRST

* << Fim da inclusão

             FOR ALL ENTRIES IN itab_zycit279

             WHERE nrseqimp  = itab_zycit279-nrseq

               AND ebeln     = itab_zycit279-ebeln

               AND ebelp     = itab_zycit279-ebelp

               AND docnumimp = itab_zycit279-docnum.

      IF sy-subrc NE 0.

        DELETE FROM /pws/zycit330 WHERE docnum = /pws/zycie329-docnum.

        LOOP AT itab_zycit279.

          DELETE FROM /pws/zycit279 WHERE

                          ebeln  = itab_zycit279-ebeln AND

                          ebelp  = itab_zycit279-ebelp AND

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

                          docnum = itab_zycit279-docnum. "#EC CI_NOFIRST

* << Fim da exclusão

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

                          docnum = itab_zycit279-docnum."#EC CI_NOFIRST

          READ TABLE itab_zycit330 WITH KEY ebeln = itab_zycit279-ebeln

                                            ebelp = itab_zycit279-ebelp.

          IF /pws/zycit321-apr_imp IS INITIAL.

            READ TABLE itab_zycit245_des WITH KEY

                                  nrseqd  = itab_zycit330-nrseqd

                                  nritem  = itab_zycit330-nritem.

          ELSE.

* << Fim da inclusão

          READ TABLE itab_zycit245_des WITH KEY

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

                                nrseqd  = itab_zycit279-nrseqd

                                j_1bnbm = itab_zycit279-j_1bnbm.

* << Fim da exclusão

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

                                  nrseqd  = itab_zycit330-nrseqd.

          ENDIF.

* << Fim da inclusão

          IF sy-subrc EQ 0.

            itab_zycit245_des-vlvinc = itab_zycit245_des-vlvinc -

                                              itab_zycit279-vltot.

            itab_zycit245_des-vinculado = itab_zycit245_des-vinculado -

                                                 itab_zycit279-menge.

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

            IF itab_zycit245_des-vlvinc <= 0.

              itab_zycit245_des-vlvinc = 0.

            ENDIF.

            IF itab_zycit245_des-vinculado <= 0.

              itab_zycit245_des-vinculado = 0.

            ENDIF.

* << Fim da inclusão

            UPDATE /pws/zycit245

                    SET vlvinc    = itab_zycit245_des-vlvinc

                        vinculado = itab_zycit245_des-vinculado

                            WHERE nrseqd EQ itab_zycit245_des-nrseqd

                              AND nritem EQ itab_zycit245_des-nritem.

            MODIFY itab_zycit245_des TRANSPORTING vlvinc vinculado

                    WHERE nrseqd EQ itab_zycit245_des-nrseqd

                      AND nritem EQ itab_zycit245_des-nritem.

          ENDIF.

        ENDLOOP.

...

 

...

    v_tabix = sy-tabix.

    READ TABLE itab_zycit279 WITH KEY ebeln = itab_zycit330-ebeln

                                      ebelp = itab_zycit330-ebelp

                                      docnum = itab_zycit330-docnum.

    IF sy-subrc NE 0.

      DELETE itab_zycit330 INDEX v_tabix.

    ELSE.

      IF itab_zycit279-menge <> itab_zycit279-slqtde.

        MESSAGE i013 WITH text-014 space text-015.

      ELSE.

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

        MOVE itab_zycit279 TO itab_zycit279_d.

        APPEND itab_zycit279_d.

        MOVE itab_zycit330 TO itab_zycit330_d.

        APPEND itab_zycit330_d.

* << Fim da inclusão

        DELETE itab_zycit330 INDEX v_tabix.

      ENDIF.

    ENDIF.

  ENDLOOP.

  IF sy-subrc NE 0.

    MESSAGE i085.

  ENDIF.

ENDFORM.

FORM carrega_dados.

  DATA: BEGIN OF itab_mseg OCCURS 0.

...

 

...

        SELECT SINGLE * FROM mara WHERE matnr = itab_rseg-matnr.

        SELECT SINGLE * FROM ekpo WHERE ebeln = itab_rseg-ebeln AND

                                        ebelp = itab_rseg-ebelp.

        MOVE: ekpo-j_1bnbm   TO itab_zycit330-ncm  ,

              ekpo-gewei     TO itab_zycit330-gewei,

              ekpo-ntgew     TO itab_zycit330-ntgew,

              /pws/zycie329-waerk TO itab_zycit330-waerk.

        MOVE: itab_rseg-buzei TO itab_zycit330-buzei,

              itab_rseg-ebeln TO itab_zycit330-ebeln,

              itab_rseg-ebelp TO itab_zycit330-ebelp.

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

        MOVE itab_rseg-matnr TO itab_zycit330-codcomp.

* << Fim da inclusão

        IF /pws/zycit321-lote NE space.

          REFRESH: itab_mseg.

          CLEAR: itab_mseg.

          SELECT mblnr mjahr zeile charg FROM mseg

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

              INTO TABLE itab_mseg "#EC CI_NOFIELD

* << Fim da exclusão

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

              INTO TABLE itab_mseg                      "#EC CI_NOFIELD

* << Fim da inclusão

              WHERE ebeln = itab_rseg-ebeln

                AND ebelp = itab_rseg-ebelp.

          SORT itab_mseg DESCENDING BY mblnr.

          READ TABLE itab_mseg INDEX 1.

          IF /pws/zycit321-lote EQ '1'.

            itab_zycit330-lote = itab_mseg-charg.

          ELSE.

            SELECT SINGLE licha FROM chvw INTO itab_zycit330-lote

                WHERE mblnr = itab_mseg-mblnr

                  AND mjahr = itab_mseg-mjahr

...

 

...

              AND refitm EQ itab_zycit330-buzei.

        itab_zycit330-buzei = j_1bnflin-itmnum.

        AUTHORITY-CHECK OBJECT 'C_PPBD'

                             ID 'AKTTYP' FIELD 'V'

              ID 'WERKS' FIELD j_1bnflin-werks.

        IF sy-subrc NE 0.

          MESSAGE i015 WITH text-289 j_1bnflin-werks.

          LEAVE TO TRANSACTION sy-tcode.

        ENDIF.

        itab_zycit330-netwr = j_1bnflin-netwr.

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

        IF /pws/zycie329-tipo EQ space.

          PERFORM converter_moeda USING itab_zycit330-netwr

                                        itab_zycit330-waerk

                                        'USD'

                                        itab_zycit329-docdat

                               CHANGING itab_zycit330-netwr.

          itab_zycit330-waerk = 'USD'.

        ENDIF.

* << Fim da inclusão

        IF /pws/zycie329-cicms IS INITIAL.

          itab_zycit330-netpr = itab_zycit330-netwr / j_1bnflin-menge.

        ELSE.

          SELECT SINGLE j_1bnfstx~taxval

            FROM ( j_1bnfstx INNER JOIN j_1baj

                   ON j_1bnfstx~taxtyp = j_1baj~taxtyp )

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

            INTO v_othbas "#EC CI_BUFFJOIN

* << Fim da exclusão

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

            INTO v_othbas                              "#EC CI_BUFFJOIN

* << Fim da inclusão

            WHERE j_1bnfstx~docnum EQ j_1bnflin-docnum

              AND j_1bnfstx~itmnum EQ j_1bnflin-itmnum

              AND j_1baj~taxgrp EQ 'ICMS'.

          itab_zycit330-netwr = itab_zycit330-netwr + v_othbas.

          itab_zycit330-netpr = itab_zycit330-netwr / j_1bnflin-menge.

        ENDIF.

        APPEND itab_zycit330.

      ENDLOOP.

    ENDIF.

  ENDIF.

...

 

...

      MOVE: v_vluni_me TO itab_zycit329-vluni_me            ,

            /pws/zycie329-vltot_me TO itab_zycit329-vltot_me.

      MODIFY itab_zycit329 INDEX sy-tabix.

    ENDIF.

  ENDIF.

ENDFORM.

FORM vincula_ato.

  DATA: v_vltot  LIKE /pws/zycit245-netpr_t,

        v_qtdtot LIKE /pws/zycit245-qtd_tot.

  DATA: v_icon(4)      TYPE c VALUE '@5C@'  .

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

  DATA: v_vinculado TYPE /pws/zycit245-vinculado,

        v_vlvinc    TYPE /pws/zycit245-vlvinc.

* << Fim da inclusão

  CLEAR: ekko, j_1bnflin.

  REFRESH: itab_zycit245, itab_zycit279_aux, itab_zycit244, itab_vinc.

  SELECT SINGLE * FROM ekko

    WHERE ebeln EQ itab_zycit330-ebeln.

  SELECT SINGLE * FROM j_1bnflin

      WHERE docnum EQ itab_zycit330-docnum

        AND itmnum EQ itab_zycit330-buzei .

  IF sy-subrc EQ 0.

    SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245

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

        WHERE tipo EQ 'F' "#EC CI_NOFIELD

* << Fim da exclusão

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

        WHERE tipo EQ 'F'                               "#EC CI_NOFIELD

* << Fim da inclusão

          AND j_1bnbm EQ itab_zycit330-ncm.

    IF NOT itab_zycit245[] IS INITIAL.

      SELECT * FROM /pws/zycit244 INTO TABLE itab_zycit244

          FOR ALL ENTRIES IN itab_zycit245

          WHERE nrseqd EQ itab_zycit245-nrseqd

            AND status EQ 'D'

            AND tipo   EQ 'F'

            AND cicms  EQ /pws/zycie329-cicms

            AND vcto_fn >= sy-datum

            AND lifnr EQ ekko-lifnr.

      IF NOT itab_zycit244[] IS INITIAL.

        SELECT * FROM /pws/zycit279 INTO

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

        TABLE itab_zycit279_aux "#EC CI_NOFIRST

* << Fim da exclusão

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

        TABLE itab_zycit279_aux                         "#EC CI_NOFIRST

* << Fim da inclusão

            FOR ALL ENTRIES IN itab_zycit244

            WHERE nrseqd EQ itab_zycit244-nrseqd

              AND matnr  EQ j_1bnflin-matnr.

      ENDIF.

    ENDIF.

    PERFORM converte_um_ncm USING j_1bnflin-matnr

                          CHANGING itab_zycit330-meins

                                   j_1bnflin-werks

                                   itab_zycit330-menge.

  ENDIF.

  DELETE itab_zycit279_aux WHERE docnum EQ /pws/zycie329-docnum.

  LOOP AT itab_zycit244.

    CLEAR itab_vinc.

    itab_vinc-nrseqd = itab_zycit244-nrseqd.

    itab_vinc-nratoc = itab_zycit244-nratoc.

    CLEAR: v_qtdtot, v_vltot.

    CLEAR itab_zycit245.

    READ TABLE itab_zycit245 WITH KEY nrseqd = itab_zycit244-nrseqd.

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

    LOOP AT itab_zycit279_aux WHERE nrseqd EQ itab_zycit244-nrseqd.

      v_qtdtot = v_qtdtot + itab_zycit279_aux-menge.

      v_vltot = v_vltot + ( itab_zycit279_aux-menge *

                            itab_zycit279_aux-valor ).

* << Fim da exclusão

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

    itab_zycit330_aux[] = itab_zycit330[].

    LOOP AT itab_zycit330_aux WHERE nrseqd EQ itab_zycit245-nrseqd

                           AND  nritem EQ itab_zycit245-nritem.

      PERFORM converte_um_ncm USING itab_zycit330_aux-codcomp

                            CHANGING itab_zycit330_aux-meins

                                     j_1bnflin-werks

                                     itab_zycit330_aux-menge.

      v_vinculado = v_vinculado + itab_zycit330_aux-menge.

      v_vlvinc    = v_vlvinc + itab_zycit330_aux-netwr.

* << Fim da inclusão

    ENDLOOP.

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

    itab_vinc-qtd = itab_zycit245-qtd_ncm - v_qtdtot.

    itab_vinc-valor = itab_zycit245-netpr_t - v_vltot.

* << Fim da exclusão

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

    CLEAR itab_zycit330_aux. REFRESH itab_zycit330_aux.

    itab_vinc-qtd = itab_zycit245-qtd_ncm - itab_zycit245-vinculado -

                                                            v_vinculado.

    itab_vinc-valor = itab_zycit245-netpr_t - itab_zycit245-vlvinc -

                                                            v_vlvinc.

    itab_vinc-nritem = itab_zycit245-nritem.

* << Fim da inclusão

    IF itab_vinc-qtd <= 0.

      itab_vinc-qtd = 0.

    ENDIF.

    IF itab_vinc-valor <= 0.

      itab_vinc-valor = 0.

    ENDIF.

    IF   itab_vinc-qtd   < itab_zycit330-menge

      OR itab_vinc-valor < itab_zycit330-netwr.

      itab_vinc-icon = '@5C@'.

    ELSE.

...

 

...

  CLEAR: v_um_rez, v_um_ren, v_codpais, v_cod_umncm, v_umncm.

  IF p_werks IS INITIAL.

    CLEAR p_qtd.

    EXIT.

  ENDIF.

  CLEAR v_cod_umncm.

  SELECT SINGLE steuc FROM marc INTO v_j_1bnbm

      WHERE matnr EQ p_matnr

        AND werks EQ p_werks.

  IF sy-subrc EQ 0.

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

    SELECT SINGLE land1 /pws/zum "#EC CI_GENBUFF

* << Fim da exclusão

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

    SELECT SINGLE land1 /pws/zum                        "#EC CI_GENBUFF

* << Fim da inclusão

             FROM t604f INTO (v_codpais, v_cod_umncm)

             WHERE steuc = v_j_1bnbm.

  ENDIF.

  IF NOT v_cod_umncm IS INITIAL.

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

    SELECT SINGLE msehi "#EC CI_NOFIELD

* << Fim da exclusão

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

    SELECT SINGLE msehi                                 "#EC CI_NOFIELD

* << Fim da inclusão

             FROM /pws/zyglt204 INTO (v_umncm)

             WHERE zum = v_cod_umncm.

    IF sy-subrc NE 0.

      MESSAGE i015 WITH text-027 text-028 v_j_1bnbm.

      CLEAR p_qtd.

      EXIT.

    ENDIF.

    v_conv1 = 1.

    CALL FUNCTION 'UNIT_CONVERSION_SIMPLE_OLD'

         EXPORTING

...

 

...

      v_um_ren = v_um_ren1.

    ENDIF.

  ENDIF.

  IF v_um_rez IS INITIAL

    OR v_um_ren IS INITIAL.

    EXIT.

  ENDIF.

  p_qtd = ( p_qtd / v_um_ren ) * v_um_rez.

  p_meins = v_meinsb.

ENDFORM.

* >> Início da inclusão:

FORM vincula_ato_susp.

  DATA: v_icon(4)      TYPE c VALUE '@5C@'  .

  DATA: v_vinculado TYPE /pws/zycit245-vinculado,

        v_vlvinc    TYPE /pws/zycit245-vlvinc.

  CLEAR: ekko, j_1bnflin.

  REFRESH: itab_zycit245, itab_zycit279_aux, itab_zycit244, itab_vinc.

  SELECT SINGLE * FROM ekko

    WHERE ebeln EQ itab_zycit330-ebeln.

  SELECT SINGLE * FROM j_1bnflin

      WHERE docnum EQ itab_zycit330-docnum

        AND itmnum EQ itab_zycit330-buzei .

  IF sy-subrc EQ 0.

    IF /pws/zycit321-apr_imp EQ 'X'.

      SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245

       WHERE tipo EQ 'G'.                               "#EC CI_NOFIELD

    ELSE.

      IF /pws/zycit321-c_comum EQ 'X'.

        SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245

          WHERE tipo NE 'F'                             "#EC CI_NOFIELD

              AND j_1bnbm EQ itab_zycit330-ncm.

      ELSE.

        SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245

          WHERE tipo NE 'F'                             "#EC CI_NOFIELD

              AND codcomp EQ itab_zycit330-codcomp.

        SELECT SINGLE * FROM /pws/zycit433

        WHERE matnr  EQ itab_zycit330-codcomp

          AND dtde    =< sy-datum

          AND dtate   => sy-datum.

        IF sy-subrc EQ 0.

          SELECT * FROM /pws/zycit433 INTO TABLE itab_zycit433

          WHERE grupo  EQ /pws/zycit433-grupo

          AND   nritem EQ /pws/zycit433-nritem.

          IF sy-subrc EQ 0.

            SELECT * FROM /pws/zycit245

            APPENDING TABLE itab_zycit245

            FOR ALL ENTRIES IN itab_zycit433

            WHERE codcomp EQ itab_zycit433-matnr.

            SORT itab_zycit245 BY nrseqd nritem.

            DELETE ADJACENT DUPLICATES FROM itab_zycit245 COMPARING

            nrseqd nritem.

          ENDIF.

        ENDIF.

      ENDIF.

    ENDIF.

    IF NOT itab_zycit245[] IS INITIAL.

      SELECT * FROM /pws/zycit244 INTO TABLE itab_zycit244

          FOR ALL ENTRIES IN itab_zycit245

          WHERE nrseqd EQ itab_zycit245-nrseqd

            AND status EQ 'D'

            AND tipo   NE 'F'

            AND modalidade EQ 'S'

            AND vcto_vg >= sy-datum.

    ENDIF.

    PERFORM converte_um_ncm USING j_1bnflin-matnr

                          CHANGING itab_zycit330-meins

                                   j_1bnflin-werks

                                   itab_zycit330-menge.

  ENDIF.

  LOOP AT itab_zycit244.

    CLEAR: itab_vinc, v_vinculado, v_vlvinc.

    itab_vinc-nrseqd = itab_zycit244-nrseqd.

    itab_vinc-nratoc = itab_zycit244-nratoc.

    CLEAR itab_zycit245.

    READ TABLE itab_zycit245 WITH KEY nrseqd = itab_zycit244-nrseqd.

    itab_zycit330_aux[] = itab_zycit330[].

    LOOP AT itab_zycit330_aux WHERE nrseqd EQ itab_zycit245-nrseqd

                           AND  nritem EQ itab_zycit245-nritem.

      PERFORM converte_um_ncm USING itab_zycit330_aux-codcomp

                            CHANGING itab_zycit330_aux-meins

                                     j_1bnflin-werks

                                     itab_zycit330_aux-menge.

      v_vinculado = v_vinculado + itab_zycit330_aux-menge.

      v_vlvinc    = v_vlvinc + itab_zycit330_aux-netwr.

    ENDLOOP.

    CLEAR itab_zycit330_aux. REFRESH itab_zycit330_aux.

    itab_vinc-nritem = itab_zycit245-nritem.

    itab_vinc-qtd = itab_zycit245-qtd_ncm - itab_zycit245-vinculado -

                                                            v_vinculado.

    itab_vinc-valor = itab_zycit245-netpr_t - itab_zycit245-vlvinc -

                                                            v_vlvinc.

    IF itab_vinc-qtd <= 0.

      itab_vinc-qtd = 0.

    ENDIF.

    IF itab_vinc-valor <= 0.

      itab_vinc-valor = 0.

    ENDIF.

    IF /pws/zycit321-apr_imp IS INITIAL.

      IF   itab_vinc-qtd   < itab_zycit330-menge

        OR itab_vinc-valor < itab_zycit330-netwr.

        itab_vinc-icon = '@5C@'.

      ELSE.

        itab_vinc-icon = '@5B@'.

      ENDIF.

    ELSE.

      IF itab_vinc-valor < itab_zycit330-netwr.

        itab_vinc-icon = '@5C@'.

      ELSE.

        itab_vinc-icon = '@5B@'.

      ENDIF.

    ENDIF.

    APPEND itab_vinc.

  ENDLOOP.

  IF itab_vinc[] IS INITIAL.

    MESSAGE i015 WITH text-021.

    EXIT.

  ENDIF.

  SORT itab_vinc BY nrseqd.

  CALL SCREEN '0200'.

ENDFORM.

FORM converter_moeda USING p_devlme

                           p_deme

                           p_parame

                           p_data

                  CHANGING p_paravlme.

  DATA: v_ctmoeda LIKE tcurr-kurst VALUE 'G',

        v_devlme   LIKE bsak-wrbtr,

        v_paravlme LIKE bsak-wrbtr.

  v_devlme = p_devlme .

  IF p_devlme NE 0.

    CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'

         EXPORTING

              i_montante                 = v_devlme

              i_demoeda                  = p_deme

              i_paramoeda                = p_parame

              i_ctmoeda                  = v_ctmoeda

              i_dtbase                   = p_data

         IMPORTING

              e_montante                 = v_paravlme

         EXCEPTIONS

              i_demoeda_nao_encontrado   = 1

              i_paramoeda_nao_encontrado = 2

              fator_nao_encontrado       = 3

              i_ctmoeda_nao_encontrado   = 4

              i_dtbase_nao_encontrada    = 5

              taxa_nao_encontrada        = 6

              i_montante_nao_encontrado  = 7.

    p_paravlme = v_paravlme.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI052I01

 

MODULE user_command_0001 INPUT.

  CASE okcode.

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

    WHEN 'TIPO'.

* << Fim da inclusão

    WHEN 'ENTE'.

      PERFORM lock_record.

      PERFORM seleciona_dados.

      PERFORM busca_descricao.

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

      CALL SCREEN '0100'.

* << Fim da inclusão

    WHEN 'CANCE'.

      LEAVE PROGRAM.

    WHEN 'BACK'.

...

 

...

    WHEN 'VINC'.

      READ TABLE itab_zycit330 WITH KEY mark = 'X'.

      IF sy-subrc NE 0.

        MESSAGE i015 WITH text-022.

        EXIT.

      ENDIF.

      IF NOT itab_zycit330-nrseqd IS INITIAL.

        MESSAGE i015 WITH text-023.

        EXIT.

      ENDIF.

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

      IF /pws/zycie329-tipo EQ 'X'.

* << Fim da inclusão

      PERFORM vincula_ato.

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

      ELSE.

        PERFORM vincula_ato_susp.

      ENDIF.

* << Fim da inclusão

    WHEN 'DESV'.

      READ TABLE itab_zycit330 WITH KEY mark = 'X'.

      IF sy-subrc NE 0.

        MESSAGE i015 WITH text-022.

        EXIT.

      ENDIF.

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

      SELECT SINGLE * FROM /pws/zycit282 "#EC CI_NOFIRST

* << Fim da exclusão

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

      SELECT SINGLE * FROM /pws/zycit282                "#EC CI_NOFIRST

* << Fim da inclusão

          WHERE docnumimp EQ itab_zycit330-docnum.

      IF sy-subrc EQ 0.

        MESSAGE i015 WITH text-024.

        EXIT.

      ENDIF.

      CLEAR itab_zycit330.

      MODIFY itab_zycit330 TRANSPORTING nrseqd nratoc

                           WHERE mark EQ 'X'.

    WHEN 'CLI'.

      CLEAR: v_campo, v_valor, v_index.

...

 

...

          ID 'TCD'  FIELD 'ME23N'.

        IF sy-subrc = 0.

          CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN."#EC CI_CALLTA

        ELSE.

          MESSAGE e261(sf) WITH 'ME23N'.

        ENDIF.

      ELSEIF v_campo = '/PWS/ZYCIE330-NRSEQD' AND NOT v_valor IS

 INITIAL.

        SET PARAMETER ID '/PWS/ZYCIP435' FIELD v_valor.

        CALL TRANSACTION '/PWS/ZYCI040_E'

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

        AND SKIP FIRST SCREEN."#EC CI_CALLTA

* << Fim da exclusão

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

        AND SKIP FIRST SCREEN.                           "#EC CI_CALLTA

* << Fim da inclusão

      ELSEIF v_campo = '/PWS/ZYCIE329-DOCNUM' AND NOT v_valor IS

 INITIAL.

        MOVE v_valor TO v_docnum.

        SET PARAMETER ID 'JEF' FIELD v_docnum.

        AUTHORITY-CHECK OBJECT 'S_TCODE' ID 'TCD' FIELD 'J1B3'.

        IF sy-subrc = 0.

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

          CALL TRANSACTION 'J1B3' AND SKIP FIRST SCREEN."#EC CI_CALLTA

* << Fim da exclusão

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

          CALL TRANSACTION 'J1B3' AND SKIP FIRST SCREEN. "#EC CI_CALLTA

* << Fim da inclusão

        ELSE.

          MESSAGE e261(sf) WITH 'J1B3'.

        ENDIF.

      ENDIF.

    WHEN 'P-'.

      CLEAR nextline.

      DESCRIBE TABLE itab_zycit330 LINES v_ilinhas.

      PERFORM blaettern

              USING tc_itens-current_line 9 v_ilinhas okcode

              CHANGING nextline.

...

 

...

        /pws/zycie330-netpr  TO itab_zycit330-netpr ,

        /pws/zycie330-waerk  TO itab_zycit330-waerk ,

        /pws/zycie330-netwr  TO itab_zycit330-netwr ,

        /pws/zycie330-gewei  TO itab_zycit330-gewei ,

        /pws/zycie330-ntgew  TO itab_zycit330-ntgew ,

        /pws/zycie330-nrseqd TO itab_zycit330-nrseqd,

        /pws/zycie330-nratoc TO itab_zycit330-nratoc,

        /pws/zycie330-nrdi   TO itab_zycit330-nrdi  ,

        /pws/zycie330-tpdi   TO itab_zycit330-tpdi  ,

        /pws/zycie330-dtreg  TO itab_zycit330-dtreg ,

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

        /pws/zycie330-codcomp TO itab_zycit330-codcomp,

        /pws/zycie330-nritem  TO itab_zycit330-nritem ,

* << Fim da inclusão

        /pws/zycie330-ncm    TO itab_zycit330-ncm   ,

        mark            TO itab_zycit330-mark  .

  IF itab_zycit330-nrseqd IS INITIAL.

    CLEAR itab_zycit330-nratoc.

  ENDIF.

  IF NOT /pws/zycie330-ebeln IS INITIAL AND NOT /pws/zycie330-ebelp IS

 INITIAL.

    MODIFY itab_zycit330 INDEX tc_itens-current_line.

  ENDIF.

  IF sy-subrc NE 0.

...

 

...

                                     AND matnr  = ekpo-matnr.

    IF sy-subrc EQ 0.

      MOVE: j_1bnflin-itmnum   TO /pws/zycie330-buzei,

            ekpo-meins         TO /pws/zycie330-meins,

            ekpo-j_1bnbm       TO /pws/zycie330-ncm  ,

            /pws/zycie329-waerk TO /pws/zycie330-waerk.

      MOVE: ekpo-netpr TO /pws/zycie330-netpr,

            ekpo-netwr TO /pws/zycie330-netwr,

            ekpo-gewei TO /pws/zycie330-gewei,

            ekpo-ntgew TO /pws/zycie330-ntgew.

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

      MOVE ekpo-matnr TO /pws/zycie330-codcomp.

* << Fim da inclusão

      IF ekpo-umrez NE 0 AND ekpo-umren NE 0.

        /pws/zycie330-meins = ekpo-lmein.

       /pws/zycie330-menge = ( ( ekpo-menge * ekpo-umrez ) / ekpo-umren

 ).

      ELSE.

        /pws/zycie330-meins = ekpo-meins.

        /pws/zycie330-menge = ekpo-menge.

      ENDIF.

    ELSE.

      MESSAGE i013 WITH text-017.

...

 

...

MODULE user_command_0200 INPUT.

  CASE okcode .

    WHEN 'EXIT'.

      LEAVE TO SCREEN 100.

    WHEN 'VINC'.

      READ TABLE itab_vinc WITH KEY mark = 'X'.

      IF sy-subrc EQ 0

         AND itab_vinc-icon EQ '@5B@'.

        itab_zycit330-nrseqd = itab_vinc-nrseqd.

        itab_zycit330-nratoc = itab_vinc-nratoc.

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

        MODIFY itab_zycit330 TRANSPORTING nrseqd nratoc

* << Fim da exclusão

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

        itab_zycit330-nritem = itab_vinc-nritem.

        MODIFY itab_zycit330 TRANSPORTING nrseqd nratoc nritem

* << Fim da inclusão

                             WHERE docnum EQ itab_zycit330-docnum

                               AND buzei  EQ itab_zycit330-buzei.

        delete from /pws/zycit279 where docnum eq itab_zycit330-docnum

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

                     and buzei  eq itab_zycit330-buzei."#EC CI_NOFIRST

* << Fim da exclusão

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

                     AND buzei  EQ itab_zycit330-buzei. "#EC CI_NOFIRST

* << Fim da inclusão

        LEAVE TO SCREEN 100.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI052O01

 

...

         itab_zycit330-netpr  TO /pws/zycie330-netpr ,

         itab_zycit330-waerk  TO /pws/zycie330-waerk ,

         itab_zycit330-netwr  TO /pws/zycie330-netwr ,

         itab_zycit330-gewei  TO /pws/zycie330-gewei ,

         itab_zycit330-ntgew  TO /pws/zycie330-ntgew ,

         itab_zycit330-nrseqd TO /pws/zycie330-nrseqd,

         itab_zycit330-nratoc TO /pws/zycie330-nratoc,

         itab_zycit330-nrdi   TO /pws/zycie330-nrdi  ,

         itab_zycit330-tpdi   TO /pws/zycie330-tpdi  ,

         itab_zycit330-dtreg  TO /pws/zycie330-dtreg ,

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

         itab_zycit330-codcomp TO /pws/zycie330-codcomp,

         itab_zycit330-nritem  TO /pws/zycie330-nritem ,

* << Fim da inclusão

         itab_zycit330-ncm    TO /pws/zycie330-ncm   ,

         itab_zycit330-mark   TO mark           .

  DESCRIBE TABLE itab_zycit330 LINES v_line.

  tc_itens-lines = v_line + 11.

ENDMODULE.

MODULE set_screen OUTPUT.

  IF v_tcode = '/PWS/ZYCI052_E'.

    LOOP AT SCREEN.

      IF screen-group1 EQ 'OPE'.

        screen-input = 0.

...

 

...

ENDMODULE.

MODULE preenche_tela_200 OUTPUT.

  mark = itab_vinc-mark.

ENDMODULE.

MODULE status_0200 OUTPUT.

  SET PF-STATUS 'ST0200'.

  SET TITLEBAR 'T0200'.

  DESCRIBE TABLE itab_vinc LINES v_line.

  tc_ato-lines = v_line.

ENDMODULE.

* >> Início da inclusão:

MODULE set_screen_0001 OUTPUT.

  LOOP AT SCREEN.

    IF screen-name EQ '/PWS/ZYCIE329-TIPO'.

      IF v_tcode EQ '/PWS/ZYCI052_A' OR v_tcode EQ '/PWS/ZYCI052_E'.

        screen-invisible = 1.

      ENDIF.

    ENDIF.

    IF screen-name EQ '/PWS/ZYCIE329-CICMS'.

      IF v_tcode EQ '/PWS/ZYCI052_A' OR v_tcode EQ '/PWS/ZYCI052_E'.

        screen-invisible = 1.

      ELSEIF v_tcode EQ '/PWS/ZYCI052_C' AND /pws/zycie329-tipo EQ ''.

        CLEAR /pws/zycie329-cicms.

        screen-invisible = 1.

      ENDIF.

    ENDIF.

    IF screen-name EQ '/PWS/ZYCIE329-CICMS'.

      IF /pws/zycie329-tipo EQ 'X'.

        screen-invisible = 0.

      ENDIF.

    ENDIF.

    MODIFY SCREEN.

  ENDLOOP.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI052TOP

 

PROGRAM /pws/sapmzyci052 MESSAGE-ID /pws/zycim.

TABLES: /pws/zycit330, /pws/zycit329, /pws/zycie329, /pws/zycie330,

        j_1bnfdoc    , ekpo         , /pws/zycie245, /pws/zycit245,

        ekko         , /pws/zycit321, /pws/zycit279, /pws/zycit282,

        j_1bnflin    , mara         ,  rbkp        , rseg         ,

* >> Início da exclusão:

        mseg         , chvw         ,

        j_1bnfstx.

* << Fim da exclusão

* >> Início da inclusão:

        mseg         , chvw         ,  j_1bnfstx   , /pws/zycit433.

* << Fim da inclusão

DATA: BEGIN OF itab_zycit330 OCCURS 10.

        INCLUDE STRUCTURE /pws/zycit330.

DATA: mark TYPE c.

DATA: END OF itab_zycit330.

DATA: BEGIN OF itab_zycit330_aux OCCURS 10.

        INCLUDE STRUCTURE /pws/zycit330.

DATA: mark TYPE c.

DATA: END OF itab_zycit330_aux.

* >> Início da inclusão:

DATA: BEGIN OF itab_zycit330_d OCCURS 10.

        INCLUDE STRUCTURE /pws/zycit330.

DATA: mark TYPE c.

DATA: END OF itab_zycit330_d.

* << Fim da inclusão

DATA: BEGIN OF itab_zycit279 OCCURS 10.

        INCLUDE STRUCTURE /pws/zycit279.

DATA: END OF itab_zycit279.

* >> Início da inclusão:

DATA: BEGIN OF itab_zycit279_d OCCURS 10.

        INCLUDE STRUCTURE /pws/zycit279.

DATA: END OF itab_zycit279_d.

DATA: BEGIN OF itab_zycit433 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit433.

DATA: END OF itab_zycit433.

* << Fim da inclusão

DATA: BEGIN OF itab_zycit282 OCCURS 10.

        INCLUDE STRUCTURE /pws/zycit282.

DATA: END OF itab_zycit282.

DATA: BEGIN OF itab_rseg OCCURS 10.

        INCLUDE STRUCTURE rseg.

DATA: END OF itab_rseg.

DATA: BEGIN OF itab_zycit329 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit329.

DATA: END OF itab_zycit329.

DATA: BEGIN OF itab_ekpo OCCURS 10,

...

 

...

DATA: END OF itab_j_1bnflin.

DATA: BEGIN OF itab_zycit279_aux OCCURS 10.

        INCLUDE STRUCTURE /pws/zycit279.

DATA: END OF itab_zycit279_aux.

DATA: BEGIN OF itab_vinc OCCURS 10.

DATA: icon(4)                     ,

      nrseqd LIKE /pws/zycit244-nrseqd ,

      nratoc LIKE /pws/zycit244-nratoc ,

      qtd    LIKE /pws/zycit245-qtd_tot,

      valor  LIKE /pws/zycit245-netpr_t,

* >> Início da inclusão:

      nritem like /pws/zycit245-nritem ,

* << Fim da inclusão

      mark                        .

DATA: END OF itab_vinc.

DATA wa_zycie329 LIKE /pws/zycie329.

DATA: tdynpread  LIKE dynpread OCCURS 0 WITH HEADER LINE.

CONTROLS: tc_itens TYPE TABLEVIEW USING SCREEN 0100,

          tc_ato   TYPE TABLEVIEW USING SCREEN 0200.

DATA: v_name1      LIKE lfa1-name1      ,

      v_waers      LIKE /pws/zycit001-waers  ,

      v_tcode      LIKE sy-tcode        ,

      okcode       LIKE sy-ucomm        ,

...

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIE329

 

Nome campo Elem.dados    Tab.verif. N CtDt Comp. Grupo

 

MANDT      MANDT                      CLNT     3

DOCNUM     J_1BDOCNUM    J_1BNFDOC    NUMC    10

NFNUM      /PWS/ZYCIL864              NUMC     9

VLTOT_ME   WRBTV_FPM                  CURR    23

VLUNI_ME   /PWS/ZYCIL128              DEC     20

SERIES     J_1BSERIES                 CHAR     3

SUBSER     J_1BSUBSER                 CHAR     2

BUKRS      BUKRS         T001         CHAR     4

WAERK      WAERK         TCURC        CUKY     5

J_1BBRANCH J_1BBRANC_    J_1BBRANCH   CHAR     4

DOCDAT     J_1BDOCDAT                 DATS     8

DATSYS     SYDATUM                    DATS     8

CICMS      CHAR1                      CHAR     1

* >> Início da inclusão:

TIPO       CHAR1                      CHAR     1

* << Fim da inclusão

 

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

Modificações efetuadas em TABD /PWS/ZYCIE330

 

Nome campo Elem.dados    Tab.verif.    N CtDt Comp. Grupo

 

MANDT      MANDT                         CLNT     3

DOCNUM     J_1BDOCNUM                    NUMC    10

BUZEI      RBLGP                         NUMC     6

EBELN      /PWS/ZYCIL600                 CHAR    10

EBELP      /PWS/ZYCIL548                 NUMC     5

LOTE       LICHN                         CHAR    15

MEINS      BSTME         T006            UNIT     3

MENGE      BSTMG                         QUAN    13

NETPR      J_1BNETPRI                    DEC     16

WAERK      WAERK                         CUKY     5

NETWR      J_1BNETVAL                    CURR    15

GEWEI      EGEWE         T006            UNIT     3

NTGEW      NTGEW_15                      QUAN    15

NRATOC     CHAR13                        CHAR    13

NRSEQD     /PWS/ZYCIL601 /PWS/ZYCIT244   CHAR    10

NRDI       /PWS/ZYCIL230 /PWS/ZYCIT085   CHAR    10

TPDI       /PWS/ZYCIL231                 CHAR     1

DTREG      DATUM                         DATS     8

NCM        STEUC         T604F           CHAR    16

* >> Início da inclusão:

CODCOMP    MATNR                         CHAR    18

NRITEM     CHAR05                        CHAR     5

* << Fim da inclusão

 

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

Modificações efetuadas em TABD /PWS/ZYCIT329

 

Nome campo Elem.dados    Tab.verif. N CtDt Comp. Grupo

 

MANDT      MANDT                      CLNT     3

DOCNUM     J_1BDOCNUM    J_1BNFDOC    NUMC    10

NFNUM      /PWS/ZYCIL864              NUMC     9

VLTOT_ME   WRBTV_FPM                  CURR    23

VLUNI_ME   /PWS/ZYCIL128              DEC     20

SERIES     J_1BSERIES                 CHAR     3

SUBSER     J_1BSUBSER                 CHAR     2

BUKRS      BUKRS         T001         CHAR     4

WAERK      WAERK         TCURC        CUKY     5

J_1BBRANCH J_1BBRANC_    J_1BBRANCH   CHAR     4

DOCDAT     J_1BDOCDAT                 DATS     8

DATSYS     SYDATUM                    DATS     8

CICMS      CHAR1                      CHAR     1

* >> Início da inclusão:

TIPO       CHAR1                      CHAR     1

* << Fim da inclusão

 

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

Modificações efetuadas em TABD /PWS/ZYCIT330

 

Nome campo Elem.dados    Tab.verif.    N CtDt Comp. Grupo

 

MANDT      MANDT                         CLNT     3

DOCNUM     J_1BDOCNUM                    NUMC    10

BUZEI      RBLGP                         NUMC     6

EBELN      /PWS/ZYCIL600                 CHAR    10

EBELP      /PWS/ZYCIL548                 NUMC     5

LOTE       LICHN                         CHAR    15

MEINS      BSTME         T006            UNIT     3

MENGE      BSTMG                         QUAN    13

NETPR      J_1BNETPRI                    DEC     16

WAERK      WAERK                         CUKY     5

NETWR      J_1BNETVAL                    CURR    15

GEWEI      EGEWE         T006            UNIT     3

NTGEW      NTGEW_15                      QUAN    15

NRATOC     CHAR13                        CHAR    13

NRSEQD     /PWS/ZYCIL601 /PWS/ZYCIT244   CHAR    10

NRDI       /PWS/ZYCIL230 /PWS/ZYCIT085   CHAR    10

TPDI       /PWS/ZYCIL231                 CHAR     1

DTREG      DATUM                         DATS     8

NCM        STEUC         T604F           CHAR    16

* >> Início da inclusão:

CODCOMP    MATNR                         CHAR    18

NRITEM     CHAR05                        CHAR     5

* << Fim da inclusão

 

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

Modificações efetuadas em MENU /PWS/ZYCID

 

Forecast ( Planejamento de vendas )

Composição de Drawback Isenção

Ato Concessório

Apropriação de Exportação

Vinculação de Importação

Siscomex

* >> Início da exclusão:

Entrada de Notas Fiscais ( Intermediário-Exportação )

* << Fim da exclusão

* >> Início da inclusão:

Entrada de Notas Fiscais (Mercado Interno)

* << Fim da inclusão

Relatórios

Comprovação Drawback Intermediário-Importação / Comercial Exportadora

Parâmetros