Академический Документы
Профессиональный Документы
Культура Документы
*----------------------------------------------------------------------*
*TABELA TRANSPARENTE
*----------------------------------------------------------------------*
TABLES:spfli,sflight.
*----------------------------------------------------------------------*
*DECLARAA DE VARIAVEIS E CONSTANTES
*----------------------------------------------------------------------*
CONSTANTS: c_carrid(1)
TYPE c VALUE '1',
c_connid(1)
TYPE c VALUE '8',
c_countryfr(2) TYPE c VALUE '15',
c_cityfrom(2) TYPE c VALUE '25',
c_airpfrom(2) TYPE c VALUE '46',
c_countryto(2) TYPE c VALUE '55',
c_cityto(2)
TYPE c VALUE '61',
c_airpto(2)
TYPE c VALUE '82',
c_fltime(2)
TYPE c VALUE '89',
c_deptime(3) TYPE c VALUE '100',
c_arrtime(3) TYPE c VALUE '109',
c_distance(3) TYPE c VALUE '118',
c_distid(3)
TYPE c VALUE '130',
c_fltype(3)
TYPE c VALUE '134',
c_period(3)
TYPE c VALUE '138',
*----------------------------------------------------------------------*
*SFLIGHT
*----------------------------------------------------------------------*
c_fldate(1)
TYPE c VALUE '8',
c_price(2)
TYPE c VALUE '19',
c_currency(2) TYPE c VALUE '34',
c_planetype(2) TYPE c VALUE '41',
c_seatsmax(2) TYPE c VALUE '52',
c_seatsocc(2) TYPE c VALUE '63',
c_paymentsum(2) TYPE c VALUE '74'.
DATA: v_tvoos TYPE i,
v_cont(12) TYPE c.
*----------------------------------------------------------------------*
*DECLARAO DA TABELA INTERNA DO SISTEMA
*----------------------------------------------------------------------*
DATA: BEGIN OF t_dados OCCURS 0,
carrid
connid
countryfr
cityfrom
airpfrom
countryto
cityto
airpto
fltime
deptime
arrtime
distance
distid
fltype
period
fldate
price
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
LIKE
spfli-carrid,
spfli-connid,
spfli-countryfr,
spfli-cityfrom,
spfli-airpfrom,
spfli-countryto,
spfli-cityto,
spfli-airpto,
spfli-fltime,
spfli-deptime,
spfli-arrtime,
spfli-distance,
spfli-distid,
spfli-fltype,
spfli-period,
sflight-fldate,
sflight-price,
currency
planetype
seatsmax
seatsocc
paymentsum
LIKE
LIKE
LIKE
LIKE
LIKE
sflight-currency,
sflight-planetype,
sflight-seatsmax,
sflight-seatsocc,
sflight-paymentsum,
END OF t_dados.
*----------------------------------------------------------------------*
*TELA INICIAL E DE SELEO DO SISTEMA
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_carrid FOR spfli-carrid,
s_connid FOR spfli-connid,
s_fldate FOR sflight-fldate.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETER: p_excel TYPE c AS CHECKBOX,
p_path LIKE rlgrap-filename DEFAULT 'c:\CURSOABAP\VOO.XLS'.
SELECTION-SCREEN END OF BLOCK b2.
*----------------------------------------------------------------------*
*INICIO DA PARAMETRIZAO "COLOCO O CABECALHO OU APRESENTAA
*----------------------------------------------------------------------*
TOP-OF-PAGE.
PERFORM cabecalho.
END-OF-PAGE.
*----------------------------------------------------------------------*
*INICIO DO PROGRAMA "COLOCO OS PERFORMS"
*----------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM: seleciona_dados,
imprimi_dados.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*&
Form CABECALHO
*&---------------------------------------------------------------------*
*
CABECALHO DO SISTEMA
*----------------------------------------------------------------------*
FORM cabecalho.
FORMAT COLOR COL_KEY INTENSIFIED.
WRITE: 'NOME = FLINO - Solues em TI',
/'DATA = ', sy-datum,
/'HORA = ', sy-uzeit,
/'USUARIO = ', sy-uname,
/'PROGRAMA = ', sy-repid.
ULINE.
ENDFORM.
" CABECALHO
*&---------------------------------------------------------------------*
*&
Form SELECIONA_DADOS
*&---------------------------------------------------------------------*
*
SELECIONA DADOS DA TABELA INTERNA
*----------------------------------------------------------------------*
FORM seleciona_dados.
SELECT a~carrid a~connid a~countryfr a~cityfrom a~airpfrom
a~countryto a~cityto a~airpto a~fltime a~deptime a~arrtime a~distance
a~distid a~fltype a~period b~fldate b~price
b~currency b~planetype b~seatsmax b~seatsocc b~paymentsum
FROM spfli AS a
INNER JOIN sflight AS b
ON a~carrid = b~carrid
AND a~connid = b~connid
INTO TABLE t_dados
WHERE a~carrid IN s_carrid
AND a~connid IN s_connid
AND b~fldate IN s_fldate.
ENDFORM.
" SELECIONA_DADOS
*&---------------------------------------------------------------------*
*&
Form IMPRIMI_DADOS
*&---------------------------------------------------------------------*
*
IMPRIMI OS DADOS NA TELA
*----------------------------------------------------------------------*
FORM imprimi_dados.
IF p_excel = 'X'."CONDIO DE DOWNLOAD EXCEL
PERFORM arquivo_excel.
ENDIF.
IF t_dados[] IS INITIAL.
MESSAGE i368(00) WITH 'NENHUMA CONEXO FOI ENCONTRADA'.
ELSE.
LOOP AT t_dados."PERCORRE A TABELA
CLEAR v_tvoos."LIMPA A HEADER LINE
SKIP 1."FAIXA UNICA
FORMAT COLOR COL_NEGATIVE INTENSIFIED."COLORE OS CAMPOS DA TAB
*----------------------------------------------------------------------*
*IMPRIMI CAMPOS DA SPFLI
*----------------------------------------------------------------------*
WRITE: AT c_carrid
t_dados-carrid,
AT c_connid
t_dados-connid,
AT c_countryfr t_dados-countryfr,
AT c_cityfrom t_dados-cityfrom,
AT c_airpfrom t_dados-airpfrom,
AT c_countryto t_dados-countryto,
AT c_cityto
t_dados-cityto,
AT c_airpto
t_dados-airpto,
AT c_fltime
t_dados-fltime,
AT
AT
AT
AT
AT
AT
c_deptime
c_arrtime
c_distance
c_distid
c_fltype
c_period
t_dados-deptime,
t_dados-arrtime,
t_dados-distance,
t_dados-distid,
t_dados-fltype,
t_dados-period.
invalid_type
= 4
no_batch
= 5
unknown_error
= 6
invalid_table_width
= 7
gui_refuse_filetransfer = 8
customer_error
= 9
OTHERS
= 10.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM.
" arquivo_excel