‎2007 Jul 20 10:31 AM
can anybody send me one sample report program which include for all entries?
Regards,
pandu.
‎2007 Jul 20 10:34 AM
----
Report YSG_MATERIAL_STOCK_REPORT *
----
REPORT YSG_MATERIAL_STOCK_REPORT LINE-SIZE 174
LINE-COUNT 25(5)
NO STANDARD PAGE HEADING.
&----
*& TABLE DECLARATION *
&----
TABLES: MARA,MARC,MARD,MBEW,MVKE,MAKT.
&----
*& INTERNAL TABLE DECLARATION *
&----
DATA: BEGIN OF I_MARC OCCURS 0,
MATNR LIKE MARC-MATNR,
WERKS LIKE MARC-WERKS,
LVORM LIKE MARC-LVORM,
PSTAT LIKE MARC-PSTAT,
END OF I_MARC.
DATA: BEGIN OF I_MARA OCCURS 0,
MATNR LIKE MARA-MATNR,
MBRSH LIKE MARA-MBRSH,
MEINS LIKE MARA-MEINS,
END OF I_MARA.
DATA: BEGIN OF I_MAKT OCCURS 0,
MATNR LIKE MAKT-MATNR,
MAKTX LIKE MAKT-MAKTX,
END OF I_MAKT.
DATA: BEGIN OF I_MBEW OCCURS 0,
MATNR LIKE MBEW-MATNR,
BWKEY LIKE MBEW-BWKEY,
BWTAR LIKE MBEW-BWTAR,
LBKUM LIKE MBEW-LBKUM,
END OF I_MBEW.
DATA: BEGIN OF I_MVKE OCCURS 0,
MATNR LIKE MVKE-MATNR,
VKORG LIKE MVKE-VKORG,
VTWEG LIKE MVKE-VTWEG,
END OF I_MVKE.
DATA: BEGIN OF I_MARD OCCURS 0,
MATNR LIKE MARD-MATNR,
WERKS LIKE MARD-WERKS,
LGORT LIKE MARD-LGORT,
LABST LIKE MARD-LABST,
END OF I_MARD.
DATA: BEGIN OF I_OUT OCCURS 0,
MATNR LIKE MARC-MATNR,
WERKS LIKE MARC-WERKS,
LVORM LIKE MARC-LVORM,
PSTAT LIKE MARC-PSTAT,
MBRSH LIKE MARA-MBRSH,
MEINS LIKE MARA-MEINS,
MAKTX LIKE MAKT-MAKTX,
BWKEY LIKE MBEW-BWKEY,
BWTAR LIKE MBEW-BWTAR,
LBKUM LIKE MBEW-LBKUM,
VKORG LIKE MVKE-VKORG,
VTWEG LIKE MVKE-VTWEG,
LGORT LIKE MARD-LGORT,
LABST LIKE MARD-LABST,
END OF I_OUT.
&----
*& A T - 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-101.
PARAMETERS: P_WERKS LIKE MARC-WERKS.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-102.
SELECT-OPTIONS: S_MATNR FOR MARC-MATNR,
S_LGORT FOR MARD-LGORT.
SELECTION-SCREEN END OF BLOCK B2.
&----
*& INITIALIZATION.
&----
INITIALIZATION.
P_WERKS = '3000'.
S_MATNR-SIGN = 'I'.
S_MATNR-OPTION = 'EQ'.
S_MATNR-LOW = 'M-14'.
S_MATNR-HIGH = 'M-17'.
S_LGORT-SIGN = 'I'.
S_LGORT-OPTION = 'EQ'.
S_LGORT-LOW = '0001'.
S_LGORT-HIGH = '0007'.
APPEND S_LGORT.
APPEND S_MATNR.
CLEAR S_MATNR.
CLEAR S_LGORT.
&----
*& S T A R T - O F - S E L E C T I O N *
&----
START-OF-SELECTION.
SELECT MATNR WERKS LVORM FROM MARC
INTO TABLE I_MARC
WHERE WERKS = P_WERKS
AND MATNR IN S_MATNR.
SELECT MATNR MBRSH MEINS FROM MARA
INTO TABLE I_MARA
FOR ALL ENTRIES IN I_MARC
WHERE MATNR = I_MARC-MATNR.
SELECT MATNR MAKTX FROM MAKT
INTO TABLE I_MAKT
FOR ALL ENTRIES IN I_MARA
WHERE MATNR = I_MARA-MATNR
AND SPRAS = SY-LANGU.
SELECT MATNR BWKEY BWTAR FROM MBEW
INTO TABLE I_MBEW
FOR ALL ENTRIES IN I_MARA
WHERE MATNR = I_MARA-MATNR.
SELECT MATNR VKORG VTWEG FROM MVKE
INTO TABLE I_MVKE
FOR ALL ENTRIES IN I_MARA
WHERE MATNR = I_MARA-MATNR.
SELECT MATNR WERKS LGORT LABST FROM MARD
INTO TABLE I_MARD
FOR ALL ENTRIES IN I_MARC
WHERE MATNR = I_MARC-MATNR
AND WERKS = P_WERKS
AND LGORT IN S_LGORT..
&----
*& MOVING DATA TO I-OUT *
&----
LOOP AT I_MARC.
PERFORM MOVE USING I_MARC-MATNR I_OUT-MATNR.
PERFORM MOVE USING I_MARC-WERKS I_OUT-WERKS.
PERFORM MOVE USING I_MARC-LVORM I_OUT-LVORM.
READ TABLE I_MARA WITH KEY MATNR = I_MARD-MATNR.
PERFORM MOVE USING I_MARA-MBRSH I_OUT-MBRSH.
PERFORM MOVE USING I_MARA-MEINS I_OUT-MEINS.
READ TABLE I_MAKT WITH KEY MATNR = I_MARD-MATNR.
PERFORM MOVE USING I_MAKT-MAKTX I_OUT-MAKTX.
READ TABLE I_MBEW WITH KEY MATNR = I_MARD-MATNR.
PERFORM MOVE USING I_MBEW-BWKEY I_OUT-BWKEY.
PERFORM MOVE USING I_MBEW-BWTAR I_OUT-BWTAR.
READ TABLE I_MVKE WITH KEY MATNR = I_MARD-MATNR.
PERFORM MOVE USING I_MVKE-VKORG I_OUT-VKORG.
PERFORM MOVE USING I_MVKE-VTWEG I_OUT-VTWEG.
LOOP AT I_MARD WHERE MATNR = I_MARC-MATNR
AND WERKS = I_MARC-WERKS.
PERFORM MOVE USING I_MARD-LGORT I_OUT-LGORT.
PERFORM MOVE USING I_MARD-LABST I_OUT-LABST.
APPEND I_OUT.
ENDLOOP.
CLEAR I_OUT.
ENDLOOP.
&----
*& DISPLAYING FROM I-OUT *
&----
LOOP AT I_OUT.
FORMAT HOTSPOT ON.
WRITE: / SY-ULINE,I_OUT-MATNR,SY-VLINE,
I_OUT-WERKS,SY-VLINE,
I_OUT-LGORT,SY-VLINE,
I_OUT-LABST,SY-VLINE,
I_OUT-LVORM,62 SY-VLINE,
I_OUT-MBRSH,73 sy-vline,
I_OUT-MEINS,80 SY-VLINE,
I_OUT-VTWEG,95 SY-VLINE,
I_OUT-BWKEY,107 SY-VLINE,
I_OUT-BWTAR,SY-VLINE,
I_OUT-VKORG,131 SY-VLINE,
I_OUT-MAKTX,SY-VLINE.
HIDE I_OUT-MATNR.
FORMAT HOTSPOT OFF.
ENDLOOP.
WRITE : SY-ULINE.
&----
*& E N D -- O F -- S E L E C T I O N *
&----
END-OF-SELECTION.
&----
*& A T - L I N E - S E L E C T I O N *
&----
AT LINE-SELECTION.
SET PF-STATUS 'PFS'.
CASE SY-LSIND.
WHEN 1.
SELECT MATNR WERKS LGORT LABST
FROM MARD
INTO TABLE I_MARD
WHERE MATNR = I_OUT-MATNR
AND WERKS = P_WERKS.
IF SY-SUBRC = 0.
FORMAT COLOR 4 INTENSIFIED OFF.
LOOP AT I_MARD.
WINDOW STARTING AT 75 75 ENDING AT 105 105.
WRITE:/ 'MATERIAL NUMBER:'.
WRITE: I_MARD-MATNR.
WRITE:/ 'PLANT:'.
WRITE: I_MARD-WERKS.
WRITE:/ 'STORAGE LOCATION:' .
WRITE: I_MARD-LGORT.
SKIP.
ENDLOOP.
ENDIF.
ENDCASE.
&----
*& A T U S E R C O M M A N D D U R I N G L I N E - S E L E C T I O N *
&----
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
&----
*& TOP-OF-PAGE DURING LINE-SELECTION *
&----
TOP-OF-PAGE DURING LINE-SELECTION.
WRITE 6 'MATERIAL MASTER REPORT' COLOR 4.
FORMAT COLOR 4 INTENSIFIED OFF.
&----
*& T O P - O F - P A G E *
&----
TOP-OF-PAGE.
WRITE: /60 'MATERIAL MASTER REPORT' COLOR 4.
WRITE: SY-ULINE.
FORMAT COLOR 4 INTENSIFIED OFF.
WRITE: / 'MATERIAL_NO',20 SY-VLINE,
'PLANT',27 SY-VLINE,
'STLOC',34 SY-VLINE,
'STOCK',55 SY-VLINE,
'FLAG',SY-VLINE,
'INDUSTRY',SY-VLINE,
'UNIT',SY-VLINE,
'DISTRCHANNEL',SY-VLINE,
'VALUEAREA',SY-VLINE,
'VALUETYPE ',SY-VLINE,
'SALESORG',SY-VLINE,
'DESCRIPTION',174 SY-VLINE,
SY-ULINE.
&----
*& E N D - O F - P A G E *
&----
END-OF-PAGE.
WRITE: / SY-ULINE,
/100 'PAGNO: ',SY-PAGNO,
SY-ULINE.
----
FORM MOVE *
----
FORM MOVE USING OUT_ITAB IN_ITAB.
MOVE OUT_ITAB TO IN_ITAB.
ENDFORM. "MOVE
regards,
srinivas
<b>*reward for useful answers*</b>
‎2007 Jul 20 10:32 AM
Hi,
follow this link, it contains sample program.
http://www.sap-img.com/abap/usage-of-for-all-entries-in-select-statement.htm
http://www.sapbrainsonline.com/ARTICLES/TECHNICAL/optimization/optimization.html#For%20all%20entries
Reward points if it helps..
Regards,
Omkar.
‎2007 Jul 20 10:32 AM
check transaction code abapdocu. you will get all ABAP development examples.
‎2007 Jul 20 10:33 AM
Hi,
Go to Tcode ABAPDOCU
U have all kind of sample programs.
REPORT demo_select_for_all_entries_1.
DATA: BEGIN OF line,
carrid TYPE spfli-carrid,
connid TYPE spfli-connid,
cityfrom TYPE spfli-cityfrom,
cityto TYPE spfli-cityto,
END OF line,
itab LIKE TABLE OF line.
line-cityfrom = 'FRANKFURT'.
line-cityto = 'BERLIN'.
APPEND line TO itab.
line-cityfrom = 'NEW YORK'.
line-cityto = 'SAN FRANCISCO'.
APPEND line TO itab.
SELECT carrid connid cityfrom cityto
INTO CORRESPONDING FIELDS OF line
FROM spfli
FOR ALL ENTRIES IN itab
WHERE cityfrom = itab-cityfrom AND cityto = itab-cityto.
WRITE: / line-carrid, line-connid, line-cityfrom, line-cityto.
ENDSELECT.
<i>Assign points, if useful</i>
Regards,
Sridevi
Message was edited by:
Sridevi
‎2007 Jul 20 10:34 AM
Hi,
Check this one,
This is one sample program, here i fetch data from three table using
for all entries.
REPORT zblsassing_01 NO STANDARD PAGE HEADING LINE-SIZE 255.
TABLES : ekko, ekpo, lfa1.
DATA : total LIKE ekpo-netwr.
DATA : total1 LIKE ekpo-menge.
************************************************************************
INTERNAL TABLE FOR EKKO *
************************************************************************
TYPES : BEGIN OF fieldst,
ebeln LIKE ekko-ebeln, "Purchase Order Number
aedat LIKE ekko-aedat, "Purchase Order Creation Date
lifnr LIKE ekko-lifnr, "Vendor Number
ekorg LIKE ekko-ekorg, "Purchase Organization
zterm LIKE ekko-zterm, "Payment Text
bstyp LIKE ekko-bstyp, "Document Category
bsart LIKE ekko-bsart, "Dcoument Type
statu LIKE ekko-statu, "Purchase Order Status
END OF fieldst.
DATA itab_ekko TYPE TABLE OF fieldst WITH HEADER LINE.
DATA: lifnr1 TYPE lfa1-lifnr.
************************************************************************
INTERNAL TABLE FOR EKPO *
************************************************************************
TYPES : BEGIN OF fieldst1,
ebeln LIKE ekpo-ebeln, "Purchase order Number
aedat LIKE ekpo-aedat, "Purchase Order Creation Date
matnr LIKE ekpo-matnr, "Material Number
matkl LIKE ekpo-matkl, "Material Group
menge LIKE ekpo-menge, "Ordered Quantity
netwr LIKE ekpo-netwr, "Net Value
bstyp LIKE ekpo-bstyp, "Document Category
END OF fieldst1.
DATA itab_ekpo TYPE TABLE OF fieldst1 WITH HEADER LINE.
************************************************************************
FINAL OUTPUT TABLE *
************************************************************************
TYPES : BEGIN OF fieldst2,
ebeln LIKE ekko-ebeln,
aedat LIKE ekko-aedat,
lifnr LIKE ekko-lifnr,
ekorg LIKE ekko-ekorg,
zterm(08),
bstyp LIKE ekko-bstyp,
bsart LIKE ekko-bsart,
statu LIKE ekko-statu,
menge LIKE ekpo-menge,
matnr LIKE ekpo-matnr,
matkl LIKE ekpo-matkl,
netwr LIKE ekpo-netwr,
END OF fieldst2.
DATA itab_output TYPE TABLE OF fieldst2 WITH HEADER LINE.
************************************************************************
**
*INTERNAL TABLE FOR LFA1 TABLE *
************************************************************************
**
TYPES : BEGIN OF fieldst3,
lifnr LIKE lfa1-lifnr, "Vendor Number
name1 LIKE lfa1-name1, "Name
stras LIKE lfa1-stras, "House number and Street
adrnr LIKE lfa1-adrnr, "Address
pstlz LIKE lfa1-pstlz, "Postal Code
ort01 LIKE lfa1-ort01, "City
regio LIKE lfa1-regio, "State
pstl2 LIKE lfa1-pstl2, "Pin Code
END OF fieldst3.
DATA itab_lfa1 TYPE TABLE OF fieldst3 WITH HEADER LINE.
************************************************************************
**
*DECLARING CONSTANTS *
************************************************************************
**
DATA : type(3).
type = 'ZWT'.
CONSTANTS : c_bstyp TYPE c VALUE 'F', "Document Category
c_statu TYPE i VALUE '9'. "Status.
************************************************************************
**
*SELECTION SCREEN *
************************************************************************
**
SELECTION-SCREEN BEGIN OF BLOCK input WITH FRAME TITLE text-t01.
SELECT-OPTIONS : s_aedat FOR ekko-aedat.
SELECTION-SCREEN END OF BLOCK input.
************************************************************************
**
*FETCHING RECORDS FROM EKKO TABLE TO ITAB_EKKO *
************************************************************************
**
SELECT ebeln aedat lifnr ekorg
zterm bstyp bsart statu
FROM ekko INTO TABLE
itab_ekko
WHERE aedat IN s_aedat AND
bstyp EQ c_bstyp AND
bsart EQ type AND
statu EQ c_statu.
************************************************************************
***
*FETCHING RECORDS FROM EKPO TABLE TO ITAB_EKPO *
************************************************************************
***
IF NOT itab_ekko[] IS INITIAL.
SELECT ebeln aedat matnr matkl
menge netwr bstyp
FROM ekpo INTO TABLE itab_ekpo
FOR ALL ENTRIES IN itab_ekko
WHERE aedat IN s_aedat AND
bstyp EQ itab_ekko-bstyp AND
ebeln EQ itab_ekko-ebeln.
IF NOT itab_ekko[] IS INITIAL.
SELECT lifnr name1 adrnr pstlz
ort01 regio pstl2 FROM lfa1 INTO TABLE itab_lfa1 FOR
ALL ENTRIES IN itab_ekko
WHERE lifnr = itab_ekko-lifnr.
ENDIF.
ENDIF.
*sort itab_ekko by lifnr.
************************************************************************
***
LOOP AT itab_ekko.
READ TABLE itab_ekpo WITH KEY
ebeln = itab_ekko-ebeln
bstyp = itab_ekko-bstyp
aedat = itab_ekko-aedat BINARY SEARCH.
itab_output-ebeln = itab_ekko-ebeln.
itab_output-aedat = itab_ekko-aedat.
itab_output-lifnr = itab_ekko-lifnr.
itab_output-ekorg = itab_ekko-ekorg.
itab_output-zterm = itab_ekko-zterm.
itab_output-bstyp = itab_ekko-bstyp.
itab_output-bsart = itab_ekko-bsart.
itab_output-statu = itab_ekko-statu.
APPEND itab_output.
itab_output-menge = itab_ekpo-menge.
itab_output-matnr = itab_ekpo-matnr.
itab_output-matkl = itab_ekpo-matkl.
itab_output-netwr = itab_ekpo-netwr.
ENDLOOP.
SORT itab_output BY lifnr.
************************************************************************
******
ULINE 10(102).
ULINE 114(37).
LOOP AT itab_output.
FORMAT INTENSIFIED ON.
FORMAT FRAMES ON.
WRITE :/10 sy-vline,
13 itab_output-ebeln, 25 sy-vline,
29 itab_output-lifnr HOTSPOT ON, 38 sy-vline,
42 itab_output-ekorg, 49 sy-vline,
53 itab_output-zterm, 60 sy-vline,
64 itab_output-matnr, 72 sy-vline,
74 itab_output-menge, sy-vline,
itab_output-netwr, sy-vline,
114 sy-vline, 132 sy-vline, 150 sy-vline.
FORMAT INTENSIFIED OFF.
FORMAT FRAMES OFF.
total = total + itab_output-netwr.
total1 = total1 + itab_output-menge.
HIDE : itab_output-lifnr.
AT END OF lifnr.
WRITE :115 total1,134 total.
ENDAT.
ENDLOOP.
ULINE 10(102).
ULINE 114(37).
************************************************************************
********
TOP-OF-PAGE.
ULINE 10(141).
WRITE :/10 sy-vline, 150 sy-vline.
WRITE :/10 sy-vline, 15 'PROGRAM NAME : ', sy-repid, 110
'CREATED ON : ' , '01/07/2007', 150 sy-vline.
WRITE :/10 sy-vline, 150 sy-vline.
WRITE :/10 sy-vline, 150 sy-vline.
WRITE :/10 sy-vline, 15 'CREATED BY : ','EASHWAR SUBRAMANIAN' , 110
'TYPE : ', 'INTERACTIVE REPORT' , 150 sy-vline.
WRITE :/10 sy-vline, 150 sy-vline.
WRITE :/10 sy-vline, 150 sy-vline.
ULINE 10(141).
SKIP.
FORMAT COLOR 1 INVERSE.
WRITE: 47 'PURCHASE ORDER DETIAL', 130 'TOTAL'.
SKIP.
ULINE 10(102).
ULINE 114(37).
FORMAT COLOR 3 INVERSE.
WRITE :/10 sy-vline,
'PURC ORD NUM' , sy-vline,
'VENDOR NUM' , sy-vline,
'PURC ORG' , sy-vline,
'PAY TERM' , sy-vline,
'MATER NUM' , sy-vline,
77 'ORDER QUANTY' , 92 sy-vline,
97 'NET VALUE' , 111 sy-vline,
114 sy-vline,
120 'ORDER QTY' , 132 sy-vline,
137 'NET VALUE' , 150 sy-vline.
ULINE /10(102).
ULINE 114(37).
************************************************************************
*******
AT LINE-SELECTION.
SELECT lifnr name1 adrnr
stras pstlz ort01
regio pstl2
INTO CORRESPONDING FIELDS OF TABLE itab_lfa1 FROM lfa1
WHERE lifnr = itab_output-lifnr.
FORMAT COLOR 5 INVERSE.
WRITE :/44 'VENDOR DETAILS'.
SKIP.
ULINE 1(100).
FORMAT COLOR 7 INVERSE.
WRITE :/01 sy-vline, 'VENDOR NUM',
sy-vline, 25 'NAME',
40 sy-vline, 45 'ADDRESS',
56 sy-vline, 59 'POSTAL CODE',
72 sy-vline, 74 'CITY',
79 sy-vline, 81 'STATE',
87 sy-vline, 89 'PIN CODE',
100 sy-vline.
ULINE /1(100).
LOOP AT itab_lfa1.
FORMAT COLOR 2 INVERSE.
WRITE :/01 sy-vline, 05 itab_lfa1-lifnr,
14 sy-vline, 16 itab_lfa1-name1,
40 sy-vline, 46 itab_lfa1-adrnr,
56 sy-vline, itab_lfa1-pstlz,
72 sy-vline, itab_lfa1-ort01,
79 sy-vline, itab_lfa1-regio,
87 sy-vline, itab_lfa1-pstl2,
100 sy-vline.
ENDLOOP.
ULINE /1(100).
TOP-OF-PAGE DURING LINE-SELECTION.
ULINE 1(100).
WRITE :/01 sy-vline, 100 sy-vline .
WRITE :/01 sy-vline, 20
'VENDOR DETAIL FOR VENDOR NUMBER ( LIFNR ) : ', sy-lisel+26(10), 100
sy-vline .
WRITE :/01 sy-vline, 100 sy-vline .
WRITE :/01 sy-vline, 100 sy-vline .
ULINE 1(100).
SKIP.
************************************************************************
********
<b>Regards,
Jackie.</b>
‎2007 Jul 20 10:34 AM
----
Report YSG_MATERIAL_STOCK_REPORT *
----
REPORT YSG_MATERIAL_STOCK_REPORT LINE-SIZE 174
LINE-COUNT 25(5)
NO STANDARD PAGE HEADING.
&----
*& TABLE DECLARATION *
&----
TABLES: MARA,MARC,MARD,MBEW,MVKE,MAKT.
&----
*& INTERNAL TABLE DECLARATION *
&----
DATA: BEGIN OF I_MARC OCCURS 0,
MATNR LIKE MARC-MATNR,
WERKS LIKE MARC-WERKS,
LVORM LIKE MARC-LVORM,
PSTAT LIKE MARC-PSTAT,
END OF I_MARC.
DATA: BEGIN OF I_MARA OCCURS 0,
MATNR LIKE MARA-MATNR,
MBRSH LIKE MARA-MBRSH,
MEINS LIKE MARA-MEINS,
END OF I_MARA.
DATA: BEGIN OF I_MAKT OCCURS 0,
MATNR LIKE MAKT-MATNR,
MAKTX LIKE MAKT-MAKTX,
END OF I_MAKT.
DATA: BEGIN OF I_MBEW OCCURS 0,
MATNR LIKE MBEW-MATNR,
BWKEY LIKE MBEW-BWKEY,
BWTAR LIKE MBEW-BWTAR,
LBKUM LIKE MBEW-LBKUM,
END OF I_MBEW.
DATA: BEGIN OF I_MVKE OCCURS 0,
MATNR LIKE MVKE-MATNR,
VKORG LIKE MVKE-VKORG,
VTWEG LIKE MVKE-VTWEG,
END OF I_MVKE.
DATA: BEGIN OF I_MARD OCCURS 0,
MATNR LIKE MARD-MATNR,
WERKS LIKE MARD-WERKS,
LGORT LIKE MARD-LGORT,
LABST LIKE MARD-LABST,
END OF I_MARD.
DATA: BEGIN OF I_OUT OCCURS 0,
MATNR LIKE MARC-MATNR,
WERKS LIKE MARC-WERKS,
LVORM LIKE MARC-LVORM,
PSTAT LIKE MARC-PSTAT,
MBRSH LIKE MARA-MBRSH,
MEINS LIKE MARA-MEINS,
MAKTX LIKE MAKT-MAKTX,
BWKEY LIKE MBEW-BWKEY,
BWTAR LIKE MBEW-BWTAR,
LBKUM LIKE MBEW-LBKUM,
VKORG LIKE MVKE-VKORG,
VTWEG LIKE MVKE-VTWEG,
LGORT LIKE MARD-LGORT,
LABST LIKE MARD-LABST,
END OF I_OUT.
&----
*& A T - 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-101.
PARAMETERS: P_WERKS LIKE MARC-WERKS.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-102.
SELECT-OPTIONS: S_MATNR FOR MARC-MATNR,
S_LGORT FOR MARD-LGORT.
SELECTION-SCREEN END OF BLOCK B2.
&----
*& INITIALIZATION.
&----
INITIALIZATION.
P_WERKS = '3000'.
S_MATNR-SIGN = 'I'.
S_MATNR-OPTION = 'EQ'.
S_MATNR-LOW = 'M-14'.
S_MATNR-HIGH = 'M-17'.
S_LGORT-SIGN = 'I'.
S_LGORT-OPTION = 'EQ'.
S_LGORT-LOW = '0001'.
S_LGORT-HIGH = '0007'.
APPEND S_LGORT.
APPEND S_MATNR.
CLEAR S_MATNR.
CLEAR S_LGORT.
&----
*& S T A R T - O F - S E L E C T I O N *
&----
START-OF-SELECTION.
SELECT MATNR WERKS LVORM FROM MARC
INTO TABLE I_MARC
WHERE WERKS = P_WERKS
AND MATNR IN S_MATNR.
SELECT MATNR MBRSH MEINS FROM MARA
INTO TABLE I_MARA
FOR ALL ENTRIES IN I_MARC
WHERE MATNR = I_MARC-MATNR.
SELECT MATNR MAKTX FROM MAKT
INTO TABLE I_MAKT
FOR ALL ENTRIES IN I_MARA
WHERE MATNR = I_MARA-MATNR
AND SPRAS = SY-LANGU.
SELECT MATNR BWKEY BWTAR FROM MBEW
INTO TABLE I_MBEW
FOR ALL ENTRIES IN I_MARA
WHERE MATNR = I_MARA-MATNR.
SELECT MATNR VKORG VTWEG FROM MVKE
INTO TABLE I_MVKE
FOR ALL ENTRIES IN I_MARA
WHERE MATNR = I_MARA-MATNR.
SELECT MATNR WERKS LGORT LABST FROM MARD
INTO TABLE I_MARD
FOR ALL ENTRIES IN I_MARC
WHERE MATNR = I_MARC-MATNR
AND WERKS = P_WERKS
AND LGORT IN S_LGORT..
&----
*& MOVING DATA TO I-OUT *
&----
LOOP AT I_MARC.
PERFORM MOVE USING I_MARC-MATNR I_OUT-MATNR.
PERFORM MOVE USING I_MARC-WERKS I_OUT-WERKS.
PERFORM MOVE USING I_MARC-LVORM I_OUT-LVORM.
READ TABLE I_MARA WITH KEY MATNR = I_MARD-MATNR.
PERFORM MOVE USING I_MARA-MBRSH I_OUT-MBRSH.
PERFORM MOVE USING I_MARA-MEINS I_OUT-MEINS.
READ TABLE I_MAKT WITH KEY MATNR = I_MARD-MATNR.
PERFORM MOVE USING I_MAKT-MAKTX I_OUT-MAKTX.
READ TABLE I_MBEW WITH KEY MATNR = I_MARD-MATNR.
PERFORM MOVE USING I_MBEW-BWKEY I_OUT-BWKEY.
PERFORM MOVE USING I_MBEW-BWTAR I_OUT-BWTAR.
READ TABLE I_MVKE WITH KEY MATNR = I_MARD-MATNR.
PERFORM MOVE USING I_MVKE-VKORG I_OUT-VKORG.
PERFORM MOVE USING I_MVKE-VTWEG I_OUT-VTWEG.
LOOP AT I_MARD WHERE MATNR = I_MARC-MATNR
AND WERKS = I_MARC-WERKS.
PERFORM MOVE USING I_MARD-LGORT I_OUT-LGORT.
PERFORM MOVE USING I_MARD-LABST I_OUT-LABST.
APPEND I_OUT.
ENDLOOP.
CLEAR I_OUT.
ENDLOOP.
&----
*& DISPLAYING FROM I-OUT *
&----
LOOP AT I_OUT.
FORMAT HOTSPOT ON.
WRITE: / SY-ULINE,I_OUT-MATNR,SY-VLINE,
I_OUT-WERKS,SY-VLINE,
I_OUT-LGORT,SY-VLINE,
I_OUT-LABST,SY-VLINE,
I_OUT-LVORM,62 SY-VLINE,
I_OUT-MBRSH,73 sy-vline,
I_OUT-MEINS,80 SY-VLINE,
I_OUT-VTWEG,95 SY-VLINE,
I_OUT-BWKEY,107 SY-VLINE,
I_OUT-BWTAR,SY-VLINE,
I_OUT-VKORG,131 SY-VLINE,
I_OUT-MAKTX,SY-VLINE.
HIDE I_OUT-MATNR.
FORMAT HOTSPOT OFF.
ENDLOOP.
WRITE : SY-ULINE.
&----
*& E N D -- O F -- S E L E C T I O N *
&----
END-OF-SELECTION.
&----
*& A T - L I N E - S E L E C T I O N *
&----
AT LINE-SELECTION.
SET PF-STATUS 'PFS'.
CASE SY-LSIND.
WHEN 1.
SELECT MATNR WERKS LGORT LABST
FROM MARD
INTO TABLE I_MARD
WHERE MATNR = I_OUT-MATNR
AND WERKS = P_WERKS.
IF SY-SUBRC = 0.
FORMAT COLOR 4 INTENSIFIED OFF.
LOOP AT I_MARD.
WINDOW STARTING AT 75 75 ENDING AT 105 105.
WRITE:/ 'MATERIAL NUMBER:'.
WRITE: I_MARD-MATNR.
WRITE:/ 'PLANT:'.
WRITE: I_MARD-WERKS.
WRITE:/ 'STORAGE LOCATION:' .
WRITE: I_MARD-LGORT.
SKIP.
ENDLOOP.
ENDIF.
ENDCASE.
&----
*& A T U S E R C O M M A N D D U R I N G L I N E - S E L E C T I O N *
&----
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
&----
*& TOP-OF-PAGE DURING LINE-SELECTION *
&----
TOP-OF-PAGE DURING LINE-SELECTION.
WRITE 6 'MATERIAL MASTER REPORT' COLOR 4.
FORMAT COLOR 4 INTENSIFIED OFF.
&----
*& T O P - O F - P A G E *
&----
TOP-OF-PAGE.
WRITE: /60 'MATERIAL MASTER REPORT' COLOR 4.
WRITE: SY-ULINE.
FORMAT COLOR 4 INTENSIFIED OFF.
WRITE: / 'MATERIAL_NO',20 SY-VLINE,
'PLANT',27 SY-VLINE,
'STLOC',34 SY-VLINE,
'STOCK',55 SY-VLINE,
'FLAG',SY-VLINE,
'INDUSTRY',SY-VLINE,
'UNIT',SY-VLINE,
'DISTRCHANNEL',SY-VLINE,
'VALUEAREA',SY-VLINE,
'VALUETYPE ',SY-VLINE,
'SALESORG',SY-VLINE,
'DESCRIPTION',174 SY-VLINE,
SY-ULINE.
&----
*& E N D - O F - P A G E *
&----
END-OF-PAGE.
WRITE: / SY-ULINE,
/100 'PAGNO: ',SY-PAGNO,
SY-ULINE.
----
FORM MOVE *
----
FORM MOVE USING OUT_ITAB IN_ITAB.
MOVE OUT_ITAB TO IN_ITAB.
ENDFORM. "MOVE
regards,
srinivas
<b>*reward for useful answers*</b>
‎2007 Jul 20 11:17 AM
‎2007 Jul 23 4:25 AM
s_lgort-sign = 'I'.
s_lgort-option = 'eq'.
in ur code i dint understand these two lines. can u pls explain me..
and one more thing... u r moveing all the inernal tables data based on mard table, u can also use marc table right.. you used marc only for mara internal table but remaing all u used mard y is it so? pls explain me these two..
it will be helpful for me...
‎2007 Jul 20 10:35 AM
Hi,
Tell me wht you are looking by mean of all entries.
Regards,
Kinjal
‎2007 Jul 20 10:35 AM
Hi ,
report ztest14_10 line-size 135 line-count 100(5).
tables: vbrk , vbrp , vbfa , kna1.
data : begin of itab1 occurs 0,
kunag type vbrk-kunag,
vbeln type vbrk-vbeln,
erdat like vbrk-erdat,
vbelv like vbfa-vbelv,
name1 like kna1-name1,
name2 like kna1-name2,
end of itab1.
data : begin of itab6 occurs 0,
kunag type vbrk-kunag,
vbeln type vbrk-vbeln,
erdat like vbrk-erdat,
vbelv like vbfa-vbelv,
name1 like kna1-name1,
name2 like kna1-name2,
end of itab6.
data: begin of itab3 occurs 0,
vbeln like vbfa-vbeln,
vbelv like vbfa-vbelv,
end of itab3.
data: begin of itab4 occurs 0,
kunnr like kna1-kunnr,
name1 like kna1-name1,
name2 like kna1-name2,
end of itab4.
data : begin of itab2 occurs 0,
vbeln like vbrp-vbeln,
posnr like vbrp-posnr,
matnr like vbrp-matnr,
arktx like vbrp-arktx,
fkimg like vbrp-fkimg,
vrkme like vbrp-vrkme,
netwr like vbrp-netwr,
end of itab2.
data: begin of itab5 occurs 0,
g_kunag type vbrk-kunag,
end of itab5.
data : g_net like vbrp-netwr.
selection-screen begin of block one with frame title text-001.
select-options:
s_vbeln for vbrk-vbeln,
s_vbrp for vbrp-posnr,
s_matnr for vbrp-matnr,
s_erdat for vbrp-erdat.
selection-screen end of block one.
start-of-selection.
*SELECT DISTINCT KVBELN KERDAT FVBELV ANAME1 A~NAME2 INTO
*CORRESPONDING FIELDS
OF TABLE ITAB1 FROM
( ( VBRK AS K JOIN VBFA AS F ON KVBELN EQ FVBELN )
JOIN KNA1 AS A ON KKUNAG EQ AKUNNR )
*
WHERE K~VBELN IN S_VBELN.
select kunag vbeln erdat into corresponding fields of
table
itab1 from vbrk where vbeln in s_vbeln and erdat in s_erdat.
select vbeln vbelv into table itab3 from vbfa for all entries in itab1
where
vbeln eq itab1-vbeln and vbtyp_v = 'C' .
select kunag into table itab5 from vbrk for all entries in itab1 where
vbeln eq itab1-vbeln.
select kunnr name1 name2 into corresponding fields of table itab4 from
kna1
for all entries in itab5
where kunnr eq itab5-g_kunag.
select vbeln posnr matnr arktx fkimg vrkme netwr into corresponding
fields of
table itab2 from vbrp for all entries in itab1 where vbeln eq
itab1-vbeln.
Thanks,CSR.
****<b>REWARD POINTS IF HELPFUL</b>
‎2007 Jul 20 10:36 AM
Hi Pandu ,
Please find the code just uncomment it and execute it ,
for all entries syntax is used ther e
***********************************CODE FOR CLASSICAL REPORT***********
*TABLES: MARA,MARC .
***********TYPES
*TYPES: BEGIN OF T_MARA,
MATNR TYPE MATNR, "Material Number
MTART TYPE MTART, "Material Type
MEINS TYPE MEINS, "Basic Unit Of measure
END OF T_MARA.
*
*TYPES: BEGIN OF T_MARC,
MATNR TYPE MATNR, "Material Number
WERKS TYPE WERKS_D, "Plant
END OF T_MARC.
*
*
***********WORKAREA
*DATA: WA_MARA TYPE T_MARA,
WA_MARC TYPE T_MARC,
E_MATNR TYPE MATNR,
WA_MATNR TYPE MATNR.
*
*
***********INTERNAL TABLES
*DATA: IT_MARA TYPE STANDARD TABLE OF T_MARA,
IT_MARC TYPE STANDARD TABLE OF T_MARC.
*
*
**********SELECTION SCREEN
*SELECTION-SCREEN BEGIN OF BLOCK MAIN WITH FRAME TITLE TEXT-001.
*SELECTION-SCREEN SKIP 1.
*SELECT-OPTIONS : S_MATNR FOR MARA-MATNR OBLIGATORY. "for Material Number
*SELECTION-SCREEN END OF BLOCK MAIN.
*
****************AT SELECTION-SCREEN
*SELECT SINGLE MATNR INTO WA_MATNR FROM MARA WHERE MATNR IN S_MATNR.
*
*IF SY-SUBRC <> 0.
MESSAGE E001.
*ENDIF.
*
*********************START-OF-SELECTION
*
*START-OF-SELECTION.
*
**select data from mara table
SELECT MATNR
MTART
MEINS
FROM MARA
INTO TABLE IT_MARA
WHERE MATNR IN S_MATNR.
*
**select data from marc table
SELECT MATNR
WERKS
FROM MARC
INTO TABLE IT_MARC
FOR ALL ENTRIES IN IT_MARA
WHERE MATNR = IT_MARA-MATNR.
*
*
*
*
*****************OUTPUT SCREEN
ULINE.
WRITE:/5 'Material number' ,
25 'Material Type' ,
45 'BOM'.
LOOP AT IT_MARA INTO WA_MARA.
*
*************************************************************
this syntax is used for truncating leading zeros like
'0000000018' = '18'. but if data is like 'ABCD' then
it gives Dump.
***pack wa_mara-matnr to e_matnr.
*************************************************************
*
*******************************************************************
this function module changes matnr '00000018' = '18'
'ABCD' = 'ABCD'
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = WA_MARA-MATNR
IMPORTING
OUTPUT = E_MATNR.
********************************************************************
WRITE:/ E_MATNR ,
25 WA_MARA-MTART ,
45 WA_MARA-MEINS .
ULINE.
WRITE:/65 'Plant' .
LOOP AT IT_MARC INTO WA_MARC.
*
*
WRITE:/65 WA_MARC-WERKS.
*
ENDLOOP.
ULINE.
ENDLOOP.
*
***************************CODE FOR CLASSICAL REPORT ENDS***********
Reward Points if Helpful
Regards,
Amber S
‎2007 Jul 20 10:36 AM
Hi,
Just refer this complete example:
Reward if it helps
Jogdand M B
‎2007 Jul 23 4:41 AM
A simple example using FOR ALL ENTRIES
data : it_vbak type table of vbak.
data : it_vbap type table of vbap.
select-options : so_vbeln for vbak-vbeln.
start-of-selection.
select * from vbak
into table it_vbak
where vbeln IN so_vbeln.
if not it_vbak[] is initial.
select * from vbap
into table it_vbap
for all entries in it_vbak
where vbeln = it_vbak-vbeln.
endif.Regards
Gopi