Академический Документы
Профессиональный Документы
Культура Документы
*&---------------------------------------------------------------------*
*& Report Y_PRC_08
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT y_prc_08.
DATA: BEGIN OF ls_tab,
col1 TYPE i,
col2 TYPE i,
col3 TYPE i,
END OF ls_tab.
DATA: it_tab LIKE STANDARD TABLE OF ls_tab.
DO 4 TIMES.
ls_tab-col1 = sy-index.
ls_tab-col2 = sy-index ** 2.
ls_tab-col3 = sy-index ** 3.
APPEND ls_tab TO it_tab.
ENDDO.
START-OF-SELECTION.
LOOP AT it_tab INTO ls_tab.
WRITE: / ls_tab-col1, ls_tab-col2, ls_tab-col3.
ENDLOOP.
Tabel intern cu symbol de camp
*&---------------------------------------------------------------------*
*& Report Y_PRC_09
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT y_prc_09.
DATA: BEGIN OF ls_tab,
col1 TYPE i,
col2 TYPE i,
col3 TYPE i,
END OF ls_tab.
DATA it_tab LIKE STANDARD TABLE OF ls_tab.
FIELD-SYMBOLS <wa_tab> LIKE ls_tab.
ASSIGN ls_tab TO <wa_tab>.
DO 4 TIMES.
<wa_tab>-col1 = sy-index.
<wa_tab>-col2 = sy-index ** 2.
<wa_tab>-col3 = sy-index ** 3.
APPEND <wa_tab> TO it_tab.
ENDDO.
START-OF-SELECTION.
LOOP AT it_tab ASSIGNING <wa_tab>.
WRITE: / <wa_tab>-col1, <wa_tab>-col2, <wa_tab>-col3.
ENDLOOP.
Tabel intern si ecran de selectie
*&---------------------------------------------------------------------*
*& Report Y_PRC_10
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT y_prc_10.
PARAMETERS linii TYPE i.
DATA: BEGIN OF ls_tab,
col1 TYPE i,
col2 TYPE i,
col3 TYPE i,
END OF ls_tab.
DATA it_tab LIKE STANDARD TABLE OF ls_tab.
FIELD-SYMBOLS <wa_tab> LIKE ls_tab.
ASSIGN ls_tab TO <wa_tab>.
DO linii TIMES.
<wa_tab>-col1 = sy-index.
<wa_tab>-col2 = sy-index ** 2.
<wa_tab>-col3 = sy-index ** 3.
APPEND <wa_tab> TO it_tab.
ENDDO.
START-OF-SELECTION.
LOOP AT it_tab ASSIGNING <wa_tab>.
WRITE: / <wa_tab>-col1, <wa_tab>-col2, <wa_tab>-col3.
ENDLOOP.
Data din ultima zi a lunii anterioare
*&---------------------------------------------------------------------*
*& Report Y_PRC_11
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT y_prc_11.
DATA: rezultat TYPE c LENGTH 15,
d_zi TYPE d.
d_zi = sy-datum.
d_zi+6(2) = '01'.
d_zi = d_zi - 1.
WRITE d_zi TO rezultat.
START-OF-SELECTION.
WRITE d_zi.
MESSAGE rezultat TYPE 'I'.
SQL CU WA (workarea)
*&---------------------------------------------------------------------*
*& Report Y_PRC_11_SQL
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT y_prc_11_sql.
REPORT Y_PRC_12.
PARAMETERS p_carrid TYPE spfli-carrid.
TYPES: BEGIN OF st_spfli,
carrid TYPE s_carr_id,
*& se poate si cu field name ... (jos)
connid TYPE spfli-connid,
cityfrom TYPE spfli-cityfrom,
cityto TYPE spfli-cityto,
*& nu vor fi afisate daca se foloseste CORRESPONDING FIELDS OF
dist TYPE spfli-distance,
unit TYPE spfli-distid,
END OF st_spfli.
DATA: it_spfli TYPE TABLE OF st_spfli,
wa_spfli LIKE LINE OF it_spfli.
*& daca definim structura de baza de tip DATA nu mai e nevoie de WA
*& pentru ca o putem folosi in acest scop
SELECT carrid connid cityfrom cityto distance distid
FROM spfli
*& INTO CORRESPONDING FIELDS OF wa_spfli
INTO wa_spfli
WHERE carrid = p_carrid.
APPEND wa_spfli TO it_spfli.
ENDSELECT.
LOOP AT it_spfli INTO wa_spfli.
WRITE: /
wa_spfli-carrid,
wa_spfli-connid,
wa_spfli-cityfrom,
wa_spfli-cityto,
wa_spfli-dist,
wa_spfli-unit.
ENDLOOP.
SQL ARRAY FETCH
*&---------------------------------------------------------------------*
*& Report Y_PRC_13
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Y_PRC_13.
PARAMETERS p_carrid TYPE spfli-carrid.
TYPES: BEGIN OF st_spfli,
carrid TYPE s_carr_id,
*& se poate si cu field name ... (jos)
connid TYPE spfli-connid,
cityfrom TYPE spfli-cityfrom,
cityto TYPE spfli-cityto,
*& nu vor fi afisate daca se foloseste CORRESPONDING FIELDS OF
dist TYPE spfli-distance,
unit TYPE spfli-distid,
END OF st_spfli.
DATA: it_spfli TYPE TABLE OF st_spfli,
wa_spfli LIKE LINE OF it_spfli.
*& daca definim structura de baza de tip DATA nu mai e nevoie de WA
*& pentru ca o putem folosi in acest scop
*& tehnica array fetch::
SELECT carrid connid cityfrom cityto distance distid
FROM spfli
INTO TABLE it_spfli
WHERE carrid = p_carrid.
LOOP AT it_spfli INTO wa_spfli.
WRITE: /
wa_spfli-carrid,
wa_spfli-connid,
wa_spfli-cityfrom,
wa_spfli-cityto,
wa_spfli-dist,
wa_spfli-unit.
ENDLOOP.
Field SYMBOLS
*&---------------------------------------------------------------------*
*& Report Y_PRC_14
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT y_prc_14.
PARAMETERS p_carrid TYPE spfli-carrid.
TYPES: BEGIN OF st_spfli,
carrid TYPE s_carr_id,
*& se poate si cu field name ... (jos)
connid TYPE spfli-connid,
cityfrom TYPE spfli-cityfrom,
cityto TYPE spfli-cityto,
*& nu vor fi afisate daca se foloseste CORRESPONDING FIELDS OF
dist TYPE spfli-distance,
unit TYPE spfli-distid,
END OF st_spfli.
DATA: it_spfli TYPE TABLE OF st_spfli.
FIELD-SYMBOLS <wa_spfli> TYPE st_spfli.
* wa_spfli LIKE LINE OF it_spfli.
*& daca definim structura de baza de tip DATA nu mai e nevoie de WA
*& pentru ca o putem folosi in acest scop
SELECT carrid connid cityfrom cityto distance distid
FROM spfli
INTO TABLE it_spfli
WHERE carrid = p_carrid.
LOOP AT it_spfli ASSIGNING <wa_spfli>.
WRITE: /
<wa_spfli>-carrid,
<wa_spfli>-connid,
<wa_spfli>-cityfrom,
<wa_spfli>-cityto,
<wa_spfli>-dist,
<wa_spfli>-unit.
ENDLOOP.
2 parametrii (input)
*&---------------------------------------------------------------------*
*& Report Y_PRC_15
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Y_PRC_15.
PARAMETERS: p_carrid TYPE spfli-carrid,
p_connid TYPE spfli-connid.
TYPES: BEGIN OF st_spfli,
carrid TYPE s_carr_id,
*& se poate si cu field name ... (jos)
connid TYPE spfli-connid,
cityfrom TYPE spfli-cityfrom,
cityto TYPE spfli-cityto,
*& nu vor fi afisate daca se foloseste CORRESPONDING FIELDS OF
dist TYPE spfli-distance,
unit TYPE spfli-distid,
END OF st_spfli.
<wa_spfli>-connid,
<wa_spfli>-cityfrom,
<wa_spfli>-cityto,
<wa_spfli>-dist,
<wa_spfli>-unit.
ENDLOOP.
TABEL IT MODIFICAT
*&---------------------------------------------------------------------*
*& Report Y_PRC_16
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Y_PRC_16.
PARAMETERS p_carrid TYPE spfli-carrid.
TYPES: BEGIN OF st_spfli,
carrid TYPE s_carr_id,
*& se poate si cu field name ... (jos)
connid TYPE spfli-connid,
cityfrom TYPE spfli-cityfrom,
cityto TYPE spfli-cityto,
*& nu vor fi afisate daca se foloseste CORRESPONDING FIELDS OF
dist TYPE spfli-distance,
unit TYPE spfli-distid,
END OF st_spfli.
REPORT y_prc_19.
PARAMETERS p_carrid TYPE spfli-carrid.
TYPES: BEGIN OF st_spfli,
carrid TYPE s_carr_id,
*& se poate si cu field name ... (jos)
connid TYPE spfli-connid,
cityfrom TYPE spfli-cityfrom,
cityto TYPE spfli-cityto,
*& nu vor fi afisate daca se foloseste CORRESPONDING FIELDS OF
dist TYPE spfli-distance,
unit TYPE spfli-distid,
END OF st_spfli.
DATA: it_spfli TYPE TABLE OF st_spfli.
FIELD-SYMBOLS <wa_spfli> TYPE st_spfli.
* wa_spfli LIKE LINE OF it_spfli.
DATA dref TYPE REF TO st_spfli.
*& daca definim structura de baza de tip DATA nu mai e nevoie de WA
*& pentru ca o putem folosi in acest scop
SELECT carrid connid cityfrom cityto distance distid
FROM spfli
INTO TABLE it_spfli
WHERE carrid = p_carrid.
LOOP AT it_spfli REFERENCE INTO dref.
WRITE: /
dref->carrid,
dref->connid,
dref->cityfrom,
dref->cityto,
dref->dist,
dref->unit.
ENDLOOP.
CREARE DINAMICA A UNUI TABEL INTERN
*&---------------------------------------------------------------------*
*& Report Y_PRC_21
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT y_prc_21.
PARAMETERS p_carrid TYPE spfli-carrid.
TYPES: BEGIN OF st_spfli,
carrid TYPE s_carr_id,
connid TYPE spfli-connid,
cityfrom TYPE spfli-cityfrom,
cityto TYPE spfli-cityto,
dist TYPE spfli-distance,
unit TYPE spfli-distid,
END OF st_spfli.
*DATA: it_spfli TYPE TABLE OF st_spfli.
TYPES it_spfli TYPE TABLE OF st_spfli.
DATA dref TYPE REF TO data.
CREATE DATA dref TYPE it_spfli.
FIELD-SYMBOLS: <it_spfli> TYPE table,
<wa_spfli> TYPE st_spfli.
ASSIGN dref->* TO <it_spfli>.
SELECT carrid connid cityfrom cityto distance distid
FROM spfli
INTO TABLE <it_spfli>
WHERE carrid = p_carrid.
LOOP AT <it_spfli> ASSIGNING <wa_spfli>.
WRITE: /
<wa_spfli>-carrid,
<wa_spfli>-connid,
<wa_spfli>-cityfrom,
<wa_spfli>-cityto,
<wa_spfli>-dist,
<wa_spfli>-unit.
ENDLOOP.
SUBRUTINA FARA PARAMETRII
*&---------------------------------------------------------------------*
*& Report Y_PRC_22
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT y_prc_22.
PARAMETERS p_carrid TYPE spfli-carrid.
TYPES: BEGIN OF st_spfli,
carrid TYPE s_carr_id,
*& se poate si cu field name ... (jos)
connid TYPE spfli-connid,
cityfrom TYPE spfli-cityfrom,
cityto TYPE spfli-cityto,
*& nu vor fi afisate daca se foloseste CORRESPONDING FIELDS OF
dist TYPE spfli-distance,
unit TYPE spfli-distid,
END OF st_spfli.
DATA: it_spfli TYPE TABLE OF st_spfli,
wa_spfli LIKE LINE OF it_spfli.
*& daca definim structura de baza de tip DATA nu mai e nevoie de WA
*& pentru ca o putem folosi in acest scop
START-OF-SELECTION.
PERFORM select_data.
PERFORM write_data.
*&---------------------------------------------------------------------*
*&
Form select_data
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM select_data.
*& tehnica array fetch::
SELECT carrid connid cityfrom cityto distance distid
FROM spfli
INTO TABLE it_spfli
WHERE carrid = p_carrid.
ENDFORM.
"select_data
*&---------------------------------------------------------------------*
*&
Form write_data
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM write_data.
LOOP AT it_spfli INTO wa_spfli.
WRITE: /
wa_spfli-carrid,
wa_spfli-connid,
wa_spfli-cityfrom,
wa_spfli-cityto,
wa_spfli-dist,
wa_spfli-unit.
ENDLOOP.
ENDFORM.
"write_data
SUBRUTINA CU PARAMETRII
*&---------------------------------------------------------------------*
*& Report Y_PRC_23
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT y_prc_23.
PARAMETERS p_carrid TYPE spfli-carrid.
TYPES: BEGIN OF st_spfli,
carrid TYPE s_carr_id,
*& se poate si cu field name ... (jos)
connid TYPE spfli-connid,
cityfrom TYPE spfli-cityfrom,
cityto TYPE spfli-cityto,
*& nu vor fi afisate daca se foloseste CORRESPONDING FIELDS OF
dist TYPE spfli-distance,
unit TYPE spfli-distid,
END OF st_spfli.
DATA it_spfli TYPE TABLE OF st_spfli.
*& daca definim structura de baza de tip DATA nu mai e nevoie de WA
*& pentru ca o putem folosi in acest scop
START-OF-SELECTION.
PERFORM select_data USING p_carrid
CHANGING it_spfli.
PERFORM write_data USING it_spfli.
*&---------------------------------------------------------------------*
*&
Form select_data
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM select_data USING im_carrid TYPE spfli-carrid
CHANGING ex_it_spfli TYPE ANY TABLE.
*& tehnica array fetch::
SELECT carrid connid cityfrom cityto distance distid
FROM spfli
INTO TABLE ex_it_spfli
WHERE carrid = im_carrid.
ENDFORM.
"select_data
*&---------------------------------------------------------------------*
*&
Form write_data
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM write_data USING im_it_spfli TYPE ANY TABLE.
DATA wa_spfli LIKE LINE OF it_spfli.
LOOP AT im_it_spfli INTO wa_spfli.
WRITE: /
wa_spfli-carrid,
wa_spfli-connid,
wa_spfli-cityfrom,
wa_spfli-cityto,
wa_spfli-dist,
wa_spfli-unit.
ENDLOOP.
ENDFORM.
"write_data
APEL MODULE FUNCTIONALE
*&---------------------------------------------------------------------*
*& Report Y_PRC_24
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT y_prc_24.
SELECTION-SCREEN BEGIN OF SCREEN 100.
PARAMETERS p_carrid TYPE spfli-carrid.
SELECTION-SCREEN END OF SCREEN 100.
DATA it_spfli TYPE spfli_tab.
START-OF-SELECTION.
CALL SELECTION-SCREEN 100
STARTING AT 10 10.
IF sy-subrc = 0.
TRY.
CALL FUNCTION 'Y_SELECT' EXPORTING im_carrid = p_carrid CHANGING
ex_it_spfli = it_spfli.
CALL FUNCTION 'Y_WRITE' EXPORTING im_it_spfli = it_spfli.
CATCH ZCX_NO_FLIGHT.
MESSAGE 'Nu exista zbor!' TYPE 'I'.
ENDTRY.
ELSE.
RETURN.
ENDIF.