0% found this document useful (0 votes)
29 views

Types Begin OF Type Type Type Type END OF Types Type Standard OF Data Type Data Type Data Type I Type I Select

This program counts the number of customers from the United States and India in a database table and displays the results. It selects customer data from the KNA1 table, loops through the records, and increments counters for US and India customers based on the values in the LAND1 field. After looping, it displays the number of customers from each country.

Uploaded by

bhbindu
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views

Types Begin OF Type Type Type Type END OF Types Type Standard OF Data Type Data Type Data Type I Type I Select

This program counts the number of customers from the United States and India in a database table and displays the results. It selects customer data from the KNA1 table, loops through the records, and increments counters for US and India customers based on the values in the LAND1 field. After looping, it displays the number of customers from each country.

Uploaded by

bhbindu
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 34

Program for selecting the number of Customer in Us and India

*&---------------------------------------------------------------------*
*& Report ZCOUNTRYSELECT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zcountryselect.
*type declaration
TYPES: BEGIN OF gy_kna1,
kunnr TYPE kunnr,
land1 TYPE land1_gp,
ort01 TYPE ort01_gp,
regio TYPE regio,
END OF gy_kna1.
TYPES: gy_t_kna1 TYPE STANDARD TABLE OF gy_kna1. "Table type
"internal table declaration
DATA: gt_kna1_type TYPE gy_t_kna1.
"structure
DATA: gs_kna1_type TYPE gy_kna1.
"local variable declaration
DATA: gv_us_counter TYPE i,
gv_in_counter TYPE i.
"selection of fields
SELECT kunnr
land1
ort01
regio FROM kna1 INTO TABLE gt_kna1_type.
" Get the number of custmoers from us/india
LOOP AT gt_kna1_type INTO gs_kna1_type.
" customer at us
IF gs_kna1_type-land1 EQ 'US'.
gv_us_counter = gv_us_counter + 1.
ELSEIF gs_kna1_type-land1 EQ 'IN'.
gv_in_counter = gv_in_counter + 1.
ENDIF.
ENDLOOP.
WRITE: /'The number of US customer are :', gv_us_counter,
/'The number of India customer are :',gv_in_counter.

------------------------------------------------------------------------------------------------------------------------------------------

Program for inserting records in table thru structure


REPORT ZPOPULATE.
"type declaration
TYPES : BEGIN OF gy_cust1,
cust_name(20) TYPE c,
cust_number TYPE i,
cust_city(20) TYPE c,
END OF gy_cust1.
"table type declaration
TYPES : gy_t_cust1 TYPE STANDARD TABLE OF gy_cust1.
"internal table declaration
DATA: gt_cust1_type TYPE gy_t_cust1.
"structure
DATA : gs_cust1_type TYPE gy_cust1.
" inserting records into the structure
" Employee 1
gs_cust1_type-cust_name = 'xyz'.
gs_cust1_type-cust_number = 1.
gs_cust1_type-cust_city = 'bang'.
APPEND gs_cust1_type to gt_cust1_type.
"Employee 2.
gs_cust1_type-cust_name = 'abc'.
gs_cust1_type-cust_number = 2.
gs_cust1_type-cust_city = 'hyd'.
APPEND gs_cust1_type to gt_cust1_type.
"Employee 3
gs_cust1_type-cust_name = 'zzz'.
gs_cust1_type-cust_number = 3.
gs_cust1_type-cust_city = 'kol'.
APPEND gs_cust1_type to

gt_cust1_type.

LOOP AT gt_cust1_type INTO gs_cust1_type.


WRITE: / gs_cust1_type-cust_name , gs_cust1_typecust_number, gs_cust1_type-cust_city .
ENDLOOP.

Program for modularization of material table


REPORT

zmodularization.

*include for data declarations.


INCLUDE zmodularization_top.
*Include for selection screen.
INCLUDE zmodularization_sel.
*Include for sub-routines.
INCLUDE zmodularization_sub.
INITIALIZATION.
PERFORM initialization_any_name.
START-OF-SELECTION.
PERFORM get_customer_data CHANGING gt_kna1.
PERFORM add_extra_record CHANGING gt_kna1.
END-OF-SELECTION.
PERFORM display_report USING gt_kna1.

Internal program for zmodularization_top


*&---------------------------------------------------------------------*
*& Include
ZMODULARIZATION_TOP
*&---------------------------------------------------------------------*
*Type declarations.
TYPES : BEGIN OF gy_kna1,
"Customer type.
kunnr TYPE kunnr,
"Customer.
land1 TYPE land1_gp, "Country Key
name1 TYPE name1_gp,
ort01 TYPE ort01_gp, "City.
END OF gy_kna1.
*Table type.
TYPES : gy_t_kna1 TYPE STANDARD TABLE OF gy_kna1.
*Internal table using SE11 data.
DATA : gt_kna1 TYPE gy_t_kna1.
*Variable declarations.
DATA : gv_land1 TYPE land1.

"Name 1

Internal Program for zmodularization_sel


*&---------------------------------------------------------------------*
*& Include
ZMODULARIZATION_SEL
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : p_kunnr TYPE kunnr.
*SELECT-OPTIONS : s_land1 FOR gv_land1.
SELECTION-SCREEN END OF BLOCK b1.

Internal Program for zmodularization_sub


*&---------------------------------------------------------------------*
*& Include
ZMODULARIZATION_SUB
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&
Form INITIALIZATION_ANY_NAME
*&---------------------------------------------------------------------*
* This sub-routine is used to clear the global data.
*----------------------------------------------------------------------*
FORM initialization_any_name.
CLEAR : gt_kna1.
ENDFORM.
" INITIALIZATION_ANY_NAME
*&---------------------------------------------------------------------*
*&
Form ADD_EXTRA_RECORD
*&---------------------------------------------------------------------*
* This sub-routine is used to add an extra record manually.
*----------------------------------------------------------------------*
*
<--FP_GT_KNA1
Customer details.
*----------------------------------------------------------------------*
FORM add_extra_record CHANGING fp_gt_kna1 TYPE gy_t_kna1.
*Local data declarations.
DATA : ls_kna1 TYPE gy_kna1.
ls_kna1-kunnr
ls_kna1-land1
ls_kna1-name1
ls_kna1-ort01

=
=
=
=

'ABCD'.
'IN'.
'HIJK'.
'TEST'.

APPEND ls_kna1 TO fp_gt_kna1.


ENDFORM.

" ADD_EXTRA_RECORD

*&---------------------------------------------------------------------*
*&
Form GET_CUSTOMER_DATA
*&---------------------------------------------------------------------*
* This sub-routine is used to get the customer data from KNA1.
*----------------------------------------------------------------------*
*
<--FP_GT_KNA1
Customer details.
*----------------------------------------------------------------------*
FORM get_customer_data CHANGING fp_gt_kna1 TYPE gy_t_kna1.
*Get customer master data.
SELECT kunnr
"Customer
land1
"Country code.
name1
"Name.
ort01
"City.
FROM kna1
INTO TABLE fp_gt_kna1
WHERE kunnr EQ p_kunnr.
ENDFORM.
" GET_CUSTOMER_DATA
*&---------------------------------------------------------------------*
*&
Form DISPLAY_REPORT
*&---------------------------------------------------------------------*
* This subroutine is used to display the selected data.
*----------------------------------------------------------------------*
*
<--FP_GT_KNA1
Customer details.
*----------------------------------------------------------------------*
FORM display_report USING fp_gt_kna1 TYPE gy_t_kna1.
*Local data declarations.
DATA : ls_cust TYPE gy_kna1.
LOOP AT fp_gt_kna1 INTO ls_cust.
WRITE :/ ls_cust-kunnr, ls_cust-land1, ls_cust-name1, ls_cust-ort01.
ENDLOOP.
ENDFORM.

" DISPLAY_REPORT

Using mara
*&---------------------------------------------------------------------*
*& Report ZMODULEPRGM
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZMODULEPRGM.
*include for declaration
INCLUDE zmoduleprgm_top.
*include for seletion screen
INCLUDE zmoduleprgm_sel.
*include for sub routine
INCLUDE zmoduleprg_sub.
START-OF-SELECTION.
PERFORM gdata.
*displaying the stuff
PERFORM display_rep USING gt_mara.

Program for zmoduleprgm_top.


*&---------------------------------------------------------------------*
*& Include
ZMODULEPRGM_TOP
*&---------------------------------------------------------------------*
*Type declaration
TYPES: BEGIN OF gy_mara42,
matnr TYPE matnr,
mtart TYPE mtart,
matkl TYPE matkl,
meins TYPE meins,
END OF gy_mara42.
* Type table
TYPES: gy_mara_t TYPE STANDARD TABLE OF gy_mara42.
*internal table
DATA: gt_mara TYPE gy_mara_t.

Program for zmoduleprgm_sel.


*&---------------------------------------------------------------------*
*& Include
ZMODULEPRGM_SEL
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : p_matnr TYPE matnr.
SELECTION-SCREEN END OF BLOCK b1.

Program for zmoduleprgm_sub.


*&---------------------------------------------------------------------*
*& Include
ZMODULEPRG_SUB
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&
Form GDATA
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
form GDATA.
--------------step 1.
*select on the basis of matnr
SELECT matnr mtart matkl meins FROM mara into TABLE gt_mara WHERE matnr eq
p_matnr.
endform.
*----------------------------------------------------------------------*
form DISPLAY_REP using
p_gt_mara TYPE gy_mara_t. ------step2.
DATA : ls_matnr TYPE gy_mara42.
LOOP AT p_gt_mara INTO ls_matnr.
WRITE :/ ls_matnr-matnr, / ls_matnr-mtart, / ls_matnr-matkl.
ENDLOOP.
endform.

" DISPLAY_REP

Program for perform gdata.


Refer step 1.
Program for perform display_rep
Refer step 2.

Program for concert tickets sale


*&---------------------------------------------------------------------*
*& Report Y_SALES_B42
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Y_SALES_B42.
"top declation
TYPES : BEGIN OF gy_concert,
artist TYPE zartist,
attendance TYPE zoccupied,
price TYPE zprice,
END OF gy_concert.
TYPES : gy_t_concert type STANDARD TABLE OF gy_concert.
DATA : gt_sales type gy_t_concert,
gs_sales1 type gy_concert.
"local variable for display
DATA : gv_sales type zprice.
SELECT artist occupied price FROM yconcert INTO TABLE gt_sales.
LOOP AT gt_sales INTO gs_sales1.
CALL FUNCTION 'Z_42_SALES'
EXPORTING
artist
= gs_sales1-artist
attendance
= gs_sales1-attendance
price
= gs_sales1-price
IMPORTING
SALES
= gv_sales
EXCEPTIONS
INVALID_ARTIST
= 1
OTHERS
= 2.
WRITE : gs_sales1-artist, gs_sales1-attendance, gs_sales1-price, gv_sales.
ENDLOOP.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

"calling function module in select for repeated calculations

IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

Program for Function Module..


FUNCTION Z_42_SALES.
*"---------------------------------------------------------------------*"*"Local Interface:
*" IMPORTING
*"
REFERENCE(ARTIST) TYPE ZARTIST
*"
REFERENCE(ATTENDANCE) TYPE ZOCCUPIED
*"
REFERENCE(PRICE) TYPE ZPRICE
*" EXPORTING
*"
REFERENCE(SALES) TYPE ZPRICE
*" EXCEPTIONS
*"
INVALID_ARTIST
*"---------------------------------------------------------------------*Get the sales
PERFORM get_sales USING attendance price
CHANGING sales.
*Invalid material.
IF artist IS INITIAL.
RAISE invalid_artist.
ENDIF.
ENDFUNCTION.

Program for get_sales form


*----------------------------------------------------------------------*
***INCLUDE LZ_42_SALESF02 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&
Form GET_SALES
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_ATTENDANCE text
*
-->P_PRICE text
*
<--P_SALES text
*----------------------------------------------------------------------*

FORM get_sales

USING

p_attendance
p_price
CHANGING p_sales.

Calculation of total sales of tickets


p_sales = p_attendance * p_price.
ENDFORM.
" GET_SALES

Program for Case study


Question a)
*&---------------------------------------------------------------------*
*& Report Y_CASESTUDY_B42
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT y_casestudy_b42.
* Include for Top declaration
INCLUDE ztopdel.
* Include for the Selection Screen
INCLUDE zselsecr.
INCLUDE y_casestudy_b42_get_materiaf01.
* Tasks to be performed before Selection Screen.
START-OF-SELECTION.
PERFORM get_material_data USING p_werks.
PERFORM disp_rep USING p_werks.
end-of-SELECTION.

Program for ztopdel


*&---------------------------------------------------------------------*
*& Include
ZTOPDEL
*&---------------------------------------------------------------------*
* Type Declaration
TYPES : BEGIN OF gy_mard,
matnr TYPE matnr,
werks TYPE werks_d,

10

lgort TYPE lgort_d,


lvorm TYPE lvolg,
labst TYPE labst,
insme TYPE insme,
einme TYPE einme,
speme TYPE speme,
diskz TYPE diskz,
end of gy_mard.
* Table Type
TYPES : gy_t_mard TYPE STANDARD TABLE OF gy_mard.
* Internal table declaration
DATA : gt_mard TYPE gy_t_mard.

*Data declaration.

Program for selection screen


*&---------------------------------------------------------------------*
*& Include
ZSELSECR
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : p_werks type werks_d.
SELECTION-SCREEN end of BLOCK b1.

Program for new include added on creation of forms of material data


and display report.
*----------------------------------------------------------------------*
***INCLUDE Y_CASESTUDY_B42_GET_MATERIAF01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&
Form GET_MATERIAL_DATA
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_GT_MATNR text
*----------------------------------------------------------------------*
form GET_MATERIAL_DATA using
p_gt_matnr.
SELECT matnr
werks
lgort
lvorm
labst
insme

11

einme
speme
diskz FROM mard into TABLE gt_mard
WHERE werks eq p_werks and lvorm eq ' '.
endform.
" GET_MATERIAL_DATA
*&---------------------------------------------------------------------*
*&
Form DISP_REP
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_GT_WERKS text
*----------------------------------------------------------------------*
form DISP_REP using
p_gt_werks.
*local structure
DATA : ls_mard TYPE gy_mard.
LOOP AT gt_mard INTO ls_mard.
WRITE : / ls_mard-matnr, ls_mard-werks ,
ls_mard-lgort ,ls_mard-lvorm ,
ls_mard-labst ,ls_mard-insme ,
ls_mard-einme ,ls_mard-speme ,ls_mard-diskz.
ENDLOOP.
endform.

12

Program for Exercise 5.2 Movie Display


TYPES : BEGIN OF gy_movie42,
year TYPE zyear,
category type zcat,
winner TYPE zwinner,
notes TYPE znotes,
end of gy_movie42.
* Table Type
TYPES : gy_t_movie42 TYPE STANDARD TABLE OF gy_movie42.
* Internal table declaration
DATA : gt_movie42 TYPE gy_t_movie42.

*Data declaration.

*&---------------------------------------------------------------------*
*& Include
ZTOPDEL
*&---------------------------------------------------------------------*
* Type Declaration
TYPES : BEGIN OF gy_movie42,
year TYPE year,
category type zcat,
winner TYPE zwinner,
notes TYPE znotes,
end of gy_mard.
* Table Type
TYPES : gy_t_movie42 TYPE STANDARD TABLE OF gy_movie42.
* Internal table declaration
DATA : gt_movie42 TYPE gy_t_movie42.

*Data declaration.
*&---------------------------------------------------------------------*
*& Include
ZMSELSECR
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : p_cat type zcat AS LISTBOX VISIBLE LENGTH 16.
SELECTION-SCREEN end of BLOCK b1.
*&---------------------------------------------------------------------*
*&
Form GET_MOVIE_DATA
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_P_CAT text
*----------------------------------------------------------------------*

13

form GET_MOVIE_DATA using


p_p_cat.
SELECT yearc
category
winner
zznotes
FROM ymovie into TABLE gt_movie42
WHERE category eq p_cat.

endform.
" GET_MOVIE_DATA
*&---------------------------------------------------------------------*
*&
Form DISPLAY_REP
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_P_CAT text
*----------------------------------------------------------------------*
form DISPLAY_REP using
p_p_cat.
DATA : ls_movie TYPE gy_movie42.
LOOP AT gt_movie42 INTO ls_movie.
WRITE : ls_movie-year, 8 ls_movie-category, 20 ls_moviewinner, 30 ls_movie-notes,/ .
ENDLOOP.
endform.

" DISPLAY_REP

form GET_MOVIE_DATA using


p_p_cat.
SELECT yearc
category
winner
zznotes
FROM ymovie into TABLE gt_movie42
WHERE category eq p_cat.

endform.

" GET_MOVIE_DATA

*&---------------------------------------------------------------------*
*&
Form DISPLAY_REP
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_P_CAT text
*----------------------------------------------------------------------*
form DISPLAY_REP using
p_p_cat.

14

DATA : ls_movie TYPE gy_movie42.


LOOP AT gt_movie42 INTO ls_movie.
WRITE : ls_movie-year, 8 ls_movie-category, 20 ls_moviewinner, 30 ls_movie-notes,/ .
ENDLOOP.
endform.

" DISPLAY_REP

Program for case-study (refer Tech Specification of Case Study)


Set attributes by going into Goto-Attributes for setting the title of
the program
*&---------------------------------------------------------------------*
*& Report Y_CASESTUDY_B42
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT y_casestudy_b42.
* Include for Top declaration
INCLUDE ztopdel.
* Include for the Selection Screen
INCLUDE zselsecr.
INCLUDE y_casestudy_b42_get_materiaf01.
* Tasks to be performed before Selection Screen.
START-OF-SELECTION.
PERFORM get_material_data USING p_werks.
PERFORM disp_rep USING p_werks.
end-of-SELECTION.
* second internal table for

*&---------------------------------------------------------------------*
*& Include
ZTOPDEL
*&---------------------------------------------------------------------*
* Type Declaration
TYPES : BEGIN OF gy_mard,

15

matnr TYPE matnr,


werks TYPE werks_d,
lgort TYPE lgort_d,
lvorm TYPE lvolg,
labst TYPE labst,
insme TYPE insme,
einme TYPE einme,
speme TYPE speme,
diskz TYPE diskz,
END OF gy_mard,
* Declaration for second internal table
BEGIN
matnr
lvorm
meins
END

OF gy_second,
TYPE matnr,
TYPE lvolg,
TYPE meins,
OF gy_second,

* Type Declaration for new internal table used for mapping.\


BEGIN OF gy_map,
mandt TYPE mandt,
lgort TYPE lgort_d,
matnr TYPE matnr,
werks TYPE werks_d,
labst TYPE labst,
END OF gy_map.

* Table Type
TYPES : gy_t_mard TYPE STANDARD TABLE OF gy_mard,
gy_t_second TYPE STANDARD TABLE OF gy_second,
gy_t_mapping TYPE STANDARD TABLE OF gy_map.
* Internal table declaration
DATA : gt_mard TYPE gy_t_mard,
ls_mard TYPE gy_mard,
gt_second TYPE gy_t_second,
ls_second TYPE gy_second,
gt_map TYPE gy_t_mapping,
gt_map_disp TYPE gy_t_mapping,
gs_map TYPE gy_map,
i TYPE c,
gv_werks TYPE werks_d.

*&---------------------------------------------------------------------*
*& Include
ZSELSECR
*&---------------------------------------------------------------------*

16

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.


SELECT-OPTIONS: p_werks FOR gv_werks.
SELECTION-SCREEN END OF BLOCK b1.
SELECT-OPTIONS: p_werks FOR gv_werks.

*----------------------------------------------------------------------*
***INCLUDE Y_CASESTUDY_B42_GET_MATERIAF01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&
Form GET_MATERIAL_DATA
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_GT_MATNR text
*----------------------------------------------------------------------*
FORM get_material_data USING
p_gt_matnr.
* local structure for checking the null values in the internal table.
DATA : ls_mard1 TYPE gy_mard.
SELECT matnr
werks
lgort
lvorm
labst
insme
einme
speme
diskz FROM mard INTO TABLE gt_mard
WHERE werks IN p_werks AND lvorm EQ ' '.
*

Selection query executed Successfully


IF sy-subrc EQ 0.

for ensuring not null values.


LOOP AT gt_mard INTO ls_mard1.
IF NOT ls_mard1-labst IS INITIAL
AND NOT ls_mard1-insme IS INITIAL
AND NOT ls_mard1-einme IS INITIAL.
WRITE :' Null values'.
*ELSE.
*
WRITE : 'Things works'.
ENDIF.
ENDLOOP.
IF gt_mard IS INITIAL.

17

WRITE : 'Entries are not there'.

ENDIF.
selection from mara table
SELECT matnr lvorm meins
FROM mara INTO TABLE gt_second FOR ALL ENTRIES IN gt_mard WHERE
matnr EQ gt_mard-matnr AND lvorm EQ ' '.

* Question d) bit- Deletion of duplicate values.


SORT gt_mard BY matnr werks lgort.
DELETE ADJACENT DUPLICATES
FROM gt_mard COMPARING matnr werks lgort.
*

Inserting records into structure of mapping internal table


LOOP AT gt_mard INTO ls_mard.
gs_map-mandt = sy-mandt.
gs_map-matnr = ls_mard-matnr.
gs_map-lgort = ls_mard-lgort.
gs_map-werks = ls_mard-werks.
gs_map-labst = ls_mard-labst.
APPEND gs_map TO gt_map.
CLEAR gs_map.
ENDLOOP.

Adding the records to Z table.


MODIFY zmap42 FROM TABLE gt_map.
ELSE.
MESSAGE i042(ztrng).
LEAVE LIST-PROCESSING.
ENDIF.

ENDFORM.
" GET_MATERIAL_DATA
*&---------------------------------------------------------------------*
*&
Form DISP_REP
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_GT_WERKS text
*----------------------------------------------------------------------*
FORM disp_rep USING
p_gt_werks.
*local structure
*
*

LOOP AT gt_mard INTO ls_mard.


WRITE : / ls_mard-matnr, ls_mard-werks ,

18

*
*
*
*

ls_mard-lgort ,ls_mard-lvorm ,
ls_mard-labst ,ls_mard-insme ,
ls_mard-einme ,ls_mard-speme ,ls_mard-diskz.
ENDLOOP.

*
*
*
*
*

WRITE :/ 'Second Internal Table'.


LOOP AT gt_second INTO ls_second.
WRITE : / ls_second-matnr, ls_second-lvorm ,
ls_second-meins .
ENDLOOP.

* Displaying headers.
WRITE : /'Report Date : ' COLOR 1 ,sy-datum DD/MM/YY, "displaying date
AT 70 'Program: ' COLOR 1,sycprog,
"displaying program name at 70th position
/'Report Time : ' COLOR 1, syuzeit,
"displaying program time
(40) 'Storage Location Extract' COLOR 1 CENTERED,
" displa
ying at center.
/,
(14) 'User: ' COLOR 1, syuname,/,/.
" displaying user name.

* Displaying coloumn headers


ULINE (65).
WRITE : /(17) 'Material No.', '|',
(16) 'Stroage Location','|',
(10) 'Plant', '|',
(10) 'Qty','|'.
ULINE /(64).
SELECT * FROM zmap42 INTO TABLE gt_map_disp WHERE werks IN p_werks.
LOOP AT gt_map_disp INTO gs_map.
WRITE : /(17) gs_map-matnr,'|',(16) gs_map-lgort,'|',(10) gs_mapwerks,'|',(10) gs_map-labst,'|'.
ENDLOOP.
ULINE /(64).
ENDFORM.

19

Program for Chapter 9 Exercise 1


*&---------------------------------------------------------------------*
*& Report Y_MOVIE_B42
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT y_movie_b42.
* Include for Top declaration
INCLUDE zmtopdel.----------1
* Include for the Selection Screen
INCLUDE zmselsecr.--------------2

* Tasks to be performed before Selection Screen.


START-OF-SELECTION.
PERFORM get_movie_data USING p_cat p_year.-------3
PERFORM display_rep USING p_cat p_year.----------4
END-OF-SELECTION.

*&---------------------------------------------------------------------*
*& Include
ZMTOPDEL--------------------1
*&---------------------------------------------------------------------*
TYPES : BEGIN OF gy_movie42,
year TYPE zyear,
category type zcat,
winner TYPE zwinner,
notes TYPE znotes,
end of gy_movie42.
* Table Type
TYPES : gy_t_movie42 TYPE STANDARD TABLE OF gy_movie42.
* Internal table declaration
DATA : gt_movie42 TYPE gy_t_movie42.

*&---------------------------------------------------------------------*
*& Include
ZMSELSECR-----------------------2
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : p_cat TYPE zcat AS LISTBOX VISIBLE LENGTH 16,
p_year TYPE zyear AS LISTBOX VISIBLE LENGTH 16 DEFAULT '1225'.
SELECTION-SCREEN END OF BLOCK b1.

20

*&---------------------------------------------------------------------*
*&
Form GET_MOVIE_DATA------------------------3
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_P_CAT text
*----------------------------------------------------------------------*
FORM get_movie_data USING p_p_cat TYPE zcat
p_year TYPE zyear.
SELECT yearc
category
winner
zznotes
FROM ymovie INTO TABLE gt_movie42
WHERE category EQ p_cat AND yearc EQ p_year.

ENDFORM.
" GET_MOVIE_DATA
*&---------------------------------------------------------------------*
*&
Form DISPLAY_REP---------------------------4
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_P_CAT text
*----------------------------------------------------------------------*
FORM display_rep USING
p_p_cat TYPE zcat
p_year TYPE zyear.
DATA : ls_movie TYPE gy_movie42.
LOOP AT gt_movie42 INTO ls_movie.
WRITE : ls_movie-year, 8 ls_movie-category, 20 ls_moviewinner, 30 ls_movie-notes,/ .
ENDLOOP.
ENDFORM.

" DISPLAY_REP

21

Program for interactive report.


*&---------------------------------------------------------------------*
*& Report ZALV42
*&
*&---------------------------------------------------------------------*
*&
*& Alv Reporting
*&---------------------------------------------------------------------*
REPORT ZALV42.
*Top Delecaration
INCLUDE zalvtop.
* Selection Include.
INCLUDE zalvselect.
START-OF-SELECTION.
PERFORM get_data.
PERFORM disp_report.
PERFORM get_field_catlouge.
IF rb_grid eq 'X'.
PERFORM grid_disp.
else.
PERFORM list_disp.
ENDIF.
"PERFORM get_t_interact.
*&---------------------------------------------------------------------*
*& Include ZALVTOP
Report YALV41
*&
*&---------------------------------------------------------------------*
TYPE-POOLS: slis.
TABLES: vbak,t001.

TYPES: BEGIN OF alvstruct,


vbeln TYPE vbeln_va,
audat TYPE audat,
vbtyp TYPE vbtyp,
auart TYPE auart,
vtweg TYPE vtweg,
spart TYPE spart,
vkorg TYPE vkorg,
END OF alvstruct,

22

BEGIN OF z_interact_structure,
vbeln TYPE vbeln,
posnr TYPE posnr_va,
matnr TYPE matnr,
matkl TYPE matkl,
arktx TYPE arktx,
meins type meins,
END OF z_interact_structure.
*
Table Type Declaration
TYPES: gy_t_alvtab TYPE STANDARD TABLE OF alvstruct,
interact_structure TYPE STANDARD TABLE OF z_interact_structure.
DATA: gt_itab TYPE gy_t_alvtab,
gs_alv TYPE alvstruct,
gv_vbeln TYPE vbeln,
gv_audat TYPE audat,
slis_t_itab TYPE slis_t_fieldcat_alv,
wa_slis_vbak TYPE slis_fieldcat_alv,
*

Interactive delecaration.
gt_interact TYPE interact_structure,
gs_inter TYPE z_interact_structure,
t_slis_vbap TYPE slis_t_fieldcat_alv,
wa_slis_vbap TYPE slis_fieldcat_alv.

*&---------------------------------------------------------------------*
*& Include
ZALVSELECT
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: p_vbeln FOR gv_vbeln, p_audat FOR gv_audat.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS: rb_grid RADIOBUTTON GROUP rb," DEFAULT 'X',
rb_list RADIOBUTTON GROUP rb.
SELECTION-SCREEN END OF BLOCK b2.
*&---------------------------------------------------------------------*
*&
Form GET_DATA
*&---------------------------------------------------------------------*
*
Getting the data from Sales tables
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM get_data .

23

SELECT

vbeln
audat
vbtyp
auart
vtweg
vkorg
spart
FROM vbak INTO TABLE gt_itab
WHERE vbeln IN p_vbeln
AND audat IN p_audat.

ENDFORM.
" GET_DATA
*&---------------------------------------------------------------------*
*&
Form DISP_REPORT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM disp_report .
LOOP AT gt_itab INTO gs_alv.
WRITE: gs_alv-vbeln, gs_alv-audat,gs_alv-vbtyp,gs_alv-auart,gs_alvvtweg,gs_alv-vkorg,gs_alv-spart.
ENDLOOP.
ENDFORM.
" DISP_REPORT
*&---------------------------------------------------------------------*
*&
Form GET_FIELD_CATLOUGE
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM get_field_catlouge .
wa_slis_vbak-col_pos = '1'.
wa_slis_vbak-fieldname = 'VBELN'.
wa_slis_vbak-tabname = 'GT_ITAB'.
wa_slis_vbak-ref_fieldname = 'VBELN'.
wa_slis_vbak-ref_tabname = 'VBAK'.
wa_slis_vbak-seltext_l = 'SALES DOCUMENT'.
APPEND wa_slis_vbak TO slis_t_itab.
CLEAR wa_slis_vbak.

24

wa_slis_vbak-col_pos = '2'.
wa_slis_vbak-fieldname = 'AUDAT'.
wa_slis_vbak-tabname = 'GT_ITAB'.
wa_slis_vbak-ref_fieldname = 'AUDAT'.
wa_slis_vbak-ref_tabname = 'VBAK'.
wa_slis_vbak-seltext_l = 'SALES DOCUMENT'.
APPEND wa_slis_vbak TO slis_t_itab.
CLEAR wa_slis_vbak.
wa_slis_vbak-col_pos = '3'.
wa_slis_vbak-fieldname = 'VBTYP'.
wa_slis_vbak-tabname = 'GT_ITAB'.
wa_slis_vbak-ref_fieldname = 'VBTYP'.
wa_slis_vbak-ref_tabname = 'VBAK'.
wa_slis_vbak-seltext_l = 'SALES DOCUMENT'.
APPEND wa_slis_vbak TO slis_t_itab.
CLEAR wa_slis_vbak.
wa_slis_vbak-col_pos = '4'.
wa_slis_vbak-fieldname = 'AUART'.
wa_slis_vbak-tabname = 'GT_ITAB'.
wa_slis_vbak-ref_fieldname = 'AUART'.
wa_slis_vbak-ref_tabname = 'VBAK'.
wa_slis_vbak-seltext_l = 'SALES DOCUMENT'.
APPEND wa_slis_vbak TO slis_t_itab.
CLEAR wa_slis_vbak.
wa_slis_vbak-col_pos = '5'.
wa_slis_vbak-fieldname = 'VTWEG'.
wa_slis_vbak-tabname = 'GT_ITAB'.
wa_slis_vbak-ref_fieldname = 'VTWEG'.
wa_slis_vbak-ref_tabname = 'VBAK'.
wa_slis_vbak-seltext_l = 'SALES DOCUMENT'.
APPEND wa_slis_vbak TO slis_t_itab.
CLEAR wa_slis_vbak.
wa_slis_vbak-col_pos = '6'.
wa_slis_vbak-fieldname = 'VKORG'.
wa_slis_vbak-tabname = 'GT_ITAB'.
wa_slis_vbak-ref_fieldname = 'VKORG'.
wa_slis_vbak-ref_tabname = 'VBAK'.
wa_slis_vbak-seltext_l = 'SALES DOCUMENT'.
APPEND wa_slis_vbak TO slis_t_itab.
CLEAR wa_slis_vbak.
wa_slis_vbak-col_pos = '7'.
wa_slis_vbak-fieldname = 'SPART'.
wa_slis_vbak-tabname = 'GT_ITAB'.

25

wa_slis_vbak-ref_fieldname = 'SPART'.
wa_slis_vbak-ref_tabname = 'VBAK'.
wa_slis_vbak-seltext_l = 'SALES DOCUMENT'.
APPEND wa_slis_vbak TO slis_t_itab.
CLEAR wa_slis_vbak.
*interactive report field catalouge.
wa_slis_vbap-col_pos = '1'.
wa_slis_vbap-fieldname = 'VBELN'.
wa_slis_vbap-tabname = 'GT_INTERACT'.
wa_slis_vbap-ref_fieldname = 'VBELN'.
wa_slis_vbap-ref_tabname = 'VBAP'.
wa_slis_vbap-seltext_l = 'SALES DOCUMENT'.
APPEND wa_slis_vbap TO t_slis_vbap.
CLEAR wa_slis_vbap.
WA_SLIS_VBAP-COL_POS = '2'.
WA_SLIS_VBAP-FIELDNAME = 'POSNR'.
WA_SLIS_VBAP-TABNAME = 'GT_INTERACT'.
WA_SLIS_VBAP-REF_FIELDNAME = 'POSNR'.
WA_SLIS_VBAP-REF_TABNAME = 'VBAP'.
WA_SLIS_VBAP-SELTEXT_L = 'SALES DOCUMENT'.
APPEND WA_SLIS_VBAP TO T_SLIS_VBAP.
CLEAR WA_SLIS_VBAP.
WA_SLIS_VBAP-COL_POS = '3'.
WA_SLIS_VBAP-FIELDNAME = 'MATNR'.
WA_SLIS_VBAP-TABNAME = 'GT_INTERACT'.
WA_SLIS_VBAP-REF_FIELDNAME = 'MATNR'.
WA_SLIS_VBAP-REF_TABNAME = 'VBAP'.
WA_SLIS_VBAP-SELTEXT_L = 'SALES DOCUMENT'.
APPEND WA_SLIS_VBAP TO T_SLIS_VBAP.
CLEAR WA_SLIS_VBAP.
WA_SLIS_VBAP-COL_POS = '4'.
WA_SLIS_VBAP-FIELDNAME = 'MATKL'.
WA_SLIS_VBAP-TABNAME = 'GT_INTERACT'.
WA_SLIS_VBAP-REF_FIELDNAME = 'MATKL'.
WA_SLIS_VBAP-REF_TABNAME = 'VBAP'.
WA_SLIS_VBAP-SELTEXT_L = 'SALES DOCUMENT'.
APPEND WA_SLIS_VBAP TO T_SLIS_VBAP.
CLEAR WA_SLIS_VBAP.
WA_SLIS_VBAP-COL_POS = '5'.
WA_SLIS_VBAP-FIELDNAME = 'ARKTX'.
WA_SLIS_VBAP-TABNAME = 'GT_INTERACT'.
WA_SLIS_VBAP-REF_FIELDNAME = 'ARKTX'.
WA_SLIS_VBAP-REF_TABNAME = 'VBAP'.
WA_SLIS_VBAP-SELTEXT_L = 'SALES DOCUMENT'.

26

APPEND WA_SLIS_VBAP TO T_SLIS_VBAP.


CLEAR WA_SLIS_VBAP.
wa_slis_vbap-col_poS = '6'.
WA_SLIS_VBAP-FIELDNAME = 'MEINS'.
WA_SLIS_VBAP-TABNAME = 'GT_INTERACT'.
WA_SLIS_VBAP-REF_FIELDNAME = 'MEINS'.
WA_SLIS_VBAP-REF_TABNAME = 'VBAP'.
WA_SLIS_VBAP-SELTEXT_L = 'SALES DOCUMENT'.
APPEND WA_SLIS_VBAP TO T_SLIS_VBAP.
CLEAR WA_SLIS_VBAP.

ENDFORM.

"GET_FIELD_CATLOUGE

*&---------------------------------------------------------------------*
*&
Form interact
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_COMM
text
*----------------------------------------------------------------------*
FORM interact USING p_comm TYPE sy-ucomm wa_selfield TYPE slis_selfield.
"break 105TTP042.
CASE p_comm.
WHEN '&IC1'.
DATA:v_vbeln TYPE vbeln_va.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = wa_selfield-value
IMPORTING
output = v_vbeln.

SELECT vbeln
posnr
matnr
matkl
arktx
meins
FROM vbap INTO TABLE gt_interact WHERE vbeln = v_vbeln.

*
*
*
*

CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'


EXPORTING
I_TITLE
=
I_SELECTION
= 'X'
I_ALLOW_NO_SELECTION
=
I_ZEBRA
= ' '

27

*
*
*
*
*
*
*

I_SCREEN_START_COLUMN
= 0
I_SCREEN_START_LINE
= 0
I_SCREEN_END_COLUMN
= 0
I_SCREEN_END_LINE
= 0
I_CHECKBOX_FIELDNAME
=
I_LINEMARK_FIELDNAME
=
I_SCROLL_TO_SEL_LINE
= 'X'
i_tabname
= 'GT_INTERACT'
*
I_STRUCTURE_NAME
=
it_fieldcat
= t_slis_vbap
*
IT_EXCLUDING
=
*
I_CALLBACK_PROGRAM
= ''
*
I_CALLBACK_USER_COMMAND
=
*
IS_PRIVATE
=
*
IMPORTING
*
ES_SELFIELD
=
*
E_EXIT
=
TABLES
t_outtab
= gt_interact
EXCEPTIONS
program_error
= 1
OTHERS
= 2
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDCASE.
ENDFORM.
"interact
" GET_FIELD_CATLOUGE
*&---------------------------------------------------------------------*
*&
Form GRID_DISP
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM grid_disp .
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
*
I_INTERFACE_CHECK
= ' '
*
I_BYPASSING_BUFFER
=
*
I_BUFFER_ACTIVE
= ' '
i_callback_program
= sy-repid
*
I_CALLBACK_PF_STATUS_SET
= ' '
i_callback_user_command
= 'INTERACT'
*
I_STRUCTURE_NAME
=

28

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

IS_LAYOUT
=
it_fieldcat
= slis_t_itab
IT_EXCLUDING
=
IT_SPECIAL_GROUPS
=
IT_SORT
=
IT_FILTER
=
IS_SEL_HIDE
=
I_DEFAULT
= 'X'
I_SAVE
= ' '
IS_VARIANT
=
IT_EVENTS
=
IT_EVENT_EXIT
=
IS_PRINT
=
IS_REPREP_ID
=
I_SCREEN_START_COLUMN
= 0
I_SCREEN_START_LINE
= 0
I_SCREEN_END_COLUMN
= 0
I_SCREEN_END_LINE
= 0
IR_SALV_LIST_ADAPTER
=
IT_EXCEPT_QINFO
=
I_SUPPRESS_EMPTY_DATA
= ABAP_FALSE
IMPORTING
E_EXIT_CAUSED_BY_CALLER
=
ES_EXIT_CAUSED_BY_USER
=
TABLES
t_outtab
= gt_itab
EXCEPTIONS
program_error
= 1
OTHERS
= 2.
.
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.
" GRID_DISP
*&---------------------------------------------------------------------*
*&
Form LIST_DISP
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM list_disp .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
*
I_INTERFACE_CHECK
= ' '
*
I_BYPASSING_BUFFER
= ' '

29

*
*
*
*
*
*
*
*
*

I_BUFFER_ACTIVE
i_callback_program
I_CALLBACK_PF_STATUS_SET
I_CALLBACK_USER_COMMAND
I_CALLBACK_TOP_OF_PAGE
I_CALLBACK_HTML_TOP_OF_PAGE
I_CALLBACK_HTML_END_OF_LIST
I_STRUCTURE_NAME
I_BACKGROUND_ID
i_grid_title
I_GRID_SETTINGS
IS_LAYOUT
it_fieldcat

= ' '
= sy-repid
= ' '
= 'INTERACT '
= ' '
= ' '
= ' '
=
= ' '
= 'purchase order'
=
=
= slis_t_itab

*
IT_EXCLUDING
=
*
IT_SPECIAL_GROUPS
=
*
IT_SORT
=
*
IT_FILTER
=
*
IS_SEL_HIDE
=
*
I_DEFAULT
= 'X'
*
I_SAVE
= ' '
*
IS_VARIANT
=
*
IT_EVENTS
=
*
IT_EVENT_EXIT
=
*
IS_PRINT
=
*
IS_REPREP_ID
=
*
I_SCREEN_START_COLUMN
= 0
*
I_SCREEN_START_LINE
= 0
*
I_SCREEN_END_COLUMN
= 0
*
I_SCREEN_END_LINE
= 0
*
I_HTML_HEIGHT_TOP
= 0
*
I_HTML_HEIGHT_END
= 0
*
IT_ALV_GRAPHICS
=
*
IT_HYPERLINK
=
*
IT_ADD_FIELDCAT
=
*
IT_EXCEPT_QINFO
=
*
IR_SALV_FULLSCREEN_ADAPTER
=
* IMPORTING
*
E_EXIT_CAUSED_BY_CALLER
=
*
ES_EXIT_CAUSED_BY_USER
=
TABLES
t_outtab
= gt_itab
EXCEPTIONS
program_error
= 1
OTHERS
= 2
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

30

ENDIF.
ENDFORM.

" LIST_DISP

Perform get_data.
FORM get_data .
SELECT

vbeln
audat
vbtyp
auart
vtweg
vkorg
spart
FROM vbak INTO TABLE gt_itab
WHERE vbeln IN p_vbeln
AND audat IN p_audat.

ENDFORM.

" GET_DATA

Perform disp report.


*&---------------------------------------------------------------------*
*&
Form DISP_REPORT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM disp_report .
LOOP AT gt_itab INTO gs_alv.
WRITE: gs_alv-vbeln, gs_alv-audat,gs_alv-vbtyp,gs_alv-auart,gs_alvvtweg,gs_alv-vkorg,gs_alv-spart.
ENDLOOP.
ENDFORM.

" DISP_REPORT

31

*&---------------------------------------------------------------------*
*&
Form GET_FIELD_CATLOUGE
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM get_field_catlouge .
wa_slis_vbak-col_pos = '1'.
wa_slis_vbak-fieldname = 'VBELN'.
wa_slis_vbak-tabname = 'GT_ITAB'.
wa_slis_vbak-ref_fieldname = 'VBELN'.
wa_slis_vbak-ref_tabname = 'VBAK'.
wa_slis_vbak-seltext_l = 'SALES DOCUMENT'.
APPEND wa_slis_vbak TO slis_t_itab.
CLEAR wa_slis_vbak.
wa_slis_vbak-col_pos = '2'.
wa_slis_vbak-fieldname = 'AUDAT'.
wa_slis_vbak-tabname = 'GT_ITAB'.
wa_slis_vbak-ref_fieldname = 'AUDAT'.
wa_slis_vbak-ref_tabname = 'VBAK'.
wa_slis_vbak-seltext_l = 'SALES DOCUMENT'.
APPEND wa_slis_vbak TO slis_t_itab.
CLEAR wa_slis_vbak.
wa_slis_vbak-col_pos = '3'.
wa_slis_vbak-fieldname = 'VBTYP'.
wa_slis_vbak-tabname = 'GT_ITAB'.
wa_slis_vbak-ref_fieldname = 'VBTYP'.
wa_slis_vbak-ref_tabname = 'VBAK'.
wa_slis_vbak-seltext_l = 'SALES DOCUMENT'.
APPEND wa_slis_vbak TO slis_t_itab.
CLEAR wa_slis_vbak.
wa_slis_vbak-col_pos = '4'.
wa_slis_vbak-fieldname = 'AUART'.
wa_slis_vbak-tabname = 'GT_ITAB'.
wa_slis_vbak-ref_fieldname = 'AUART'.
wa_slis_vbak-ref_tabname = 'VBAK'.
wa_slis_vbak-seltext_l = 'SALES DOCUMENT'.
APPEND wa_slis_vbak TO slis_t_itab.
CLEAR wa_slis_vbak.
wa_slis_vbak-col_pos = '5'.
wa_slis_vbak-fieldname = 'VTWEG'.
wa_slis_vbak-tabname = 'GT_ITAB'.

32

wa_slis_vbak-ref_fieldname = 'VTWEG'.
wa_slis_vbak-ref_tabname = 'VBAK'.
wa_slis_vbak-seltext_l = 'SALES DOCUMENT'.
APPEND wa_slis_vbak TO slis_t_itab.
CLEAR wa_slis_vbak.
wa_slis_vbak-col_pos = '6'.
wa_slis_vbak-fieldname = 'VKORG'.
wa_slis_vbak-tabname = 'GT_ITAB'.
wa_slis_vbak-ref_fieldname = 'VKORG'.
wa_slis_vbak-ref_tabname = 'VBAK'.
wa_slis_vbak-seltext_l = 'SALES DOCUMENT'.
APPEND wa_slis_vbak TO slis_t_itab.
CLEAR wa_slis_vbak.
wa_slis_vbak-col_pos = '7'.
wa_slis_vbak-fieldname = 'SPART'.
wa_slis_vbak-tabname = 'GT_ITAB'.
wa_slis_vbak-ref_fieldname = 'SPART'.
wa_slis_vbak-ref_tabname = 'VBAK'.
wa_slis_vbak-seltext_l = 'SALES DOCUMENT'.
APPEND wa_slis_vbak TO slis_t_itab.
CLEAR wa_slis_vbak.
*interactive report field catalouge.
wa_slis_vbap-col_pos = '1'.
wa_slis_vbap-fieldname = 'VBELN'.
wa_slis_vbap-tabname = 'GT_INTERACT'.
wa_slis_vbap-ref_fieldname = 'VBELN'.
wa_slis_vbap-ref_tabname = 'VBAP'.
wa_slis_vbap-seltext_l = 'SALES DOCUMENT'.
APPEND wa_slis_vbap TO t_slis_vbap.
CLEAR wa_slis_vbap.
WA_SLIS_VBAP-COL_POS = '2'.
WA_SLIS_VBAP-FIELDNAME = 'POSNR'.
WA_SLIS_VBAP-TABNAME = 'GT_INTERACT'.
WA_SLIS_VBAP-REF_FIELDNAME = 'POSNR'.
WA_SLIS_VBAP-REF_TABNAME = 'VBAP'.
WA_SLIS_VBAP-SELTEXT_L = 'SALES DOCUMENT'.
APPEND WA_SLIS_VBAP TO T_SLIS_VBAP.
CLEAR WA_SLIS_VBAP.
WA_SLIS_VBAP-COL_POS = '3'.
WA_SLIS_VBAP-FIELDNAME = 'MATNR'.
WA_SLIS_VBAP-TABNAME = 'GT_INTERACT'.
WA_SLIS_VBAP-REF_FIELDNAME = 'MATNR'.
WA_SLIS_VBAP-REF_TABNAME = 'VBAP'.
WA_SLIS_VBAP-SELTEXT_L = 'SALES DOCUMENT'.

33

APPEND WA_SLIS_VBAP TO T_SLIS_VBAP.


CLEAR WA_SLIS_VBAP.
WA_SLIS_VBAP-COL_POS = '4'.
WA_SLIS_VBAP-FIELDNAME = 'MATKL'.
WA_SLIS_VBAP-TABNAME = 'GT_INTERACT'.
WA_SLIS_VBAP-REF_FIELDNAME = 'MATKL'.
WA_SLIS_VBAP-REF_TABNAME = 'VBAP'.
WA_SLIS_VBAP-SELTEXT_L = 'SALES DOCUMENT'.
APPEND WA_SLIS_VBAP TO T_SLIS_VBAP.
CLEAR WA_SLIS_VBAP.
WA_SLIS_VBAP-COL_POS = '5'.
WA_SLIS_VBAP-FIELDNAME = 'ARKTX'.
WA_SLIS_VBAP-TABNAME = 'GT_INTERACT'.
WA_SLIS_VBAP-REF_FIELDNAME = 'ARKTX'.
WA_SLIS_VBAP-REF_TABNAME = 'VBAP'.
WA_SLIS_VBAP-SELTEXT_L = 'SALES DOCUMENT'.
APPEND WA_SLIS_VBAP TO T_SLIS_VBAP.
CLEAR WA_SLIS_VBAP.
wa_slis_vbap-col_poS = '6'.
WA_SLIS_VBAP-FIELDNAME = 'MEINS'.
WA_SLIS_VBAP-TABNAME = 'GT_INTERACT'.
WA_SLIS_VBAP-REF_FIELDNAME = 'MEINS'.
WA_SLIS_VBAP-REF_TABNAME = 'VBAP'.
WA_SLIS_VBAP-SELTEXT_L = 'SALES DOCUMENT'.
APPEND WA_SLIS_VBAP TO T_SLIS_VBAP.
CLEAR WA_SLIS_VBAP.

ENDFORM.

"GET_FIELD_CATLOUGE

34

You might also like