Módulo: DRAWBACK
Funcionalidade: Relatórios
Data/Hora da Publicação: 31/03/2006 00:00:00
Data/Hora Última Alteração: 17/02/2011 13:33:44
Descrição da Nota: RELATÓRIO COMPROVAÇÃO DE EXPORTAÇÃO SISCOMEX
Sintoma
Criação do relatório Comprovação de Exportação - SISCOMEX
Solução
Criação do relatório Comprovação de Exportação - SISCOMEX
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 01126 Data: 31/03/2006 Hora: 14:10:48
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 01126
Categoria : Melhoria
Prioridade : Baixa
Versão PW.CE : 6.0
Pacote : 00023
Agrupamento : 00107
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
RELATÓRIO COMPROVAÇÃO DE EXPORTAÇÃO SISCOMEX
----------------------------------------------------------------------------------------------------
Palavras Chave:
RELATÓRIO - COMPROVAÇÃO - EXPORTAÇÃO - SISCOMEX - /PWS/ZYCIR333
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCIR333
REPT /PWS/ZYCIR333
TABD /PWS/ZYCIE248
TABD /PWS/ZYCIE248C
TABD /PWS/ZYCIT248
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR333
Criar o relatório com o seguinte código fonte:
*&---------------------------------------------------------------------*
*& Report /PWS/ZYCIR333 *
*& *
*&---------------------------------------------------------------------*
* ProcWork SoftWare
* Produto: Pw.CE
* Módulo : DI
* Descrição : CI - Relatório de Comprovação de Exportação - SISCOMEX
*
* Help Desk: *****
*----------------------------------------------------------------------*
* ESTE PROGRAMA NÃO DEVE SER ALTERADO SEM PRÉVIA CONSULTA
*-----------------------------------------------------------------------
* Nome Data Descrição
* Marcos da Rocha Lopes 29/03/2006 Codificação Inicial
*-----------------------------------------------------------------------
REPORT /pws/zycir333 MESSAGE-ID /pws/zycim .
*Tabelas
TABLES: /pws/zycit248,
/pws/zycie244,
/pws/zycit244.
*Includes
INCLUDE /pws/z_rel_alv.
*Tabelas internas
DATA: itab_zycit248 TYPE /pws/zycit248 OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF itab_zycit244 OCCURS 0.
DATA: nrseqd TYPE /pws/zycit244-nrseqd,
bukrs TYPE /pws/zycit244-bukrs ,
werks TYPE /pws/zycit244-werks ,
nratoc TYPE /pws/zycit244-nratoc,
importacao TYPE /pws/zycit244-importacao.
DATA: END OF itab_zycit244.
DATA: BEGIN OF itab_final OCCURS 0.
DATA: nrseqd TYPE /pws/zycit248-nrseqd,
nratoc TYPE /pws/zycit244-nratoc,
steuc TYPE /pws/zycit248-steuc,
nrre TYPE /pws/zycit248-nrre ,
dtemb TYPE /pws/zycit248-dtemb,
dtaverb TYPE /pws/zycit248-dtaverb,
um_ncm TYPE /pws/zycit248-um_ncm,
qtd_ncm TYPE /pws/zycit248-qtd_ncm,
comiss TYPE p DECIMALS 2 VALUE '0.00',
vlcomis TYPE /pws/zycit248-vlcomis,
vlfob TYPE /pws/zycit248-vlfob,
cobcamb(1) TYPE c,
selk ,
col ,
transmissao(4) TYPE c .
DATA: END OF itab_final.
*Variaveis globais
*-----------------------------------------------------------------------
*Paramêtros para ALV
*-----------------------------------------------------------------------
DATA: v_formato.
DATA: v_selinfo TYPE c VALUE 'X'.
DATA: v_varian LIKE disvariant.
DATA: v_marc LIKE ttab-tabname VALUE 'X'.
*-----------------------------------------------------------------------
*Tela de Seleção
*-----------------------------------------------------------------------
SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-000.
SELECT-OPTIONS: s_nrseqd FOR /pws/zycie244-nrseqd ,
s_nratoc FOR /pws/zycie244-nratoc .
SELECTION-SCREEN END OF BLOCK bl1.
SELECTION-SCREEN BEGIN OF BLOCK bl2 WITH FRAME TITLE text-029.
PARAMETERS: v_zebra AS CHECKBOX,
v_otim AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK bl2.
START-OF-SELECTION.
PERFORM seleciona_dados.
IF NOT itab_zycit248[] IS INITIAL.
PERFORM monta_rel.
PERFORM e04_comment_build USING gt_list_top_of_page[].
PERFORM fieldcat.
PERFORM monta_rel_alv.
ELSE.
ENDIF.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Form seleciona_dados
*&---------------------------------------------------------------------*
* Seleciona os dados para montagem do relatório
*----------------------------------------------------------------------*
FORM seleciona_dados.
CLEAR: itab_zycit244, itab_zycit248.
REFRESH: itab_zycit244, itab_zycit248.
SELECT nrseqd bukrs werks nratoc importacao FROM /pws/zycit244
INTO TABLE itab_zycit244
WHERE nrseqd IN s_nrseqd
AND nratoc IN s_nratoc.
IF sy-subrc EQ 0.
SELECT * FROM /pws/zycit248 INTO TABLE itab_zycit248
FOR ALL ENTRIES IN itab_zycit244
WHERE nrseqd EQ itab_zycit244-nrseqd.
ENDIF.
ENDFORM. " seleciona_dados
*&---------------------------------------------------------------------*
*& Form monta_rel
*&---------------------------------------------------------------------*
* Monta os dados do relatório
*----------------------------------------------------------------------*
FORM monta_rel.
LOOP AT itab_zycit248.
READ TABLE itab_zycit244 WITH KEY nrseqd = itab_zycit248-nrseqd.
IF sy-subrc EQ 0.
*Authority-check Centro
AUTHORITY-CHECK OBJECT 'C_PPBD'
ID 'AKTTYP' FIELD 'V'
ID 'WERKS' FIELD itab_zycit244-werks.
IF sy-subrc NE 0.
DELETE itab_zycit248 WHERE nrseqd EQ itab_zycit248-nrseqd.
CONTINUE.
ENDIF.
*Authority-check Empresa
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK'
ID 'BUKRS' FIELD itab_zycit244-bukrs "Empresa
ID 'ACTVT' FIELD '01'.
IF sy-subrc NE 0.
DELETE itab_zycit248 WHERE nrseqd EQ itab_zycit248-nrseqd.
CONTINUE.
ENDIF.
ENDIF.
IF itab_zycit248-siscomex = 'X'.
itab_final-transmissao = '@5B@'.
ELSE.
itab_final-transmissao = '@5C@'.
ENDIF.
MOVE: itab_zycit248-nrseqd TO itab_final-nrseqd ,
itab_zycit248-steuc TO itab_final-steuc ,
itab_zycit248-nrre TO itab_final-nrre ,
itab_zycit248-dtemb TO itab_final-dtemb ,
itab_zycit248-dtaverb TO itab_final-dtaverb,
itab_zycit248-um_ncm TO itab_final-um_ncm ,
itab_zycit248-qtd_ncm TO itab_final-qtd_ncm,
itab_zycit248-vlcomis TO itab_final-vlcomis,
itab_zycit248-vlfob TO itab_final-vlfob .
COLLECT itab_final.
ENDLOOP.
LOOP AT itab_final.
READ TABLE itab_zycit244 WITH KEY nrseqd = itab_final-nrseqd.
IF itab_zycit244-importacao EQ 'X'.
itab_final-cobcamb = 'C'.
ELSE.
itab_final-cobcamb = 'S'.
ENDIF.
itab_final-nratoc = itab_zycit244-nratoc.
IF itab_final-vlfob = 0 .
DELETE itab_final.
CONTINUE.
ENDIF.
itab_final-comiss = ( itab_final-vlcomis / itab_final-vlfob )
* 100.
MODIFY itab_final.
ENDLOOP.
ENDFORM. " monta_rel
*&---------------------------------------------------------------------
*& FORM TOP_OF_PAGE "Alv
*&---------------------------------------------------------------------
*& Chamada de função p/o cabeçalho ALV ou montagem do cabeçalho p/
*& list view.
*&---------------------------------------------------------------------
FORM top_of_page.
* O parâmetro gt_list_top_of_page foi definido no form e04_comment_build
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = gt_list_top_of_page.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form e04_comment_build
*&---------------------------------------------------------------------*
FORM e04_comment_build USING gt_list_top_of_page TYPE slis_t_listheader.
DATA: ls_line TYPE slis_listheader,
v_data(10) TYPE c,
v_data1(10) TYPE c,
v_hora1(10) TYPE c,
v_hora(10) TYPE c.
v_data = sy-datum.
v_hora = sy-uzeit.
*Título do cabeçalho
CLEAR ls_line.
ls_line-typ = 'H'.
ls_line-info = text-001.
APPEND ls_line TO gt_list_top_of_page.
*Data
IF NOT v_data IS INITIAL.
CONCATENATE v_data+6(2) '/' v_data+4(2) '/' v_data(4) INTO v_data1.
CLEAR ls_line.
ls_line-typ = 'S'.
ls_line-key = text-002.
ls_line-info = v_data1.
APPEND ls_line TO gt_list_top_of_page.
ENDIF.
*Hora
IF NOT v_hora IS INITIAL.
CONCATENATE v_hora(2) ':' v_hora+2(2) ':' v_hora+4(2) INTO v_hora1.
CLEAR ls_line.
ls_line-typ = 'S'.
ls_line-key = text-003.
ls_line-info = v_hora1.
APPEND ls_line TO gt_list_top_of_page.
ENDIF.
ENDFORM. " e04_comment_build
*&---------------------------------------------------------------------*
*& Form fieldcat
*&---------------------------------------------------------------------*
FORM fieldcat.
DATA i TYPE i.
*Nr. SEq. Ato Concessório
i = i + 1.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'NRSEQD'.
afield-ref_fieldname = 'NRSEQD'.
afield-ref_tabname = '/PWS/ZYCIT244'.
afield-outputlen = 10.
afield-reptext_ddic = text-004.
afield-seltext_s = text-004.
afield-seltext_m = text-004.
afield-seltext_l = text-004.
afield-just = 'C'.
APPEND afield TO i_fieldcat.
*Nr do Ato Concessório
i = i + 1.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'NRATOC'.
afield-ref_fieldname = 'NRATOC'.
afield-ref_tabname = '/PWS/ZYCIT244'.
afield-outputlen = 15.
afield-reptext_ddic = text-005.
afield-seltext_s = text-005.
afield-seltext_m = text-005.
afield-seltext_l = text-005.
afield-just = 'C'.
APPEND afield TO i_fieldcat.
*NCM
i = i + 1.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'STEUC'.
afield-ref_fieldname = 'STEUC'.
afield-ref_tabname = '/PWS/ZYCIT248'.
afield-outputlen = 15.
afield-reptext_ddic = text-006.
afield-seltext_s = text-006.
afield-seltext_m = text-006.
afield-seltext_l = text-006.
afield-just = 'C'.
APPEND afield TO i_fieldcat.
*Nr. RE
i = i + 1.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'NRRE'.
afield-ref_fieldname = 'NRRE'.
afield-ref_tabname = '/PWS/ZYCIT248'.
afield-outputlen = 16.
afield-reptext_ddic = text-007.
afield-seltext_s = text-007.
afield-seltext_m = text-007.
afield-seltext_l = text-007.
afield-just = 'C'.
APPEND afield TO i_fieldcat.
*Dt. do Embarque
i = i + 1.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'DTEMB'.
afield-ref_fieldname = 'DTEMB'.
afield-ref_tabname = '/PWS/ZYCIT248'.
afield-outputlen = 10.
afield-reptext_ddic = text-008.
afield-seltext_s = text-008.
afield-seltext_m = text-008.
afield-seltext_l = text-008.
afield-just = 'C'.
APPEND afield TO i_fieldcat.
*Data de Averbação
i = i + 1.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'DTAVERB'.
afield-ref_fieldname = 'DTAVERB'.
afield-ref_tabname = '/PWS/ZYCIT248'.
afield-outputlen = 10.
afield-reptext_ddic = text-009.
afield-seltext_s = text-009.
afield-seltext_m = text-009.
afield-seltext_l = text-009.
afield-just = 'C'.
APPEND afield TO i_fieldcat.
*Unidade de medida Estatística
i = i + 1.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'UM_NCM'.
afield-ref_fieldname = 'UM_NCM'.
afield-ref_tabname = '/PWS/ZYCIT248'.
afield-outputlen = 6.
afield-reptext_ddic = text-010.
afield-seltext_s = text-010.
afield-seltext_m = text-010.
afield-seltext_l = text-010.
afield-just = 'C'.
APPEND afield TO i_fieldcat.
*Quantidade na unidade estatistica
i = i + 1.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'QTD_NCM'.
afield-ref_fieldname = 'QTD_NCM'.
afield-ref_tabname = '/PWS/ZYCIT248'.
afield-outputlen = 20.
afield-reptext_ddic = text-011.
afield-seltext_s = text-011.
afield-seltext_m = text-011.
afield-seltext_l = text-011.
afield-qfieldname = 'UM_NCM'.
afield-just = 'C'.
APPEND afield TO i_fieldcat.
*% Comissão do agente
i = i + 1.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'COMISS'.
* afield-ref_fieldname = 'VLCOMIS'.
* afield-ref_tabname = '/PWS/ZYCIT248'.
afield-outputlen = 15.
afield-reptext_ddic = text-012.
afield-seltext_s = text-012.
afield-seltext_m = text-012.
afield-seltext_l = text-012.
afield-just = 'C'.
APPEND afield TO i_fieldcat.
*Valor FOB
i = i + 1.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'VLFOB'.
afield-ref_fieldname = 'VLFOB'.
afield-ref_tabname = '/PWS/ZYCIT248'.
afield-outputlen = 20.
afield-reptext_ddic = text-013.
afield-seltext_s = text-013.
afield-seltext_m = text-013.
afield-seltext_l = text-013.
afield-currency = 'USD'.
afield-just = 'C'.
APPEND afield TO i_fieldcat.
*Cobertura cambial
i = i + 1.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'COBCAMB'.
afield-ref_fieldname = 'IMPORTACAO'.
afield-ref_tabname = '/PWS/ZYCIT244'.
afield-outputlen = 6.
afield-reptext_ddic = text-014.
afield-seltext_s = text-014.
afield-seltext_m = text-014.
afield-seltext_l = text-014.
afield-just = 'C'.
APPEND afield TO i_fieldcat.
*Transmissão
i = i + 1.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'TRANSMISSAO'.
afield-ref_fieldname = 'SISCOMEX'.
afield-ref_tabname = '/PWS/ZYCIT248'.
afield-outputlen = 3.
afield-reptext_ddic = text-015.
afield-seltext_s = text-015.
afield-seltext_m = text-015.
afield-seltext_l = text-015.
afield-just = 'C'.
APPEND afield TO i_fieldcat.
ENDFORM. " fieldcat
*------------------------------------------------------------------
* Form user_command
*------------------------------------------------------------------
FORM user_command USING ucomm LIKE sy-ucomm
selfield TYPE slis_selfield.
* CASE ucomm.
* WHEN 'BEAN'.
* ENDCASE.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form monta_rel_alv
*&---------------------------------------------------------------------*
FORM monta_rel_alv.
v_repid = sy-repid.
IF NOT itab_final[] IS INITIAL.
CALL FUNCTION '/PWS/ZYGL_GERA_RELATORIO_ALV'
EXPORTING
v_program = v_repid
v_pf_status = ' '
v_user_command = 'USER_COMMAND'
v_top_of_page = 'TOP_OF_PAGE'
v_marc = 'X'
v_selinfo = 'X'
v_zebra = v_zebra
v_otimizado = v_otim
TABLES
i_fieldcat = i_fieldcat
t_data = itab_final
it_sort = i_sort.
ENDIF.
ENDFORM. " monta_rel_alv
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/ZYCIR333
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 000
Texto: (19 caracteres)
"Critério de Seleção"
Comprimento máximo: 19
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 001
Texto: (49 caracteres)
"Relatório - Apropriação de RE por Ato Concessório"
Comprimento máximo: 49
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 002
Texto: (5 caracteres)
"Data:"
Comprimento máximo: 5
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 003
Texto: (5 caracteres)
"Hora:"
Comprimento máximo: 5
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 004
Texto: (11 caracteres)
"Nr. Seq. AC"
Comprimento máximo: 11
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 005
Texto: (6 caracteres)
"Nr. AC"
Comprimento máximo: 6
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 006
Texto: (8 caracteres)
"Cód. NCM"
Comprimento máximo: 8
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 007
Texto: (6 caracteres)
"Nr. RE"
Comprimento máximo: 6
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 008
Texto: (8 caracteres)
"Dt. Emb."
Comprimento máximo: 8
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 009
Texto: (10 caracteres)
"Dt. Averb."
Comprimento máximo: 10
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 010
Texto: (8 caracteres)
"UM. Est."
Comprimento máximo: 8
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 011
Texto: (8 caracteres)
"Qtd. Est"
Comprimento máximo: 8
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 012
Texto: (15 caracteres)
"% Comis. Agente"
Comprimento máximo: 15
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 013
Texto: (8 caracteres)
"FOB(USD)"
Comprimento máximo: 8
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 014
Texto: (12 caracteres)
"Cob. Cambial"
Comprimento máximo: 12
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 015
Texto: (11 caracteres)
"Transmissão"
Comprimento máximo: 15
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): S_NRATOC
Texto: (33 caracteres)
"Numero do Ato Concessório"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): S_NRSEQD
Texto: (35 caracteres)
"Sequenc. do Ato Concessório"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): V_OTIM
Texto: (17 caracteres)
"Otimizado"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): V_ZEBRA
Texto: (15 caracteres)
"Zebrado"
Referência ao Dictionary: NÃO
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIE248
Nome campo |Chv |Elem.dados |Tab.verif. |N |CtDt |Comp. |Grupo
...
NRSD | |/PWS/ZYCEL164 | | |CHAR | 12 |
* >> Início da inclusão:
SISCOMEX | |/PWS/ZYCIL484 | | |CHAR | 1 |
* >> Fim da inclusão:
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIE248C
Nome campo |Chv |Elem.dados |Tab.verif. |N |CtDt |Comp. |Grupo
...
NRSD | |/PWS/ZYCEL164 | | |CHAR | 12 |
* >> Início da inclusão:
SISCOMEX | |/PWS/ZYCIL484 | | |CHAR | 1 |
* >> Fim da inclusão:
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT248
Nome campo |Chv |Elem.dados |Tab.verif. |N |CtDt |Comp. |Grupo
...
NRSD | |/PWS/ZYCEL164 | | |CHAR | 12 |
* >> Início da inclusão:
SISCOMEX | |/PWS/ZYCIL484 | | |CHAR | 1 |
* >> Fim da inclusão: