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.
7.0
Produto:
Nota
Descrição
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.
...