67
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,

My Abap Practice Programs

Embed Size (px)

Citation preview

Page 1: My Abap Practice Programs

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,

Page 2: My Abap Practice Programs

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.

Page 3: My Abap Practice Programs

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'.

Page 4: My Abap Practice Programs

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,

Page 5: My Abap Practice Programs

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

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

Page 6: My Abap Practice Programs

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

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

Page 7: My Abap Practice Programs

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

*&

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

Page 8: My Abap Practice Programs

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.

Page 9: My Abap Practice Programs

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.

Page 10: My Abap Practice Programs

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.

Page 11: My Abap Practice Programs

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.

Page 12: My Abap Practice Programs

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.

Page 13: My Abap Practice Programs

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.

Page 14: My Abap Practice Programs

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

14

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

*& Report ZPRASAD_6

*&

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

*&

*&

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

REPORT zprasad_6.

TABLES : sflight.

Page 15: My Abap Practice Programs

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,

Page 16: My Abap Practice Programs

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,

Page 17: My Abap Practice Programs

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.

Page 18: My Abap Practice Programs

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.

Page 19: My Abap Practice Programs

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.

Page 20: My Abap Practice Programs

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.

Page 21: My Abap Practice Programs

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,

Page 22: My Abap Practice Programs

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.

Page 23: My Abap Practice Programs

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

23

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

ENDAT.

ENDLOOP.

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

*& Report ZPRASAD_9

Page 24: My Abap Practice Programs

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.

Page 25: My Abap Practice Programs

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.

Page 26: My Abap Practice Programs

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.

Page 27: My Abap Practice Programs

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

Page 28: My Abap Practice Programs

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.

Page 29: My Abap Practice Programs

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 :

Page 30: My Abap Practice Programs

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.

*

Page 31: My Abap Practice Programs

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

Page 32: My Abap Practice Programs

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).

Page 33: My Abap Practice Programs

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.

Page 34: My Abap Practice Programs

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

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

Page 35: My Abap Practice Programs

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 :

Page 36: My Abap Practice Programs

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

36

Page 37: My Abap Practice Programs

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

37

Page 38: My Abap Practice Programs

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

38

Page 39: My Abap Practice Programs

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

39

Page 40: My Abap Practice Programs

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 :

Page 41: My Abap Practice Programs

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

41

Page 42: My Abap Practice Programs

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

42

Page 43: My Abap Practice Programs

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

43

Page 44: My Abap Practice Programs

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

44

Page 45: My Abap Practice Programs

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.

Page 46: My Abap Practice Programs

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.

Page 47: My Abap Practice Programs

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.

Page 48: My Abap Practice Programs

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.

Page 49: My Abap Practice Programs

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

Page 50: My Abap Practice Programs

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

50

PLACE THE CURSOR ON THE TEXT (LINE SELECTION EVENT)

Page 51: My Abap Practice Programs

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

51

Page 52: My Abap Practice Programs

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

Page 53: My Abap Practice Programs

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.

Page 54: My Abap Practice Programs

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

54

Page 55: My Abap Practice Programs

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

55

Page 56: My Abap Practice Programs

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

56

Page 57: My Abap Practice Programs

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

57

Page 58: My Abap Practice Programs

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

58

OUTPUT :

Page 59: My Abap Practice Programs

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

59

Page 60: My Abap Practice Programs

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

60

-PROGRAMS TILL AUGUST 31ST 2012 SINCE AUGUST 1ST

Page 61: My Abap Practice Programs

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.

Page 62: My Abap Practice Programs

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.

Page 63: My Abap Practice Programs

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.

Page 64: My Abap Practice Programs

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.

Page 65: My Abap Practice Programs

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.

Page 66: My Abap Practice Programs

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'.

Page 67: My Abap Practice Programs

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.