Simple report on ABAP OBJECTS
Hi Experts,
Can any body send one simple report using abap object....
Thanks
kris
Hi,
Check this example..
CLASS MY_CLASS DEFINITION.
PUBLIC SECTION.
METHODS: ADDITION IMPORTING IP_1 TYPE INT4
IP_2 TYPE INT4
EXPORTING OP_1 TYPE INT4,
SUBTRACTION IMPORTING IP_1 TYPE INT4
IP_2 TYPE INT4
EXPORTING OP_1 TYPE INT4.
ENDCLASS.
CLASS MY_CLASS IMPLEMENTATION.
METHOD ADDITION.
OP_1 = IP_1 + IP_2.
ENDMETHOD.
METHOD SUBTRACTION.
OP_1 = IP_1 - IP_2.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
DATA: OBJ TYPE REF TO MY_CLASS.
CREATE OBJECT OBJ.
DATA: V_OUTPUT TYPE INT4.
CALL METHOD OBJ->ADDITION EXPORTING IP_1 = 1
IP_2 = 3
IMPORTING OP_1 = V_OUTPUT.
WRITE: / V_OUTPUT.
Thanks,
Naren
Similar Messages
-
Interactive reports in abap objects
Hi,
plz send me the code of interactive report using ABAP Objects .
Thanks,
T.Sreekanth.Hi,
It will be similar to what you do in normal report.
Here you may create an object instance and then call some method on the object.
AT LINE-SELECTION.
create object obj.
CALL METHOD obj->method1
IMPORTING
text = im_text.
write: im_text.
Regards,
Sesh -
Simple Examples on ABAP Objects without using include or function modules
Hi,
I am new to ABAP. I need simple example codes on ABAP Objects. It should not have Includes or Function Modules. Just simple codes, using local & global classes, interfaces etc. I searched the forum and even <<the site that shall not be mentioned>>, but did not find a solution. Kindly help please.
Regards,
Smruthi.
Edited by: Matt on Mar 1, 2009 1:20 PM - forbidden site reference removedHello Smruthi
If you go to the Forum Search and choose the forum ABAP Objects then serach for ZUS_SDN and you will find many of my simple sample reports.
These reports usually do not contain any includes but they may call function modules which makes perfectly sense. For example, if you are still doing a direct table SELECT instead of using an available BAPI (or class) to get a business object then this is a clear sign of poor (=non-ABAP-OO) programming.
Regards
Uwe -
Hi all,
What are the steps to be taken while converting a normal ABAP report program to ABAP objects? Also, How do we write a module(of a module pool program) in ABAP objects?
Thanks in Advance,
AswinUse methods of a class instead of subrouties wherever possible.
Declare the global variables in the attributes section of a class.
Make sure that your design itself is more data centric than process centric.
Regards,
Ravi -
ALV Reports using Abap Objects ?
<b>Hi All,
I am trying to print the values in my internal table using ALV, using ABAP classes and objects. Here i am able to get the total succesfully. but i need to get subtotals also, like based on the carrid in table sflight i need subtotal of price for every carrid like 'LH' , 'SQ'.
here is my code:</b>
REPORT znav_report.
DATA: alv TYPE REF TO cl_salv_table,
value1 TYPE REF TO cl_salv_aggregations,
value2 TYPE REF TO cl_salv_aggregation.
DATA: BEGIN OF itab_flight OCCURS 0,
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
fldate LIKE sflight-fldate,
price LIKE sflight-price,
paymentsum LIKE sflight-paymentsum,
currency LIKE sflight-currency,
END OF itab_flight.
SELECT carrid
connid
fldate
price
paymentsum
currency
FROM sflight INTO TABLE itab_flight
WHERE carrid = 'LH' OR carrid = 'SQ'.
cl_salv_table=>factory( IMPORTING r_salv_table = alv
CHANGING t_table = itab_flight[] ).
CALL METHOD alv->get_aggregations
RECEIVING
value = value1.
CALL METHOD value1->add_aggregation
EXPORTING
columnname = 'PAYMENTSUM'
aggregation = if_salv_c_aggregation=>total
RECEIVING
value = value2.
alv->display( ).
<b>here how to get subtotals for every different carrid.
regards,
Navneeth.K</b>Hi,
Make use of one of these statement,,,,
<b>Either</b>
<b>(a)</b> select carrid connid fldate price currency planetype into table itab_flight from sflight.
<b>or</b>
<b>(b)</b> select * into corresponding fields of table itab_flight from sflight.
<b>(a)</b> is better in performace than<b> (b)</b>
<b>But before that, please note some performance related issues with OO Context...</b>
1. When defining an Internal table, avoid occurs specification, It is Obsolete,Make use of Initial Size n.
2. Declare Workarea separately,since Internal table defined along with header line is Obsolete in OO Context.Its better and more robust to fill the itab and fetch the values from itab using a separate Workarea rather than the header line... So avoid header lines...
3. When defining an internal table, follow this way ....
Define a Linetype (Field String) using the TYPES Statement
TYPES: begin of ty_line,
f1 type i,
f2 type i,
end of ty_line.
Then define a Table type using TYPES Statement...
TYPES: ty_lines type standard table of ty_line with default key.
"there is differnnce between line and lines..... make it clear..."
Then after, define the internal table and its work area using DATA statement... as shown below..
DATA: i_lines type ty_lines,
wa_lines like line of i_lines
<b>This is the standard way of defining the internal table under OO Context.,,..
Your definition is creating a default header line....that should be avoided...</b>
Thanks for ur patience,
Regards..
Mohammed Anwar.. -
Get workflow status abap object way
Hi all of you,
I am facing a workflow problem.
I am working on a class that implements the interface IF_SWF_IFS_WORKITEM_EXIT.
That class will be trigger after a user decision step to update a database table with current workflow informations.
<b>My problem is how to find the workflow status (but not the user decision one) by knowing that my class is executed in the user decision step.</b>
I know that I have this information in the table SWIWIOBJCT but as I decided to achieve my task using abap object, I would like to know if somebody know a simple way using abap object.
I am facing another problem: if the user decide to approve the document my workitem (for the user decision step and the global workflow) will now have the COMPLETED, but at the moment my class is executed they don't have the COMPLETED status yet.
Do someone know if the information on the new status of the workflow is stored anywhere?
I don't know if I have exposed clearly my problem, but I can give some points to any helper since the answer is helpful.
Thanks in advance.
ReneSorry for my language. Information about workflow work item's (WI) status can find in SWWWIHEAD (transparent table) by simple select or using FM SWW_WI_WL_READ (on enter need give id of WI).
For another problem: can you get information about WI status twice from your own class (on enter and on out)? If can - check of changes status and did your procedures... -
Craete a simple abap object to select data from a table and display
Hi,
I know the concept of abap objects but i never worked on it,
can any one give me simple example of how to create an abap object to display data from mara table.also please send me documents or info regd ABAP OBJECTS.
I want to write a simple report in terms of abap object
Regards,
Sowjanyahi,
Here is hte sample program in se38.
REPORT ZFGLI00003
*-- Include for data declarations and performs
include ZFGLI00003_f01.
*--Include for Classes and their Implementation
include ZFGLI00003_cl.
* selection-screen *
*-- Selection Values : Block1
selection-screen begin of block b1 with frame title text-001.
*-- Ledger
parameters: p_rldnr like zzprodnt-rldnr default 'NP'.
*-- Fiscal year
parameters: p_ryear like zzprodnt-ryear.
*-- Period(month)
parameters: p_rpmax like zzprodnt-rpmax.
selection-screen end of block b1.
*-- Selection Values : Block2
selection-screen begin of block b2 with frame title text-002.
*-- Company ID's
select-options : s_glcomp for ZZPRODNT-ROBUKRS .
*-- Profit Center
select-options : s_prctr for ZZPRODNT-RPRCTR .
*-- Product Assignment
select-options : s_prasn for ZZPRODNT-RZZWWZ01 .
*-- Corporate Brand
select-options : s_crpbd for ZZPRODNT-RZZWWZ05 .
selection-screen end of block b2.
*-- Selection Values : Block3 Download Options
selection-screen begin of block b3 with frame title text-003.
parameters : p_local radiobutton group 1,
p_unix radiobutton group 1,
p_path like rlgrap-filename obligatory
default 'C:P20Z_Formatted.txt'(009).
selection-screen end of block b3.
* At Selection-Selection on value-request for file path *
at selection-screen on value-request for p_path.
if p_unix <> 'X'.
*-- Getting F4 help for output file
perform get_filename changing p_path.
else.
message i999(zi) with
'Sorry !! Function not available for UNIX file.'(i01).
endif.
*-- At selection screen validations
at selection-screen on p_path.
if p_unix <> 'X'.
*-- Validate local file
if p_path+1(2) <> ':'.
message e999(zi) with 'Invalid file path'(006).
endif.
else.
*-- Validate unix file
if p_path+0(1) <> '/'.
message e999(zi) with 'Invalid file path'(006).
endif.
endif.
* Initialization *
initialization.
*-- Initialize the period
perform init_period changing p_rpmax p_ryear.
* start-of-selection *
start-of-selection.
data : o_tm1_intf type ref to lcl_tm1_intf.
create object o_tm1_intf.
*-- Extract the data from ZZPRODNT
call method o_tm1_intf->get_data exporting e_rldnr = p_rldnr
e_ryear = p_ryear
e_rpmax = p_rpmax
e_glcomp = s_glcomp[]
e_prctr = s_prctr[]
e_prasn = s_prasn[]
e_crpbd = s_crpbd[]
importing i_subrc = v_subrc.
* INCLUDE ZFGLI00003_CL *
* CLASS lcl_tm1_intf IMPLEMENTATION
class lcl_tm1_intf definition.
public section.
*-- Data Declaration
data : lv_date type sy-datum, "Date
lv_time type sy-uzeit, "Time
lv_count type i, "Count for total records
lv_acsline type zfgl014-acsline,"ACS line code
lv_amt_curr type zzprodnt-kslvt, "current month amount
lv_amt_ytd type zzprodnt-kslvt, "YTD Amount
lv_check, "check if any record is
"downloaded
lv_msg(100), "message
lv_count_s(5) , "Count for total(char)
lv_amt_curr_s(23), "Current month amount(char)
lv_amt_ytd_s(23), "YTD Amount(char)
lv_ksl_pd(17), "KSLxx
lv_period(2) type n. "month(period)
*-- Types Declaration
types : ty_rldnr type zzprodnt-rldnr, "Type for Ledger
ty_ryear type zzprodnt-ryear, "Type for Fiscal Year
ty_rpmax type zzprodnt-rpmax, "Type for Period
ty_glcomp type range of char4, "Type for company selection
ty_prctr type range of char10, "Type for profit center sel
ty_prasn type range of char6, "Type for prod assignmt sel
ty_crpbd type range of char4, "Type for Corp Brand sel
begin of ty_file, "Type for File
line(150),
end of ty_file,
begin of ty_ZZPRODNT, "Type-ledger summary table
company type OBUKR, "Company
gl_acct type RACCT, "GL Account
cst_ctr type KOSTL, "Cost Center
prt_ctr type PRCTR, "Profit Center
rfarea type FKBER, "Functional Area
wbs_ele type PS_POSID, "WBS Element
prd_*** type RKEG_WWZ01, "Product Assignment
corp_bd type RKEG_WWZ05, "Corporate Brand
ksl01 type KSLXX9, "Total of transactions - 01
ksl02 type KSLXX9, "Total of transactions - 02
ksl03 type KSLXX9, "Total of transactions - 03
ksl04 type KSLXX9, "Total of transactions - 04
ksl05 type KSLXX9, "Total of transactions - 05
ksl06 type KSLXX9, "Total of transactions - 06
ksl07 type KSLXX9, "Total of transactions - 07
ksl08 type KSLXX9, "Total of transactions - 08
ksl09 type KSLXX9, "Total of transactions - 09
ksl10 type KSLXX9, "Total of transactions - 10
ksl11 type KSLXX9, "Total of transactions - 11
ksl12 type KSLXX9, "Total of transactions - 12
ksl13 type KSLXX9, "Total of transactions - 13
ksl14 type KSLXX9, "Total of transactions - 14
ksl15 type KSLXX9, "Total of transactions - 15
ksl16 type KSLXX9, "Total of transactions - 16
end of ty_ZZPRODNT.
*-- Structure Declaration
* Structure for final file
data : x_file type ty_file,
* Structure for Product Ledger Summary table
x_ZZPRODNT type ty_ZZPRODNT,
* Structure for Functional Area to ACS line mapping
x_zfgl014 type zfgl014.
*-- Internal Table Declaration
* Table for records of Product Ledger Summary table
data : it_ZZPRODNT type table of ty_ZZPRODNT,
* Table for final file
it_file type table of ty_file,
* Table for Functional Area to ACS line mapping
it_zfgl014 type table of zfgl014.
*-- Method Declaration.
methods : get_data importing e_rldnr type ty_rldnr
e_ryear type ty_ryear
e_rpmax type ty_rpmax
e_glcomp type ty_glcomp
e_prctr type ty_prctr
e_prasn type ty_prasn
e_crpbd type ty_crpbd
exporting i_subrc type sy-subrc.
endclass. "lcl_tm1_intf DEFINITION
* CLASS lcl_tm1_intf IMPLEMENTATION
class lcl_tm1_intf implementation.
*-- Method get_data selects the North American Product Ledger Summary
* table data and then maps the Functional Area to ACS line to get
* the ACS line code
method get_data.
*-- Local Variable
DATA: L_ZZPRODNT TYPE TY_ZZPRODNT.
*-- Get the data from North American Product Ledger Summary table
select robukrs
racct
rcntr
rprctr
rfarea
rzzwbs_el
rzzwwz01
rzzwwz05
ksl01
ksl02
ksl03
ksl04
ksl05
ksl06
ksl07
ksl08
ksl09
ksl10
ksl11
ksl12
ksl13
ksl14
ksl15
ksl16
from zzprodnt
into table it_ZZPRODNT
where rldnr = e_rldnr
and ryear = e_ryear
and rpmax = e_rpmax
and ROBUKRS in e_glcomp
and RPRCTR in e_prctr
and RZZWWZ01 in e_prasn
and RZZWWZ05 in e_crpbd.
if sy-subrc = 0.
loop at it_ZZPRODNT into l_zzprodnt.
condense l_ZZPRODNT-rfarea no-gaps.
if l_ZZPRODNT-rfarea is initial.
delete it_ZZPRODNT.
endif.
endloop.
*-- Get the Functional Area to ACS line code mapping data
select *
from zfgl014
into table it_zfgl014
for all entries in it_ZZPRODNT
where fkber = it_ZZPRODNT-rfarea .
if sy-subrc = 0.
endif.
endif.
i_subrc = sy-subrc.
endmethod. "get_data
endclass. "lcl_tm1_intf IMPLEMENTATION
* INCLUDE ZFGLI00003_F01 *
* Table
tables : zzprodnt.
* Data Declaration
data : v_subrc type sy-subrc.
*& Form get_filename
* Description : This subroutine is used for F4 Prompting
form get_filename changing p_path like rlgrap-filename.
*-- Local variables
data : lv_file like ibipparms-path, "Local file for upload/download
lv_repid like syst-cprog, "ABAP program, caller in external
"procedures
lv_dynnr type syst-dynnr. "Current screen No
lv_repid = syst-cprog.
lv_dynnr = syst-dynnr.
*-- Function module used for F4 help
call function 'F4_FILENAME'
exporting
program_name = lv_repid
dynpro_number = lv_dynnr
importing
file_name = lv_file.
move lv_file to p_path.
endform. " get_filename
*& Form init_period
FORM init_period changing p_rpmax p_ryear.
if sy-datum+4(2) = 01.
p_rpmax = 12.
p_ryear = sy-datum+0(4) - 1.
else.
p_rpmax = sy-datum+4(2) - 1.
p_ryear = sy-datum+0(4).
endif.
ENDFORM. " init_period
Hope this helps.
Regards,
Richa -
Is it a good idea to use ABAP objects for reports?
Hello Experts,
Is it a good idea to use ABAP objects instead of the traditional ABAP for coding reports?Hi,
Go throught Document it will Give you eight Reasons why OOABAP Should be used.
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/37c5db90-0201-0010-3a9b-d0a5288f3c15
Must go through
Regards,
Gurpreet -
ALV Tree Report without using ABAP Objects
Hi all,
I want to know the name of a function module to create ALV Tree in SE38 as a report. I am required to create this ALV Tree Report without using ABAP OBJECTS. Can u pls help me as early as possible.Hi
see this link
http://www.sapdev.co.uk/reporting/alv/alvtree.htm
*& Report ZBCALV_TREE
REPORT ZBCALV_TREE.
class cl_gui_column_tree definition load.
class cl_gui_cfw definition load.
data tree1 type ref to cl_gui_alv_tree.
data mr_toolbar type ref to cl_gui_toolbar.
include <icon>.
include bcalv_toolbar_event_receiver.
include bcalv_tree_event_receiver.
data: toolbar_event_receiver type ref to lcl_toolbar_event_receiver.
data: gt_VBAK type VBAK occurs 0, "Output-Table
gt_fieldcatalog type lvc_t_fcat, "Fieldcatalog
ok_code like sy-ucomm. "OK-Code
start-of-selection.
end-of-selection.
call screen 100.
*& Module STATUS_0100 OUTPUT
text
module STATUS_0100 output.
SET PF-STATUS 'MAIN'.
if tree1 is initial.
perform Zinit_tree.
endif.
call method cl_gui_cfw=>flush.
endmodule. " STATUS_0100 OUTPUT
*& Form Zinit_tree
text
--> p1 text
<-- p2 text
form Zinit_tree .
perform Zbuild_fieldcatalog.
create container for alv-tree
data: l_tree_container_name(30) type c,
l_custom_container type ref to cl_gui_custom_container.
l_tree_container_name = 'TREE1'.
if sy-batch is initial.
create object l_custom_container
exporting
container_name = l_tree_container_name
exceptions
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.
if sy-subrc <> 0.
message x208(00) with 'ERROR'. "#EC NOTEXT
endif.
endif.
create tree control
create object tree1
exporting
parent = l_custom_container
node_selection_mode = cl_gui_column_tree=>node_sel_mode_single
item_selection = 'X'
no_html_header = ''
no_toolbar = ''
exceptions
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
illegal_node_selection_mode = 5
failed = 6
illegal_column_name = 7.
if sy-subrc <> 0.
message x208(00) with 'ERROR'. "#EC NOTEXT
endif.
create Hierarchy-header
data l_hierarchy_header type treev_hhdr.
perform zbuild_hierarchy_header changing l_hierarchy_header.
create info-table for html-header
data: lt_list_commentary type slis_t_listheader,
l_logo type sdydo_value.
perform Zbuild_comment using
lt_list_commentary
l_logo.
repid for saving variants
data: ls_variant type disvariant.
ls_variant-report = sy-repid.
create emty tree-control
call method tree1->set_table_for_first_display
exporting
is_hierarchy_header = l_hierarchy_header
it_list_commentary = lt_list_commentary
i_logo = l_logo
i_background_id = 'ALV_BACKGROUND'
i_save = 'A'
is_variant = ls_variant
changing
it_outtab = gt_VBAK "table must be emty !!
it_fieldcatalog = gt_fieldcatalog.
create hierarchy
perform Zcreate_hierarchy.
add own functioncodes to the toolbar
perform zchange_toolbar.
register events
perform zregister_events.
endform. " Zinit_tree
*& Form Zbuild_fieldcatalog
text
--> p1 text
<-- p2 text
form Zbuild_fieldcatalog .
get fieldcatalog
call function 'LVC_FIELDCATALOG_MERGE'
exporting
i_structure_name = 'VBAK'
changing
ct_fieldcat = gt_fieldcatalog.
sort gt_fieldcatalog by scrtext_l.
change fieldcatalog
data: ls_fieldcatalog type lvc_s_fcat.
loop at gt_fieldcatalog into ls_fieldcatalog.
case ls_fieldcatalog-fieldname.
when 'AUART' .
ls_fieldcatalog-no_out = 'X'.
ls_fieldcatalog-key = ''.
endcase.
modify gt_fieldcatalog from ls_fieldcatalog.
endloop.
endform. " Zbuild_fieldcatalog
*& Form zbuild_hierarchy_header
text
<--P_L_HIERARCHY_HEADER text
form zbuild_hierarchy_header changing
p_hierarchy_header type treev_hhdr.
p_hierarchy_header-heading = 'Hierarchy Header'. "#EC NOTEXT
p_hierarchy_header-tooltip =
'This is the Hierarchy Header !'. "#EC NOTEXT
p_hierarchy_header-width = 30.
p_hierarchy_header-width_pix = ''.
endform. " zbuild_hierarchy_header
*& Form Zbuild_comment
text
-->P_LT_LIST_COMMENTARY text
-->P_L_LOGO text
form Zbuild_comment using
pt_list_commentary type slis_t_listheader
p_logo type sdydo_value.
data: ls_line type slis_listheader.
LIST HEADING LINE: TYPE H
clear ls_line.
ls_line-typ = 'H'.
LS_LINE-KEY: NOT USED FOR THIS TYPE
ls_line-info = 'ALV-tree-demo: flight-overview'. "#EC NOTEXT
append ls_line to pt_list_commentary.
STATUS LINE: TYPE S
clear ls_line.
ls_line-typ = 'S'.
ls_line-key = 'valid until'. "#EC NOTEXT
ls_line-info = 'January 29 1999'. "#EC NOTEXT
append ls_line to pt_list_commentary.
ls_line-key = 'time'.
ls_line-info = '2.00 pm'. "#EC NOTEXT
append ls_line to pt_list_commentary.
ACTION LINE: TYPE A
clear ls_line.
ls_line-typ = 'A'.
LS_LINE-KEY: NOT USED FOR THIS TYPE
ls_line-info = 'actual data'. "#EC NOTEXT
append ls_line to pt_list_commentary.
p_logo = 'ENJOYSAP_LOGO'.
endform. " Zbuild_comment
*& Form Zcreate_hierarchy
text
--> p1 text
<-- p2 text
form Zcreate_hierarchy .
data: ls_vbak type vbak,
lt_vbak type vbak occurs 0.
get data
select * from vbak into table lt_vbak
up to 200 rows . "#EC CI_NOWHERE
sort lt_vbak by AUART.
add data to tree
data: l_AUART_key type lvc_nkey.
loop at lt_vbak into ls_vbak.
on change of ls_vbak-AUART.
perform Zadd_AUART_line using ls_vbak
changing l_AUART_key.
endon.
endloop.
calculate totals
call method tree1->update_calculations.
this method must be called to send the data to the frontend
call method tree1->frontend_update.
endform. " Zcreate_hierarchy
*& Form Zadd_AUART_line
text
-->P_LS_vbak text
-->P_0379 text
<--P_L_AUART_KEY text
form Zadd_AUART_line using p_ls_vbak type vbak
p_relat_key type lvc_nkey
changing p_node_key type lvc_nkey.
data: l_node_text type lvc_value,
ls_vbak type vbak.
set item-layout
data: lt_item_layout type lvc_t_layi,
ls_item_layout type lvc_s_layi.
ls_item_layout-t_image = '@3P@'.
ls_item_layout-fieldname = tree1->c_hierarchy_column_name.
ls_item_layout-style =
cl_gui_column_tree=>style_intensifd_critical.
append ls_item_layout to lt_item_layout.
add node
l_node_text = p_ls_vbak-AUART.
data: ls_node type lvc_s_layn.
ls_node-n_image = space.
ls_node-exp_image = space.
call method tree1->add_node
exporting
i_relat_node_key = p_relat_key
i_relationship = cl_gui_column_tree=>relat_last_child
i_node_text = l_node_text
is_outtab_line = ls_vbak
is_node_layout = ls_node
it_item_layout = lt_item_layout
importing
e_new_node_key = p_node_key .
endform. " Zadd_AUART_line
*& Form zchange_toolbar
text
--> p1 text
<-- p2 text
form zchange_toolbar .
get toolbar control
call method tree1->get_toolbar_object
importing
er_toolbar = mr_toolbar.
check not mr_toolbar is initial.
add seperator to toolbar
call method mr_toolbar->add_button
exporting
fcode = ''
icon = ''
butn_type = cntb_btype_sep
text = ''
quickinfo = 'This is a Seperator'. "#EC NOTEXT
add Standard Button to toolbar (for Delete Subtree)
call method mr_toolbar->add_button
exporting
fcode = 'DELETE'
icon = '@18@'
butn_type = cntb_btype_button
text = ''
quickinfo = 'Delete subtree'. "#EC NOTEXT
add Dropdown Button to toolbar (for Insert Line)
call method mr_toolbar->add_button
exporting
fcode = 'INSERT_LC'
icon = '@17@'
butn_type = cntb_btype_dropdown
text = ''
quickinfo = 'Insert Line'. "#EC NOTEXT
set event-handler for toolbar-control
create object toolbar_event_receiver.
set handler toolbar_event_receiver->on_function_selected
for mr_toolbar.
set handler toolbar_event_receiver->on_toolbar_dropdown
for mr_toolbar.
endform. " zchange_toolbar
*& Form zregister_events
text
--> p1 text
<-- p2 text
form zregister_events .
define the events which will be passed to the backend
data: lt_events type cntl_simple_events,
l_event type cntl_simple_event.
define the events which will be passed to the backend
l_event-eventid = cl_gui_column_tree=>eventid_expand_no_children.
append l_event to lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_checkbox_change.
append l_event to lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_header_context_men_req.
append l_event to lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_node_context_menu_req.
append l_event to lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_item_context_menu_req.
append l_event to lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_header_click.
append l_event to lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_item_keypress.
append l_event to lt_events.
call method tree1->set_registered_events
exporting
events = lt_events
exceptions
cntl_error = 1
cntl_system_error = 2
illegal_event_combination = 3.
if sy-subrc <> 0.
message x208(00) with 'ERROR'. "#EC NOTEXT
endif.
set Handler
data: l_event_receiver type ref to lcl_tree_event_receiver.
create object l_event_receiver.
set handler l_event_receiver->handle_node_ctmenu_request
for tree1.
set handler l_event_receiver->handle_node_ctmenu_selected
for tree1.
set handler l_event_receiver->handle_item_ctmenu_request
for tree1.
set handler l_event_receiver->handle_item_ctmenu_selected
for tree1.
endform. " zregister_events
*& Module USER_COMMAND_0100 INPUT
text
module USER_COMMAND_0100 input.
ok_code = sy-ucomm.
clear sy-ucomm.
case ok_code.
when 'EXIT' or 'BACK' or 'CANC'.
perform Zexit_program.
when others.
call method cl_gui_cfw=>dispatch.
endcase.
clear ok_code.
call method cl_gui_cfw=>flush.
endmodule. " USER_COMMAND_0100 INPUT
*& Form Zexit_program
text
--> p1 text
<-- p2 text
form Zexit_program .
call method tree1->free.
leave program.
endform. " Zexit_program
<b>Reward if usefull</b> -
Difference between abap object and function
hi all,
i read the book on abap object of the difference between abap object and classical abap.
i know that there is only 1 instance of a specific function group but somehow i still not so clear why subsequent vehicle cannot use the same function. i also can use the do and loop to call the function? if cannot then why?
hope can get the advice.
thanks
using function *********
function-pool vehicle.
data speed type i value 0.
function accelerate.
speed = speed + 1.
endfunction.
function show_speed.
write speed.
endfunction.
report xx.
start-of-selection.
*vehicle 1
call function 'accelerate'.
call function 'accelerate'.
call function 'show_speed'.
*vehicle 2
*vehicle 3
*****abap object*******
report xx.
data: ov type ref to vehicle,
ov_tab type table of ref to vehicle.
start-of-selection.
do 5 times.
create object ov.
append ov to ov_tab.
enddo.
loop at ov_tab into ov.
do sy-tabix times.
call method ov->accelerate.
enddo.
call method ov->show_speed.
endloop.Hi
Now try this:
REPORT ZTEST_VEHICLEOO .
PARAMETERS: P_CAR TYPE I,
P_READ TYPE I.
* CLASS vehicle DEFINITION
CLASS VEHICLE DEFINITION.
PUBLIC SECTION.
CLASS-DATA: MAX_SPEED TYPE I,
MAX_VEHICLE TYPE I,
NR_VEHICLES TYPE I.
CLASS-METHODS CLASS_CONSTRUCTOR.
METHODS CONSTRUCTOR.
METHODS ACCELERATE.
METHODS SHOW_SPEED.
METHODS GET_SPEED EXPORTING E_SPEED TYPE I.
PRIVATE SECTION.
DATA: SPEED TYPE I,
NR_VEHICLE TYPE I..
ENDCLASS.
* CLASS vehicle IMPLEMENTATION
CLASS VEHICLE IMPLEMENTATION.
METHOD CLASS_CONSTRUCTOR.
NR_VEHICLES = 0.
ENDMETHOD.
METHOD CONSTRUCTOR.
NR_VEHICLES = NR_VEHICLES + 1.
NR_VEHICLE = NR_VEHICLES.
ENDMETHOD.
METHOD ACCELERATE.
SPEED = SPEED + 1.
IF MAX_SPEED < SPEED.
MAX_SPEED = SPEED.
MAX_VEHICLE = NR_VEHICLE.
ENDIF.
ENDMETHOD.
METHOD SHOW_SPEED.
WRITE: / 'Speed of vehicle nr.', NR_VEHICLE, ':', SPEED.
ENDMETHOD.
METHOD GET_SPEED.
E_SPEED = SPEED.
ENDMETHOD.
ENDCLASS.
DATA: OV TYPE REF TO VEHICLE,
OV_TAB TYPE TABLE OF REF TO VEHICLE.
DATA: V_TIMES TYPE I,
FL_ACTION.
DATA: V_SPEED TYPE I.
START-OF-SELECTION.
DO P_CAR TIMES.
CREATE OBJECT OV.
APPEND OV TO OV_TAB.
ENDDO.
LOOP AT OV_TAB INTO OV.
IF FL_ACTION = SPACE.
FL_ACTION = 'X'.
V_TIMES = SY-TABIX * 2.
ELSE.
FL_ACTION = SPACE.
V_TIMES = SY-TABIX - 2.
ENDIF.
DO V_TIMES TIMES.
CALL METHOD OV->ACCELERATE.
ENDDO.
CALL METHOD OV->SHOW_SPEED.
ENDLOOP.
SKIP.
WRITE: / 'Higher speed', VEHICLE=>MAX_SPEED, 'for vehicle nr.',
VEHICLE=>MAX_VEHICLE.
SKIP.
READ TABLE OV_TAB INTO OV INDEX P_READ.
IF SY-SUBRC <> 0.
WRITE: 'No vehicle', P_READ.
ELSE.
CALL METHOD OV->GET_SPEED IMPORTING E_SPEED = V_SPEED.
WRITE: 'Speed of vehicle', P_READ, V_SPEED.
ENDIF.
Try to repeat this using a function group and I think you'll undestand because it'll be very hard to do it.
By only one function group how can u read the data of a certain vehicle?
Yes you can create in the function group an internal table where u store the data of every car: in this way u use the internal table like it was an instance, but you should consider here the example is very simple. Here we have only the speed as characteristic, but really we can have many complex characteristics.
Max -
Problem when down loading a simple report to Excel sheet
HI Frenz,
When I download a Simple report to excel , The Excel shows a blank column in between two column, which should not be the case.
Kindly let me know ASAP
Regards
IrfanHi,
Check out the below samle code
Download a report to excel with format (border, color cell, etc)
REPORT ZSIRI NO STANDARD PAGE HEADING.
* this report demonstrates how to send some ABAP data to an
* EXCEL sheet using OLE automation.
INCLUDE OLE2INCL.
* handles for OLE objects
DATA: H_EXCEL TYPE OLE2_OBJECT, " Excel object
H_MAPL TYPE OLE2_OBJECT, " list of workbooks
H_MAP TYPE OLE2_OBJECT, " workbook
H_ZL TYPE OLE2_OBJECT, " cell
H_F TYPE OLE2_OBJECT. " font
TABLES: SPFLI.
DATA H TYPE I.
* table of flights
DATA: IT_SPFLI LIKE SPFLI OCCURS 10 WITH HEADER LINE.
*& Event START-OF-SELECTION
START-OF-SELECTION.
* read flights
SELECT * FROM SPFLI INTO TABLE IT_SPFLI UP TO 10 ROWS.
* display header
ULINE (61).
WRITE: / SY-VLINE NO-GAP,
(3) 'Flg'(001) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,
(4) 'Nr'(002) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,
(20) 'Von'(003) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,
(20) 'Nach'(004) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,
(8) 'Zeit'(005) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP.
ULINE /(61).
* display flights
LOOP AT IT_SPFLI.
WRITE: / SY-VLINE NO-GAP,
IT_SPFLI-CARRID COLOR COL_KEY NO-GAP, SY-VLINE NO-GAP,
IT_SPFLI-CONNID COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP,
IT_SPFLI-CITYFROM COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP,
IT_SPFLI-CITYTO COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP,
IT_SPFLI-DEPTIME COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP.
ENDLOOP.
ULINE /(61).
* tell user what is going on
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
* PERCENTAGE = 0
TEXT = TEXT-007
EXCEPTIONS
OTHERS = 1.
* start Excel
CREATE OBJECT H_EXCEL 'EXCEL.APPLICATION'.
* PERFORM ERR_HDL.
SET PROPERTY OF H_EXCEL 'Visible' = 1.
* CALL METHOD OF H_EXCEL 'FILESAVEAS' EXPORTING #1 = 'c:\kis_excel.xls'
* PERFORM ERR_HDL.
* tell user what is going on
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
* PERCENTAGE = 0
TEXT = TEXT-008
EXCEPTIONS
OTHERS = 1.
* get list of workbooks, initially empty
CALL METHOD OF H_EXCEL 'Workbooks' = H_MAPL.
PERFORM ERR_HDL.
* add a new workbook
CALL METHOD OF H_MAPL 'Add' = H_MAP.
PERFORM ERR_HDL.
* tell user what is going on
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
* PERCENTAGE = 0
TEXT = TEXT-009
EXCEPTIONS
OTHERS = 1.
* output column headings to active Excel sheet
PERFORM FILL_CELL USING 1 1 1 'Flug'(001).
PERFORM FILL_CELL USING 1 2 0 'Nr'(002).
PERFORM FILL_CELL USING 1 3 1 'Von'(003).
PERFORM FILL_CELL USING 1 4 1 'Nach'(004).
PERFORM FILL_CELL USING 1 5 1 'Zeit'(005).
LOOP AT IT_SPFLI.
* copy flights to active EXCEL sheet
H = SY-TABIX + 1.
PERFORM FILL_CELL USING H 1 0 IT_SPFLI-CARRID.
PERFORM FILL_CELL USING H 2 0 IT_SPFLI-CONNID.
PERFORM FILL_CELL USING H 3 0 IT_SPFLI-CITYFROM.
PERFORM FILL_CELL USING H 4 0 IT_SPFLI-CITYTO.
PERFORM FILL_CELL USING H 5 0 IT_SPFLI-DEPTIME.
ENDLOOP.
* changes by Kishore - start
* CALL METHOD OF H_EXCEL 'Workbooks' = H_MAPL.
CALL METHOD OF H_EXCEL 'Worksheets' = H_MAPL." EXPORTING #1 = 2.
PERFORM ERR_HDL.
* add a new workbook
CALL METHOD OF H_MAPL 'Add' = H_MAP EXPORTING #1 = 2.
PERFORM ERR_HDL.
* tell user what is going on
SET PROPERTY OF H_MAP 'NAME' = 'COPY'.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
* PERCENTAGE = 0
TEXT = TEXT-009
EXCEPTIONS
OTHERS = 1.
* output column headings to active Excel sheet
PERFORM FILL_CELL USING 1 1 1 'Flug'(001).
PERFORM FILL_CELL USING 1 2 0 'Nr'(002).
PERFORM FILL_CELL USING 1 3 1 'Von'(003).
PERFORM FILL_CELL USING 1 4 1 'Nach'(004).
PERFORM FILL_CELL USING 1 5 1 'Zeit'(005).
LOOP AT IT_SPFLI.
* copy flights to active EXCEL sheet
H = SY-TABIX + 1.
PERFORM FILL_CELL USING H 1 0 IT_SPFLI-CARRID.
PERFORM FILL_CELL USING H 2 0 IT_SPFLI-CONNID.
PERFORM FILL_CELL USING H 3 0 IT_SPFLI-CITYFROM.
PERFORM FILL_CELL USING H 4 0 IT_SPFLI-CITYTO.
PERFORM FILL_CELL USING H 5 0 IT_SPFLI-DEPTIME.
ENDLOOP.
* changes by Kishore - end
* disconnect from Excel
* CALL METHOD OF H_EXCEL 'FILESAVEAS' EXPORTING #1 = 'C:\SKV.XLS'.
FREE OBJECT H_EXCEL.
PERFORM ERR_HDL.
* FORM FILL_CELL *
* sets cell at coordinates i,j to value val boldtype bold *
FORM FILL_CELL USING I J BOLD VAL.
CALL METHOD OF H_EXCEL 'Cells' = H_ZL EXPORTING #1 = I #2 = J.
PERFORM ERR_HDL.
SET PROPERTY OF H_ZL 'Value' = VAL .
PERFORM ERR_HDL.
GET PROPERTY OF H_ZL 'Font' = H_F.
PERFORM ERR_HDL.
SET PROPERTY OF H_F 'Bold' = BOLD .
PERFORM ERR_HDL.
ENDFORM.
*& Form ERR_HDL
* outputs OLE error if any *
* --> p1 text
* <-- p2 text
FORM ERR_HDL.
IF SY-SUBRC <> 0.
WRITE: / 'Fehler bei OLE-Automation:'(010), SY-SUBRC.
STOP.
ENDIF.
ENDFORM. " ERR_HDL
Cheers,
Chandru -
HI
Can anyone give me the link for ABAP Objects and BADI'S.
I would like to have ABAP Objects with Example as well as BADIS.
Please tell me as iam new to those.
Thanks in advanceHi,
ABAP objects have an elaborated list plz mention specific objects u want to know.
These are few of the links which I got through the sdn.sap for the objects like ALV,LSMW,IDOCS, etc..
Start with this.Refer this
For BDC:
http://myweb.dal.ca/hchinni/sap/bdc_home.htm
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&
http://www.sap-img.com/abap/learning-bdc-programming.htm
http://www.sapdevelopment.co.uk/bdc/bdchome.htm
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm
http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html
Check these link:
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
http://www.sap-img.com/abap/question-about-bdc-program.htm
http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
http://www.planetsap.com/bdc_main_page.htm
call Transaction or session method ?
http://www.sapbrain.com/FAQs/TECHNICAL/SAP_ABAP_DATADICTIONARY_FAQ.html
http://www.****************/InterviewQ/interviewQ.htm
http://help.sap.com/saphelp_46c/helpdata/en/35/2cd77bd7705394e10000009b387c12/frameset.htm
Reports
http://www.sapgenie.com/abap/reports.htm
http://www.allsaplinks.com/material.html
http://www.sapdevelopment.co.uk/reporting/reportinghome.htm
http://www.sapfans.com/forums/viewtopic.php?t=58286
http://www.sapfans.com/forums/viewtopic.php?t=76490
http://www.sapfans.com/forums/viewtopic.php?t=20591
http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.
ALE/ IDOC
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
Check these step-by-step links
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/ccab6730-0501-0010-ee84-de050a6cc287
https://sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/8fd773b3-0301-0010-eabe-82149bcc292e
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/3c5d9ae3-0501-0010-0090-bdfb2d458985
for Smartforms material
http://www.sap-basis-abap.com/sapsf001.htm
http://www.sap-press.com/downloads/h955_preview.pdf
http://www.ossincorp.com/Black_Box/Black_Box_2.htm
http://www.sap-img.com/smartforms/sap-smart-forms.htm
http://www.sap-img.com/smartforms/smartform-tutorial.htm
http://www.sapgenie.com/abap/smartforms.htm
How to trace smartform
http://help.sap.com/saphelp_47x200/helpdata/en/49/c3d8a4a05b11d5b6ef006094192fe3/frameset.htm
http://www.help.sap.com/bp_presmartformsv1500/DOCU/OVIEW_EN.PDF
http://www.sap-img.com/smartforms/smart-006.htm
http://www.sap-img.com/smartforms/smartforms-faq-part-two.htm
Re: Need FAQ's
check most imp link
http://www.sapbrain.com/ARTICLES/TECHNICAL/SMARTFORMS/smartforms.html
step by step good ex link is....
http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.html
SAPScripts
http://esnips.com/doc/1ff9f8e8-0a4c-42a7-8819-6e3ff9e7ab44/sapscripts.pdf
http://esnips.com/doc/1e487f0c-8009-4ae1-9f9c-c07bd953dbfa/script-command.pdf
http://esnips.com/doc/64d4eccb-e09b-48e1-9be9-e2818d73f074/faqss.pdf
http://esnips.com/doc/cb7e39b4-3161-437f-bfc6-21e6a50e1b39/sscript.pdf
http://esnips.com/doc/fced4d36-ba52-4df9-ab35-b3d194830bbf/symbols-in-scripts.pdf
http://esnips.com/doc/b57e8989-ccf0-40d0-8992-8183be831030/sapscript-how-to-calculate-totals-and-subtotals.htm
SAP SCRIPT FIELDS
http://help.sap.com/saphelp_erp2005vp/helpdata/en/d1/8033ea454211d189710000e8322d00/content.htm
scripts easy material
http://www.allsaplinks.com/sap_script_made_easy.html
Debugging Document.
http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
http://help.sap.com/saphelp_47x200/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/84/1f624f4505144199e3d570cf7a9225/frameset.htm
http://help.sap.com/saphelp_bw30b/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
BAPI
http://help.sap.com/saphelp_46c/helpdata/en/9b/417f07ee2211d1ad14080009b0fb56/frameset.htm
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
Checkout !!
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
http://techrepublic.com.com/5100-6329-1051160.html#
http://www.sap-img.com/bapi.htm
http://www.sap-img.com/abap/bapi-conventions.htm
http://www.sappoint.com/abap/bapiintro.pdf
http://www.sapgenie.com/abap/bapi/example.htm
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf
List of all BAPIs
http://www.planetsap.com/LIST_ALL_BAPIs.htm
http://www.sappoint.com/abap/bapiintro.pdf
http://www.sappoint.com/abap/bapiprg.pdf
http://www.sappoint.com/abap/bapiactx.pdf
http://www.sappoint.com/abap/bapilst.pdf
http://www.sappoint.com/abap/bapiexer.pdf
http://service.sap.com/ale
http://service.sap.com/bapi
http://www.geocities.com/mpioud/Abap_programs.html
http://www.sapdevelopment.co.uk/reporting/reportinghome.htm
Simple ALV report
http://www.sapgenie.com/abap/controls/alvgrid.htm
http://wiki.ittoolbox.com/index.php/Code:Ultimate_ALV_table_toolbox
ALV
1. Please give me general info on ALV.
http://www.sapfans.com/forums/viewtopic.php?t=58286
http://www.sapfans.com/forums/viewtopic.php?t=76490
http://www.sapfans.com/forums/viewtopic.php?t=20591
http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.
2. How do I program double click in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=11601
http://www.sapfans.com/forums/viewtopic.php?t=23010
3. How do I add subtotals (I have problem to add them)...
http://www.sapfans.com/forums/viewtopic.php?t=20386
http://www.sapfans.com/forums/viewtopic.php?t=85191
http://www.sapfans.com/forums/viewtopic.php?t=88401
http://www.sapfans.com/forums/viewtopic.php?t=17335
4. How to add list heading like top-of-page in ABAP lists?
http://www.sapfans.com/forums/viewtopic.php?t=58775
http://www.sapfans.com/forums/viewtopic.php?t=60550
http://www.sapfans.com/forums/viewtopic.php?t=16629
5. How to print page number / total number of pages X/XX in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=29597 (no direct solution)
6. ALV printing problems. The favourite is: The first page shows the number of records selected but I don't need this.
http://www.sapfans.com/forums/viewtopic.php?t=64320
http://www.sapfans.com/forums/viewtopic.php?t=44477
7. How can I set the cell color in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=52107
8. How do I print a logo/graphics in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=81149
http://www.sapfans.com/forums/viewtopic.php?t=35498
http://www.sapfans.com/forums/viewtopic.php?t=5013
9. How do I create and use input-enabled fields in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=84933
http://www.sapfans.com/forums/viewtopic.php?t=69878
10. How can I use ALV for reports that are going to be run in background?
http://www.sapfans.com/forums/viewtopic.php?t=83243
http://www.sapfans.com/forums/viewtopic.php?t=19224
11. How can I display an icon in ALV? (Common requirement is traffic light icon).
http://www.sapfans.com/forums/viewtopic.php?t=79424
http://www.sapfans.com/forums/viewtopic.php?t=24512
12. How can I display a checkbox in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=88376
http://www.sapfans.com/forums/viewtopic.php?t=40968
http://www.sapfans.com/forums/viewtopic.php?t=6919
Go thru these programs they may help u to try on some hands on
ALV Demo program
BCALV_DEMO_HTML
BCALV_FULLSCREEN_DEMO ALV Demo: Fullscreen Mode
BCALV_FULLSCREEN_DEMO_CLASSIC ALV demo: Fullscreen mode
BCALV_GRID_DEMO Simple ALV Control Call Demo Program
BCALV_TREE_DEMO Demo for ALV tree control
BCALV_TREE_SIMPLE_DEMO
BC_ALV_DEMO_HTML_D0100
Remote Function Call:
RFC is an SAP interface protocol. Based on CPI-C, it considerably simplifies the programming of communication processes between systems.
RFCs enable you to call and execute predefined functions in a remote system - or even in the same system.
RFCs manage the communication process, parameter transfer and error handling.
http://help.sap.com/saphelp_47x200/helpdata/en/22/042860488911d189490000e829fbbd/frameset.htm.
ALE/ IDOC
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
Refer this
http://www.sapbrain.com/FAQs/TECHNICAL/SAP_ABAP_DATADICTIONARY_FAQ.html
http://www.****************/InterviewQ/interviewQ.htm
http://help.sap.com/saphelp_46c/helpdata/en/35/2cd77bd7705394e10000009b387c12/frameset.htm
http://www.techinterviews.com/?p=198
http://www.techinterviews.com/?p=326
http://www.sap-img.com/abap/answers-to-some-abap-interview-questions.htm
http://www.sap-img.com/abap/more-than-100-abap-interview-faqs.htm
http://www.geekinterview.com/Interview-Questions/SAP-R-3/ABAP
http://sap.ittoolbox.com/documents/popular-q-and-a/abap-sample-interview-questions-3240
http://www.sap-img.com/abap/abap-interview-question.htm
http://www.allinterview.com/Interview-Questions/ABAP.html
links for OO ABAP.
http://www.sapgenie.com/abap/OO/
http://www.sapgenie.com/abap/OO/index.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt
http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
http://www.esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
http://www.allsaplinks.com/
http://www.sap-img.com/
http://www.sapgenie.com/
http://help.sap.com
http://www.sapgenie.com/abap/OO/
http://www.sapgenie.com.
http://www.sapgenie.com/abap/OO/index.htm
http://www.sapgenie.com/abap/controls/index.htm
http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
http://www.esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
http://www.sapgenie.com/abap/OO/index.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
http://www.sapgenie.com/abap/OO/
some more materials.
Go through the following Documents Links & Materials for ABAP Objects
check the below links lot of info and examples r there
http://www.sapgenie.com/abap/OO/index.htm
http://www.geocities.com/victorav15/sapr3/abap_ood.html
http://www.brabandt.de/html/abap_oo.html
Check this cool weblog:
/people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
/people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
/people/sap.user72/blog/2005/05/10/a-small-tip-for-the-beginners-in-oo-abap
/people/ravikumar.allampallam/blog/2005/02/11/abap-oo-in-action
/people/thomas.jung3/blog/2005/09/08/oo-abap-dynpro-programming
http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b6254f411d194a60000e8353423/frameset.htm
http://www.sapgenie.com/abap/OO/
http://www.sapgenie.com/abap/OO/index.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt
http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
http://www.esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
http://www.allsaplinks.com/
http://www.sap-img.com/
http://www.sapgenie.com/
http://help.sap.com
http://www.sapgenie.com/abap/OO/
http://www.sapgenie.com/abap/OO/index.htm
http://www.sapgenie.com/abap/controls/index.htm
http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
http://www.esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
http://www.sapgenie.com/abap/OO/index.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
http://www.sapgenie.com/abap/OO/
these links
http://help.sap.com/saphelp_47x200/helpdata/en/ce/b518b6513611d194a50000e8353423/content.htm
For funtion module to class
http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5954f411d194a60000e8353423/content.htm
for classes
http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5c54f411d194a60000e8353423/content.htm
for methods
http://help.sap.com/saphelp_47x200/helpdata/en/08/d27c03b81011d194f60000e8353423/content.htm
for inheritance
http://help.sap.com/saphelp_47x200/helpdata/en/dd/4049c40f4611d3b9380000e8353423/content.htm
for interfaces
http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b6254f411d194a60000e8353423/content.htm
For Materials:
1) http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf -- Page no: 1291
2) http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
3) http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
4) http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
5) http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
6) http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
7) http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
8) http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8
1) http://www.erpgenie.com/sap/abap/OO/index.htm
2) http://help.sap.com/saphelp_nw04/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/profile/2007/07/09/understandingABAPObjects&
Please visit the following links:
http://service.sap.com/erp
http://solutionbrowser.erp.sap.fmpmedia.com/ (Functional prespective)
http://service.sap.com/instguides --> mySAP Business Suite Applications --> mySAP ERP --> mySAP ERP 2005 --> Upgrade
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/LOVC/LOVC.pdf
For Functionality Differences pls refer to the below site -
http://solutionbrowser.erp.sap.fmpmedia.com/
FOR BADI'S:
Check this blogs 2 find a BADI:
How to find if we have a BADI in Transaction VB02
Re: BADI for screen enhancement in MM01 transaction
Re: BADI and User exits
How To Define a New BAdI Within the Enhancement Framework (Some Basics About the BAdI,BAdI Commands in ABAP,
When to Use a BAdI?)
/people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
How to implement a BAdI And How to Use a Filter
/people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
Introducing Business Add-Ins
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f3202186-0601-0010-6591-b832b1a0d0de
How to implement BAdi in Enhancement Framework
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d0456c54-0901-0010-f0b3-cd765fb99702
Business Add-Ins
http://help.sap.com/saphelp_47x200/helpdata/en/ee/a1d548892b11d295d60000e82de14a/frameset.htm
BAdI: Customer-Defined Functions in the Formula Builder
http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
Difference Between BADI and User Exits
http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
To Use BADI - Business Add In you need to Understand ABAP OO Interface Concept
http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm
You can check the links for Step by Step Badi Implemntation
(very helpful self learning docs).
BADI Step by Step Implementation.
http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
www.sapgenie.com/publications/saptips/022006%20-%20Zaidi%20BADI.pdf
http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/e6/63ee7f486cc143a560799d8803ce29/content.htm
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/srm/badi-general+information&
http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
www.sapgenie.com/publications/saptips/022006%20-%20Zaidi%20BADI.pdf
http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
The specified item was not found.
http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
http://support.sas.com/rnd/papers/sugi30/SAP.ppt
http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
http://members.aol.com/_ht_a/skarkada/sap/
http://www.ct-software.com/reportpool_frame.htm
http://www.saphelp.com/SAP_Technical.htm
http://www.kabai.com/abaps/q.htm
http://www.guidancetech.com/people/holland/sap/abap/
http://www.planetsap.com/download_abap_programs.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
http://www.allsaplinks.com/badi.html
/people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-serieshttps:///people/alwin.vandeput2/blog/2006/04/13/how-to-search-for-badis-trace-it
/people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework /people/thomas.weiss/blog/2006/05/03/source-code-enhancements--part-5-of-the-series-on-the-new-enhancement-framework
http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
http://www.esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40921dd7-d5cf-2910-1894-bb62316afbd1
http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
http://support.sas.com/rnd/papers/sugi30/SAP.ppt
http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
http://members.aol.com/_ht_a/skarkada/sap/
http://www.ct-software.com/reportpool_frame.htm
http://www.saphelp.com/SAP_Technical.htm
http://www.kabai.com/abaps/q.htm
http://www.guidancetech.com/people/holland/sap/abap/
http://www.planetsap.com/download_abap_programs.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
/people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
/people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
http://esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
http://esnips.com/doc/365d4c4d-9fcb-4189-85fd-866b7bf25257/customer-exits--badi.zip
http://esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
http://help.sap.com//saphelp_470/helpdata/EN/eb/3e7cee940e11d295df0000e82de14a/frameset.htm
Difference Between BADI and User Exits
http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
Reward Points if found helpfull..
Cheers,
Chandra Sekhar. -
Hi ,
I am new to abap objects. I want to get some materials to learn. Can anyone give me some links or documents?
Thanks a lot.
Rewards will be provided.
Best Regards,
Chris GuABAP objects have an elaborated list plz mention specific objects u want to know.
These are few of the links which I got through the sdn.sap for the objects like ALV,LSMW,IDOCS, etc..
Start with this.Refer this
For BDC:
http://myweb.dal.ca/hchinni/sap/bdc_home.htm
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&
http://www.sap-img.com/abap/learning-bdc-programming.htm
http://www.sapdevelopment.co.uk/bdc/bdchome.htm
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm
http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html
Check these link:
http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
http://www.sap-img.com/abap/question-about-bdc-program.htm
http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
http://www.planetsap.com/bdc_main_page.htm
call Transaction or session method ?
http://www.sapbrain.com/FAQs/TECHNICAL/SAP_ABAP_DATADICTIONARY_FAQ.html
http://www.****************/InterviewQ/interviewQ.htm
http://help.sap.com/saphelp_46c/helpdata/en/35/2cd77bd7705394e10000009b387c12/frameset.htm
Reports
http://www.sapgenie.com/abap/reports.htm
http://www.allsaplinks.com/material.html
http://www.sapdevelopment.co.uk/reporting/reportinghome.htm
http://www.sapfans.com/forums/viewtopic.php?t=58286
http://www.sapfans.com/forums/viewtopic.php?t=76490
http://www.sapfans.com/forums/viewtopic.php?t=20591
http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.
ALE/ IDOC
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
Check these step-by-step links
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/ccab6730-0501-0010-ee84-de050a6cc287
https://sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/8fd773b3-0301-0010-eabe-82149bcc292e
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/3c5d9ae3-0501-0010-0090-bdfb2d458985
for Smartforms material
http://www.sap-basis-abap.com/sapsf001.htm
http://www.sap-press.com/downloads/h955_preview.pdf
http://www.ossincorp.com/Black_Box/Black_Box_2.htm
http://www.sap-img.com/smartforms/sap-smart-forms.htm
http://www.sap-img.com/smartforms/smartform-tutorial.htm
http://www.sapgenie.com/abap/smartforms.htm
How to trace smartform
http://help.sap.com/saphelp_47x200/helpdata/en/49/c3d8a4a05b11d5b6ef006094192fe3/frameset.htm
http://www.help.sap.com/bp_presmartformsv1500/DOCU/OVIEW_EN.PDF
http://www.sap-img.com/smartforms/smart-006.htm
http://www.sap-img.com/smartforms/smartforms-faq-part-two.htm
Re: Need FAQ's
check most imp link
http://www.sapbrain.com/ARTICLES/TECHNICAL/SMARTFORMS/smartforms.html
step by step good ex link is....
http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.html
SAPScripts
http://esnips.com/doc/1ff9f8e8-0a4c-42a7-8819-6e3ff9e7ab44/sapscripts.pdf
http://esnips.com/doc/1e487f0c-8009-4ae1-9f9c-c07bd953dbfa/script-command.pdf
http://esnips.com/doc/64d4eccb-e09b-48e1-9be9-e2818d73f074/faqss.pdf
http://esnips.com/doc/cb7e39b4-3161-437f-bfc6-21e6a50e1b39/sscript.pdf
http://esnips.com/doc/fced4d36-ba52-4df9-ab35-b3d194830bbf/symbols-in-scripts.pdf
http://esnips.com/doc/b57e8989-ccf0-40d0-8992-8183be831030/sapscript-how-to-calculate-totals-and-subtotals.htm
SAP SCRIPT FIELDS
http://help.sap.com/saphelp_erp2005vp/helpdata/en/d1/8033ea454211d189710000e8322d00/content.htm
scripts easy material
http://www.allsaplinks.com/sap_script_made_easy.html
Debugging Document.
http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
http://help.sap.com/saphelp_47x200/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/84/1f624f4505144199e3d570cf7a9225/frameset.htm
http://help.sap.com/saphelp_bw30b/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
BAPI
http://help.sap.com/saphelp_46c/helpdata/en/9b/417f07ee2211d1ad14080009b0fb56/frameset.htm
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
Checkout !!
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
http://techrepublic.com.com/5100-6329-1051160.html#
http://www.sap-img.com/bapi.htm
http://www.sap-img.com/abap/bapi-conventions.htm
http://www.sappoint.com/abap/bapiintro.pdf
http://www.sapgenie.com/abap/bapi/example.htm
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf
List of all BAPIs
http://www.planetsap.com/LIST_ALL_BAPIs.htm
http://www.sappoint.com/abap/bapiintro.pdf
http://www.sappoint.com/abap/bapiprg.pdf
http://www.sappoint.com/abap/bapiactx.pdf
http://www.sappoint.com/abap/bapilst.pdf
http://www.sappoint.com/abap/bapiexer.pdf
http://service.sap.com/ale
http://service.sap.com/bapi
http://www.geocities.com/mpioud/Abap_programs.html
http://www.sapdevelopment.co.uk/reporting/reportinghome.htm
Simple ALV report
http://www.sapgenie.com/abap/controls/alvgrid.htm
http://wiki.ittoolbox.com/index.php/Code:Ultimate_ALV_table_toolbox
ALV
1. Please give me general info on ALV.
http://www.sapfans.com/forums/viewtopic.php?t=58286
http://www.sapfans.com/forums/viewtopic.php?t=76490
http://www.sapfans.com/forums/viewtopic.php?t=20591
http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.
2. How do I program double click in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=11601
http://www.sapfans.com/forums/viewtopic.php?t=23010
3. How do I add subtotals (I have problem to add them)...
http://www.sapfans.com/forums/viewtopic.php?t=20386
http://www.sapfans.com/forums/viewtopic.php?t=85191
http://www.sapfans.com/forums/viewtopic.php?t=88401
http://www.sapfans.com/forums/viewtopic.php?t=17335
4. How to add list heading like top-of-page in ABAP lists?
http://www.sapfans.com/forums/viewtopic.php?t=58775
http://www.sapfans.com/forums/viewtopic.php?t=60550
http://www.sapfans.com/forums/viewtopic.php?t=16629
5. How to print page number / total number of pages X/XX in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=29597 (no direct solution)
6. ALV printing problems. The favourite is: The first page shows the number of records selected but I don't need this.
http://www.sapfans.com/forums/viewtopic.php?t=64320
http://www.sapfans.com/forums/viewtopic.php?t=44477
7. How can I set the cell color in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=52107
8. How do I print a logo/graphics in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=81149
http://www.sapfans.com/forums/viewtopic.php?t=35498
http://www.sapfans.com/forums/viewtopic.php?t=5013
9. How do I create and use input-enabled fields in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=84933
http://www.sapfans.com/forums/viewtopic.php?t=69878
10. How can I use ALV for reports that are going to be run in background?
http://www.sapfans.com/forums/viewtopic.php?t=83243
http://www.sapfans.com/forums/viewtopic.php?t=19224
11. How can I display an icon in ALV? (Common requirement is traffic light icon).
http://www.sapfans.com/forums/viewtopic.php?t=79424
http://www.sapfans.com/forums/viewtopic.php?t=24512
12. How can I display a checkbox in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=88376
http://www.sapfans.com/forums/viewtopic.php?t=40968
http://www.sapfans.com/forums/viewtopic.php?t=6919
Go thru these programs they may help u to try on some hands on
ALV Demo program
BCALV_DEMO_HTML
BCALV_FULLSCREEN_DEMO ALV Demo: Fullscreen Mode
BCALV_FULLSCREEN_DEMO_CLASSIC ALV demo: Fullscreen mode
BCALV_GRID_DEMO Simple ALV Control Call Demo Program
BCALV_TREE_DEMO Demo for ALV tree control
BCALV_TREE_SIMPLE_DEMO
BC_ALV_DEMO_HTML_D0100
Remote Function Call:
RFC is an SAP interface protocol. Based on CPI-C, it considerably simplifies the programming of communication processes between systems.
RFCs enable you to call and execute predefined functions in a remote system - or even in the same system.
RFCs manage the communication process, parameter transfer and error handling.
http://help.sap.com/saphelp_47x200/helpdata/en/22/042860488911d189490000e829fbbd/frameset.htm.
ALE/ IDOC
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
Refer this
http://www.sapbrain.com/FAQs/TECHNICAL/SAP_ABAP_DATADICTIONARY_FAQ.html
http://www.****************/InterviewQ/interviewQ.htm
http://help.sap.com/saphelp_46c/helpdata/en/35/2cd77bd7705394e10000009b387c12/frameset.htm
http://www.techinterviews.com/?p=198
http://www.techinterviews.com/?p=326
http://www.sap-img.com/abap/answers-to-some-abap-interview-questions.htm
http://www.sap-img.com/abap/more-than-100-abap-interview-faqs.htm
http://www.geekinterview.com/Interview-Questions/SAP-R-3/ABAP
http://sap.ittoolbox.com/documents/popular-q-and-a/abap-sample-interview-questions-3240
http://www.sap-img.com/abap/abap-interview-question.htm
http://www.allinterview.com/Interview-Questions/ABAP.html
links for OO ABAP.
http://www.sapgenie.com/abap/OO/
http://www.sapgenie.com/abap/OO/index.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt
http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
http://www.esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
http://www.allsaplinks.com/
http://www.sap-img.com/
http://www.sapgenie.com/
http://help.sap.com
http://www.sapgenie.com/abap/OO/
http://www.sapgenie.com.
http://www.sapgenie.com/abap/OO/index.htm
http://www.sapgenie.com/abap/controls/index.htm
http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
http://www.esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
http://www.sapgenie.com/abap/OO/index.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
http://www.sapgenie.com/abap/OO/
some more materials.
Go through the following Documents Links & Materials for ABAP Objects
check the below links lot of info and examples r there
http://www.sapgenie.com/abap/OO/index.htm
http://www.geocities.com/victorav15/sapr3/abap_ood.html
http://www.brabandt.de/html/abap_oo.html
Check this cool weblog:
/people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
/people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
/people/sap.user72/blog/2005/05/10/a-small-tip-for-the-beginners-in-oo-abap
/people/ravikumar.allampallam/blog/2005/02/11/abap-oo-in-action
/people/thomas.jung3/blog/2005/09/08/oo-abap-dynpro-programming
http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b6254f411d194a60000e8353423/frameset.htm
http://www.sapgenie.com/abap/OO/
http://www.sapgenie.com/abap/OO/index.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt
http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
http://www.esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
http://www.allsaplinks.com/
http://www.sap-img.com/
http://www.sapgenie.com/
http://help.sap.com
http://www.sapgenie.com/abap/OO/
http://www.sapgenie.com/abap/OO/index.htm
http://www.sapgenie.com/abap/controls/index.htm
http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
http://www.esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
http://www.sapgenie.com/abap/OO/index.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
http://www.sapgenie.com/abap/OO/
these links
http://help.sap.com/saphelp_47x200/helpdata/en/ce/b518b6513611d194a50000e8353423/content.htm
For funtion module to class
http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5954f411d194a60000e8353423/content.htm
for classes
http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5c54f411d194a60000e8353423/content.htm
for methods
http://help.sap.com/saphelp_47x200/helpdata/en/08/d27c03b81011d194f60000e8353423/content.htm
for inheritance
http://help.sap.com/saphelp_47x200/helpdata/en/dd/4049c40f4611d3b9380000e8353423/content.htm
for interfaces
http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b6254f411d194a60000e8353423/content.htm
For Materials:
1) http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf -- Page no: 1291
2) http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
3) http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
4) http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
5) http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
6) http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
7) http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
8) http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8
1) http://www.erpgenie.com/sap/abap/OO/index.htm
2) http://help.sap.com/saphelp_nw04/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/profile/2007/07/09/understandingABAPObjects&
Please visit the following links:
http://service.sap.com/erp
http://solutionbrowser.erp.sap.fmpmedia.com/ (Functional prespective)
http://service.sap.com/instguides --> mySAP Business Suite Applications --> mySAP ERP --> mySAP ERP 2005 --> Upgrade
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/LOVC/LOVC.pdf
For Functionality Differences pls refer to the below site -
http://solutionbrowser.erp.sap.fmpmedia.com/
Reward if useful -
hi
can any one provide basic material for underatanding object oriented in abap...with many sample programs(preferably)....u can also provide me links....
thank you,
GinniMethods in ABAP Objects - Example
The following example shows how to declare, implement, and use methods in ABAP Objects.
Overview
This example uses three classes called C_TEAM, C_BIKER, and C_BICYCLE. A user (a program) can create objects of the class C_TEAM. On a selection screen, the class C_TEAM asks for the number of members of each team.
Each object in the class C_TEAM can create as many instances of the class C_BIKER as there are members in the team. Each instance of the class C_BIKER creates an instances of the class C_BICYCLE.
Each instance of the class C_TEAM can communicate with the program user through an interactive list. The program user can choose individual team members for actions. The instances of the class C_BIKER allow the program user to choose the action on a further selection screen.
Constraints
The ABAP statements used for list processing are not yet fully available in ABAP Objects. However, to produce a simple test output, you can use the following statements:
WRITE [AT] /<offset>(<length>) <f>
ULINE
SKIP
NEW-LINE
Note: The behavior of formatting and interactive list functions in their current state are not guaranteed. Incompatible changes could occur in a future release.
Declarations
This example is implemented using local classes, since selection screens belong to an ABAP program, and cannot be defined or called in global classes. Below are the definitions of the two selection screens and three classes:
Global Selection Screens
SELECTION-SCREEN BEGIN OF: SCREEN 100 TITLE TIT1, LINE.
PARAMETERS MEMBERS TYPE I DEFAULT 10.
SELECTION-SCREEN END OF: LINE, SCREEN 100.
SELECTION-SCREEN BEGIN OF SCREEN 200 TITLE TIT2.
PARAMETERS: DRIVE RADIOBUTTON GROUP ACTN,
STOP RADIOBUTTON GROUP ACTN,
GEARUP RADIOBUTTON GROUP ACTN,
GEARDOWN RADIOBUTTON GROUP ACTN.
SELECTION-SCREEN END OF SCREEN 200.
Class Definitions
CLASS: C_BIKER DEFINITION DEFERRED,
C_BICYCLE DEFINITION DEFERRED.
CLASS C_TEAM DEFINITION.
PUBLIC SECTION.
TYPES: BIKER_REF TYPE REF TO C_BIKER,
BIKER_REF_TAB TYPE STANDARD TABLE OF BIKER_REF
WITH DEFAULT KEY,
BEGIN OF STATUS_LINE_TYPE,
FLAG(1) TYPE C,
TEXT1(5) TYPE C,
ID TYPE I,
TEXT2(7) TYPE C,
TEXT3(6) TYPE C,
GEAR TYPE I,
TEXT4(7) TYPE C,
SPEED TYPE I,
END OF STATUS_LINE_TYPE.
CLASS-METHODS: CLASS_CONSTRUCTOR.
METHODS: CONSTRUCTOR,
CREATE_TEAM,
SELECTION,
EXECUTION.
PRIVATE SECTION.
CLASS-DATA: TEAM_MEMBERS TYPE I,
COUNTER TYPE I.
DATA: ID TYPE I,
STATUS_LINE TYPE STATUS_LINE_TYPE,
STATUS_LIST TYPE SORTED TABLE OF STATUS_LINE_TYPE
WITH UNIQUE KEY ID,
BIKER_TAB TYPE BIKER_REF_TAB,
BIKER_SELECTION LIKE BIKER_TAB,
BIKER LIKE LINE OF BIKER_TAB.
METHODS: WRITE_LIST.
ENDCLASS.
CLASS C_BIKER DEFINITION.
PUBLIC SECTION.
METHODS: CONSTRUCTOR IMPORTING TEAM_ID TYPE I MEMBERS TYPE I,
SELECT_ACTION,
STATUS_LINE EXPORTING LINE
TYPE C_TEAM=>STATUS_LINE_TYPE.
PRIVATE SECTION.
CLASS-DATA COUNTER TYPE I.
DATA: ID TYPE I,
BIKE TYPE REF TO C_BICYCLE,
GEAR_STATUS TYPE I VALUE 1,
SPEED_STATUS TYPE I VALUE 0.
METHODS BIKER_ACTION IMPORTING ACTION TYPE I.
ENDCLASS.
CLASS C_BICYCLE DEFINITION.
PUBLIC SECTION.
METHODS: DRIVE EXPORTING VELOCITY TYPE I,
STOP EXPORTING VELOCITY TYPE I,
CHANGE_GEAR IMPORTING CHANGE TYPE I
RETURNING VALUE(GEAR) TYPE I
EXCEPTIONS GEAR_MIN GEAR_MAX.
PRIVATE SECTION.
DATA: SPEED TYPE I,
GEAR TYPE I VALUE 1.
CONSTANTS: MAX_GEAR TYPE I VALUE 18,
MIN_GEAR TYPE I VALUE 1.
ENDCLASS.
Note that none of the three classes has any public attributes. The states of the classes can only be changed by their methods. The class C_TEAM contains a static constructor CLASS_CONSTRUCTOR. C_TEAM and C_BIKER both contain instance constructors.
Implementations
The implementation parts of the classes contain the implementations of all of the methods declared in the corresponding declaration parts. The interfaces of the methods have already been defined in the declarations. In the implementations, the interface parameters behave like local data.
Methods of Class C_TEAM
The following methods are implemented in the section
CLASS C_TEAM IMPLEMENTATION.
ENDCLASS.
CLASS_CONSTRUCTOR
METHOD CLASS_CONSTRUCTOR.
TIT1 = 'Team members ?'.
CALL SELECTION-SCREEN 100 STARTING AT 5 3.
IF SY-SUBRC NE 0.
LEAVE PROGRAM.
ELSE.
TEAM_MEMBERS = MEMBERS.
ENDIF.
ENDMETHOD.
The static constructor is executed before the class C_TEAM is used for the first time in a program. It calls the selection screen 100 and sets the static attribute TEAM_MEMBERS to the value entered by the program user. This attribute has the same value for all instances of the class C_TEAM.
CONSTRUCTOR
METHOD CONSTRUCTOR.
COUNTER = COUNTER + 1.
ID = COUNTER.
ENDMETHOD.
The instance constructor is executed directly after each instance of the class C_TEAM is created. It is used to count the number of instance of C_TEAM in the static attribute COUNTER, and assigns the corresponding number to the instance attribute ID of each instance of the class.
CREATE_TEAM
METHOD CREATE_TEAM.
DO TEAM_MEMBERS TIMES.
CREATE OBJECT BIKER EXPORTING TEAM_ID = ID
MEMBERS = TEAM_MEMBERS.
APPEND BIKER TO BIKER_TAB.
CALL METHOD BIKER->STATUS_LINE IMPORTING LINE = STATUS_LINE.
APPEND STATUS_LINE TO STATUS_LIST.
ENDDO.
ENDMETHOD.
The public instance method CREATE_TEAM can be called by any user of the class containing a reference variable with a reference to an instance of the class. It is used to create instances of the class C_BIKER, using the private reference variable BIKER in the class C_TEAM. You must pass both input parameters for the instance constructor of class C_BIKER in the CREATE OBJECT statement. The references to the newly-created instances are inserted into the private internal table BIKER_TAB. After the method has been executed, each line of the internal table contains a reference to an instance of the class C_BIKER. These references are only visible within the class C_TEAM. External users cannot address the objects of class C_BIKER.
CREATE_TEAM also calls the method STATUS_LINE for each newly-created object, and uses the work area STATUS_LINE to append its output parameter LINE to the private internal table STATUS_LIST.
SELECTION
METHOD SELECTION.
CLEAR BIKER_SELECTION.
DO.
READ LINE SY-INDEX.
IF SY-SUBRC <> 0. EXIT. ENDIF.
IF SY-LISEL+0(1) = 'X'.
READ TABLE BIKER_TAB INTO BIKER INDEX SY-INDEX.
APPEND BIKER TO BIKER_SELECTION.
ENDIF.
ENDDO.
CALL METHOD WRITE_LIST.
ENDMETHOD.
The public instance method SELECTION can be called by any user of the class containing a reference variable with a reference to an instance of the class. It selects all of the lines in the current list in which the checkbox in the first column is selected. For these lines, the system copies the corresponding reference variables from the table BIKER_TAB into an additional private internal table BIKER_SELECTION. SELECTION then calls the private method WRITE_LIST, which displays the list.
EXECUTION
METHOD EXECUTION.
CHECK NOT BIKER_SELECTION IS INITIAL.
LOOP AT BIKER_SELECTION INTO BIKER.
CALL METHOD BIKER->SELECT_ACTION.
CALL METHOD BIKER->STATUS_LINE IMPORTING LINE = STATUS_LINE.
MODIFY TABLE STATUS_LIST FROM STATUS_LINE.
ENDLOOP.
CALL METHOD WRITE_LIST.
ENDMETHOD.
The public instance method EXECUTION can be called by any user of the class containing a reference variable with a reference to an instance of the class. The method calls the two methods SELECT_ACTION and STATUS_LINE for each instance of the class C_BIKER for which there is a reference in the table BIKER_SELECTION. The line of the table STATUS_LIST with the same key as the component ID in the work area STATUS_LINE is overwritten and displayed by the private method WRITE_LIST.
WRITE_LIST
METHOD WRITE_LIST.
SET TITLEBAR 'TIT'.
SY-LSIND = 0.
SKIP TO LINE 1.
POSITION 1.
LOOP AT STATUS_LIST INTO STATUS_LINE.
WRITE: / STATUS_LINE-FLAG AS CHECKBOX,
STATUS_LINE-TEXT1,
STATUS_LINE-ID,
STATUS_LINE-TEXT2,
STATUS_LINE-TEXT3,
STATUS_LINE-GEAR,
STATUS_LINE-TEXT4,
STATUS_LINE-SPEED.
ENDLOOP.
ENDMETHOD.
The private instance method WRITE_LIST can only be called from the methods of the class C_TEAM. It is used to display the private internal table STATUS_LIST on the basic list (SY-LSIND = 0) of the program.
Methods of Class C_BIKER
The following methods are implemented in the section
CLASS C_BIKER IMPLEMENTATION.
ENDCLASS.
CONSTRUCTOR
METHOD CONSTRUCTOR.
COUNTER = COUNTER + 1.
ID = COUNTER - MEMBERS * ( TEAM_ID - 1).
CREATE OBJECT BIKE.
ENDMETHOD.
The instance constructor is executed directly after each instance of the class C_BIKER is created. It is used to count the number of instance of C_BIKER in the static attribute COUNTER, and assigns the corresponding number to the instance attribute ID of each instance of the class. The constructor has two input parameters - TEAM_ID and MEMBERS - which you must pass in the CREATE OBJECT statement when you create an instance of C_BIKER.
The instance constructor also creates an instance of the class C_BICYCLE for each new instance of the class C_BIKER. The reference in the private reference variable BIKE of each instance of C_BIKER points to a corresponding instance of the class C_BICYCLE. No external user can address these instances of the class C_BICYCLE.
SELECT_ACTION
METHOD SELECT_ACTION.
DATA ACTIVITY TYPE I.
TIT2 = 'Select action for BIKE'.
TIT2+24(3) = ID.
CALL SELECTION-SCREEN 200 STARTING AT 5 15.
CHECK NOT SY-SUBRC GT 0.
IF GEARUP = 'X' OR GEARDOWN = 'X'.
IF GEARUP = 'X'.
ACTIVITY = 1.
ELSEIF GEARDOWN = 'X'.
ACTIVITY = -1.
ENDIF.
ELSEIF DRIVE = 'X'.
ACTIVITY = 2.
ELSEIF STOP = 'X'.
ACTIVITY = 3.
ENDIF.
CALL METHOD BIKER_ACTION( ACTIVITY).
ENDMETHOD.
The public instance method SELECT_ACTION can be called by any user of the class containing a reference variable with a reference to an instance of the class. The method calls the selection screen 200 and analyzes the user input. After this, it calls the private method BIKER_ACTION of the same class. The method call uses the shortened form to pass the actual parameter ACTIVITY to the formal parameter ACTION.
BIKER_ACTION
METHOD BIKER_ACTION.
CASE ACTION.
WHEN -1 OR 1.
CALL METHOD BIKE->CHANGE_GEAR
EXPORTING CHANGE = ACTION
RECEIVING GEAR = GEAR_STATUS
EXCEPTIONS GEAR_MAX = 1
GEAR_MIN = 2.
CASE SY-SUBRC.
WHEN 1.
MESSAGE I315(AT) WITH 'BIKE' ID
' is already at maximal gear!'.
WHEN 2.
MESSAGE I315(AT) WITH 'BIKE' ID
' is already at minimal gear!'.
ENDCASE.
WHEN 2.
CALL METHOD BIKE->DRIVE IMPORTING VELOCITY = SPEED_STATUS.
WHEN 3.
CALL METHOD BIKE->STOP IMPORTING VELOCITY = SPEED_STATUS.
ENDCASE.
ENDMETHOD.
The private instance method BIKER_ACTION can only be called from the methods of the class C_BIKER. The method calls other methods in the instance of the class C_BICYCLE to which the reference in the reference variable BIKE is pointing, depending on the value in the input parameter ACTION.
STATUS_LINE
METHOD STATUS_LINE.
LINE-FLAG = SPACE.
LINE-TEXT1 = 'Biker'.
LINE-ID = ID.
LINE-TEXT2 = 'Status:'.
LINE-TEXT3 = 'Gear = '.
LINE-GEAR = GEAR_STATUS.
LINE-TEXT4 = 'Speed = '.
LINE-SPEED = SPEED_STATUS.
ENDMETHOD.
The public instance method STATUS_LINE can be called by any user of the class containing a reference variable with a reference to an instance of the class. It fills the structured output parameter LINE with the current attribute values of the corresponding instance.
Methods of Class C_BICYCLE
The following methods are implemented in the section
CLASS C_BICYCLE IMPLEMENTATION.
ENDCLASS.
DRIVE
METHOD DRIVE.
SPEED = SPEED + GEAR * 10.
VELOCITY = SPEED.
ENDMETHOD.
The public instance method DRIVE can be called by any user of the class containing a reference variable with a reference to an instance of the class. The method changes the value of the private attribute SPEED and passes it to the caller using the output parameter VELOCITY.
STOP
METHOD STOP.
SPEED = 0.
VELOCITY = SPEED.
ENDMETHOD.
The public instance method STOP can be called by any user of the class containing a reference variable with a reference to an instance of the class. The method changes the value of the private attribute SPEED and passes it to the caller using the output parameter VELOCITY.
CHANGE_GEAR
METHOD CHANGE_GEAR.
GEAR = ME->GEAR.
GEAR = GEAR + CHANGE.
IF GEAR GT MAX_GEAR.
GEAR = MAX_GEAR.
RAISE GEAR_MAX.
ELSEIF GEAR LT MIN_GEAR.
GEAR = MIN_GEAR.
RAISE GEAR_MIN.
ENDIF.
ME->GEAR = GEAR.
ENDMETHOD.
The public instance method CHANGE_GEAR can be called by any user of the class containing a reference variable with a reference to an instance of the class. The method changes the value of the private attribute GEAR. Since the formal parameter with the same name obscures the attribute in the method, the attribute has to be addressed using the self-reference ME->GEAR.
Using the Classes in a Program
The following program shows how the above classes can be used in a program. The declarations of the selection screens and local classes, and the implementations of the methods must also be a part of the program.
REPORT OO_METHODS_DEMO NO STANDARD PAGE HEADING.
Declarations and Implementations
Global Program Data
TYPES TEAM TYPE REF TO C_TEAM.
DATA: TEAM_BLUE TYPE TEAM,
TEAM_GREEN TYPE TEAM,
TEAM_RED TYPE TEAM.
DATA COLOR(5).
Program events
START-OF-SELECTION.
CREATE OBJECT: TEAM_BLUE,
TEAM_GREEN,
TEAM_RED.
CALL METHOD: TEAM_BLUE->CREATE_TEAM,
TEAM_GREEN->CREATE_TEAM,
TEAM_RED->CREATE_TEAM.
SET PF-STATUS 'TEAMLIST'.
WRITE ' Select a team! ' COLOR = 2.
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'TEAM_BLUE'.
COLOR = 'BLUE '.
FORMAT COLOR = 1 INTENSIFIED ON INVERSE ON.
CALL METHOD TEAM_BLUE->SELECTION.
WHEN 'TEAM_GREEN'.
COLOR = 'GREEN'.
FORMAT COLOR = 5 INTENSIFIED ON INVERSE ON.
CALL METHOD TEAM_GREEN->SELECTION.
WHEN 'TEAM_RED'.
COLOR = 'RED '.
FORMAT COLOR = 6 INTENSIFIED ON INVERSE ON.
CALL METHOD TEAM_RED->SELECTION.
WHEN 'EXECUTION'.
CASE COLOR.
WHEN 'BLUE '.
FORMAT COLOR = 1 INTENSIFIED ON INVERSE ON.
CALL METHOD TEAM_BLUE->SELECTION.
CALL METHOD TEAM_BLUE->EXECUTION.
WHEN 'GREEN'.
FORMAT COLOR = 5 INTENSIFIED ON INVERSE ON.
CALL METHOD TEAM_GREEN->SELECTION.
CALL METHOD TEAM_GREEN->EXECUTION.
WHEN 'RED '.
FORMAT COLOR = 6 INTENSIFIED ON INVERSE ON.
CALL METHOD TEAM_RED->SELECTION.
CALL METHOD TEAM_RED->EXECUTION.
ENDCASE.
ENDCASE.
The program contains three class reference variables that refer to the class C_TEAM. It creates three objects from the class, to which the references in the reference variables then point. In each object, it calls the method CREATE_TEAM. The method CLASS_CONSTRUCTOR of class C_TEAM is executed before the first of the objects is created. The status TEAMLIST for the basic list allows the user to choose one of four functions:
When the user chooses a function, the event AT USER-COMMAND is triggered and public methods are called in one of the three instances of C_TEAM, depending on the users choice. The user can change the state of an object by selecting the corresponding line in the status list. -
Hi Experts.
Plz give me some details for the following questions.
1. what is abstract class.
2. give me some example program using inheritance.
3. Some sample programs using events.
4. Narrow casting & wide casting.. And describe the use of it.
5. How to declare internal table in ABAP OOPS.
6. What is the use of table type.?
7. What is instance.?
8. Explain friend class.
Thank in advance.
Points will be given for the answers.
regards,
J.JoeHI
<b>1. what is abstract class.</b>
Abstract classes are normally used as an incomplete blueprint for concrete (that is, non-abstract) subclasses, for example to define a uniform interface.
Classes with at least one abstract method are themselves abstract.
Static methods and constructors cannot be abstract.
You can specify the class of the instance to be created explicitly: CREATE OBJECT <RefToAbstractClass> TYPE <NonAbstractSubclassName>.
Abstarct classes themselves cant be instantiated ( althrough their subclasses can)
Reference to abstract classes can refer to instance of subclass
Abstract (instance) methods are difined in the class , but not implemented
They must be redefined in subclasses
CLASS LC1 DEFINAITION ABSTARCT
PUBLIC SECTION
METHODS ESTIMATE ABSTARCT IMPORTING
ENDCLASS.
<b>2. give me some example program using inheritance.</b>
The following simple example shows the principle of inheritance within ABAP Objects. It is based on the Simple Introduction to Classes. A new class counter_ten inherits from the existing class counter.
REPORT demo_inheritance.
CLASS counter DEFINITION.
PUBLIC SECTION.
METHODS: set IMPORTING value(set_value) TYPE i,
increment,
get EXPORTING value(get_value) TYPE i.
PROTECTED SECTION .
DATA count TYPE i.
ENDCLASS.
CLASS counter IMPLEMENTATION.
METHOD set.
count = set_value.
ENDMETHOD.
METHOD increment.
ADD 1 TO count.
ENDMETHOD.
METHOD get.
get_value = count.
ENDMETHOD.
ENDCLASS.
CLASS counter_ten DEFINITION INHERITING FROM counter.
PUBLIC SECTION.
METHODS increment REDEFINITION .
DATA count_ten.
ENDCLASS.
CLASS counter_ten IMPLEMENTATION.
METHOD increment.
DATA modulo TYPE I.
CALL METHOD super->increment .
write / count.
modulo = count mod 10.
IF modulo = 0.
count_ten = count_ten + 1.
write count_ten.
ENDIF.
ENDMETHOD.
ENDCLASS.
DATA: count TYPE REF TO counter,
number TYPE i VALUE 5.
START-OF-SELECTION.
CREATE OBJECT count TYPE counter_ten .
CALL METHOD count->set EXPORTING set_value = number.
DO 20 TIMES.
CALL METHOD count->increment.
ENDDO.
The class COUNTER_TEN is derived from COUNTER. It redefines the method INCREMENT. To do this, you must change the visibility of the COUNT attribute from PRIVATE to PROTECTED. The redefined method calls the obscured method of the superclass using the pseudoreference SUPER->. The redefined method is a specialization of the inherited method.
The example instantiates the subclass. The reference variable pointing to it has the type of the superclass. When the INCREMENT method is called using the superclass reference, the system executes the redefined method from the subclass.
<b>3. Some sample programs using events.</b>
Events in ABAP Objects - Example
The following example shows how to declare, call, and handle events in ABAP Objects.
Overview
This object works with the interactive list displayed below. Each user interaction triggers an event in ABAP Objects. The list and its data is created in the class C_LIST. There is a class STATUS for processing user actions. It triggers an event BUTTON_CLICKED in the AT USER-COMMAND event. The event is handled in the class C_LIST. It contains an object of the class C_SHIP or C_TRUCK for each line of the list. Both of these classes implement the interface I_VEHICLE. Whenever the speed of one of these objects changes, the event SPEED_CHANGE is triggered. The class C_LIST reacts to this and updates the list.
Constraints
The ABAP statements used for list processing are not yet fully available in ABAP Objects. However, to produce a simple test output, you can use the following statements:
WRITE [AT] /<offset>(<length>) <f>
ULINE
SKIP
NEW-LINE
Note: The behavior of formatting and interactive list functions in their current state are not guaranteed. Incompatible changes could occur in a future release.
Declarations
This example is implemented using local interfaces and classes. Below are the declarations of the interfaces and classes:
Interface and Class declarations
INTERFACE I_VEHICLE.
DATA MAX_SPEED TYPE I.
EVENTS SPEED_CHANGE EXPORTING VALUE(NEW_SPEED) TYPE I.
METHODS: DRIVE,
STOP.
ENDINTERFACE.
CLASS C_SHIP DEFINITION.
PUBLIC SECTION.
METHODS CONSTRUCTOR.
INTERFACES I_VEHICLE.
PRIVATE SECTION.
ALIASES MAX FOR I_VEHICLE~MAX_SPEED.
DATA SHIP_SPEED TYPE I.
ENDCLASS.
CLASS C_TRUCK DEFINITION.
PUBLIC SECTION.
METHODS CONSTRUCTOR.
INTERFACES I_VEHICLE.
PRIVATE SECTION.
ALIASES MAX FOR I_VEHICLE~MAX_SPEED.
DATA TRUCK_SPEED TYPE I.
ENDCLASS.
CLASS STATUS DEFINITION.
PUBLIC SECTION.
CLASS-EVENTS BUTTON_CLICKED EXPORTING VALUE(FCODE) LIKE SY-UCOMM.
CLASS-METHODS: CLASS_CONSTRUCTOR,
USER_ACTION.
ENDCLASS.
CLASS C_LIST DEFINITION.
PUBLIC SECTION.
METHODS: FCODE_HANDLER FOR EVENT BUTTON_CLICKED OF STATUS
IMPORTING FCODE,
LIST_CHANGE FOR EVENT SPEED_CHANGE OF I_VEHICLE
IMPORTING NEW_SPEED,
LIST_OUTPUT.
PRIVATE SECTION.
DATA: ID TYPE I,
REF_SHIP TYPE REF TO C_SHIP,
REF_TRUCK TYPE REF TO C_TRUCK,
BEGIN OF LINE,
ID TYPE I,
FLAG,
IREF TYPE REF TO I_VEHICLE,
SPEED TYPE I,
END OF LINE,
LIST LIKE SORTED TABLE OF LINE WITH UNIQUE KEY ID.
ENDCLASS.
The following events are declared in the example:
The instance event SPEED_CHANGE in the interface I_VEHICLE
The static event BUTTON_CLICKED in the class STATUS.
The class C_LIST contains event handler methods for both events.
Note that the class STATUS does not have any attributes, and therefore only works with static methods and events.
Implementations
Below are the implementations of the methods of the above classes:
Implementations
CLASS C_SHIP IMPLEMENTATION.
METHOD CONSTRUCTOR.
MAX = 30.
ENDMETHOD.
METHOD I_VEHICLE~DRIVE.
CHECK SHIP_SPEED < MAX.
SHIP_SPEED = SHIP_SPEED + 10.
RAISE EVENT I_VEHICLE~SPEED_CHANGE
EXPORTING NEW_SPEED = SHIP_SPEED.
ENDMETHOD.
METHOD I_VEHICLE~STOP.
CHECK SHIP_SPEED > 0.
SHIP_SPEED = 0.
RAISE EVENT I_VEHICLE~SPEED_CHANGE
EXPORTING NEW_SPEED = SHIP_SPEED.
ENDMETHOD.
ENDCLASS.
CLASS C_TRUCK IMPLEMENTATION.
METHOD CONSTRUCTOR.
MAX = 150.
ENDMETHOD.
METHOD I_VEHICLE~DRIVE.
CHECK TRUCK_SPEED < MAX.
TRUCK_SPEED = TRUCK_SPEED + 50.
RAISE EVENT I_VEHICLE~SPEED_CHANGE
EXPORTING NEW_SPEED = TRUCK_SPEED.
ENDMETHOD.
METHOD I_VEHICLE~STOP.
CHECK TRUCK_SPEED > 0.
TRUCK_SPEED = 0.
RAISE EVENT I_VEHICLE~SPEED_CHANGE
EXPORTING NEW_SPEED = TRUCK_SPEED.
ENDMETHOD.
ENDCLASS.
CLASS STATUS IMPLEMENTATION.
METHOD CLASS_CONSTRUCTOR.
SET PF-STATUS 'VEHICLE'.
WRITE 'Click a button!'.
ENDMETHOD.
METHOD USER_ACTION.
RAISE EVENT BUTTON_CLICKED EXPORTING FCODE = SY-UCOMM.
ENDMETHOD.
ENDCLASS.
CLASS C_LIST IMPLEMENTATION.
METHOD FCODE_HANDLER .
CLEAR LINE.
CASE FCODE.
WHEN 'CREA_SHIP'.
ID = ID + 1.
CREATE OBJECT REF_SHIP.
LINE-ID = ID.
LINE-FLAG = 'C'.
LINE-IREF = REF_SHIP.
APPEND LINE TO LIST.
WHEN 'CREA_TRUCK'.
ID = ID + 1.
CREATE OBJECT REF_TRUCK.
LINE-ID = ID.
LINE-FLAG = 'T'.
LINE-IREF = REF_TRUCK.
APPEND LINE TO LIST.
WHEN 'DRIVE'.
CHECK SY-LILLI > 0.
READ TABLE LIST INDEX SY-LILLI INTO LINE.
CALL METHOD LINE-IREF->DRIVE.
WHEN 'STOP'.
LOOP AT LIST INTO LINE.
CALL METHOD LINE-IREF->STOP.
ENDLOOP.
WHEN 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
CALL METHOD LIST_OUTPUT.
ENDMETHOD.
METHOD LIST_CHANGE .
LINE-SPEED = NEW_SPEED.
MODIFY TABLE LIST FROM LINE.
ENDMETHOD.
METHOD LIST_OUTPUT.
SY-LSIND = 0.
SET TITLEBAR 'TIT'.
LOOP AT LIST INTO LINE.
IF LINE-FLAG = 'C'.
WRITE / ICON_WS_SHIP AS ICON.
ELSEIF LINE-FLAG = 'T'.
WRITE / ICON_WS_TRUCK AS ICON.
ENDIF.
WRITE: 'Speed = ', LINE-SPEED.
ENDLOOP.
ENDMETHOD.
ENDCLASS.
The static method USER_ACTION of the class STATUS triggers the static event BUTTON_CLICKED. The instance methods I_VEHICLEDRIVE and I_VEHICLESTOP trigger the instance event I_VEHICLE~SPEED_CHANGE in the classes C_SHIP and C_TRUCK.
Using the Classes in a Program
The following program uses the above classes:
REPORT OO_EVENTS_DEMO NO STANDARD PAGE HEADING.
Global data of program
DATA LIST TYPE REF TO C_LIST.
Program events
START-OF-SELECTION.
CREATE OBJECT LIST.
SET HANDLER: LIST->FCODE_HANDLER,
LIST->LIST_CHANGE FOR ALL INSTANCES.
AT USER-COMMAND.
CALL METHOD STATUS=>USER_ACTION.
The program creates an object of the class C_LIST and registers the event handler method FCODE_HANDLER of the object for the class event BUTTON_CLICKED, and the event handler method LIST_CHANGE for the event SPEED_CHANGE of all instances that implement the interface I_VEHICLE.
<b>4. Narrow casting & wide casting.. And describe the use of it.</b>
<b>Narrowing Cast</b>
The assignment of a subclass instance to a reference variable of the type "reference to superclass" is described as a narrowing cast, because you are switching from a more detailed view to a one with less detail.
Description up-cast is also used.
<b>use</b>
A user who is not interested in the finer points of cars, trucks, and busses (but only, for example, in the fuel consumption and tank gauge) does not need to know about them. This user only wants and needs to work with (references to) the lcl_vehicle class. However, in order to allow the user to work with cars, busses, or trucks, you generally need a narrowing cast.
<b>Widening cast</b>
The widening cast logically represents the opposite of the narrowing cast. The widening cast cannot be checked statically, only at runtime. The Cast Operator ?= (or the equivalent MOVE ... ?TO ) must be used to make this visible.
It changes from a less detailed view to one with more detail.
<b>use</b>
The client, the car rental company wants to execute a function for specific vehicles form the list (vehicle_list). For example, the client wants to ascertain the truck with the largest cargo capacity. However, not all vehicles are in the trucks list, it also includes references to cars and busses.
<b>5. How to declare internal table in ABAP OOPS.</b>
BEGIN OF LINE,
ID TYPE I,
FLAG,
IREF TYPE REF TO I_VEHICLE,
SPEED TYPE I,
END OF LINE,
<b>6. What is the use of table type.?</b>
Please check the SAP help , as all these things are provided in detail in it .
In case you find it difficult to find it or search for it here is the link
http://help.sap.com/saphelp_nw04/helpdata/en/90/8d7304b1af11d194f600a0c929b3c3/frameset.htm
<b>7. What is instance.?</b>
Instance methods are called using CALL METHOD <reference>-><instance_method>.
Static methods (also referred to as class methods) are called using CALL METHOD <classname>=><class_method>.
If you are calling a static method from within the class, you can omit the class name.
You access instance attributes using <instance>-><instance_attribute>
<b>8. Explain friend class.</b>
In rare cases, classes have to work together so closely that they need access to their protected and private components. To avoid making these components available to all users, there is the concept of friendship between classes.
To do this you use the FRIENDS additions to the CLASS statement, in which all classes and interfaces that are to be provided friendship are listed
In principle, providing friendship is one-sided: A class providing friendship is not automatically a friend of its friends. If a class providing friendship wants to access the non-public components of a friend, this friend has to explicitly provide friendship to it.
Classes that inherit from friends and interfaces that contain a friend as a component interface also become friends. However, providing friendship, unlike the attribute of being a friend, is not inherited. A friend of a superclass is therefore not automatically a friend of its subclasses.
<b>Reward if usefull</b>
Maybe you are looking for
-
I've been thinking about getting the Alu/Glass 24" iMac (waiting until at least Leopard's arrival) but after having read a number of threads here I thought I'd better go and check for myself... I still use a PowerBook G4 15" at home and use a second
-
Hello We're getting this error message randomly when surfing the Internet. We have websense running on our network to perform web content filtering and are using the ASA for the http/https redirects. We've contacted websense and they said this error
-
IBook not finding my Airport Express
I'm hoping someone can please help me. I have an Intel iBook and I had a power failure at my house the other day and for some unknown reason it no longer finds my Network. It finds others in the units around me but not mine. I know AX is working beca
-
Hi Guys, i need your help please. Following situation: Transaction SE16: I open the table TCURR and set the RateType to a user defined type. I get a result table with content. But if i try to run the BAPI "BAPI_EXCHRATE_GETCURRENTRATES" with the same
-
During editing on MacBook Pro 2.2GHz i7, audio goes out of sinc with video
I have been having a lot of trouble with audio going out of sinc after I have edited a 30 minute program. When I make a second cut, I find that the audio has jumped under the first cut about half an inch back, and this happens with every progressive