Advertisement
Guest User

Untitled

a guest
Dec 9th, 2016
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 3.82 KB | None | 0 0
  1. *&---------------------------------------------------------------------*
  2. *& Report  ZGL160C6
  3. *&
  4. *&---------------------------------------------------------------------*
  5. *&
  6. *&
  7. *&---------------------------------------------------------------------*
  8. REPORT  ZGL160C6.
  9.  
  10. TABLES scarr.
  11. *creare de tip
  12. TYPES: BEGIN OF ty_t1,
  13.   carrid type scarr-carrid,
  14.   carrname type scarr-carrname,
  15.   url type scarr-url,
  16.   connid TYPE spfli-connid,
  17.   cityfrom type spfli-cityfrom,
  18.   cityto type spfli-cityto,
  19.   price type sflight-price,
  20.   planetype type sflight-planetype,
  21.   end of ty_t1.
  22.  
  23.  
  24.  
  25. data: gs_scarr TYPE ty_t1,
  26.       gs_spfli type spfli,
  27.       gs_sflight type sflight.
  28.  
  29.  
  30.  
  31.  
  32. *data: gt_scarr TYPE TABLE OF scarr.
  33. *tabela interna are alea 3 campuri de mai sus(begin of)
  34. data: gt_scarr TYPE TABLE OF ty_t1,
  35.       gt_scarr1 type TABLE OF scarr.
  36. PARAMETERS p_carrid type scarr-carrid.
  37. *gt_scarr1 tabela interna penteru ins particulara
  38.  
  39. SELECT-OPTIONS s_carrid for scarr-carrid.
  40. select *
  41.   into CORRESPONDING FIELDS OF TABLE gt_scarr1
  42.   from scarr
  43.   where carrid in s_carrid.
  44.  
  45.  
  46.  
  47.  
  48.  
  49. *SELECT carrid carrname url
  50. *  into  TABLE gt_scarr
  51. *  from scarr
  52. *  where carrid in s_carrid.
  53.  
  54. *cel mai performant select ca si timp de executie
  55. *  corect asa!
  56. *SELECT *
  57. *  into CORRESPONDING FIELDS OF TABLE gt_scarr
  58. *  from scarr
  59. *  where carrid in s_carrid.
  60.  
  61. *operatie de join
  62. *SELECT scarr~carrid scarr~carrname scarr~url
  63. *  spfli~connid spfli~cityfrom spfli~cityto
  64. *  sflight~price sflight~planetype
  65. *  into CORRESPONDING FIELDS OF TABLE gt_scarr
  66. *  from scarr join spfli
  67. *  on scarr~carrid = spfli~carrid
  68. *  join sflight
  69. *  on sflight~carrid = spfli~carrid
  70. *  and sflight~connid = spfli~connid
  71. *  where scarr~carrid in s_carrid.
  72.  
  73. *atribuire de alias
  74. *SELECT a~carrid a~carrname a~url
  75. *  b~connid b~cityfrom b~cityto
  76. *  c~price c~planetype
  77. *  into CORRESPONDING FIELDS OF TABLE gt_scarr
  78. *  from scarr as a join spfli as b
  79. *  on a~carrid = b~carrid
  80. *  join sflight as c
  81. *  on c~carrid = b~carrid
  82. *  and c~connid = b~connid
  83. *  where a~carrid in s_carrid.
  84.  
  85.  
  86. *instructiune particulara care face altfel join
  87. IF gt_scarr1[] is not initial .
  88.  
  89. SELECT
  90.   b~carrid
  91.   b~connid b~cityfrom b~cityto
  92.   c~price c~planetype
  93.   into CORRESPONDING FIELDS OF TABLE gt_scarr
  94.   from spfli as b
  95.   join sflight as c
  96.   on c~carrid = b~carrid
  97.   and c~connid = b~connid
  98.   FOR ALL ENTRIES in gt_scarr1
  99.   where b~carrid = gt_scarr1-carrid.
  100.  ENDIF.
  101.  
  102.  
  103.  
  104. * functioneaza si asa
  105. *SELECT *
  106. *  into  TABLE gt_scarr
  107. *  from scarr
  108. *  where carrid in s_carrid.
  109.  
  110. * merge si asa doar ca afisarea nu este eficienta
  111. *  SELECT *
  112. *  into  TABLE gt_scarr
  113. *  from scarr
  114. *  where carrid in s_carrid.
  115.  
  116. *afisare continut tabela, parcurgere tabela
  117. LOOP  AT gt_scarr into gs_scarr.
  118.   WRITE: / gs_scarr-carrid, gs_scarr-carrname, gs_scarr-url(30),
  119.   gs_scarr-connid,
  120.   gs_scarr-cityfrom,
  121.   gs_scarr-cityto,
  122.   gs_scarr-price,
  123.   gs_scarr-planetype.
  124.   ENDLOOP.
  125.  
  126.  
  127.  
  128. *SELECT   carrid carrname url
  129. *  INTO CORRESPONDING FIELDS OF  gs_scarr
  130. *  FROM scarr
  131. *  UP TO 5 ROWS
  132. *  WHERE carrid in s_carrid.
  133. *  WRITE: / gs_scarr-carrid, gs_scarr-carrname, gs_scarr-url(60).
  134. *endselect.
  135.  
  136.  
  137.  
  138.  
  139. *SELECT carrid carrname url
  140. *  INTO CORRESPONDING FIELDS OF  gs_scarr
  141. *  FROM scarr
  142. *  WHERE carrid in s_carrid.
  143. *
  144. *
  145. *
  146. *WRITE: / gs_scarr-carrid, gs_scarr-carrname, gs_scarr-url(60).
  147. *
  148. *  SELECT connid cityfrom cityto
  149. *    INTO CORRESPONDING FIELDS OF gs_spfli
  150. *    FROM spfli
  151. *    WHERE carrid = gs_scarr-carrid.
  152. *
  153. *    WRITE: / gs_spfli-connid, gs_spfli-cityfrom, gs_spfli-cityto.
  154. *
  155. *
  156. *    SELECT price planetype
  157. *      INTO CORRESPONDING FIELDS OF gs_sflight
  158. *      from sflight
  159. *      where carrid = gs_scarr-carrid
  160. *      and connid = gs_spfli-connid.
  161. *
  162. *
  163. *      WRITE: / gs_sflight-price, gs_sflight-planetype.
  164. *      ENDSELECT.
  165. *  ENDSELECT.
  166. *
  167. *ENDSELECT.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement