‎2008 May 29 4:13 PM
‎2008 May 29 4:15 PM
Hello,
Access the transaction ABAPDOCU there's a lot of examples of ABAP programs.
Regards.
‎2008 May 29 4:16 PM
Hi,
Here I am sending Interactive report :
REPORT z50871sd_rept_interactiverept NO STANDARD PAGE HEADING.
----
STRUCTURE DECLARATIONS
INTERNAL TABLE DECLARATIONS
WORKAREA DECLARATIONS
----
TYPES : BEGIN OF st_kna1,
kunnr TYPE kna1-kunnr, "CUSTOMER NUMBER
name1 TYPE kna1-name1, "CUSTOMER NAME
END OF st_kna1.
TYPES : BEGIN OF st_vbak,
kunnr TYPE kna1-kunnr,
vbeln TYPE vbak-vbeln, "SALES DOCUMENT NUMBER
erdat TYPE vbak-erdat, "DATE ON WHICH THE RECORD WAS CREATED
audat TYPE vbak-audat, "DOCUMENT DATE
auart TYPE vbak-auart, "SALES DOCUMENT TYPE
ernam TYPE vbak-ernam, "NAME OF PERSON WHO CREATED THE OBJECT.
augru TYPE vbak-augru, "ORDER REASON
END OF st_vbak.
TYPES : BEGIN OF st_vbap,
vbeln TYPE vbak-vbeln,
posnr TYPE vbap-posnr, "SALES DOCUMENT ITEM
matnr TYPE vbap-matnr, "MATERIAL NUMBER
charg TYPE vbap-charg, "BATCH NUMBER
matkl TYPE vbap-matkl, "MATERIAL GROUP
posar TYPE vbap-posar, "ITEM TYPE
END OF st_vbap.
DATA : it_kna1 TYPE STANDARD TABLE OF st_kna1,
it_vbak TYPE STANDARD TABLE OF st_vbak,
it_vbap TYPE STANDARD TABLE OF st_vbap,
wa_kna1 TYPE st_kna1,
wa_vbak TYPE st_vbak,
wa_vbap TYPE st_vbap.
DATA : v_fld(15),
v_kunnr TYPE kna1-kunnr,
v_vbeln TYPE vbak-vbeln.
----
SELECT-OPTIONS
PARAMETERS
----
SELECT-OPTIONS so_kunnr FOR v_kunnr. "CUSTOMER NUMBER
PARAMETERS : p_max TYPE i. "NUMBER OF HITS
----
START-OF-SELECTION
----
START-OF-SELECTION.
PERFORM get_customerdata.
SET PF-STATUS 'MENU1'.
----
AT LINE-SELECTION
----
AT LINE-SELECTION.
IF sy-lsind = 1.
PERFORM get_salesheader.
ELSEIF sy-lsind = 2.
PERFORM get_salesitemdata.
ENDIF.
----
AT USER-COMMAND
----
AT USER-COMMAND.
CASE sy-ucomm.
WHEN 'DISP'.
PERFORM get_salesheader.
WHEN 'ITEM'.
PERFORM get_salesitemdata.
WHEN 'VA03'.
SET PARAMETER ID 'AUN' FIELD wa_vbak-vbeln.
CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
ENDCASE.
----
TOP-OF-PAGE
----
TOP-OF-PAGE.
ULINE AT /1(56).
WRITE : /1 sy-vline ,
2(15) text-004 COLOR 1 ,
sy-vline ,
20(35) text-005 COLOR 1 ,
sy-vline.
ULINE AT /1(56).
----
TOP-OF-PAGE DURING LINE-SELECTION.
----
TOP-OF-PAGE DURING LINE-SELECTION.
CASE sy-lsind.
WHEN 1.
PERFORM get_topofpage1.
WHEN 2.
PERFORM get_topofpage2.
ENDCASE.
----
FORM GET_CUSTOMERDATA
----
FORM get_customerdata.
SELECT kunnr name1
FROM kna1
INTO TABLE it_kna1
UP TO p_max ROWS
WHERE kunnr IN so_kunnr.
IF sy-subrc EQ 0.
LOOP AT it_kna1 INTO wa_kna1.
WRITE : / sy-vline,
2(15) wa_kna1-kunnr ,
sy-vline ,
20 wa_kna1-name1,
sy-vline.
HIDE : wa_kna1-kunnr , wa_kna1-name1.
CLEAR wa_kna1.
ENDLOOP.
ULINE AT : /1(56).
ELSE.
MESSAGE w000(z50871msg).
ENDIF.
ENDFORM. "GET_CUSTOMERDATA
----
FORM GET_SALESHEADER
----
FORM get_salesheader.
SET PF-STATUS 'MENU2'.
GET CURSOR FIELD v_fld VALUE v_kunnr.
IF v_fld = 'WA_KNA1-KUNNR'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_kunnr
IMPORTING
output = v_kunnr.
SELECT kunnr vbeln erdat audat auart ernam augru
FROM vbak
INTO TABLE it_vbak
WHERE kunnr = v_kunnr.
IF sy-subrc EQ 0.
LOOP AT it_vbak INTO wa_vbak.
WRITE : / sy-vline ,
2(22) wa_vbak-vbeln ,
sy-vline,
27(25) wa_vbak-erdat ,
sy-vline ,
55(15) wa_vbak-audat ,
sy-vline ,
73(15) wa_vbak-auart ,
sy-vline,
91(16) wa_vbak-ernam ,
sy-vline,
109(13) wa_vbak-augru,
123 sy-vline.
HIDE : wa_vbak-vbeln.
CLEAR wa_vbak.
ENDLOOP.
ULINE AT : /1(123).
ELSE.
MESSAGE i015(z50871msg).
ENDIF.
ELSE.
MESSAGE i013(z50871msg).
ENDIF.
ENDFORM. "GET_SALESHEADER
----
FORM GET_SALESITEMDATA
----
FORM get_salesitemdata.
SET PF-STATUS space.
GET CURSOR FIELD v_fld VALUE v_vbeln.
IF v_fld = 'WA_VBAK-VBELN'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_vbeln
IMPORTING
output = v_vbeln.
SELECT vbeln posnr matnr charg matkl posar
FROM vbap
INTO TABLE it_vbap
WHERE vbeln = v_vbeln.
LOOP AT it_vbap INTO wa_vbap.
WRITE : /1 sy-vline,
2(13) wa_vbap-posnr ,
sy-vline,
18(18) wa_vbap-matnr ,
sy-vline,
40(13) wa_vbap-charg ,
sy-vline,
56(16) wa_vbap-matkl ,
sy-vline,
75 wa_vbap-posar,
112 sy-vline.
CLEAR wa_vbap.
ENDLOOP.
ULINE AT : /1(112).
ELSE.
MESSAGE i014(z50871msg).
ENDIF.
ENDFORM. "GET_SALESITEMDATA
----
FORM GET_TOPOFPAGE1
----
FORM get_topofpage1.
ULINE AT : /1(123).
WRITE : / sy-vline ,
2 text-000 ,
wa_kna1-kunnr ,
75 text-001 ,
wa_kna1-name1,
123 sy-vline.
ULINE AT : /1(123).
WRITE : / sy-vline ,
2(22) text-006 COLOR 1,
sy-vline,
27(25) text-007 COLOR 1 ,
sy-vline ,
55(15) text-008 COLOR 1 ,
sy-vline ,
73(15) text-009 COLOR 1 ,
sy-vline,
91(16) text-010 COLOR 1 ,
sy-vline,
109(13) text-011 COLOR 1,
123 sy-vline.
ULINE AT : /1(123).
ENDFORM. "GET_TOPOFPAGE1
----
FORM GET_TOPOFPAGE2
----
FORM get_topofpage2.
ULINE AT : /1(112).
WRITE : / sy-vline ,
2 text-000 ,
wa_kna1-kunnr ,
35 text-001 ,
wa_kna1-name1 ,
85 text-003 ,
wa_vbak-vbeln ,
112 sy-vline.
ULINE AT : /1(112).
WRITE : /1 sy-vline,
2(13) text-012 COLOR 1,
sy-vline,
18(18) text-013 COLOR 1 ,
sy-vline,
40(13) text-014 COLOR 1 ,
sy-vline,
56(16) text-015 COLOR 1 ,
sy-vline,
75 text-016 COLOR 1 ,
112 sy-vline.
ULINE AT : /1(112).
ENDFORM. "GET_TOPOFPAGE2
Classical Report :
REPORT z50871sd_rept_internaltable.
----
STRUCTURE DECLARATION
INTERNAL TABLE DECLARATION
WORK AREA DECLARATION
----
TYPES : BEGIN OF st_knc1,
kunnr TYPE knc1-kunnr, "Customer Number
bukrs TYPE knc1-bukrs, "Company Code
um01s TYPE knc1-um01s, "Total of the Debit Postings for the Month
END OF st_knc1.
DATA : it_knc1 TYPE STANDARD TABLE OF st_knc1,
wa_knc1 TYPE st_knc1 .
----
PARAMETER DECLARATION
----
PARAMETER p_x TYPE i. "NUMBER OF RECORDS
----
START-OF-SELECTION
----
START-OF-SELECTION.
SELECT kunnr
bukrs
um01s
FROM knc1
INTO TABLE it_knc1
UP TO p_x ROWS.
IF sy-subrc NE 0.
MESSAGE e000(z50871msg).
ENDIF.
----
APPEND
----
wa_knc1-kunnr = 2165.
wa_knc1-bukrs = 1500.
wa_knc1-um01s = '5000.00'.
APPEND wa_knc1 TO it_knc1.
wa_knc1-kunnr = 3165.
wa_knc1-bukrs = 2500.
wa_knc1-um01s = '5000.00'.
APPEND wa_knc1 TO it_knc1.
----
COLLECT
----
wa_knc1-kunnr = 2165.
wa_knc1-bukrs = 1500.
wa_knc1-um01s = '6000.00'.
COLLECT wa_knc1 INTO it_knc1.
CLEAR wa_knc1.
wa_knc1-kunnr = 4165.
wa_knc1-bukrs = 1500.
wa_knc1-um01s = '6000.00'.
COLLECT wa_knc1 INTO it_knc1.
CLEAR wa_knc1.
----
MODIFY
----
wa_knc1-kunnr = 6165.
wa_knc1-bukrs = 1600.
wa_knc1-um01s = '12000.50'.
MODIFY it_knc1 FROM wa_knc1 INDEX 1.
LOOP AT it_knc1 INTO wa_knc1 .
WRITE:/ wa_knc1-kunnr,
wa_knc1-bukrs,
wa_knc1-um01s CURRENCY 'INR'.
ENDLOOP.
----
INSERT
----
wa_knc1-kunnr = 5422.
wa_knc1-bukrs = 1200.
wa_knc1-um01s = '2000.50'.
INSERT wa_knc1 INTO it_knc1 INDEX 4.
SKIP 4.
WRITE : text-000 COLOR 1.
ULINE.
----
DELETE
----
DELETE it_knc1 INDEX 2.
DELETE ADJACENT DUPLICATES FROM it_knc1.
LOOP AT it_knc1 INTO wa_knc1 .
WRITE:/ wa_knc1-kunnr,
wa_knc1-bukrs,
wa_knc1-um01s CURRENCY 'INR'.
ENDLOOP.
Regards
Sandeep Reddy
‎2008 May 29 4:22 PM
Hi
Try use tr code ABAPDOCU , You can find lots of program.
and open http://sap-img.com this web site , you can find lots of question.(FAQ)
Regards
Kiran Sure
‎2008 May 29 4:24 PM
‎2008 May 29 4:29 PM
Hi
go through this program:
*-- Declaring the structure,internal table and workarea for Kna1 table.--*
types:begin of st_kna1,
kunnr type kunnr,
name1 type name1,
end of st_kna1.
data:it_kna1 type standard table of st_kna1,
wa_kna1 type st_kna1.
*-- Declaring the structure,internal table and workarea for vbak table.--*
types:begin of st_vbak,
vbeln type vbeln,
erdat type erdat,
netwr type netwr,
vkorg type vkorg,
kunnr type kunnr,
end of st_vbak.
data:it_vbak type standard table of st_vbak,
wa_vbak type st_vbak.
*-- Declaring the structure,internal table and workarea for vbap table.--*
types:begin of st_vbap,
posnr type posnr,
matnr type matnr,
posar type posar,
pstyv type pstyv,
vbeln type vbeln,
end of st_vbap.
data:it_vbap type standard table of st_vbap,
wa_vbap type st_vbap.
--
data:v_kna1 type kna1,
v_field(50) type c,
v_value1 type kna1-kunnr ,
v_value2 type kna1-kunnr ,
v_tcode(4) value 'VA03',
wa_cust type kna1-kunnr.
--
selection-screen begin of block b1 with frame title text-001.
--
select-options:so_cust for v_kna1-kunnr obligatory.
selection-screen skip.
--
parameter:p_hits(10).
selection-screen end of block b1.
&----
*& Start-of-Selection Event -- To select customer no, name from kna1 table
&----
start-of-selection.
select kunnr
name1
from kna1 up to p_hits rows
into table it_kna1
where kunnr in so_cust.
if sy-subrc <> 0.
message e003(z50886message).
endif.
set pf-status 'SALESDETAILS'.
&----
*& End Of SElection Event-- To Write the selected Field values
&----
end-of-selection.
loop at it_kna1 into wa_kna1.
write:/1 sy-vline,
3 wa_kna1-kunnr,
20 sy-vline,
30 wa_kna1-name1,
100 sy-vline.
endloop.
uline at /1(100).
&----
*& Top-of-Page Event--To display field Headings on every page
&----
top-of-page.
write:/50 text-001.
skip.
uline at /1(100).
write:/1 sy-vline,
3 text-002,
20 sy-vline,
30 text-003,
100 sy-vline.
uline at /1(100).
&----
*& At line-selection Event --To Display the Secondary List accordingly
&----
at line-selection.
case sy-lsind.
when 1.
perform salesheader.
when 2.
perform salesitem.
endcase.
&----
*& Top-of-page during line selection--To display feild heading for
*& secondary lists on every page of the list.
&----
top-of-page during line-selection.
case sy-lsind.
when 1.
write:/50 text-012.
write:/ text-002,':', v_value1.
uline at /1(100).
write:/1 sy-vline,
3 text-004,
25 sy-vline,
30 text-005,
40 sy-vline,
45 text-006,
65 sy-vline,
70 text-007,
100 sy-vline.
uline at /1(100).
when 2.
write:/50 text-013.
write:/ text-002, ':', v_value1,
/20 text-004, ':', v_value2.
uline at /1(100).
write:/1 sy-vline,
3 text-008,
25 sy-vline,
30 text-009,
45 sy-vline,
50 text-010,
65 sy-vline,
70 text-011,
100 sy-vline.
uline at /1(100).
endcase.
&----
*&At- user-command --To Set the user defined keys
&----
at user-command.
case sy-ucomm.
when 'SAHE'.
perform salesheader.
when 'SAIT'.
perform salesitem.
when 'VA03'.
set parameter id 'AUN' field wa_vbak-vbeln.
call transaction v_tcode and skip first screen.
endcase.
&----
*& END-OF-PAGE
&----
end-of-page.
uline at /1(100).
skip.
write:/70 'PAGE NO.', sy-pagno.
--
form salesheader.
set pf-status 'SALESHEADER'.
get cursor field v_field value v_value1.
if v_field = 'WA_KNA1-KUNNR'.
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = v_value1
importing
output = v_value1.
select vbeln
erdat
netwr
vkorg
kunnr
from vbak into table it_vbak
where kunnr = v_value1.
loop at it_vbak into wa_vbak.
if sy-subrc <> 0.
message e004(z50886message).
endif.
write:/1 sy-vline,
3 wa_vbak-vbeln,
25 sy-vline,
30 wa_vbak-erdat,
40 sy-vline,
50 wa_vbak-netwr currency 'INR',
65 sy-vline,
76 wa_vbak-vkorg,
100 sy-vline.
hide wa_vbak-vbeln.
endloop.
uline at /1(100).
else.
message i005(z50886message).
endif.
endform. "salesheader
--
form salesitem.
set pf-status ' '.
get cursor field v_field value v_value2.
if v_field = 'WA_VBAK-VBELN'.
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = v_value2
importing
output = v_value2.
select posnr
matnr
posar
pstyv
vbeln
from vbap into table it_vbap
where vbeln = v_value2.
loop at it_vbap into wa_vbap.
write:/1 sy-vline,
3 wa_vbap-posnr,
25 sy-vline,
30 wa_vbap-matnr,
45 sy-vline,
50 wa_vbap-posar,
65 sy-vline,
70 wa_vbap-pstyv,
100 sy-vline.
endloop.
uline at /1(100).
else.
message i006(z50886message).
endif.
endform. "salesitem
you also go through this link: