BADI creation
Hi,
I want to create a BADI in ECC6.0 version of sap..
Can any one let me know the step by step procedure for it and please let me know the significance of Enhancement Spot .
Please let me know how to attach newly created BADI in standard SAP source code without having to modify the original object.
I mean at which place my BADI will call in SAP program?
Thanks,
shilpa
Hi Shilpa,
Enhancement-spot is nothing else but one of the option of introduced Enhancement Framework to enhance SAP standard.
Spot is notthing else but a container which contains the Enahncement-options like <b>Enhacemnet-point, Enhacement-Section and BADIs</b>.
You cannot add your created Enhancement-Spot to SAP standard however you can create implementations for the Enhacement-options provided by SAP in standard programs. These options are nothing else put hooks in standard code wherein you can plugin your code and enhace the functionality.
you can check Thomas Weiss blog for more details at
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/abap/the%2bnew%2benhancement%2bframework%2band%2bthe%2bnew%2bkernel-based%2bbadi
This will help you a lot.
<b>Always reward points to useful suggestions.</b>
regards,
Vikas
Similar Messages
-
12,000 bad creation dates
Hi,
I have had some problems with 10.9. 4 kernel panics since December and some Finder issues (delay in files appearing in new folders when moved, delay in creating new folders, other problems...). AppleCare has had me reinstall 10.9, migrate from my Time Capsule and other things that I can't remember in detail.
I am now noticing that I have ~12,000 files with bad creation dates. I did a search starting from 1993 and found that many. They vary; pics, docs and some apps! (I also have ~300 bad modification dates, from doing a quick similar search.)
In the past I have used a program, A Better Finder Attributes 5, to fix a few files that had shown up with bad dates. Most then were dates in the future, if I remember correctly. (I don't have any files created in the future now...)
I talked with AppleCare about this today. The guy, who has been very helpful, recommended I not use a program like that to fix them. He didn't think the bad dates would be a problem. Maybe not but I am sorely tempted to fix them.
What do you think? Why do you think this happened? Is it possible to get the original file creation and modification dates back?
Thanks.
John LHi Terry,
The problem is that the creation date is not a part of UNIX file metadata but is part of the HFS metadata. That means that it's not accessible to traditional UNIX command line tools. However, Apple provides a command line tool with the Developer Tools that can do it, named SetFile. Unfortunately this tool can only act on one file at a time so it must be embedded in another command or script that invokes it repeated on a large group of files.
You don't say which files have this problem. Thus I can't address the criteria by which you decide on which files to act. For the purpose of writing down a command, I'll assume that you want to act on all files contained in a directory whose path is /My/Directory and all of it's subdirectories. In that case you could use the following command:
find /My/Directory -type f -exec /Developer/Tools/SetFile -d 08/30/06 {} \;
Because of the "-type f" switch, this command will only act on files, not directories. That's not a requirement; you can act on directories as well. I just wanted an example to suggest that you can specify a tremendous variety of criteria in choosing on which files to act. About the only criteria you can't use in the "find" command is the creation date itself, since the "find" command is a traditional UNIX tool.
You could still use the creation date to determine on which files to act but you would have to access it with GetFileInfo (also part of Apple's Developer Tools) and test the results in a script. Even though you have no interest in changing the modification date, if that was also "zeroed", you could use that to identify files that need to have the creation date changed.
Gary
~~~~
Our business is run on trust. We trust you will pay
in advance. -
Badi creation and implementation
HI all ,
I want inforamtion on BADIs.
How to search for BADI and also creating and implementing the badi .
Regards
SAntosh .There are two steps in User Exit creation.
1} Identify the User Exit suitable for the requirement and that is available in the system:
Code SE18 is used to Identify the BADI available.
Look for the string 'CL_EXITHANDLER' in the standard program. This is a class which has a method 'GET_INSTANCE' which is used to trigger BADI's from the Standard Program. The interface parameter for this static method 'EXIT_NAME' is used to pass the BADI to the method.
Open Standard Program and do a global search 'CL_EXITHANDLER'.
SE18 > give the BADI name found through above search.
CUSTOMER_ADD_DATA > which has a method SAVE_DATA.
2} Implement the User Exit identified through above process.
T.Code SE19 is used to Implement BADI.
SE19 > give the implementation name > Give the Definition name as CUSTOMER_ADD_DATA and the Short Text.
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
Business Add-Ins
Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.
As with customer exits (SMOD/CMOD Page 40), two different views are available:
In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object.
In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available.
In contrast to customer exits, Business Add-Ins no longer assume a two-system infrastructure (SAP and customers), but instead allow for multiple levels of software development (by SAP, partners, and customers, and as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure.
SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. You do not have to register Business Add-Ins in SSCR.
The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time.
In addition, Business Add-Ins can be defined according to filter values. This allows you to control add-in implementation and make it dependent on specific criteria (on a specific Country value, for example). All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are defined in a manner that allows customers to include their own enhancements in the standard.
A single Business Add-In contains all of the interfaces necessary to implement a specific task. In Release 4.6A, program and menu enhancements can be made with Business Add-Ins. The actual program code is enhanced using ABAP Objects. In order to better understand the programming techniques behind the Business Add-In enhancement concept, SAP recommends reading the section on ABAP Objects
DEFINING THE BADI
1) execute Tcode SE18.
2) Specify a definition Name : ZBADI_SPFLI
3) Press create
4) Choose the attribute tab. Specify short desc for badi.. and specify the type :
multiple use.
5) Choose the interface tab
6) Specify interface name: ZIF_EX_BADI_SPFLI and save.
7) Dbl clk on interface name to start class builder . specify a method name (name,
level, desc).
Method level desc
Linese;ection instance methos some desc
8) place the cursor on the method name desc its parameters to define the interface.
Parameter type refe field desc
I_carrid import spfli-carrid some
I_connid import spefi-connid some
9) save , check and activate adapter class proposed by system is
ZCL_IM_IM_LINESEL is genereated.
IMPLEMENTATION OF BADI DEFINITION
1) EXECUTE tcode se18.choose menuitem create from the implementation menubar.
2) Specify aname for implementation ZIM_LINESEL
3) Specify short desc.
4) Choose interface tab. System proposes a name fo the implementation class.
ZCL_IM_IMLINESEL which is already generarted.
5) Specify short desc for method
6) Dbl clk on method to insert code..(check the code in AAA).
7) Save , check and activate the code.
Some useful URL
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
Now write a sample program to use this badi method..
Look for BBB sample program.
AAA
data : wa_flights type sflight,
it_flights type table of sflight.
format color col_heading.
write:/ 'Flight info of:', i_carrid, i_connid.
format color col_normal.
select * from sflight
into corresponding fields of table it_flights
where carrid = i_carrid
and connid = i_connid.
loop at it_flights into wa_flights.
write:/ wa_flights-fldate,
wa_flights-planetype,
wa_flights-price currency wa_flights-currency,
wa_flights-seatsmax,
wa_flights-seatsocc.
endloop.
BBB
*& Report ZBADI_TEST *
REPORT ZBADI_TEST .
tables: spfli.
data: wa_spfli type spfli,
it_spfli type table of spfli with key carrid connid.
*Initialise the object of the interface.
data: exit_ref type ref to ZCL_IM_IM_LINESEL,
exit_ref1 type ref to ZIF_EX_BADISPFLI1.
selection-screen begin of block b1.
select-options: s_carr for spfli-carrid.
selection-screen end of block b1.
start-of-selection.
select * from spfli into corresponding fields of table it_spfli
where carrid in s_carr.
end-of-selection.
loop at it_spfli into wa_spfli.
write:/ wa_spfli-carrid,
wa_spfli-connid,
wa_spfli-cityfrom,
wa_spfli-deptime,
wa_spfli-arrtime.
hide: wa_spfli-carrid, wa_spfli-connid.
endloop.
at line-selection.
check not wa_spfli-carrid is initial.
create object exit_ref.
exit_ref1 = exit_ref.
call method exit_ref1->lineselection
EXPORTING
i_carrid = wa_spfli-carrid
i_connid = wa_spfli-connid.
clear wa_spfli.
REPORT Z_BADI_TEST.
test call Badi from standard abap. (Only from rel 6.40 and above)
do the following
1) define the Badi (SE18). For Abap call test uncheck multiple use
and filter boxes
2) Implement the badi (SE19). Add any methods here in the implemntation
3) activate
4) define the standard class exithandler to the abap. This class is the "Badi caller
5) define an exit variable referring to your Badi Implementation interface
this interface will normally be something like ZIF_EX***************
You will see this in SE18/SE19.
6) Instantiate your instance of the badi (method call get_instance)
7) Now call any method(s) in the Badi.
class cl_exithandler definition load. "Declaration
data exit type ref to zif_ex__jimbotest. "Interface reference
data yes type c.
data: v_knvv type knvv. "Used in Fmod call in Badi methods
start-of-selection.
yes = ' '.
selection-screen begin of block b1.
parameters: r1 radiobutton group rad1,
r2 radiobutton group rad1,
r3 radiobutton group rad1.
selection-screen end of block b1.
parameters: p_kunnr type knvv-kunnr.
select single * into v_knvv
from knvv
where kunnr eq p_kunnr.
export v_knvv to memory id 'CUST6A'. "Save customer data for the function module
call method cl_exithandler=>get_instance "Factory method call
exporting "Method
exit_name = 'Z_JIMBOTEST' "Name of your BADI
null_instance_accepted = yes
changing instance = exit.
if not exit is initial.
break-point 1.
if r1 = 'X'.
call method exit->dispord . "Add-In call
changing testparm1 = word.
endif.
if r2 = 'X'.
call method exit->dispfakt.
endif.
if r3 = 'X'.
call method exit->dispmat.
endif.
In the badi methods
1)
method ZIF_EX__JIMBOTEST~DISPORD.
CALL FUNCTION 'Z_DISPLAY_CUST'.
endmethod.
2)
method ZIF_EX__JIMBOTEST~DISPFAKT.
CALL FUNCTION 'Z_DISPLAY_FAKT'.
endmethod
3)
method ZIF_EX__JIMBOTEST~DISPMAT.
CALL FUNCTION 'Z_DISPLAY_CUST'.
endmethod.
Copy via SE 41 the status SALV_STANDARD from standard SAP program SALV_DEMO_METADATA into the main program where you've created the 3 function modules below (SAP______TOP)
Global Data for the three function modules I'm calling
FUNCTION-POOL Z_BADI_KNVV. "MESSAGE-ID ..
include <color>.
include <icon>.
include <symbol>.
tables: zknvv.
data: v_zzkvgr6 TYPE KNVV-ZZKVGR6.
data: choice1 type c.
data: choice2 type c.
data: choice3 type c.
data: choice4 Type c.
data: ok-code(5) type c.
data: answer type string.
data: value1 type SPOP-VARVALUE1.
data: answer1 type string.
tables: vbak, vbap, vakpa, vbrk, vrkpa.
data: lr_functions type ref to cl_salv_functions_list.
constants: gc_true type sap_bool value 'X',
gc_false type sap_bool value space.
add for colour displays
data: ls_color type lvc_s_colo.
DATA : LV_SALV_COLUMNS_TABLE TYPE REF TO CL_SALV_COLUMNS_TABLE.
data: lr_columns type ref to cl_salv_columns_table,
lr_column type ref to cl_salv_column_table.
Data:
gr_table TYPE REF TO cl_salv_table.
data: z_datum type sy-datum.
data: v_knvv type knvv.
data : begin of s_vbak,
vkorg type vakpa-vkorg,
vkgrp type vakpa-vkgrp,
vtweg type vakpa-vtweg,
spart type vakpa-spart,
auart type vakpa-auart,
vbeln type vakpa-vbeln,
bstnk type vakpa-bstnk,
audat type vakpa-audat,
netwr type vbak-netwr,
end of s_vbak.
data : begin of s_vbrk,
vbeln type vrkpa-vbeln,
vkorg type vrkpa-vkorg,
fkart type vrkpa-fkart,
fkdat type vrkpa-fkdat,
netwr type vbrk-netwr,
end of s_vbrk.
data: begin of s_vbap,
matnr type vbap-matnr,
arktx type vbap-arktx,
netwr type vbap-netwr,
kwmeng type vbap-kwmeng,
end of s_vbap.
data: t_vbap like table of s_vbap.
data: t_vbak
like table of s_vbak.
data: t_vbrk
like table of s_vbrk.
data: s_name type tabname.
data: gr_selections type ref to cl_salv_selections.
data: gr_events type ref to cl_salv_events_table.
Source code of the function modules.
Function modules
FUNCTION Z_DISPLAY_CUST.
""Lokale interface:
s_name = 'S_VBAK'.
orders in last 6 months
z_datum = sy-datum - 180.
import v_knvv from memory id 'CUST6A'.
get data
select avkorg aaudat avkgrp avtweg aspart aauart abstnk avbeln b~netwr
into corresponding fields of table t_vbak
up to 100 rows
from ( vakpa as a
inner join vbak as b
on avbeln eq bvbeln )
where a~kunde eq v_knvv-kunnr
and a~parvw eq 'AG'
and a~vkorg eq 'EN01'
and a~trvog eq '0'
and a~audat gt z_datum.
sort t_vbak by audat descending.
*data: gt_hyperlink type standard table of g_type_s_hyperlink.
Instead of if_salv_c_bool_sap=>false, you can pass the
value if_salv_c_bool_sap=>true to this method to
see your ALV as a list.
display data in Grid / List
TRY.
CALL METHOD cl_salv_table=>factory
EXPORTING
list_display = if_salv_c_bool_sap=>false
IMPORTING
r_salv_table = gr_table
CHANGING
t_table = t_vbak.
CATCH cx_salv_msg.
ENDTRY.
try.
LV_SALV_COLUMNS_TABLE = gr_table->get_columns( ).
lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'NETWR' ).
ls_color-col = col_negative.
ls_color-int = 0.
ls_color-inv = 0.
lr_column->set_color( ls_color ).
catch cx_salv_not_found.
endtry.
try.
lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'VBELN' ).
ls_color-col = col_negative.
ls_color-int = 1.
ls_color-inv = 1.
lr_column->set_color( ls_color ).
catch cx_salv_not_found.
endtry.
try.
*LV_SALV_COLUMNS_TABLE = gr_table->get_columns( ).
lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'NETWR' ).
lr_column->set_short_text( 'Short' ).
lr_column->set_medium_text( 'Medium' ).
lr_column->set_long_text( 'Net Value' ).
*lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'URL' ).
catch cx_salv_not_found.
endtry.
gr_table->set_screen_status( pfstatus = 'SALV_STANDARD'
report = sy-repid
set_functions = gr_table->c_functions_all ).
this statement actually does the display.
gr_table->display( ).
ENDFUNCTION.
FUNCTION Z_DISPLAY_FAKT.
""Lokale interface:
s_name = 'S_VBRK'.
invoices in last 6 months
z_datum = sy-datum - 180.
import v_knvv from memory id 'CUST6A'.
get data
select avbeln afkart avkorg afkdat
b~netwr
into corresponding fields of table t_vbrk
up to 100 rows
from ( vrkpa as a
inner join vbrk as b
on avbeln eq bvbeln )
where a~kunde eq v_knvv-kunnr
and a~parvw eq 'RG'
and a~vkorg eq 'EN01'
and a~vbtyp eq 'M'
and a~fkdat gt z_datum.
sort t_vbrk by fkdat descending.
*data: gt_hyperlink type standard table of g_type_s_hyperlink.
Instead of if_salv_c_bool_sap=>false, you can pass the
value if_salv_c_bool_sap=>true to this method to
see your ALV as a list.
display data in Grid / List
TRY.
CALL METHOD cl_salv_table=>factory
EXPORTING
list_display = if_salv_c_bool_sap=>false
IMPORTING
r_salv_table = gr_table
CHANGING
t_table = t_vbrk.
CATCH cx_salv_msg.
ENDTRY.
try.
LV_SALV_COLUMNS_TABLE = gr_table->get_columns( ).
lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'NETWR' ).
ls_color-col = col_negative.
ls_color-int = 0.
ls_color-inv = 0.
lr_column->set_color( ls_color ).
catch cx_salv_not_found.
endtry.
try.
lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'VBELN' ).
ls_color-col = col_negative.
ls_color-int = 1.
ls_color-inv = 1.
lr_column->set_color( ls_color ).
catch cx_salv_not_found.
endtry.
try.
*LV_SALV_COLUMNS_TABLE = gr_table->get_columns( ).
lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'NETWR' ).
lr_column->set_short_text( 'Short' ).
lr_column->set_medium_text( 'Medium' ).
lr_column->set_long_text( 'Net Value' ).
*lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'URL' ).
catch cx_salv_not_found.
endtry.
gr_table->set_screen_status( pfstatus = 'SALV_STANDARD'
report = sy-repid
set_functions = gr_table->c_functions_all ).
this statement actually does the display.
gr_table->display( ).
ENDFUNCTION.
FUNCTION Z_DISPLAY_MATERIAL.
""Lokale interface:
s_name = 'S_VBAP'.
invoicesrs in last 6 months
z_datum = sy-datum - 180.
import v_knvv from memory id 'CUST6A'.
get data
select avbeln bmatnr barktx bnetwr b~kwmeng
into corresponding fields of table t_vbap
up to 100 rows
from ( vakpa as a
inner join vbap as b
on avbeln eq bvbeln )
where a~kunde eq v_knvv-kunnr
and a~parvw eq 'AG'
and a~vkorg eq 'EN01'
and a~trvog eq '0'
and a~audat gt z_datum.
TRY.
CALL METHOD cl_salv_table=>factory
EXPORTING
list_display = if_salv_c_bool_sap=>false
IMPORTING
r_salv_table = gr_table
CHANGING
t_table = t_vbap.
CATCH cx_salv_msg.
ENDTRY.
try.
LV_SALV_COLUMNS_TABLE = gr_table->get_columns( ).
lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'NETWR' ).
ls_color-col = col_negative.
ls_color-int = 0.
ls_color-inv = 0.
lr_column->set_color( ls_color ).
catch cx_salv_not_found.
endtry.
try.
lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'ARKTX' ).
ls_color-col = col_negative.
ls_color-int = 1.
ls_color-inv = 1.
lr_column->set_color( ls_color ).
catch cx_salv_not_found.
endtry.
try.
*LV_SALV_COLUMNS_TABLE = gr_table->get_columns( ).
lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'NETWR' ).
lr_column->set_short_text( 'Short' ).
lr_column->set_medium_text( 'Medium' ).
lr_column->set_long_text( 'Net Value' ).
*lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'URL' ).
catch cx_salv_not_found.
endtry.
gr_table->set_screen_status( pfstatus = 'SALV_STANDARD'
report = sy-repid
set_functions = gr_table->c_functions_all ).
this statement actually does the display.
gr_table->display( ).
ENDFUNCTION.
http://www.****************/Tutorials/ExitsBADIs/VL02/page1.htm
Reward points.. -
Hi
I got solution from OSS to create the BADI
MB_MIGO_BADI (method CHECK_HEADER) to
check if the date in GOHEAD-BUDAT is greater than the system date
(SY-DATLO).
But i have tried this in Tcode Se18 where i write Badi Definition
MB_MIGO_BADI but it gives error that Badi Definition does not Exist.
So how should i proceed further.
Please help me in this regard.
Thank you,
BhaskarHi,
Goto SE18-> 'MB_MIGO_BADI'-> Click Display. Then goto Transaction SE19 - Type ZMB_MIGO_BADI and click on create, it will ask for Definition name provide 'MB_MIGO_BADI' in it and then provide text. Goto interface tab now and double click on the method you need to code and write your code there.
Hope this might have helped you.
Thanks,
Prashanth -
I'm trying to understand (cause I'm newbie in ABAP) BADI concept. After reading standard course BC425 and some help notes I'm searching for any case studies, which can show me implementation aspect of BADI creation.
For any helping link (clue) points in reward.
Thx in advance, TomekHi check these links
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
Regards
- Gopi -
Hi...New to Badi
Hi ,
I am trying to learn about badi. for this I have just searched the forum and find the link which explained with an example... but while I am doing it.. in implementation after writing the code, syntax check is ok but while activating it is giving the error as follows.
Error: Class "ZCL_IM_MM_PURORDER" does not contain an interface "ZIF_EX_BADI_EKKO".
link which i have followed is http://www.allsaplinks.com/badi.html
Please tell where I am going wrong.
Regards
RamHai Shri ram
Go through the following Steps for BADI Creation and using
Goto Tcode SE18 for BADI Definition Creation.
give definition Name : ZBADI_CUST--> Press F5 button for Creating the Definition.
Give Description for the BADi Definition : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
In the Attributes tab you will find "TYPE" Tab
there you will check the Check Box as "Multiple" because this badi definition is active for multiple BADI Implementations
save & check the Badi Definition.
Click on "Interface" tab
Double Click on the Interface Name that is "ZIF_EX_BADI_CUST"
here the screen is take you to tcode SE24
here you will declare the methods
give method name as "GET_MATERIAL" as INSTANCE Level.
Click on Parameters Button just above your Method"GET_MATERIAL"
and Give Parameters as
P_MATNR IMPORT Type MATNR press enter
X_MARA CHANGING MARA press enter
save check and activate your badi Definition.
Note : you just declare the method in BADI Definition Section you will write the Method Implementation
in BADI IMPLEMENTATION Section.Because BADI's are pure Abstact class.
Goto Tcode SE19:
give Implementation name as : ZBADI_CUST_IMPL and press "F5" for Creation
it asks BADI Definition name as "ZBADI_CUST" just you create .
and press enter
and you give the BADI Implementation Description : XXXXXXXXXXXXXXXXXXXX
save this Implementation
click on the Interface tab and double click on the Implementation Class as "ZCL_IM_BADI_CUST_IMPL".
then you have the GET_MATERIAL Method . double click on the Method it opens the Code window for that method.
as looks like bellow.
method ZIF_EX_BADI_CUST~GET_METERIAL .
Here you will write the coding part.
if not p_matnr is initial.
select single * from mara
into x_mara
where matnr = p_matnr.
endif.
endmethod.
save,check & activate
come back and activate again.
then you need to use this badi in SE38 program.
go through the following Code
REPORT ZCUST_BADI1_IMPL_CALL.
TABLES : MARA.
*creatingthe BADI interface ref to following class
DATA : OBJ TYPE REF TO ZIF_EX_CUST_BADI1.
PARAMETERS : P_MATNR LIKE MARA-MATNR.
START-OF-SELECTION.
*passing the BADI interface ref var to following class method to get obj of BADI business add in class
CALL METHOD CL_EXITHANDLER=>GET_INSTANCE
EXPORTING
EXIT_NAME =
NULL_INSTANCE_ACCEPTED = SEEX_FALSE
IMPORTING
ACT_IMP_EXISTING =
CHANGING
INSTANCE = OBJ
EXCEPTIONS
NO_REFERENCE = 1
NO_INTERFACE_REFERENCE = 2
NO_EXIT_INTERFACE = 3
CLASS_NOT_IMPLEMENT_INTERFACE = 4
SINGLE_EXIT_MULTIPLY_ACTIVE = 5
CAST_ERROR = 6
EXIT_NOT_EXISTING = 7
DATA_INCONS_IN_EXIT_MANAGEM = 8
others = 9
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*calling the implementation class method via business add in class object
CALL METHOD OBJ->GET_MATERIAL
EXPORTING
P_MATNR = P_MATNR
CHANGING
X_MARA = MARA.
WRITE :/ MARA-MATNR,MARA-MBRSH,MARA-MTART.
Regards
Sreeni -
Info required regarding BADI's
Hi All,
Recently i have started learning the ABAP programming so i need help to develop my skills. Upto know i have idea in classical and interactive reporting. Know i want to know some more new topics like BADI's,UserExits, ALE, IDOCS.
So can any one tell me where they will use these above things and please provide some material relating to this or please tell me how to find relavent material in order to learn these topics individually.
Thanks and regards,
Lisahi,
For BADI creation look into this blog,
/people/sergey.korolev/blog/2005/03/14/the-time-for-me-to-have-a-badi-of-my-own
ALE:
ALE is SAP proprietary technology that enables data communications between two or more SAP R/3 systems and/or R/3 and external systems. When a new enterprise resource planning (ERP) solution such as R/3 is implemented, companies have to interface the ERP system with legacy systems or other ERP systems.
ALE provides intelligent mechanisms where by clients can achieve integration as well as distribution of applications and data.
ALE technology facilitates rapid application prototyping and application interface development, thus reducing implementation time.
The ALE components are inherently integrated with SAP applications and are robust, leading to a highly reliable system.
ALE comes with application distribution/integration scenarios as well as a set of tools, programs, data definitions, and methodologies that you can easily configure to get an interface up and running.
IDOC:
Standard SAP format for electronic data interchange between systems (Intermediate Document). Different message types (such as delivery confirmations or purchase orders) normally represent different specific formats, the IDoc types. However, multiple message types with related content can be assigned to one IDoc type: For example, the IDoc type ORDERS01 transfers the "logical" message types ORDERS (purchase order) and ORDRSP (order confirmation).
regs,
jaga -
Script conversions to ABAP BADI's
Hello,
I am currently working on conversions of script logic files of BPC MS 7.0 into ABAP BADI's of BPC NW 7.5
Few of the keywords that I do not understand are:
GET, LOOKUP, FLD, XDIM_GETINPUTSET, FUNCTION
Also when I create the BADI, filter definition is part of it, so what values will the filter have.
Regards,
PankajHi Pankaj,
Filter name is like a keyword and the badi's in bpc are called using the filter names.
Please check the pdf for badi creation and can be easily found on sdn.
I would advise you not to convert everything in Badi's as some things can be retained in script logic in NW version also.
Creating BADI's can be quite complicated for tasks which could be written in few lines in script logic.
Hope this helps .
Regards,
Sachin -
Creating the BAdI implementation: se19(OSS note )
Hi Experts,
I have to apply a Note 1330434 ( FBL5N: Performance improvement by changed selection.) in our ECC.6.0.
The 1330434 note says,
Solution
When you implement a new BAdI in the line item display, the selection logic can be optimized. The system only reads the clarification case attributes for the line items that are also displayed.
Import the specified Support Package.
To implement the correction instructions manually, proceed as follows:
1...
2. Implement the corrections in accordance with the correction instructions.
3. Creating the BAdI implementation:
Call transaction: SE19.
Under "Create Implementation", choose "Classic BAdI".
BAdI name: FI_ITEMS_CH_DATA
Implementation name: FDM_AR_ITEM_ATTR_GET
Implementation short text: FSCM-DM: Selection of attributes in FBL5N
Activate the implementation.
How to do the third step --> .."3. Creating the BAdI implementation: " ?
when I go to se19,
Under "Create Implementation", choose "Classic BAdI"... give FI_ITEMS_CH_DATA or FDM_AR_ITEM_ATTR_GET
and then press button 'create impl.'
then it says "Badi definition FI_ITEMS_CH_DATA does not exist."
I struck up at 3rd part of the note (BADI creation/implementation part of the note.).
Please suggest me how to apply this Badi part of the note ?
YOUR HELP WILL BE HIGHLY APPRECIATED!
Thanks in advance.
Edited by: sam kumar on Jul 22, 2009 12:22 AMAre you sure this note is for your system. I am also working in ECC6. I checked but I couldn't find the defibition too. Make sure note is for your component version and if it is report this problem to OSS.
Edited by: Gungor Ozcelebi on Jul 22, 2009 8:37 AM -
Badi Implementation Step by Step Needed.
Hi Experts,
Need some good Documentation for Badi creation and also for using any existing
Badi.Good Documents with snapshots will be helpful instead just some links which doesn't work at last steps according to version changes.If you can send some points will be awarded accordingly.
Thanks,
SudhaBADI
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 [original link is broken]:///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
Rewards if useful.........
Minal -
this was supplied by Ann Shelbourne.
Saved Tiffs will not open in CS2 and generate a "Could not complete your request because of a program error".
These files will often open in Photoshop 7.0.1 or in CS1 but not in CS2.
The trouble may be caused by bad dates in the EXIF data and can originate from an incorrectly-programmed digital camera; or from a scan that was created after after Jan1 of this year (because of a known bug in some scanner software).
If someone runs into the "Could not complete your request because of a program error" problem, and does not have CS1, try opening the Tiff in TextEdit.
The EXIF data is right at the top. Check the EXIF data for bad creation dates and change any incorrect ones there.
Save and close; and then the file will probably open in CS2 without a murmur.> If iPhoto causes problems why not open the images from the Finder?
I get the error if I open a file from within iPhoto using "OPen in external editor" and then alter it (or do not alter it) and try to save it over itself, or save it anywhere else.
I get the error if I do "Show file" in iPhoto to see the file in the Finder. Then, if I double-click and it opens in PS, and then alter it (or do not alter it) and try to save it over itself, or save it anywhere else.
> And with »save it anywhere« You indicate that You use the Save As-command?
Right. -
Getting a runtime error DATA_INCONS_IN_EXIT_MANAGEM
Hi All,
I am getting a runtime error "Exception condition "DATA_INCONS_IN_EXIT_MANAGEM" raised. when I tried to implement a BADI given in the tutorial.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/d0456c54-0901-0010-f0b3-cd765fb99702
When I debuged and found that there is no entry i.e Inetrface was not found in table in table "SXS_INTER"
I have created the BADI using the Enhancement spot not the Classic BADI creation.
Kindly provide a good solution
Regards
PaulHi Paul Paul,
i am also getting same error when implementing BADI, if you get any solution from somewhere, kindly forward it to me.
thanks
Shahid Rais -
Hi i have some doughts in sap-abap realtime plz clarify my doughts
Hi all,
Which client number you use for the current
project?
You are running a report. It is taking long time for
execution. What steps will you do to reduce the
execution time.
After running a BDC program in background, next
day morning when you see the results, few records
are not updated(error records). What will you do
then?
You are given functional specs for a BDC program
and you need to decide whether to write a method
call transaction or a session. How u will decide?
What is the difference between report and script?
what are the differences between scripts & smart
forms?
what are enhancements?
what are user-exits?
what is badi?
what is the difference between user-exit & BADIs?
what is the difference between user-exit &
customer-exit?
how do you get functional specs when you are
assigned some object? (specs through email..??)
How do you write technical specs?
How do you write UTP?(unit test plan)Which client number you use for the current
project?
CLIENT NUMBER ALLWAYS VARIES. USUALLY 300/800.
You are running a report. It is taking long time for
execution. What steps will you do to reduce the
execution time.
THERE ARE SO MANY PERFORMANCE ISSUES TO UPGRADE THE REPORTS. LIKE SQL TRACE ETC...
After running a BDC program in background, next
day morning when you see the results, few records
are not updated(error records). What will you do
then?
THE ERROR LOG WILL BE CREATED IN THE DATABASE. WE NEED TO ANALYSE THE ERRORS . THEN, IF THE ERRORS ARE OF SAME KIND, MODIFY THE PROGRAM AS FOR ERROR ANALYSIS AND RUN THE PROGRAM AGAIN. IF ERRORS ARE OF DIFFERENT TYPES. U NEED TO UPDATE MANUALLY.
You are given functional specs for a BDC program
and you need to decide whether to write a method
call transaction or a session. How u will decide?
USUALLY THE METHOD OF BDC COMES IN THE FUNCTIONAL SPECS ITSELF.
What is the difference between report and script?
USING THE REPORTS WE CANT CHANGE FONTS AND FORMAS. LOGOS CANT BE DISPLAYED. WE CANT ENTER THE DATA IN THE PRE-PRINTED STATIONARY. DUPLEX PRINTING NOT POSSIBLE WITH REPORTS. HEADER AND FOOTERS CANT BE INCLUDED. CANT CHANGE THE LANGUAGE.
bUT ALL THESE CAN BE POSSIBLE THRU SCRIPTS.
what are the differences between scripts & smart
forms?
SMARTFORMS ARE UPDATED VERSIONS. AND USERFRIENDLY.
what are enhancements?
SAP IS OF A PACKAGE OF WITH MANY EXISTING OBJECTS. MOST OF THE TIMES WE USE THE EXISTING OBJECTS AND MODIFY THEM AS PER REQUIREMENT AND USE. SOMETIMES SOME OBJECTS CAN NOT OFFER THE REQUIRED FUNCTIONALITY. THEN USING THE ENHANCEMENTS WE CAN ADD OUR OWN FUNCTIONALITY TO THE OBJECTS.
what are user-exits?
ALMOST SIMILAR TO ENHANCEMENTS.
what is badi?
BUSINESS ADD INS(BADI'S) ARE THE ADVANCED CONCEPTS OF ENHANCEMENTS. THESE ARE ASSOCIATED WITH OOPS CONCEPTS.
SE18 AND SE19 ARE THE TCODES FOR BADI CREATION AND IMPLEMENTATION.
what is the difference between user-exit & BADIs?
BADI'S ARE ADVANCED.
what is the difference between user-exit &
customer-exit?
CUSTOMER EXIT IS A PART OF USER EXIT.
how do you get functional specs when you are
assigned some object? (specs through email..??)
DEPENDS ON THE COMPANY. USUALLY WE GET A ID OF THE SPEC THRU MAIL. USING THAT ID WE GET THE FUNCTIONAL SPEC IN THE CLIENT'S SITE. THERE WILL BE AN OPTION TO SEARCH THE OBJECTS THRU ID.
How do you write technical specs?
IT IS LIKE PSUDO CODE DEVELOPED BEFORE GOING TO THE CODING. U CAN COMPARE IT LIKE FLOW CHART.
How do you write UTP?(unit test plan)
UNIT TEST PLAN IS A CONCEPT OF CHECKING LIKE WHETHER WE R GETTING THE DESIRED OUTPUT FOR THE SPECIFIED INPUT OR NOT. NOTHING ELSE.
HOPE IT HELPS.
ALL THE BEST FOR UR INTERVIEW.
CHEERS. -
Trasanction Codes used in Sales & Marketing Modules
Hi All,
Please provide important Transaction codes (T Codes) that is been using in Sales & Marketing modules for solving the
Support It Ticket for CRM.
Please let me know which are the area's that are using into.
eg: Sa38 is ABAP reporting
Sm37 : background jobs.
Please do reply so that i would be helpful for me,
Thanks in advance
Prajith PHi Prajith
Hope the below transaction codes in CRM will be helpful.
Transaction Code - Description
SE19 Badi implementation
SE93 Transaction code check
smw01 workflow
Crm_Erms_mailforms Forms
SWDD ERMS Rule modler workflow
SE 18 BADi creation
SE19 Badi implementation
se11 tables
SE38 Functional module reports/fields display
se11 crmd_orderadm_h
SE16 TC
TSTC
SE93 Application Component - get there displayed all transaction codes for example crm-md-bp
CRMD_ORDER - creating marketing sales and service transactions
BP - BP
CRM_MKTPL FOR search campaigns deals
sost-transmissionRequest forms
scot -administration system status
CRM_UI_FRAME: Access BSP WD work bench
BP -Business Partner (Creation/View/Modification)
CIC0 -Customer Interaction Centre
CRMD_ORDER - CRM Transaction (Create/View/Modify)
SPRO - Configuration related settings
CRMD_CALL_LIST-Create/ Maintain Call list
IB51 / IB52 / IB53-Ibase Creation / Change / View
COMMPR01-Maintain Products
PPOSA_CRM-Display Organizational Model
SBDM-Bdoc maintenance
SMOEAC- Administration console u2013 CRM Middleware
SMQ1,SMQ2 Queue monitoring transactions for inbound and outbound queues.
SMW01 Transaction for monitoring bdocs.
MIddleware t-code
Transactions Transaction Codes
Work process overview SM66
CPU and memory consumption ST06
SAP memory and buffers ST02
Database performance counters ST04
Memory consumption per user SM04 (on each application server)
Table call statistics ST10
CPU & Memory Consumption on IPC Server OS07
CRM Inbound Queue SMQ2
CRM Outbound Queue SMQ
Monitor Load R3AM1
Define Request R3AR2
Run Request R3AR4
Request Business Partner CRMM_BUPA_MAP
Send Business Partner CRMM_BUPA_SEND
RFC statistics (client and server) ST03
Errors in transactional RFCs SM58
BDOC Statistics SMWMFLOW
Response time statistics ST03 & STAD
Error Tracking SMWP
Q-Out Scheduler SMQS
Q-In Scheduler SMQR
Bdoc Error Tracking SMW01 & SMW02
Short Dumps ST22
Admin Console SMOEAC
Process Overview SM50
User List AL08
Data Integrity Manager SDIMA -
BufferedWriter I/O Garbage Collection!?
Ack! I cannot come up with an I/O solution that doesn't produce a lot of objects for collection. I'm sure there has to be a way, but at this point I'm at a loss. I recently noticed after downloading Optimizeit and watching object creation, that everytime I write to an output stream (in my case it's BufferedWriter going out to a socket), it creates new byte[] objects in large quantities, which are then available for garbage collection. This normally wouldn't be an issue, but if I wrap my code around a for loop that outputs a lot of data, I've generated quite a lot of instances. (I have a memory leak somewhere in my code, looking at object creation is about all I can do to find it)
For example, assume I have a StringBuffer _Buffmessage.
I also have a character array out_message.
os is my outputStream.
os = new BufferedWriter(new OutputStreamWriter(clientSocket.getOutputStream()));
//loop through StringBuffer and copy into a character array to prevent creation of String object
//(alternative to using toString() method of StringBuffer
for(int i = 0 ; i < _Bufmessage.length(); i ++)
out_message[i] = _Bufmessage.charAt(i);
//write out character array to client
os.write(out_message, 0, _Bufmessage.length());
os.newLine();
os.flush();If I run this code around 2000 times, I end up generating thousands of instances of byte[] ready for collection after running os.flush(); There HAS to be a way around this, or should I even be concerned about this? Am I somehow creating an object for each byte in the stream?Here's a follow up and the solution I found. The two suggestions I recieved were:
Suggestion 1:
StringBuffer input;
OutputStream out;
out.write( input.toString().getBytes());
out.close();and Suggestion 2:
StringBuffer input;
OutputStream out;
byte[] outArray = input.toString().getBytes();
out.write(outArray,0,outArray.length );
out.close();However a combination of my original solution as well as the suggested solutions resulted in the fix. In Suggestion 1, every call to write would create an instance of string (bad) and then write the byte array. In Suggestion 2, every call would result in the creation of a string (bad), creation of a byte array(bad), and a dupe of that array into write (ick). This was really an issue since I was outputting around 3-4 thousand times. My final solution is as follows; creates no new instances and is able to write out to my outputstream:
byte[] outArray = new byte[2000]; //byte array for output
OutputStream os = clientSocket.getOutputStream(); //this is the socket outputstream to write to
//for loop here, processing data......
try
//fill the byte array with chars from StringBuffer - reuse the existing array to
//avoid multiple instances being created
for(count = 0 ; count < _Bufmessage.length(); count ++)
outArray[count] = (byte)_Bufmessage.charAt(count);
//cast a new line byte to the output
outArray[count] = (byte)'\n';
//write out the length of the string
os.write(outArray,0,_Bufmessage.length());
}viola my memory leak was plugged - data is written to output, no char[] or byte[], nor String instances are generated, and I can sleep! As a sidenote, I did end up converting to NIO, and the new I/O classes eliminate these problems. I thought I'd share the solution anyway. Thanks to you three who gave me suggestions and didn't give me a hard time being a first time poster ;)
Maybe you are looking for
-
Adding .class files to your project and making them work.
Ok, im fairly new to java and having trouble understanding how to make importing of .class files work. Im using eclipse 3.2 I have the files in a directory and I have gone to project->properties->java build path->libraries->add external class folder
-
printer offline message
-
Hi All, I have to maintain the description in a new language for 1000+ GLs. Please advise me how to proceed. I know how to change using OB_GLACC13; here the requirement is to maintain a new description, in a new language for the existing GLs. Regar
-
Crystal Report Java Reporting Component Query
Hi, If I am using the Crystal Report Java Reporting Component, do I need any other Crystal Report software to be installed during run time? Thanks.
-
Following mail message links to Safari don't return to message - erratic!
I have a problem that occurs ~ 80% of the time. I get an email message with several links to web pages. I click on a link, Safari opens, but when I go back to Mail (by hitting the Application button, then Mail) most of the time it takes a while to th