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,
Rajinikanth
Hello 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
Similar Messages
-
How to create implementation for BADI BADI_SD_SALES_ITEM
Hi all,
When i try to create a implementation for BADI it erorrs out saying "its for intenal use". Is there any way i can still go ahead and create a implementation for this BADI BADI_SD_SALES_ITEM.
Thanks in advance.Hello Jayakumar,
The BADI <b>BADI_SD_SALES_ITEM</b> is designed as internal BADI; the implementation can only be done, if the BADI is set to external. The property of a BADI is stored in the table <b>sxs_attr</b>. The flag <b>internal</b> must be cleared to use the BADI as external. The following short program will show you an example:
report z_xpra_upd_badi_def.
data: gt_prot type table of sprot_u,
gs_prot type sprot_u,
gv_simulate type xflag.
* Constant Definitions for Protocoll:
constants:
gc_error_fatal value 'E', " Error message with stop_upgrade
gc_error value 'P', " Error message: no prod use!
gc_success value space, " Success
gc_info value space, " Info
gc_warning value 'W', " Warning
gc_lv_error type n value 2, " Level for type 'E'
gc_lv_add_error type n value 2, " Level for additional info
gc_lv_warning type n value 2, " This could be either 2 or 3
gc_lv_success type n value 3, " Success only at 3
gc_lv_info type n value 4, " Info-messages only at 3 or 4
gc_lv_debug type n value 4. " Additional info for yourself
start-of-selection.
gv_simulate = space.
perform bc_action using 'BADI_SD_SALES_ITEM'
gv_simulate.
* Finally, the transport protocol will be added:
call function 'TR_APPEND_LOG'
tables
xmsg = gt_prot
exceptions
others = 5.
call function 'TR_FLUSH_LOG'.
* END OF PROGRAM
*& Form bc_action
* Function description/flow
* Used global variables:
* Read/Write
form bc_action using li_badi_def type sxs_attr-exit_name
li_simulate type xflag.
data: ls_sxs_attr type sxs_attr.
select single * into ls_sxs_attr
from sxs_attr client specified
where exit_name = li_badi_def.
if sy-subrc = 0.
if not ls_sxs_attr-internal is initial.
if gv_simulate is initial.
clear ls_sxs_attr-internal.
update sxs_attr client specified
from ls_sxs_attr.
endif.
if sy-subrc = 0.
perform bc_append_log using gc_lv_success
gc_success
'5@'
'000'
li_badi_def
text-001
sy-dbcnt
space.
else.
perform bc_append_log using gc_lv_error
gc_error
'5@'
'000'
li_badi_def
text-002
sy-subrc
space.
endif.
else.
perform bc_append_log using gc_lv_success
gc_success
'5@'
'000'
li_badi_def
text-003
space
space.
endif.
else.
perform bc_append_log using gc_lv_success
gc_success
'5@'
'000'
li_badi_def
text-004
space
space.
endif.
endform. "ACTION
*& Form bc_append_log
* Function description/flow
* Used global variables:
* Read/Write
form bc_append_log using li_level type sprot_u-level " Level
li_severity type sprot_u-severity " Severity
li_ag type sprot_u-ag " Message-ID
li_msgnr type sprot_u-msgnr " Messagenumb
li_var1
li_var2
li_var3
li_var4.
clear gs_prot.
gs_prot-level = li_level.
gs_prot-severity = li_severity.
gs_prot-langu = sy-langu.
gs_prot-ag = li_ag.
gs_prot-msgnr = li_msgnr.
gs_prot-newobj = space.
gs_prot-var1 = li_var1.
gs_prot-var2 = li_var2.
gs_prot-var3 = li_var3.
gs_prot-var4 = li_var4.
append gs_prot to gt_prot.
endform. " bc_bc_append_log
This report can be used as <b>XPRA</b> run; for this you need to assign this report in a transport with property object type <b>XPRA</b>. After importing the transport the report will be started automatically.
Please handle this proposal solution carefully.
Best regards,
Kurt. -
Issues while creating implementation for BADI "ME_PROCESS_PO_CUST"
Hi Group,
I have issues while creating implementation for BADI "ME_PROCESS_PO_CUST".
I tried to create implementation for the above mentioned BADI but, I was getting an error like this:
"Interface implementation IF_EX_ME_PROCESS_PO_CUST does not exist".
I want to implement this BADI and so, ideas/views at the earliest will be appreciated.
Please let me know how to overcome this error.
Thanks,
Vishnu.Hi,
Have you activated the class which is implementing the interface? (in transaction SE19 you should see class name)
Best regards,
Wojciech -
Sample implementation for Badi CRM_IC_INBOX_BADI
Hi,
In our project we are going to extend Inbox Search with some custom fields in Search box.
But I have no idea about what should I write inside the BADI which works in background to take care of the searching.
I need all help that can be used for this implementation. Some questions are,
1. Do i need to alter Get_Query_Result method?
2. What should be the implementation inside of the other methods like BEFORE_SEARCH, AFTER_SEARCH?
3. Do I need to redefine any other methods.
4. Most imp, instead of implementing BADI, is there any other way around to provide solution to do this?Hi Omkar,
Please go through the below Link :
http://scn.sap.com/thread/1631361
Thanks & Regards,
Akshay Ruia -
Hide row in planning book using BADI /SAPAPO/ADVX USER_EXIT_MACRO
Dear All,
I would like to have your suggestion how to hide row in planning book using BADI USER_EXIT_MACRO
the requirement is when I drill down the object by region, the first line will be "total" and the second and third line
will be region like "north" and "south".
I want to show only "total" line and hide region detail.
Would it be possible to do this using the badi USER_EXIT_MACRO?
Thank you in advance,
BoonsomHi,
In the Interactive Planning, you see a Cap-like icon on the top-left...... click on it and choose the characteristic (say, region) and say ok. You will then be able to see the Region just on top of the planning table. When you load the data, by default, it will have "Total" as option, and with your wish, you can choose to see the data for a particular region (North, South etc).
Regards,
Guru Charan. -
Dear All,
I have done enhancement in the ERP system by adding the customer specific field ZZ_RESWK in structure CIFPUORCUS. This field is filled in the ERP user exit EXIT_SAPLMEAP_001, for the Purchase order (category BF & BG) and PO Memo (Category AH).
Now, in APO I have implemented the BAdI /sapapo/dm_po_mntn, and in the method "Change" I am passing the field zz_reswk to ct_ordkey table field reswk, so to write the field in livecache.
This set up is working for order category BF and BG. However, when I am transferring the PO memo (Category AH) from ERP to APO, the the BAdI internal table ct_ordkey is having no records. Hence I am not able to write field reswk for the PO memo in the live cache.
Any one have any idea, why there is not data in ct_ordkey for PO memo ?
Note: The data transfer from ERP to APO is using IDOC.
Please Help.
Regards,
SCHi,
If you don't do what I told you, I can not do anything more....
Your code should look like this:
loop at it_item into ls_item.
ls_cust-refobject = 'POITEM'.
ls_cust-fieldname = 'CATALOGID'.
ls_cust-REFFIELD1 = 'PO_ITEM'. <b>and not 'POITEM'</b>
ls_cust-REFVAL1 = ls_item-number_int. <b>and not a fixed value</b>
ls_cust-container = ls_item-catalogid.
append ls_cust to ct_bapi_customer_fields.
endloop.
For R/3 mapping table BBP_CUFMAP:
DOC_TYPE = PO
KEY_TYPE = Z
CUF_FIELD = CATALOGID
R3_FIELD = ZSRMCATALOGID
Rgds
Christophe -
Filter for BAdi CRM_ORDER_STATUS does not work in WebUI
Hello,
we have made an implementation for BAdi CRM_ORDER_STATUS for our sales cycle.
In detail:
The BAdi implementation shall be triggered if the user sets a special user status within an opportunity.
Therefor we have used the standard filter functionality provided by this BAdi (giving the correct header status profile and user status).
Using transaction CRMD_ORDER in SAP GUI, creating an opportunity and setting the special user status -> the BAdi implementation is triggered as expected.
But: If we are using the WebUI the done BAdi implementation is triggered at every roundrip caused by creating/editing an opportunity and not only at setting the user status.
Does anybody of you made similar experiences with using BAdis in WebUI (SAP CRM 7.0)?
Cheers,
André
**EDIT***
It´s possible coding the filter within the BAdi implementation.
But we prefer using the provided SAP standard.
Edited by: Andre Schillack on Apr 23, 2009 8:47 PMHi Andre,
I just checked my system CRM2007 and below is what I found in WebUI mode:
During the build of DDLB for Status field, it calls method cl_crm_uiu_status_info=>get_status_info. What it does is:
1. It derives all status codes for the user status profile (based on customizing)
2. And then for each status code, it triggers the BADI based on filter value. In the BADI, customer can decide whether the particular status (filtered value) is allowed to see in the DDLB.
Since it is building the DDLB for Status field every time there is change on the opportunity and therefore DDLB method calls the BADI every time to build the Status code list.
If you want to do further processing based on status change in the method BEFORE_CHANGE, you can try the following code.
if is_status_wrk-active_old = 'X' and
is_status_wrk-user_stat_proc = 'CRMACTIV' and
is_status_wrk-status = 'E0002'.
Do something
endif.
I hope I have not confused you.
I feel that this is standard behaviour in WebUI. You may want to check with SAP OSS also.
Regards,
Paparao Undavali -
Transaction code against used for BADI BAPI Details
Hi Gurus,
How to find in Particular transaction Active BAPI and BADI used Details.
Pls, Advise me.
Regards,
Jeevan.Hi Jeevan,
Your question is not clear. Please elaborate more on the requirement. As far as I understand BAPI are independent of any transaction and those are mainly used for communication between SAP and Non-SAP system.
BADI's are transaction dependent. You can use SE18/19 to find out active implementation for BADI.
Thanks,
Augustin. -
Problem in creating new implementation for filter dependent badi
Hi Experts,
I want to use badi NOTIF_EVENT_POST.It is a filter dependent badi. It is asking filter type while implementing thro se19. Could anyone pls tel me how to create new implementation for the filter dependent badi. Existing filter type is QMART. is there any problem if i change the filter type?
Thanks in Advance!Hi ,
NOTIF_EVENT_POST is filter dependent and filter values are based on QMART value in table TQ80. You need to specify the filter value ie : QMART value before implimentation , before that check all active implimentations for the same , if u have to impliment on same filter value , you need to deactivate the one which is implimented on same filter value .
You are not supposed to change the filter type.
Regards,
Vamsi
Edited by: CH. VAMSHI on Sep 29, 2009 11:58 AM -
Unable to create the implementation for BBP_PD_DOWNLOAD badi
Hi ,
Iam trying to create a new implementation for this BADI BBP_PD_DOWNLOAD as zbbp_pd_download but when iam trying to activate it .iam getting a message that already active implementation is there and i cannot create a new implementation unless i deactivate the other one.since it is a standard one i cannot deactivate it .
Has any one used this earlier . any inputs on this wil be of great help .
Thanks in advanceHi
<u>You can create any number of Customer Implementations, provided only one is active at a time.</u>
<b><u>Here are the steps -></u></b>
Either Using SE18 / SE19 Transaction, or
After you call the IMG activity, the system displays a dialog box where you enter a name for the implementation.
If implementations of this Business Add-In have already been created, the system displays them in a dialog box. You then choose one of them by choosing Create, and continue as follows:
1. In the dialog box, enter a name for the implementation of the Add-In and choose Create. (Say ZBADI)
The system displays the initial screen for creating Business Add-In implementations.
2. On this screen, enter a short description for you implementation in the Implementation Short Text field.
3. If you choose the Interface tab, you will notice that the system has filled in the Name of the Implementing Class field automatically, by assigning a class name based on the name of your implementation.
4. Save your entries and assign the Add-In to a package.
5. To edit a method, double-click its name.
6. Enter your implementation code between the method <Interface Name>~<Name of Method>. and endmethod. statements.
7. Save and activate your code. Navigate back to the Change Implementation screen.
Note: You can also create an implementation for an Add-In and not activate it until later. If you want to do this, do not carry out the following step:
8. Choose Activate.
When the application program is executed, the system carries out the code in the method you wrote.
Regards
- Atul -
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 -
BADI implementation for importing values from excel
Hi All,
This is my first ever post in this forum and I am a newbie in ABAP. I have this doubt rather I would say I am stuck while implementing a BADI for importing Excel values.
We have a BADI for 'Upload flow rate' button which is built on PLM frame work on webdynpro.
The requirement is that after clicking the ' 'Upload flow rate' button it should prompt for selecting the excel file and after selecting that file, the values should get loaded to the internal table.
what I have tried till now is that
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
I_FIELD_SEPERATOR =
I_LINE_HEADER = 'X'
I_TAB_RAW_DATA = IT_RAW " WORK TABLE
I_FILENAME = 'C:\abcdl\book1.xlsx'
TABLES
I_TAB_CONVERTED_DATA = lt_result
EXCEPTIONS
CONVERSION_FAILED = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
endmethod.
I tried hard coding the xls file but it gives error as 'CNTL_error' which I guess is a known issue when we use this function module in webdynpro.
So how can I get the values from excel without using datasource and just by hard coding the file name?
Regards,
Anand
AnandThere is no solution to this - SAP have said they will re-introduce this functionality, but they havent said when (as far as I am aware).
However, we have developed a workaround (for Web reports anyway), let me know if you are interested.
Patrick -
Open hub services for badis implementations
I want to implement a openhub services for badis.
could u please send me a screen shot implementation am new to this task.
thanks for helpHi Madhavi,
Can you please send those docuemnts to me also.
Mail-Id : [email protected]
Thanks in advance
Regards
Ramakanth. -
BADI FTR_CUSTOMER_EXTENT Implementation for Facility creation - TM_61
Hello Experts
I am trying to add new tab in the create facility transaction and I feel that the right BAID to do this is FTR_CUSTOMER_EXTENT. I am not able to update the new values in the screen to the database table. I check in the forum and there are many questions for the same but there is no clear answer for the same. Request your help in letting me know how this can be achieved.
I have also checked the same Function Group FTR_CUSTOM_BADI_SAMPLE but still I am not clear as to how I can achieve this.
Thanks in advance
Vijay VHello Claudia,
I finally solved the problem, and I hope my solution may suite your problem.
The bigger problem I had was pass the data from the screen to the BADI itself, so I created a function group following the FTR_CUSTOM_BADI_SAMPLE in which I developed the objects.
Those are the steps I followed:
I enhanced the structure VTBFHA with the custom field I needed;
I created an implementation for the FTR_CUSTOMER_EXTENT
in EVT_APPLICATION_START method I called a function module (copied from the FTR_CUSTOM_BADI_SAMPLE_START) in which I started the subscreen I draw in new tab. (Please note that by doing this I now have the interface if_open_trtm_customer_data always at hand). Follow the instruction of the sample code or the http://scn.sap.com/thread/1534252 thread)
in the PBO of the subscreen I retrivied the custom data via GET_CUST_DATA of the IF_OPEN_TRTM_CUSTOMER_DATA interface and pass the data in my screen fields. In order to do that I called a function module developed in the same function group, so that the interface is ready to be used.
in the PAI of the subcreen, once the data is entered I pass the new data via SET_CUST_DATA of the IF_OPEN_TRTM_CUSTOMER_DATA interface, again developing a FM within the function group of the EVT_APPLICATION_START custom function module I used.
I am sure there must be a better solution, but it owrked pretty fine for me, so I hope this my help you as well.
Moody -
Badi implementation for T-code: QE71
Hi Experts,
I am implementing a badi in transcation QE71 my requirement is to automatically generate quality data. In this t-code we enter the value for the MIC of the material for each inspection lot.
But in the screen only one entry can be done at a time our requirement is to enter 10 data at a time. Badi which hits when we press save button is QE_RESULT_VALUATION but the data entered in screen is column wise that is if it has 5 MIC for the material (thickness, socket length,....) then first it take thickness then in another loop it take socket length and so on. Please give me suggestion that how would I implement this badi. Please help
Thanks and regards,
SuruchiHI,
Based on you requirement to enter the multiple entries at a time of inspection result data.
you can perform the same scenario with the one more transaction called qa32. Over here you need to enter inspection lot no. and serial no. later on the another screen appears with different parameters to enter its respective values.
using Badi QE_SAVE with two methods 1.) IS_ACTIVE 2.) TABLES_IN_OPERATION
IS_ACTIVE-RV_ACTIVE = 'X'.
in TABLES_IN_OPERATION method, you will find the structure : IS_QALS
EV_SAVING_ALLOWED
CS_QAPO
CS_QAPP
CT_QAMK
CT_QASP
CT_QASE
CT_QAKL
IS_QALS, CS_QAPP & CT_QAMK , you will get the all the basic inform.
and using function modules 1.) QAPB_QAPP_POST 2.) QEBU_QASR_POSTING
we can update/ insert multiple entries of data in to the qapp, qasr, qals tables.
At last by running the T-Code : qe71 you will find the all the entries you have inserted in the tables.
regards,
balu.
Maybe you are looking for
-
Accessing an itunes library from different version of itunes
I recently installed yosemite and with that came iTunes 12 since I have an iPhone 6 with 8.1 I will keep iTunes 12. But I have been having major issues with syncing video files to my iphone 4S(ipod touch now) 7.1.2JB. The files never sync or appear t
-
I received a low ink warning on my mac for my epson artisan 837 printer. I replaced the cartridge that was low but it still reads low ink on the mac but reads full on the epson control panel. I am also receiving a communication error between the mac
-
Since iOS5 upgrade, I have a lot of sync errors
Hello all, I really need help here. Here is the story. 1. Plugged in my iPhone to upgrade to iOS5. 2. I did a backup first and everything went ok 3. I click on update and the process started and everything went fine until... For some reason, when the
-
Problems using user defined activitys in Process Flows
Hi everybody, i have problems using an user defined activity in my owb process flow. I did the following according to https://blogs.oracle.com/warehousebuilder/entry/how_to_use_user_defined_activity_in_owb_process_flow. 1. create a script in /tmp cal
-
Procedure to find the exit name from the include program
hai i know the name of the include program through this i want to know the user exit name what is procedure? please give me the details Thanks