CE PLUS - Nota 012342

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 03/07/2012 00:00:00

Data/Hora Última Alteração: 17/08/2012 15:47:41

Descrição da Nota: DAI - INSERIR NOVOS CAMPOS NA PASTA DAI DAS ADIÇÕES

Sintoma

1) NCM Produto Final = com propriedades idênticas ao campo /pws/zycit018

Para esse campo fazer a mesma pesquisa que o programa da DAI está fazendo para preencher o campo

"NCM do Produto a ser fabricado".

 

2) Cod SUFRAMA Produto Final = campo /pws/zycit079-CODSUFRAMA

Para esse campo fazer a mesma pesquisa que o programa da DAI está fazendo para preencher o campo

"Código SUFRAMA do Produto a ser fabricado".

 

3) Na DAI na estutura de ADIÇão, preencher o campo "NCM do Produto a ser fabricado", com o campo

criado no item 1

 

4) Na DAI na estutura de ADIÇão, preencher o campo "Código SUFRAMA do Produto a ser fabricado", com

o campo criado no item 2

 

 

Solução

Atualizado programa para incluir novos  campos na tela de DAI das adições para preenchimento de NCM

e COD SUFRAMA do produto final.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

DAI - NOVA PASTA NA DI PARA INFORMAÇÕES SOBRE LACRE

DAI - DECLARAÇÃO AMAZONENSE DE IMPORTAÇÃO

DAI - NOVAS DEFINIÇÕES PARA O NCM E CÓDIGO SUFRAMA

DAI - OBRIGATORIEDADE DE CAMPOS

DAI - ALTERAÇÕES NA LÓGICA DE ALGUNS CAMPOS DA /PWS/ZYCI_CARREGA_DAI

Informações Complementares

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

Nota Número 12342 Data: 03/07/2012 Hora: 17:23:35

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

 

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

Nota Número              : 12342

Categoria                : Melhoria

Prioridade               : Baixa

Versão PW.CE             : 9.0

Pacote                   : 00001

Agrupamento              : 00119

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

Referência às notas relacionadas:

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

 

12154  - 00001 - 8.0    - 00011  - DAI - DECLARAÇÃO AMAZONENSE DE IMPORTAÇÃO

12298  - 00002 - 9.0    - 00001  - DAI - OBRIGATORIEDADE DE CAMPOS

12317  - 00004 - 9.0    - 00001  - DAI - NOVAS DEFINIÇÕES PARA O NCM E CÓDIGO SUFRAMA

12326  - 00003 - 9.0    - 00001  - DAI - NOVA PASTA NA DI PARA INFORMAÇÕES SOBRE LACRE

12338  - 00005 - 9.0    - 00001  - DAI - ALTERAÇÕES NA LÓGICA DE ALGUNS CAMPOS DA /PWS/ZYCI_CARREGA_

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

DAI - INSERIR NOVOS CAMPOS NA PASTA DAI DAS ADIÇÕES

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

Palavras Chave:

NCM PRODUTO FINAL - COD SUFRAMA PRODUTO FINAL

 

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

Objetos da nota:

DYNP /PWS/SAPMZYCI023                        0370

FUNC /PWS/ZYCI_CARREGA_DAI

REPS /PWS/MZYCI023F01

REPS /PWS/MZYCI023F05

REPS /PWS/MZYCI023O01

REPS /PWS/MZYCI023X01

TABD /PWS/ZYCIE116

TABD /PWS/ZYCIT116

 

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

Modificações efetuadas em DTEL /PWS/ZYCIL931

 

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

Elemento de dados incluído: /PWS/ZYCIL931

Classe de desenvolvimento: /PWS/ZYCI

Idioma original: PT

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

"NCM Produto Final"

Categoria de dados: Domínio

Domínio: STEUC

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

"NCM Prod.F"

Comprimento máximo do denominador médio: 17

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

"NCM Produto Final"

Comprimento máximo do denominador longo: 20

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

"NCM Produto Final"

Comprimento máximo do título: 17

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

"NCM Produto Final"

 

 

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

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

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE116-CODSUFRA"

Comprimento Visível      4

Linha                    6

Coluna                   23

Formato                  NUMC

Linhas mínimas           4

Texto                    ____

Código função

 

INCLUIR TEXTO "/PWS/ZYCIE116-CODSUFRA"

Comprimento Visível      14

Linha                    6

Coluna                   5

Formato                  CHAR

Texto                    Código SUFRAMA

Código função

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE116-NCM_PF"

Comprimento Visível      16

Linha                    5

Coluna                   23

Formato                  CHAR

Linhas mínimas           16

Texto                    ________________

 

INCLUIR TEXTO "/PWS/ZYCIE116-NCM_PF"

Comprimento Visível      17

Linha                    5

Coluna                   5

Formato                  CHAR

Texto                    NCM Produto Final

Código função

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_CARREGA_DAI

 

...

    SELECT * FROM /pws/zycit079 INTO TABLE it_079

      FOR ALL ENTRIES IN it_det_itens_di

      WHERE numli = it_det_itens_di-nrseqli.

    IF NOT it_079[] IS INITIAL.

      SELECT * FROM /pws/zycit078 INTO TABLE it_078

        FOR ALL ENTRIES IN it_079

        WHERE nrseqli   = it_079-nrseqli

          AND flagpli = 'X'.

    ENDIF.

  ENDIF.

* >> Início da exclusão: FUNCTION /PWS/ZYCI_CARREGA_DAI

  IF NOT it_adicao_di IS INITIAL.

* << Fim da exclusão

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

  if not it_adicao_di[] is initial.

* << Fim da inclusão

    SELECT * FROM /pws/zycit116 INTO TABLE itab_116

      FOR ALL ENTRIES IN it_adicao_di

      WHERE nrseqdi = it_adicao_di-nrseqdi

        AND adicao  = it_adicao_di-adicao.

  ENDIF.

  IF NOT itab_116[] IS INITIAL.

    SELECT * FROM /pws/zycit523 INTO TABLE it_523

      FOR ALL ENTRIES IN itab_116

      WHERE codigo = itab_116-tributacao.

  ENDIF.

...

 

...

    wa_adicao-tp_imp = '1'.

    wa_adicao-cod_imp = wa_j_1bbranch-state_insc.

    wa_adicao-n_imp = wa_j_1bbranch-name.

    READ TABLE it_forn WITH KEY nrseqdi = it_adicao_di-nrseqdi

                                adicao  = it_adicao_di-adicao.

    IF sy-subrc EQ 0.

      wa_adicao-fornecedor = it_forn-forn_name1.

    ENDIF.

    wa_adicao-destinacao = itab_116-destinacao.

    wa_adicao-utilizacao = itab_116-utilizacao.

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

    wa_adicao-suframa = itab_116-codsufra.

    wa_adicao-ncm = itab_116-ncm_pf.

* << Fim da inclusão

    LOOP AT it_itens_di WHERE nrseqdi = it_adicao_di-nrseqdi

                          AND adicao  = it_adicao_di-adicao.

* >> Início da exclusão: FUNCTION /PWS/ZYCI_CARREGA_DAI

      READ TABLE it_079 WITH KEY numli = it_itens_di-nrseqli

                                 ebeln = it_itens_di-ebeln

                                 ebelp = it_itens_di-ebelp.

      IF sy-subrc EQ 0.

        READ TABLE it_078 WITH KEY nrseqli = it_079-nrseqli.

        IF sy-subrc EQ 0 AND NOT it_078-numpexpam IS INITIAL.

          SELECT SINGLE * FROM /pws/zycit197 INTO wa_197

              WHERE nrproc  = it_078-numpexpam

                AND anoproc = it_078-anopexpam.

          IF sy-subrc EQ 0.

            SELECT SINGLE * FROM /pws/zycit198 INTO wa_198

               WHERE nrseqp = wa_197-nrseqp.

            IF sy-subrc EQ 0.

              SELECT SINGLE * FROM /pws/zycit289 INTO wa_289

                WHERE matcod     = wa_198-codmat

                  AND plant      = wa_198-werks

                  AND bom_usage  = wa_198-stlan

                  AND bom        = wa_198-stlnr

                  AND altbom     = wa_198-stlal.

              IF sy-subrc EQ 0.

                wa_adicao-suframa = wa_289-codprod.

                SELECT SINGLE * FROM /pws/zycit218 INTO wa_218

                   WHERE codigo = wa_289-codprod

                   AND   steuc  = wa_289-ncmcod.

                IF sy-subrc EQ 0.

                  wa_adicao-ncm = wa_218-steuc.

                ENDIF.

              ENDIF.

            ENDIF.

          ENDIF.

        ENDIF.

      ENDIF.

* << Fim da exclusão

      PERFORM load_waers USING it_itens_di-waersbem

                      CHANGING it_itens_di-waersbem.

      IF it_itens_di-waersbem EQ wa_zycbt007-waersa.

        wa_adicao-vlfob = wa_adicao-vlfob + ( it_itens_di-vlfob * 100 ).

      ELSE.

        CLEAR: v_vlusd.

        v_vlusd = it_itens_di-vlfob.

        PERFORM calc_conv_moeda(/pws/sapmzyci023)

                 USING it_itens_di-waersbem

                       wa_zycbt007-waersa

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

...

    CLEAR:   itab_zycit114, itab_zycit115, itab_zycit116,

             itab_zycit118, itab_zycit121, itab_zycit124.

    REFRESH: itab_zycit114, itab_zycit115, itab_zycit116,

             itab_zycit118, itab_zycit121, itab_zycit124.

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

    perform select_ncm_suframa.

* << Fim da inclusão

    LOOP AT it_alist.

      READ TABLE itab_zycit116 WITH KEY adicao = it_alist-adicao.

      IF sy-subrc NE 0.

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

        clear: itab_zycit116.

* << Fim da inclusão

        itab_zycit116-mandt   = sy-mandt.

        itab_zycit116-nrseqdi = /pws/zycie085-nrseqdi.

        itab_zycit116-adicao  = it_alist-adicao.

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

        perform busca_ncm_suframa.

* << Fim da inclusão

        APPEND itab_zycit116.

      ENDIF.

    ENDLOOP.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F05

 

...

* >> Início da inclusão:

form busca_ncm_suframa.

  clear: it_079.

  read table it_079 with key numli = it_alist-nrseqli

                             ebeln = it_alist-ebeln

                             ebelp = it_alist-ebelp.

  if sy-subrc eq 0.

    read table it_078 with key nrseqli = it_079-nrseqli.

    if sy-subrc eq 0 and not it_078-numpexpam is initial.

      read table it_197 with key nrproc  = it_078-numpexpam

                                 anoproc = it_078-anopexpam.

      if sy-subrc eq 0.

        read table it_198 with key nrseqp = it_197-nrseqp.

        if sy-subrc eq 0.

          read table it_289 with key matcod     = it_198-codmat

                                     plant      = it_198-werks

                                     bom_usage  = it_198-stlan

                                     bom        = it_198-stlnr

                                     altbom     = it_198-stlal.

          if sy-subrc eq 0.

            itab_zycit116-codsufra = it_289-codprod.

            read table it_218 with key codigo = it_289-codprod

                                       steuc  = it_289-ncmcod.

            if sy-subrc eq 0.

              itab_zycit116-ncm_pf = it_218-steuc.

            endif.

          endif.

        endif.

      endif.

    endif.

  endif.

endform.

form select_ncm_suframa.

  clear: it_079, it_079[], it_078, it_078[], it_197, it_197[], it_198,

  it_198[], it_289, it_289[], it_218, it_218[].

  if not it_alist[] is initial.

    select * from /pws/zycit079 into table it_079

      for all entries in it_alist

      where numli = it_alist-nrseqli.

  endif.

  if not it_079[] is initial.

    select * from /pws/zycit078 into table it_078

      for all entries in it_079

      where nrseqli   = it_079-nrseqli

        and flagpli = 'X'.

  endif.

  if not it_078[] is initial.

    select  * from /pws/zycit197 into table it_197

       for all entries in it_078

        where nrproc  = it_078-numpexpam

          and anoproc = it_078-anopexpam.

  endif.

  if not it_197[] is initial.

    select * from /pws/zycit198 into table it_198

      for all entries in it_197

       where nrseqp = it_197-nrseqp.

  endif.

  if not it_198[] is initial.

    select * from /pws/zycit289 into table it_289

    for all entries in it_198

    where matcod     = it_198-codmat

      and plant      = it_198-werks

      and bom_usage  = it_198-stlan

      and bom        = it_198-stlnr

      and altbom     = it_198-stlal.

  endif.

  if not it_289[] is initial.

    select * from /pws/zycit218 into table it_218

      for all entries in it_289

       where codigo = it_289-codprod

       and   steuc  = it_289-ncmcod.

  endif.

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI023O01

 

...

MODULE set_screen_370 OUTPUT.

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

  loop at screen.

* << Fim da inclusão

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

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

    LOOP AT SCREEN.

* << Fim da exclusão

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

      if screen-name eq '/PWS/ZYCIE116-DESTINACAO' or

         screen-name eq '/PWS/ZYCIE116-UTILIZACAO' or

         screen-name eq '/PWS/ZYCIE116-TRIBUTACAO' or

         screen-name eq '/PWS/ZYCIE116-NCM_PF'     or

         screen-name eq '/PWS/ZYCIE116-CODSUFRA'.

        screen-input = '0'.

        modify screen.

      endif.

    else.

* << Fim da inclusão

      IF screen-name EQ '/PWS/ZYCIE116-DESTINACAO' OR

         screen-name EQ '/PWS/ZYCIE116-UTILIZACAO' OR

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

         screen-name EQ '/PWS/ZYCIE116-TRIBUTACAO'.

* << Fim da exclusão

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

         screen-name eq '/PWS/ZYCIE116-TRIBUTACAO' or

         screen-name eq '/PWS/ZYCIE116-NCM_PF'     or

         screen-name eq '/PWS/ZYCIE116-CODSUFRA'.

* << Fim da inclusão

        IF v_region EQ 'AM' .

          IF /pws/zycie085-nrdi IS INITIAL.

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

            screen-input = '0'.

          else.

* << Fim da inclusão

            screen-input = '1'.

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

          endif.

* << Fim da inclusão

          ELSE.

            screen-input = '0'.

          ENDIF.

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

        ELSE.

          screen-input = '1'.

* << Fim da exclusão

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

        modify screen.

* << Fim da inclusão

        ENDIF.

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

        MODIFY SCREEN.

* << Fim da exclusão

      ENDIF.

    ENDLOOP.

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

  ENDIF.

* << Fim da exclusão

ENDMODULE.

 

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

Modificações efetuadas em REPS /PWS/MZYCI023X01

 

...

* >> Início da inclusão:

data:  it_078     type /pws/zycit078  occurs 0  with header line,

       it_079     type /pws/zycit079  occurs 0  with header line,

       it_197     type /pws/zycit197  occurs 0  with header line,

       it_198     type /pws/zycit198  occurs 0  with header line,

       it_289     type /pws/zycit289  occurs 0  with header line,

       it_218     type /pws/zycit218  occurs 0  with header line.

* << Fim da inclusão

DATA: END OF COMMON PART.

 

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

Modificações efetuadas em TABD /PWS/ZYCIE116

 

COMPONENTES NOVOS

COMPONENTE:     TP. COMP:

NCM_PF         /PWS/ZYCIL931

CODSUFRA  /PWS/ZYCIL392

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIT116

 

CAMPOS NOVOS

CAMPOS:         TP. CAMPO

NCM_PF         /PWS/ZYCIL931

CODSUFRA  /PWS/ZYCIL392