How to identify what to change with a BADI

I have to implement a BADI for the first time. I have no big problem with the general concept, but I am having a major problem with knowing what data structures can be modified.
I am implementing the BADI PARTNER_UPDATE in CRM. I have a break point in my implementation, but I cannot explicitly see what structures are available for me to modify.
The documentation for the BADI (which SAP expressly state must be comprehensively maintained) is non-existent in english. There are no structures passed in with the method, and when I look at the implementing object in the debugger I cannot see any of the atributes, public, statis or private.
So how can I find out what are the structures that can/should be updated in the BADI? This is irritating; at least function modules are self-documenting with respect to structures that can be used (provided that they are passed into the FM). Methods too, if they have parameters, but this BADI is not very helpful at all.
Kind regards,
Tony.

Hi,
even  i' am not able to find any thing.
it doesn't need any thing to pass..
but there is a sample implementation check it.
<b>CL_EX_PARTNER_UPDATE</b> in SE24.
two methods are implemented.
you can see the code also.
regards
vijay
Message was edited by: Vijay Babu Dudla

Similar Messages

  • How to identify what are all the events are created in background jobs?

    Hi all,
    how to identify what are all the events are created for  background jobs. And what events gets triggered for a particular job.
    thanxs
    haritha

    Hi Haritha,
    JOB is a program which starts to a determined point of time and executes some standard programs in the system. JOBs can be planed to a determined point of time on the regular basis (every night, for example) or to some discret time moments. So, the JOB can be planed and then will be started automatically without the manual start.
    Realtime programs are understood in the most cases as actual program execution which is started by somebody to the actual moment of time.
    Typically per JOBs some special processes will be started that should be executed automatically and regularly: for example, IDOC application, some correction reports, statistic updates etc.
    Standard jobs are those background jobs that should be run regularly in a production SAP System These jobs are usually jobs that clean up parts of the system, such as by deleting old spool requests.
    Use
    As of Release 4.6C, the Job Definition transaction ( sm36 ) provides a list of important standard jobs, which you can schedule, monitor, and edit.
    Standard jobs are those background jobs that should be run regularly in a production SAP System. These jobs are usually jobs that clean up parts of the system, such as by deleting old spool requests.
    for more information you can go thru the following thread:
    http://help.sap.com/saphelp_nw70/helpdata/en/24/b884388b81ea55e10000009b38f842/frameset.htm
    About Events:
    Events have meaning only in the background processing system. You can use events only to start background jobs.
    Triggering an event notifies the background processing system that a named condition has been reached. The background processing system reacts by starting any jobs that were waiting for the event.
    Types of Events:
    There are two types of events:
    1.)System events are defined by SAP. These events are triggered automatically when such system changes as the activation of a new operation mode take place.
    2.)User events are events that you define yourself. You must trigger these events yourself from ABAP or from external programs. You could, for example, signal the arrival of external data to be read into the SAP system by using an external program to trigger a background processing event.The event scheduler processes an event if the event is defined in the system.
    For example, if a system (System 1) receives an event from another system (System 2), the event scheduler of System 1 processes the event only if it is defined in System 1. That event does not need to be defined in System 2 (the sending system).
    You define an event by assigning a name (EVENTID) to it. When defining an event, you do not define the event arguments.
    for more information you can go thru the following thread:
    http://help.sap.com/saphelp_nw04s/helpdata/en/fa/096e2a543b11d1898e0000e8322d00/frameset.htm
    When you schedule the process chain or infopackages the jobs associated with it run in the background mode. In case you want to create a job for a specific activity you can do so in SM36. You would be creating jobs that would get executed in any one of the options:
    1. Immediate
    2. Date & Time
    3. After event.
    4. After job.
    5. At Operation mode.
    In case you want to view the job logs go to sm37.
    Also Pls check DB02 for database performance and ST03 for workload .
    Analyse u will have an idea ,
    *pls assign points,if info is useful**
    Regards
    CSM reddy
    null

  • How to identify what queries are embeded in workbook in bi 7?

    Hi all,
    How to identify what are all the queries are used in the workbook in Bi 7?
    can anyone help me on this!!
    Thanks
    pooja

    Hi,
    Please check the table RSRWORKBOOK. Enter the name of the work book, it will give you the GENUID of the query. Pass these values to table RSRREPDIR. You will get the names of the queries.
    - Jaimin

  • How to identify the DDL changes ?

    Hi all,
    How to identify the DDL changes done to the database ?
    By triggers only Or we can use Logminer also OR
    SELECT * FROM USER_OBJECTS where object_type = 'TABLE' order by LAST_DDL_TIME desc;
    OR
    is there any other options are available ?
    Thanks in advance,
    Pal

    Something from asktom might help
    tkyte@TKYTE816> create or replace trigger ddl_trigger
    2 after create or alter or drop on SCHEMA
    3 declare
    4 l_sysevent varchar2(25);
    5 l_extra varchar2(4000);
    6 begin
    7 select ora_sysevent into l_sysevent from dual;
    8
    9 if ( l_sysevent in ('DROP','CREATE') )
    10 then
    11 if l_sysevent = 'CREATE'
    12 then
    13 begin
    14 select 'storage ( initial ' || initial_extent ||
    15 ' next ' || next_extent || ' .... )'
    into l_extra
    16 from all_tables
    where table_name = ora_dict_obj_name
    17 and owner = user;
    18 exception
    19 when no_data_found then null;
    20 end;
    21 end if;
    22
    23 insert into log
    24 select ora_sysevent, ora_dict_obj_owner,
    25 ora_dict_obj_name, l_extra
    26 from dual;
    27 elsif ( l_sysevent = 'ALTER' )
    28 then
    29 insert into log
    30 select ora_sysevent, ora_dict_obj_owner,
    31 ora_dict_obj_name, sql_text
    32 from v$open_cursor
    33 where upper(sql_text) like 'ALTER%' ||
    34 ora_dict_obj_name || '%'
    35 and sid = ( select sid
    36 from v$session
    37 where audsid=userenv('sessionid') );
    38 end if;
    39 end;
    40 /

  • When I upgraded to 10.7.4 I lost the ability to use a lot of my previous software that was intel based. My Adobe suites for example. So for $29 i now have to spend $1000's to get these to work. What has changed with Mountian Lion. I am not rich/

    When I upgraded to 10.7.4 I lost the ability to use a lot of my previous software that was intel based. My Adobe suites for example. So for $29 i now have to spend $1000's to get these to work. What has changed with Mountian Lion. I am not rich?

    The reason your applications do not work in Lion/Mountain Lion is that they were written for the older PowerPC CPU that all Macs used up to 2006.  When Apple made its transition to the Intel CPU, they licensed software that they included in all versions of OS X (from Tiger to Leopard and optionally, Snow Leopard) called Rosetta.
    Rosetta miraculously allows PowerPC applications to work on the Intel processor transparently; you do not know it is even present.
    The problem is that after 6 years of the transition, Apple's license to use the underlying software expired for OS X Lion and all version thereafter (and it is doubtful that the current owner of the software, IBM, would relicense it, even if Apple were inclined to do so).
    So you do not have to accept recriminations from others for previously using Rosetta without even knowing it was present and running!
    So for those of use that need to upgrade to Lion/Mountain Lion, I have offered the option to install Snow Leopard (with Rosetta) into Parallels 7:
                             [click on images to enlarge]
    And now Mountain Lion:
    If you are unable or unwilling to update your inventory of PowerPC software, this solution offers you an alternative for not more than the $29 cost of Snow Leopard and $79 cost of Parallels (cheaper via internet sources).
    Full Snow Leopard installation instructions into Parallels 7 are here:
    http://forums.macrumors.com/showthread.php?t=1365439
    Assistance with the installation process is available on this linked forum.

  • In version 3.6 I can not open a website link from original page, I keep getting a new window that is blank and asking me to put in a web address. What has changed with the new version?

    When on a page if I click on a web link I get a new window that is blank and asks me enter a web address. This started happening with the new 3.6 version. It seems to have something to do with what I choose for the location in my privacy settings as the window changes with each setting but I still cannot get to the new site. Any ideas? I have no problem with this in IE and I have to keep opening IE when I encounter the problem on Firefox which is annoying.

    Start Firefox in [[Safe Mode]] to check if one of the add-ons is causing the problem (switch to the DEFAULT theme: Tools > Add-ons > Themes).
    * Don't make any changes on the Safe mode start window.
    See:
    * [[Troubleshooting extensions and themes]]
    If it does work in Safe-mode then disable all extensions and then try to find which is causing it by enabling one at a time until the problem reappears.
    * Use "Disable all add-ons" on the [[Safe mode]] start window to disable all extensions.
    * Close and restart Firefox after each change via "File > Exit" (Mac: "Firefox > Quit"; Linux: "File > Quit")

  • How to identify a user-change in USEREXIT_CHECK_VBAP

    Hello,
    I am writing a bit of code that will overwrite the payment terms in a sales order item based on a number of factors. (ship-to, incoterms, document type, etc)
    I am using the following program  MV45AFZB at Exit : USEREXIT_CHECK_VBAP. I am using this exit as the users need to see the payment terms after an item has been entered into the sales order and not have the value determined at sales order save.
    I am not using USEREXIT_MOVE_FIELD_TO_VBAP as it is only triggered once at the time of creation and not when I change the document. I need it in USEREXIT_CHECK_VBAP as users could change the incoterms  in VA02, so the code must be redetermined.
    My code is working as expected, however, I have a problem when a user enters a sales order item line and then manually changes the payment terms, as my code then is over writes the users values.
    The flow is as follows
    As user creates a sales order
    They populate the sales order header
    They populate material number and qty
    User exit USEREXIT_CHECK_VBAP is triggered and correctly determines the payment terms
    The user then double clicks on the sales order item and decides to overwrite the payment terms.
    My user-exit is retriggered and check to see if XVBAP-UPDKZ = I (insert)
    As it is still an insert, my code triggers.
    I have tried to check YVBAP, but no entry exist as it stills is seen as in insert? What I really need to know that while it is still an insert, the user has change the field value and my code should not over write the users value.

    Hi
    Please, read carefully SAP Note 178328 - Problems due to incorrect user exits in SD.
    It says:
    In general, the following connection exists between the update indicator
    and the Y tables:
       o When you create a document, only the update indicator 'I' can exist
       in the X tables (or sometimes the update indicator remains
       initial). No records exist in the Y tables.
      o When you change a document, the following cases may occur:
         - You add a table entry. There is only one entry in the X table
         that has the update indicator I. There is no entry in the Y
         table.
    and it goes on with useful information.
    I hope this helps you
    Regards
    Eduardo
    Edited by: E_Hinojosa on Feb 20, 2012 9:20 AM

  • Trying to identify what to change for user who has permissions on a library but gets no search results from the library

    We are running SP 2010 service pack 2.
    Search is working for people in general.
    Yesterday user Y asked me why they (user Y) does not get results when they search for documents in the library. They get results back when searching other libraries.
    The library has a limited number of users who can access.
    The user is explicitly added to the library's permissions with Read permission.
    When I look inside the library at specific documents, the user is listed as having Contribute,Limited Access privs on each document.
    As an admin, I have accessed the site and performed searches and gotten results. Others on the site with various permissions get results back.
    So  it appears that search is working.
    What other things can I check - via powershell perhaps - to help identify and resolve user Y's dilemma?

    What we found is this.
    At the site level, only 4 users have access. At the library level, 3 more users were added directly and given read permission.
    These three users could see the contents of the library, read the documents of the library, but when they attempted to search the library, got "Access Denied".
    I was able to negotiate for a resolution of this problem for us to create a new SharePoint group for the site, give it Read permissions,
    and add that group to the library permissions. I informed the owner that he could check other libraries and lists and remove that group if there were things there that should not be accesible.
    I also warned him that if he were to put something confidential in, say, the announcements section, he would need to remove the group from that list as well if he didn't want the people to see that.
    So, the users now can see the results page, which is returned as a URL immediately under the site.
    There were a couple other work arounds that we could have tried - moving the shared library to its own subsite with different permissions than the parent site, or having the users use the enterprise search and to refine the results down to the specific library.
    Thank you for your question!.

  • How to create gamma (midtone) changes with help Pixel Bender?

    I'd like to create Level correction with help Pixel Bender. I made correction for each channel (r, g, b), it works. But I don't know how to make correction for midtone for each one.
    Is there some formula or example?
    Unfortunately google hasn't got solution
    I use the next code for each channel, for instance, the red channel will be look like
    dst.r = ((dst.r-red[0])/(red[1]-red[0])-rgb[1]-rgb[0]), where red[n], rgb[n] are the values which can be changed by user

    thanks for your reply! so, if i wanna change gamma for each channel separately i have to change your code so:
    dst.rgb = pow(dst.rgb, float3(red[1], green[1], blue[1])/gammaRGB)
    where red[1], green[1], blue[1] are the parameters of gamma
    i compared the result which i've got and it's different from photoshop's
    so, now my code looks like this
        parameter float3 red
        <
            minValue: float3(0.0,0.0,1.0);
            maxValue: float3(1.0,1.0,1.0);
            defaultValue: float3(0.0,1.0,1.0);
        >;
        parameter float3 green
        <
            minValue: float3(0.0,0.0,0.0);
            maxValue: float3(1.0,1.0,1.0);
            defaultValue: float3(0.0,1.0,1.0);
        >;
        parameter float3 blue
        <
            minValue: float3(0.0,0.0,0.0);
            maxValue: float3(1.0,1.0,1.0);
            defaultValue: float3(0.0,1.0,1.0);
        >;
        parameter float3 RGB
        <
            minValue: float3(0.0,0.0,0.0);
            maxValue: float3(1.0,1.0,1.0);
            defaultValue: float3(0.0,1.0, 1.0);
        >;
        input image4 src;
        output pixel4 dst;
        void
        evaluatePixel()
            pixel4 p = sampleNearest(src,outCoord());
            float rgbdiff = RGB[2] - RGB[0];
            p.r = ( (p.r - red[0])/(red[2] - red[0]) - RGB[0])/rgbdiff;
            p.g = ( (p.g - green[0])/(green[2] - green[0]) - RGB[0])/rgbdiff;
            p.b = ( (p.b - blue[0])/(blue[2] - blue[0]) - RGB[0])/rgbdiff;
            p.rgb = pow(p.rgb, float3(red[1], green[1], blue[1]) / RGB[1]);
            dst = p;
    upd: i tried to apply this filter again and it seems to me it works! Thank you very much for your correct answer. Maybe you know how to use photoshop's 'output panel', this parameter increases/decreases values of channel. Photoshop has this parameter in the bottom of level's panel.

  • How to identify what are all the errors appears in process chain,

    Hi all,
    i have a process chain running, but i want to find out what are all the errors that the process chain has thrown
    thanks
    pooja

    Hi Pooja,
    Errors in monitoring:
    SID error
    Reason: If the corresponding master data is missing for the particular transaction data.
             1. Check for the load timing for the respective master data, if it less than an hour  then make the request red and repeat the ip.
             2. If the data is loaded to PSA then you have to delete the request from target and manually push the data to from PSA.
             3. If we are required for selective update then note down the info source from header and find it in RSA1,select the one with ‘Single as postfix’.
             4. Goto ‘data selection’ tab and change the range.
    Tip: change the last 4 digits for from to ‘0000’and the last 4 digit for to     ‘9999’.
            5. Repeat the ip.
             6. In case only of failure in one target goto RSA1 find the PSA, put he request no. and reschedule it.
    Note: IF PSA is present never make the request red rather delete it.
    Replication error
    Reason: Data source replication Failed.
             1. In order to handle this error you should be known to IP, info source and source system.
             2. Goto RSA1, find the data source in the source sys tab.
             3. Right click on the data source and replicate it.
             4. Since all the transformation rules pertaining to this data source need to be reactivated so go to SE38 and execute rs_transtru_activat_all, data source and sys name.
             5. Delete the ‘red’ request from the target.
    Update R not supported
    Reason: The corresponding initialization flag for the ip is lost.
             1. Goto header click on the ip and goto schedule tab and click initialize in the source system, whatever screen appears delete the only request present(the initialization flag).
             2. Goto RSA1, find the ip in the info source (one with the Adhoc initialize flag).
             3. Goto update tab and select ‘Initialize delta process’ try going for ‘with data transfer’.
             4. Reschedule the IP.
    Duplicate Record Error
    Reason: Duplicate error records for the loaded master data.
             1. Goto info package via header or via RSA1.
             2. Goto ‘processing tab’ and change the ip setting, selecting only PSA and ignore duplicate records and re run the ip.
             3. Do remember to change the ip settings back to the original once after the second step.
    ODS activation failure
    Reason: Prerequisites for ODs activation not satisfied i.e. unique key.
             1. Goto ‘maintain variant’.
             2. Check for the ‘QM’ status of the requests in the target they should be green.
             3. Then click the ODS activation tab.
             4. In the screen which appears put the requests for which ODS activation failed.
             5. Activate these and keep on refreshing them until status reverts from green,
    Remember to refresh these requests one at a time.
             6. If requests are red then delete them from target.
             7. Reschedule the IP.
    Note: Never Try activating ODS manually if it is Y1.
    Aggregate Rollup error
    Reason: No aggregate found for the respective rollup.
             1. Click on the variant in which the error occurred.
             2. Goto chain tab and copy the variant and instance.
             3. Run the nestle provided program YBW05.
             4. Put in info in there and put the status as g – ‘green’.
             5. Execute and refresh the status.
    Lock issue
    Reason: The same ip is been locked by other user or may be used by other process chain.
             1. We can see the locked entries and in the transaction SM12.
             2. Wait for the other process to get complete once the ip loads to target in that process then there is no need for running it for the process.
             3. In other case make the request red, when PSA is present then goto environment tab ->schedule->initiate update.
             4. In the box appears select update in the background.
             5. And the manually update the failed IP’s by selecting manual update in the context menu.
    Alfa confirming value error, Time conversion error, Chain didn’t start, Delay due to long running job, Poor system performance,Heirarchy node exist in duplicate.
    Reasons:
      Alfa confirming error: Data format mismatch.
      Time conversion error: Date, time format mismatch.
      Chain didn’t start: A scheduled chain didn’t triggered at the prescribed timing.
    -For all the above error we have to raise a ticket.
    Idoc or TRFC error
    Reason: An Idoc is been stuck somewhere.
             1. Reload the Master Data manually again from Info-package at RSA1.
             2. Release the Idoc.
             3. In the source system level got environment->transaction->Transaction RFC or Data ware housing level.
             4. In the Screen if the status is ‘Transaction Recorded’ it means its stuck goto edit and click Execute LUW or press F6.
             5. If status is ‘Transaction executing’ then it means its fine wait.
             6. Or raise ticket.
    Error Due to short Dump
    Reason: Error due to Short dump could be due to many reasons i.e. memory, table space, lock, error record, page allocation, failed change run.
    Process terminated in the Source system.
               Reason: Sometimes we face that a load has failed due to job Termination at Source System.             
          This happens due to unavailability of the source system or some connectivity problem between source and target systems.
    1.      Make the request red.
    2.      Delete the request from the data target.
    3.      Reschedule the ip.
    4.      If still the job fails raise the ticket.
    And also check in following links:
    Process Chain Errors
    /people/mona.kapur/blog/2008/01/14/process-chain-errors
    Common Process chain errors
    For Data Load Errors check this blog:
    /people/siegfried.szameitat/blog/2005/07/28/data-load-errors--basic-checks
    Pls assign points if it helps u,
    Thanks & Regards,
    Madhu

  • How to identify the last changes made in the smartform ?

    Hi Form Experts,
    My smartform's General attribute shows that there is some change performed 2 months back, Which is not reflected in my production server.
    Could any one advice how to track the last performed changes in the system, I did not find version management for smartforms.
    Regards
    Prasath

    Hi,
    1.Go to smartforms->give formaneme>display>Utilities>Forminformation.
    2.Go to smartforms->give formaneme>display-->General attributes.
    Regards,
    If helpful reward with points(Don't forget).
    Edited by: shiva kumar on Apr 11, 2008 6:22 AM

  • What has changed with 1.0.1?

    I have looked at the iWeb section of apple.com and have not been able to find anything close to explaining what has been changed/fixed with the new release (1.0.1)
    Does anyone know if release notes are available anywhere?
    Or we to just assume by trial and error what has been changed/fixed?
    Thanks all

    Apple's release notes are very meagre. They just say:iWeb 1.0.1 update addresses issues related to publishing, blogs and other issues.
    These include:
    Page names and numbering
    .Mac slideshow image loading
    Photocast icon and Photocast URL
    Movie preview
    In my experience so far, the following are noticeable:
    It's now sufficient to use http://web.mac.com/membername to access your iWeb site.
    Uploading to .Mac is quicker. Login doesn't take as long, uploading begins sooner, uploading is more intelligent in terms of being really limited to changed pages only.
    Thumbnails on Photo pages are now in JPG format rather than PNG. Smaller files, quicker load times.

  • How to find (tabs) and change with nothing? (delete tabs)

    OK, I have a huge document on 1730 pages and all indents are made manually with the "tab" button.
    I want to delete these and instead replace with a Paragraph Style that has the First Line Indent set (to 3 mm).
    Before, in InDesign CS2, I could (in the find/change window) type "^t" in Find and leave the Change to empty.
    When I then clicked change, the "tab" was deleted and replaced with nothing. And the Paragraph Style was changed as well.
    Now, in CS3, this dosen't happen. When I press change, the "tap" space is still there.
    What to do?

    Solved, here's the solution
    tell application "Adobe InDesign CS4"
    set find text preferences to nothing
    set change text preferences to nothing
    set find what of find text preferences to "Chapter 1"
    set applied paragraph style of change text preferences to "B-Header"
    set myFoundItems to change text
    set find text preferences to nothing
    set change text preferences to nothing
    end tell

  • How to identify what role was deleted in SUIM report ?

    Dear all,
    Whenever a role is deleted, in SUIM --> change document of a user, it only shows the profile name, based on the profile name we can't figure out what role was it.
    Any solution for this ?
    Your advice and comment will be appreciated.
    Thanks.
    Regards,
    Kent

    Hi,
    It is possible to see who and when the role is deleted...
    Here are the steps for the same.
    1. Start SUIM
    2. Go to Change Document --> For Roles
    3. Enter Role name (for example Z*), Enter Username (Changed by), Date, Time (From and To)
    4. Select "Create and Delete Roles" in Change Documents.
    5. Execute.
    You will see the report who and when the Role is deleted.
    Regards.
    Rajesh Narkhede

  • How to identify what customer exit variables are used in which query?

    Hi all,
    When i happened to check the CMOD transaction code i can find a list of customer exits are used. But i want to know what are those customer exist are used in which query? can anyone let me know the procedure of identifying it.
    Thanks a lot
    Pooja

    hii pooja
    check the foll links
    Very Urgent: Customer Exit Variable
    customer exit variable
    MIssing Authorisation for customer exit variable query
    Authorization variable or customer exit variables
    if it is helpful assign points
    thanks.

Maybe you are looking for