User-devel​oped Fan Control for the S10(e)

Hello and welcome.
When you've searched the internet and found this thread, it's possible that you are an owner of a Lenovo Ideapad S10 or S10e which has a little problem with the behaviour and/or the noise of the fan. In this post you will get all the informations you need to handle this problem for yourself. It should also be the same on every S9/S9e.
Just a few comments before we begin:
This is not an official support or solution by Lenovo.
We are just normal users as you are, but we get rid of the fan and wanted to find a way to handle it. So if you want to try anything of the methods described here you have to know that you'll do all this only at your own risk. We are not responsible for any damages of your device. You should only use these methods if you know what you are doing.
Please note that this thread is only for discussing, improving, trouble shooting and perhaps extending the fan control utilities. Any general complaints about the fan problem itself should be placed in the original thread right here: http://forums.lenovo.com/lnv/board/message?board.i​d=IdeaPad_Netbook&thread.id=795. It already has 80+ pages (the link goes to the first page) and it is better to exclude all the fan control stuff because there it's very difficult to keep an overview.
Here you may post all of your questions, ideas/brainstorming, concerns, thanks and so on and you are really invited to participate and be an active member. 
In this first part of this post I'm going to summarize all information about using a fan control utility. For any newbie it will be enough to read this post to get all necessary information. The second part does the same for developement of fan control utilities as we still have no known or working fan control utility for Linux, Mac OS X and other OSs I've forgotten - for now.
For getting started you need a S10 or S10e with an up-to-date BIOS. For the S10 it's the 90 67, for the S10e the 66.
The battery issue
Under very specific circumstances - that we haven't figured out yet - it might happen that your Lenovo S9/10(e) no longer detects the battery while using S10FanControl or S10Fan. It might occur after 2 minutes, it might occur after 2 months, it might never occur. It does not occur using Notebook Hardware Control.
It can be solved by removing the battery, waiting 10 seconds and put it back in. Then the battery is re-initialized and the detection works again.
S10FanControl - Windows
The first utility is S10FanControl created by user dresslerc. The current version is 1.0.0.1, available here: http://www.mediafire.com/file/yd5xmnrnijf/S10FanCt​rl1.0.0.1.zip. After you've downloaded it you just have to extract it and start the .EXE in the "Release" folder. Here are the notes and the description dresslerc posted right here:
Everyone,
I've uploaded a version which everyone can use to test with.  Remember this is still a TEST version although I think it works for the most part.  It should work both on the S10/S10e.
Please install the .NET Framework 2.0 or later first.
Then click here to download the exe:  http://www.mediafire.com/?jlg2enkjdxn
Once downloaded, extract the files and hit hte S10FanCtrl.Exe.  Once this program launches you should be able to control the fan.  Keep in mind that if you lower the fan speed then it'll take upto 30 seconds before the S10 registers the change, so be patient.
I've only tested this on the latest BIOS 59.  I am sure it will work on the 57 as well but the individual speeds might not work properly on that version.  Please try it out and report back.
The only issue that I heard so far is that occasionally the fan will kick in regardless if in Manual/Smart Mode.  Also the temp it shows may not be accurate.  If you find any other issues please let me know what they are so I can attempt to fix them.
Once we have all the kinks worked out then I will release the source. 
Heres a quick Video:  http://www.youtube.com/watch?v=_PKl70ZgmFg 
REMEMBER: USE PROGRAM AT YOUR OWN RISK!!! I AM NOT RESPONSIBLE FOR ANY DAMAGES THIS PROGRAM MIGHT CAUSE.
Application Use:
BIOS Controlled - Fan is controlled by the BIOS
Smart Mode - Fan is controlled based on the conifguration in the options.  You can set the threshold here at what temp you want the fan to kick in...
Manual - Fan is controlled manually by the slider.
If you want to have the program startup automatically, then place a shortcut of the app in the PROGRAM FILES -> STARTUP folder.  Then you may want to go to the options and make the application minimize at startup.
Edit:
It seems there are some issues with the app and the S10e or previous BIOS versions.  Will post a fix asap.
The source code for S10FanControl is available here: http://www.mediafire.com/?sharekey=7a3fb99d33817c0​8c2b435915e8821d7e04e75f6e8ebb871, written in Visual Basic .NET 2008.
S10Fan - Windows
The second utility is a tool written by user slash:
Hi guys,
Well it looks like Lenovo dropped this matter after all. Anyway, I have here another fan controller to add to the bunch. I have been using it for some time now without any problems. It is for both S10 and S10e.
What the program does is basically the same as others. The S10's fan speed is controlled according to the ACPI thermal zone temperature. By over writing the values which resides at offset 50h of the EC register at an appropriate timing, the ACPI thermal zone temperature is over ridden. The program is written in C and uses WinIo created by Sysinternals. The GUI version is available now.
It should be noted that the fan speed temperature thresholds differs with BIOS version. For 14CN67WW and 14CW90WW  the fan changes speed at temperatures 60c, 65c, 70c, and 80c. Furthermore, the BIOS will automatically shutdown the S10 if the temperature reaches 90c.
The program has a fail safe mechanism that automatically disables itself if the actual ACPI thermal zone temperature goes above 85c. This allows the BIOS to regain control and the fan will work as intended by Lenovo. If the temperature drops below 85c the program will take over control again.
To run the program, you will need administrative privileges.
Known working BIOS versions:  14cn58ww,  14cn60ww, 14cn67ww, 14cn90ww
The program will work with any BIOS version as long as the BIOS uses the 50h EC register readouts to control the fan.
build 2009.05.24
Higher priorities for EC commands.
Usage: The program will run in the system tray. Double click or right click and use the menu to open the program. To determine the BIOS temperature thresholds, use the 'Setup' button. To run at boot time, place a short cut in the startup folder.
http://www.mediafire.com/file/njhz0icym2t/S10Fan.z​ip build 2009.05.23
Usage: S10Fan.exe
Added GUI.
build 2009.05.17
Usage: S10Fan.exe 60 65 70 80 70 75 80 85
            S10Fan.exe test
The first 4 values are the BIOS temperature thresholds, the latter 4 are new thresholds that we want to over ride with. To determine the BIOS temperature thresholds, use the 'test' option.
build 2009.03.16
Usage: S10Fan.exe 70 75 80 85
-Slash
For updates and newer releases please check slash's post: http://forums.lenovo.com/lnv/board/message?board.i​d=IdeaPad_Netbook&view=by_date_ascending&message.i​...
Notebook Hardware Control - Windows
The third utility is a profile for Notebook Hardware Control. I've adapted it from a profile for the Lenovo N500 which I've found here: http://nhc.yourcopy.de/overview/. With the manual for creating the profiles that can be found here: http://www.notebook-treff.de/board/database/hilfsp​rogramme-f%C3%BCr-nhc/92-how-to-create-an-acpi-fil​... I was able to change the ACPI commands to work on the S10(e).
Installation and setup is divided in two steps. The program Notebook Hardware Control (NHC) is available at http://www.pbus-167.com/. Install the program, but do not start it for now. Then you need my NHCConfig utility, available here: http://forum.eeepcnews.de/download/file.php?id=147​6. It detects your model number and BIOS-version via WMI and writes a proper S10(e) profile to the NHC acpi directory. The GUI is German if you have a German Windows and English if not. Additional languages can be added.
After you've extracted the ZIP-file you have to start the nhcc.exe (requires .NET Framework 2.0). At first a message appears that you use the program at your own risk. Then you can choose if you want to apply your own settings (experts) or if you just want the program to run with my defaults (newbies). In the settings window you can see your system details on the left, you can set up your thresholds in the middle and you can set the fan speed you want on the right. Then click on execute. 
Now start NHC. Go to the "Settings" tab and click on "Show all NHC options and settings". Then a few more tabs appear. Go to the "ACPI" tab and check if the "ACPI Control System" is running (if everything works, the message "ACPI Control System running" will appear, otherwise it says "ACPI control system is not yet configured for this system"). Now click on "Show ACPI Control System details".
Here you can change the temperature values the fan control depends on (the settings from NHCC are the default values). On the bottom of the window you can see the "Current CPU temperature". That is the value you have to deal with. In general it has a value of around 60°C. In the middle you can see four user editable temperature values. You can leave the values as they are if everything works. The on/off values are responsible for the temperatures at which the fan starts running and stops again after cooling the device. The level values are responsible for the fan speed, for example you can set the off_level higher to let the fan run all the time at the lowest level, if the values do not fit for your device or whatever.
You can switch between NHC and BIOS control by disabling or enabling the "ACPI Control System" or by closing NHC.
Q:
A:
With every utility it is possible that it takes some time until you see an effect after you've started the program. Any failure of the programs should be no big problem because the only thing that should happen is that the BIOS controls the fan. Another issue that might occur due to the way the fan is controlled is that the fan may start running for a very short time and it looks like the fan control has lost control. The fan should stop immediately or at least after a few seconds.
Keep in mind that running the S10(e) with a fan control means that the S10(e) has to deal with higher temperatures. That could mean that the device will not last for 10 years but only 9 years (who uses a netbook so long...?). In every case you need a tool for monitoring your cpu temperature. We know that especially Core Temp 0.99.5 and Real Temp 3.00 do a very good job. That is important because the temperature values you need to set up the fan control are different from the values reported by the cpu sensor, they are between 15°C and 20°C higher. A normal temperature reported by the monitoring should be around 40°C, with the NHC default values the fan starts running at 52°C and stops at 38°C.
Q:
A:
Q:
A:
END using fan control
BEGINNING developing fan control
Controlling the S10(e)'s fan is a litte bit difficult because it looks like there is no way to control it directly. But it is possible to manipulate the temperature the BIOS fan control depends on. As long as the built-in fan control thinks that the cpu is cool enough the fan stays off. And that is exactly the point where we can attack.
The fan control depends on a field called RTMP in the memory of the embedded controller. It can be accessed via "_SB.PCI0.LPCB.EC0.ERAM", the offset of RTMP is 0x50 (hex) or 80 (dec). It is a direct I/O read/write. The complete NHC command for reading the value is: ACPI.FIELD.ReadByOffset("_SB.PCI0.LPCB.EC0.ERAM", ref value, 0x50, 8) with "value" as the variable which gets the value.
What program logic do you need? You need a timer or something else that conducts an always-refresh cycle. It sounds very easy: You read the value, manipulate it and write it back. And it is that easy, you just have to keep some things in mind.
This refresh has to be done very often. The procedure must be very thin and quick. Also the bus that is used to communicate with the EC is a problem, but since the S10e BIOS 66 it became a minor problem for me because it looks like the built-in fan control now depends on some kind of average value over the last few seconds and it doesn't really matter if one write-cycle is failing.
The read-event must be placed before the write-event. Otherwise you just read your manipulated value. The field is filled by the system regularly, so you just have to test if the read_value is different from the written_value, then you know that the field was filled with a "fresh" value. Like "if read_temperatue <> written_temperature then real_cpu_temperature = read_temperature else do nothing".
About the values you have to write back... you will have to test and play a bit. My experience is that you can select three fan levels, starting at 59°, 62° and 70° - at least with the NHC profile and my S10e it's like that. It's some trial 'n' error. My fan stays off at < 59°, but you should select a very low value for fan_off like 30°. In my opinion it switches off much faster the lower the written value is. But it's just a feeling, I haven't measured it.
Q:
A:
Q:
A:
Perhaps some users from countries with other languages than German and English can add tags for "fan", "control" and "noise".
Note from Moderator:  Minor edits in title and disclaimer.
Message Edited by JaneL on 04-25-2009 02:32 PM

Great opening post Carsten!
The latest bios:
http://www-307.ibm.com/pc/support/site.wss/documen​t.do?sitestyle=lenovo&lndocid=MIGR-71252 (BIOS 66)
The FSB can be reduced from 133MHz to 100MHz using SetFSB, this also reduces the heat:
http://www13.plala.or.jp/setfsb/
clockgen = SLG8SP513V
If you add a shortcut to the startup folder the program will start at startup. Under properties you can change the target to:
"C:\Program Files\SetFSB\setfsb.exe" -s100 -b1 -cg[SLG8SP513V] -w20
So it starts with a FSB of 100Mhz, in the background, with the right clock generator, after 20 seconds.
Message Edited by quazar on 04-25-2009 05:07 AM

Similar Messages

  • How to maintain open change request control for the transaction MM02 & CS02

    hi all...
    can any one please let me know that, is there any BADI or Enhancement spot
    where i can code for my desired functionality...
    how to maintain open change request control for the transaction MM02 and CS02.
    Desired Functionality:
    • The user wants to maintain a material, bill of material or a document.
    • On the initial screen of the respective transaction (MM02, CS02)
      user enters a change request number.
    • The system checks whether the object record that the user wants to maintain
      is already assigned to other change request numbers.
    • If this is the case, the system displays a warning, stating that there are
      other open change requests for this master data record.
    • In addition, the system lists the relevant change request numbers.
    • The user can continue the maintenance or leave the transaction and first check
      the mentioned change requests.

    hi satish thanks for reverting back
    but sorry yaar given enhancement is not triggering...
    but my requirement is:
    - after executing the transaction MM02 & CS02.
    - user inputs the data for Material Number and then he enters the Change Number.
    - if the given Change Number is not maintained with the Material (i dont no
      where/how this two fields are maintained internally), then it has to raise a
      warning and it should list the existing Change Numbers for that perticular
      Material.

  • How to see all users who are allowed permissions for the specified entity ?

    How to see all users who are allowed permissions for the specified entity ? 
    And change user permissions for the current entity
    from Moscow with money

    Vincent,
    ... and how to change entity permissions for some users?
    from Moscow with money

  • How can I have different access control for the guest network (different than the main network)?

    I am trying to control my main wireless network with access control via mac id with no password. I wanted a separate guest network with password access and no access control. However, the only way that the guest network works is if I specify unlimited access as the default. Is what I am trying to do possible.

    I am trying to control my main wireless network with access control via mac id with no password.
    Definitely not a recommended method for security. MAC addresses are easily cloned by anyone who wants to do so with free tools available on the Internet. An unwanted guest will be on your network in less than a minute if they want to be.
    Strongly recommend that you use WPA2 Personal security with a non-dictionary password to protect your network.
    I wanted a separate guest network with password access and no access control. However, the only way that the guest network works is if I specify unlimited access as the default. Is what I am trying to do possible.
    Unfortunately, Apple does not allow separate Access Control for the "main" and "guest" networks. It's all or nothing, I am afraid.
    Likely, the  "best" way to set up Access Control is change the default rule to No Access, Then you will need to enter in the details for every device that you want to allow to connect for both the "main" and "guest" networks with the time limits for each device.

  • Where is the controls for the built in iMac camera

    Where is the controls for the built in iMac camera?  I looked through the System Preferences icons and can not find any reference to the internal camera.

    Open Photo Booth in the Applications folder or on the Dock. Any application that can use a camera will operate it, also.

  • If I were to set up Parental Controls for the only user on a MacBook, would I need to create another, separate account?

    Parental controls

    Welcome to Apple Support Communities
    It is not possible to set parental control on the administrator account, so you have two choices: create a new user account to apply parental control or use the Guest user for that. You can set parental control in System Preferences -> Parental Control

  • Media Controls for the Qosmio x505 q870

    Hi there,
    I recently purchased the Qosmio X505 q870 machine, and it came with the side media center control panel. Everytime one of those buttons is pushed, a loud beep is produced, and even muting the speakers still causes this beep. I am wondering if there is anyway to remove this beep from the machine, and still keep the functionality of the media control panel.
    Thanks, Jesse.

    Thanks for pointing that out.
    For others who are looking at this thread...
    See the section TOSHIBA Hardware Setup on p. 155 of the User's Guide.
       Qosmio X500 Series User’s Guide
    You'll see the Button Setting tab in the HWSetup window.
    -Jerry

  • How to get the user created when I prepare for the BD Identity Manager

    Hi I have a query, I need to get a backup database Identity Manager 9.1, I have a problem I do not remember user created to perform the backup, how can you know that I created when I made the installation of Identity Manager, or how can I find

    Hi,
    You can do this trick:
    1) Go to "Deployment Manager" in the Web Console, and open the EXPORT applet
    2) Export the User Defined Fields from the USR form. You don't need any dependence for this.
    3) Open the generated XML with a text editor.
    3) Search for the <SDK_SCHEMA> tag
    This tag contains the OIM schema name, wich shoud be your OIM database user.
    Hope it helps,

  • A Cursor List Control for the HomeBoyz

    I wanted a Cursor List Control for use with a Waveform Graph, but I couldn't find one anywhere in the Controls Palette. So during a busy morning of data gathering, I took about an hour to write one by hand. [Since I'm getting to be pretty good at LabVIEW, I reckon I can bill about $250/hr for this stuff, so y'all appreciate your free software.]
    Anyway, a Cursor List is an array of Cursor Property Clusters. The attached "Cursor List.vi" contains both a singleton Cursor Property Cluster and an Array of Cursor Property Clusters; the block diagram shows how to wire this array to the Waveform Graph's Cursor List property node.
    Attachments:
    Cursor_List.vi ‏40 KB

    Dennis,
    I followed your instructions..
    It works..!!!

  • How do I turn on the GUI controls for the Focus Blur Effect in Final Cut Pro X

    I can't find the setting that enables the GUI control overlay to manipulate the parameters of the Focus blur effect in Final Cut Pro X. When I have the clip and the focus effect selected I only get a center element overlay. At one point I had controls for all the other elements of this effect.
    anyone know a shortcut or how I can toggle these controls back on?

    I don't see any other screen controls either.
    Maybe there was a change sometime, or maybe you were using a different effect?

  • Access to my Office 365 third-party app for external user : "a User account is not registered for the account"

    In my third-party web application of Office 365, I want to have access to the contacts, events and emails of all the users from the organizations who installed my app. The thing is I don't want that all these users have to grant me access, I just want one
    admin of the org to grant access for my app and then be able to retrieve the data I need for all the users.
    To test for one organization, I logged in as the admin and proceed to the Oauth2 authentication to retrieve the access token and in the first request (the GET one to retrieve an authorization code) i add the parameter
    prompt=admin_consent.
    With this access token, I can access the data (emails, contact, event) of the admin
    for instance for the contacts
    uri: https://outlook.office365.com/ews/odata/Users(adminemail)/Contacts
    but not the data of the other users of this org with this uri
    uri: https://outlook.office365.com/ews/odata/Users(useremail)/Contacts
    The only thing I can do is retrieve an access token for each user but it supposed that each user has to authorize the access to the app but it's very cumbersome. So, i don't see what enables the parameter prompt=admin_consent and how to use it. Does anybody
    know what it does?
    And my question is: how can I do to access the data of all the users of one organization when the access has been granted by one admin?
    Thank you!

        
    This was answered on StackOverflow by Dushyant Gill.  http://stackoverflow.com/questions/25316175/access-to-my-office-365-third-party-app-for-external-user-a-user-account-is-n/25316678#25316678
    You are sending the OAuth request to a tenant specific endpoint of Azure AD. Note the {key_provided} part of your Url - that part represents the tenantid or a registered domain name of an Azure AD tenant. Azure AD throws this error is the user signing in
    is not a user in that tenant.
    Multi-tenant applications like yours have two options:
    Perform home realm discovery yourself and send the SSO request to the correct tenant-specific endpoint of Azure AD: when a new Azure AD organization signs-up for your application, record its tenant ID, and registered domain names. On your login page, ask
    the user for their email and try to discover what Org they belong to using the suffix the email.
    Use the common endpoint of Azure AD. Instead of the {key_provided} part of the URL, use 'common'. In this case Azure AD will determine the user's tenant and sign-in the user. The token that your application will receive will still be from the user's tenant
    (iss claim).
    2 is more convenient for apps. However #1 has an advantage when the user's Organization has customized their sign-in page with the company logo etc - in the case of #1 the user will directly be taken to the customized and familiar sign-in page.
    I recommend a combination of the two: try determining the user's organization and sending them to the tenant specific SSO endpoint. If you're not able to - send them to the common endpoint.

  • DPM 2012 still requires put end users into local admin groups for the purpose of end user data recovery?

    On client computers that are protected by DPM 2010 and prior versions, you had to put the end users account in the local administrators group. If you did not add the end user account to the local administrators group you would get this error after opening
    the recovery tab in the DPM client: “DPM found no recovery points which you are authorized to restore on the specified DPM server. You can restore only those recovery points for which you were an administrator at the time the
    backup was taken. To restore other recovery points, contact your DPM administrator, or attempt to restore from another DPM.”  This is not ideal on many networks because the end users are not allowed to have local administrator access.
    Ths fix to this was included in hotfix 2465832 found here: http://support.microsoft.com/kb/2465832.
    This hotfix (a hotfix rollup package for DPM 2010) resolves other issues with DPM 2010 as well. You can find the full list of what this hotfix corrects on that link.
    One would think this issue should have been resolved in DPM 2012, however I am encountering the same exact issue, had to include end-users into the workstation local admin group before they can search for recovery points on the DPM server. This is not acceptable
    practice.
    Is there a new hotfix for the same issue on DPM 2012? I am hesitated to apply KB2465832 since it also includes many other fixes for DPM 2010, which may not appicable for version 2012.
    Please help.
    Thanks,

    This is a hands off solution to allow all users that use a machine to be able to restore their own files.
    1) Make these two cmd files and save them in c:\temp
    2) Using windows scheduler – schedule addperms.cmd to run daily – any new users that log onto the machine will automatically be able to restore their own files.
    <addperms.cmd>
    Cmd.exe /v /c c:\temp\addreg.cmd
    <addreg.cmd>
    set users=
    echo Windows Registry Editor Version 5.00>c:\temp\perms.reg
    echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Agent\ClientProtection]>>c:\temp\perms.reg
    FOR /F "Tokens=*" %%n IN ('dir c:\users\*. /b') do set users=!users!%Userdomain%\\%%n,
    echo "ClientOwners"=^"%users%%Userdomain%\\bogususer^">>c:\temp\perms.reg
    REG IMPORT c:\temp\perms.reg
    Del c:\temp\perms.reg
    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Mike J. [MSFT] This
    posting is provided "AS IS" with no warranties, and confers no rights.
    That's a good one! Thanks for that.
    I've been scripting on KIX for some time, so here is mine, hope it helps to someone... (it's probably not the best, but it works)
    ========================================================================
    $RC=setoption("WOW64AlternateRegView","on") 
    $DPMkey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Agent\ClientProtection"
    $uservariable = "%userdomain%\%username%"
    If KeyExist ($DPMkey)
    $Userstring=ReadValue($DPMkey, "ClientOwners")
    If $Userstring == ""
    WriteValue($DPMkey,"ClientOwners", $uservariable, "REG_MULTI_SZ")
    ? "Key created"
    else
    If not instr($Userstring,$uservariable)
    $Userstring = "$Userstring,$uservariable"
    WriteValue($DPMkey,"ClientOwners", $Userstring, "REG_MULTI_SZ")
    EndIf
    Endif
    EndIf
    ==========================================================================
    The problem actually is that you still need to use an admin account to write on the registry, so ensure you configure it properly on the schedule task.
    In case you use a service account on the schedule task... the "$uservariable" will get populated with that account. As a work around to this... I changed it for the following line:
    =========================================================
    $uservariable = ReadValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI", "LastLoggedOnSAMUser")
    =========================================================
    The only problem with that, is that key gets created/updated only if user gets logged phisically on that PC, but will not work for anyone connecting through RDP.

  • User exit or BADI available for the CAPP in CA03.

    Hi,
                I have a requirement to populate the standard CAPP values to the work center activities of the routing only when all the activities are having a blank value.Please see the below paragraph for better understanding.         
    Currently in SAP when executing CAPP for a work center of the routing it over writes the existing values populated on the routing for the setup,labor,standard labor,man occupation,machine occupation…etc whether the values are blank or not. An enhancement needs to be made to only populate operations standards when all the values are blank.
    If routing is not populated with setup, machine, labor standards, man occupation, machine occupation and work center is setup for default standards in CAPP, then run the CAPP process to apply standards from work center zcappstds table. The program that is run to apply these standards currently is SAPLCETO. Potentially ca96 and the batch process that updates the material master RCPMAU01 will have to be adjusted as well.
    Please help me if anybody knows the user exit/Badi for this requirement.Please reply me soon this is an urgent requirement
    thanks in advance,
    Samyuktha.

    I dont have details abt exact user Exit or badi which will suit ur requirement. But below info will give you the way to find out the same.
    Have a look at below link,
    http://www.erpgenie.com/sap/abap/code/abap26.htm
    which gives the list of exits for a tcode
    There are multiple ways of searching for BADI.
    • Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE
    • Finding BADI Using SQL Trace (TCODE-ST05).
    • Finding BADI Using Repository Information System (TCODE- SE84).
    1. Go to the Transaction, for which we want to find the BADI, take the example of Transaction VD02. Click on System->Status. Double click on the program name. Once inside the program search for ‘CL_EXITHANDLER=>GET_INSTANCE’.
    Make sure the radio button “In main program” is checked. A list of all the programs with call to the BADI’s will be listed.
    The export parameter ‘EXIT_NAME’ for the method GET_INSTANCE of class CL_EXITHANDLER will have the user exit assigned to it. The changing parameter ‘INSTANCE’ will have the interface assigned to it. Double click on the method to enter the source code.Definition of Instance would give you the Interface name.
    2. Start transaction ST05 (Performance Analysis).
    Set flag field "Buffer trace"
    Remark: We need to trace also the buffer calls, because BADI database tables are buffered. (Especially view V_EXT_IMP and V_EXT_ACT)
    Push the button "Activate Trace". Start transaction VA02 in a new GUI session. Go back to the Performance trace session.
    Push the button "Deactivate Trace".
    Push the button "Display Trace".
    The popup screen "Set Restrictions for Displaying Trace" appears.
    Now, filter the trace on Objects:
    • V_EXT_IMP
    • V_EXT_ACT
    Push button "Multiple selections" button behind field Objects
    Fill: V_EXT_IMP and V_EXT_ACT
    All the interface class names of view V_EXT_IMP start with IF_EX_. This is the standard SAP prefix for BADI class interfaces. The BADI name is after the IF_EX_.
    So the BADI name of IF_EX_CUSTOMER_ADD_DATA is CUSTOMER_ADD_DATA
    3. Go to “Maintain Transaction” (TCODE- SE93).
    Enter the Transaction VD02 for which you want to find BADI.
    Click on the Display push buttons.
    Get the Package Name. (Package VS in this case)
    Go to TCode: SE84->Enhancements->Business Add-inns->Definition
    Enter the Package Name and Execute.
    Here you get a list of all the Enhancement BADI’s for the given package MB.
    Best Regards,
    Vibha
    *Please mark all the helpful answers

  • User-exit on APO side for the deliveries that are coming from R/3

    Hi,
    When a delivery is created in ECC for a VMI customer, it creates an EI order in APO. We need to record some details of these orders on the APO side.   Can you please let me know the user exit/BADI that gets triggered when a delivery comes to APO through CIF which we can use for our requirement?
    Thanks in advance.

    Hi,
        You can use APOCF006(EXIT_/SAPAPO/SAPLCIF_PU_001) CIF User exit on APO side for CF_OBJECTTYPE = B(Delivery).
    I hope this will help you.
    Regards,
    Saurabh

  • I have a state space model of a complex system. can anyone help me for implementi​ng MPC and e-MPC control for the same?????

    Hi everyone. I am new to the forums, so let me be as mprecise as possible. i know the basic functionalities of Labview with MPC block etc. However, i dont know how to go ahead with implementing MPC control for a system whose state space model i possess. can anyone help me out?? the problem is that i dont even know the approach or the starting point..

    This happens if you remove a program manually, but still have the registry keys to load files from this program.<br />
    You can use the MSConfig program or the Autoruns utility to see which software and services are getting started.
    *http://technet.microsoft.com/en-us/sysinternals/bb963902.aspx
    You can use registry editor and do a search (Ctrl+D) for imesh to see if you can locate the registry key(s) that launches this program on a reboot.
    Try to ask advice at a Windows oriented forum if you can't fix this.
    * http://www.bleepingcomputer.com/forums/ - BleepingComputer.com - Computer Help Forums
    * http://windowssecrets.com/forums/ Windows Secrets Lounge

Maybe you are looking for

  • Some fields are missing in the ALV output

    Hi , I have created a normal ALV report using REUSE_ALV_GRID_DISPLAY . It shows the output correctly. But when I take the prin out or download to an excel sheet some fields are not there. Can I know how to solve this issue ? Regards, Beena

  • Automaticly showing the name of the report on bottom of the page

    I have so many reports that have been created in CR.  I print all my CR reports through Planit so I don't accesses them through CR while printing.  To figure which report is being used I need to look in Plant then go to MS Access which has the list w

  • Best approach to publish new table or new column on existing table on MDW?

    Hi, I'm refering to Olite R3 without any patches. I don't use Java API, I use MDW. if I have a new table or a new column on a existing table, what's the best approach to publish it? I'm asking this because I've trying lots of approaches and the only

  • Mono-debugger CRASH on arch_86_x64

    Hi at all, guys! Someone had tried mono-debugger on x64? i just try this: # pacman -Sy mono-debugger (all completed succesfully) and then: $ mdb Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer

  • BExAnalyzer: Multiple use of the same Query in a Workbook - Command Button

    Hy Gurus, in my Workbook I have in Sheet 1 one Analysis Grid, defined as DP_1 in Sheet 2 it is an other Analysis Grid defined as DP_2 Both Data-Provider refer to the same technical BW Query. If I add a Button (from the BEx Toolbar) and try to refresh