My Abap Practice Programs

Preview:

Citation preview

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

1

*&---------------------------------------------------------------------*

*& Report ZPRASAD_2

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT zprasad_2 line-count 24(2) line-size 600 no standard page heading.

TABLES : vbap.

DATA : count TYPE i.

TYPES : BEGIN OF w_mara,

matnr TYPE mara-matnr,

ersda TYPE mara-ersda,

ernam TYPE mara-ernam,

END OF w_mara.

DATA : t_mara TYPE STANDARD TABLE OF w_mara.

DATA : wa_mara TYPE w_mara.

TYPES : BEGIN OF w_makt,

matnr TYPE makt-matnr,

maktx TYPE makt-maktx,

END OF w_makt.

DATA : t_makt TYPE STANDARD TABLE OF w_makt.

DATA : wa_makt TYPE w_makt.

TYPES : BEGIN OF w_vbak,

vbeln TYPE vbak-vbeln,

ernam TYPE vbak-ernam,

vtweg TYPE vbak-vtweg,

END OF w_vbak.

DATA : t_vbak TYPE STANDARD TABLE OF w_vbak.

DATA : wa_vbak TYPE w_vbak.

TYPES : BEGIN OF w_vbap,

vbeln TYPE vbap-vbeln,

posnr TYPE vbap-posnr,

matnr TYPE vbap-matnr,

ernam TYPE vbap-ernam,

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

2

END OF w_vbap.

DATA : t_vbap TYPE STANDARD TABLE OF w_vbap.

DATA : wa_vbap TYPE w_vbap.

TYPES : BEGIN OF w_result,

matnr TYPE mara-matnr,

ersda TYPE mara-ersda,

maktx TYPE makt-maktx,

vbeln TYPE vbak-vbeln,

ernam TYPE vbak-ernam,

vtweg TYPE vbak-vtweg,

posnr TYPE vbap-posnr,

END OF w_result.

DATA : t_result TYPE STANDARD TABLE OF w_result.

DATA : wa_result TYPE w_result.

SELECT-OPTIONS : v_vbeln FOR vbap-vbeln.

start-of-selection.

SELECT vbeln posnr matnr ernam INTO TABLE t_vbap FROM vbap WHERE vbeln IN v_vbeln.

SELECT vbeln ernam vtweg INTO TABLE t_vbak FROM vbak FOR ALL ENTRIES IN t_vbap WHERE vbeln = t

_vbap-vbeln.

SELECT matnr maktx INTO TABLE t_makt FROM makt FOR ALL ENTRIES IN t_vbap WHERE matnr = t_vbap

-matnr.

SELECT matnr ersda ernam INTO TABLE t_mara FROM mara FOR ALL ENTRIES IN t_vbap WHERE matnr =

t_vbap-matnr.

LOOP AT t_vbap INTO wa_vbap.

READ TABLE t_vbak INTO wa_vbak WITH KEY vbeln = wa_vbap-vbeln.

IF sy-subrc = 0.

READ TABLE t_makt INTO wa_makt WITH KEY matnr = wa_vbap-matnr.

IF sy-subrc = 0.

READ TABLE t_mara INTO wa_mara WITH KEY matnr = wa_vbap-matnr.

IF sy-subrc = 0.

wa_result-matnr = wa_vbap-matnr.

wa_result-ersda = wa_mara-ersda.

wa_result-maktx = wa_makt-maktx.

wa_result-vbeln = wa_vbap-vbeln.

wa_result-ernam = wa_mara-ernam.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

3

wa_result-vtweg = wa_vbak-vtweg.

wa_result-posnr = wa_vbap-posnr.

APPEND wa_result TO t_result.

CLEAR wa_result.

ENDIF.

ENDIF.

ENDIF.

ENDLOOP.

DESCRIBE TABLE t_result LINES count.

top-of-page.

write : 'Welcome this is a header',

/ sy-uline(40).

end-of-page.

write:'Thank You', sy-pagno.

uline.

end-of-selection.

WRITE : 'Number of records are :',count COLOR 6.

uline.

LOOP AT t_result INTO wa_result.

WRITE : / wa_result-matnr,20 wa_result-ersda,40 wa_result-maktx,80 wa_result-vbeln,100 wa_result-

ernam,120 wa_result-vtweg,130 wa_result-posnr.

ENDLOOP.

* end-of-page.

*

* write : 'This is footer'.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

4

*&---------------------------------------------------------------------*

*& Report ZPRASAD_3

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT zprasad_3.

TABLES : marc.

DATA : count TYPE i.

TYPES : BEGIN OF w_mara,

matnr TYPE mara-matnr,

ersda TYPE mara-ersda,

ernam TYPE mara-ernam,

END OF w_mara.

DATA : t_mara TYPE STANDARD TABLE OF w_mara.

DATA : wa_mara TYPE w_mara.

TYPES : BEGIN OF w_marc,

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

5

matnr TYPE marc-matnr,

werks TYPE marc-werks,

pstat TYPE marc-pstat,

END OF w_marc.

DATA : t_marc TYPE STANDARD TABLE OF w_marc.

DATA : wa_marc TYPE w_marc.

TYPES : BEGIN OF w_mard,

matnr TYPE mard-matnr,

werks TYPE mard-werks,

lgort TYPE mard-lgort,

END OF w_mard.

DATA : t_mard TYPE STANDARD TABLE OF w_mard.

DATA : wa_mard TYPE w_mard.

TYPES : BEGIN OF w_result,

matnr TYPE mara-matnr,

ersda TYPE mara-ersda,

ernam TYPE mara-ernam,

werks TYPE marc-werks,

pstat TYPE marc-pstat,

lgort TYPE mard-lgort,

END OF w_result.

DATA : t_result TYPE STANDARD TABLE OF w_result.

DATA : wa_result TYPE w_result.

SELECT-OPTIONS: s_plant FOR marc-werks.

PERFORM get_data.

PERFORM process_data.

DESCRIBE TABLE t_result LINES count.

WRITE : 'The number of records are :',count COLOR 6.

SKIP 2.

PERFORM display_data.

*&---------------------------------------------------------------------*

*& Form get_data

*&---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

6

* --> p1 text

* <-- p2 text

*----------------------------------------------------------------------*

FORM get_data .

SELECT matnr werks pstat FROM marc INTO TABLE t_marc WHERE werks IN s_plant.

SELECT matnr ersda ernam FROM mara INTO TABLE t_mara FOR ALL ENTRIES IN t_marc WHERE matnr

= t_marc-matnr.

perform get_item_data.

ENDFORM. " get_data

*&---------------------------------------------------------------------*

*& Form process_data

*&---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

* --> p1 text

* <-- p2 text

*----------------------------------------------------------------------*

FORM process_data .

LOOP AT t_mard INTO wa_mard.

READ TABLE t_marc INTO wa_marc WITH KEY matnr = wa_mard-matnr werks = wa_mard-werks.

IF sy-subrc = 0.

READ TABLE t_mara INTO wa_mara WITH KEY matnr = wa_mard-matnr.

IF sy-subrc = 0.

wa_result-matnr = wa_mara-matnr.

wa_result-ersda = wa_mara-ersda.

wa_result-ernam = wa_mara-ernam.

wa_result-werks = wa_marc-werks.

wa_result-pstat = wa_marc-pstat.

wa_result-lgort = wa_mard-lgort.

APPEND wa_result TO t_result.

CLEAR wa_result.

ENDIF.

ENDIF.

ENDLOOP.

ENDFORM. " process_data

*&---------------------------------------------------------------------*

*& Form display_data

*&---------------------------------------------------------------------*

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

7

* text

*----------------------------------------------------------------------*

* --> p1 text

* <-- p2 text

*----------------------------------------------------------------------*

FORM display_data .

LOOP AT t_result INTO wa_result.

WRITE :/ wa_result-matnr,20 wa_result-ersda,40 wa_result-ernam,60 wa_result-werks,80 wa_result-

pstat,100 wa_result-lgort.

ENDLOOP.

ENDFORM. " display_data

*&---------------------------------------------------------------------*

*& Form get_item_data

*&---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

* --> p1 text

* <-- p2 text

*----------------------------------------------------------------------*

form get_item_data .

SELECT matnr werks lgort FROM mard INTO TABLE t_mard FOR ALL ENTRIES IN t_marc WHERE matnr = t

_marc-matnr AND werks = t_marc-werks.

endform. " get_item_data

*&---------------------------------------------------------------------*

*& Report ZPRASAD_4

*&

*&---------------------------------------------------------------------*

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

8

*&

*&

*&---------------------------------------------------------------------*

REPORT zprasad_4 line-size 200.

TABLES :lips.

TYPES : BEGIN OF w_lips,

vbeln TYPE lips-vbeln,

posnr TYPE lips-posnr,

matnr TYPE lips-matnr,

ernam TYPE lips-ernam,

END OF w_lips.

DATA : t_lips TYPE STANDARD TABLE OF w_lips.

DATA : wa_lips TYPE w_lips.

TYPES : BEGIN OF w_likp,

vbeln TYPE likp-vbeln,

lifnr TYPE likp-lifnr,

werks TYPE likp-werks,

END OF w_likp.

DATA : t_likp TYPE STANDARD TABLE OF w_likp.

DATA : wa_likp TYPE w_likp.

TYPES : BEGIN OF w_ekpo,

ebeln TYPE ekpo-ebeln,

ebelp TYPE ekpo-ebelp,

matnr TYPE ekpo-matnr,

werks TYPE ekpo-werks,

END OF w_ekpo.

DATA : t_ekpo TYPE STANDARD TABLE OF w_ekpo.

DATA : wa_ekpo TYPE w_ekpo.

TYPES : BEGIN OF w_ekko,

ebeln TYPE ekko-ebeln,

ernam TYPE ekko-ernam,

lifnr type ekko-lifnr,

END OF w_ekko.

DATA : t_ekko TYPE STANDARD TABLE OF w_ekko.

DATA : wa_ekko TYPE w_ekko.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

9

DATA : count TYPE i.

TYPES : BEGIN OF w_output,

vbeln TYPE lips-vbeln,

posnr TYPE lips-posnr,

matnr TYPE lips-matnr,

ernam TYPE lips-ernam,

lifnr TYPE likp-lifnr,

werks TYPE likp-werks,

ebeln TYPE ekpo-ebeln,

ebelp TYPE ekpo-ebelp,

END OF w_output.

DATA : t_output TYPE STANDARD TABLE OF w_output.

DATA : wa_output TYPE w_output.

SELECT-OPTIONS : v_vbeln FOR lips-vbeln.

SELECT vbeln posnr matnr ernam INTO TABLE t_lips FROM lips WHERE

vbeln IN v_vbeln.

SELECT vbeln lifnr werks INTO TABLE t_likp FROM likp FOR ALL

ENTRIES IN t_lips WHERE vbeln = t_lips-vbeln.

SELECT ebeln ernam lifnr INTO TABLE t_ekko FROM ekko. "FOR ALL ENTRIES IN

"t_likp WHERE lifnr = t_likp-lifnr.

SELECT ebeln ebelp matnr werks INTO TABLE t_ekpo FROM ekpo FOR ALL

ENTRIES IN t_ekko WHERE ebeln = t_ekko-ebeln.

LOOP AT t_lips INTO wa_lips.

READ TABLE t_likp INTO wa_likp WITH KEY vbeln = wa_lips-vbeln.

IF sy-subrc = 0.

READ TABLE t_ekko INTO wa_ekko WITH KEY lifnr = wa_likp-lifnr.

IF sy-subrc = 0.

READ TABLE t_ekpo INTO wa_ekpo WITH KEY ebeln = wa_ekko-ebeln.

IF sy-subrc = 0.

wa_output-vbeln = wa_lips-vbeln.

wa_output-posnr = wa_lips-posnr.

wa_output-matnr = wa_lips-matnr.

wa_output-ernam = wa_lips-ernam.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

10

wa_output-lifnr = wa_likp-lifnr.

wa_output-werks = wa_likp-werks.

wa_output-ebeln = wa_ekpo-ebeln.

wa_output-ebelp = wa_ekpo-ebeln.

* write: 'Success'.

* skip 1.

APPEND wa_output TO t_output.

CLEAR wa_output.

ENDIF.

ENDIF.

ENDIF.

ENDLOOP.

DESCRIBE TABLE t_output LINES count.

WRITE : 'Total number of records are:',count COLOR 6.

LOOP AT t_output INTO wa_output.

WRITE : / wa_output-vbeln,sy-vline,30 wa_output-posnr,sy-vline,50 wa_output-matnr,sy-

vline,70 wa_output-ernam,sy-vline,90 wa_output-lifnr,sy-vline,

110 wa_output-werks,sy-vline,130 wa_output-ebeln,sy-vline,150 wa_output-ebelp.

ENDLOOP.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

11

*&---------------------------------------------------------------------*

*& Report ZPRASAD_5

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT ZPRASAD_5 line-count 20(3) line-size 75.

parameters : var1 type c radiobutton group g1,

var2 type c radiobutton group g1,

var3 type c radiobutton group g1.

types : begin of w_mchb,

matnr type mchb-matnr,

clabs type mchb-clabs,

cinsm type mchb-cinsm,

cspem type mchb-cspem,

werks type mchb-werks,

lgort type mchb-lgort,

end of w_mchb.

data : t_mchb type standard table of w_mchb.

data : wa_mchb type w_mchb.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

12

types : begin of w_result,

matnr type mchb-matnr,

clabs type mchb-clabs,

cinsm type mchb-cinsm,

cspem type mchb-cspem,

werks type mchb-werks,

lgort type mchb-lgort,

end of w_result.

data : t_result type standard table of w_result.

data : wa_result type w_result.

if var1 = 'X'.

select matnr clabs cinsm cspem into table t_mchb from mchb.

loop at t_mchb into wa_mchb.

wa_result-matnr = wa_mchb-matnr.

wa_result-clabs = wa_mchb-clabs.

wa_result-cinsm = wa_mchb-cinsm.

wa_result-cspem = wa_mchb-cspem.

collect wa_result into t_result .

clear wa_result.

endloop.

loop at t_result into wa_result.

write : / sy-vline,wa_result-matnr,sy-vline,30 wa_result-clabs,sy-vline,50 wa_result-cinsm,sy-

vline,70 wa_result-cspem,sy-vline.

write : sy-uline.

endloop.

endif.

if var2 = 'X'.

select matnr clabs cinsm cspem werks into table t_mchb from mchb.

loop at t_mchb into wa_mchb.

wa_result-matnr = wa_mchb-matnr.

wa_result-werks = wa_mchb-werks.

wa_result-clabs = wa_mchb-clabs.

wa_result-cinsm = wa_mchb-cinsm.

wa_result-cspem = wa_mchb-cspem.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

13

collect wa_result into t_result.

endloop.

loop at t_result into wa_result.

write : / sy-vline,wa_result-matnr,sy-vline,30 wa_result-werks,sy-vline,50 wa_result-clabs,sy-

vline,70 wa_result-cinsm,sy-vline,90 wa_result-cspem,sy-vline.

write : sy-uline.

endloop.

endif.

if var3 = 'X'.

select matnr clabs cinsm cspem werks lgort into table t_mchb from mchb.

loop at t_mchb into wa_mchb.

wa_result-matnr = wa_mchb-matnr.

wa_result-werks = wa_mchb-werks.

wa_result-lgort = wa_mchb-lgort.

wa_result-clabs = wa_mchb-clabs.

wa_result-cinsm = wa_mchb-cinsm.

wa_result-cspem = wa_mchb-cspem.

collect wa_result into t_result.

endloop.

loop at t_result into wa_result.

write : / sy-vline,wa_result-matnr,sy-vline,30 wa_result-werks,sy-vline,50 wa_result-lgort,sy-

vline,70 wa_result-clabs,sy-vline,90 wa_result-cinsm,sy-vline,110 wa_result-cspem.

write : sy-uline.

endloop.

endif.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

14

*&---------------------------------------------------------------------*

*& Report ZPRASAD_6

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT zprasad_6.

TABLES : sflight.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

15

PARAMETERS : vbak TYPE c RADIOBUTTON GROUP g1,

bkpf TYPE c RADIOBUTTON GROUP g1,

bsis TYPE c RADIOBUTTON GROUP g1,

erdat RADIOBUTTON GROUP g1,

carrid TYPE c RADIOBUTTON GROUP g1,

cid(2) TYPE c,

sflite TYPE c RADIOBUTTON GROUP g1,

fldt TYPE sflight-fldate,

btwn TYPE c RADIOBUTTON GROUP g1.

SELECT-OPTIONS : carid FOR sflight-carrid.

parameters : single TYPE c RADIOBUTTON GROUP g1,

weight type c radiobutton group g1,

from1 type spfli-airpfrom,

to1 type spfli-airpto.

parameters : doc type c radiobutton group g1,

docno type vbap-vbeln default '0000004974'.

TYPES : BEGIN OF w_vbak,

vbeln TYPE vbak-vbeln,

erdat TYPE vbak-erdat,

ernam TYPE vbak-ernam,

submi TYPE vbak-submi,

END OF w_vbak.

DATA : t_vbak TYPE STANDARD TABLE OF w_vbak.

DATA : wa_vbak TYPE w_vbak.

TYPES : BEGIN OF w_bkpf,

bukrs TYPE bkpf-bukrs,

belnr TYPE bkpf-belnr,

blart TYPE bkpf-blart,

END OF w_bkpf.

DATA : t_bkpf TYPE STANDARD TABLE OF w_bkpf.

DATA : wa_bkpf TYPE w_bkpf.

TYPES : BEGIN OF w_bsis,

bukrs TYPE bsis-bukrs,

budat TYPE bsis-budat,

blart TYPE bsis-blart,

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

16

END OF w_bsis.

DATA : t_bsis TYPE STANDARD TABLE OF w_bsis.

DATA : wa_bsis TYPE w_bsis.

TYPES : BEGIN OF w_erdat,

erdat TYPE vbak-erdat,

erdat1 TYPE likp-erdat,

END OF w_erdat.

DATA : t_erdat TYPE STANDARD TABLE OF w_erdat.

DATA : wa_erdat TYPE w_erdat.

DATA : total TYPE p DECIMALS 3.

TYPES : BEGIN OF w_flight,

carrid TYPE sflight-carrid,

END OF w_flight.

DATA : t_flight TYPE STANDARD TABLE OF w_flight.

DATA : wa_flight TYPE w_flight.

TYPES : BEGIN OF w_flite,

carrid TYPE sflight-carrid,

connid TYPE sflight-connid,

fldate TYPE sflight-fldate,

price TYPE sflight-price,

END OF w_flite.

DATA : t_flite TYPE STANDARD TABLE OF w_flite.

DATA : wa_flite TYPE w_flite.

types : begin of w_spfli,

carrid type spfli-carrid,

airpfrom type spfli-airpfrom,

airpto type spfli-airpto,

deptime type spfli-deptime,

end of w_spfli.

data : t_spfli type standard table of w_spfli.

data : wa_spfli type w_spfli.

types : begin of w_vbap,

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

17

vbeln type vbap-vbeln,

erdat type vbap-erdat,

ernam type vbap-ernam,

erzet type vbap-erzet,

end of w_vbap.

data :t_vbap type standard table of w_vbap.

data : wa_vbap type w_vbap.

IF vbak = 'X'.

SELECT vbeln erdat ernam submi INTO TABLE t_vbak FROM vbak.

SORT t_vbak BY vbeln ASCENDING.

DATA : count TYPE i.

DESCRIBE TABLE t_vbak LINES count.

WRITE :'Number of rows:',count COLOR 6.

SKIP 1.

LOOP AT t_vbak INTO wa_vbak.

WRITE :/ wa_vbak-vbeln,20 wa_vbak-erdat,40 wa_vbak-ernam,50 wa_vbak-submi.

SKIP 1.

ENDLOOP.

ENDIF.

IF bkpf = 'X'.

SELECT SINGLE bukrs belnr blart INTO wa_bkpf FROM bkpf.

WRITE :/ wa_bkpf-bukrs,20 wa_bkpf-belnr,40 wa_bkpf-blart.

SKIP 1.

ENDIF.

IF bsis = 'X'.

SELECT bukrs budat blart UP TO 5 ROWS FROM bsis INTO TABLE t_bsis.

IF t_bsis IS NOT INITIAL.

LOOP AT t_bsis INTO wa_bsis.

WRITE :/ sy-vline,wa_bsis-bukrs,sy-vline,20 wa_bsis-budat,sy-vline,40 wa_bsis-blart.

WRITE : sy-uline.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

18

ENDLOOP.

SKIP 2.

ENDIF.

ENDIF.

IF erdat = 'X'.

SELECT erdat INTO TABLE t_erdat FROM vbak.

IF sy-subrc = 0.

SELECT erdat INTO TABLE t_erdat FROM likp .

IF sy-subrc = 0.

LOOP AT t_erdat INTO wa_erdat.

WRITE :/ wa_erdat-erdat,20 wa_erdat-erdat1.

ENDLOOP.

ENDIF.

ENDIF.

ENDIF.

IF carrid = 'X'.

SELECT SUM( price ) FROM sflight INTO total WHERE carrid = cid.

WRITE : 'The Total amount for all Carrid where id =LH is ',total.

ENDIF.

IF sflite = 'X'.

SELECT carrid FROM sflight INTO TABLE t_flight WHERE fldate GT fldt.

LOOP AT t_flight INTO wa_flight.

WRITE : wa_flight-carrid.

SKIP 1.

ENDLOOP.

ENDIF.

IF btwn = 'X'.

SELECT carrid FROM sflight INTO TABLE t_flight WHERE carrid IN carid.

LOOP AT t_flight INTO wa_flight.

WRITE : wa_flight-carrid.

SKIP 1.

ENDLOOP.

ENDIF.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

19

IF single ='X'.

SELECT SINGLE carrid connid fldate price FROM sflight INTO wa_flite WHERE carrid ='LH' AND connid =

0400 AND fldate = fldt.

WRITE : / wa_flite-carrid,20 wa_flite-connid,40 wa_flite-fldate,60 wa_flite-price.

ENDIF.

if weight = 'X'.

select carrid airpfrom airpto deptime from spfli into table t_spfli where airpfrom = from1 and airpto = to

1.

loop at t_spfli into wa_spfli.

write :/ wa_spfli-carrid,sy-vline,20 wa_spfli-deptime,sy-vline,40 wa_spfli-airpfrom,sy-vline,60 wa_spfli-

airpto.

write : sy-uline.

endloop.

endif.

if doc = 'X'.

select single vbeln erdat ernam erzet from vbap into wa_vbap where vbeln = docno.

write : / wa_vbap-vbeln,20 wa_vbap-erdat,40 wa_vbap-ernam,60 wa_vbap-erzet.

endif.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

20

*&---------------------------------------------------------------------*

*& Report ZPRASAD_7

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT ZPRASAD_7 line-count 20(3) LINE-SIZE 75.

types : begin of w_flight,

carrid type sflight-carrid,

connid type sflight-connid,

fldate type sflight-fldate,

price type sflight-price,

end of w_flight.

data : t_flight type standard table of w_flight.

data : wa_flight type w_flight.

data : v_sub type sflight-price,v_grand type sflight-price.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

21

select carrid connid fldate price from sflight into table t_flight.

loop at t_flight into wa_flight.

at first.

write :/'Price Report'.

endat.

at new carrid.

write :/10 wa_flight-carrid.

write sy-uline.

endat.

v_sub = v_sub + wa_flight-price.

v_grand = v_grand + wa_flight-price.

write :/ wa_flight-connid,20 wa_flight-fldate,40 wa_flight-price.

at end of carrid.

skip 1.

write :/70 'Sub Total :',v_sub.

write : sy-uline.

clear v_sub.

endat.

at last.

skip 1.

write :/70 'Grand Total :',v_grand.

endat.

endloop.

*&---------------------------------------------------------------------*

*& Report ZPRASAD_8

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT zprasad_8.

write: sy-pagno.

TYPES : BEGIN OF w_mchb,

matnr TYPE mchb-matnr,

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

22

werks TYPE mchb-werks,

lgort TYPE mchb-lgort,

clabs TYPE mchb-clabs,

cinsm TYPE mchb-cinsm,

cspem TYPE mchb-cspem,

END OF w_mchb.

DATA : t_mchb TYPE STANDARD TABLE OF w_mchb.

DATA : wa_mchb TYPE w_mchb.

DATA : sub TYPE mchb-clabs, sub1 TYPE p, sub2 TYPE p, grand TYPE mchb-clabs.

SELECT matnr werks lgort clabs cinsm cspem FROM mchb INTO TABLE t_mchb.

sort t_mchb by matnr.

LOOP AT t_mchb INTO wa_mchb.

AT FIRST.

WRITE : /'Price Report for Quality,blocked & unrestricted stocks'.

SKIP 1.

WRITE : sy-uline.

ENDAT.

AT NEW matnr.

WRITE :/ 'Material Number :',wa_mchb-matnr color 7.

SKIP 1.

ENDAT.

sub = sub + wa_mchb-clabs.

sub1 = sub1 + wa_mchb-cinsm.

sub2 = sub2 + wa_mchb-cspem.

grand = grand + wa_mchb-clabs + wa_mchb-cinsm + wa_mchb-cspem.

WRITE :/40 wa_mchb-werks,60 wa_mchb-clabs,80 wa_mchb-cinsm,100 wa_mchb-cspem.

AT END OF matnr.

WRITE : sy-uline.

WRITE :/90 'Sub Total Unrestricted Stock:',sub COLOR 1,/90 'Sub Total Quality Stock :',sub1 COLOR 2,/

90 'Sub Total Blocked Stock :',sub2 COLOR 3.

SKIP 1.

CLEAR : sub,sub1,sub2.

WRITE : sy-uline.

ENDAT.

AT LAST.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

23

WRITE :/107 'Grand Total :',grand COLOR 6.

ENDAT.

ENDLOOP.

*&---------------------------------------------------------------------*

*& Report ZPRASAD_9

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

24

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT ZPRASAD_9.

data : t_flight type standard table of sflight.

data : wa_flight type sflight.

select * from sflight into table t_flight.

loop at t_flight into wa_flight.

write :/ wa_flight-carrid,20 wa_flight-connid,30 wa_flight-fldate,50 wa_flight-price.

skip 1.

endloop.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

25

*&---------------------------------------------------------------------*

*& Report ZPRASAD_10

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT zprasad_10.

TYPES : BEGIN OF w_vbap,

matnr TYPE vbap-matnr,

maktx TYPE makt-maktx,

END OF w_vbap.

DATA : t_vbap TYPE STANDARD TABLE OF w_vbap.

DATA : wa_vbap TYPE w_vbap.

PARAMETERS : mat TYPE vbap-matnr.

data :pstyv TYPE vbap-pstyv.

SELECT pstyv INTO pstyv FROM vbap WHERE matnr = mat.

endselect.

IF sy-subrc = 0.

SELECT matnr maktx INTO CORRESPONDING FIELDS OF TABLE t_vbap FROM makt WHERE matnr = mat.

IF sy-subrc = 0.

LOOP AT t_vbap INTO wa_vbap.

WRITE :/ wa_vbap-matnr,40 pstyv,50 wa_vbap-maktx.

ENDLOOP.

ENDIF.

ENDIF.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

26

*&---------------------------------------------------------------------*

*& Report ZPRASAD_11

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT ZPRASAD_11.

types : begin of w_vbap,

vbeln type vbap-vbeln,

posnr type vbap-posnr,

matnr type vbap-matnr,

end of w_vbap.

data : t_vbap type standard table of w_vbap .

data : wa_vbap type w_vbap,count type i.

parameters : n type i .

select vbeln posnr matnr from vbap into table t_vbap .

describe table t_vbap lines count.

write :'Number of records are:',count.

skip 1.

read table t_vbap into wa_vbap index n.

write :/ wa_vbap-vbeln,30 wa_vbap-posnr,50 wa_vbap-matnr.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

27

*&---------------------------------------------------------------------*

*& Report ZPRASAD_12

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT ZPRASAD_12 message-id ZPRASAD_MSG.

parameters : var1(10) type c.

if var1 = 'PRASAD'.

message i000.

endif.

ZPRASAD_MSG

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

28

*&---------------------------------------------------------------------*

*& Report ZPRASAD_13

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT ZPRASAD_13.

data : var1(4) type c value 'echo', len type i, x type i value 1.

len = strlen( var1 ).

while x <= len.

write at len(x) var1.

skip 1.

x = x + 1.

endwhile.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

29

x = 4.

len = 3.

while len > 0.

write at x(len) var1.

skip 1.

len = len - 1.

endwhile.

OUTPUT :

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

30

*&---------------------------------------------------------------------*

*& Report ZPRASAD_14

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT ZPRASAD_14.

types : begin of w_mard,

matnr type mard-matnr,

werks type mard-werks,

lgort type mard-lgort,

end of w_mard.

data : t_mard type standard table of w_mard.

data : wa_mard type w_mard.

parameters : n type i.

perform data_retrieve.

perform data_display.

perform data_read.

*perform data_delete.

*

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

31

*perform data_collect.

form data_retrieve .

select matnr werks lgort up to 10 rows from mard into table t_mard.

write : 'You data is successfully retrieved'.

skip 5.

* perform data_display.

endform. " data_retrieve

form data_read .

skip 3.

write : 'data Read :'.

skip 3.

read table t_mard into wa_mard index n.

write : wa_mard-matnr,30 wa_mard-werks,50 wa_mard-lgort.

endform. " data_read

form data_display .

write : sy-uline.

loop at t_mard into wa_mard.

write : sy-vline,wa_mard-matnr,sy-vline,30 wa_mard-werks,sy-vline,50 wa_mard-lgort,sy-vline.

write :sy-uline.

endloop.

endform. " data_display

form data_delete .

endform. " data_delete

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

32

*&---------------------------------------------------------------------*

*& Report ZPRASAD_16

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT ZPRASAD_16.

data: dat type d,dat1 type d.

dat = '20120829'.

dat1 = '20120119'.

data : x type i,y type i, z type i.

x = dat+4(2).

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

33

y = dat1+4(2).

z = x - y.

write : /10 z.

write : sy-pagno.

FUNCTION MODULES

*&---------------------------------------------------------------------*

*& Report ZPRASAD_17

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT ZPRASAD_17.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

34

data : t_data type standard table of mard.

data : wa_mard type mard,var2 type c.

parameters : s_plant type mard-werks.

CALL FUNCTION 'ZPRASAD_1_4'

EXPORTING

s_plant = s_plant

IMPORTING

VAR1 = var2

tables

t_mard = t_data.

perform display_table .

form display_table .

skip 1.

loop at t_data into wa_mard.

write : / wa_mard-matnr,sy-vline,30 wa_mard-werks,sy-vline,40 wa_mard-lgort,sy-vline.

write : sy-uline.

endloop.

endform.

.

" display_table

code in function module zprasad_1_4

TRANSACTION CODE FOR FUNCTION MODULES IS SE37

FUNCTION ZPRASAD_1_4.

*"----------------------------------------------------------------------

*"*"Local Interface:

*" IMPORTING

*" REFERENCE(S_PLANT) TYPE WERKS_D

*" EXPORTING

*" REFERENCE(VAR1) TYPE C

*" TABLES

*" T_MARD STRUCTURE MARD

*"----------------------------------------------------------------------

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

35

select * from mard into table t_mard where werks = s_plant.

if sy-subrc = 0.

var1 = 'Success'.

endif.

ENDFUNCTION.

screens of function module settings :

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

36

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

37

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

38

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

39

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

40

*&---------------------------------------------------------------------*

*& Report ZPRASAD_19

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT ZPRASAD_19.

parameters : s_carrid type S_CARR_ID.

data : t_result type standard table of sflight.

data : wa_sflight type sflight.

data : result type i,result1 type i.

CALL FUNCTION 'ZPRASAD_1_5'

EXPORTING

s_carrid = s_carrid

IMPORTING

RESULT = result

tables

t_sflight = t_result

changing

result1 = result1

.

loop at t_result into wa_sflight.

write :/ wa_sflight-carrid,30 wa_sflight-connid,50 wa_sflight-carrid,70 wa_sflight-price.

endloop.

skip 3.

write : 80 result color 1, 100 result1 color 6.

CODE FOR FUNCTION MODULE ZPRASAD_1_5 :

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

41

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

42

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

43

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

44

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

45

IN THE SOURCE CODE TAB IMPLEMENT THE LOGIC GIVEN BELOW :

FUNCTION ZPRASAD_1_5.

*"----------------------------------------------------------------------

*"*"Local Interface:

*" IMPORTING

*" REFERENCE(S_CARRID) TYPE S_CARR_ID

*" EXPORTING

*" REFERENCE(RESULT) TYPE I

*" TABLES

*" T_SFLIGHT STRUCTURE SFLIGHT

*" CHANGING

*" REFERENCE(RESULT1) TYPE I

*"----------------------------------------------------------------------

data : wa_sflight type sflight.

select * from sflight into table t_sflight where carrid = s_carrid.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

46

loop at t_sflight into wa_sflight.

at new carrid.

write : / wa_sflight-carrid.

skip 1.

endat.

result = result + wa_sflight-price.

result1 = result * 2.

endloop.

ENDFUNCTION.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

47

*&---------------------------------------------------------------------*

*& Report ZPRASAD_20

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT ZPRASAD_20.

start-of-selection .

write : 'Click me'.

message s888(zprasad_msgs) with text-001.

at line-selection.

if sy-lsind = 1.

message i001(zprasad_msgs) with text-002.

endif.

if sy-lsind = 2.

message w003(zprasad_msgs) with text-003 sy-lsind text-003.

endif.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

48

*&---------------------------------------------------------------------*

*& Report ZPRASAD_21

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT ZPRASAD_21.

data : result type i.

selection-screen : begin of block b1 with frame title text-001.

parameters : var1 type i,var2 type i.

selection-screen : end of block b1.

selection-screen : begin of block b2 with frame title text-002.

parameters : c1 type c radiobutton group g1,

c2 type c radiobutton group g1.

selection-screen : end of block b2.

if c1 = 'X'.

result = var1 + var2.

endif.

if c2 ='X'.

result = var1 - var2.

endif.

format hotspot on.

write : 'Click here to see the result' color 6.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

49

format hotspot off.

at line-selection.

SELECTION-SCREEN : begin of block b3 with frame title text-003.

write :'Result of addition is:',result.

selection-screen : end of block b3.

OUTPUT :

PRESS F8

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

50

PLACE THE CURSOR ON THE TEXT (LINE SELECTION EVENT)

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

51

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

52

*&---------------------------------------------------------------------*

*& Report ZPRASAD_22

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT ZPRASAD_22.

parameters : s_city type zcityinfo-city_name,

code_c type znum20.

data : dist type zchar20.

data : t_result type standard table of zcityinfo,code1 type znum20.

.

CALL FUNCTION 'ZPRASAD_1_7'

EXPORTING

s_city_name = s_city

code1 = code_c

IMPORTING

DISTRICT = dist

tables

t_cityinfo = t_result

changing

code = code1.

.

write :/'The city for which data is retrieved',s_city.

skip 1.

write :/'The district which is obtained from database',dist.

skip 1.

write :/'The data that is fetched and updated back to the database table sis:',code1.

FUNCTION MODULE OF ZPRASAD_1_7

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

53

CODE IN SOURCE CODE :

FUNCTION ZPRASAD_1_7.

*"----------------------------------------------------------------------

*"*"Local Interface:

*" IMPORTING

*" REFERENCE(S_CITY_NAME) TYPE ZCHAR20

*" REFERENCE(CODE1) TYPE ZNUM20

*" EXPORTING

*" REFERENCE(DISTRICT) TYPE ZCHAR20

*" TABLES

*" T_CITYINFO STRUCTURE ZCITYINFO

*" CHANGING

*" REFERENCE(CODE) TYPE ZNUM20

*"----------------------------------------------------------------------

*parameters : s_city_name type zchar20.

select * into table t_cityinfo from zcityinfo where city_name = s_city_name.

loop at t_cityinfo into wa_cityinfo.

district = wa_cityinfo-district.

endloop.

update zcityinfo set CITY_STD_CODE = code1 where district = district.

select single city_std_code from zcityinfo into code where city_name = s_city_name.

if sy-subrc = 0.

write: 'Successfully populated'.

endif.

skip 1.

ENDFUNCTION.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

54

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

55

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

56

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

57

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

58

OUTPUT :

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

59

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

60

-PROGRAMS TILL AUGUST 31ST 2012 SINCE AUGUST 1ST

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

61

*&---------------------------------------------------------------------*

*& Report ZPRASAD_24

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT zprasad_24.

DATA : t_cityinfo TYPE STANDARD TABLE OF zcityinfo.

DATA : wa1_cityinfo TYPE zcityinfo.

DATA : wa_cityinfo TYPE zcityinfo,wa_cityinfo2 LIKE wa_cityinfo.

DATA : dis TYPE char20,y TYPE i VALUE 0.

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

PARAMETERS : cityname TYPE zchar20," OBLIGATORY,

stdcode TYPE znum5," OBLIGATORY,

district TYPE zchar25." OBLIGATORY.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN : POSITION 42.

PARAMETERS : insert AS CHECKBOX.

SELECTION-SCREEN COMMENT 44(15) text-003.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.

SELECT-OPTIONS : select FOR wa_cityinfo-city_name.

PARAMETERS : delete AS CHECKBOX.

SELECTION-SCREEN END OF BLOCK b2.

SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-004.

PARAMETERS : cname TYPE zchar20,

code TYPE znum5,

distr TYPE zchar25 ,

distr1 TYPE zchar25 NO-DISPLAY.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN POSITION 42.

PARAMETERS : update AS CHECKBOX.

SELECTION-SCREEN COMMENT 44(6) text-005.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK b3.

wa_cityinfo-city_name = cityname.

wa_cityinfo-city_std_code = stdcode.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

62

wa_cityinfo-district = district.

IF insert = 'X'.

SELECT city_name city_std_code FROM zcityinfo INTO TABLE t_cityinfo WHERE c

ity_name = cityname OR city_std_code = stdcode. .

IF sy-subrc = 0.

MESSAGE i001(zinertsmsg).

ELSE.

INSERT zcityinfo FROM wa_cityinfo .

IF sy-subrc = 0.

MESSAGE i000(zinertsmsg) .

ENDIF.

ENDIF.

ENDIF.

AT SELECTION-SCREEN OUTPUT.

SELECT SINGLE city_name city_std_code district FROM zcityinfo INTO wa_cityi

nfo2 WHERE city_name = cname.

IF SY-SUBRC = 0.

cname = wa_cityinfo2-city_name.

code = wa_cityinfo2-city_std_code.

distr = wa_cityinfo2-district.

ENDIF.

END-OF-SELECTION.

DATA : DAT1 TYPE ZCHAR25.

DAT1 = DISTR.

IF update = 'X'.

IF distr NE ''.

UPDATE zcityinfo SET district = dat1 WHERE city_name = cname AND city

_std_code = code.

IF sy-subrc = 0.

MESSAGE i002(zinertsmsg).

ENDIF.

ELSE.

MESSAGE i003(zinertsmsg).

ENDIF.

ENDIF.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

63

*&---------------------------------------------------------------------*

*& Report ZPRASAD_25

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT zprasad_25.

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

PARAMETERS : var1(20) TYPE c,var2(20) TYPE c.

SELECTION-SCREEN END OF BLOCK b1.

DATA : x TYPE c,y TYPE c,len TYPE i,var11(20) TYPE c,var21(20) TYPE c,len1 TY

PE i,a TYPE i VALUE 0,b TYPE i VALUE 0.

DATA :temp(20) TYPE c,len2 TYPE i,ex TYPE i.

len = STRLEN( var1 ).

len1 = STRLEN( var2 ).

format hotspot on.

write : 'Click here to see the result'.

at line-selection.

DO len TIMES.

x = var1+a(1).

* write : 'First char in First name :',x.

* skip 1.

DO len1 TIMES.

y = var2+b(1).

* write : 'First char in 2nd name :', y.

* skip 1.

IF x EQ y.

SPLIT var2 AT y INTO var11 var21.

* write : 'Split b4 match char',var11.

* skip 1.

* write: 'Split after match char',var21.

* skip 1.

CONCATENATE var11 var21 INTO temp.

var2 = temp.

* write :'After concatenating',var2.

* skip 1.

SHIFT var1 LEFT BY 1 PLACES.

* write : 'First string after removing first char',var1.

* skip 1.

len1 = STRLEN( var2 ).

* write :'length after comparing string 1:', len1.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

64

* skip 1.

* clear : temp, var11, var21.

b = 0.

EXIT.

ELSE.

IF b <= len1.

b = b + 1.

* write : 'Current posi of char in 2nd string is:',b.

* skip 1.

* write : 'Len of 2nd string is:',len1.

* skip 1.

ENDIF.

ENDIF.

ENDDO.

IF b = len1.

ex = ex + 1.

SHIFT var1 LEFT BY 1 PLACES.

ENDIF.

a = 0.

b = 0.

len = STRLEN( var1 ).

ENDDO.

*len = strlen( var1 ).

*len1 = strlen( var2 ).

len2 = len + len1 + ex.

WRITE :'Total ', len2.

IF len2 > 6.

len2 = len2 - 6.

CASE len2.

WHEN 1.

WRITE : 'Friends' color 5.

WHEN 2.

WRITE : 'Lovers' color 1.

WHEN 3.

WRITE : 'Animals' color 6.

WHEN 4.

WRITE : 'Marriage' color 5.

WHEN 5.

WRITE : 'Enemies' color 6.

WHEN 6.

WRITE : 'Sisters/Brothers' color 4.

endcase.

else.

CASE len2.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

65

WHEN 1.

WRITE : 'Friends' color 5.

WHEN 2.

WRITE : 'Lovers' color 1.

WHEN 3.

WRITE : 'Animals' color 6.

WHEN 4.

WRITE : 'Marriage' color 5.

WHEN 5.

WRITE : 'Enemies' color 6.

WHEN 6.

WRITE : 'Sisters/Brothers' color 4.

endcase.

ENDIF.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

66

*&---------------------------------------------------------------------*

*& Report ZPRASAD_2

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT zprasad_2 LINE-COUNT 20(3) NO STANDARD PAGE HEADING.

TYPES : BEGIN OF w_mara,

matnr TYPE mara-matnr,

ersda TYPE mara-ersda,

ernam TYPE mara-ernam,

END OF w_mara.

DATA : t_mara TYPE STANDARD TABLE OF w_mara.

DATA : wa_mara TYPE w_mara.

TYPES : BEGIN OF w_marc,

matnr TYPE marc-matnr,

werks TYPE marc-werks,

END OF w_marc.

DATA : t_marc TYPE STANDARD TABLE OF w_marc.

DATA : wa_marc TYPE w_marc.

TYPES : BEGIN OF w_mard,

matnr TYPE mard-matnr,

werks TYPE mard-werks,

lgort TYPE mard-lgort,

END OF w_mard.

DATA : t_mard TYPE STANDARD TABLE OF w_mard.

DATA : wa_mard TYPE w_mard.

START-OF-SELECTION.

SELECT matnr ersda ernam INTO TABLE t_mara FROM mara.

END-OF-SELECTION.

LOOP AT t_mara INTO wa_mara.

WRITE : /10 wa_mara-matnr HOTSPOT ON,

30 wa_mara-ersda,

50 wa_mara-ernam.

HIDE wa_mara-matnr.

ENDLOOP.

TOP-OF-PAGE.

WRITE : 'Data with respect to STORAGE LOCATION'.

ABAP PRACTICE PROGRAMS R.S.V.V. PRASAD RAO

67

ULINE.

END-OF-PAGE.

ULINE.

WRITE : 'End of data'.

AT LINE-SELECTION.

SET PF-STATUS 'XYZ'.

SELECT matnr werks FROM marc INTO TABLE t_marc WHERE matnr = wa_mara-matnr.

LOOP AT t_marc INTO wa_marc.

WRITE :/10 wa_marc-matnr,

30 wa_marc-werks.

ENDLOOP.

TOP-OF-PAGE DURING LINE-SELECTION.

ULINE.

WRITE : 'Secondary list'.

ULINE.

AT USER-COMMAND.

CASE sy-ucomm.

WHEN 'DISPLAY'.

SELECT matnr werks lgort INTO TABLE t_mard FROM mard WHERE matnr = wa_m

ara-matnr.

LOOP AT t_mard INTO wa_mard.

WRITE : /10 wa_mard-matnr,30 wa_mard-werks,50 wa_mard-lgort.

ENDLOOP.

ENDCASE.

Recommended