Advertisement
Guest User

PRACTICA_3

a guest
Jun 18th, 2018
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 4.14 KB | None | 0 0
  1. REPORT ZCF_13A_PRACTICA3.
  2. * Primer bloque de la ventana de selección: Historial de un cliente
  3. PARAMETERS po_cust RADIOBUTTON GROUP fopt.
  4. SELECTION-SCREEN BEGIN OF BLOCK cliente WITH FRAME.
  5.   PARAMETERS p_cust TYPE sbook-customid.
  6. SELECTION-SCREEN END OF BLOCK cliente.
  7.  
  8. * Segundo bloque de la ventana de selección: Datos especificos de un vuelo
  9. PARAMETERS po_fly RADIOBUTTON GROUP fopt.
  10. SELECTION-SCREEN BEGIN OF BLOCK vuelo WITH FRAME.
  11.   PARAMETERS p_carrid TYPE SPFLI-carrid.
  12.   PARAMETERS p_connid TYPE SPFLI-CONNID.
  13. SELECTION-SCREEN END OF BLOCK vuelo.
  14.  
  15.  
  16. * Comprobaciones
  17. *AT SELECTION-SCREEN.
  18. *  CASE 'X'.
  19. *
  20. *    " Comprobaciones cuando se ha seleccionado por cliente
  21. *    WHEN po_book.
  22. *      IF p_book IS INITIAL. MESSAGE e030(ZCFGS). ENDIF.
  23. *
  24. *      IF p_carrid IS NOT INITIAL OR p_date IS NOT INITIAL OR
  25. *         p_custid   IS NOT INITIAL.
  26. *        MESSAGE e028(ZCFGS).
  27. *      ENDIF.
  28. *
  29. *    " Comprobaciones cuando se ha seleccionado datos del vuelo
  30. *    WHEN po_fldat.
  31. *      IF p_carrid IS INITIAL. MESSAGE e030(ZCFGS). ENDIF.
  32. *      IF p_date IS INITIAL. MESSAGE e030(ZCFGS). ENDIF.
  33. *
  34. *      IF p_custid IS NOT INITIAL OR p_book IS NOT INITIAL.
  35. *        MESSAGE e028(ZCFGS).
  36. *      ENDIF.
  37. *
  38. *      AUTHORITY-CHECK OBJECT 'S_CARRID'
  39. *        ID 'CARRID' FIELD p_carrid
  40. *        ID 'ACTVT'  FIELD '03'.
  41. *      IF sy-subrc <> 0.
  42. *        MESSAGE e029(ZCFGS).
  43. *      ENDIF.
  44. *
  45. *    " Comprobacinoes cuando se ha seleccionado origen/destino
  46. *    WHEN po_cust.
  47. *      IF p_custid IS INITIAL.  MESSAGE e030(ZCFGS). ENDIF.
  48. *      "IF p_to   IS INITIAL.  MESSAGE e037(ZCFGS). ENDIF.
  49. *      IF p_book IS NOT INITIAL OR p_carrid IS NOT INITIAL OR p_date IS NOT INITIAL.
  50. *        MESSAGE e028(ZCFGS).
  51. *      ENDIF.
  52. *  ENDCASE.
  53.  
  54. START-OF-SELECTION.
  55.  
  56.  
  57.  
  58.   CASE 'X'.
  59.  
  60.     " LÓGICA PARA EL BLOQUE 1: Historial de un cliente
  61.     " --------------------------------------------------------
  62.     WHEN po_cust.
  63.       PERFORM HISTORIAL_VUELOS_CLIENTE_13A
  64.                   USING
  65.                       P_CUST.
  66.  
  67.     " LÓGICA PARA EL BLOQUE 2: Datos específicos de un vuelo
  68.     " --------------------------------------------------------
  69.     WHEN po_fly.
  70.       DATA: AUX_DATOS_VUELO TYPE BC400_S_CONNECTION_EXT.
  71.  
  72.       CALL METHOD ZCF_VUELOS_13A=>ZCF_VUELOS_13A
  73.         EXPORTING
  74.           IV_CARRID       = P_CARRID
  75.           IV_CONNID       = P_CONNID
  76.         IMPORTING
  77.           ES_VUELO        = AUX_DATOS_VUELO
  78.         EXCEPTIONS
  79.           NO_EXISTE_VUELO = 1
  80.           others          = 2
  81.               .
  82.       IF SY-SUBRC <> 0.
  83.         MESSAGE e016(ZBC400_13A).
  84.       ENDIF.
  85.  
  86.       WRITE: / AUX_DATOS_VUELO-CARRID,
  87.                AUX_DATOS_VUELO-CONNID,
  88.                AUX_DATOS_VUELO-AIRPFROM,
  89.                AUX_DATOS_VUELO-AIRPTO,
  90.                AUX_DATOS_VUELO-ARRTIME,
  91.                AUX_DATOS_VUELO-CARRNAME,
  92.                AUX_DATOS_VUELO-CITYFROM,
  93.                AUX_DATOS_VUELO-CITYTO,
  94.                AUX_DATOS_VUELO-DEPTIME,
  95.                AUX_DATOS_VUELO-FLTIME.
  96.   ENDCASE.
  97.  
  98.   FORM HISTORIAL_VUELOS_CLIENTE_13A
  99.     USING
  100.           VALUE(IV_CLIENTEID) TYPE S_CUSTOMER.
  101.  
  102.     TYPES: BEGIN OF STR_HISTORIAL,
  103.       CARRID TYPE S_CARR_ID,
  104.       CONNID TYPE S_CONN_ID,
  105.       FLDATE TYPE S_DATE,
  106.       BOOKID TYPE S_BOOK_ID,
  107.       CUSTOMID TYPE S_CUSTOMER,
  108.       AGENCYNUM TYPE S_AGNCYNUM,
  109.       CANCELLED TYPE S_CANCEL,
  110.     END OF STR_HISTORIAL.
  111.  
  112.     DATA: IT_HISTORIAL_CLIENTE TYPE STANDARD TABLE OF STR_HISTORIAL WITH NON-UNIQUE KEY CARRID, CONNID, FLDATE.
  113.     DATA: WA_HIST_VUELOS LIKE LINE OF IT_HISTORIAL_CLIENTE.
  114.  
  115.     SELECT CARRID CONNID FLDATE BOOKID CUSTOMID AGENCYNUM CANCELLED
  116.     FROM SBOOK
  117.     INTO TABLE IT_HISTORIAL_CLIENTE
  118.     WHERE CUSTOMID = IV_CLIENTEID
  119.     ORDER BY FLDATE.
  120.  
  121.     IF SY-SUBRC <> 0.
  122.       MESSAGE e015(ZBC400_13A).
  123.     ENDIF.
  124.  
  125.     LOOP AT IT_HISTORIAL_CLIENTE INTO WA_HIST_VUELOS.
  126.       WRITE: / WA_HIST_VUELOS-CARRID,
  127.                WA_HIST_VUELOS-CONNID,
  128.                WA_HIST_VUELOS-FLDATE,
  129.                WA_HIST_VUELOS-BOOKID,
  130.                WA_HIST_VUELOS-CUSTOMID,
  131.                WA_HIST_VUELOS-AGENCYNUM,
  132.                WA_HIST_VUELOS-CANCELLED.
  133.     ENDLOOP.
  134.   ENDFORM.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement