Problem in Implementing Filter BADI
Hi Experts ,
I have a problem in Implementing Standard BADI OIJ_NOMIT_VALIDATION , this one is a Filter BADI , with Filter type OIJ_NOMITEM_CHCK . i created a implementation ZOIJ_NOMIT_VALIDATION with filter ZOIJ_NOMIT and write code in method VALIDATE . But this is not triggered. Any additional configuration needed for this ?
Point will be awarded .
Thanks and regards
Renjith MP
Hi Ranjit,
After implementing the Filter BADI.You can define the Filter type <b>attributes</b> section.
Regards
Similar Messages
-
Problem in Implement multiple BADI
Hi,
i want to use one Definition in BADI for multiple implementation, but when i have been use in my program, it's give me a runtime error like below.
Runtime errors RAISE_EXCEPTION
Occurred on 12.07.2007 at 11:55:50
Exception condition "CAST_ERROR" raised.
Anyone help me for this.
sukhdev singh khobraHi,
Refer OSS note 1011198.
As a release of CRM 5.0, with the enhancement spot,the calls to the BADI
are to be done using GET BADI and CALL BADI syntax, and not with
CL_EXITHANDLER as before.
<b>Reward points</b>
Regards -
Hi All,
Facing a problem in BADI can u please help me out...
I am implementing sourcing dashboard.
I am facing problem while implementing the badi BBP_ECS_PO_OUT_BADI in SRM. and BBP_PO_INBOUND_BADI in R3.
i have written following code in BBP_ECS_PO_OUT_BADI in SRM
method IF_EX_BBP_ECS_PO_OUT_BADI~BBP_B46B_PO_OUTBOUND.
data : ls_item type BBP_PDS_PO_ITEM_D.
data : w_customer_fields type BBPS_IF_CUSTOMER_FIELDS_PI.
move 'POITEM' to w_customer_fields-refobject.
move 'CATALOGID' to w_customer_fields-fieldname.
move ls_item-catalogid to w_customer_fields-container.
append w_customer_fields to ct_bapi_customer_fields.
endmethod.
i have created field zsrmcatalogid field in R3 in EKPO table.and i am now implementing the Badi in R3 for BBP_PO_INBOUND_BADI .....in extended classic scenario.
i have written following code in R3 BADI
method IF_EX_BBP_PO_INBOUND_BADI~BBP_MAP_BEFORE_BAPI.
data : wa_customer_fields type bbps_if_customer_fields,
wa_bapi_te_mepoitem type bapi_te_mepoitem,
wa_bapi_te_mepoitemx type bapi_te_mepoitemx,
wa_extensionin type bapiparex.
data : txt_960(960) type c.
read table bbp_customer_fields into wa_customer_fields with key
refobject = 'POITEM' fieldname = 'CATALOGID'.
if sy-subrc eq 0.
move wa_customer_fields-container TO
wa_bapi_te_mepoitem-zsrmcatalogid.
wa_bapi_te_mepoitemx-zsrmcatalogid = 'X'.
endif.
clear txt_960.
clear wa_extensionin.
write wa_bapi_te_mepoitem to txt_960 left-justified.
wa_extensionin-structure = 'BAPI_TE_MEPOITEM'.
wa_extensionin-valuepart1 = txt_960(240).
wa_extensionin-valuepart2 = txt_960+240(240).
wa_extensionin-valuepart3 = txt_960+480(240).
wa_extensionin-valuepart4 = txt_960+720(240).
append wa_extensionin to bapi_extensionin.
clear txt_960.
clear wa_extensionin.
write wa_bapi_te_mepoitemx to txt_960 left-justified.
wa_extensionin-structure = 'BAPI_TE_MEPOITEMX'.
wa_extensionin-valuepart1 = txt_960(240).
wa_extensionin-valuepart2 = txt_960+240(240).
wa_extensionin-valuepart3 = txt_960+480(240).
wa_extensionin-valuepart4 = txt_960+720(240).
append wa_extensionin to bapi_extensionin.
endmethod.
But its not working...
The PO details are not passed from SRM to R3.......
Can anybody help me regarding how to debug the BADI in R3.
Thanks in Advance...Hi Ravi,
I never tried those BADIs to pass CUF fields.
But here an attempt to understand it.
First, have you maintained the mandatory R/3 CUF mapping table BBP_CUFMAP ?
Your SRM BADI is not correct, because you don't populate enough data.
There is a particular logic for ct_bapi_customer_fields (look at R/3 mapping in LBBP_BAPI_POF04, called before the R/3 BADI).
Following fields must be populated:
- REFOBJECT: ok with POITEM
- FIELDNAME: dummy name (CATALOGID) or real R/3 field (zsrmcatalogid)? --> used in mapping table BBP_CUFMAP to get the R/3 field
- REFFIELD1: missing: put PO_ITEM ?
- REFVAL1 : missing: put the PO item number (numc 5)
- CONTAINER: ok with final value we want to pass
I think that if SRM BADI and the R/3 mapping table are populated correctly, the fields are transfered to R/3 PO item without additionnal coding on R/3 BADI side.
The R/3 BADI goal is not to create BAPI_EXTENSIONIN. This is done by the Form MAPPING_CUSTOMER_FIELDS of include LBBP_BAPI_POF04.
Later on, the custom fields of BAPI_EXTENSIONIN are transfered automatically to EKPO fields via a move-corresponding.
In the way you coded R/3 BADI, you by-pass the Form MAPPING_CUSTOMER_FIELDS, to populate the BAPI_EXTENSIONIN by yourself.
This could work like this, but you missed one info: the PO item number (missing in SRM BADI) !!!
For debugging, what additional details do yo need ?
Rgds
Christophe -
Problem after Implementing BADI
Hi all,
I implemented BADI MB_MIGO_BADI it was working fine, but it was deleted
and again trying to implement second time it is showing the message
Implementation ZTEST_MIGO migrated (see long
for instructions) and choose enhancement spot and i implemented the BADI but
this time it is not triggering.
what might be the problem any help?
Thanks
Satish.Dear Satish,
Once u implement a BADI in ECC it will automatically generates the Enchament Spot. Here u deleted ur BADI implementation. Ur BADI got deleted and the enhancement for tht not get deleted. Thts y its showing error when u r creating the second time. So implement ur badi inside the Enhancement Spot using SE19.
With Regards,
Sumodh.P -
Problem on Implementing badi ME_GUI_PO_CUST
Hi Expert,
I have implement BADI ME_GUI_PO_CUST, to add the new tab.
I have managed to View the tab in Both ME21N, and ME22N with implement SUBSCRIBE and MAP_DYNPRO_FIELDS.
method IF_EX_ME_GUI_PO_CUST~SUBSCRIBE
DATA: ls_subscriber LIKE LINE OF re_subscribers.
CHECK im_application = 'PO'.
CHECK im_element = 'ITEM'.
CLEAR re_subscribers[].
ls_subscriber-name = subscreen1.
ls_subscriber-dynpro = '0002'.
ls_subscriber-program = 'ZRPP_ME_GUI_PO_CUST_SCREEN'.
ls_subscriber-struct_name = 'CI_EKPODB'.
ls_subscriber-label = text-001.
ls_subscriber-position = 7.
ls_subscriber-height = 7.
APPEND ls_subscriber TO re_subscribers.
METHOD : IF_EX_ME_GUI_PO_CUST~MAP_DYNPRO_FIELDS
FIELD-SYMBOLS: <mapping> LIKE LINE OF ch_mapping.
LOOP AT ch_mapping ASSIGNING <mapping>.
CASE <mapping>-fieldname.
WHEN 'ZCNUM'. <mapping>-metafield = mmmfd_cust_01.
ENDCASE.
ENDLOOP.
Method IF_EX_ME_GUI_PO_CUST~MAP_DYNPRO_FIELDS
DATA: lw_fieldselection LIKE LINE OF ch_fieldselection.
LOOP AT ch_fieldselection INTO lw_fieldselection.
lw_fieldselection-fieldstatus = '+'.
MODIFY ch_fieldselection FROM lw_fieldselection.
ENDLOOP.
I need to store the value, and some of thread said it required methods:
TRANSPORT_FROM_MODEL
TRANSPORT_TO_DYNP
TRANSPORT_FROM_DYNP
TRANSPORT_TO_MODEL
I have click on the subcreen, or enter at the field, but it will not able to trigger the Above Methods.
How do I do for the to trigger above Methods? Or Should I added some additional code at screen program? I want SAVE the data actually into EKPO.
Thanks in advance.Hi Sim,
Recently we have the same reqirement.
You can have a look at the below code..
First method: SUBSCRIBE
DATA: ls_subscriber LIKE LINE OF re_subscribers.* we want to add a customer subscreen on the Header tab
CHECK im_application = 'PO'.
CHECK im_element = 'HEADER'.* each line in re_subscribers generates a subscreen. We add one subscreen in this example
CLEAR re_subscribers[].
* the name is a unique identifier for the subscreen and defined in this class definition
ls_subscriber-name = subscreen1.
* the dynpro number to use
ls_subscriber-dynpro = '0001'.
* the program where the dynpro can be found
ls_subscriber-program = 'SAPLZKMMM_KAU86037'.
* each subscreen needs his own DDIC-Structure
ls_subscriber-struct_name = 'CI_EKKODB'.
* a label can be defined
ls_subscriber-label = text-001.
* the position within the tabstrib can be defined
ls_subscriber-position = 13.
* the height of the screen can be defined here. Currently we suport two screen sizes:
* value <= 7 a sevel line subscreen
* value > 7 a 16 line subscreen
ls_subscriber-height = 7. APPEND ls_subscriber TO re_subscribers.Here, parameter u2018im_elementu2019 is defined as u2018HEADERu2019 as we are adding new tab in header section of PO.
Define a function group and take the main program and define it in ls_subscriber-program.
Also define a sub screen with the required fields and assign it to the parameter ls_subscriber-dynpro.
Then method MAP_DYNPRO_FIELDS
FIELD-SYMBOLS: <mapping> LIKE LINE OF ch_mapping.
LOOP AT ch_mapping ASSIGNING <mapping>. CASE <mapping>-fieldname. WHEN 'ZZPAYMENT_AGRE'. <mapping>-metafield = mmmfd_cust_03.
WHEN 'ZZPROJECT'. <mapping>-metafield = mmmfd_cust_04.
ENDCASE. ENDLOOP. TRANSPORT_FROM_MODEL:
DATA: l_header TYPE REF TO if_purchase_order_mm,
ls_mepoheader TYPE mepoheader,
ls_customer TYPE CI_EKKODB.*--------------------------------------------------------------------*
* system asks to transport data from the business logic into the view
*--------------------------------------------------------------------* CASE im_name. WHEN subscreen1.* is it an Header? im_model can be header or item.
mmpur_dynamic_cast l_header im_model.
CHECK NOT l_header IS INITIAL.* transport standard fields
ls_mepoheader = l_header->get_data( ).* store info for later use
MOVE-CORRESPONDING ls_mepoheader TO dynp_data_pbo.
WHEN OTHERS.
ENDCASE. TRANSPORT_TO_DYNP:
Define a FM 'ZK_KAU86037_PUSH' to push the values.CASE im_name. WHEN subscreen1. CALL FUNCTION 'ZK_KAU86037_PUSH'
EXPORTING
im_dynp_data = dynp_data_pbo. WHEN OTHERS.
ENDCASE. TRANSPORT_FROM_DYNP:
Define another FM 'ZK_KAU86037_POP'.CASE im_name. WHEN subscreen1. CALL FUNCTION 'ZK_KAU86037_POP'
IMPORTING
ex_dynp_data = dynp_data_pai. IF dynp_data_pai NE dynp_data_pbo.
* something has changed therefore we have to notify the framework
* to transport data to the model
re_changed = mmpur_yes.
ENDIF. WHEN OTHERS.
ENDCASE. TRANSPORT_TO_MODEL:
DATA: l_header TYPE REF TO if_purchase_order_mm,
ls_mepoheader TYPE mepoheader,
ls_customer TYPE CI_EKKODB,
l_po_header_handle TYPE REF TO cl_po_header_handle_mm.*--------------------------------------------------------------------*
* data have to be transported to business logic
*--------------------------------------------------------------------* CASE im_name. WHEN subscreen1.* is it an item? im_model can be header or item.
mmpur_dynamic_cast l_header im_model.
CHECK NOT l_header IS INITIAL. ls_mepoheader = l_header->get_data( ).* standard fields changed?
IF dynp_data_pbo-zzpayment_agre NE dynp_data_pai-zzpayment_agre
OR dynp_data_pbo-zzproject NE dynp_data_pai-zzproject.* update standard fields
ls_mepoheader-zzpayment_agre = dynp_data_pai-zzpayment_agre.
ls_mepoheader-zzproject = dynp_data_pai-zzproject.
CALL METHOD l_header->set_data
EXPORTING
im_data = ls_mepoheader.
ENDIF.
WHEN OTHERS. ENDCASE.
Then we have to implement one more BADI to display the tab and update the values.
Implement the BADI ME_PROCESS_PO_CUST. This cannot be used multiple times.
In this, we have methods (PROCESS_HEADER,PROCESS_ITEM).if we need to any validations for the fields we can write the logic here in this methods. In my case I need to check for the document type which I implemented in the method (PROCESS_HEADER).
Hope it helps you.
Thanks
Arbind -
Problems with TRANSPORT_FROM_MODEL in BADI ME_GUI_PO_CUST
Hello,
I tried implementing the BADI ME_GUI_PO_CUST along with all it's methods and subsequently I also got the custom screen visible in PO header. But problem is whenever I click on this subscreen, the code for the method TRANSPORT_FROM_MODEL doesn't trigger. Instead, it triggers TRANSPORT_TO_DYNP and understandably the methods does nothing because it couldn't fetch any data. Kindly help understanding why TRANSPORT_FROM_MODEL doesn't trigger when I click on the custom tab at PO header and how can I correct the same?
Thanks,
Manuel ChiarelliHi Abhishek
but how did You solve this problem. I have the same ...
Kindly,
Wolf-Peter -
Hi all,
I am some doubts regarding Filter BADIs, if anyone please clear off the doubts then it will good for me.
- Suppose any standard BADI definition is not having 'Filter Dependent' option, then can we make it Filter dependent ?
- Does a custom BADI definition has to be created for it to change the standard BADI definition or is there any other way to make a standard BADI filter dependent ?
- If suppose for a standard tcode there is standard BADI with filters then how does the filter value is passed from the standard program ?
- Can filter value can be any field (like material number or tax code) as per the requirement or it has to be some specific set of values like country, language etc ?Hi Amit,
> - Suppose any standard BADI definition is not having 'Filter Dependent' option, then can we make it Filter dependent ?
No. That will be a modification.
> - Does a custom BADI definition has to be created for it to change the standard BADI definition or is there any other way to make a standard BADI filter dependent ?
If you create custom BADI defination by copying standard, it will not be triggered as standard BADI. No other way to add filter dependant option to standard BADI. You can use IF- condition in side the BADI Method implemetation, so that the code will be executed only for some values.
> - If suppose for a standard tcode there is standard BADI with filters then how does the filter value is passed from the standard program ?
When the system calls the filter dependant BADI implementation it passes the filter value.Check on example by debugging the tcode.
> - Can filter value can be any field (like material number or tax code) as per the requirement or it has to be some specific set of values like country, language etc ?
If your creating custom BADI defination, it can be any field. But It must be a data element, of the character type, with a maximum length of 30, which has a search help, a domain with fixed values, or a domain with a value table.
Reddy -
Problem in implements ADF Faces: Detecting and handling user session expiry
Hello everybody
I´m trying to implement a method to handle user session expiry as explained by frank nimphius in his blog.
http://thepeninsulasedge.com/frank_nimphius/2007/08/22/adf-faces-detecting-and-handling-user-session-expiry/
I have implemented the class bellow and add the filters in web.xml. However when I add the JavaServer Faces Servlet to sign the filter, my hole application get nuts. I try to publish the applicatoin in the OAS and it seems that it already starts expired.
Someone konw what I´m doing wrong?
I use the filter
<filter>
<filter-name>ApplicationSessionExpiryFilter</filter-name>
<filter-class>adf.sample.ApplicationSessionExpiryFilter</filter-class>
<init-param>
<param-name>SessionTimeoutRedirect</param-name>
<param-value>SessionExpired.jspx</param-value>
</init-param>
</filter>
then I add
XML:
<filter-mapping>
<filter-name>ApplicationSessionExpiryFilter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
package adf.sample;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
this is the class
public class ApplicationSessionExpiryFilter implements Filter {
private FilterConfig _filterConfig = null;
public void init(FilterConfig filterConfig) throws ServletException {
_filterConfig = filterConfig;
public void destroy() {
_filterConfig = null;
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
String requestedSession = ((HttpServletRequest)request).getRequestedSessionId();
String currentWebSession = ((HttpServletRequest)request).getSession().getId();
boolean sessionOk = currentWebSession.equalsIgnoreCase(requestedSession);
// if the requested session is null then this is the first application
// request and "false" is acceptable
if (!sessionOk && requestedSession != null){
// the session has expired or renewed. Redirect request
((HttpServletResponse) response).sendRedirect(_filterConfig.getInitParameter("SessionTimeoutRedirect"));
else{
chain.doFilter(request, response);
I'm really having trouble controlling user sessions. if someone know where I can get materials to learn how to implements session in Jdev ADF + BC, I´m very grateful.
Thank you MarnieThe class works fine.. the issue is when I add the this code into web.xml
<filter-mapping>
<filter-name>ApplicationSessionExpiryFilter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
bellow the web.xml
<?xml version = '1.0' encoding = 'windows-1252'?>
<web-app>
<description>Empty web.xml file for Web Application</description>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<context-param>
<param-name>CpxFileName</param-name>
<param-value>userinterface.DataBindings</param-value>
</context-param>
<filter>
<filter-name>ApplicationSessionExpiryFilter</filter-name>
<filter-class>view.managedBean.ApplicationSessionExpiryFilter</filter-class>
</filter>
<filter>
<filter-name>adfFaces</filter-name>
<filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
</filter>
<filter>
<filter-name>adfBindings</filter-name>
<filter-class>oracle.adf.model.servlet.ADFBindingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ApplicationSessionExpiryFilter</filter-name> ==> the problem occurs when I try to add this code
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>adfFaces</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<url-pattern>*.jspx</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>resources</servlet-name>
<servlet-class>oracle.adf.view.faces.webapp.ResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>resources</servlet-name>
<url-pattern>/adf/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>1</session-timeout>
</session-config>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>txt</extension>
<mime-type>text/pain</mime-type>
</mime-mapping>
</web-app>
By the way, how can I post code on the forum properly? -
Implementation for BADI - /SAPAPO/ADVX
Hi,
I have created and activated an implementation for the BADI /SAPAPO/ADVX for the method USER_EXIT_MACRO. But this implementation is not triggering when i execute a macro in Transaction /SAPAPO/SDP94. Could you please let me know how to achieve this? (I am implementing this BADI to display the Units in SUOM instead of Base UOM).
Do we have any other BADI for changing the stock from UOM to SUOM?
Thanks,
RajinikanthHello Experts,
I have created one Z class in which i am using the methods of BADI /sapapo/advx , i have hard coded my macro id ,layout id and view id so that it will execute my code on execution of that particular macro.now my problem is how to read the data for particular keyfigure from the internal tables of this interface.i am not getting how to read te data and process it.
please help me on this.
Regards,
Saurabh Kulkarni -
Hi
I am totally new to BADI's. Now I have a specific requirement in which I need to implement BADI User Exit /SAPAPO/PPM_CALC. Method = CALC_BUCKET_CONS.
In the User Exit, remove the Splits from the PP/DS Model when the conversion to the SNP Model occurs
Can you please guide me how to proceed briefly.. points for all helpful answersHi
Following Steps:
1. Execute Business Add-In(BADI) transaction SE18
2. Enter BADI name i.e. BADI_MATERIAL_CHECK and press the display
button
3. Select menu option Implementation->Create
4. Give implementation a name such as Z_BADI_MATERIAL_CHECK
5. You can now make any changes you require to the BADI within this
implementation, for example choose the Interface tab
6. Double click on the method you want to change, you can now enter
any code you require.
7. Please note to find out what import and export parameters a
method has got return the original BADI definition
(i.e. BADI_MATERIAL_CHECK) and double click on the method name
for example within BADI_MATERIAL_CHECK contract is a method
8. When changes have been made activate the implementation
Some useful URL
http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
<b>good link to understand and work</b>
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
Badihttp://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
check this links are u can easily to work .............
look second highlighted document is good.
if its useful reward me .
thanks
suresh -
Difference between Enhancement Implementation and BadI Implementation
What is the difference between Enhancement Implementation and BadI Implementation?
Hi Rajendra Prasad,
Enhancement spot : It is the point where you can add your code. It can have multiple implementations. All the implementations can active at a time but the sequence of executions of the implementations can be anything.
(or)
Enhancement points are regions where can insert our code to suit customer needs...Spots are subsets of points and created inside these points..for an enhancement point multiple active spots can exist.
For enhacement-sections : the main idea is to provide a spot to customise the existing process..eg:SAP has done a select criteria..but you need to filter it more by adding a where condition..in that case SAP suggests using Enhancement sections..At any time the first active enhancement section works...even if multiple sections are created(though ideally multiple sections are not allowed to be created)..if you do the procedure below you can see that enhancement-section when a spot is created for it...the code in the parent section is copied and given in the editable mode
Creating spots implementations for points/sections are given below................................................................
to Create a spot in the standard code...click on the spiral icon..screen changes to a different color...place cursor on ENHANCEMENT-POINT/ENHANCEMENT-SECTION keyword of the spot you require to create implementation for...righ click -> "enhancement implementation -> "create" -> a table control comes -> at the bottom "CREATE" button to be clicked" ...give a name and text in customer name space and save -> select the same name just given in the table control ..press 'Tick' .....you will get a space where code can be written..write the code.....save and activate
Also check the following blogs on enhancement framework
/people/thomas.weiss/blog/2006/01/24/what-the-new-enhancement-framework-is-for-150-its-basic-structure-and-elements-for-beginners
The new Enhancement Framework Part 2 - What Else You Need to Know Before Building an Enhancement
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 - Part 4 of the Series on the New Enhancement Framework
Source Code Enhancements - Part 5 of the Series on the New Enhancement Framework
Please go through this link also.
implicit enhancement and explicit enhancement
Reward points if it helps you
Cheers,
Swamy Kunche -
A problem while implementing a file to file senario
hi all :
There is some problem while implement a file to file senario. the file couldn't be sent or recieved.
and as I try to check Check the Sender File Adapter Status via
Runtime Workbench -> Component Monitoring -> Communication Channel Monitoring ,
It is found that Adapter Engine has error status with red light. Is it why the file couldn't be sent?
Could you please tell me how to make Adapter Engine available?
Thank you very much!!!Hi Sony
Error getting JPR configuration from SLD. Exception: No entity of class SAP_BusinessSystem for EC1.SystemHome.cnbjw3501 found
No access to get JPR configuration
Along with what experts suggested
What is the type of Business system is this. Standalone Java?
JPR can have problem if you have a business system thats not ABAP/Java type if this system is not having a SAP TS in landscape then create Java type.
Thanks
Gaurav -
Need help on implementing the BADI ME_GUI_PO_CUST
Hi All,
As per my requirement I need to do Enhancement for Unloading point field on PO.This filed will get all the department numbers applicable for the site on the line item.
For this I need to Implement the BADI BADI ME_GUI_PO_CUST.
The Method which needs to be Implemented is : TRANSPORT_TO_DYNP.
Instructions have been given for the Screen design.
Can anyone help me (with the sample code how) to Implement this method of the BADI in SE19.
This BADI method is taking a view as an Input and I am not understanding how to proceed.
Thanks and Regards,
Smriti SinghHi,
my suggestion is to check the standard documentation of the interface IF_EX_ME_GUI_PO_CUST.
After that you can check the method IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_DYNP in the example implementation class CL_EXM_IM_ME_GUI_PO_CUST.
Usefull links:
[Re: Implementing badi ME_GUI_PO_CUST;
[Re: ME21N - PO Enhancement using BADI;
Kind Regards.
Andrea -
I have Problem with Extract Filter which was working OK until recently.
Now, when I choose the filter the screen does not come up as the extract screen as it should and no other action can be taken except to press escape which returns me to normal. working. Looks as if the extraction function has been sleected but does not show?
I am trying to use the extract on a layer. Have tried to use it on a selection also.
Anyone suggest a solution please?
BillWithout a way to reset the tool, the only possibility seems to be to reset your preferences as described in the FAQ.
http://forums.adobe.com/thread/375776?tstart=0
You either have to physically delete (or rename) the preference files or, if using the Alt, Ctrl, and Shift method, be sure that you get a confirmation dialog.
This resets all settings in Photoshop to factory defaults.
(A complete uninstall/re-install will not affect the preferences and a corrupt file there may be causing the problem.) -
Problem with content: 7 - Bad sound Data
When I do the following...
Voice = new Sound();
Voice.loadSound("test.mp3", true)
I get the error...
Problem with content: 7 - Bad sound Data
AND
Problem with content: 7 - The sound data format is not
recognized.
I am using the test.mp3 files that comes with Flash8.
Thanks!
BobOK. This combo works!
version flash Player 8
action script 2.0
Audio Stream: MP3, 128 kbps, Stereo best
Audio event: MP3, 128 kbps, Stereo best
Override sound settings (unchecked)
But this combo does not!!
version flash lite 2.0
action script 2.0
Audio Stream: MP3, 128 kbps, Stereo best
Audio event: MP3, 128 kbps, Stereo best
Override sound settings (unchecked)
Still get the error on all Nokias except Nokia 90 which gets
no error but just does not play the file
Maybe you are looking for
-
Keys ±, 3, e, d and c won't work on my wireless keyboard. I cannot log in to my iMac because my password includes a 3. I've tried logging in as a guest user and tested the keyboard with Safari. The problem keys do't work there either so it looks like
-
Error in execution webutil_demo
Hello, I installed Oracle Forms and Reports 11g and Weblogic in a virtual machine with Windows 7 64bit, I did setup webutil following the same steps I took when I made the intalacion them on a computer with Windows 7 64-bit, but ajecutar webutil_demo
-
IWeb won't let me publish using MobileMe
I am logged into the MobileMe account. I have 287 days left in my account. Two weeks ago when I made changes to my website, I clicked publish to update the website. All worked. Just made changes and when I pressed Publish, I get a MobileMe advertisem
-
Want to shedule a report in background with current system date
Dear All, I want to schedule a report which is having date parameters in the selection screen. What i want is that , every time in the schedulling period the report should run in current system date only with a variant. Would it be possible. Thanks
-
Hello, On the memory card in my 9720 I only have got music (mp3 and flac files) and photographs (jpg's). It is possible to access and listen to the music with no problem whatsoever, but once I want to see the pictures stored on the memory card (go Me