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

ABAP OBJECTS Programming Sample Project With Employee Class

Uploaded by

Deepak
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views

ABAP OBJECTS Programming Sample Project With Employee Class

Uploaded by

Deepak
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

ABAP Interactive Reporting Sample Code about:reader?url=http://sapbrainsonline.com/abap-tutorial/codes/abap-int...

sapbrainsonline.com

ABAP Interactive Reporting Sample


Code
Requirement:
List the first 100 purchase requisitions at the plant ‘PL01’ (table
EBAN). Then make it possible to change the purchase requisition
itself from the list by clicking twice on the row or by using a
push-button.

Solution:
In the purchasing (MM module) you can process the purchase
requisitions. The purchase requisitions define primarily the need for
a material/service. List the first 100 purchase requisitions at the
plant ‘PL01’ (table EBAN). Then make it possible to change the
purchase requisition itself from the list by clicking twice on the row
or by using a push-button.

ADDITIONAL REQUIREMENTS TO THE LIST:

1. CONTENT: PURCHASE REQUISITION NUMBER, ITEM


NUMBER, DOCUMENT TYPE, MATERIAL, QUANTITY, UNIT OF
MEASURE

2. LAYOUT: MAIN HEADER SHOULD INCLUDE

PROGRAM NAME, COMPANY NAME, PLANT, PURCHASE


GROUP, CREATION DATE, PAGE NUMBER

3. ONE PAGE SHOULD HAVE 50 LINE ITEM

report zmjud001 no standard page heading line-size 85 line-count


50.
* DATA /TABLES DECLARATION*
tables: eban.
data: prog_nam(8).
data: begin of pur_req occurs 100,

1 of 5 8/22/2016 10:08 PM
ABAP Interactive Reporting Sample Code about:reader?url=http://sapbrainsonline.com/abap-tutorial/codes/abap-int...

ekgrp like eban-ekgrp,


werks like eban-werks,
banfn like eban-banfn,
bnfpo like eban-bnfpo,
bsart like eban-bsart,
estkz like eban-estkz,
matnr like eban-matnr,
menge like eban-menge,
meins like eban-meins,
numb(3) type n.

data: end of pur_req.


* THE REPORT HEADER
prog_nam = sy-repid.
top-of-page.

perform header_write.
* SELECTION
start-of-selection.

pur_req-numb = 1.
* SELECT ONLY THOSE FIELDS THAT WILL BE USED FROM
THE TABLE EBAN, AND ONLY
*THE FIRST100 RECORDS OF THE THE PLANT ‘PL01’

select banfn bnfpo bsart ekgrp matnr werks menge meins frgdt
estkz

into corresponding fields of eban from eban up to 100 rows


where bsart = ‘NB’ “document type ‘NB’ = purchase requisition

and werks = ‘PL01’


and statu = ‘N’ “processing status
and loekz = ‘ ‘. “deletion indicator
* THE SELECTED RECORDS SHOULD BE APPENDED TO
INTERNAL TABLE ‘PUR_REQ’

pur_req-banfn = eban-banfn.
pur_req-matnr = eban-matnr.
pur_req-werks = eban-werks.

2 of 5 8/22/2016 10:08 PM
ABAP Interactive Reporting Sample Code about:reader?url=http://sapbrainsonline.com/abap-tutorial/codes/abap-int...

pur_req-ekgrp = eban-ekgrp.
pur_req-bnfpo = eban-bnfpo.
pur_req-bsart = eban-bsart.
pur_req-menge = eban-menge.
pur_req-meins = eban-meins.
pur_req-estkz = eban-estkz.
append pur_req.
pur_req-numb = pur_req-numb + 1.
endselect.
* CHECK WHETHER THE TABLE EBAN CONTAINS ANY
PURCHASE REQUISITIONS

if sy-subrc ne 0.

write: / ‘No Purchase Requisition found.’.


endif.
* PROCESS THE INTERNAL TABLE; WRITE OUT THE
REQUIRED FIELDS AND HIDE THE
*FIELDS YOU ARE GOING TO USE LATER

loop at pur_req.

write: /1 pur_req-numb, 9 pur_req-banfn, 21 pur_req-bnfpo, 31


pur_req-bsart, 41 pur_req-matnr,
61 pur_req-menge unit pur_req-meins, 82 pur_req-meins.
hide: pur_req-matnr, pur_req-werks, pur_req-banfn.
endloop.
clear pur_req-banfn. clear pur_req-matnr. clear pur_req-werks.
* IN THE MENU PAINTER (SE41) CREATE A STATUS TO YOUR
PROGRAM. HERE YOU CAN
*DEFINE THE PUSH-BUTTON

set pf-status ‘basic’.


* CHOOSE A REQUISITION (WITH DOUBLE CLICKING OR
PUSH-BUTTON) IN THE LIST! THE
*PURCHASE REQUISITION IS GOING TO COME UP
at line-selection.

if pur_req-banfn <> space.

3 of 5 8/22/2016 10:08 PM
ABAP Interactive Reporting Sample Code about:reader?url=http://sapbrainsonline.com/abap-tutorial/codes/abap-int...

set parameter id ‘BAN’ field pur_req-banfn. ” parameter id for


pruchase req. number
call transaction ‘ME52’ and skip first screen. “trans. code ‘ME52’:
Change Purchase Requis.
clear pur_req-banfn. clear pur_req-matnr.
clear pur_req-werks.
endif.
* FORM THE HEADER
form header_write.

write: / prog_nam, 32 ‘FUN-FACTORY’,

/ ‘Purch.Gr.:’, pur_req-ekgrp, 26 ‘Purchase Requisition List’,


61 ‘As Of Date:’, 75 sy-datum,
/ ‘Plant:’, pur_req-werks, 61 ‘Page:’, 75 sy-pagno.
uline.
write: / text-001,

/ text-002.
uline.
endform.

NOTES:

1. PUSH-BUTTON DEFINITION (SE11)

In the Menu Painter a status must be created where you can


maintain the function keys

2. MAINTAIN THE TEXT ELEMENT TO THE HEADER OF THE


LIST

(SE38 choose the object component ‘TEXT ELEMENTS’ at the first


screen, then the’TEXT SYMBOLS’. Here you can add a number
(I.E. 001) to ‘TEXT SYMBOL’ and write the header title into the text
field like this:

001
Numb.__Requisition__Item___Document_____Material_____________________Quantity_Unit_

4 of 5 8/22/2016 10:08 PM
ABAP Interactive Reporting Sample Code about:reader?url=http://sapbrainsonline.com/abap-tutorial/codes/abap-int...

002
_________Number_____Num______Type________________________________________Me

THE FIRST 15 LINE ITEMS OF THE RESULT AND THE


HEADERS:

ZMJUD001 FUN-FACTORY
Purch. Gr.: 001 Purchase Requisition List As Of Date:
05/09/1997
Plant: D031 Page: 1
————————————————————————-
Numb. Requisition Item Document Material Quantity Unit
of
Number Num Type Measure
————————————————————————-

1 10049227 00010 NB 11141-030 23.000 CS


2 10049223 00010 NB 11141-030 23.000 CS
3 10049225 00010 NB 11141-030 13.000 CS
4 10049226 00010 NB 11141-030 9.000 CS
5 10049224 00010 NB 11141-030 23.000 CS
6 10049222 00010 NB 11141-030 23.000 CS
7 10049221 00010 NB 11141-030 38.000 CS
8 10049228 00010 NB 11141-030 23.000 CS
9 10049229 00010 NB 11141-030 23.000 CS
10 10049230 00010 NB 11141-030 22.000 CS
11 10049231 00010 NB 11141-030 24.000 CS
12 10049232 00010 NB 11141-030 24.000 CS
13 10049233 00010 NB 11141-030 24.000 CS
14 10049234 00010 NB 11141-030 23.000 CS
15 10049235 00010 NB 11141-030 5.000 CS

Judit Rakovits

5 of 5 8/22/2016 10:08 PM

You might also like