CE PLUS - Nota 012338

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

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

Data/Hora Última Alteração: 17/08/2012 15:46:37

Descrição da Nota: DAI - ALTERAÇÕES NA LÓGICA DE ALGUNS CAMPOS DA /PWS/ZYCI_CARREGA_DAI

Sintoma

Alterações na lógica de alguns campos da Função: /PWS/ZYCI_CARREGA_DAI

 

 

Solução

Atualizado programa para alterar busca de preenchimento para os campos: Destaque do Item,Descrição

Detalhada da Mercadoria, Unidade de Medida,BC ICMS  e Valor FOB

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

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

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

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

DAI - OBRIGATORIEDADE DE CAMPOS

Informações Complementares

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

Nota Número 12338 Data: 02/07/2012 Hora: 16:25:14

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

 

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

Nota Número              : 12338

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

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

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

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

Palavras Chave:

CÓDIGO DESTAQUE DO ITEM - DESCRIÇÃO DETALHADA DA MERCADORIA

UNIDADE DE MEDIDA - BC ICMS - VALOR FOB

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

Objetos da nota:

FUNC /PWS/ZYCI_CARREGA_DAI

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_CARREGA_DAI

 

FUNCTION /pws/zyci_carrega_dai.

  DATA: it_001     TYPE /pws/zycie001  OCCURS 0  WITH HEADER LINE,

        it_049     TYPE /pws/zycie049  OCCURS 0  WITH HEADER LINE,

        it_520     TYPE /pws/zycit520  OCCURS 0  WITH HEADER LINE,

        it_523     TYPE /pws/zycit523  OCCURS 0  WITH HEADER LINE,

        itab_116   TYPE /pws/zycit116  OCCURS 0  WITH HEADER LINE,

        it_055     TYPE /pws/zycit055  OCCURS 0  WITH HEADER LINE,

        it_078     TYPE /pws/zycit078  OCCURS 0  WITH HEADER LINE,

        it_079     TYPE /pws/zycit079  OCCURS 0  WITH HEADER LINE,

        t_despesas TYPE /pws/zycie123b OCCURS 0  WITH HEADER LINE,

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

        it_525     TYPE /pws/zycit525  OCCURS 0  WITH HEADER LINE.

* << Fim da exclusão

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

        it_525     TYPE /pws/zycit525  OCCURS 0  WITH HEADER LINE,

        it_204     TYPE /pws/zyglt204  OCCURS 0  WITH HEADER LINE.

  DATA: rtexti     LIKE tline          OCCURS 0  WITH HEADER LINE.

* << Fim da inclusão

  DATA:  wa_t001w      LIKE t001w,

         wa_j_1bbranch LIKE j_1bbranch,

         wa_197        LIKE /pws/zycit197,

         wa_198        LIKE /pws/zycit198,

         wa_289        LIKE /pws/zycit289,

         wa_218        LIKE /pws/zycit218,

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

         wa_219        LIKE /pws/zycit219,

         wa_079        TYPE /pws/zycit079.

* << Fim da exclusão

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

         wa_219        LIKE /pws/zycit219.

* << Fim da inclusão

  DATA: s_tax      TYPE /pws/zycie085-ukursfob,

        v_vlantid  TYPE /pws/zycit100-vlantid,

        v_lin      TYPE i,

        v_cide     TYPE /pws/zycit049-vlreal,

        v_multas   TYPE /pws/zycit049-vlreal,

        v_diversas TYPE /pws/zycit049-vlreal,

        v_capataz  TYPE /pws/zycit049-vlreal,

        v_cgc      LIKE j_1bwfield-cgc_number,

        v_vlusd    LIKE /pws/zycie085-vlfob,

        v_vlbrl    LIKE /pws/zycie085-vlfob,

        v_vlfob    TYPE /pws/zycie515-vlfob,

        v_vlfre    TYPE /pws/zycie515-vlfre,

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

        v_vlseg    TYPE /pws/zycie515-vlseg.

* << Fim da exclusão

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

        v_vlseg    TYPE /pws/zycie515-vlseg,

        v_txtki    LIKE thead-tdname.

* << Fim da inclusão

  CLEAR: e_di, t_adicao, t_adicao[], t_lacre, t_lacre[], t_adicao_item,

         t_adicao_item[].

  CALL FUNCTION '/PWS/ZYCI_TRANSFER_DI'

       EXPORTING

            i_nrseqdi       = i_nrseqdi

            i_tpdi          = i_tpdi

       TABLES

            it_cabecalho_di = it_cabecalho_di

            it_itens_di     = it_itens_di

            it_det_itens_di = it_det_itens_di

...

 

...

            it_destaque     = it_destaque

            it_200          = it_200

            it_merc_cab     = it_merc_cab

            it_merc_ad      = it_merc_ad.

  IF NOT it_itens_di[] IS INITIAL.

    SELECT * FROM /pws/zycit001 INTO TABLE it_001

           FOR ALL ENTRIES IN it_itens_di

           WHERE nrseq EQ it_itens_di-nrseq.

  ENDIF.

  IF NOT it_det_itens_di[] IS INITIAL.

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

    SELECT * FROM /pws/zycit078 INTO TABLE it_078

* << Fim da exclusão

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

    SELECT * FROM /pws/zyglt204 INTO TABLE it_204

* << Fim da inclusão

      FOR ALL ENTRIES IN it_det_itens_di

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

      WHERE flagpli = 'X'

        AND nrpli   = it_det_itens_di-nrli.

* << Fim da exclusão

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

         WHERE msehi = it_det_itens_di-meins.

* << Fim da inclusão

    SELECT * FROM /pws/zycit079 INTO TABLE it_079

      FOR ALL ENTRIES IN it_det_itens_di

      WHERE numli = it_det_itens_di-nrseqli.

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

    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.

* << Fim da inclusão

  ENDIF.

  IF NOT it_adicao_di IS INITIAL.

    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

...

 

...

          v_diversas = v_diversas + it_049-vlreal.

        WHEN '4'.

          v_capataz = v_capataz + it_049-vlreal.

      ENDCASE.

    ENDIF.

  ENDLOOP.

  e_di-vlcide      = v_cide * 100.

  e_di-vlmulta_jur = v_multas * 100.

  e_di-vltaxasd    = v_diversas * 100.

  e_di-vltaxasc    = v_capataz * 100.

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

    clear e_di-VLFOB.

* << Fim da inclusão

  SELECT SINGLE counc FROM t005e INTO t005e-counc

    WHERE land1 = wa_t001w-land1

      AND regio = wa_t001w-regio.

  IF sy-subrc = 0.

    e_di-uf = t005e-counc.

  ELSE.

    e_di-uf = wa_t001w-regio.

  ENDIF.

  e_di-ukursfob = it_cabecalho_di-ukursfob * 10000.

  e_di-peso = it_cabecalho_di-ntgew * 100000.

...

 

...

    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.

    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_078 WITH KEY nrpli = it_det_itens_di-nrli.

* << Fim da exclusão

* >> Início da inclusã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.

* << Fim da inclusão

      IF sy-subrc EQ 0.

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

        READ TABLE it_078 WITH KEY nrseqli = it_079-nrseqli.

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

* << Fim da inclusão

        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

...

 

...

              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.

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

      ENDIF.

* << Fim da inclusão

      IF wa_adicao-ncm IS INITIAL.

        wa_adicao-ncm = it_adicao_di-j_1bnbm.

      ENDIF.

      IF wa_adicao-suframa IS INITIAL.

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

        READ TABLE it_079 WITH KEY numli = it_itens_di-nrseqli.

        IF sy-subrc EQ 0.

* << Fim da exclusão

          wa_adicao-suframa = it_079-codsufra.

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

        ENDIF.

* << Fim da exclusão

      ENDIF.

      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_adicao-vlcide      = v_cide     * 100.

    wa_adicao-vlmulta_jur = v_multas   * 100.

    wa_adicao-vltaxasd    = v_diversas * 100.

    wa_adicao-vltaxasc    = v_capataz  * 100.

    wa_adicao-ukursfob = it_cabecalho_di-ukursfob * 10000.

    wa_adicao-cod_trib = itab_116-tributacao.

    wa_adicao-vlbc_icms = v_vlfob + v_vlfre + v_vlseg +

                          wa_adicao-vlii + wa_adicao-vlipi +

                          wa_adicao-vlpis_cofins + wa_adicao-vlcide +

                          wa_adicao-vlantid + wa_adicao-vlmulta_jur +

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

                          wa_adicao-vltaxasd.

* << Fim da exclusão

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

                          wa_adicao-vltaxasd + wa_adicao-vltaxasc.

* << Fim da inclusão

    READ TABLE it_523 WITH KEY codigo = itab_116-tributacao.

    IF sy-subrc EQ 0.

      wa_adicao-vlcm = it_523-cm * 100000.

    ENDIF.

    wa_adicao-vlicms = ( wa_adicao-vlbc_icms * wa_adicao-vlcm ) * 100.

    IF e_di-regime = '07'.

    ENDIF.

    CLEAR: v_vlusd, wa_adicao_item.

    LOOP AT it_itens_di WHERE nrseqdi = it_adicao_di-nrseqdi

                          AND adicao  = it_adicao_di-adicao.

      wa_adicao_item-numitem = it_itens_di-item_adi_sisc.

      wa_adicao_item-adicao  = it_itens_di-adicao.

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

      wa_adicao_item-descr_m = it_itens_di-especificacao.

* << 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.

        v_vlusd = it_itens_di-vlfob.

        wa_adicao_item-vltotal =

                   wa_adicao_item-vltotal + ( it_itens_di-vlfob * 100 ).

      ELSE.

        v_vlusd = it_itens_di-vlfob.

        PERFORM calc_conv_moeda(/pws/sapmzyci023)

                 USING it_itens_di-waersbem

...

 

...

      READ TABLE it_det_itens_di WITH KEY nrseq = it_itens_di-nrseq

                                          ebeln = it_itens_di-ebeln

                                          ebelp = it_itens_di-ebelp.

      IF sy-subrc EQ 0.

        IF it_det_itens_di-qtd_itend IS INITIAL.

          it_det_itens_di-qtd_itend = it_det_itens_di-qtd_iten.

        ENDIF.

        wa_adicao_item-ncm    = it_det_itens_di-j_1bnbm.

        wa_adicao_item-qtde   = wa_adicao_item-qtde +

                                 ( it_det_itens_di-qtd_itend * 100000 ).

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

        CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'

* << Fim da exclusão

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

        READ TABLE it_204 WITH KEY msehi = it_det_itens_di-meins.

        IF sy-subrc EQ 0.

          wa_adicao_item-un = it_204-descr.

        ENDIF.

        wa_adicao_item-vlunit = wa_adicao_item-vlunit +

        ( v_vlusd / it_det_itens_di-qtd_itend ) * 10000000.

        READ TABLE it_079 WITH KEY numli = it_det_itens_di-nrseqli

                                   ebeln = it_det_itens_di-ebeln

                                   ebelp = it_det_itens_di-ebelp.

        IF sy-subrc EQ 0.

          CLEAR: v_txtki, rtexti[], rtexti.

          CONCATENATE it_079-nrseqli it_079-ebeln it_079-ebelp

                                                         INTO v_txtki.

          CALL FUNCTION 'READ_TEXT'

* << Fim da inclusão

             EXPORTING

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

                  input          = it_det_itens_di-meins

                  language       = 'P'

             IMPORTING

                  output         = wa_adicao_item-un

* << Fim da exclusão

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

                    client                  = sy-mandt

                    id                      = '0338'

                    language                = sy-langu

                    name                    = v_txtki

                    object                  = '/PWS/ZYCI'

               TABLES

                    lines                   = rtexti

* << Fim da inclusão

             EXCEPTIONS

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

                  unit_not_found = 1

                  OTHERS         = 2.

        wa_adicao_item-vlunit = wa_adicao_item-vlunit +

        ( v_vlusd / it_det_itens_di-qtd_itend ) * 10000000.

        READ TABLE it_078 WITH KEY nrpli   = it_det_itens_di-nrli.

* << Fim da exclusão

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

                    id                      = 1

                    language                = 2

                    name                    = 3

                    not_found               = 4

                    object                  = 5

                    reference_check         = 6

                    wrong_access_to_archive = 7

                    OTHERS                  = 8.

          wa_adicao_item-descr_m = it_079-espec_tecnica.

          LOOP AT rtexti.

            CONCATENATE wa_adicao_item-descr_m rtexti-tdline INTO

                            wa_adicao_item-descr_m SEPARATED BY space.

          ENDLOOP.

          READ TABLE it_078 WITH KEY nrseqli = it_079-nrseqli.

* << Fim da inclusão

        IF sy-subrc EQ 0.

          CONCATENATE it_078-numpexpam+1(7) it_078-anopexpam+2(2)

             INTO wa_adicao_item-pexpam.

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

          IF it_078-aplicpli EQ '4'.

            SELECT SINGLE * FROM /pws/zycit079 INTO wa_079

              WHERE nrseqli = it_078-nrseqli

                AND tpli    = it_078-tpli

                AND ebeln   = it_itens_di-ebeln

                AND ebelp   = it_itens_di-ebelp.

            IF sy-subrc EQ 0.

              wa_adicao_item-destncm = wa_079-destaque.

* << Fim da exclusão

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

            wa_adicao_item-destncm = it_079-destaque.

* << Fim da inclusão

              SELECT SINGLE * FROM /pws/zycit219 INTO wa_219

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

                 WHERE codigo   = wa_079-codsufra

                   AND ncm      = wa_079-ncm

                   AND destaque = wa_079-destaque.

* << Fim da exclusão

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

               WHERE codigo   = it_079-codsufra

                 AND ncm      = it_079-ncm

                 AND destaque = it_079-destaque.

* << Fim da inclusão

              IF sy-subrc EQ 0.

                wa_adicao_item-descr_s = wa_219-descricao.

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

              ENDIF.

* << Fim da exclusão

            ENDIF.

          ENDIF.

        ENDIF.

      ENDIF.

      APPEND wa_adicao_item TO  t_adicao_item.

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

             clear wa_adicao_item .

* << Fim da inclusão

    ENDLOOP.

    wa_adicao-item = t_adicao_item.

    CLEAR t_adicao_item.

    APPEND wa_adicao TO t_adicao.

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

    e_di-VLFOB =  e_di-VLFOB + wa_adicao-vlfob.

* << Fim da inclusão

  ENDLOOP.

  SELECT * FROM /pws/zycit525

    INTO TABLE it_525

...