Why we call badi is multilevel implementation.
hi friends,
why we call badi is multi level implementation(i.e.,sap,customer,partner,industry version and country version).
but comes to user exit we call two level implementation.(i.e.,sap and customer).
what exactly the two level and multi level implementation.
can any one tell this.
Hi,
See if it helps:
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 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-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, partner, and customer solutions, as well 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.
Similar Messages
-
Error while calling badi using class cl_exithandler with getInstance
hi experts...we are using SAP ECC 6.0 version
I have created BADI Def and Implementation using se18 and se19 with some interface methods..
Problem:
I'm writing a report to call that using class CL_EXITHANDLER but it shows an Exception..
" Exception condition "DATA_INCONS_IN_EXIT_MANAGEM" raised."
Report example:
DATA: CL_EXIT TYPE REF TO CL_EXITHANDLER,
IF_USER_INSTANCE TYPE REF TO ZIF_EX_USER_MAILID1.
CALL METHOD cl_exithandler=>get_instance
EXPORTING
EXIT_NAME = 'ZBADI_USERMAIL_DEF'
* NULL_INSTANCE_ACCEPTED = SEEX_FALSE
* IMPORTING
* ACT_IMP_EXISTING =
CHANGING
instance = IF_USER_INSTANCE
* 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.
so i found that all EXITs are in the Table " SXS_ATTR"
but what i have created BADI has not exist in that Table so that it gets an Exception(while i'm debugging found this)
so kindly tel me whats problem my BADI "ZBADI_USERMAIL_DEF" not maintained that Database table
but in Implentation class its working fine..yes i have created badi in Enhancement spot so regarding what u told i'm using GET BADI and CALL BADI
DATA:W_HANDLE TYPE REF TO ZBADI_USERMAIL_DEF.
GET BADI W_HANDLE.
CALL BADI w_handle->get_user_mailid
EXPORTING
uname = UNAME
changing
mailid = W_EMAIL
WRITE: / 'UNAME:',UNAME.
WRITE: / 'EMAIL ID',W_EMAIL.
CALL BADI w_handle->get_user_address_data
EXPORTING
uname = UNAME
changing
addrdata = W_ADDRDATA
IF W_ADDRDATA IS NOT INITIAL.
WRITE: / W_ADDRDATA-BNAME,W_ADDRDATA-NAME1,W_ADDRDATA-NAME2,W_ADDRDATA-TELPR,W_ADDRDATA-TELNR,W_ADDRDATA-TEL01.
ENDIF.
but here BADI are not called
Interface implementation class methods not executed so kindly tel me whats problem here.
Thanks in Advance
sivakumar -
Badi's multiple implementation
Hi,
I have a doubt in badi implementation.
Suppose we have a badi which can have multiple implementation. Suppose this badi's has 5 methods and one implementation is created in which these 5 methods were implemented.
Now we make another implementation in which we change one method and do not touch others.
How will we made this BADI work so that it calls one method from the new implementation and rest of the method from older implementation.
Many Thanks!
Parul.
Edited by: Parul Gupta on Jan 29, 2011 12:52 PMHi ,
This might be helpful.
1.Define the Filter for Badi.
2.Set different filter values for each Badi Implemention.
3.Call badi implemention based on filter value.
Regards , Chetan.
Edited by: Chetan on Feb 16, 2011 2:09 PM -
Hi All,
I have created a BADI and implemeted it and when i tried to call it in the program it going to short dump.
I debugged the program and found out that in 'cl_exithandler=>get_class_name_by_interface' an exception 4 'data_incons_in_exit_managem' raised, please provide methe input on what i have to do.
Thanks,
Krish.Hi,
If you are trying to call a New BADI (implemented with Enhancement Spot) , then you got to use GET BADI and CALL BADI.
If you are trying to call a Classic BADI, use cl_exithandler=>get_instance
If you have done the calling right, then check if you are passing all correct parameters and using the correct object. For a classic BADI, the object will be a reference to the Interface name. In the New BADI, the object will refer to the BADI definition. -
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.. -
Why we call adaptive RFC in webdynpro java..
Hi,
I want to know why we call adaptive RFC connection in webdynpro java whenever we import new rfc in our java web dynpro project. why name ADAPTIVE RFC is used
if we make any structure changes in the model which we imported in web dynpro project , like adding a new field, or changing the length/datatype of the existing field, then we always have to reimport the model in our webdynpro project so why adaptive name used. wats especial in the word ADAPTIVE RFCHi Rahul,
please read the guide:
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/10465350-b4f5-2910-61ba-a58282b3b6df?quicklink=index&overridelayout=true
Best Regards,
Ervin -
Which table if for BADI and its implementation
Which table if for BADI and its implementation
I want to know which implementations have already been created and actived for one BADI.Hi
check the tables for BADI
SXC_ATTR
SXC_ATTRT
SXC_CLASS
SXC_COCO
SXC_EXIT
SXC_FCODE
SXC_FCODET
SXC_IMPSWH
SXC_SCRN
SXC_TABLE
SXC_TABLET
Regards
Anji -
Calling BADIs in Web-Dynpro Application
Hi All,
Is it possible to call BADIs in WebDynpro java ? If yes can anybody please send some document regarding this to me.
Thanks & Regards,
Amit KadeHi,
These links can be of some help
<a href="http://searchsap.techtarget.com/tip/1,289483,sid21_gci900872,00.html">Link1</a>
<a href="http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci1154531,00.html">Link 2</a>
Regards,
Ashwani -
Why We Call Adpative RFC MODEL?
Hi ,
Why We Call Adaptive RFC MODEL?
What is RFM?Hi Subbarao,
The Adaptive Remote Function Call (Adaptive RFC) is a technology that enables the Web Dynpro application developer to use the business functions encapsulated in Business APIs (BAPIs) even after a structure modification, without having to provide the new data using a second back end or a new structure with subsequent regeneration of the proxies.
This new RFC model shows adaptive behavior. This means that the RFC proxies do not use the original design time structure definition at runtime. Instead, this Web Dynpro model automatically adapts the data of the structure passed in the Java proxy generation to the current data that is, a structure definition in the back-end system that may have been modified
For more info go through this link..
[Adaptive RFC|http://help.sap.com/saphelp_nw70/helpdata/en/6a/11f1f29526944e8580c5e59333d96d/frameset.htm]
Importing RFC's
__http://help.sap.com/saphelp_nw70/helpdata/en/6a/11f1f29526944e8580c5e59333d96d/frameset.htm__
RFM - stands for Remote-enabled Function Modules, amd you can learn more about it from
http://help.sap.com/saphelpnw70/helpdata/en/22/0427c0488911d189490000e829fbbd/frameset.htm_
Difference between BAPI and RFM --
BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects.
You create business objects and those are then registered in your BOR (Business Object Repository)
which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA.
In this case u only specify the business object and its method from external system
in BAPI there is no direct system call. while RFC are direct system call.
Hope this helps,
Reward Points if helpful,
Regards,
Shailesh Nagar -
Can a BAdI (RSR_OLAP_BADI) be implemented in BI 7.0?
Hi,
I have seen some examples of implementing BAdI in BW 3.5 for creating virtual key figures in InfoCube, ODS etc.
Can a BAdI (RSR_OLAP_BADI) be implemented for virtual key figures in BI 7.0 also (InfoCube & ODS)?
Thank you,
Sekharno, i think we cannot impliment for that particular RSR_OLAP_BADI badi because of this version change
-
Why are calls from my favorites not ringing when my phone is silenced at night?
Why are calls from my favorites not ringing when my phone is silenced at night?
You Might Have scheduled do not diturb... Turn Of Scheduled button in settings>do not disturb>scheduled..
-
Calling BADI or BAPI from another BADI
Hi,
Is it possible to call BADI or BAPI from another BADI.Here is my situation..
When I am saving the Lead , I would like to create Opportunity based on few lead conditions.Can I use any one of these two for creating opportunity from Lead.
I have no clue.
Please help me.
Thanks,
AjayHi Ajay,
Look at Re: Can BADI be called from ABAP Program ? maybe it helps you.
Regards.
Manuel -
Why not porting CDC-PP reference implementation to PocketPC by ourself?
Hi All,
Seeing your open letter about Personal Profile for PocketPC, I have the question: Why not porting CDC-PP reference implementation to PocketPC by ourself? Or do you know any open source project on this topic?
in Java world, we should DIY (eclipse, Junit, ANT......)
Regards!
TigerSorry, I missed the "reference implementation" in the subject. Can you even get the thing to compile? Taking a guess at which of the umpteen makefiles to use, I get pjt33@charis:/tmp/personal/build/share/$ make -f rules.mk
rules.mk:289: /empty.mk: No such file or directory
rules.mk:394: warning: overriding commands for target `/'
rules.mk:20: warning: ignoring old commands for target `/'
rules.mk:422: *** target file `/' has both : and :: entries. Stop.There are also licencing issues with using the reference implementation - if you want to distribute it properly, it seems you have to pay Sun an annual fee for the Technology Compatibility Kit. -
Why not call iTunes, iStore, because you can get apps for your iPhone you can download videos or even films now Apple TV has been released?
You can enter that suggestion at the iTunes Feedback Page.
-
I wanted to know why they call me when I do not show the number but I get the words private number, and even when I call out to another private number.I tried it in the settings to activate id shows but nothing has changed. I hope you can help me.
Cloud programs do not use serial numbers... you log in to your paid Cloud account to download & install & activate... you MAY need to log out of the Cloud and restart your computer and log back in to the Cloud for things to work
Some general information for a Cloud subscription
Log out of your Cloud account... Restart your computer... Log in to your paid Cloud account
-Sign in help http://helpx.adobe.com/x-productkb/policy-pricing/account-password-sign-faq.html
-http://helpx.adobe.com/creative-cloud/kb/sign-in-out-creative-cloud-desktop-app.html
-http://helpx.adobe.com/x-productkb/policy-pricing/activation-network-issues.html
-http://helpx.adobe.com/creative-suite/kb/trial--1-launch.html
Does your Cloud subscription properly show on your account page?
If you have more than one email, are you sure you are using the correct Adobe ID?
https://www.adobe.com/account.html for subscriptions on your Adobe page
Maybe you are looking for
-
PLease help me in wrirting this query
Hi all, i want to write a query using standard emp table.But output required is like deptno ename 10 smith alen mark 20 ram hanuman Thus if deptno is same for some employees it should be printed once only Any help is highly appreciated
-
Its possible to Create Bussiness Service for IDOC Communication Channel
HI FRNDS, My scenario File to Idoc, When we will go for business Service , Its possible to create Business Service SAP R/3, its a Good advice. To which Adapters we will use business Service, business System Regards, raj
-
Strange behaviour wireless apple keyboard - bluetooth
I cleaned my keyboard and forgot to turn it off previously. Since then, the arrow keys instead of moving one character to left or right, go to the end of the row in a text document, and the up and down go half page up or down, almost as a page up or
-
No music on ipod but memory is almost full
I have a 30gb ipod photo that I recently connected to itunes to transfer music. I specifically had itunes set to NOT sync my ipod b/c I had more music on my ipod than itunes. For some reason it began to sync, I quickly stopped it but all my music was
-
Boot Properties - Authentication Denied
Hi there, I have one weblogic 10g r3 domain. Which I call Domain 1 Well, I must copy my domain to create another environment. So under same WL_HOME I have copied DOMAIN1. I have created a new folder under $WL_HOME/user_projects/domains/ Domain 1 is w