*&---------------------------------------------------------------------* *& Report ZANMA_EJERCICIO4 *& *&---------------------------------------------------------------------* REPORT zanma_ejercicio4. *inicio de definicion de variables DATA: it_vuelos TYPE TABLE OF spfli WITH HEADER LINE. SELECTION-SCREEN BEGIN OF BLOCK block WITH FRAME TITLE text-000. SELECT-OPTIONS scompany FOR it_vuelos-carrid. SELECT-OPTIONS s_pais1 FOR it_vuelos-countryfr NO INTERVALS. SELECT-OPTIONS s_paisto FOR it_vuelos-countryto NO INTERVALS. SELECTION-SCREEN END OF BLOCK block. *end of page END-OF-PAGE. WRITE: / text-003. * inicio del start of selection START-OF-SELECTION. *inicio de los performs *"imprime los datos informativos PERFORM info TABLES scompany s_pais1 s_paisto. *"busca los datos en la tabla de la base de datos PERFORM search TABLES scompany s_pais1 s_paisto. SKIP. *"imprime los resultado encontrados PERFORM datos TABLES it_vuelos. SKIP. *"imprime datos extras de los resultados PERFORM datos2 TABLES it_vuelos. **inicio de los codigos de los form *"imprime los datos informativos FORM info TABLES pcompany2 LIKE scompany[] paisfrom2 LIKE s_pais1[] paisto2 LIKE s_paisto[]. WRITE: / '¿Qué Vamos a hacer?'. WRITE: / sy-uline(25). LOOP AT pcompany2. WRITE: / 'Voy a hacer la busqueda desde la compañia', pcompany2-low ,'hasta la compañia',pcompany2-high, 'con salida en el pais', paisfrom2-low ,'y llegada en el pais', paisto2-low. ENDLOOP. * IF pcompany2-low = ''. IF pcompany2[] IS INITIAL. WRITE: / 'Se van a buscar todos los registros de la Tabla'. ENDIF. ENDFORM. "info *&---------------------------------------------------------------------* *& Form search *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->PCOMPANY text * -->PAISFROM text * -->PAISTO text *----------------------------------------------------------------------* *"busca los datos en la tabla de la base de datos FORM search TABLES scompany s_pais1 s_paisto. SELECT * FROM spfli INTO TABLE it_vuelos WHERE carrid IN scompany AND countryfr IN s_pais1 AND countryto IN s_paisto. ENDFORM. "search *&---------------------------------------------------------------------* *& Form datos *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->it_vuelos text *----------------------------------------------------------------------* *"imprime los resultado encontrados FORM datos TABLES it_vuelos STRUCTURE spfli. DATA: cont(2) TYPE n VALUE 0. WRITE: / 'Resultados Encontrados'. WRITE: / sy-uline(25). SKIP. LOOP AT it_vuelos. * cont = cont + 1. * CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' * EXPORTING * input = cont * IMPORTING * output = cont. * WRITE: / 'Resultado ', cont. * WRITE: / sy-uline(20). * WRITE: / 'Compañia Aerea: ',it_vuelos-carrid, * / 'Pais de Salida: ',it_vuelos-countryfr, * / 'Ciudad de Salida: ',it_vuelos-cityfrom, * / 'Pais de Llegada: ',it_vuelos-countryto, * / 'Ciudad de Llegada: ',it_vuelos-cityto, * / 'Hora de Salida: ',it_vuelos-deptime, * / 'Hora de Llegada : ',it_vuelos-arrtime, * / 'Distancia: ',it_vuelos-distance,it_vuelos-distid. * SKIP. write: / it_vuelos-carrid, it_vuelos-connid, it_vuelos-countryfr, it_vuelos-cityfrom, it_vuelos-airpfrom, it_vuelos-countryto, it_vuelos-cityto, it_vuelos-airpto, it_vuelos-fltime, it_vuelos-deptime, it_vuelos-arrtime, it_vuelos-distance, it_vuelos-distid. ENDLOOP. ENDFORM. "datos *&---------------------------------------------------------------------* *& Form datos2 *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->it_vuelos text *----------------------------------------------------------------------* *"imprime datos extras de los resultados FORM datos2 TABLES it_vuelos STRUCTURE spfli. DATA: km TYPE i VALUE 0. LOOP AT it_vuelos. km = km + it_vuelos-distance. ENDLOOP. WRITE: / 'Datos Complementarios'. WRITE: / sy-uline(25). WRITE: / 'La Distancia Recorrida entre todos lo vuelos encontrados es de',km, 'Kilometros'. ENDFORM. "datos2