CE PLUS - Nota 004831

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

Data/Hora da Publicação: 26/09/2007 00:00:00

Data/Hora Última Alteração: 04/04/2013 11:30:05

Descrição da Nota: DESENVOLVER FUNCIONALIDADE FUNDAP NA NF E NA DI

Sintoma

Desenvolver funcionalidade Fundap

 

 

Solução

Novo desenvolvimento para atender os casos de Fundap com Nota de Transferência.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

PROGRAMA DE NF ESTÁ CONSUMINDO MUITA MEMÓRIA. PROBLEMAS DE PERFORMANCE.

ALTERAÇÃO DO NOME DO CAMPO FUNDAPIANA NA DI

FATURA DE DESPESA PARA EMBARQUES DE SERVIÇO

NÃO ESTAVA SENDO LEVADO O TEXTO DA OBSERVAÇÃO PARA O CAMPO DA NF

ERRO NO CÁLCULO DE DESPESAS E VALORES DA NF UTILIZANDO GRANEL + CIF

Informações Complementares

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

Nota Número 04831 Data: 26/09/2007 Hora: 14:35:37

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

 

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

Nota Número              : 04831

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00003

Agrupamento              : 00014

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

Referência às notas relacionadas:

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

 

01927  - 00001 - 6.0    - 00024  - PROGRAMA DE NF ESTÁ CONSUMINDO MUITA MEMÓRIA. PROBLEMAS DE PERFOR

02396  - 00002 - 6.0    - 00025  - FATURA DE DESPESA PARA EMBARQUES DE SERVIÇO

03945  - 00003 - 7.0    - 00002  - NÃO ESTAVA SENDO LEVADO O TEXTO DA OBSERVAÇÃO PARA O CAMPO DA NF

04009  - 00004 - 7.0    - 00001  - ERRO NO CÁLCULO DE DESPESAS E VALORES DA NF UTILIZANDO GRANEL + C

04175  - 00005 - 7.0    - 00002  - ALTERAÇÃO DO NOME DO CAMPO FUNDAPIANA NA DI

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

DESENVOLVER FUNCIONALIDADE FUNDAP NA NF E NA DI

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

Palavras Chave:

FUNDAP - NF - DI - FUNDAPIANA

 

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

Objetos da nota:

CUAD /PWS/SAPMZYCI016

DOMA /PWS/ZYCID179

DOMD /PWS/ZYCED076

DTEL /PWS/ZYCIL855

DTEL /PWS/ZYGLD568

DTEL /PWS/ZYGLD569

DYNP /PWS/SAPMZYCI016                        0130

DYNP /PWS/SAPMZYCI023                        0433

FUNC /PWS/ZYCI_RATEIO_CUSTO

REPS /PWS/MZYCI016F01

REPS /PWS/MZYCI016I01

REPS /PWS/MZYCI016O01

REPS /PWS/MZYCI016X01

REPS /PWS/MZYCI023F02

REPS /PWS/MZYCI023F04

REPS /PWS/MZYCI023O01

REPS /PWS/MZYCI023X01

REPT /PWS/SAPMZYCI016

SHI3 /PWS/ZYCI

TABL /PWS/ZYCIT478

TABL /PWS/ZYCIT479

TABL /PWS/ZYCIT480

TABU TDDAT

TABU TMENU01

TABU TMENU01R

TABU TMENU01T

TABU TVDIR

TOBJ /PWS/ZYCIT478S

TOBJ /PWS/ZYCIT479S

TRAN /PWS/ZYCIT478

TRAN /PWS/ZYCIT479

 

 

 

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

Modificações efetuadas em DOMA /PWS/ZYCID179

 

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

Domínio incluído: /PWS/ZYCID179

Descrição breve incluída (23 caracteres), idioma: PT

"GL - Tipo Operação ICMS"

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Categoria de dados: CHAR

Número de posições: 1

Comprimento de saída: 1

Rotina de conversão:

Letras minúsculas: NÃO

-Valores individuais

Incluído valor fixo "1"

Texto incluído, idioma: PT (10 caracteres):

"Base Cheia"

Incluído valor fixo "2"

Texto incluído, idioma: PT (12 caracteres):

"Redução Base"

Incluído valor fixo "3"

Texto incluído, idioma: PT (17 caracteres):

"Alíquota Reduzida"

Incluída tabela de valores:

 

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

Modificações efetuadas em DOMD /PWS/ZYCED076

 

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

Domínio modificado: /PWS/ZYCED076

-Valores individuais

Incluído valor fixo "FU"

Texto modificado, idioma: PT (10 caracteres):

"Fundapiana"

Excluído valor fixo "FD"

 

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

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

*Criados elementos de dados

 

Modificações efetuadas em DTEL /PWS/ZYGLL1358

 

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

Elemento de dados incluído: /PWS/ZYGLL1358

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Descrição breve incluída: (37 caracteres), idioma: PT

"CI - Tipo de Processo"

Categoria de dados: /PWS/ZYGLD568

Domínio: CHAR1

ID parâmetro:

Nome componente default:

Documentar modificações: NÃO

Nome da ajuda de pesquisa:

Parâmetro da ajuda de pesquisa:

Comprimento máximo do denominador breve: 10

Denominador breve incluído (10 caracteres), idioma: PT

"Tp.proc."

Comprimento máximo do denominador médio: 20

Denominador médio incluído (20 caracteres), idioma: PT

"Tp.proc."

Comprimento máximo do denominador longo: 32

Denominador longo incluído (32 caracteres), idioma: PT

"Tp.proc."

Comprimento máximo do título: 32

Título incluído (32 caracteres), idioma: PT

"Tp.proc."

 

 

 

Modificações efetuadas em DTEL /PWS/ZYCIL855

 

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

Elemento de dados incluído: /PWS/ZYCIL855

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Descrição breve incluída: (26 caracteres), idioma: PT

"GL - Tipo de Operação ICMS"

Categoria de dados: Domínio

Domínio: /PWS/ZYCID179

ID parâmetro:

Nome componente default:

Documentar modificações: NÃO

Nome da ajuda de pesquisa:

Parâmetro da ajuda de pesquisa:

Comprimento máximo do denominador breve: 10

Denominador breve incluído (7 caracteres), idioma: PT

"Tp.ICMS"

Comprimento máximo do denominador médio: 15

Denominador médio incluído (12 caracteres), idioma: PT

"Tp.Oper.ICMS"

Comprimento máximo do denominador longo: 20

Denominador longo incluído (14 caracteres), idioma: PT

"Tipo Oper.ICMS"

Comprimento máximo do título: 18

Título incluído (18 caracteres), idioma: PT

"Tipo Operação ICMS"

 

 

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

Modificações efetuadas em DTEL /PWS/ZYGLD568

 

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

Elemento de dados incluído: /PWS/ZYGLD568

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Descrição breve incluída: (15 caracteres), idioma: PT

"GL - Percentual"

Categoria de dados: Domínio

Domínio: J_1BTXRATE

ID parâmetro:

Nome componente default:

Documentar modificações: NÃO

Nome da ajuda de pesquisa:

Parâmetro da ajuda de pesquisa:

Comprimento máximo do denominador breve: 10

Denominador breve incluído (10 caracteres), idioma: PT

"Percentual"

Comprimento máximo do denominador médio: 15

Denominador médio incluído (10 caracteres), idioma: PT

"Percentual"

Comprimento máximo do denominador longo: 20

Denominador longo incluído (10 caracteres), idioma: PT

"Percentual"

Comprimento máximo do título: 10

Título incluído (10 caracteres), idioma: PT

"Percentual"

 

 

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

Modificações efetuadas em DTEL /PWS/ZYGLD569

 

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

Elemento de dados incluído: /PWS/ZYGLD569

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Descrição breve incluída: (15 caracteres), idioma: PT

"GL - Mensagem 1"

Categoria de dados: Domínio

Domínio: CHAR70

ID parâmetro:

Nome componente default:

Documentar modificações: NÃO

Nome da ajuda de pesquisa:

Parâmetro da ajuda de pesquisa:

Comprimento máximo do denominador breve: 10

Denominador breve incluído (5 caracteres), idioma: PT

"Msg 1"

Comprimento máximo do denominador médio: 15

Denominador médio incluído (10 caracteres), idioma: PT

"Mensagem 1"

Comprimento máximo do denominador longo: 20

Denominador longo incluído (10 caracteres), idioma: PT

"Mensagem 1"

Comprimento máximo do título: 70

Título incluído (10 caracteres), idioma: PT

"Mensagem 1"

 

 

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

Modificações efetuadas em TABL /PWS/ZYCIT478

 

*Criada tabela TABL /PWS/ZYCIT478

 

*Características

Classe desenvolvimento /PWS/ZYCI

Idioma original        PT

Classe de entrega      A

 

 

CAMPOS   CHAVE  INICIAL TIPO DE CAMPO    CATEG  COMP   CASA

MANDT  X      X       MANDT            CLNT 3 0

LIFNR  X      X       LIFNR       CHAR 10 0

OP_ICMS  X      X       /PWS/ZYCIL855 CHAR 1 0

PERCENT                 /PWS/ZYGLD568 DEC 6 2

 

* criar transação

/PWS/ZYCIT478

 

* criar visão de atualização

 

Tabela/visão          /PWS/ZYCIT478

 

 

 Grupo de autorização ZYCE   pw.CE - Grp. Autor.

 Objeto autorização   S_TABU_DIS

 Grupo de funções     /PWS/ZYCIGF1

 Cl.desenvolvimento   /PWS/ZYCI

 

  Ctg.atualização

 

  Nº tela atualização  Tela de síntese      478

                       Tela individual      0

 

 Rotina de registro

 

 Código de ajuste      Ajustável automaticamente

 

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

Modificações efetuadas em TABL /PWS/ZYCIT479

 

* Características

 

Classe desenvolvimento /PWS/ZYCI

Idioma original        PT

 

Categoria de tabela    Tabela transparente

Classe de entrega      A Tabela de aplicação (dados mestre e de movimento)

 

 

 

 

 

*Criada tabela TABL /PWS/ZYCIT479

 

CAMPOS   CHAVE  INICIAL TIPO DE CAMPO    CATEG  COMP   CASA     TAB.VERIFICACAO

MANDT  X      X       MANDT            CLNT 3 0

TPNF  X      X       MANDT       CLNT 3 0  /PWS/ZYCIT018

TEXT1                   /PWS/ZYGLD569 CHAR 70 0

TEXT2                   /PWS/ZYCIL217 CHAR 70     0

 

 

* criar transação

/PWS/ZYCIT479

 

*gerar visão de atualização de tabela

 

Tabela/visão          /PWS/ZYCIT479

 

 

 Grupo de autorização ZYCE

 Objeto autorização   S_TABU_DIS

 Grupo de funções     /PWS/ZYCIGF1

 Cl.desenvolvimento   /PWS/ZYCI

 

  Ctg.atualização

 

  Nº tela atualização  Tela de síntese      479

                       Tela individual      0

 

 

 Rotina de registro

 

 Código de ajuste      Ajustável automaticamente

 

 

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

Modificações efetuadas em TABL /PWS/ZYCIT480

 

 

*Criada tabela TABL /PWS/ZYCIT480

 

*características

Classe desenvolvimento /PWS/ZYCI

Idioma original        PT

 

Categoria de tabela    Tabela transparente

Classe de entrega      A Tabela de aplicação (dados mestre e de movimento)

 

 

CAMPOS        CHAVE  INICIAL TIPO DE CAMPO    CATEG  COMP   CASA  TABELA DE VERIFICAÇÃO

 

MANDT       X      X       MANDT            CLNT    3     0 T000

NRSEQ       X      X       /PWS/ZYCIL001    CHAR   10       0

EBELN       X      X       EBELN            CHAR   10       0

EBELP       X      X       EBELP            NUMC    5 0

VL_NF_ENT               WRBTR            CURR    13 2

WAERS                        WAERS            CUKY    5 0 TCURC

VL_CUSTO_MERC                WRBTR            CURR   13   2

VL_ALIQICMS               J_1BTXRATE        DEC     6      2

VL_BASRED               /PWS/ZYCIL041     DEC 6 2

VL_DESP_ACESS         WRBTR            CURR 13 2

VL_BASE_IPI               WRBTR            CURR 13 2

VL_IPI                       WRBTR            CURR 13 2                

VL_BASE_ICMS                 WRBTR            CURR 13 2

VL_ICMS               WRBTR            CURR 13 2

VL_UNIT               /PWS/ZYCIL128     CURR 20 7

VL_NF_TRANSF                 WRBTR             CURR 13 2

DESCONTO               WRBTR             CURR 13 2

 

 

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

Modificações efetuadas em SHI3 /PWS/ZYCI

 

*Acrescentado no menu /PWS/ZYCI

 

Entrada de menu

Mensagem para NF Fundap

Código de transação

/PWS/ZYCIT479

 

Entrada de menu

Percentual de Desconto Fundap

Código de transação

/PWS/ZYCIT478

 

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

Modificações efetuadas em CUAD /PWS/SAPMZYCI016

 

 

*Criado o Status 0130

 

Status        Tipo Code de objeto       Code de objeto       Descrição

 

0130          P                         000012               0001 CI - Faturamento Fundap

 

*Criado Texto informativo  Teclas de função CI - Criar NF Remessa

Código de função     Tecla F Tecla de função                Código de função     Texto

000006               27      Ctrl-F3                        FUNDAP               Fundap

000010               05      F5                             BACK                 Voltar

000012               05      F5                             BACK                 Voltar

 

 

*Criado Texto informativo  Botões CI - Faturamento Fundap

 

Code de objeto       Code Item Tecla de função                Código de função     Id   Exibição

Texto de ícones

 

000010               0001 01   F5                             BACK

Voltar

 

 

informativo  Botões CI - Faturamento Fundap

 

Code de objeto       Code Item Tecla de função                Código de função     Id   Exibição

Texto de ícones

 

000012               0001 01   F5                             BACK

Voltar

 

*Criado Texto informativo  Funções ativas CI - Criar NF Global

 

 Status               Código de função

 

 0100                 FUNDAP

 

 

*Criado Atributos menu, textos estáticos

 

Texto                         Seleção Descrição

Menu de contexto              CI - Faturamento Fundap

 

*Criado Funções com textos estáticos

 

Código de função     Categoria Res. Nome campo p/texto GUI dinâmico

FUNDAP                              ICON_PARTNER

 

*Criado Botão Back

Código de função        BACK

Categoria de função     E  Comando exit

Modificação             Original

 

Texto de função      Voltar

Nome de ícone        ICON_ARROW_LEFT

Texto de ícones      Voltar

Texto informativo    Voltar

Seleção direta

Modificação          Original

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI016                        0130

 

*Criada a tela 0130

 

Tela 130

 

DESCRIÇÃO BREVE: CI - Faturamento Operação Fundap - NF

TIPO DE TELA: Caixa de Diálogo Modal

 

OUTROS ATRIBUTOS:

 

TELA SEGUINTE: 130

 

Manter dados           Desativado

Fonte equidistante     Desativado

Compressão tmp.exec.   Ativado

Tela-modelo            Desativado

Manter posição de rola Desativado

Posição cursor

Grp.telas

 

LINHAS/COLUNAS:

OCUPADO: 14  / 84

ATUAL  : 14  / 85

 

*LAYOUT DA TELA

 

     ....+...10....+...10....+...30....+...40....+...50....+...60....+...70....+...80....+

 

001   Faturamento Operação Fundap - NF

002

003    NF Entrada        ________________        Base ICMS Venda     ________________

004

005    Custo Mercadoria  ________________        ICMS Venda          ________________

006

007    Despesa Acessória ________________        Preço Unitário      ________________

008

009    Base IPI Venda    ________________        NF Transferência    ________________

010

011    IPI Venda         ________________        Desconto Comercial  ________________

012

013

014

 

*ELEMENTOS DE TELA

 

   Nome

      Ctg.      Linha   Coluna  CmprDf  CmVis   Altura  Format Dict  Modif At.Des.Só At

      Gr1 Gr2 Gr3 Gr4  SPA GPA ID parâm             Cód.F                TCmp   TpoLoopExbLoop

      Outros atributos

 

   Q_FUNDAP

      Quadr      1        1      84      84       1     CHAR

 

   /PWS/ZYCIT480-VL_NF_ENT

      Texto      3        3      10      10       1     CHAR      X    F

      Alinh.à dir., Fonte equidistante

   /PWS/ZYCIT480-VL_NF_ENT

      I/O        3       21      16      16       1     CURR   X               Off

      Alinh.à dir.

      Código da moeda=/PWS/ZYCIT480-WAERS

   /PWS/ZYCIT480-VL_BASE_ICMS

      Texto      3       45      15      15       1     CHAR      X    F

      Alinh.à dir., Fonte equidistante

   /PWS/ZYCIT480-VL_BASE_ICMS

      I/O        3       65      16      16       1     CURR   X               Off

      Alinh.à dir.

      Código da moeda=/PWS/ZYCIT480-WAERS

   /PWS/ZYCIT480-VL_CUSTO_MERC

      Texto      5        3      16      16       1     CHAR      X    F

      Alinh.à dir., Fonte equidistante

   /PWS/ZYCIT480-VL_CUSTO_MERC

      I/O        5       21      16      16       1     CURR   X               Off

      Alinh.à dir.

      Código da moeda=/PWS/ZYCIT480-WAERS

   /PWS/ZYCIT480-VL_ICMS

      Texto      5       45      10      10       1     CHAR      X    F

      Alinh.à dir., Fonte equidistante

   /PWS/ZYCIT480-VL_ICMS

      I/O        5       65      16      16       1     CURR   X               Off

      Alinh.à dir.

      Código da moeda=/PWS/ZYCIT480-WAERS

   /PWS/ZYCIT480-VL_DESP_ACESS

      Texto      7        3      17      17       1     CHAR      X    F

      Alinh.à dir., Fonte equidistante

   /PWS/ZYCIT480-VL_DESP_ACESS

      I/O        7       21      16      16       1     CURR   X               Off

      Alinh.à dir.

      Código da moeda=/PWS/ZYCIT480-WAERS

   /PWS/ZYCIT480-VL_UNIT

      Texto      7       45      14      14       1     CHAR      X    F

      Alinh.à dir., Fonte equidistante

   /PWS/ZYCIT480-VL_UNIT

      I/O        7       65      16      16       1     CURR   X               Off

      Alinh.à dir.

      Código da moeda=/PWS/ZYCIT480-WAERS

   /PWS/ZYCIT480-VL_BASE_IPI

      Texto      9        3      14      14       1     CHAR      X    F

      Alinh.à dir., Fonte equidistante

   /PWS/ZYCIT480-VL_BASE_IPI

      I/O        9       21      16      16       1     CURR   X               Off

      Alinh.à dir.

      Código da moeda=/PWS/ZYCIT480-WAERS

   /PWS/ZYCIT480-VL_NF_TRANSF

      Texto      9       45      16      16       1     CHAR      X    F

      Alinh.à dir., Fonte equidistante

   /PWS/ZYCIT480-VL_NF_TRANSF

      I/O        9       65      16      16       1     CURR   X               Off

      Alinh.à dir.

      Código da moeda=/PWS/ZYCIT480-WAERS

   /PWS/ZYCIT480-VL_IPI

      Texto     11        3       9       9       1     CHAR      X    F

      Alinh.à dir.

      Código da moeda=/PWS/ZYCIT480-WAERS

   /PWS/ZYCIT480-DESCONTO

      Texto     11       45      18      18       1     CHAR      X    F

      Alinh.à dir., Fonte equidistante

   /PWS/ZYCIT480-DESCONTO

      I/O       11       65      16      16       1     CURR   X               Off

      Alinh.à dir.

      Código da moeda=/PWS/ZYCIT480-WAERS

 

      OK

 

*LÓGICA DE PROCESSAMENTO

 

 

    PROCESS BEFORE OUTPUT.

    MODULE STATUS_0130.

 

    PROCESS AFTER INPUT.

    MODULE USER_COMMAND_0130.

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI023                        0433

 

*Alterações nos campos de tela

 

   Nome

      Ctg.      Linha   Coluna  CmprDf  CmVis   Altura  Format Dict  Modif At.Des.Só At

      Gr1 Gr2 Gr3 Gr4  SPA GPA ID parâm             Cód.F                TCmp   TpoLoopExbLoop

      Outros atributos

 

*DE:

   FRM02

      Quadr      1        1      30      30       1     CHAR

 

*PARA:

   FRM02

      Quadr      1        1      32      32       1     CHAR

 

*DE:

 

   T_ICMSBS

      I/O        2       13      15      15       1     DEC                    Off

      Alinh.à dir.

*PARA:

   T_ICMSBS

      I/O        2       13      25      16       1     DEC                    Off

      Alinh.à dir.

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

Modificações efetuadas em FUNC /PWS/ZYCI_RATEIO_CUSTO

 

...

 

  LOOP AT itab_zycit003 .

    IF ( v_vinserv IS INITIAL AND

         itab_zycit003-servico IS INITIAL ) OR

         ( v_vinserv EQ 'X' AND itab_zycit003-servico EQ 'X' ) .

      v_vlfrete =  v_tfrete * ( itab_zycit003-ntgew / v_tpeso ).

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

      IF /pws/zycie085-waersfob NE itab_zycit003-waers.

        PERFORM taxa_converte USING itab_zycit003-waers

                                        /pws/zycie085-dttax

                                                 t001-land1

                                           CHANGING  v_taxa.

        IF NOT v_taxa IS INITIAL.

          itab_zycit003-vlreal = itab_zycit003-vlreal * v_taxa.

          itab_zycit003-netpr  = itab_zycit003-netpr  * v_taxa.

        ENDIF.

        PERFORM taxa_converte USING  /pws/zycie085-waersfob

                                      /pws/zycie085-dttax

                                                 t001-land1

                                           CHANGING  v_taxa.

        IF NOT v_taxa IS INITIAL .

          itab_zycit003-vlreal = itab_zycit003-vlreal / v_taxa.

          itab_zycit003-netpr  = itab_zycit003-netpr  / v_taxa.

        ENDIF.

      ENDIF.

* << Fim da inclusão

      v_tot = v_tot + ( itab_zycit003-netpr * itab_zycit003-qtd_iten ).

      v_tot_vlreal = v_tot_vlreal + ( itab_zycit003-vlreal *

                      itab_zycit003-qtd_iten ).

    ENDIF.

  ENDLOOP.

 

...

 

...

 

 

    LOOP AT itab_despesa WHERE netpr NE 0.

      CLEAR: v_tot_desp.

      LOOP AT itab_zycit003 .

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

      IF /pws/zycie085-waersfob NE itab_zycit003-waers.

        PERFORM taxa_converte USING itab_zycit003-waers

                                        /pws/zycie085-dttax

                                                 t001-land1

                                           CHANGING  v_taxa.

        IF NOT v_taxa IS INITIAL.

          itab_zycit003-vlreal = itab_zycit003-vlreal * v_taxa.

          itab_zycit003-netpr  = itab_zycit003-netpr  * v_taxa.

        ENDIF.

        PERFORM taxa_converte USING  /pws/zycie085-waersfob

                                      /pws/zycie085-dttax

                                                 t001-land1

                                           CHANGING  v_taxa.

        IF NOT v_taxa IS INITIAL .

          itab_zycit003-vlreal = itab_zycit003-vlreal / v_taxa.

          itab_zycit003-netpr  = itab_zycit003-netpr  / v_taxa.

        ENDIF.

      ENDIF.

* << Fim da inclusão

        IF ( v_vinserv IS INITIAL AND

             itab_zycit003-servico IS INITIAL ) OR

             ( v_vinserv EQ 'X' AND itab_zycit003-servico EQ 'X' ) .

          CLEAR itab_zycit036_aux.

          IF  NOT itab_despesa-matuse IS INITIAL.

            READ TABLE itab_ekpo WITH KEY ebeln = itab_zycit003-ebeln

                                          ebelp = itab_zycit003-ebelp.

            IF itab_ekpo-j_1bmatuse NE itab_despesa-matuse .

              CONTINUE.

            ENDIF.

...

 

 

 

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

 

FORM seleciona_itens_nfg.

 

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

  DATA: BEGIN OF itab_zycit049_fndp OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit049.

  DATA: END OF itab_zycit049_fndp .

  data v_vlsisco like v_vldp.

* << Fim da inclusão

...

 

...

 

  LOOP AT itab_zycit042.

    MODIFY itab_zycit042 TRANSPORTING netpr.

  ENDLOOP.

  IF NOT itab_zycit042[] IS INITIAL.

    SELECT * FROM t001w INTO TABLE itab_t001w

      FOR ALL ENTRIES IN itab_zycit042

      WHERE werks = itab_zycit042-werks.

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

    IF sy-subrc EQ 0 AND

       itab_zycit033[] IS INITIAL.

      SELECT * FROM /pws/zycit033

        INTO TABLE itab_zycit033

        WHERE clnf = text-027

         AND bukrs = /pws/zycie041-bukrs.

    ENDIF.

  ENDIF.

  IF /pws/zycie001-modalidade EQ '05' AND

     /pws/zycie001-tpdecl EQ 'DI' .

    IF sy-tcode EQ '/PWS/ZYCI016_C' .

      CLEAR v_vlreal .

      IF NOT itab_zycit003[] IS INITIAL.

        SELECT ebeln parvw lifn2 FROM ekpa

        INTO TABLE itab_ekpa

        FOR ALL ENTRIES IN itab_zycit003

        WHERE ebeln EQ itab_zycit003-ebeln

        AND   parvw EQ 'FU' .

        LOOP AT itab_zycit003.

          READ TABLE itab_ekpa WITH KEY ebeln = itab_zycit003-ebeln.

          IF sy-subrc NE 0.

            EXIT .

          ENDIF.

        ENDLOOP.

        SELECT SINGLE * FROM /pws/zycit085

        INTO /pws/zycie085

        WHERE nrseqdi EQ /pws/zycie085-nrseqdi.

        IF sy-subrc EQ 0.

          IF /pws/zycit000 IS INITIAL.

            SELECT SINGLE * FROM /pws/zycit000

            WHERE land1 EQ t001-land1.

          ENDIF .

          SELECT * FROM /pws/zycit049

          INTO TABLE itab_zycit049_fndp

          WHERE nrseq EQ /pws/zycie085-nrseqdi

          AND vldp > 0.

          IF /pws/zycbt007 IS INITIAL.

            SELECT SINGLE * FROM /pws/zycbt007

            WHERE bukrs EQ /pws/zycie085-bukrs.

          ENDIF.

        ENDIF.

        LOOP AT itab_zycit049_fndp

          WHERE tpdesp NE /pws/zycit000-cod_sisc.

          IF itab_zycit049_fndp-waers EQ /pws/zycie085-waersfob .

            v_vlreal = v_vlreal + itab_zycit049_fndp-vldp .

          ELSE.

            PERFORM trata_decimais USING itab_zycit049_fndp-waers

                                         itab_zycit049_fndp-vldp.

            PERFORM taxa_converte USING itab_zycit049_fndp-waers

                                         /pws/zycie085-dttax

                                CHANGING v_taxa_desp.

            v_vlreal = v_vlreal + ( itab_zycit049_fndp-vldp *

                                    v_taxa_desp ) .

          ENDIF.

        ENDLOOP.

        LOOP AT itab_zycit003.

          CLEAR :  itab_zycit480,

                   v_vlii, v_vlipi,

                   v_vlpis, v_vlcofins.

          READ TABLE itab_zycit100 WITH KEY

                       nrseq = itab_zycit003-nrseq

                       ebeln = itab_zycit003-ebeln

                       ebelp = itab_zycit003-ebelp.

          IF sy-subrc EQ 0.

            itab_zycit480-nrseq = itab_zycit003-nrseq.

            itab_zycit480-ebeln = itab_zycit003-ebeln.

            itab_zycit480-ebelp = itab_zycit003-ebelp.

            IF NOT '356' CA itab_zycit100-codregtri .

              v_vlii = itab_zycit100-vlii.

            ENDIF.

            IF NOT '156' CA itab_zycit100-codregtriipi .

              v_vlipi = itab_zycit100-vlipi.

            ENDIF.

            IF NOT '356' CA itab_zycit100-codregtripiscofi.

              v_vlpis    = itab_zycit100-vlpis.

              v_vlcofins = itab_zycit100-vlcofins.

            ENDIF.

            itab_zycit480-vl_aliqicms = itab_zycit003-advalicms .

            itab_zycit480-vl_basred = itab_zycit003-basred .

            IF itab_zycit100-waersbem NE /pws/zycie085-waersfob.

              PERFORM trata_decimais USING itab_zycit100-waersbem

                                           itab_zycit100-vlfob.

              PERFORM taxa_converte USING /pws/zycie085-waersfob

                                          /pws/zycie085-dttax

                                  CHANGING v_taxa_desp.

             itab_zycit100-vlfob =  itab_zycit100-vlfob * v_taxa_desp  .

              IF NOT /pws/zycie085-vlfob IS INITIAL.

                v_vldp =  ( v_vlreal * itab_zycit100-vlfob ) /

                       /pws/zycie085-vlfob.

              ENDIF.

            ELSE.

              IF NOT /pws/zycie085-vlfob IS INITIAL.

                v_vldp =  ( v_vlreal * itab_zycit100-vlfob ) /

                       /pws/zycie085-vlfob.

              ENDIF.

            ENDIF.

            READ TABLE itab_zycit049_fndp WITH KEY

                 tpdesp = /pws/zycit000-cod_sisc .

            IF sy-subrc EQ 0.

              IF itab_zycit049_fndp-waers EQ /pws/zycie085-waersfob .

                IF NOT /pws/zycie085-vlfob IS INITIAL.

                  v_vlsisco =

                  ( itab_zycit049_fndp-vldp * itab_zycit100-vlfob ) /

                   /pws/zycie085-vlfob.

                ENDIF.

              ELSE.

                IF itab_zycit049_fndp-waers EQ /pws/zycbt007-waersb.

                  PERFORM taxa_converte USING /pws/zycie085-waersfob

                                              /pws/zycie085-dttax

                                     CHANGING v_taxa_desp.

                  itab_zycit049_fndp-vldp =

                  itab_zycit049_fndp-vldp / v_taxa_desp .

                ELSE.

                  PERFORM taxa_converte USING itab_zycit049_fndp-waers

                                                /pws/zycie085-dttax

                                           CHANGING v_taxa_desp.

                  itab_zycit049_fndp-vldp =

                  itab_zycit049_fndp-vldp / v_taxa_desp .

                  PERFORM taxa_converte USING /pws/zycie085-waersfob

                                             /pws/zycie085-dttax

                                        CHANGING v_taxa_desp.

                  itab_zycit049_fndp-vldp =

                  itab_zycit049_fndp-vldp * v_taxa_desp .

                ENDIF.

                IF NOT /pws/zycie085-vlfob IS INITIAL.

                  v_vlsisco =

                  ( itab_zycit049_fndp-vldp * itab_zycit100-vlfob ) /

                   /pws/zycie085-vlfob.

                  PERFORM taxa_converte USING /pws/zycie085-waersfob

                                             /pws/zycie085-dttax

                                        CHANGING v_taxa_desp.

                  v_vlsisco = v_vlsisco * v_taxa_desp .

                ENDIF.

              ENDIF.

            ENDIF.

            itab_zycit480-vl_nf_ent = itab_zycit100-baseii +

               v_vlii + v_vlipi + v_vlpis + v_vlcofins

               + v_vlsisco .

            READ TABLE itab_zycit042 WITH KEY

                         nrseq = itab_zycit003-nrseq

                         ebeln = itab_zycit003-ebeln

                         ebelp = itab_zycit003-ebelp.

            IF sy-subrc EQ 0 .

             READ TABLE itab_t001w WITH KEY werks = itab_zycit042-werks.

              IF sy-subrc EQ 0.

            READ TABLE itab_zycit033 WITH KEY tpnf = itab_zycit042-tpnf

                                               regio = itab_t001w-regio.

                IF itab_zycit033-tribipi EQ '3'   .

                  itab_zycit480-vl_custo_merc = itab_zycit480-vl_nf_ent.

                ELSE.

                  itab_zycit480-vl_custo_merc =

                     itab_zycit480-vl_nf_ent - itab_zycit100-vlipi.

                ENDIF.

              ENDIF.

            ENDIF.

            itab_zycit480-vl_desp_acess =

            ( ( v_vldp * itab_zycit480-vl_basred ) / 100 ) /

              ( 1 - ( itab_zycit480-vl_aliqicms / 100 ) ).

            itab_zycit480-vl_base_ipi =

              ( ( itab_zycit480-vl_custo_merc *

              ( itab_zycit480-vl_basred / 100 ) ) /

              ( 1 - ( itab_zycit480-vl_aliqicms / 100 ) ) ) +

              itab_zycit480-vl_desp_acess.

            itab_zycit480-vl_ipi = itab_zycit480-vl_base_ipi *

                  ( itab_zycit003-advalipi / 100 ) .

            itab_zycit480-vl_base_icms =

        ( ( ( itab_zycit480-vl_custo_merc * itab_zycit480-vl_basred ) /

               100 ) / ( 1 - ( itab_zycit480-vl_aliqicms / 100 ) ) ) +

               itab_zycit480-vl_desp_acess.

            itab_zycit480-vl_icms = itab_zycit480-vl_base_icms *

               ( itab_zycit480-vl_aliqicms / 100 ) .

            IF NOT itab_zycit003-qtd_iten IS INITIAL.

              itab_zycit480-vl_unit =

         ( itab_zycit480-vl_base_icms - itab_zycit480-vl_desp_acess ) /

               itab_zycit003-qtd_iten  .

            ENDIF.

            itab_zycit480-vl_nf_transf =

             ( itab_zycit480-vl_base_ipi +  itab_zycit480-vl_ipi ).

            READ TABLE itab_ekpa WITH KEY ebeln = itab_zycit003-ebeln.

            IF sy-subrc EQ 0.

              SELECT SINGLE * FROM /pws/zycit478

               WHERE lifnr EQ itab_ekpa-lifn2.

              itab_zycit480-desconto = itab_zycit480-vl_custo_merc *

                     ( /pws/zycit478-percent / 100 ).

            ENDIF.

            APPEND itab_zycit480.

          ENDIF.

        ENDLOOP.

      ENDIF.

    ELSE.

      IF NOT itab_zycit003[] IS INITIAL.

        SELECT * FROM /pws/zycit480

        INTO TABLE itab_zycit480

        FOR ALL ENTRIES IN itab_zycit003

        WHERE nrseq EQ itab_zycit003-nrseq

        AND   ebeln EQ itab_zycit003-ebeln

        AND   ebelp EQ itab_zycit003-ebelp.

      ENDIF.

    ENDIF.

* << Fim da inclusão

  ENDIF.

ENDFORM.

...

 

...

 

  MODIFY /pws/zycit053 FROM TABLE itab_zycit053_s.

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

  IF NOT itab_zycit480[] IS INITIAL.

    MODIFY /pws/zycit480 FROM TABLE itab_zycit480.

  ENDIF.

* << Fim da inclusão

  COMMIT WORK.

 IF v_modalidade = '99' OR ( t001-land1 EQ 'AR' OR t001-land1 EQ 'CL' ).

 

...

 

...

  FREE itab_zycit100aux.

  LOOP AT itab_zycit100.

    MOVE-CORRESPONDING itab_zycit100 TO itab_zycit100aux.

    APPEND itab_zycit100aux.

  ENDLOOP.

  PERFORM montar_custo_di USING /pws/zycie041-nrseq.

  it_zycee005-bukrs   = /pws/zycie041-bukrs.

  it_zycee005-branch  = itab_zycit042-j_1bbranch.

  it_zycee005-parvw  = text-015.

  it_zycee005-parid  = itab_zycit042_aux-lifnr.

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

  IF /pws/zycie001-modalidade EQ '05' AND

     /pws/zycie001-tpdecl EQ 'DI'.

    READ TABLE itab_ekpa WITH KEY ebeln = itab_zycit042_aux-ebeln

                                  parvw  = 'FU'.

    IF sy-subrc EQ 0.

      it_zycee005-parid  = itab_ekpa-lifn2.

    ENDIF.

  ENDIF.

* << Fim da inclusão

  it_zycee005-docdat = sy-datlo.

  PERFORM verifica_data.

  IF wa_zycit048-pstdat = '1'.

    it_zycee005-pstdat = sy-datum.

 

...

 

...

 

FORM mensagens_nf.

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

  TABLES : /pws/zycit479.

  DATA: BEGIN OF itab_pedido OCCURS 0 .

  DATA:  ebeln TYPE ekpo-ebeln.

  DATA: END OF itab_pedido.

* << Fim da inclusão

 

...

 

...

 

  LOOP AT itab_zycit042_mark.

    READ TABLE itab_zycit100 WITH KEY

                                   nrseq = itab_zycit042_mark-nrseq

                                   ebeln = itab_zycit042_mark-ebeln

                                   ebelp = itab_zycit042_mark-ebelp  .

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

    IF sy-subrc EQ 0.

* << Fim da exclusão

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

    IF sy-subrc EQ 0 AND itab_zycit100-codregtri NE '3' AND

      itab_zycit100-codregtri NE '5'.

* << Fim da inclusão

      v_valor_r = v_valor_r + itab_zycit100-vlii.

    ENDIF.

    READ TABLE itab_zycit003 WITH KEY nrseq = itab_zycit042_mark-nrseq

                                   ebeln = itab_zycit042_mark-ebeln

                                   ebelp = itab_zycit042_mark-ebelp.

    MOVE itab_zycit003 TO itab_zycit003_mark.

    APPEND itab_zycit003_mark.

  ENDLOOP.

  v_tamanho = '................'.

  CLEAR v_vldp_x.

...

 

...

    v_tot_real = v_tot_real +

         ( itab_zycit003-vlreal * itab_zycit003-qtd_iten ).

  ENDLOOP.

  DESCRIBE TABLE itab_zycit042 LINES v_lines.

  DESCRIBE TABLE itab_zycit003 LINES v_lin.

  LOOP AT itab_zycit049_aux_r WHERE nrseq = v_nrseq AND

                                    vldp NE 0.

    it_zycee006-indice  = v_ind.

    IF itab_zycit049_aux_r-tpdesp EQ /pws/zycit000-cod_sisc.

      IF itab_zycit049_aux_r-waers NE /pws/zycbt007-waersb.

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

        PERFORM trata_decimais USING itab_zycit049_aux_r-waers

                                     itab_zycit049_aux_r-vldp.

* << Fim da inclusão

        PERFORM taxa_converte USING itab_zycit049_aux_r-waers

             itab_zycit085-dttax CHANGING v_taxa_desp.

        v_vldp  = itab_zycit049_aux_r-vldp *

                        v_taxa_desp.

      ELSE.

        v_vldp = itab_zycit049_aux_r-vldp .

      ENDIF.

      READ TABLE itab_zycit019 WITH KEY

                                tpdesp = itab_zycit049_aux_r-tpdesp.

      READ TABLE itab_zycit020 WITH KEY codigo = itab_zycit019-codigo

                                        regio  =  itab_zycit019-regio.

    ELSE.

      IF itab_zycit049_aux_r-waers NE /pws/zycbt007-waersb.

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

        PERFORM trata_decimais USING itab_zycit049_aux_r-waers

                                     itab_zycit049_aux_r-vldp.

* << Fim da inclusão

        PERFORM taxa_converte USING itab_zycit049_aux_r-waers

                                     /pws/zycit085-dttax

                            CHANGING v_taxa_desp.

        itab_zycit049_aux_r-vldp = itab_zycit049_aux_r-vldp *

         v_taxa_desp.

      ENDIF.

      v_vldp_aux = itab_zycit049_aux_r-vldp.

      LOOP AT itab_zycit003_mark.

        v_idx = sy-tabix.

        CLEAR: itab_zycit039, itab_zycit020.

...

 

...

  LOOP AT itab_zycit042_mark.

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

    IF v_fundap NE 'X'.

* << Fim da inclusão

 

      READ TABLE itab_zycit100 WITH KEY

                                     nrseq = itab_zycit042_mark-nrseq

                                     ebeln = itab_zycit042_mark-ebeln

                                     ebelp = itab_zycit042_mark-ebelp  .

      IF sy-subrc EQ 0   AND

        (  /pws/zycit085-tpdi EQ 'N' AND

          NOT '56' CA itab_zycit100-codregtriicms ) OR

        (  /pws/zycit085-tpdi EQ 'S' AND

          NOT '56' CA itab_zycit100-codregtri ).

        IF itab_zycit100-icms_dif NE 'X'.

          v_icms_dif   = v_icms_dif  + itab_zycit100-vlicms.

        ELSE.

          v_dif = 'X'.

        ENDIF.

      ENDIF.

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

    ELSE.

      READ TABLE itab_zycit480 WITH KEY

                                     nrseq = itab_zycit042_mark-nrseq

                                     ebeln = itab_zycit042_mark-ebeln

                                     ebelp = itab_zycit042_mark-ebelp  .

      IF sy-subrc EQ 0.

        v_icms_dif   = v_icms_dif  + itab_zycit480-vl_icms.

      ENDIF.

    ENDIF.

* << Fim da inclusão

 

  ENDLOOP.

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

  CLEAR itab_zycit042_mark[].

  REFRESH itab_zycit042_mark[].

* << Fim da exclusão

 

  IF v_icms_dif NE 0.

    v_ind = v_ind + 1.

    WRITE v_icms_dif TO v_dificms CURRENCY itab_zycit049-waers.

    CONCATENATE text-078 v_dificms

    INTO it_zycee006-msg SEPARATED BY space.

    it_zycee006-indice = v_ind.

    APPEND it_zycee006.

  ENDIF.

  IF v_dif = 'X'.

    v_ind = v_ind + 1.

 

    it_zycee006-msg =  text-097 .

    CLEAR v_dif.

    it_zycee006-indice = v_ind.

    APPEND it_zycee006.

  ENDIF.

 

...

 

...

    APPEND it_zycee006.

  ENDIF.

  IF NOT /pws/zycie041-observ4 IS INITIAL.

    it_zycee006-indice  = '6'.

    it_zycee006-msg     = /pws/zycie041-observ4.

    APPEND it_zycee006.

  ENDIF.

  IF NOT /pws/zycie041-observ5 IS INITIAL.

    it_zycee006-indice  = '7'.

    it_zycee006-msg     = /pws/zycie041-observ5.

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

    APPEND it_zycee006.

  ENDIF.

  IF /pws/zycie001-modalidade EQ '05' AND

     /pws/zycie001-tpdecl EQ 'DI'.

    LOOP AT itab_zycit042_mark.

      MOVE itab_zycit042_mark-ebeln TO itab_pedido-ebeln.

      COLLECT itab_pedido.

    ENDLOOP.

    SORT itab_pedido BY ebeln.

    CLEAR v_cont .

    DESCRIBE TABLE itab_pedido LINES v_line.

    LOOP AT itab_pedido.

      IF sy-tabix EQ '1' .

        it_zycee006-msg = text-102.

      ENDIF.

     CONCATENATE it_zycee006-msg itab_pedido-ebeln INTO it_zycee006-msg

                           SEPARATED BY '-' .

      v_cont = v_cont + 1.

      IF v_cont EQ '5' .

        v_ind = v_ind + 1.

        it_zycee006-indice = v_ind.

        APPEND it_zycee006.

     CONCATENATE it_zycee006-msg itab_pedido-ebeln INTO it_zycee006-msg

                                      SEPARATED BY ',' .

        CLEAR v_cont.

      ENDIF.

      IF sy-tabix EQ v_line.

        v_ind = v_ind + 1.

        it_zycee006-indice = v_ind.

        APPEND it_zycee006.

      ENDIF.

    ENDLOOP.

    SELECT SINGLE * FROM /pws/zycit479

      WHERE tpnf EQ itab_zycit042_mark-tpnf.

    IF sy-subrc EQ 0.

      it_zycee006-msg = /pws/zycit479-text1.

* << Fim da inclusão

    APPEND it_zycee006.

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

      it_zycee006-msg = /pws/zycit479-text2.

      APPEND it_zycee006.

    ENDIF.

* << Fim da inclusão

  ENDIF.

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

  CLEAR itab_zycit042_mark[].

  REFRESH itab_zycit042_mark[].

* << Fim da inclusão

ENDFORM.

...

...

       WHERE bukrs EQ /pws/zycie041-bukrs.

  ENDIF.

  LOOP AT itab_zycit036

    WHERE ebeln = itab_zycit044-ebeln

      AND ebelp = itab_zycit044-ebelp.

    READ TABLE itab_zycit036_di

          WITH KEY ebeln = itab_zycit036-ebeln

                   ebelp = itab_zycit036-ebelp

                   codigo = itab_zycit036-codigo.

    IF itab_zycit036-codigo = 'FRETEI'.

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

      PERFORM trata_decimais USING itab_zycit036_di-waers_real

                             CHANGING itab_zycit036_di-vlreal.

* << Fim da exclusão

      IF itab_zycit036_di-waers_real = /pws/zycbt007-waersb.

        it_zycee007-netfre =

          ( ( itab_zycit036_di-vlreal ) /

           itab_zycit044-menge * itab_zycit044-qtd_item ).

      ELSE.

        it_zycee007-netfre =

          ( ( itab_zycit036_di-vlreal * wa_zycit085-ukursfre ) /

           itab_zycit044-menge * itab_zycit044-qtd_item ).

      ENDIF.

    ELSEIF itab_zycit036-codigo = 'SEGURO'.

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

      PERFORM trata_decimais USING itab_zycit036_di-waers_real

                             CHANGING itab_zycit036_di-vlreal.

* << Fim da exclusão

      IF itab_zycit036_di-waers_real = /pws/zycbt007-waersb.

        it_zycee007-netins =

        ( ( itab_zycit036_di-vlreal ) /

          itab_zycit044-menge * itab_zycit044-qtd_item ).

      ELSE.

        it_zycee007-netins =

        ( ( itab_zycit036_di-vlreal * wa_zycit085-ukursseg ) /

          itab_zycit044-menge * itab_zycit044-qtd_item ).

      ENDIF.

    ELSEIF itab_zycit036-codigo = 'II'.

...

 

 

...

        IF sy-subrc EQ 0 AND

           v_modalidade NE '99'

           AND ( t001-land1 NE 'AR' AND t001-land1 NE 'CL' ).

          MESSAGE i033.

        ELSE.

          IF ( sy-subrc = 0 AND

             v_valor NE '9999999999' ) OR

             sy-subrc NE 0.

            IF v_modalidade = '99'.

              v_apaga = 'X'.

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

            ENDIF.

* << Fim da exclusão

          ENDIF.

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

          IF v_valor NE '9999999999'.

            PERFORM fill_data_j1b2n.

* << Fim da exclusão

          ENDIF.

          PERFORM fill_data_j1b3.

          /pws/zycie041-bukrs = space.

        ENDIF.

      ENDIF.

...

 

...

            CLEAR: itab_zycit039, itab_zycit020, itab_zycit019.

            READ TABLE itab_zycit019 WITH KEY

                                        tpdesp = itab_zycit049-tpdesp.

            IF itab_zycit019-tipo EQ 'A' OR

               itab_zycit019-tipo IS INITIAL.

              READ TABLE itab_zycit020 WITH KEY

                                       codigo = itab_zycit019-codigo.

              READ TABLE itab_zycit039 WITH KEY

                                       codigo = itab_zycit020-codigo.

              IF itab_zycit049-waers NE /pws/zycbt007-waersb.

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

                PERFORM trata_decimais USING itab_zycit049-waers

                                             itab_zycit049-vldp.

* << Fim da inclusão

                PERFORM taxa_converte USING itab_zycit049-waers

                                             /pws/zycit085-dttax

                                    CHANGING v_taxa_desp.

                itab_zycit049-vldp = itab_zycit049-vldp *

                                       v_taxa_desp.

                itab_zycit049-waers = /pws/zycbt007-waersb.

              ENDIF.

              IF v_lines = v_tabix.

                v_vldp = itab_zycit049-vldp - v_tot_vldp.

                itab_zycit042-vldp = itab_zycit042-vldp + v_vldp.

...

 

...

            CLEAR: itab_zycit039, itab_zycit020, itab_zycit019.

            READ TABLE itab_zycit019 WITH KEY

                                        tpdesp = itab_zycit049-tpdesp.

            IF itab_zycit019-tipo EQ 'A' OR

               itab_zycit019-tipo IS INITIAL.

              READ TABLE itab_zycit020 WITH KEY

                                       codigo = itab_zycit019-codigo.

              READ TABLE itab_zycit039 WITH KEY

                                       codigo = itab_zycit020-codigo.

              IF itab_zycit049-waers NE /pws/zycbt007-waersb.

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

                PERFORM trata_decimais USING itab_zycit049-waers

                                             itab_zycit049-vldp.

* << Fim da inclusão

                PERFORM taxa_converte USING itab_zycit049-waers

                                             /pws/zycit085-dttax

                                    CHANGING v_taxa_desp.

                itab_zycit049-vldp = itab_zycit049-vldp *

                                       v_taxa_desp.

                itab_zycit049-waers = /pws/zycbt007-waersb.

              ENDIF.

              IF v_lines = v_tabix.

                v_vldp = itab_zycit049-vldp - v_tot_vldp.

               itab_zycit042_d-vldpii = itab_zycit042_d-vldpii + v_vldp.

...

 

...

 

FORM itens_nfnew.

 

 

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

  DATA: v_val_icms LIKE /pws/zycee007-netpr,

        v_base_ps LIKE /pws/zycee007-base.

* << Fim da exclusão

 

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

  IF /pws/zycie001-modalidade EQ '05' AND

     /pws/zycie001-tpdecl EQ 'DI' AND NOT

     itab_zycit480[] IS INITIAL.

     v_fundap = 'X' .

  else.

     clear v_fundap.

  endif.

* << Fim da inclusão

 

...

 

...

   IF NOT itab_ekpo-bwtar IS INITIAL.

     it_zycee007-bwtar = itab_ekpo-bwtar.

   ENDIF.

 

   it_zycee007-menge   = itab_zycit042-qtd_iten.

 

   PERFORM converte_unidade.

   it_zycee007-meins   = v_mseh3.

 

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

   if v_fundap ne 'X'.

* >> Fim da inclusão

     PERFORM valores.

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

   ENDIF.

* >> Fim da inclusão

 

   PERFORM convert_cfop.

   it_zycee007-cfop    = v_cfop.

 

   it_zycee007-taxlw1  = itab_zycit033-fisicms.

 

   it_zycee007-taxlw2  = itab_zycit033-fisipi.

 

...

 

...

   READ TABLE itab_zycit036 WITH KEY nrseq = itab_zycit042-nrseq

                                     ebeln = itab_zycit042-ebeln

                                     ebelp = itab_zycit042-ebelp

                                     codigo = 'ICMS'.

   IF itab_zycit100-icms_dif = 'X'.

     v_icms_dif = v_icms_dif + itab_zycit100-vlicms.

   ELSE.

     IF NOT itab_zycit100-vlicms IS INITIAL.

       it_zycee007-taxval = itab_zycit036-vlreal.   "Montante

     ELSE.

       CLEAR it_zycee007-taxval.

     ENDIF.

   ENDIF.

 

   IF NOT it_zycee007-taxval IS INITIAL.

     it_zycee007-rate = itab_zycit003-advalicms.

   ENDIF.

 

   it_zycee007-taxtyp = itab_zycit033-taxtyp.

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

   IF v_fundap eq 'X' .

    PERFORM valores_fundap.

  ELSE.

* >> Fim da inclusão

    CASE itab_zycit033-tribicms.

      WHEN 1.

        PERFORM verifica_montante.

 

        v_montante1 = itab_zycit100-baseicms.

        v_base      = v_montante1.

        v_excbas    = ( v_montante1 / v_basred * 100 ) - v_base.

        IF /pws/zycit062-base IS INITIAL AND

           v_basred < '100' AND

           NOT /pws/zycit062-flag_icms IS INITIAL.

          IF /pws/zycit062-tred IS INITIAL.

            READ TABLE itab_zycit003 WITH KEY

                                    nrseq = itab_zycit042-nrseq

                                    ebeln = itab_zycit042-ebeln

                                    ebelp = itab_zycit042-ebelp.

            v_excbas    = v_excbas - ( v_excbas *

                         ( itab_zycit003-advalicms / 100 ) ) .

          ENDIF.

        ELSE.

          IF NOT /pws/zycit062-tred IS INITIAL AND

             NOT /pws/zycit062-flag_icms IS INITIAL AND

             v_basred < 100.

 

            READ TABLE itab_zycit003 WITH KEY

                                    nrseq = itab_zycit042-nrseq

                                    ebeln = itab_zycit042-ebeln

                                    ebelp = itab_zycit042-ebelp.

            v_excbas    = v_excbas + ( v_excbas *

                         ( itab_zycit003-advalicms / 100 ) ) .

          ENDIF.

        ENDIF.

...

 

...

 

      v_montante1 = itab_zycit100-baseipi.

      it_zycee007-othbas2  = v_montante1.

      IF /pws/zycit001-meioemba = 'PS'.

        it_zycee007-othbas2 = it_zycee007-othbas2 +

          it_zycee007-taxval.

      ENDIF.

      IF itab_zycit100-codregtriicms EQ '3'.

        it_zycee007-p_excbas = itab_zycit100-vlicms.

      ENDIF.

  ENDCASE.

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

  ENDIF.

* << Fim da inclusão

 

  DATA: itab_zycit398 LIKE /pws/zycit398 OCCURS 0 WITH HEADER LINE.

  SELECT * FROM /pws/zycit398

   INTO TABLE itab_zycit398

    WHERE bukrs EQ /pws/zycie041-bukrs

      AND clnf  EQ itab_zycit033-clnf

      AND tpnf  EQ itab_zycit033-tpnf

      AND ( tributos EQ 'PIS' OR

            tributos EQ 'COFINS' ).

  READ TABLE itab_zycit398 WITH KEY tributos = 'PIS'.

  IF sy-subrc EQ 0.

...

 

...

 

  IF NOT itab_zycit100-vlcofins IS INITIAL.

    CLEAR itab_zycit036.

    "Verifica entrada de Cofins no custo efetivo

    READ TABLE itab_zycit036 WITH KEY nrseq  = itab_zycit042-nrseq

                                      ebeln  = itab_zycit042-ebeln

                                      ebelp  = itab_zycit042-ebelp

                                      codigo = 'COFINS'.

    it_zycee007-taxval_cof = itab_zycit036-vlreal.

 

    READ TABLE itab_zycit398 WITH KEY tributos = 'COFINS'.

    IF sy-subrc EQ 0.

      it_zycee007-taxtyp_cof = itab_zycit398-taxtyp. "tipo imposto

    ELSE.

      CLEAR it_zycee007-taxtyp_cof.

    ENDIF.

 

    IF NOT it_zycee007-taxval_cof IS INITIAL.

      it_zycee007-rate_cof   = itab_zycit100-advalcofins. "Aliquota

    ENDIF.

     CASE itab_zycit398-tribpiscof.

      WHEN 1.

        PERFORM verifica_montante.

        v_montante1 = itab_zycit100-basecofins.

        it_zycee007-base_cof = v_montante1.

 

 

      WHEN 2.

        PERFORM verifica_montante.

        v_montante1 = itab_zycit100-basecofins.

        it_zycee007-cof_excbas = v_montante1.

 

        CLEAR it_zycee007-taxval_cof.

      WHEN 3.

        PERFORM verifica_montante.

        v_montante1 = itab_zycit100-basecofins.

        it_zycee007-othbas_cof = v_montante1.

 

 

    ENDCASE.

  ENDIF.

 

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

  IF ( NOT /pws/zycie001-modalidade EQ '05' AND

     NOT /pws/zycie001-tpdecl EQ 'DI' ) OR

     itab_zycit480[] IS INITIAL.

* << Fim da inclusão

 

    IF /pws/zycit062-flag_icms = 'X' AND /pws/zycit001-meioemba NE 'PS'.

 

        IF NOT v_basred IS INITIAL.

 

         it_zycee007-p_excbas = it_zycee007-p_excbas +

              itab_zycit042-vldp + ( ( it_zycee007-taxval * 100 ) /

                                       v_basred  ) + v_impostos.

       ELSE.

         v_basred = '100'.

         it_zycee007-p_excbas = it_zycee007-p_excbas +

              itab_zycit042-vldp + ( ( it_zycee007-taxval * 100 ) /

                                       v_basred  ) + v_impostos.

 

       ENDIF.

 

...

 

...

          IF /pws/zycit001-meioemba = 'PS'.

            it_zycee007-othbas2 = it_zycee007-othbas2 +

               it_zycee007-taxval_pis + it_zycee007-taxval_cof.

            CLEAR it_zycee007-p_excbas.

          ENDIF.

      ENDCASE.

    ENDIF.

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

  ENDIF .

* >> Fim da inclusão

 

  CLEAR /pws/zycit036.

  it_zycee007-mfrpn         = itab_zycit003-mfrpn.

 

  CONCATENATE itab_zycit042-ebeln '/' itab_zycit042-ebelp

         INTO it_zycee007-msg1.

 

  IF /pws/zycit001-regime = '16'.

    it_zycee007-netpr = ( it_zycee007-taxval + it_zycee007-netoth ) /

    it_zycee007-menge.

    CLEAR: it_zycee007-netfre , it_zycee007-netins, it_zycee007-netoth.

  ENDIF.

 

...

 

...

 

* >> Início da inclusão

FORM call_fundap.

  CLEAR v_ok.

  LOOP AT itab_zycit003 WHERE tpnf IS initial.

  ENDLOOP.

  IF sy-subrc EQ 0.

    MESSAGE i015 WITH text-100.

    EXIT .

  ELSE.

    IF NOT itab_zycit003[] IS INITIAL.

      SELECT ebeln parvw lifn2 FROM ekpa

      INTO TABLE itab_ekpa

      FOR ALL ENTRIES IN itab_zycit003

      WHERE ebeln EQ itab_zycit003-ebeln

      AND   parvw EQ 'FU' .

      LOOP AT itab_zycit003.

        READ TABLE itab_ekpa WITH KEY ebeln = itab_zycit003-ebeln.

        IF sy-subrc NE 0.

          MESSAGE i015 WITH text-101.

          v_ok = 'N'.

          EXIT .

        ELSE.

          IF itab_ekpa-lifn2 IS INITIAL.

            MESSAGE i015 WITH text-101.

            EXIT .

            v_ok = 'N'.

          ENDIF.

        ENDIF.

      ENDLOOP.

      IF NOT v_ok = 'N'.

        CLEAR /pws/zycit480.

        LOOP AT itab_zycit480.

          /pws/zycit480-vl_nf_ent     =

            itab_zycit480-vl_nf_ent + /pws/zycit480-vl_nf_ent .

          /pws/zycit480-vl_custo_merc =

            itab_zycit480-vl_custo_merc + /pws/zycit480-vl_custo_merc.

          /pws/zycit480-vl_desp_acess =

            itab_zycit480-vl_desp_acess +  /pws/zycit480-vl_desp_acess.

          /pws/zycit480-vl_base_ipi   =

            itab_zycit480-vl_base_ipi  + /pws/zycit480-vl_base_ipi.

          /pws/zycit480-vl_ipi   =

            itab_zycit480-vl_ipi  +   /pws/zycit480-vl_ipi  .

          /pws/zycit480-vl_base_icms  =

            itab_zycit480-vl_base_icms + /pws/zycit480-vl_base_icms .

          /pws/zycit480-vl_icms =

            itab_zycit480-vl_icms  + /pws/zycit480-vl_icms.

          /pws/zycit480-vl_unit  =

             itab_zycit480-vl_unit + /pws/zycit480-vl_unit.

          /pws/zycit480-vl_nf_transf =

            itab_zycit480-vl_nf_transf + /pws/zycit480-vl_nf_transf  .

          /pws/zycit480-desconto =

            itab_zycit480-desconto + /pws/zycit480-desconto .

        ENDLOOP.

        CALL SCREEN '0130' STARTING AT 5 2.

      ELSE.

        CLEAR v_ok .

        EXIT.

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

 

 

FORM valores_fundap.

  READ TABLE itab_zycit480 WITH KEY ebeln = itab_zycit042-ebeln

                                    ebelp = itab_zycit042-ebelp.

  IF sy-subrc EQ 0.

 

    it_zycee007-netoth = itab_zycit480-vl_desp_acess.

 

    it_zycee007-netpr   = itab_zycit480-vl_unit.

 

    it_zycee007-taxval = itab_zycit480-vl_icms.

 

    IF NOT it_zycee007-taxval IS INITIAL.

      it_zycee007-rate = itab_zycit480-vl_aliqicms.

    ENDIF.

 

    CASE itab_zycit033-tribicms.

      WHEN 1.

 

        v_montante1 = itab_zycit480-vl_base_icms.

        v_base      = v_montante1.

        it_zycee007-base   = v_base.

        CLEAR it_zycee007-c_excbas.

        CLEAR it_zycee007-c_excbas.

 

      WHEN 2.

        v_montante1 = itab_zycit480-vl_base_icms.

        it_zycee007-c_excbas = v_montante1."

        CLEAR: it_zycee007-taxval.

 

      WHEN 3.

        v_montante1 = itab_zycit480-vl_base_icms.

        v_othbas    = v_montante1 .

        IF NOT itab_zycit480-vl_basred IS INITIAL.

          v_excbas    = ( v_montante1 / itab_zycit480-vl_basred * 100 )

         - v_othbas.

        ENDIF.

 

        IF NOT /pws/zycit062-tred IS INITIAL AND

           NOT /pws/zycit062-flag_icms IS INITIAL AND

           itab_zycit480-vl_basred < 100.

          v_excbas    =  v_excbas + ( v_excbas *

          (  itab_zycit480-vl_aliqicms / 100 ) ).

        ENDIF.

        it_zycee007-othbas = v_othbas.

        it_zycee007-c_excbas = v_excbas.

    ENDCASE.

 

    CLEAR: v_base, v_othbas.

 

    it_zycee007-rate2   = itab_zycit003-advalipi.

 

    IF NOT itab_zycit480-vl_ipi IS INITIAL.

      it_zycee007-taxval2 = itab_zycit480-vl_ipi.

    ELSE.

      CLEAR it_zycee007-taxval2.

    ENDIF.

 

    it_zycee007-taxtyp2 = itab_zycit033-taxtyp2.

 

    CASE itab_zycit033-tribipi.

 

      WHEN 1.

        v_montante1 = itab_zycit480-vl_base_ipi.

        it_zycee007-base2   = v_montante1.

 

      WHEN 2.

        v_montante1 = itab_zycit480-vl_base_ipi.

        it_zycee007-p_excbas = v_montante1.

 

        CLEAR : it_zycee007-taxval2.

 

      WHEN 3.

        v_montante1 = itab_zycit480-vl_base_ipi.

        it_zycee007-othbas2  = v_montante1.

 

    ENDCASE.

 

    CLEAR it_zycee007-p_excbas .

  ENDIF.

ENDFORM.                    " valores_fundap

 

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI016I01

 

...

 

        WHEN 'VISUA'.

          v_visualiza = 'X'.

          PERFORM ver_rateio.

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

        WHEN 'FUNDAP' .

          IF /pws/zycie001-modalidade EQ '05' AND

             /pws/zycie001-tpdecl EQ 'DI'.

             perform call_fundap.

          ENDIF.

* << Fim da inclusão

      ENDCASE.

    ELSEIF sy-tcode EQ '/PWS/ZYCI016_E'.

      CASE okcode.

        WHEN 'OBS'.

          CALL SCREEN '0110' STARTING AT 5 18.

        WHEN 'NFR1'.

          GET CURSOR FIELD v_campo VALUE v_valor.

          IF v_campo EQ '/PWS/ZYCIE042-DOCNUM' AND NOT v_valor = 0.

            READ TABLE itab_zycit041 WITH KEY docnum = v_valor.

            IF itab_zycit041-statusp_mr1m = 'C'.

...

 

...

 

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

    WHEN 'FUNDAP' .

      IF /pws/zycie001-modalidade EQ '05' AND

         /pws/zycie001-tpdecl EQ 'DI'.

             CALL SCREEN '0130' STARTING AT 5 2.

      ENDIF.

* << Fim da inclusão

      ENDCASE.

    ENDIF.

  ENDIF.

  CLEAR: okcode.

ENDMODULE.

* >> Início da inclusão:

module USER_COMMAND_0130 input.

   leave to screen 0 .

endmodule.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI016O01

 

...

 

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

MODULE status_0120 OUTPUT.

  SET PF-STATUS '0120'.

  SET TITLEBAR '0120'.

ENDMODULE.

* << Fim da exclusão

 

...

 

...

 

MODULE status_0050 OUTPUT.

  FREE itab_pf_status.

  IF sy-tcode EQ '/PWS/ZYCI016_C' OR sy-tcode = '/PWS/ZYCI016_A'

     OR v_status_s = 1.

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

    SET PF-STATUS '0100'.

* << Fim da exclusão

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

  if ( /pws/zycie001-modalidade ne '05' or

     /pws/zycie001-tpdecl ne 'DI' )  .

    itab_pf_status-fcode = 'FUNDAP'.

    APPEND itab_pf_status.

  endif.

    SET PF-STATUS '0100' EXCLUDING itab_pf_status.

* << Fim da inclusão

    SET TITLEBAR '100C'.

  ELSEIF sy-tcode EQ '/PWS/ZYCI016_E' OR v_status_s = 0.

    v_status_s = 0.

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

  if ( /pws/zycie001-modalidade ne '05' or

     /pws/zycie001-tpdecl ne 'DI' )  .

    itab_pf_status-fcode = 'FUNDAP'.

    APPEND itab_pf_status.

  endif.

* << Fim da inclusão

    itab_pf_status-fcode = 'SAVE'.

    APPEND itab_pf_status.

    itab_pf_status-fcode = 'CANCG'.

    APPEND itab_pf_status.

    itab_pf_status-fcode = 'CRIARNF'.

    APPEND itab_pf_status.

    itab_pf_status-fcode = 'MARC'.

    APPEND itab_pf_status.

    itab_pf_status-fcode = 'DESM'.

    APPEND itab_pf_status.

...

 

...

 

* >> Início da inclusão:

module load_data_0050 output.

  if /pws/zycie001-modalidade is initial.

     select single nrseq from /pws/zycit100

      into /pws/zycie100

      where nrseqdi eq /pws/zycie085-nrseqdi.

     if sy-subrc eq 0 .

        select single * from /pws/zycit001

          into /pws/zycie001

          where nrseq eq /pws/zycie100.

     endif.

  endif.

endmodule.

module STATUS_0130 output.

  SET PF-STATUS '0130'.

endmodule.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI016X01

 

 ...

 

* >> Início da inclusão:

  tables:  /pws/zycit478 ,

           /pws/zycit480 .

* << Fim da inclusão

 

 

...

 

...

 

* >> Início da exclusão:

      v_basred      LIKE /pws/zycit036-basred,

* << Fim da exclusão

* >> Início da inclusão:

      v_basred      like /pws/zycie003-netpr,

* << Fim da inclusão

...

 

...

 

* >> Início da inclusão:

  data: begin of itab_zycit480 occurs 0 .

        include structure /pws/zycit480.

  data: end of itab_zycit480.

  DATA: BEGIN OF itab_ekpa OCCURS 0 .

  DATA: ebeln TYPE ekpa-ebeln,

        parvw TYPE ekpa-parvw,

        lifn2 TYPE ekpa-lifn2.

  DATA: END  OF itab_ekpa.

  data: v_vlii     type /pws/zycit100-vlii    ,

        v_vlipi    type /pws/zycit100-vlipi   ,

        v_vlpis    type /pws/zycit100-vlpis   ,

        v_vlcofins type /pws/zycit100-vlcofins.

data  v_advicms type p decimals 3,

        v_base_ps LIKE /pws/zycee007-base ,

        v_fundap.

 

* << Fim da inclusão

DATA: END OF COMMON PART a.

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F02

 

FORM load_cnpj USING    p_bbranch p_bukrs

               CHANGING p_cnpj.

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

  DATA: v_cgc LIKE j_1bwfield-cgc_number.

* << Fim da exclusão

  IF NOT p_bbranch IS INITIAL AND

     NOT p_bukrs   IS INITIAL.

    CALL FUNCTION 'J_1BREAD_BRANCH_DATA'

         EXPORTING

              branch            = p_bbranch

              bukrs             = p_bukrs

         IMPORTING

              cgc_number        = v_cgc

              branch_data       = wa_j_1bbranch

         EXCEPTIONS

              branch_not_found  = 1

              address_not_found = 2

              company_not_found = 3

              OTHERS            = 4.

    IF sy-subrc EQ 1.

      MESSAGE i015 WITH text-001 p_bbranch.

    ENDIF.

    IF NOT /pws/zycie085-opfundap IS INITIAL or

    /PWS/ZYCIE085-CONTROPCB eq '2'.

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

      IF /pws/zycie085-fundapiana IS INITIAL.

        READ TABLE itab_it INDEX 1.

        SELECT SINGLE a~lifn2

          FROM ekpa AS a INNER JOIN /pws/zycet076 AS b ON

            a~parvw EQ b~codigo_r3

        INTO /pws/zycie085-fundapiana

        WHERE b~codigo_ce EQ 'FD'

          AND a~ebeln EQ itab_it-ebeln.

      ENDIF.

      IF v_cnpj_findap IS INITIAL.

        SELECT SINGLE stcd1 name1 FROM lfa1

          INTO (v_cnpj_findap, v_desc_findap)

         WHERE lifnr = /pws/zycie085-fundapiana.

        IF sy-subrc = 0.

          /pws/zycie085-cnpjestab = v_cnpj_findap.

          WRITE v_cnpj_findap TO v_cnpj_findap

           USING EDIT MASK '__.___.___/____-__'.

        ENDIF.

      ENDIF.

* << Fim da exclusão

    ELSE.

      CLEAR: v_cnpj_findap, v_desc_findap, /pws/zycie085-fundapiana.

      /pws/zycie085-cnpjestab = v_cgc.

    ENDIF.

    /pws/zycie085-cgc = v_cgc.

    WRITE: v_cgc TO p_cnpj.

  ENDIF.

ENDFORM.

 

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F04

 

...

    ENDIF.

    IF screen-name EQ 'TXTDTC' AND

      /pws/zycie085-codreg EQ '15'.

      screen-input = screen-required = '0'.

      screen-invisible = '1'.

    ENDIF.

    IF screen-name EQ 'TXTAG' AND

      /pws/zycie085-codreg EQ '15'.

      screen-input = screen-required = '0'.

      screen-invisible = '1'.

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

    ENDIF.

   if ITAB_ZYCIT001-modalidade eq '05' and

      ITAB_ZYCIT001-tpdecl = 'DI' .

      if screen-name eq '/PWS/ZYCIE085-CONTROPCB' or

         screen-name eq '/PWS/ZYCIE085-OPFUNDAP' .

         Screen-input = '0'.

* << Fim da inclusão

    ENDIF.

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

   endif.

* << Fim da inclusão

    MODIFY SCREEN.

  ENDLOOP.

ENDFORM.

 

...

 

...

* >> Início da inclusão:

form load_consignacao.

    IF NOT /pws/zycie085-opfundap IS INITIAL or

    /PWS/ZYCIE085-CONTROPCB eq '2'.

      IF /pws/zycie085-fundapiana IS INITIAL.

        READ TABLE itab_it INDEX 1.

        SELECT SINGLE a~lifn2

          FROM ekpa AS a INNER JOIN /pws/zycet076 AS b ON

            a~parvw EQ b~codigo_ce

        INTO /pws/zycie085-fundapiana

        WHERE b~codigo_ce EQ 'FU'

          AND a~ebeln EQ itab_it-ebeln.

      ENDIF.

      IF v_cnpj_findap IS INITIAL.

        SELECT SINGLE stcd1 name1 FROM lfa1

          INTO (v_cnpj_findap, v_desc_findap)

         WHERE lifnr = /pws/zycie085-fundapiana.

        IF sy-subrc = 0.

          /pws/zycie085-cnpjestab = v_cnpj_findap.

          WRITE v_cnpj_findap TO v_cnpj_findap

           USING EDIT MASK '__.___.___/____-__'.

        ENDIF.

      ENDIF.

    ELSE.

      CLEAR: v_cnpj_findap, v_desc_findap, /pws/zycie085-fundapiana.

      /pws/zycie085-cnpjestab = v_cgc.

    ENDIF.

    /pws/zycie085-cgc = v_cgc.

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI023O01

 

...

 

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

   if ITAB_ZYCIT001-modalidade eq '05' and

      ITAB_ZYCIT001-tpdecl = 'DI' .

      /pws/zycie085-opfundap = 'X' .

      /pws/zycie085-contropcb = '2' .

      perform load_consignacao.

   endif.

* << Fim da inclusão

ENDMODULE.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023X01

 

...

 

* >> Início da inclusão:

  DATA: v_cgc LIKE j_1bwfield-cgc_number.

* << Fim da inclusão

DATA: END OF COMMON PART.

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI016

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 100

 

Texto: (46 caracteres)

"Tipo de Nota Fiscal não informado no Embarque."

 

Comprimento máximo: 132

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 101

 

Texto: (51 caracteres)

"Parceiro Fundap não informado no Pedido de Compras."

 

Comprimento máximo: 51

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 102

 

Texto: (10 caracteres)

"Pedidos nº"

 

Comprimento máximo: 10