CE PLUS - Nota 004530

Módulo: DOC. EXPORTAÇÃO

Funcionalidade: Declaração Simplificada Export. DSE

Data/Hora da Publicação: 27/08/2007 00:00:00

Data/Hora Última Alteração: 22/02/2011 10:39:44

Descrição da Nota: SELEÇÃO DE ITENS DO EMBARQUE NA DECLARAÇÃO SIMPLIFICADA DE EXPORTAÇÃO

Sintoma

Substituição de seleções diretas na tabela de "Itens do Embarque" (/pws/zycet002) pela utilização da

função que retorna o valor líquido dos itens do Embarque.

 

 

Solução

Alteração do programa e implementação da utilização da função "/PWS/ZYCR_ITENS_EMBARQUE_EXP" para

seleção de Itens do Embarque.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

VALOR TOTAL E DE PESO BRUTO ERRADOS EM DSE

PESO LIQUIDO E PESO BRUTO INCORRETOS NA DSE

Informações Complementares

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

Nota Número 04530 Data: 27/08/2007 Hora: 14:15:12

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

 

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

Nota Número              : 04530

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00002

Agrupamento              : 00009

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

Referência às notas relacionadas:

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

 

01923  - 00001 - 6.0    - 00024  - VALOR TOTAL E DE PESO BRUTO ERRADOS EM DSE

03590  - 00002 - 7.0    - 00001  - PESO LIQUIDO E PESO BRUTO INCORRETOS NA DSE

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

SELEÇÃO DE ITENS DO EMBARQUE NA DECLARAÇÃO SIMPLIFICADA DE EXPORTAÇÃO

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

Palavras Chave:

DSE, DECLARAÇÃO, EXPORTAÇÃO, SELEÇÃO, ITENS, EMBARQUE

 

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

Objetos da nota:

REPS /PWS/MZYCE022F01

REPS /PWS/MZYCE022TOP

 

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

Modificações efetuadas em REPS /PWS/MZYCE022F01

 

...

        WHERE nrseq = /pws/zycee208-nrseq.

  PERFORM verifica_autorizacao_empresa USING wa_zycee001-bukrs.

  /pws/zycee208-navio = wa_zycee001-navio.

  CLEAR itab_002.

  REFRESH itab_002.

  IF NOT /pws/zycee208-nrseq IS INITIAL.

    SELECT SINGLE * FROM /pws/zycet001 INTO wa_zycee001

          WHERE nrseq = /pws/zycee208-nrseq.

    /pws/zycee208-bukrs = wa_zycee001-bukrs.

    v_pais              = wa_zycee001-paisdest.

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

      CALL FUNCTION '/PWS/ZYCR_ITENS_EMBARQUE_EXP'

           EXPORTING

                nrseq                    = /pws/zycee208-nrseq

                inco1                    = wa_zycee001-inco1

                tpcalc                   = wa_zycee001-tpcalc

                inclui_nao_faturados     = space

                inclui_dados_t604        = space

                inclui_nota_complementar = space

           TABLES

                e_t_itens                = it_itens_embarque

           EXCEPTIONS

                itens_nao_encontrados    = 1

                OTHERS                   = 2.

      IF sy-subrc EQ 0.

* << Fim da inclusão

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

    SELECT auart

     FROM /pws/zycet020

     INTO TABLE itab_zycet020

     WHERE bukrs   EQ /pws/zycee208-bukrs

       AND tipodoc EQ 'OV'.

* << Fim da exclusão

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

        LOOP AT it_itens_embarque INTO wa_itens_embarque.

          MOVE-CORRESPONDING wa_itens_embarque TO itab_002.

          APPEND itab_002.

        ENDLOOP.

      ENDIF.

* << Fim da inclusão

    IF NOT wa_zycee001-werks IS INITIAL.

      /pws/zycee208-werks    = wa_zycee001-werks.

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

      SELECT nrseq

             vbeln_va

             vbeln_vf

             posnr

             vbeln_vl

             posnl

             aupos

             waers

             fkimg_r

             vrkme

             matnr

             werks

             shkzg

             vlemb

             ntgew_r

             brgew_r

             gewei

             arktx

             steuc

       FROM /pws/zycet002

       INTO TABLE itab_002

       FOR ALL ENTRIES IN itab_zycet020

       WHERE nrseq = /pws/zycee208-nrseq

         AND auart EQ itab_zycet020-auart

         AND st_vd IN ('VD', 'DP').

* << Fim da exclusão

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

    ELSE.

* << Fim da inclusão

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

    ELSE.

* << Fim da exclusão

      PERFORM verifica_centro_filial.

    ENDIF.

    SELECT SINGLE /pws/codpa

           FROM t005

           INTO /pws/zycee208-paisdest

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

           WHERE land1 = v_pais.

* << Fim da inclusão

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

           WHERE land1 = v_pais.

* << Fim da exclusão

    SELECT SINGLE landx FROM t005t INTO (s_paisdest)

            WHERE land1 = v_pais

            AND spras   = sy-langu.

  ENDIF.

  READ TABLE itab_002 INDEX 1.

  SELECT SINGLE j_1bbranch FROM t001w

                        INTO v_branch

                         WHERE werks = /pws/zycee208-werks.

  IF NOT v_branch IS INITIAL.

    SELECT SINGLE * FROM /pws/zycet145 INTO wa_zycet145

...

 

...

      ON a~steuc = b~nbmcode

      INNER JOIN t604n AS c

      ON a~steuc = c~steuc

      INTO TABLE itab_t604f

      FOR ALL ENTRIES IN itab_002

      WHERE a~steuc EQ itab_002-steuc

        AND a~land1 EQ 'BR'

        AND c~land1 EQ 'BR'

        AND c~spras EQ sy-langu.

  ENDIF.

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

  SELECT a~nrseq b~nrseqdse b~vbeln_va b~aupos b~vbeln_vf b~posnr

* << Fim da exclusão

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

  SELECT a~nrseq b~nrseqdse

          b~vbeln_va b~aupos

          b~vbeln_vl b~posnl

          b~vbeln_vf b~posnr

* << Fim da inclusão

        FROM /pws/zycet208 AS a

        INNER JOIN /pws/zycet210 AS b

        ON b~nrseqdse = a~nrseqdse

        INTO TABLE itab_itemdse

        WHERE a~nrseq = /pws/zycee208-nrseq.

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

  SELECT a~nrseq b~nrseqdse b~vbeln_va b~aupos b~vbeln_vf

      b~posnr

* << Fim da exclusão

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

  SELECT a~nrseq b~nrseqdse

         b~vbeln_va b~aupos

         b~vbeln_vl b~posnl

         b~vbeln_vf b~posnr

* << Fim da inclusão

      FROM /pws/zycet208 AS a

      INNER JOIN /pws/zycet211 AS b

      ON b~nrseqdse = a~nrseqdse

      APPENDING TABLE itab_itemdse

      WHERE a~nrseq = /pws/zycee208-nrseq.

  IF NOT itab_itemdse[] IS INITIAL.

    LOOP AT itab_itemdse.

      READ TABLE itab_002 WITH KEY nrseq = itab_itemdse-nrseq

                                vbeln_va = itab_itemdse-vbeln_va

                                aupos    = itab_itemdse-aupos

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

                                vbeln_vl = itab_itemdse-vbeln_vl

                                posnl    = itab_itemdse-posnl

* << Fim da inclusão

                                vbeln_vf = itab_itemdse-vbeln_vf

                                posnr    = itab_itemdse-posnr.

      IF sy-subrc = 0.

        vindex = sy-tabix.

        DELETE itab_002 INDEX vindex.

      ENDIF.

    ENDLOOP.

  ENDIF.

  CLEAR itab_zyglt100.

  READ TABLE itab_zyglt100 WITH KEY zexit = 'DSE001'.

...

 

...

        ENDIF.

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

FORM verifica_centro_filial.

  DATA: v_index LIKE sy-tabix.

  REFRESH: itab_centro, itab_centro_aux, itab_locneg.

  CLEAR:   itab_centro, itab_centro_aux, itab_locneg.

  IF NOT itab_002[] IS INITIAL.

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

    SELECT nrseq

           vbeln_va

           vbeln_vf

           posnr

           vbeln_vl

           posnl

           aupos

           waers

           fkimg_r

           vrkme

           matnr

           werks

           shkzg

           vlemb

           ntgew_r

           brgew_r

           arktx

           steuc

     FROM /pws/zycet002

     INTO TABLE itab_002

     FOR ALL ENTRIES IN itab_zycet020

     WHERE nrseq EQ /pws/zycee208-nrseq

       AND auart EQ itab_zycet020-auart

       AND st_vd IN ('VD', 'DP').

* << Fim da exclusão

    LOOP AT itab_002.

      IF NOT itab_002-werks IS INITIAL.

        SELECT SINGLE j_1bbranch FROM t001w

               INTO itab_centro-j_1bbranch

               WHERE werks EQ itab_002-werks.

        IF sy-subrc EQ 0.

          MOVE: itab_002-werks TO itab_centro-werks.

          APPEND itab_centro.

          CLEAR itab_centro.

        ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCE022TOP

 

...

DATA: END OF itab_216.

DATA: BEGIN OF itab_zycet305 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycet305.

DATA: marc TYPE c.

DATA: END OF itab_zycet305.

DATA : BEGIN OF itab_itemdse OCCURS 10,

        nrseq     LIKE /pws/zycet002-nrseq,

        nrseqdse  LIKE /pws/zycet208-nrseqdse,

        vbeln_va  LIKE /pws/zycet002-vbeln_va,

        aupos     LIKE /pws/zycee085-aupos,

* >> Início da inclusão:

        vbeln_vl  LIKE /pws/zycet002-vbeln_vl,

        posnl     LIKE /pws/zycet002-posnl,

* << Fim da inclusão

        vbeln_vf  LIKE /pws/zycet002-vbeln_vf,

        posnr     LIKE /pws/zycet002-posnr,

     END OF itab_itemdse.

DATA: itab_209a   LIKE itab_209 OCCURS 10,

      itab_211a   LIKE itab_211 OCCURS 10,

      itab_212a   LIKE itab_212 OCCURS 10,

      itab_216a   LIKE itab_216 OCCURS 10,

      itab_305a   LIKE itab_zycet305 OCCURS 10.

DATA: BEGIN OF itab_especie OCCURS 10.

        INCLUDE STRUCTURE /pws/zycet146.

...

 

...

        nrseq      LIKE /pws/zycet208-nrseq,

        nrseqdse   LIKE /pws/zycet208-nrseqdse,

        werks      LIKE /pws/zycet208-werks.

DATA: END OF itab_locneg.

DATA itab_tline LIKE tline OCCURS 10 WITH HEADER LINE.

DATA: BEGIN OF itab_text OCCURS 0,

       codnrseqdse LIKE /pws/zycet210-codnrseqdse,

       linha2      LIKE /pws/zycet216-linha2,

       linha3      LIKE /pws/zycet216-linha3,

      END OF itab_text.

* >> Início da exclusão:

DATA: BEGIN OF itab_zycet020 OCCURS 10,

       auart   TYPE /pws/zycet020-auart,

      END OF itab_zycet020.

* << Fim da exclusão

* >> Início da inclusão:

DATA: it_itens_embarque TYPE STANDARD TABLE OF /pws/zycre018

                        WITH DEFAULT KEY,

      wa_itens_embarque LIKE LINE OF it_itens_embarque[].

* << Fim da inclusão

DATA: wa_zycee208  LIKE /pws/zycee208,

      wa_zycee001  LIKE /pws/zycee001,

      wa_zycet145  LIKE /pws/zycet145,

      wa_zycet184  LIKE /pws/zycet184,

      wa_empresa   LIKE /pws/zycet154,

      wa_thead     LIKE thead,

      wa_cols      TYPE cxtab_column.

DATA: BEGIN OF wa_despacho,

        codesp    LIKE /pws/zycet132-codesp,

        descdesp  LIKE /pws/zycet132-descdesp,

...