CE PLUS - Nota 004982

Módulo: DRAWBACK

Funcionalidade: CE Reports Formulários

Data/Hora da Publicação: 15/10/2007 00:00:00

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

Descrição da Nota: ADICIONADA A DESCRIÇÃO DOS NCM'S

Sintoma

O RUD importação não possui a descrição dos NCM's.

 

 

Solução

Adicionada linha com a descrição dos ncm's.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

DESENVOLVIMENTO DO RUD EXPORTAÇÃO, IMPORTAÇÃO E TERMO

Informações Complementares

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

Nota Número 04982 Data: 15/10/2007 Hora: 08:30:38

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

 

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

Nota Número              : 04982

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00003

Agrupamento              : 00016

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

Referência às notas relacionadas:

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

 

03358  - 00001 - 6.0    - 00026  - DESENVOLVIMENTO DO RUD EXPORTAÇÃO, IMPORTAÇÃO E TERMO

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

ADICIONADA A DESCRIÇÃO DOS NCM'S

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

Palavras Chave:

RUD IMPORTAÇÃO EXPORTAÇÃO DESCRIÇÃO NCM CASAS DECIMAIS.

 

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

Objetos da nota:

REPS /PWS/ZYCRR002

REPS /PWS/ZYCRR006

 

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

Modificações efetuadas em REPS /PWS/ZYCRR002

 

...

       ntgew           TYPE /pws/zycit259-ntgew,

       qtd_iten        TYPE /pws/zycit259-qtd_iten,

       meins           TYPE /pws/zycit259-meins,

       vl_fob          TYPE /pws/zycit259-vlfob,

       waersfob        TYPE /pws/zycit259-waersfob,

       vl_cif          TYPE /pws/zycit259-vlcif,

       maktx           TYPE makt-maktx,

       subtot          TYPE c,

       j_1bnbmtot      TYPE /pws/zycit259-j_1bnbm,

       ntgewtot        TYPE /pws/zycit259-ntgew,

* >> Início da exclusão:

       qtd_tot         TYPE /pws/zycit259-qtd_iten,

* << Fim da exclusão

* >> Início da inclusão:

       qtd_tot         TYPE /pws/zycit279-qtd_perda,

* << Fim da inclusão

       vl_fobtot       TYPE /pws/zycit259-vlfob,

       vl_ciftot       TYPE /pws/zycit259-vlcif,

       descr_ncmt(200) TYPE c,

       descr_ncm(200)  TYPE c.

TYPES: END OF s_itens,

       t_itens TYPE STANDARD TABLE OF s_itens.

TYPES: BEGIN OF s_tot_ncm.

TYPES: peso    TYPE /pws/zycit259-ntgew,

* >> Início da exclusão:

       qtd     TYPE /pws/zycit259-qtd_iten,

* << Fim da exclusão

* >> Início da inclusão:

       qtd     TYPE /pws/zycit279-qtd_perda,

* << Fim da inclusão

       fob     TYPE /pws/zycit259-vlfob,

       cif     TYPE /pws/zycit259-vlcif,

       totpeso TYPE /pws/zycit259-ntgew,

* >> Início da exclusão:

       totqtd  TYPE /pws/zycit259-qtd_iten,

* << Fim da exclusão

* >> Início da inclusão:

       totqtd  TYPE /pws/zycit279-qtd_perda,

* << Fim da inclusão

       totfob  TYPE /pws/zycit259-vlfob,

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCRR006

 

...

       meins      TYPE /pws/zycit260-meins,

       vlfob      TYPE /pws/zycit260-vlfob,

       waers      TYPE /pws/zycit260-waers,

       vlfobt     TYPE /pws/zycit260-vlfob_t,

       grupo      TYPE /pws/zycit260-grupo,

       desc_g     TYPE /pws/zycit260-desc_g,

       maktx      TYPE makt-maktx,

       subtot     TYPE c,

       j_1bnbmtot TYPE /pws/zycit260-j_1bnbm,

       ntgewtot   TYPE /pws/zycit260-ntgew,

* >> Início da exclusão:

       qtd_tot    TYPE /pws/zycit260-qtd_vinc,

* << Fim da exclusão

* >> Início da inclusão:

       qtd_tot    TYPE /pws/zycit279-QTD_PERDA,

* << Fim da inclusão

       vl_fembtot TYPE /pws/zycit260-vlfob,

       vl_fobtot  TYPE /pws/zycit260-vlfob_t,

* >> Início da exclusão:

       diadic(14) TYPE c.

* << Fim da exclusão

* >> Início da inclusão:

       diadic(14) TYPE c,

       descr_ncmt(200) TYPE c,

       descr_ncm(200)  TYPE c.

* << Fim da inclusão

TYPES: END OF s_itens,

       t_itens TYPE STANDARD TABLE OF s_itens.

TYPES: BEGIN OF s_tot_ncm.

TYPES: peso    TYPE /pws/zycit260-ntgew,

* >> Início da exclusão:

       qtd     TYPE /pws/zycit260-qtd_vinc,

* << Fim da exclusão

* >> Início da inclusão:

       qtd     TYPE /pws/zycit279-QTD_PERDA,

* << Fim da inclusão

       fob     TYPE /pws/zycit260-vlfob,

       fobt    TYPE /pws/zycit260-vlfob_t,

       totpeso TYPE /pws/zycit260-ntgew,

* >> Início da exclusão:

       totqtd  TYPE /pws/zycit260-qtd_vinc,

* << Fim da exclusão

* >> Início da inclusão:

       totqtd  TYPE /pws/zycit279-QTD_PERDA,

* << Fim da inclusão

       totfemb TYPE /pws/zycit260-vlfob,

...

 

...

END OF s_tot_ncm,

t_tot_ncm TYPE STANDARD TABLE OF s_tot_ncm.

TYPE-POOLS vrm.

DATA: list  TYPE vrm_values,

      value LIKE LINE OF list.

DATA: v_total    TYPE /pws/zycit260-vlfob_t,

      v_peso     TYPE /pws/zycit260-ntgew,

      v_quant    TYPE /pws/zycit260-qtd_vinc,

      v_vlemb    TYPE /pws/zycit260-vlfob,

      v_totncm   TYPE i,

* >> Início da exclusão:

      v_ncm      TYPE /pws/zycit259-j_1bnbm.

* << Fim da exclusão

* >> Início da inclusão:

      v_ncm      TYPE /pws/zycit259-j_1bnbm,

      v_descrncm(200) TYPE c.

* << Fim da inclusão

DATA: BEGIN OF v_tab OCCURS 200,

        value(40) TYPE c,

      END OF v_tab.

DATA: BEGIN OF f_tab OCCURS 10.

        INCLUDE STRUCTURE help_value.

DATA: END OF f_tab.

DATA: wa_cabecalho  TYPE s_cabecalho,

      it_itens     TYPE t_itens.

DATA: wa_gen_param     TYPE /pws/zycrt012,

      wa_rep_param     TYPE /pws/zycrt013,

...

 

...

      it_report_fields TYPE t_rep_fields.

DATA: it_excel_content TYPE t_excel_content,

      it_sect_height   TYPE t_sect_height,

      it_generation_options TYPE t_generation_options.

DATA:  BEGIN OF itab_zycrt003 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycrt003.

DATA: END OF itab_zycrt003.

DATA: BEGIN OF itab_zycit476 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit476.

DATA: END OF itab_zycit476.

* >> Início da inclusão:

DATA:  BEGIN OF itab_t604n OCCURS 0.

        INCLUDE STRUCTURE t604n.

DATA: END OF itab_t604n.

* << Fim da inclusão

SELECTION-SCREEN BEGIN OF BLOCK b1.

PARAMETERS: p_nrseqd TYPE /pws/zycit244-nrseqd  OBLIGATORY MODIF ID key.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2.

PARAMETERS: p_proc1 TYPE /pws/zycrt003-name,

            p_proc2 TYPE /pws/zycrt003-name.

SELECTION-SCREEN END OF BLOCK b2.

PARAMETERS: p_passwd(132) TYPE c LOWER CASE.

PARAMETERS: p_option TYPE xfeld NO-DISPLAY.

AT SELECTION-SCREEN OUTPUT.

...

 

...

         /pws/zycit260~meins /pws/zycit260~vlfob

         /pws/zycit260~waers /pws/zycit260~vlfob_t

         /pws/zycit260~grupo /pws/zycit260~desc_g

         makt~maktx

  FROM ( /pws/zycit260 INNER JOIN makt

          ON /pws/zycit260~codcomp = makt~matnr )

       INTO TABLE p_t_itens

       WHERE /pws/zycit260~nrseqd EQ p_cabecalho-zycit244-nrcompos

         AND makt~spras EQ 'P'.

  it_itens[] = p_t_itens[].

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

  SELECT *

  FROM t604n

  INTO TABLE itab_t604n

  FOR ALL ENTRIES IN it_itens

  WHERE steuc = it_itens-j_1bnbm

  AND spras = sy-langu.

* << Fim da inclusão

  REFRESH p_t_itens.

  LOOP AT it_itens.

    CONCATENATE it_itens-reg_di it_itens-adicao INTO it_itens-diadic.

    COLLECT it_itens INTO p_t_itens.

  ENDLOOP.

  SORT p_t_itens BY j_1bnbm.

  LOOP AT p_t_itens INTO wa_itens.

    v_tabix = sy-tabix.

    CHECK wa_itens-subtot NE 'X'.

    ON CHANGE OF wa_itens-j_1bnbm.

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

      READ TABLE itab_t604n WITH KEY steuc = wa_itens-j_1bnbm

                                     spras = sy-langu.

      IF sy-subrc = 0.

        CONCATENATE 'NCM'

                    wa_itens-j_1bnbm

                    itab_t604n-text1

                    itab_t604n-text2

                    itab_t604n-text3

                    itab_t604n-text4

                    itab_t604n-text5

                    INTO wa_itens-descr_ncm SEPARATED BY space.

        INSERT wa_itens INTO p_t_itens INDEX v_tabix.

      ENDIF.

* << Fim da inclusão

      IF v_tabix NE 1.

        MOVE: v_ncm   TO wa_itens-j_1bnbmtot,

              'X'     TO wa_itens-subtot,

              v_peso  TO wa_itens-ntgewtot,

              v_total TO wa_itens-vl_fobtot,

              v_vlemb TO wa_itens-vl_fembtot,

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

              v_quant TO wa_itens-qtd_tot.

* << Fim da exclusão

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

              v_quant TO wa_itens-qtd_tot,

              v_descrncm TO wa_itens-descr_ncmt.

* << Fim da inclusão

        INSERT wa_itens INTO p_t_itens INDEX v_tabix.

      ENDIF.

      CLEAR: v_ncm,

             v_peso,

             v_total,

             v_vlemb,

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

             v_quant.

* << Fim da exclusão

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

             v_quant,

             v_descrncm.

* << Fim da inclusão

    ENDON.

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

    MOVE: wa_itens-j_1bnbm TO v_ncm,

* << Fim da inclusão

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

    MOVE wa_itens-j_1bnbm TO v_ncm.

* << Fim da exclusão

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

          wa_itens-descr_ncm TO v_descrncm.

* << Fim da inclusão

    ADD: wa_itens-ntgew TO v_peso,

         wa_itens-vlfob TO v_total,

         wa_itens-vlfobt TO v_vlemb,

         wa_itens-qtd_vinc TO v_quant.

  ENDLOOP.

  DESCRIBE TABLE p_t_itens LINES v_line.

  ADD 1 TO v_line.

  MOVE: v_ncm    TO wa_itens-j_1bnbmtot,

        'X'      TO wa_itens-subtot,

        v_peso   TO wa_itens-ntgewtot,

        v_total  TO wa_itens-vl_fobtot,

        v_vlemb  TO wa_itens-vl_fembtot,

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

        v_quant  TO wa_itens-qtd_tot.

* << Fim da exclusão

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

        v_quant  TO wa_itens-qtd_tot,

        v_descrncm TO wa_itens-descr_ncmt.

* << Fim da inclusão

  INSERT wa_itens INTO p_t_itens INDEX v_line.

ENDFORM.

FORM create_excel_content_table

     USING

        p_header          TYPE any

        p_t_items         TYPE table

        p_rep_param       TYPE /pws/zycrt013

        p_t_matrix        TYPE t_matrix

        p_t_report_fields TYPE t_rep_fields

     CHANGING

...

 

...

        v_linesub   TYPE f,

        v_linesub2  TYPE f,

        v_linerod   TYPE f,

        v_linencm   TYPE f,

        v_resto     TYPE f,

        v_linhacab  TYPE i,

        v_linhaite  TYPE i,

        v_linhasub  TYPE i,

        v_linhasub2 TYPE i,

        v_linharod  TYPE i,

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

        v_linhancm  TYPE i.

* << Fim da exclusão

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

        v_linhancm  TYPE i,

        v_descrncm(100)  TYPE c.

* << Fim da inclusão

  DATA: wa_itens TYPE s_itens,

        wa_iteanexo TYPE s_itens,

        wa_totanexo TYPE s_tot_ncm,

        wa_total    TYPE s_tot_ncm.

  PERFORM select_row_height_cache

  USING

  p_rep_param-spras

  p_rep_param-file_id

  CHANGING

  p_t_sect_height[].

...

 

...

    remaining_item_space = v_linetot - v_linecab - v_linesub -

                           v_linesub2 - v_linerod.

    has_remaining_space = abap_true.

    CLEAR wa_totanexo.

    WHILE has_remaining_space = abap_true.

      REFRESH it_section_content[].

      IF v_lineite <= remaining_item_space.

        CLEAR wa_itens.

        READ TABLE p_t_items INTO wa_itens INDEX current_item.

        IF wa_itens-subtot = ' '.

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

          IF wa_itens-descr_ncm <> v_descrncm

          AND NOT wa_itens-descr_ncm IS INITIAL.

            PERFORM append_new_section

                    USING

                       'VIA I (9)'

                       current_row

                    CHANGING

                       it_section_content[].

            PERFORM fill_items_fields

                    USING

                       p_t_items[]

                       'VIA I (9)'

                       current_row

                       p_t_matrix[]

                       p_t_report_fields[]

                       p_t_sect_height[]

                       current_item

                    CHANGING

                       filled_section_height

                       it_section_content[]

                       subrc.

            IF subrc = 0.

              IF filled_section_height <= remaining_item_space.

                APPEND LINES OF it_section_content TO p_t_excel_content.

                ADD 1 TO current_item.

                ADD v_linhaite TO current_row.

               SUBTRACT filled_section_height FROM remaining_item_space.

                v_descrncm = wa_itens-descr_ncm.

              ENDIF.

            ENDIF.

          ENDIF.

* << Fim da inclusão

          PERFORM append_new_section

                  USING

                     'VIA I (3)'

                     current_row

                  CHANGING

                     p_t_excel_content[].

          PERFORM fill_items_fields

                  USING

                     p_t_items[]

                     'VIA I (3)'

...

 

...

                     current_item

                  CHANGING

                     filled_section_height

                     it_section_content[]

                     subrc.

          IF subrc = 0.

            it_iteanexo[] = it_section_content[].

            IF filled_section_height LE remaining_item_space.

              READ TABLE p_t_items INTO wa_iteanexo INDEX current_item.

              IF wa_iteanexo-subtot IS INITIAL.

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

                wa_totanexo-peso = wa_totanexo-peso + wa_iteanexo-ntgew.

               wa_totanexo-qtd = wa_totanexo-qtd + wa_iteanexo-qtd_vinc

          .

                wa_totanexo-fob = wa_totanexo-fob + wa_iteanexo-vlfob.

               wa_totanexo-fobt = wa_totanexo-fobt + wa_iteanexo-vlfobt

             .

* << Fim da exclusão

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

               wa_totanexo-peso = wa_totanexo-peso + wa_iteanexo-ntgew .

               wa_totanexo-qtd = wa_totanexo-qtd + wa_iteanexo-qtd_vinc.

               wa_totanexo-fob = wa_totanexo-fob + wa_iteanexo-vlfob   .

               wa_totanexo-fobt = wa_totanexo-fobt + wa_iteanexo-vlfobt.

* << Fim da inclusão

                wa_total-totpeso =

                                wa_total-totpeso + wa_iteanexo-ntgew.

                wa_total-totqtd =

                                wa_total-totqtd + wa_iteanexo-qtd_vinc.

                wa_total-totfemb =

                                wa_total-totfemb + wa_iteanexo-vlfob.

                wa_total-totfob =

                                wa_total-totfob + wa_iteanexo-vlfobt.

              ENDIF.

            ENDIF.

...