2007 Aug 08 7:53 AM
pls send me a coding regarding a purchase order ..includng the fields
PO NO. VENDOR NO DATE CREATED
pls send me a coding regarding a purchase order ..includng the fields
PO NO. VENDOR NO DATE CREATED
2007 Aug 08 7:59 AM
hi,
TABLES: ekbz,ekpo,lfa1,makt,mara.
************************************************************************
***
*DECLARATION PART *
************************************************************************
***
DATA : total LIKE ekbz-dmbtr.
TYPES: BEGIN OF fds,
lifnr LIKE ekbz-lifnr, "Vendor Number
waers LIKE ekbz-waers, "Currency
ebeln LIKE ekbz-ebeln, "Purchase Document Number
ebelp LIKE ekbz-ebelp, "Item Number of Purchasing Document
belnr LIKE ekbz-belnr, "Accounting Document Number
xblnr LIKE ekbz-xblnr, "Reference Document Number
matnr LIKE ekpo-matnr, "Material Number
maktx LIKE makt-maktx, "Material Description
spras LIKE lfa1-spras, "Language Key
meins LIKE mara-meins, "Unit of Measure
dmbtr LIKE ekbz-dmbtr, "Freight amount
name1 LIKE lfa1-name1, "name1
kschl LIKE ekbz-kschl, "condition type
END OF fds.
DATA itab1 TYPE STANDARD TABLE OF fds WITH HEADER LINE.
************************************************************************
***
*INTERNAL TABLE FOR LFA1 TABLE *
************************************************************************
***
TYPES : BEGIN OF fieldst,
lifnr LIKE lfa1-lifnr,
name1 LIKE lfa1-name1,
adrnr LIKE lfa1-adrnr,
stras LIKE lfa1-stras,
pstlz LIKE lfa1-pstlz,
ort01 LIKE lfa1-ort01,
regio LIKE lfa1-regio,
pstl2 LIKE lfa1-pstl2,
END OF fieldst.
DATA itab2 TYPE TABLE OF fieldst WITH HEADER LINE.
DATA wa_itab2 LIKE LINE OF itab2.
************************************************************************
***
*SELECTION-SCREEN *
************************************************************************
***
SELECTION-SCREEN : BEGIN OF BLOCK blk WITH FRAME TITLE text-001.
SELECT-OPTIONS : s_ebeln FOR ekbz-ebeln,
s_lifnr FOR ekbz-lifnr,
s_belnr FOR ekbz-belnr,
s_xblnr FOR ekbz-xblnr.
PARAMETER p1 LIKE ekbz-vgabe DEFAULT '1'.
SELECTION-SCREEN : END OF BLOCK blk.
************************************************************************
***
*FETCHING RECORDS FROM EKBZ EKPO MAKT MARA TABLES *
************************************************************************
***
START-OF-SELECTION.
PERFORM selectdata.
END-OF-SELECTION.
************************************************************************
*******
LOOP AT itab1.
WRITE:/ itab1-lifnr HOTSPOT ON, 10 sy-vline,
itab1-waers, 25 sy-vline,
itab1-xblnr, 39 sy-vline,
itab1-belnr, 52 sy-vline,
itab1-ebelp, 60 sy-vline,
itab1-ebeln, 72 sy-vline,
76 itab1-matnr, 87 sy-vline,
91 itab1-name1, 98 sy-vline,
itab1-meins, 103 sy-vline,
107 itab1-maktx, 145 sy-vline,
149 itab1-dmbtr, 170 sy-vline.
HIDE : itab1-lifnr.
AT END OF waers.
SUM.
FORMAT COLOR 3.
ULINE (170).
WRITE: /108 '*Currency Total*', 149 itab1-dmbtr, 170 sy-vline.
FORMAT COLOR OFF.
ULINE (170).
ENDAT.
AT LAST.
FORMAT COLOR 4.
SUM.
SKIP.
ULINE (170).
WRITE: /108 '*Grand Total*' , 149 itab1-dmbtr, 170 sy-vline.
ENDAT.
ENDLOOP.
ULINE (170).
************************************************************************
***
*TOP-OF-PAGE *
************************************************************************
***
TOP-OF-PAGE.
WRITE: /40 'INTERACTIVE REPORT',
90 'DATE : ' , sy-datum.
ULINE.
WRITE: /01 'VENDOR NO' , 10 sy-vline,
12 'CURRENCY' , 25 sy-vline,
26 'REFERENCE NO' , 39 sy-vline,
41 'ACCOUNT NO' , 52 sy-vline,
53 'ITEMNO' , 60 sy-vline,
64 'PURNO' , 72 sy-vline,
74 'MATERIAL NO.' , 87 sy-vline,
91 'NAME1' , 98 sy-vline,
99 'UNIT' , 103 sy-vline,
112 'MATERIAL DESCRIPTION' , 145 sy-vline,
150 'FREIGHT AMT' , 170 sy-vline.
ULINE.
************************************************************************
***
*AT-LINE-SELECTION *
************************************************************************
***
AT LINE-SELECTION.
READ TABLE itab2 INTO wa_itab2 WITH KEY
lifnr = itab1-lifnr.
WRITE :/01 sy-vline,
02 wa_itab2-name1, 21 sy-vline,
25 wa_itab2-adrnr, 32 sy-vline,
wa_itab2-stras, 44 sy-vline,
wa_itab2-pstlz, 56 sy-vline,
wa_itab2-ort01, 68 sy-vline,
wa_itab2-regio, 80 sy-vline,
wa_itab2-pstl2, 89 sy-vline.
ULINE /1(89).
************************************************************************
***
*TOP-OF-PAGE DURING AT LINE-SELCTION *
************************************************************************
***
TOP-OF-PAGE DURING LINE-SELECTION.
ULINE 1(89).
WRITE: /01 sy-vline, 30 'INTERACTIVE REPORT',
60 sy-datum, 89 sy-vline.
ULINE /1(89).
SKIP.
ULINE 1(89).
WRITE:/01 sy-vline,
07 'Name' , 21 sy-vline,
23 'Address1', 32 sy-vline,
34 'Address2', 44 sy-vline,
46 'pobox' , 56 sy-vline,
58 'city' , 68 sy-vline,
70 'state' , 80 sy-vline,
82 'pin code', 89 sy-vline.
ULINE /1(89).
************************************************************************
*****
*FETCHING RECORDS FROM DATABASE TABLE *
************************************************************************
*****
FORM selectdata.
SELECT ekbzebeln ekbzwaers ekbzebelp ekbzbelnr ekbz~xblnr
ekpomatnr maktmaktx marameins ekbzdmbtr ekbz~lifnr
lfa1~name1 INTO CORRESPONDING FIELDS OF TABLE itab1
FROM ( ( ( ( ekbz INNER JOIN ekpo ON ekbzebeln = ekpoebeln
AND ekbzebelp = ekpoebelp )
INNER JOIN lfa1 ON ekbzlifnr = lfa1lifnr )
INNER JOIN makt ON lfa1spras = maktspras )
INNER JOIN mara ON maramatnr = maktmatnr
AND
maramatnr = ekpomatnr )
WHERE ekbz~ebeln IN s_ebeln AND
ekbz~lifnr IN s_lifnr AND
ekbz~belnr IN s_belnr AND
ekbz~xblnr IN s_xblnr AND
ekbz~kschl BETWEEN 'FRA1' AND 'FRC3' AND
vgabe EQ p1.
SORT itab1 BY lifnr waers.
IF NOT itab1[] IS INITIAL.
SELECT lifnr name1 adrnr stras pstlz ort01 regio pstl2
FROM lfa1 INTO TABLE itab2
FOR ALL ENTRIES IN itab1 WHERE lifnr = itab1-lifnr.
ENDIF.
ENDFORM. "selectdata
************************************************************************
<b>Reward points</b>
Regards,
Divya
2007 Aug 08 8:11 AM
Hi
See this sample report
&----
*& Report ZMM_PO_REPORT
&----
REPORT ZMM_PO_REPORT message-Id yb
NO STANDARD PAGE HEADING
LINE-COUNT 60(1)
LINE-SIZE 230.
************************************************************************
D A T A B A S E T A B L E S D E C L A R A T I O N
************************************************************************
TABLES: lfa1, " Vendor Master
t161, " PO Doc Types
t024, " Purchase Groups
ekko. " PO Header
************************************************************************
T Y P E S D E C L A R A T I O N S
************************************************************************
Purchase Orders Main Structure
TYPES: BEGIN OF s_po,
ebeln TYPE ebeln, " PO No.
ebelp TYPE ebelp, " PO Item
bstyp TYPE bstyp, " PO Category
bukrs TYPE bukrs, " Company Code
bsart TYPE bbsrt, " PO Type
lifnr TYPE lifnr, " Vendor No
ekgrp TYPE bkgrp, " Purchase Group
waers TYPE waers, " Currency
bedat TYPE etbdt, " PO Date
txz01 TYPE txz01, " Material Text
werks TYPE ewerk, " Plant
lgort TYPE lgort_d, " Storage Location
matkl TYPE matkl, " Material Group
menge TYPE bamng, " PR Quantity
meins TYPE bamei, " UOM
bprme TYPE bbprm, " Price Unit
netpr TYPE netpr, " Net price
peinh TYPE peinh, " Price Unit UOM
pstyp TYPE pstyp, " Item Category
knttp TYPE knttp, " Account Assignment Category
END OF s_po.
Purchase Orders History Structure
TYPES: BEGIN OF s_account,
ebeln TYPE ebeln, " PO No.
ebelp TYPE ebelp, " PO Item
gjahr TYPE mjahr, " Fiscal Year
belnr TYPE mblnr, " PO Invoice No
menge TYPE menge_d, " PR Quantity
wrbtr TYPE wrbtr, " Price in Local Currency
dmbtr TYPE dmbtr, " Price in Foreign Currency
waers TYPE waers, " Currency
shkzg TYPE shkzg, " Dr/Cr Indicator
END OF s_account.
Purchase Orders History Structure(Item Sum)
TYPES: BEGIN OF s_inv_sum,
ebeln TYPE ebeln, " PO No.
ebelp TYPE ebelp, " PO Item
menge TYPE menge_d, " PR Quantity
wrbtr TYPE wrbtr, " Price in Foreign Currency
waers TYPE waers, " Currency
END OF s_inv_sum.
Purchase Orders Main Structure
TYPES: BEGIN OF s_rep,
lifnr TYPE lifnr, " Vendor No
ebeln TYPE ebeln, " PO No.
ebelp TYPE ebelp, " PO Item
bstyp TYPE bstyp, " PO Category
bsart TYPE bbsrt, " PO Type
ekgrp TYPE bkgrp, " Purchase Group
waers TYPE waers, " Currency
bedat TYPE etbdt, " PO Date
txz01 TYPE txz01, " Material Text
werks TYPE ewerk, " Plant
lgort TYPE lgort_d, " Storage Location
matkl TYPE matkl, " Material Group
menge TYPE bamng, " PR Quantity
meins TYPE bamei, " UOM
bprme TYPE bbprm, " Price Unit
netpr TYPE netpr, " Net price
peinh TYPE peinh, " Price Unit UOM
pstyp TYPE pstyp, " Item Category
knttp TYPE knttp, " Account Assignment Category
name1 TYPE name1, " Plant
orewr TYPE netpr, " To be Invoiced Price
curr TYPE waers, " Inv Doc Currency
END OF s_rep.
************************************************************************
D A T A D E C L A R A T I O N S
************************************************************************
DATA: gv_title1 TYPE sylisel, " Report title
gv_dial. " Color flag
************************************************************************
C O N S T A N T S D E C L A R A T I O N S
************************************************************************
CONSTANTS: c_x VALUE 'X', " Flag X
c_h VALUE 'H', " Debit
c_vgabe TYPE vgabe VALUE '2'. " Transaction Type
************************************************************************
I N T E R N A L T A B L E S D E C L A R A T I O N S
************************************************************************
DATA: i_po TYPE STANDARD TABLE OF s_po WITH HEADER LINE,
" Purchase Order
i_inv TYPE STANDARD TABLE OF s_inv_sum WITH HEADER LINE,
" PO Invoice Values
i_rep TYPE STANDARD TABLE OF s_rep WITH HEADER LINE,
" PO Invoice Values
i_ekbe TYPE STANDARD TABLE OF s_account WITH HEADER LINE.
" PO Invoice Values
************************************************************************
S E L E C T I O N S C R E E N *
************************************************************************
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_lifnr FOR lfa1-lifnr MATCHCODE OBJECT kred,
s_ebeln FOR ekko-ebeln MATCHCODE OBJECT mekk,
s_bsart FOR t161-bsart,
s_ekgrp FOR t024-ekgrp,
s_bedat FOR ekko-bedat.
SELECTION-SCREEN END OF BLOCK b1.
************************************************************************
I N I T I A L I Z A T I O N *
************************************************************************
INITIALIZATION.
************************************************************************
A T S E L E C T I O N - S C R E E N *
************************************************************************
AT SELECTION-SCREEN.
Validate the screen fields
PERFORM validate_screen.
************************************************************************
S T A R T - O F - S E L E C T I O N *
************************************************************************
START-OF-SELECTION.
Fetch main data
PERFORM fetch_data.
************************************************************************
T O P - O F - P A G E *
************************************************************************
TOP-OF-PAGE.
Header of the List
PERFORM header.
************************************************************************
E N D - O F - P A G E *
************************************************************************
Footer
END-OF-PAGE.
ULINE.
************************************************************************
E N D - O F - S E L E C T I O N *
************************************************************************
END-OF-SELECTION.
Display the Report Output data
PERFORM display_data.
***********************************************************************
At Line-Selection
***********************************************************************
AT LINE-SELECTION.
When double clicked on EBELN display the details of Purchase Doc
PERFORM line_sel.
&----
*& Form validate_screen
&----
Validation of Selection Screen fields
----
FORM validate_screen .
Validation of Vendor Number
CLEAR lfa1-lifnr.
IF NOT s_lifnr[] IS INITIAL.
SELECT lifnr UP TO 1 ROWS
INTO lfa1-lifnr
FROM lfa1
WHERE lifnr IN s_lifnr.
ENDSELECT.
IF sy-subrc <> 0.
MESSAGE e000 WITH 'Invalid Vendor'(002).
ENDIF.
ENDIF.
Validation of PO Number
CLEAR ekko-ebeln.
IF NOT s_ebeln[] IS INITIAL.
SELECT ebeln UP TO 1 ROWS
INTO ekko-ebeln
FROM ekko
WHERE ebeln IN s_ebeln.
ENDSELECT.
IF sy-subrc <> 0.
MESSAGE e000 WITH 'Invalid Document Number'(003).
ENDIF.
ENDIF.
Validation of PO Document Type
CLEAR t161-bsart.
IF NOT s_bsart[] IS INITIAL.
SELECT bsart UP TO 1 ROWS
INTO t161-bsart
FROM t161
WHERE bsart IN s_bsart.
ENDSELECT.
IF sy-subrc <> 0.
MESSAGE e000 WITH 'Invalid Purchase Document Type'(004).
ENDIF.
ENDIF.
Validation of Purchasing Group
CLEAR t024-ekgrp.
IF NOT s_ekgrp[] IS INITIAL.
SELECT ekgrp UP TO 1 ROWS
INTO t024-ekgrp
FROM t024
WHERE ekgrp IN s_ekgrp.
ENDSELECT.
IF sy-subrc <> 0.
MESSAGE e000 WITH 'Invalid Purchasing Group'(005).
ENDIF.
ENDIF.
ENDFORM. " validate_screen
&----
*& Form fetch_data
&----
Fetching the PO related data from Database Tables
----
FORM fetch_data .
CLEAR i_po.
REFRESH i_po.
SELECT a~ebeln " PO No.
b~ebelp " PO Item
a~bstyp " PO Category
a~bukrs " Company Code
a~bsart " PO Type
a~lifnr " Vendor No
a~ekgrp " Purchase Group
a~waers " Currency
a~bedat " PO Date
b~txz01 " Material Text
b~werks " Plant
b~lgort " Storage Location
b~matkl " Material Group
b~menge " PR Quantity
b~meins " UOM
b~bprme " Price Unit
b~netpr " Net price
b~peinh " Price Unit UOM
b~pstyp " Item Category
b~knttp " Account Assignment Category
INTO TABLE i_po
FROM ekko AS a JOIN ekpo AS b
ON a~ebeln = b~ebeln
WHERE a~ebeln IN s_ebeln AND
a~lifnr IN s_lifnr AND
a~ekgrp IN s_ekgrp AND
a~bsart IN s_bsart AND
a~bedat IN s_bedat.
SORT i_po BY ebeln ebelp.
break-point.
IF NOT i_po[] IS INITIAL.
Fetch the PO History/Invoice Details from EKBE Table
CLEAR i_ekbe.
REFRESH i_ekbe.
SELECT ebeln " PO No.
ebelp " PO Item
gjahr " Fiscal Year
belnr " PO Invoice No
menge " PR Quantity
wrbtr " Price in Local Currency
dmbtr " Price in Foreign Currency
waers " Currency
shkzg " Dr/Cr Indicator
INTO TABLE i_ekbe
FROM ekbe
FOR ALL ENTRIES IN i_po
WHERE ebeln = i_po-ebeln AND
ebelp = i_po-ebelp AND
vgabe = c_vgabe.
IF sy-subrc = 0.
SORT i_ekbe BY ebeln ebelp.
LOOP AT i_ekbe.
IF i_ekbe-shkzg = c_h.
i_ekbe-wrbtr = i_ekbe-wrbtr * -1.
ENDIF.
MODIFY i_ekbe.
ENDLOOP.
break-point.
Sum up the Item wise Invoice totals
LOOP AT i_ekbe.
AT END OF ebelp.
READ TABLE i_ekbe INDEX sy-tabix.
SUM.
MOVE-CORRESPONDING i_ekbe TO i_inv.
APPEND i_inv.
ENDAT.
CLEAR i_inv.
ENDLOOP.
SORT i_inv BY ebeln ebelp.
break-point.
ENDIF.
ENDIF.
Move the Vendor Name and Invoice Values to I_rep Internal Table
LOOP AT i_po.
MOVE-CORRESPONDING i_po TO i_rep.
CLEAR i_inv.
READ TABLE i_inv WITH KEY ebeln = i_po-ebeln
ebelp = i_po-ebelp.
IF sy-subrc = 0.
i_rep-orewr = ( i_po-menge - i_inv-menge ) * i_po-netpr.
i_rep-curr = i_inv-waers.
ELSE.
i_rep-orewr = i_po-menge * i_po-netpr.
i_rep-curr = i_po-waers.
ENDIF.
break-point.
Get the Vendor Name
CLEAR lfa1-name1.
SELECT SINGLE name1 FROM lfa1 INTO lfa1-name1
WHERE lifnr = i_po-lifnr.
IF sy-subrc = 0.
i_rep-name1 = lfa1-name1.
ENDIF.
APPEND i_rep.
CLEAR i_rep.
break-point.
ENDLOOP.
SORT i_rep BY lifnr ebeln ebelp.
DELETE i_rep WHERE orewr LE 0.
break-point.
ENDFORM. " fetch_data
&----
*& Form display_data
&----
Display the Report Output data
----
FORM display_data .
DATA: lv_flag, " New Flag
lv_rec TYPE i. " No of Records
CLEAR lv_rec.
IF i_rep[] IS INITIAL.
MESSAGE e000 WITH 'No Data found'(022).
ELSE.
LOOP AT i_rep.
Toggle Color
PERFORM toggle_color.
IF lv_flag <> space.
NEW-LINE.
ENDIF.
At New Purchase Document
AT NEW ebeln.
WRITE:/1 sy-vline, 2(10) i_rep-ebeln INTENSIFIED OFF.
lv_flag = c_x.
lv_rec = lv_rec + 1.
ENDAT.
WRITE: 1 sy-vline,
12 sy-vline,13(4) i_rep-bsart,
17 sy-vline,18(10) i_rep-lifnr,
28 sy-vline,29(35) i_rep-name1,
64 sy-vline,65(4) i_rep-ekgrp,
69 sy-vline,70(10) i_rep-bedat,
80 sy-vline,81(5) i_rep-ebelp,
86 sy-vline,87(40) i_rep-txz01,
127 sy-vline,128(9) i_rep-matkl,
137 sy-vline,138(1) i_rep-pstyp,
139 sy-vline,140(1) i_rep-knttp,
141 sy-vline,142(4) i_rep-werks,
146 sy-vline,147(4) i_rep-lgort,
151 sy-vline,152(13) i_rep-menge UNIT i_rep-meins,
165 sy-vline,166(3) i_rep-meins,
169 sy-vline,170(15) i_rep-netpr CURRENCY i_rep-waers,
185 sy-vline,186(4) i_rep-waers,
190 sy-vline,191(5) i_rep-peinh,
196 sy-vline,197(4) i_rep-bprme,
201 sy-vline,202(15) i_rep-orewr CURRENCY i_rep-curr,
217 sy-vline,218(4) i_rep-curr,
222 sy-vline,223(7) i_rep-bstyp centered,
230 sy-vline.
NEW-LINE.
hide: i_rep-ebeln.
ENDLOOP.
ULINE.
FORMAT COLOR OFF.
WRITE : /2 'Total Number of Purchasing Documents:'(025) COLOR 3,
lv_rec COLOR 3.
ENDIF.
ENDFORM. " display_data
&----
*& Form header
&----
Write the Report Header
----
FORM header .
FORMAT RESET.
header
WRITE:/1(230) 'LIST OF PURCHASE DOCUMENTS PER VENDOR'(006) CENTERED.
SKIP.
FORMAT COLOR COL_HEADING.
ULINE.
WRITE:/1 sy-vline,2(10) 'Pur.Doc.No'(006) CENTERED,
12 sy-vline,13(4) 'Type'(007),
17 sy-vline,18(10) 'Vendor'(008) CENTERED,
28 sy-vline,29(35) 'Name'(009) CENTERED,
64 sy-vline,65(4) 'PGrp'(010) CENTERED,
69 sy-vline,70(10) 'Doc.Date'(012) CENTERED,
80 sy-vline,81(5) 'Item'(011),
86 sy-vline,87(40) 'Material Short Text'(024) CENTERED,
127 sy-vline,128(9) 'Mat.Group'(013),
137 sy-vline,138(1) 'I',
139 sy-vline,140(1) 'A',
141 sy-vline,142(4) 'Plnt'(014),
146 sy-vline,147(4) 'SLoc'(015),
151 sy-vline,152(13) 'Quantity'(016) CENTERED,
165 sy-vline,166(3) 'UoM'(017),
169 sy-vline,170(15) 'Net Value'(018) CENTERED,
185 sy-vline,186(4) 'Curr'(019),
190 sy-vline,191(5) 'Per'(020),
196 sy-vline,197(4) 'Unit'(021),
201 sy-vline,202(15) 'To be Invoiced'(023) CENTERED,
217 sy-vline,218(4) 'Curr'(019),
222 sy-vline,223(7) 'Doc.Cat'(026),
230 sy-vline.
ULINE.
ENDFORM. " header
&----
*& Form toggle_color
&----
This routine alters the color of the records in the list
----
FORM toggle_color.
IF gv_dial = space.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
gv_dial = c_x.
ELSE.
FORMAT COLOR 1 INTENSIFIED OFF.
CLEAR gv_dial.
ENDIF.
ENDFORM. " toggle_color
&----
*& Form LINE_SEL
&----
*When double clicked on EBELN field display the details of Purchase Doc
----
FORM line_sel.
CASE sy-lsind.
WHEN '1'.
DATA: lv_field(20),
lv_value(10),
lv_bstyp like i_rep-bstyp.
clear: lv_bstyp,lv_value, lv_field.
GET CURSOR FIELD lv_field VALUE lv_value.
IF lv_field = 'I_REP-EBELN'.
IF NOT lv_value IS INITIAL.
READ LINE sy-index FIELD VALUE i_rep-bstyp
INTO lv_bstyp.
READ CURRENT LINE FIELD VALUE i_rep-bstyp INTO lv_bstyp.
if lv_bstyp = 'F'.
SET PARAMETER ID 'BES' FIELD lv_value.
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
elseif ( lv_bstyp = 'K' or lv_bstyp = 'L' ).
SET PARAMETER ID 'VRT' FIELD lv_value.
CALL TRANSACTION 'ME33' AND SKIP FIRST SCREEN.
elseif lv_bstyp = 'A'.
SET PARAMETER ID 'ANF' FIELD lv_value.
CALL TRANSACTION 'ME43' AND SKIP FIRST SCREEN.
endif.
ENDIF.
ENDIF.
ENDCASE.
ENDFORM. " line_sel
<b>Reward points for useful Answers</b>
Regards
Anji
2007 Aug 08 8:13 AM
Hi,
try this
data: itab like ekko occurs 0 with header line.
data: itab1 like ekpo occurs 0 with header line.
select * from ekko into table itab up to 10 rows.
if itab[] is not initial.
select * from ekpo into table itab1 for all entries in
itab where ebeln = itab-ebeln.
endif.
loop at itab.
write:/ itab-ebeln
hotspot on, itab-aedat.
hide itab-ebeln.
endloop.
at line-selection.
if sy-lsind = 1.
loop at itab1 where ebeln = sy-lisel+0(10).
write:/ itab1-ebeln, itab1-ebelp.
endloop.
endif.
thanks & regards,
venkatesh
2007 Aug 08 8:30 AM
Hi Guru,,,,
Here i m sending you one Standard code ...it will show you
the Purchasing Documents per Vendor and you can see it
with trnc ME2L.
<b>CODE:</b>
report rm06el00 no standard page heading line-size 81 message-id me.
enhancement-point rm06el00_g4 spots es_rm06el00 static.
$$-Start: RM06EL00_G4----
-
$$
enhancement 1 mgv_generated_rm06el00. "active version
initialization.
data: mgv_matnr_prog like rsvar-report,
mgv_matnr_selopt_tab like rsldbdfs occurs 0 with header line.
field-symbols type standard table.
endenhancement.
$$-End: RM06EL00_G4----
-
$$
enhancement-point rm06el00_g5 spots es_rm06el00.
$$-Start: RM06EL00_G5----
-
$$
enhancement 2 mgv_generated_rm06el00. "active version
mgv_matnr_prog = sy-repid.
mgv_matnr_selopt_tab-name = 'S_MATNR' .
append mgv_matnr_selopt_tab.
call function 'MGV_SELOP_AFTER_INITIALIZATION'
exporting
program = mgv_matnr_prog
tables
selop = mgv_matnr_selopt_tab
exceptions
no_programname = 1
others = 2
.
endenhancement.
$$-End: RM06EL00_G5----
-
$$
enhancement-point rm06el00_g6 spots es_rm06el00 static.
$$-Start: RM06EL00_G6----
-
$$
enhancement 3 mgv_generated_rm06el00. "active version
start-of-selection.
endenhancement.
$$-End: RM06EL00_G6----
-
$$
enhancement-point rm06el00_g7 spots es_rm06el00.
$$-Start: RM06EL00_G7----
-
$$
enhancement 4 mgv_generated_rm06el00. "active version
loop at mgv_matnr_selopt_tab.
concatenate mgv_matnr_selopt_tab-name'[]' into
mgv_matnr_selopt_tab-name.
assign (mgv_matnr_selopt_tab-name) to .
endif.
endloop.
endenhancement.
$$-End: RM06EL00_G7----
-
$$
************************************************************************
Anzeigen Einkaufsbelege zum Lieferanten *
************************************************************************
note 210280: LINE-SIZE 81
*----
*
Tabellen *
*----
*
include fm06lto1.
*----
*
Parameter und Select-Options *
*----
*
select-options:
el_lifnr for ekko-lifnr memory id lif matchcode object kred,
el_ekorg for ekko-ekorg memory id eko.
selection-screen function key 1.
parameters:
el_selkb like ekko-bstyp no-display default 'X',
el_selkk like ekko-bstyp no-display default 'X',
el_selkl like ekko-bstyp no-display default 'X',
el_selka like ekko-bstyp no-display default 'X'.
include fm06lcs1.
include fm06lcs3.
include fm06lcs4.
include fm06lcs2.
include selopt_cnt_call. "new for ERP 1.0 PA
*----
*
Hilfsfelder *
*----
*
include fm06lcek.
*----
*
Intitialisierung *
*----
*
initialization.
set titlebar '001'.
perform anforderungsbild(sapfm06l) using el_selkb el_selkk
el_selkl el_selka.
*----
*
Selektionsbild / Selection screen *
*----
*
at selection-screen on selpa.
perform selpa_analyse(sapfm06l).
at selection-screen on listu.
perform listumfang(sapfm06l) using listu.
at selection-screen.
call function 'ME_ITEM_CATEGORY_SELOPT_INPUT'
tables
ext_pstyp = s_pstyp
int_pstyp = r_pstyp.
perform bstyp_bestimmen(sapfm06l) using el_selkb el_selkk
el_selkl el_selka.
at selection-screen output.
Andere Reports: modify_anfo ueber log. DB SAPDBxx dort wird
in aehnliche Form-Routine modify_anfo(sapfm06d) gesprungen!!!
perform modify_anfo(sapfm06l) using 'L'.
*----
*
F4 auf dem Selektionsbild / F4 on the selection screen *
*----
*
at selection-screen on value-request for s_pstyp-low.
call function 'HELP_VALUES_EPSTP'
exporting
program = sy-cprog
dynnr = sy-dynnr
fieldname = 'S_PSTYP-LOW'
BSART =
BSTYP =
importing
epstp = s_pstyp-low
exceptions
others = 1.
*----
*
Beginn der Selektion *
*----
*
start-of-selection.
perform force_alv(sapfm06l) using p_alv. "new for ERP 1.0 PA
perform pf_status(sapfm06l) using el_selkb el_selkk
el_selkl el_selka.
set titlebar '001'.
not_found = 'X'.
*- Lesen Belegköpfe -
*
select * from ekko
where lifnr in el_lifnr
and ekorg in el_ekorg
and bstyp in r_bstyp
and bsart in s_bsart
and ekgrp in s_ekgrp
and ebeln in s_ebeln
and reswk in s_reswk
and bedat in s_bedat
order by lifnr bstyp ebeln.
*- Köpfe verarbeiten -
*
perform ekko_merken(sapfm06l).
endselect.
*- Köpfe verabeiten für letztes Belegnummernintervall -
*
perform zugriff_kopf(sapfm06l).
perform pos_nach_kopf(sapfm06l).
*----
*
Ende der Selektion *
*----
*
end-of-selection.
perform count_workload(sapfm06l) using p_wlmem. "new for ERP 1.0 PA
perform end_of_selection(sapfm06l).
write /(81) sy-uline.
*----
*
OK-Code-Eingabe *
*----
*
at user-command.
perform user_command(sapfm06l).
*----
*
Seitenueberschrift *
*----
*
top-of-page.
perform top(sapfm06l).
top-of-page during line-selection.
if sy-pfkey = 'EKAB'.
perform ekab_top(sapfm06l).
else.
perform top(sapfm06l).
endif.
Hope this will solve your problem,,,,,
Plz reward points if answer is helpful.......
Regards,
Mandeep.
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |