Módulo: DRAWBACK
Funcionalidade: Relatórios
Data/Hora da Publicação: 30/07/2009 00:00:00
Data/Hora Última Alteração: 17/02/2011 15:37:55
Descrição da Nota: DESENVOLVIMENTO DO ADITIVO AO ATO CONCESSÓRIO (EXCEL).
Sintoma
Desenvolvimento do aditivo ao ato concessório (Excel).
Solução
Desenvolvimento do aditivo ao ato concessório (Excel).
Ajustado programa do ato concessório para gravar corretamente os registros de vencimento vigente na
tabela /pws/zycit277.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 08764 Data: 30/07/2009 Hora: 15:42:56
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 08764
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00010
Agrupamento : 00107
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02619 - 00001 - 6.0 - 00025 - AJUSTE INSUMO ALTERNATIVO, CENTROS DA COMPOSIÇÃO E DATAS DO ATO
08625 - 00002 - 7.0 - 00010 - ANEXO PEDIDO DE DRAWBACK(IMPORTAÇÃO) NÃO ESTA EXIBINDO TODOS OS I
08738 - 00003 - 7.0 - 00010 - IMPRESSÃO LADO A LADO DOS FORMULÁRIOS DO DRAWBACK (EXCEL)
----------------------------------------------------------------------------------------------------
DESENVOLVIMENTO DO ADITIVO AO ATO CONCESSÓRIO (EXCEL).
----------------------------------------------------------------------------------------------------
Palavras Chave:
ADITIVO - ATO - CONCESSÓRIO - REPORT - EXCEL
/PWS/SAPMZYCI040 - /PWS/ZYCRR038
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI040F02
REPS /PWS/MZYCI040I01
REPS /PWS/MZYCI040O01
REPS /PWS/ZYCRR038
REPT /PWS/SAPMZYCI040
TABD /PWS/ZYCIT277
TRAN /PWS/ZYCRR038
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040F02
...
/pws/zycie244-aditivo = v_aditivo.
ENDIF.
IF v_tcode2 EQ '/PWS/ZYCI040_A'.
DELETE FROM /pws/zycit279
WHERE nrseqd = /pws/zycie244-nrseqd. "#EC CI_NOFIRST
ENDIF.
MODIFY /pws/zycit279 FROM TABLE itab_zycit279_ap.
IF NOT itab_zycit279_ap_s[] IS INITIAL.
MODIFY /pws/zycit279 FROM TABLE itab_zycit279_ap_s.
ENDIF.
* >> Início da inclusão: FORM TRATA_BUTTON_SAVE2
REFRESH itab_vencto2_save.
SELECT * FROM /pws/zycit277 INTO TABLE itab_vencto2_save
WHERE nrseqd EQ /pws/zycie244-nrseqd.
LOOP AT itab_vencto2_save INTO itab_vencto2
WHERE aditivo EQ 'X'.
MODIFY itab_vencto2 TRANSPORTING aditivo
WHERE vencto EQ itab_vencto2-vencto.
ENDLOOP.
* << Fim da inclusão
MODIFY /pws/zycit277 FROM TABLE itab_vencto2.
IF NOT /pws/zycie244-nrforecast IS INITIAL.
UPDATE /pws/zycit238 SET atocon = /pws/zycie244-nrseqd
data_ac = /pws/zycie244-dtato
WHERE nrseqd = /pws/zycie244-nrforecast.
ENDIF.
IF NOT /pws/zycie244-nrcompos IS INITIAL.
UPDATE /pws/zycit258 SET atocon = /pws/zycie244-nrseqd
data_ac = /pws/zycie244-dtato
WHERE nrseqd = /pws/zycie244-nrcompos.
...
...
DELETE FROM /pws/zycit244 WHERE nrseqd = /pws/zycie244-nrseqd.
DELETE FROM /pws/zycit245 WHERE nrseqd = /pws/zycie244-nrseqd.
DELETE FROM /pws/zycit246 WHERE nrseqd = /pws/zycie244-nrseqd.
DELETE FROM /pws/zycit247 WHERE nrseqd = /pws/zycie244-nrseqd.
DELETE FROM /pws/zycit248 WHERE nrseqd = /pws/zycie244-nrseqd.
DELETE FROM /pws/zycit243 WHERE nrseqd = /pws/zycie244-nrseqd.
* >> Início da inclusão: FORM TRATA_BUTTON_EXCL2
DELETE FROM /pws/zycit277 WHERE nrseqd = /pws/zycie244-nrseqd.
* << Fim da inclusão
IF NOT /pws/zycie244-nrforecast IS INITIAL.
UPDATE /pws/zycit238 SET atocon = space
data_ac = v_dtato
WHERE nrseqd = /pws/zycie244-nrforecast.
ENDIF.
IF NOT /pws/zycie244-nrcompos IS INITIAL.
UPDATE /pws/zycit258 SET atocon = space
data_ac = v_dtato
WHERE nrseqd = /pws/zycie244-nrcompos.
ENDIF.
...
...
FORM trata_button_btn3.
* >> Início da inclusão: FORM TRATA_BUTTON_BTN3
DESCRIBE TABLE itab_vencto2 LINES v_ilinhas.
* << Fim da inclusão
CALL SCREEN '0221' STARTING AT 33 5.
DESCRIBE TABLE itab_vencto2 LINES v_ilinhas.
READ TABLE itab_vencto2 INDEX v_ilinhas.
IF sy-subrc EQ 0.
MOVE itab_vencto2-vencto TO /pws/zycie244-vcto_vg.
ELSE.
CLEAR /pws/zycie244-vcto_vg.
ENDIF.
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040I01
...
MODULE modify_itab_vencto2 INPUT.
* >> Início da inclusão: MODULE MODIFY_ITAB_VENCTO2
IF /pws/zycie277-vencto < /pws/zycie244-vcto_vg AND
NOT /pws/zycie244-vcto_vg IS INITIAL.
MESSAGE e015 WITH text-357 text-358.
ENDIF.
* << Fim da inclusão
READ TABLE itab_vencto2 INDEX tc_venctos2-current_line.
IF sy-subrc EQ 0.
IF NOT itab_vencto2-vencto IS INITIAL AND
NOT /pws/zycie277-vencto IS INITIAL.
itab_vencto2-nrseqd = /pws/zycie244-nrseqd.
itab_vencto2-vencto = /pws/zycie277-vencto.
MODIFY itab_vencto2 INDEX tc_venctos2-current_line.
ELSE.
DELETE itab_vencto2 INDEX tc_venctos2-current_line.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040O01
...
IF wa_zycbt007 IS INITIAL.
SELECT SINGLE * FROM /pws/zycbt007 INTO wa_zycbt007
WHERE bukrs = /pws/zycie244-bukrs .
ENDIF.
ENDIF.
ENDIF.
IF /pws/zycie244-vcto_vg IS INITIAL AND
NOT /pws/zycie244-dtatoc IS INITIAL AND
/pws/zycie244-status NE 'A' AND
/pws/zycie244-status NE 'I'.
* >> Início da exclusão: MODULE STATUS_0200
/pws/zycie244-vcto_vg = /pws/zycie244-dtatoc + 365.
itab_vencto2-vencto = /pws/zycie244-vcto_fn.
* << Fim da exclusão
* >> Início da inclusão: MODULE STATUS_0200
/pws/zycie244-vcto_vg = /pws/zycie244-dtatoc.
ADD 1 TO /pws/zycie244-vcto_vg(4).
itab_vencto2-vencto = /pws/zycie244-vcto_vg.
itab_vencto2-nrseqd = /pws/zycie244-nrseqd.
* << Fim da inclusão
APPEND itab_vencto2.
ENDIF.
PERFORM status_custom.
PERFORM move_dados_iniciais2.
PERFORM gera_numero_seq2.
PERFORM set_page2.
PERFORM trata_botoes2.
PERFORM carrega_icone2.
PERFORM carrega_tree_edit2.
SET PF-STATUS 'ST0200' EXCLUDING itab_botoes2.
...
...
MODULE refresh_itab_vencto2 OUTPUT.
* >> Início da inclusão: MODULE REFRESH_ITAB_VENCTO2
IF tc_venctos2-current_line <= v_ilinhas.
LOOP AT SCREEN.
screen-input = 0.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
* << Fim da inclusão
/pws/zycie277-vencto = itab_vencto2-vencto.
tc_venctos2-lines = tc_venctos2-lines + 10.
ENDMODULE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCRR038
* >> Início da inclusão:
REPORT /pws/zycrr038 MESSAGE-ID /pws/zycrm.
INCLUDE: /pws/zycri004,
/pws/zycri003,
/pws/zycri002.
TABLES: tcurx.
TYPES: BEGIN OF s_relat.
INCLUDE TYPE /pws/zycit244 AS zycit244.
TYPES: empresa TYPE t001-bukrs,
desc_emp TYPE t001-butxt,
local_neg TYPE t001w-j_1bbranch,
ender(110) TYPE c,
cgc(19) TYPE c ,
ntgew TYPE /pws/zycit245-ntgew,
gewei TYPE /pws/zycit245-gewei,
peso(30) TYPE c,
peso_e(30) TYPE c,
qtd(50) TYPE c,
qtd_e(50) TYPE c,
txvlimp(130) TYPE c,
txvlexp(130) TYPE c,
vltot TYPE /pws/zycit245-netpr_t,
vltot_e TYPE /pws/zycit245-netpr_t,
moeda TYPE /pws/zycit245-waers ,
qtdncm(50) TYPE c,
qtdncm_e(50) TYPE c,
anexo TYPE /pws/zycit474-anexo,
qtd_tot(50) TYPE c,
peso_tot TYPE /pws/zycit245-ntgewt,
um_ncm TYPE /pws/zycit245-um_ncm,
qtd_totncm(50) TYPE c,
adl1(60) TYPE c,
adl2(60) TYPE c.
TYPES: END OF s_relat.
TYPES: BEGIN OF s_itens.
INCLUDE STRUCTURE /pws/zycit245.
TYPES: valor(30) TYPE c,
qtd(30) TYPE c,
qtdncm(30) TYPE c,
descricao(300) TYPE c,
END OF s_itens,
t_itens TYPE STANDARD TABLE OF s_itens.
DATA: itab_itens_i TYPE s_itens OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF itab_vl_tot OCCURS 0.
DATA: valor TYPE /pws/zycit474-netpr_t,
moeda TYPE /pws/zycit474-waers.
DATA: END OF itab_vl_tot.
DATA: BEGIN OF itab_pesot OCCURS 0.
DATA: ntgew TYPE /pws/zycit474-ntgew,
gewei TYPE /pws/zycit474-gewei.
DATA: END OF itab_pesot.
DATA: BEGIN OF itab_qtdt OCCURS 0.
DATA: qtd TYPE /pws/zycit474-qtd,
meins TYPE /pws/zycit474-meins,
qtdncm TYPE /pws/zycit474-qtd,
um_ncm TYPE /pws/zycit474-meins.
DATA: END OF itab_qtdt.
DATA: BEGIN OF itab_qtdt_ncm OCCURS 0.
DATA: qtdncm TYPE /pws/zycit474-qtd,
um_ncm TYPE /pws/zycit474-meins.
DATA: END OF itab_qtdt_ncm.
DATA: BEGIN OF itab_qtdt_umb OCCURS 0.
DATA: qtd TYPE /pws/zycit474-qtd,
meins TYPE /pws/zycit474-meins.
DATA: END OF itab_qtdt_umb.
DATA: itab_versao TYPE /pws/zycit474 OCCURS 0 WITH HEADER LINE,
itab_versaon TYPE /pws/zycit474 OCCURS 0 WITH HEADER LINE,
itab_zycit277 TYPE /pws/zycit277 OCCURS 0 WITH HEADER LINE,
wa_zycit277 TYPE /pws/zycit277,
itab_totais TYPE /pws/zycit474 OCCURS 0 WITH HEADER LINE,
itab_t604n TYPE t604n OCCURS 0 WITH HEADER LINE,
v_aditivo TYPE /pws/zycit474-aditivo .
DATA: BEGIN OF itab_impress OCCURS 0.
INCLUDE STRUCTURE /pws/zycit474.
DATA: linha_ncm TYPE /pws/zycit474-linha,
END OF itab_impress.
DATA: BEGIN OF itab_impress2 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit474.
DATA: linha_ncm TYPE /pws/zycit474-linha,
END OF itab_impress2.
DATA: BEGIN OF itab_itens OCCURS 3.
DATA: c1(20) TYPE c,
c2(20) TYPE c,
c3(20) TYPE c,
c4(50) TYPE c,
c5(20) TYPE c,
c6(20) TYPE c,
c7(20) TYPE c,
c8(50) TYPE c,
vlimp(20) TYPE c,
vlexp(20) TYPE c,
l TYPE i.
DATA: END OF itab_itens .
DATA: itab_zycit474 TYPE /pws/zycit474 OCCURS 0 WITH HEADER LINE.
DATA: wa_relat TYPE s_relat,
wa_relatp TYPE s_relat,
v_filename(20) TYPE c.
DATA: current_row TYPE i VALUE 1,
section_rows TYPE i.
DATA: wa_gen_param TYPE /pws/zycrt012,
wa_rep_param TYPE /pws/zycrt013,
it_matrix TYPE t_matrix ,
it_report_fields TYPE t_rep_fields ,
p_repmod TYPE /pws/zycrt010-report_module VALUE 'D' ,
p_report TYPE /pws/zycrt010-report_id VALUE 'ADITIVO'.
DATA: it_generation_options TYPE t_generation_options.
DATA: it_excel_content TYPE t_excel_content,
it_sect_height TYPE t_sect_height.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-000.
PARAMETERS: p_nrseqd TYPE /pws/zycit244-nrseqd OBLIGATORY
MODIF ID key.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN OUTPUT.
START-OF-SELECTION.
PERFORM select_data
USING
p_nrseqd
CHANGING
wa_relat.
wa_relatp = wa_relat.
IF wa_relat IS INITIAL.
MESSAGE e015(/pws/zycim) WITH text-003.
ENDIF.
IF itab_impress[] IS INITIAL.
MESSAGE e015(/pws/zycim) WITH text-009.
LEAVE PROGRAM.
ENDIF.
p_report = 'ANEXOD_I'.
PERFORM select_parameters
USING
p_repmod
p_report
'P'
wa_relat-bukrs
''
''
''
''
''
''
''
''
''
''
CHANGING
wa_gen_param
wa_rep_param
it_matrix[]
it_report_fields[].
IF wa_gen_param IS INITIAL
OR wa_rep_param IS INITIAL
OR it_matrix[] IS INITIAL.
msg_module = p_repmod.
msg_report = p_report.
msg_langu = 'P'.
msg_bukrs = wa_relat-bukrs.
MESSAGE e000.
ENDIF.
PERFORM imprim_imp
USING
itab_itens_i[]
wa_rep_param
it_matrix[]
it_report_fields[]
CHANGING
wa_relat
it_excel_content[]
it_sect_height[].
CLEAR: v_filename.
CONCATENATE 'AD_A' wa_relat-nrseqd INTO v_filename.
PERFORM generate_file_name
USING
v_filename
wa_gen_param
wa_rep_param
CHANGING
v_file_name.
PERFORM download_file
USING
wa_rep_param
v_file_name.
PERFORM create_report
USING
wa_gen_param-report_generator
v_file_name
'REPORT'
''
it_excel_content[]
it_sect_height[]
it_generation_options[].
REFRESH: it_excel_content ,
it_sect_height ,
it_generation_options.
p_report = 'PEDIDO_D'.
PERFORM select_parameters
USING
p_repmod
p_report
'P'
wa_relat-bukrs
''
''
''
''
''
''
''
''
''
''
CHANGING
wa_gen_param
wa_rep_param
it_matrix[]
it_report_fields[].
IF wa_gen_param IS INITIAL
OR wa_rep_param IS INITIAL
OR it_matrix[] IS INITIAL.
msg_module = p_repmod.
msg_report = p_report.
msg_langu = 'P'.
msg_bukrs = wa_relat-bukrs.
MESSAGE e000.
ENDIF.
PERFORM pedido_db
USING
wa_rep_param
it_matrix[]
it_report_fields[]
CHANGING
wa_relatp
it_excel_content[]
it_sect_height[].
CLEAR: v_filename.
CONCATENATE 'AD_P' wa_relat-nrseqd INTO v_filename.
PERFORM generate_file_name
USING
v_filename
wa_gen_param
wa_rep_param
CHANGING
v_file_name.
PERFORM download_file
USING
wa_rep_param
v_file_name.
PERFORM create_report
USING
wa_gen_param-report_generator
v_file_name
'REPORT'
''
it_excel_content[]
it_sect_height[]
it_generation_options[].
PERFORM gera_aditivo.
LEAVE PROGRAM.
END-OF-SELECTION.
FORM select_data
USING
p_nrseqd TYPE /pws/zycit244-nrseqd
CHANGING
p_cabecalho TYPE s_relat.
DATA: v_vltot TYPE /pws/zycit474-netpr_t,
v_qtd_txt(30) TYPE c,
v_usado TYPE i,
v_dec TYPE p DECIMALS 2,
v_c1 TYPE i,
v_c2 TYPE i,
wa_ender TYPE addr1_val,
v_c3 TYPE i,
v_c4 TYPE i,
v_anexo TYPE /pws/zycit474-anexo,
v_um_ncm TYPE /pws/zycit245-meins,
v_um_umb TYPE /pws/zycit245-meins.
DATA: wa_valor_ext TYPE spell.
SELECT SINGLE bukrs werks nrseqd nratoc dtatoc
INTO (p_cabecalho-bukrs, p_cabecalho-werks, p_cabecalho-nrseqd,
p_cabecalho-nratoc, p_cabecalho-dtatoc)
FROM /pws/zycit244
WHERE nrseqd = p_nrseqd.
CHECK sy-subrc = 0.
SELECT * FROM /pws/zycit474
INTO TABLE itab_zycit474
WHERE nrseqd EQ p_nrseqd.
IF sy-subrc NE 0.
MESSAGE i015(/pws/zycim) WITH text-002.
LEAVE PROGRAM.
ENDIF.
SORT itab_zycit474 ASCENDING BY anexo pasta linha ncm nritem aditivo
DESCENDING aditivo.
DELETE ADJACENT DUPLICATES FROM itab_zycit474
COMPARING anexo pasta linha ncm nritem waers.
SELECT * FROM /pws/zycit277
INTO TABLE itab_zycit277
WHERE nrseqd EQ p_nrseqd.
IF sy-subrc EQ 0.
SORT itab_zycit277 DESCENDING BY vencto.
READ TABLE itab_zycit277 INDEX 1 INTO wa_zycit277.
IF wa_zycit277-aditivo EQ 'X'.
REFRESH itab_zycit277.
ELSE.
DELETE itab_zycit277 INDEX 1.
LOOP AT itab_zycit277.
IF itab_zycit277-aditivo EQ 'X'.
EXIT.
ENDIF.
ENDLOOP.
REFRESH itab_zycit277.
APPEND itab_zycit277.
APPEND wa_zycit277 TO itab_zycit277.
ENDIF.
ENDIF.
itab_versaon[] = itab_versao[] = itab_zycit474[].
DELETE itab_versaon WHERE pasta EQ 'I'.
PERFORM monta_ad_i.
SORT itab_versaon BY anexo pasta linha ncm nritem waers.
REFRESH itab_zycit474.
itab_zycit474[] = itab_versao[].
SORT itab_zycit474 DESCENDING BY aditivo.
READ TABLE itab_zycit474 INDEX 1.
v_aditivo = itab_zycit474-aditivo .
CLEAR itab_versao.
MODIFY itab_versao TRANSPORTING mandt aditivo
WHERE mandt NE space.
IF itab_versao[] NE itab_versaon[].
PERFORM comapara.
ELSE.
MESSAGE i015(/pws/zycim) WITH text-001.
LEAVE PROGRAM.
ENDIF.
SELECT SINGLE bukrs butxt
INTO (p_cabecalho-empresa, p_cabecalho-desc_emp)
FROM t001
WHERE bukrs = p_cabecalho-bukrs.
SELECT SINGLE j_1bbranch
FROM t001w
INTO p_cabecalho-local_neg
WHERE werks = p_cabecalho-werks.
CALL FUNCTION 'J_1BREAD_BRANCH_DATA'
EXPORTING
branch = p_cabecalho-local_neg
bukrs = p_cabecalho-empresa
IMPORTING
address1 = wa_ender
cgc_number = p_cabecalho-cnpj.
CONCATENATE wa_ender-street wa_ender-house_num1 wa_ender-house_num2
wa_ender-house_num3 wa_ender-city2 '-' wa_ender-city1 '-'
wa_ender-region '%%%%%%%%%' text-007 wa_ender-post_code1
INTO p_cabecalho-ender SEPARATED BY space.
TRANSLATE p_cabecalho-ender USING '% '.
WRITE p_cabecalho-cnpj TO p_cabecalho-cgc
USING EDIT MASK '__.___.___/____-__'.
IF NOT itab_zycit277[] IS INITIAL AND
itab_impress[] IS INITIAL.
PERFORM gera_aditivo.
LEAVE PROGRAM.
ENDIF.
IF sy-subrc NE 0.
MESSAGE i015(/pws/zycim) WITH text-002.
LEAVE PROGRAM.
ENDIF.
READ TABLE itab_zycit474 WITH KEY pasta = 'I'.
IF sy-subrc NE 0.
MESSAGE i015(/pws/zycim) WITH text-002.
LEAVE PROGRAM.
ENDIF.
READ TABLE itab_zycit474 WITH KEY pasta = 'E'.
IF sy-subrc NE 0.
MESSAGE i015(/pws/zycim) WITH text-002.
LEAVE PROGRAM.
ENDIF.
itab_itens-l = v_c1 = v_c2 = v_c3 = v_c4 = 1.
DO 3 TIMES.
APPEND itab_itens.
ADD 1 TO itab_itens-l.
ENDDO.
SORT itab_zycit474 BY anexo.
LOOP AT itab_zycit474 WHERE pasta EQ 'I'.
IF v_anexo <> itab_zycit474-anexo.
v_anexo = itab_zycit474-anexo.
SHIFT itab_zycit474-anexo LEFT DELETING LEADING '0'.
v_usado = strlen( itab_itens-c1 ).
IF v_usado <= 20.
IF v_usado EQ 0.
itab_itens-c1 = itab_zycit474-anexo.
ELSE.
CONCATENATE itab_itens-c1 ',' itab_zycit474-anexo INTO
itab_itens-c1.
ENDIF.
MODIFY itab_itens TRANSPORTING c1
WHERE l EQ v_c1.
ELSE.
ADD 1 TO v_c1.
CLEAR: v_usado, itab_itens-c1.
ENDIF.
v_usado = strlen( itab_itens-c2 ).
IF v_usado <= 20.
IF v_usado EQ 0.
itab_itens-c2 = itab_zycit474-anexo.
ELSE.
CONCATENATE itab_itens-c2 ',' itab_zycit474-anexo INTO
itab_itens-c2.
ENDIF.
MODIFY itab_itens TRANSPORTING c2
WHERE l EQ v_c2.
ELSE.
ADD 1 TO v_c2.
CLEAR: v_usado, itab_itens-c2.
ENDIF.
v_usado = strlen( itab_itens-c3 ).
IF v_usado <= 20.
IF v_usado EQ 0.
itab_itens-c3 = itab_zycit474-anexo.
ELSE.
CONCATENATE itab_itens-c3 ',' itab_zycit474-anexo INTO
itab_itens-c3.
ENDIF.
MODIFY itab_itens TRANSPORTING c3
WHERE l EQ v_c3.
ELSE.
ADD 1 TO v_c3.
CLEAR: v_usado, itab_itens-c3.
ENDIF.
v_usado = strlen( itab_itens-c4 ).
IF v_usado <= 48.
IF v_usado EQ 0.
itab_itens-c4 = itab_zycit474-anexo.
ELSE.
CONCATENATE itab_itens-c4 ',' itab_zycit474-anexo INTO
itab_itens-c4.
ENDIF.
MODIFY itab_itens TRANSPORTING c4
WHERE l EQ v_c4.
ELSE.
ADD 1 TO v_c4.
CLEAR: v_usado, itab_itens-c4.
ENDIF.
ENDIF.
itab_vl_tot-valor = itab_zycit474-netpr_t.
itab_vl_tot-moeda = itab_zycit474-waers.
COLLECT itab_vl_tot.
itab_pesot-ntgew = itab_zycit474-ntgew.
itab_pesot-gewei = itab_zycit474-gewei.
COLLECT itab_pesot.
itab_qtdt-qtdncm = itab_zycit474-qtd.
itab_qtdt-um_ncm = itab_zycit474-meins.
itab_qtdt-qtd = itab_zycit474-qtd_umb.
itab_qtdt-meins = itab_zycit474-um_umb.
COLLECT itab_qtdt.
CLEAR: v_vltot.
PERFORM retorna_decimais USING itab_zycit474-waers
CHANGING itab_zycit474-netpr_t.
PERFORM converter_moeda USING itab_zycit474-netpr_t
itab_zycit474-waers
'USD'
sy-datlo
CHANGING v_vltot.
p_cabecalho-vltot = p_cabecalho-vltot + v_vltot.
ENDLOOP.
READ TABLE itab_pesot INDEX 1.
WRITE itab_pesot-ntgew TO p_cabecalho-peso
UNIT itab_pesot-gewei.
SHIFT p_cabecalho-peso LEFT DELETING LEADING space.
v_c1 = 1.
CLEAR: itab_itens.
APPEND itab_itens.
DO 4 TIMES.
READ TABLE itab_vl_tot INDEX v_c1.
IF sy-subrc NE 0 .
EXIT.
ENDIF.
READ TABLE itab_itens INDEX v_c1.
WRITE itab_vl_tot-valor TO itab_itens-vlimp
CURRENCY itab_vl_tot-moeda.
SHIFT itab_itens-vlimp BY 3 PLACES.
CONCATENATE itab_vl_tot-moeda itab_itens-vlimp INTO
itab_itens-vlimp SEPARATED BY space.
MODIFY itab_itens INDEX v_c1.
ADD 1 TO v_c1.
ENDDO.
p_cabecalho-moeda = 'USD'.
WRITE p_cabecalho-vltot TO p_cabecalho-txvlimp
CURRENCY p_cabecalho-moeda.
SHIFT p_cabecalho-txvlimp LEFT DELETING LEADING space.
TRANSLATE p_cabecalho-txvlimp USING '. '.
CONDENSE p_cabecalho-txvlimp NO-GAPS.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
amount = p_cabecalho-txvlimp
currency = 'USD'
language = 'P'
IMPORTING
in_words = wa_valor_ext
.
IF sy-subrc <> 0.
ENDIF.
v_dec = frac( p_cabecalho-vltot ).
IF v_dec IS INITIAL.
CONCATENATE wa_valor_ext-word text-004
INTO p_cabecalho-txvlimp SEPARATED BY space.
ELSE.
CONCATENATE wa_valor_ext-word text-004 text-006 wa_valor_ext-decword
text-005
INTO p_cabecalho-txvlimp SEPARATED BY space.
ENDIF.
LOOP AT itab_qtdt.
itab_qtdt_umb-qtd = itab_qtdt-qtd .
itab_qtdt_umb-meins = itab_qtdt-meins .
COLLECT itab_qtdt_umb.
itab_qtdt_ncm-qtdncm = itab_qtdt-qtdncm.
itab_qtdt_ncm-um_ncm = itab_qtdt-um_ncm.
COLLECT itab_qtdt_ncm.
ENDLOOP.
LOOP AT itab_qtdt_umb.
CLEAR: v_qtd_txt, v_um_umb.
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'
EXPORTING
input = itab_qtdt_umb-meins
language = 'P'
IMPORTING
output = v_um_umb.
WRITE itab_qtdt_umb-qtd TO v_qtd_txt UNIT itab_qtdt_umb-meins.
SHIFT v_qtd_txt LEFT DELETING LEADING space.
CONCATENATE p_cabecalho-qtd v_qtd_txt v_um_umb '||' INTO
p_cabecalho-qtd.
ENDLOOP.
LOOP AT itab_qtdt_ncm.
CLEAR: v_qtd_txt, v_um_ncm.
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'
EXPORTING
input = itab_qtdt_ncm-um_ncm
language = 'P'
IMPORTING
output = v_um_ncm.
WRITE itab_qtdt_ncm-qtdncm TO v_qtd_txt UNIT itab_qtdt_ncm-um_ncm.
SHIFT v_qtd_txt LEFT DELETING LEADING space.
CONCATENATE p_cabecalho-qtdncm v_qtd_txt v_um_ncm '||'
INTO p_cabecalho-qtdncm.
ENDLOOP.
TRANSLATE p_cabecalho-qtd USING '| '.
TRANSLATE p_cabecalho-qtdncm USING '| '.
v_c1 = v_c2 = v_c3 = v_c4 = 1.
CLEAR: p_cabecalho-vltot_e, itab_itens.
REFRESH: itab_vl_tot, itab_qtdt, itab_qtdt_ncm, itab_qtdt_umb,
itab_pesot.
LOOP AT itab_zycit474 WHERE pasta EQ 'E'.
IF v_anexo <> itab_zycit474-anexo.
v_anexo = itab_zycit474-anexo.
SHIFT itab_zycit474-anexo LEFT DELETING LEADING '0'.
v_usado = strlen( itab_itens-c5 ).
IF v_usado <= 20.
IF v_usado EQ 0.
itab_itens-c5 = itab_zycit474-anexo.
ELSE.
CONCATENATE itab_itens-c5 ',' itab_zycit474-anexo INTO
itab_itens-c5.
ENDIF.
MODIFY itab_itens TRANSPORTING c5
WHERE l EQ v_c1.
ELSE.
ADD 1 TO v_c1.
CLEAR: v_usado, itab_itens-c5.
ENDIF.
v_usado = strlen( itab_itens-c6 ).
IF v_usado <= 20.
IF v_usado EQ 0.
itab_itens-c6 = itab_zycit474-anexo.
ELSE.
CONCATENATE itab_itens-c6 ',' itab_zycit474-anexo INTO
itab_itens-c6.
ENDIF.
MODIFY itab_itens TRANSPORTING c6
WHERE l EQ v_c2.
ELSE.
ADD 1 TO v_c2.
CLEAR: v_usado, itab_itens-c6.
ENDIF.
v_usado = strlen( itab_itens-c7 ).
IF v_usado <= 20.
IF v_usado EQ 0.
itab_itens-c7 = itab_zycit474-anexo.
ELSE.
CONCATENATE itab_itens-c7 ',' itab_zycit474-anexo INTO
itab_itens-c7.
ENDIF.
MODIFY itab_itens TRANSPORTING c7
WHERE l EQ v_c3.
ELSE.
ADD 1 TO v_c3.
CLEAR: v_usado, itab_itens-c7.
ENDIF.
v_usado = strlen( itab_itens-c8 ).
IF v_usado <= 48.
IF v_usado EQ 0.
itab_itens-c8 = itab_zycit474-anexo.
ELSE.
CONCATENATE itab_itens-c8 ',' itab_zycit474-anexo INTO
itab_itens-c8.
ENDIF.
MODIFY itab_itens TRANSPORTING c8
WHERE l EQ v_c4.
ELSE.
ADD 1 TO v_c4.
CLEAR: v_usado, itab_itens-c8.
ENDIF.
ENDIF.
itab_vl_tot-valor = itab_zycit474-netpr_t.
itab_vl_tot-moeda = itab_zycit474-waers.
COLLECT itab_vl_tot.
itab_pesot-ntgew = itab_zycit474-ntgew.
itab_pesot-gewei = itab_zycit474-gewei.
COLLECT itab_pesot.
itab_qtdt-qtd = itab_zycit474-qtd_umb.
itab_qtdt-meins = itab_zycit474-um_umb.
itab_qtdt-qtdncm = itab_zycit474-qtd.
itab_qtdt-um_ncm = itab_zycit474-meins.
COLLECT itab_qtdt.
CLEAR: v_vltot.
PERFORM retorna_decimais USING itab_zycit474-waers
CHANGING itab_zycit474-netpr_t.
PERFORM converter_moeda USING itab_zycit474-netpr_t
itab_zycit474-waers
'USD'
sy-datlo
CHANGING v_vltot.
p_cabecalho-vltot_e = p_cabecalho-vltot_e + v_vltot.
ENDLOOP.
READ TABLE itab_pesot INDEX 1.
WRITE itab_pesot-ntgew TO p_cabecalho-peso_e
UNIT itab_pesot-gewei.
SHIFT p_cabecalho-peso_e LEFT DELETING LEADING space.
v_c1 = 1.
DO 4 TIMES.
READ TABLE itab_vl_tot INDEX v_c1.
IF sy-subrc NE 0 .
EXIT.
ENDIF.
READ TABLE itab_itens INDEX v_c1.
WRITE itab_vl_tot-valor TO itab_itens-vlexp
CURRENCY itab_vl_tot-moeda.
SHIFT itab_itens-vlexp BY 3 PLACES.
CONCATENATE itab_vl_tot-moeda itab_itens-vlexp INTO
itab_itens-vlexp SEPARATED BY space.
MODIFY itab_itens INDEX v_c1.
ADD 1 TO v_c1.
ENDDO.
p_cabecalho-moeda = 'USD'.
WRITE p_cabecalho-vltot_e TO p_cabecalho-txvlexp
CURRENCY p_cabecalho-moeda.
SHIFT p_cabecalho-txvlexp LEFT DELETING LEADING space.
TRANSLATE p_cabecalho-txvlexp USING '. '.
CONDENSE p_cabecalho-txvlexp NO-GAPS.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
amount = p_cabecalho-txvlexp
currency = 'USD'
language = 'P'
IMPORTING
in_words = wa_valor_ext
.
IF sy-subrc <> 0.
ENDIF.
v_dec = frac( p_cabecalho-vltot_e ).
IF v_dec IS INITIAL.
CONCATENATE wa_valor_ext-word text-004
INTO p_cabecalho-txvlexp SEPARATED BY space.
ELSE.
CONCATENATE wa_valor_ext-word text-004 text-006 wa_valor_ext-decword
text-005
INTO p_cabecalho-txvlexp SEPARATED BY space.
ENDIF.
LOOP AT itab_qtdt.
itab_qtdt_umb-qtd = itab_qtdt-qtd .
itab_qtdt_umb-meins = itab_qtdt-meins .
COLLECT itab_qtdt_umb.
itab_qtdt_ncm-qtdncm = itab_qtdt-qtdncm.
itab_qtdt_ncm-um_ncm = itab_qtdt-um_ncm.
COLLECT itab_qtdt_ncm.
ENDLOOP.
LOOP AT itab_qtdt_umb.
CLEAR: v_qtd_txt.
WRITE itab_qtdt_umb-qtd TO v_qtd_txt UNIT itab_qtdt_umb-meins.
SHIFT v_qtd_txt LEFT DELETING LEADING space.
CONCATENATE p_cabecalho-qtd_e v_qtd_txt itab_qtdt_umb-meins '||'
INTO p_cabecalho-qtd_e.
ENDLOOP.
LOOP AT itab_qtdt_ncm.
WRITE itab_qtdt_ncm-qtdncm TO v_qtd_txt UNIT itab_qtdt_ncm-um_ncm.
SHIFT v_qtd_txt LEFT DELETING LEADING space.
CONCATENATE p_cabecalho-qtdncm_e v_qtd_txt itab_qtdt_ncm-um_ncm '||'
INTO p_cabecalho-qtdncm_e.
ENDLOOP.
TRANSLATE p_cabecalho-qtd_e USING '| '.
TRANSLATE p_cabecalho-qtdncm_e USING '| '.
ENDFORM.
FORM pedido_db
USING
p_rep_param TYPE /pws/zycrt013
p_t_matrix TYPE t_matrix
p_t_report_fields TYPE t_rep_fields
CHANGING
p_header TYPE s_relat
p_t_excel_content TYPE t_excel_content
p_t_sect_height TYPE t_sect_height.
DATA: current_row TYPE i VALUE 1.
DATA: itab_exel_temp TYPE t_excel_content,
wa_exel_temp LIKE LINE OF itab_exel_temp[].
DATA: current_item TYPE i VALUE 1.
DATA: filled_section_height TYPE f.
DATA: subrc TYPE sy-subrc.
DATA: v_linhav1 TYPE i,
v_linhav2 TYPE i,
v_linhav3 TYPE i,
v_linhav4 TYPE i,
v_linhav5 TYPE i,
v_linhapt TYPE i.
PERFORM select_row_height_cache
USING
p_rep_param-spras
p_rep_param-file_id
CHANGING
p_t_sect_height[].
DELETE itab_itens WHERE c1 EQ space
AND c5 EQ space
AND vlimp EQ space
AND vlexp EQ space.
PERFORM get_section_rows
USING
'VIA 1'
p_t_sect_height[]
CHANGING
v_linhav1.
CLEAR: current_item.
PERFORM append_new_section
USING
'VIA 1'
current_row
CHANGING
p_t_excel_content[].
PERFORM fill_header_fields
USING
p_header
'VIA 1'
current_row
p_t_matrix[]
p_t_report_fields[]
CHANGING
p_t_excel_content[].
CLEAR: current_item.
DO 3 TIMES.
ADD 1 TO current_item.
PERFORM fill_items_fields
USING
itab_itens[]
'VIA 1'
current_row
p_t_matrix[]
p_t_report_fields[]
p_t_sect_height[]
current_item
CHANGING
filled_section_height
p_t_excel_content[]
subrc.
ADD 1 TO current_row.
ENDDO.
current_row = v_linhav1 + 1.
PERFORM add_page_break
USING
current_row
CHANGING
p_t_excel_content[].
ENDFORM.
FORM converter_moeda USING p_devlme
p_deme
p_parame
p_data
CHANGING p_paravlme.
DATA: v_ctmoeda LIKE tcurr-kurst VALUE 'G',
v_devlme LIKE bsak-wrbtr,
v_paravlme LIKE bsak-wrbtr.
v_devlme = p_devlme .
IF p_devlme NE 0.
CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'
EXPORTING
i_montante = v_devlme
i_demoeda = p_deme
i_paramoeda = p_parame
i_ctmoeda = v_ctmoeda
i_dtbase = p_data
IMPORTING
e_montante = v_paravlme
EXCEPTIONS
i_demoeda_nao_encontrado = 1
i_paramoeda_nao_encontrado = 2
fator_nao_encontrado = 3
i_ctmoeda_nao_encontrado = 4
i_dtbase_nao_encontrada = 5
taxa_nao_encontrada = 6
i_montante_nao_encontrado = 7.
IF sy-subrc NE 0.
CLEAR v_paravlme.
ENDIF.
p_paravlme = v_paravlme.
ENDIF.
ENDFORM.
FORM retorna_decimais USING p_moeda
CHANGING p_valor.
IF tcurx-currkey <> p_moeda.
SELECT SINGLE * FROM tcurx WHERE currkey = p_moeda.
ENDIF.
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
p_valor = p_valor * ( 10 ** ( tcurx-currdec - 2 ) ).
ENDFORM.
FORM monta_ad_i.
DATA: itab_zycit245 TYPE /pws/zycit245 OCCURS 0 WITH HEADER LINE,
v_ntgew TYPE /pws/zycit474-ntgew,
v_subrc TYPE sy-subrc.
DATA: wa_itens TYPE s_itens.
DATA: v_um_ncm TYPE /pws/zycit245-meins,
v_um_umb TYPE /pws/zycit245-meins.
DATA: wa_itens2 TYPE s_itens.
SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245
WHERE nrseqd EQ p_nrseqd.
IF NOT itab_zycit245[] IS INITIAL.
SELECT * FROM t604n INTO TABLE itab_t604n
FOR ALL ENTRIES IN itab_zycit245
WHERE spras = 'P'
AND land1 = 'BR'
AND steuc = itab_zycit245-j_1bnbm.
ENDIF.
SORT itab_zycit245 BY j_1bnbm nritem.
REFRESH itab_zycit474.
LOOP AT itab_zycit245.
wa_itens = itab_zycit245.
PERFORM retorna_decimais USING wa_itens-waers
CHANGING wa_itens-netpr_t.
PERFORM converter_moeda USING wa_itens-netpr_t
wa_itens-waers
'USD'
sy-datlo
CHANGING wa_itens-netpr_t.
wa_itens-waers = 'USD'.
wa_itens-ntgew = itab_zycit245-ntgew * itab_zycit245-qtd_tot.
IF NOT wa_itens-gewei EQ 'KG'.
v_ntgew = wa_itens-ntgew.
PERFORM convert_units USING v_ntgew
wa_itens-gewei
'KG'
CHANGING wa_itens-ntgew
v_subrc.
wa_itens-gewei =
itab_zycit474-gewei = 'KG'.
ENDIF.
itab_zycit474-ntgew = wa_itens-ntgew.
MOVE: wa_itens-nrseqd TO itab_zycit474-nrseqd ,
wa_itens-grupo TO itab_zycit474-grupo ,
wa_itens-codcomp TO itab_zycit474-matnr ,
wa_itens-j_1bnbm TO itab_zycit474-ncm ,
wa_itens-nritem TO itab_zycit474-nritem ,
wa_itens-um_ncm TO itab_zycit474-meins ,
wa_itens-qtd_ncm TO itab_zycit474-qtd ,
wa_itens-meins TO itab_zycit474-um_umb ,
wa_itens-qtd_tot TO itab_zycit474-qtd_umb ,
wa_itens-waers TO itab_zycit474-waers ,
wa_itens-netpr_t TO itab_zycit474-netpr_t ,
wa_itens-gewei TO itab_zycit474-gewei .
READ TABLE itab_versao
WITH KEY nritem = itab_zycit474-nritem.
itab_zycit474-linha = itab_versao-linha.
itab_zycit474-pasta = 'I'.
itab_zycit474-anexo = itab_versao-anexo.
itab_zycit474-tipo = 'I'.
WRITE wa_itens-netpr_t TO wa_itens-valor
CURRENCY wa_itens-waers.
SHIFT wa_itens-valor BY 3 PLACES.
CONCATENATE wa_itens-waers wa_itens-valor INTO wa_itens-valor.
CLEAR: v_um_ncm, v_um_umb.
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'
EXPORTING
input = wa_itens-um_ncm
language = 'P'
IMPORTING
output = v_um_ncm.
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'
EXPORTING
input = wa_itens-meins
language = 'P'
IMPORTING
output = v_um_umb.
WRITE wa_itens-qtd_ncm TO wa_itens-qtdncm
UNIT wa_itens-um_ncm.
SHIFT wa_itens-qtdncm BY 3 PLACES.
CONCATENATE v_um_ncm wa_itens-qtdncm INTO wa_itens-qtdncm.
WRITE wa_itens-qtd_tot TO wa_itens-qtd
UNIT wa_itens-meins.
SHIFT wa_itens-qtd BY 3 PLACES.
CONCATENATE v_um_umb wa_itens-qtd INTO wa_itens-qtd.
READ TABLE itab_t604n WITH KEY steuc = wa_itens-j_1bnbm.
wa_itens-maktx = itab_t604n-text1.
CONCATENATE itab_t604n-text1 itab_t604n-text2 itab_t604n-text3
itab_t604n-text4 itab_t604n-text5 INTO wa_itens-descricao.
IF wa_itens-j_1bnbm EQ wa_itens2-j_1bnbm .
wa_itens2-netpr_t = wa_itens-netpr_t + wa_itens2-netpr_t.
wa_itens2-qtd_tot = wa_itens-qtd_tot + wa_itens2-qtd_tot.
wa_itens2-ntgew = wa_itens-ntgew + wa_itens2-ntgew.
wa_itens2-ntgewt = wa_itens-ntgewt + wa_itens2-ntgewt.
ELSE.
CLEAR: v_um_ncm, v_um_umb.
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'
EXPORTING
input = wa_itens2-meins
language = 'P'
IMPORTING
output = v_um_umb.
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'
EXPORTING
input = wa_itens2-um_ncm
language = 'P'
IMPORTING
output = v_um_ncm.
IF NOT wa_itens2-qtd_ncm IS INITIAL.
WRITE wa_itens2-netpr_t TO wa_itens2-valor
CURRENCY wa_itens2-waers.
SHIFT wa_itens2-valor BY 3 PLACES.
CONCATENATE wa_itens2-waers wa_itens2-valor
INTO wa_itens2-valor.
WRITE wa_itens2-qtd_tot TO wa_itens2-qtd
UNIT wa_itens2-meins.
SHIFT wa_itens2-qtd BY 3 PLACES.
CONCATENATE v_um_umb wa_itens2-qtd
INTO wa_itens2-qtd.
CONCATENATE text-008 wa_itens2-j_1bnbm
INTO wa_itens2-maktx.
CONCATENATE text-008 wa_itens2-j_1bnbm
INTO wa_itens2-descricao.
wa_itens2-desc_g = wa_itens2-maktx.
CLEAR: wa_itens2-j_1bnbm.
APPEND wa_itens2 TO itab_itens_i.
ENDIF.
wa_itens2-j_1bnbm = wa_itens-j_1bnbm.
wa_itens2-waers = wa_itens-waers .
wa_itens2-um_ncm = wa_itens-um_ncm .
wa_itens2-netpr_t = wa_itens-netpr_t.
wa_itens2-qtd_ncm = wa_itens-qtd_ncm.
wa_itens2-ntgew = wa_itens-ntgew .
wa_itens2-ntgewt = wa_itens-ntgewt .
wa_itens2-meins = wa_itens-meins .
wa_itens2-qtd_tot = wa_itens-qtd_tot .
ENDIF.
APPEND wa_itens TO itab_itens_i.
APPEND itab_zycit474 TO itab_versaon.
ENDLOOP.
IF NOT wa_itens2-qtd_ncm IS INITIAL.
CLEAR: v_um_ncm, v_um_umb.
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'
EXPORTING
input = wa_itens2-meins
language = 'P'
IMPORTING
output = v_um_umb.
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'
EXPORTING
input = wa_itens2-um_ncm
language = 'P'
IMPORTING
output = v_um_ncm.
WRITE wa_itens2-netpr_t TO wa_itens2-valor
CURRENCY wa_itens2-waers.
SHIFT wa_itens2-valor BY 3 PLACES.
CONCATENATE wa_itens2-waers wa_itens2-valor
INTO wa_itens2-valor.
WRITE wa_itens2-qtd_tot TO wa_itens2-qtd
UNIT wa_itens2-meins.
SHIFT wa_itens2-qtd BY 3 PLACES.
CONCATENATE v_um_umb wa_itens2-qtd
INTO wa_itens2-qtd.
CONCATENATE text-008 wa_itens2-j_1bnbm
INTO wa_itens2-maktx.
CONCATENATE text-008 wa_itens2-j_1bnbm
INTO wa_itens2-descricao.
wa_itens2-desc_g = wa_itens2-maktx.
wa_itens2-gewei = wa_itens-gewei.
CLEAR: wa_itens2-j_1bnbm.
APPEND wa_itens2 TO itab_itens_i.
ENDIF.
ENDFORM.
FORM comapara.
DATA: wa_zycit474 TYPE /pws/zycit474.
DATA BEGIN OF wa_zycit474n.
INCLUDE STRUCTURE /pws/zycit474 .
DATA: linha_ncm TYPE /pws/zycit474-linha,
END OF wa_zycit474n.
DATA: v_tanexo TYPE /pws/zycit474-netpr_t,
v_tanexo2 TYPE /pws/zycit474-netpr_t,
v_anexo TYPE /pws/zycit474-anexo.
.
REFRESH itab_zycit474.
itab_zycit474[] = itab_versaon[].
ADD 1 TO v_aditivo .
READ TABLE itab_versao INDEX 1.
v_anexo = itab_versao-anexo.
LOOP AT itab_versao WHERE pasta EQ 'I'.
READ TABLE itab_versaon INDEX sy-tabix.
IF v_anexo NE itab_versao-anexo.
IF v_tanexo NE v_tanexo2.
CLEAR: itab_impress, itab_impress2.
itab_impress-anexo = itab_impress2-anexo = v_anexo.
itab_impress-netpr_t = v_tanexo.
itab_impress2-netpr_t = v_tanexo2.
APPEND: itab_impress, itab_impress2.
ENDIF.
v_anexo = itab_versao-anexo.
CLEAR: v_tanexo, v_tanexo2.
ENDIF.
ADD itab_versaon-netpr_t TO v_tanexo.
ADD itab_versao-netpr_t TO v_tanexo2.
ADD 1 TO wa_zycit474n-linha_ncm.
IF itab_versaon-ncm NE wa_zycit474-ncm.
CLEAR: wa_zycit474n-nritem, wa_zycit474-nritem.
APPEND wa_zycit474n TO itab_totais.
IF wa_zycit474-netpr_t NE wa_zycit474n-netpr_t.
APPEND wa_zycit474n TO itab_impress.
APPEND wa_zycit474 TO itab_impress2.
ENDIF.
CLEAR: wa_zycit474n.
wa_zycit474 = itab_versao.
wa_zycit474n = itab_versaon.
ADD 1 TO wa_zycit474n-linha_ncm.
ELSE.
wa_zycit474-netpr_t =
wa_zycit474-netpr_t + itab_versao-netpr_t.
wa_zycit474n-netpr_t =
wa_zycit474n-netpr_t + itab_versaon-netpr_t.
ENDIF.
IF itab_versao-netpr_t NE itab_versaon-netpr_t.
itab_impress = itab_versaon.
itab_impress-linha_ncm = wa_zycit474n-linha_ncm.
itab_impress-aditivo = v_aditivo.
APPEND itab_impress.
itab_impress2 = itab_versao.
itab_impress2-linha_ncm = wa_zycit474n-linha_ncm.
APPEND itab_impress2.
ENDIF.
wa_zycit474-anexo = wa_zycit474n-anexo = itab_versaon-anexo.
itab_totais = itab_versaon.
APPEND itab_totais.
ENDLOOP.
CLEAR: wa_zycit474n-nritem, wa_zycit474-nritem.
APPEND wa_zycit474n TO itab_totais.
IF wa_zycit474-netpr_t NE wa_zycit474n-netpr_t.
APPEND wa_zycit474n TO itab_impress.
APPEND wa_zycit474 TO itab_impress2.
ENDIF.
IF v_tanexo NE v_tanexo2.
CLEAR: itab_impress, itab_impress2.
itab_impress-anexo = itab_impress2-anexo = v_anexo.
itab_impress-netpr_t = v_tanexo.
itab_impress2-netpr_t = v_tanexo2.
APPEND: itab_impress, itab_impress2.
ENDIF.
ENDFORM.
FORM imprim_imp
USING
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
p_header TYPE s_relat
p_t_excel_content TYPE t_excel_content
p_t_sect_height TYPE t_sect_height.
DATA: v_barra TYPE c.
DATA: BEGIN OF itab_qtd OCCURS 0.
DATA: qtd TYPE /pws/zycit245-qtd_ncm,
unit TYPE /pws/zycit245-um_ncm ,
qtdncm TYPE /pws/zycit245-qtd_ncm,
unncm TYPE /pws/zycit245-um_ncm.
DATA: END OF itab_qtd.
DATA: BEGIN OF itab_qtd_umb OCCURS 0.
DATA: qtd TYPE /pws/zycit245-qtd_ncm,
unit TYPE /pws/zycit245-um_ncm .
DATA: END OF itab_qtd_umb.
DATA: BEGIN OF itab_qtd_ncm OCCURS 0.
DATA: qtdncm TYPE /pws/zycit245-qtd_ncm,
unncm TYPE /pws/zycit245-um_ncm.
DATA: END OF itab_qtd_ncm.
DATA: current_item TYPE i VALUE 1,
v_linha TYPE i.
DATA: filled_section_height TYPE f.
DATA: subrc TYPE sy-subrc.
DATA: v_linhacab TYPE i,
v_linhaite TYPE i,
v_linhasub TYPE i,
v_completo TYPE c.
DATA: wa_itens TYPE s_itens.
PERFORM select_row_height_cache
USING
p_rep_param-spras
p_rep_param-file_id
CHANGING
p_t_sect_height[].
PERFORM get_section_rows
USING
'CAB'
p_t_sect_height[]
CHANGING
v_linhacab.
PERFORM get_section_rows
USING
'ITENS'
p_t_sect_height[]
CHANGING
v_linhaite.
PERFORM get_section_rows
USING
'RODA1'
p_t_sect_height[]
CHANGING
v_linhasub.
CLEAR: current_item, v_completo, p_header-anexo.
LOOP AT itab_impress.
CHECK p_header-anexo NE itab_impress-anexo.
p_header-anexo = itab_impress-anexo.
PERFORM append_new_section
USING
'CAB'
current_row
CHANGING
p_t_excel_content[].
PERFORM fill_header_fields
USING
p_header
'CAB'
current_row
p_t_matrix[]
p_t_report_fields[]
CHANGING
p_t_excel_content[].
ADD v_linhacab TO current_row.
PERFORM append_new_section
USING
'ITENS'
current_row
CHANGING
p_t_excel_content[].
section_rows = current_row.
CLEAR: v_linha, p_header-qtd_tot,
p_header-peso_tot, p_header-vltot.
REFRESH: itab_qtd, itab_qtd_umb, itab_qtd_ncm.
LOOP AT itab_totais WHERE anexo EQ itab_impress-anexo.
IF itab_totais-nritem IS INITIAL.
ADD 1 TO current_item.
ELSE.
READ TABLE itab_itens_i WITH KEY nritem = itab_totais-nritem.
current_item = sy-tabix.
ENDIF.
CLEAR wa_itens.
READ TABLE p_t_items INTO wa_itens INDEX current_item.
PERFORM fill_items_fields
USING
p_t_items[]
'ITENS'
current_row
p_t_matrix[]
p_t_report_fields[]
p_t_sect_height[]
current_item
CHANGING
filled_section_height
p_t_excel_content[]
subrc.
ADD 1 TO current_row.
ADD 1 TO v_linha.
p_header-zycit244-waers = itab_zycit474-waers = wa_itens-waers.
p_header-um_ncm = itab_zycit474-meins = wa_itens-um_ncm.
p_header-gewei = itab_zycit474-gewei = wa_itens-gewei.
IF NOT wa_itens-j_1bnbm IS INITIAL.
itab_qtd-qtd = wa_itens-qtd_tot .
itab_qtd-unit = wa_itens-meins .
itab_qtd-qtdncm = wa_itens-qtd_ncm.
itab_qtd-unncm = wa_itens-um_ncm .
COLLECT itab_qtd.
ADD wa_itens-ntgewt TO p_header-peso_tot.
ADD wa_itens-netpr_t TO p_header-vltot.
ENDIF.
CLEAR: p_header-qtd_tot, v_barra.
ENDLOOP.
LOOP AT itab_qtd.
itab_qtd_umb-qtd = itab_qtd-qtd.
itab_qtd_umb-unit = itab_qtd-unit.
COLLECT itab_qtd_umb.
itab_qtd_ncm-qtdncm = itab_qtd-qtdncm.
itab_qtd_ncm-unncm = itab_qtd-unncm.
COLLECT itab_qtd_ncm.
ENDLOOP.
LOOP AT itab_qtd_umb.
CLEAR: wa_itens.
WRITE itab_qtd_umb-qtd TO wa_itens-qtd
UNIT itab_qtd_umb-unit LEFT-JUSTIFIED.
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'
EXPORTING
input = itab_qtd_umb-unit
language = 'P'
IMPORTING
output = itab_qtd_umb-unit.
CONCATENATE p_header-qtd_tot v_barra wa_itens-qtd
'|' itab_qtd_umb-unit INTO p_header-qtd_tot .
v_barra = '/'.
ENDLOOP.
CLEAR: p_header-qtd_totncm, v_barra.
LOOP AT itab_qtd_ncm.
CLEAR: wa_itens.
WRITE itab_qtd_ncm-qtdncm TO wa_itens-qtdncm
UNIT itab_qtd_ncm-unncm LEFT-JUSTIFIED.
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'
EXPORTING
input = itab_qtd_ncm-unncm
language = 'P'
IMPORTING
output = itab_qtd_ncm-unncm.
CONCATENATE p_header-qtd_totncm v_barra wa_itens-qtdncm
'|' itab_qtd_ncm-unncm INTO p_header-qtd_totncm .
v_barra = '/'.
ENDLOOP.
TRANSLATE p_header-qtd_totncm USING '| '.
TRANSLATE p_header-qtd_tot USING '| '.
current_row = section_rows + v_linhaite.
PERFORM append_new_section
USING
'RODA1'
current_row
CHANGING
p_t_excel_content[].
PERFORM fill_header_fields
USING
p_header
'RODA1'
current_row
p_t_matrix[]
p_t_report_fields[]
CHANGING
p_t_excel_content[].
current_row = current_row + v_linhasub.
PERFORM add_page_break
USING
current_row
CHANGING
p_t_excel_content[].
ENDLOOP.
ENDFORM.
FORM aditivo_db
USING
p_rep_param TYPE /pws/zycrt013
p_t_matrix TYPE t_matrix
p_t_report_fields TYPE t_rep_fields
CHANGING
p_header TYPE s_relat
p_t_excel_content TYPE t_excel_content
p_t_sect_height TYPE t_sect_height.
DATA: current_item TYPE i VALUE 1,
v_linha TYPE i,
current_rowm TYPE i VALUE 1,
v_lines TYPE i.
DATA: filled_section_height TYPE f.
DATA: subrc TYPE sy-subrc.
DATA: v_aditivo TYPE i,
v_protocolo TYPE i,
v_posicao TYPE i.
DATA: BEGIN OF itab_aditivo OCCURS 0,
de(100) TYPE c,
para(100) TYPE c,
dev(30) TYPE c,
parav(30) TYPE c,
linha(2) TYPE c,
item(2) TYPE c,
anexo(3) TYPE c,
END OF itab_aditivo.
DATA: v_anexos(20) TYPE c,
v_anexo(3) TYPE c,
v_virgula(2) TYPE c,
v_it10 TYPE c,
v_it13 TYPE c,
v_laditivo TYPE i,
v_amount(300) TYPE c,
v_amount2(300) TYPE c,
v_dec TYPE p DECIMALS 2,
v_vltot TYPE /pws/zycit474-netpr_t,
v_vltot2 TYPE /pws/zycit474-netpr_t,
wa_valor_ext TYPE spell,
wa_valor_ext2 TYPE spell,
itab_tline TYPE tline OCCURS 0 WITH HEADER LINE,
itab_tline2 TYPE tline OCCURS 0 WITH HEADER LINE.
REFRESH itab_zycit474.
LOOP AT itab_impress.
CLEAR: itab_aditivo.
WRITE itab_impress-anexo TO itab_aditivo-anexo NO-ZERO.
CONDENSE itab_aditivo-anexo NO-GAPS.
WRITE itab_impress-linha_ncm TO itab_aditivo-linha NO-ZERO.
CONDENSE itab_aditivo-linha NO-GAPS.
READ TABLE itab_impress2 INDEX sy-tabix.
IF itab_impress-ncm IS INITIAL.
itab_aditivo-item = '13'.
CONCATENATE text-013
'_'
itab_aditivo-anexo
':'
INTO itab_aditivo-de.
TRANSLATE itab_aditivo-de USING '_ '.
itab_aditivo-para = itab_aditivo-de.
WRITE itab_impress2-netpr_t TO itab_aditivo-dev
CURRENCY itab_impress2-waers
LEFT-JUSTIFIED.
WRITE itab_impress-netpr_t TO itab_aditivo-parav
CURRENCY itab_impress-waers
LEFT-JUSTIFIED.
ELSE.
itab_aditivo-item = '10'.
CONCATENATE text-010
'_'
itab_aditivo-anexo
':'
INTO itab_aditivo-de.
IF itab_impress-nritem IS INITIAL.
CONCATENATE itab_aditivo-de
text-017
itab_impress2-ncm
INTO itab_aditivo-de SEPARATED BY space.
WRITE itab_impress2-netpr_t TO itab_aditivo-dev
CURRENCY itab_impress2-waers
LEFT-JUSTIFIED.
WRITE itab_impress-netpr_t TO itab_aditivo-parav
CURRENCY itab_impress-waers
LEFT-JUSTIFIED.
ELSE.
itab_zycit474 = itab_impress.
APPEND itab_zycit474.
CONCATENATE itab_aditivo-de
text-011
itab_aditivo-linha
text-012
itab_impress2-ncm
INTO itab_aditivo-de SEPARATED BY space.
ENDIF.
TRANSLATE itab_aditivo-de USING '_ '.
itab_aditivo-para = itab_aditivo-de.
WRITE itab_impress2-netpr_t TO itab_aditivo-dev
CURRENCY itab_impress2-waers
LEFT-JUSTIFIED.
CONCATENATE itab_impress2-waers itab_aditivo-dev
INTO itab_aditivo-dev SEPARATED BY space.
WRITE itab_impress-netpr_t TO itab_aditivo-parav
CURRENCY itab_impress-waers
LEFT-JUSTIFIED.
CONCATENATE itab_impress-waers itab_aditivo-parav
INTO itab_aditivo-parav SEPARATED BY space.
ENDIF.
APPEND itab_aditivo.
ENDLOOP.
IF NOT itab_impress[] IS INITIAL.
CLEAR: v_vltot, itab_aditivo.
LOOP AT itab_versao WHERE pasta EQ 'I'.
ADD itab_versao-netpr_t TO v_vltot.
ENDLOOP.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
amount = v_vltot
currency = 'USD'
language = 'P'
IMPORTING
in_words = wa_valor_ext
EXCEPTIONS
not_found = 1
too_large = 2
OTHERS = 3
.
IF sy-subrc <> 0.
CLEAR: wa_valor_ext, v_vltot.
ENDIF.
v_dec = frac( v_vltot ).
IF v_dec IS INITIAL.
CONCATENATE text-016 wa_valor_ext-word text-004
INTO v_amount SEPARATED BY space.
ELSE.
CONCATENATE text-016 wa_valor_ext-word text-004 text-006
wa_valor_ext-decword text-005
INTO v_amount SEPARATED BY space.
ENDIF.
CLEAR v_vltot2.
LOOP AT itab_versaon WHERE pasta EQ 'I'.
ADD itab_versaon-netpr_t TO v_vltot2.
ENDLOOP.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
amount = v_vltot2
currency = 'USD'
language = 'P'
IMPORTING
in_words = wa_valor_ext2
EXCEPTIONS
not_found = 1
too_large = 2
OTHERS = 3
.
IF sy-subrc <> 0.
CLEAR: wa_valor_ext2, v_vltot2.
ENDIF.
CLEAR itab_aditivo.
itab_aditivo-item = '12'.
WRITE v_vltot TO itab_aditivo-dev
CURRENCY itab_impress-waers
LEFT-JUSTIFIED.
CONCATENATE itab_impress-waers itab_aditivo-dev
INTO itab_aditivo-dev SEPARATED BY space.
WRITE v_vltot2 TO itab_aditivo-parav
CURRENCY itab_impress2-waers
LEFT-JUSTIFIED.
CONCATENATE itab_impress2-waers itab_aditivo-parav
INTO itab_aditivo-parav SEPARATED BY space.
itab_aditivo-de = itab_aditivo-para = text-014.
APPEND itab_aditivo.
CLEAR itab_aditivo.
itab_aditivo-item = '15'.
itab_aditivo-de = itab_aditivo-para = text-015.
WRITE v_vltot TO itab_aditivo-dev
CURRENCY itab_impress-waers
LEFT-JUSTIFIED.
WRITE v_vltot2 TO itab_aditivo-parav
CURRENCY itab_impress2-waers
LEFT-JUSTIFIED.
APPEND itab_aditivo.
CLEAR itab_aditivo.
itab_aditivo-item = '16'.
v_dec = frac( v_vltot ).
IF v_dec IS INITIAL.
CONCATENATE text-016 wa_valor_ext2-word text-004
INTO v_amount2 SEPARATED BY space.
ELSE.
CONCATENATE text-016 wa_valor_ext2-word text-004 text-006
wa_valor_ext2-decword text-005
INTO v_amount2 SEPARATED BY space.
ENDIF.
CALL FUNCTION 'C14W_STRING_TO_TLINE'
EXPORTING
i_string = v_amount
TABLES
e_tline_tab = itab_tline.
CALL FUNCTION 'C14W_STRING_TO_TLINE'
EXPORTING
i_string = v_amount2
TABLES
e_tline_tab = itab_tline2.
CLEAR v_posicao.
v_linha = 2.
DO.
CLEAR: itab_tline, itab_tline2.
ADD 1 TO v_posicao.
READ TABLE itab_tline INDEX v_posicao.
READ TABLE itab_tline2 INDEX v_posicao.
IF itab_tline-tdline IS INITIAL AND
itab_tline2-tdline IS INITIAL.
EXIT.
ENDIF.
itab_aditivo-de = itab_tline-tdline.
itab_aditivo-para = itab_tline2-tdline.
APPEND itab_aditivo.
ADD 1 TO v_linha.
ENDDO.
ENDIF.
PERFORM select_row_height_cache
USING
p_rep_param-spras
p_rep_param-file_id
CHANGING
p_t_sect_height[].
PERFORM get_section_rows
USING
'ADITIVO'
p_t_sect_height[]
CHANGING
v_aditivo.
PERFORM get_section_rows
USING
'PROTOCOLO'
p_t_sect_height[]
CHANGING
v_protocolo.
CLEAR: current_item.
current_row = 1.
IF NOT itab_aditivo[] IS INITIAL.
DESCRIBE TABLE itab_aditivo LINES v_lines.
DO.
PERFORM append_new_section
USING
'ADITIVO'
current_row
CHANGING
p_t_excel_content[].
CLEAR: v_anexo, v_anexos, v_it10, v_it13, v_virgula,
p_header-adl1, p_header-adl2.
v_laditivo = 12.
current_rowm = current_row.
DO 12 TIMES.
ADD 1 TO current_item.
READ TABLE itab_aditivo INDEX current_item.
IF NOT itab_aditivo-anexo IS INITIAL.
SUBTRACT 1 FROM v_laditivo.
IF itab_aditivo-item EQ '10'.
v_it10 = 'X'.
ELSEIF itab_aditivo-item EQ '13'.
v_it13 = 'X'.
ENDIF.
IF v_anexo NE itab_aditivo-anexo.
v_anexo = itab_aditivo-anexo.
CONCATENATE v_anexos v_virgula v_anexo INTO v_anexos.
v_virgula = ',_'.
ENDIF.
ELSEIF v_linha > v_laditivo.
SUBTRACT 1 FROM current_item.
EXIT.
ENDIF.
PERFORM fill_items_fields
USING
itab_aditivo[]
'ADITIVO'
current_row
p_t_matrix[]
p_t_report_fields[]
p_t_sect_height[]
current_item
CHANGING
filled_section_height
p_t_excel_content[]
subrc.
ADD 1 TO current_row.
IF current_item EQ v_lines.
EXIT.
ENDIF.
ENDDO.
IF NOT v_anexos IS INITIAL.
CLEAR: v_amount, v_virgula.
IF v_it10 EQ 'X'.
v_amount = '10'.
v_virgula = ',_'.
ENDIF.
IF v_it13 EQ 'X'.
CONCATENATE v_amount v_virgula '13' INTO v_amount.
ENDIF.
CONCATENATE text-018 v_amount text-019 v_anexos
INTO p_header-adl1 SEPARATED BY space.
TRANSLATE p_header-adl1 USING '_ '.
IF current_item EQ v_lines .
CONCATENATE text-020 text-021
INTO p_header-adl2 SEPARATED BY space.
ENDIF.
ELSE.
CONCATENATE text-018 text-021
INTO p_header-adl1 SEPARATED BY space.
ENDIF.
current_row = current_rowm.
PERFORM fill_header_fields
USING
p_header
'ADITIVO'
current_row
p_t_matrix[]
p_t_report_fields[]
CHANGING
p_t_excel_content[].
ADD v_aditivo TO current_row.
IF current_item EQ v_lines.
EXIT.
ENDIF.
ENDDO.
ENDIF.
IF NOT itab_zycit277[] IS INITIAL.
PERFORM append_new_section
USING
'ADITIVO'
current_row
CHANGING
p_t_excel_content[].
CLEAR: p_header-adl1, p_header-adl2.
REFRESH itab_aditivo.
current_item = 1.
SORT itab_zycit277 BY vencto.
READ TABLE itab_zycit277 INDEX 1.
WRITE itab_zycit277-vencto TO itab_aditivo-de DD/MM/YYYY.
CONCATENATE text-022 itab_aditivo-de
INTO itab_aditivo-de SEPARATED BY space.
READ TABLE itab_zycit277 INDEX 2.
WRITE itab_zycit277-vencto TO itab_aditivo-para DD/MM/YYYY.
CONCATENATE text-022 itab_aditivo-para
INTO itab_aditivo-para SEPARATED BY space.
APPEND itab_aditivo.
PERFORM fill_items_fields
USING
itab_aditivo[]
'ADITIVO'
current_row
p_t_matrix[]
p_t_report_fields[]
p_t_sect_height[]
current_item
CHANGING
filled_section_height
p_t_excel_content[]
subrc.
PERFORM fill_header_fields
USING
p_header
'ADITIVO'
current_row
p_t_matrix[]
p_t_report_fields[]
CHANGING
p_t_excel_content[].
ADD v_aditivo TO current_row.
UPDATE /pws/zycit277 SET aditivo = 'X'
WHERE nrseqd EQ p_nrseqd.
ENDIF.
PERFORM append_new_section
USING
'PROTOCOLO'
current_row
CHANGING
p_t_excel_content[].
PERFORM fill_header_fields
USING
p_header
'PROTOCOLO'
current_row
p_t_matrix[]
p_t_report_fields[]
CHANGING
p_t_excel_content[].
MODIFY /pws/zycit474 FROM TABLE itab_zycit474.
ENDFORM.
FORM gera_aditivo.
REFRESH: it_excel_content ,
it_sect_height ,
it_generation_options.
p_report = 'ADITIVO'.
PERFORM select_parameters
USING
p_repmod
p_report
'P'
wa_relat-bukrs
''
''
''
''
''
''
''
''
''
''
CHANGING
wa_gen_param
wa_rep_param
it_matrix[]
it_report_fields[].
IF wa_gen_param IS INITIAL
OR wa_rep_param IS INITIAL
OR it_matrix[] IS INITIAL.
msg_module = p_repmod.
msg_report = p_report.
msg_langu = 'P'.
msg_bukrs = wa_relat-bukrs.
MESSAGE e000.
ENDIF.
PERFORM aditivo_db
USING
wa_rep_param
it_matrix[]
it_report_fields[]
CHANGING
wa_relat
it_excel_content[]
it_sect_height[].
CLEAR: v_filename.
CONCATENATE 'AD_' wa_relat-nrseqd INTO v_filename.
PERFORM generate_file_name
USING
v_filename
wa_gen_param
wa_rep_param
CHANGING
v_file_name.
PERFORM download_file
USING
wa_rep_param
v_file_name.
PERFORM create_report
USING
wa_gen_param-report_generator
v_file_name
'REPORT'
''
it_excel_content[]
it_sect_height[]
it_generation_options[].
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Textos de seleção:
Nome Texto
P_NRSEQD Nº Seq. Ato Concessório
Simbolos de Textos:
Simbolo Texto
000
001
002 É necessario gerar todos os anexos!
003 Ato Concessório não existe.
004 DÓLARES DOS ESTADOS UNIDOS
005 CENTAVOS
006 E
007 CEP:
008 Total do NCM:
009 Não há necessidade de gerar novo aditivo.
010 Item 10 anexo
011 linha
012 da NCM
013 Item 13 anexo
014 Item 12 do Pedido de Drawback:
015 Item 15 do Pedido de Drawback:
016 Item 16 do Pedido de Drawback:
017 TOTAL da NCM
018 Alteração dos itens
019 do(s) anexos(s)
020 e itens
021 12, 15 e 16 do Ato Concessório
022 Data de validade do ato concessório:
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI040
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 357
Texto: (29 caracteres)
"Data não pode ser inferior ao"
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 358
Texto: (20 caracteres)
"Vencimento vingente!"
Comprimento máximo: 50
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT277
Nome campo Chv Elem.dados Tab.verif. N CtDt Comp.
MANDT MANDT CLNT 3
NRSEQD /PWS/ZYCIL435 CHAR 10
VENCTO DATUM DATS 8
* >> Início da inclusão:
ADITIVO CHAR01 CHAR 1
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIE277
Nome campo Elem.dados Tab.verif. N CtDt Comp.
MANDT MANDT CLNT 3
NRSEQD /PWS/ZYCIL435 CHAR 10
VENCTO DATUM DATS 8
* >> Início da inclusão:
ADITIVO CHAR01 CHAR 1
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TRAN /PWS/ZYCRR038
Criar transação:
Código de transação: /PWS/ZYCRR038
Cl.desenvolvimento: /PWS/ZYCI
Tipo de Transação: Programa e tela de seleção (transação de report)
Texto da transação: Formular. aditivo ao Ato Concessório
Programa: /PWS/ZYCRR038
Tela de seleção: 1000