How can I reimplement a standar BADI?

I need to do this:
The error reported occurs from a BAdI: 'BADI_CONTRACTPARTRNER_DETAIL'
under the Enhancement spot: 'ES_BCA_DIM_LOANS_RFC'.
This has an implementation class:CL_BADI_CONTPARTRNER_DTL_IMPL and
method: IF_BADI_CONTRTPARTRNER_DETAIL~FILL_CTRACPARTNERDETAIL.
Line No.18 defines a constant for company code and company code group
with a default value 'F100' and this is only a sample standard value.
Line No.70 and Line No.71 assigns this value to the fields:
'comp_code' and 'standard_comp_code'.
And as described under the comments in Line no.9, the values assigned
here are incorrect with respect to the customizing available in your
FICAx system DEV/300.
And here are the possible solutions to correct this error:
1. Reimplement the BAdI with the appropriate values as per DEV/300.
And the values for the field as from the customizing in system DEV is:
'comp_code' = 'FICA'
'standard_comp_code' = 'COOP'
I tried to debug the TRFC blocked in SM58 and tried to change these
values on debugger and the replication went through successfully.
How can I do it?

Hi,
   You can call a method of a class from BADI. Here are the steps.
   1) In the BADI implementation create a object for the proxy class.
   2) Call the Execute_Synchronous method.
    You can define a BADI by using SE18 and you can implement it by using SE19.
Sample code...
================================================
  METHOD ZIF_EX_VBADI~CONVERTUPPER.
  DATA: OBJ TYPE REF TO ZTESTCLASS.
  DATA: IT_DATA  TYPE ZIN_MT,
            IT_RES   TYPE ZOUT_MT,
            SEXCEPTION TYPE REF TO CX_AI_SYSTEM_FAULT.
  TRY.
      CREATE OBJECT OBJ
         EXPORTING
             LOGICAL_PORT_NAME = 'TESTPORT'.
  CATCH CX_AI_SYSTEM_FAULT INTO SEXCEPTION.
  ENDTRY.
ENDMETHOD.
================================================
Thanks,
Vivek LR

Similar Messages

  • How can i find the exact BADI For a Particular Transaction

    hi ppl,
    How can i find the exact BADI For a Particular Transaction. Is there any Standard transaction or Programs to do this or suggest some other way.

    Use this code:
    *& Report  ZGET_BADI
    REPORT  ZGET_BADI.
    TABLES : TSTC,
    TADIR,
    MODSAPT,
    MODACT,
    TRDIR,
    TFDIR,
    ENLFDIR,
    SXS_ATTRT ,
    TSTCT.
    DATA : JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.
    DATA : FIELD1(30).
    DATA : V_DEVCLASS LIKE TADIR-DEVCLASS.
    PARAMETERS : P_TCODE LIKE TSTC-TCODE,
    P_PGMNA LIKE TSTC-PGMNA .
    DATA wa_tadir type tadir.
    START-OF-SELECTION.
    IF NOT P_TCODE IS INITIAL.
    SELECT SINGLE * FROM TSTC WHERE TCODE EQ P_TCODE.
    ELSEIF NOT P_PGMNA IS INITIAL.
    TSTC-PGMNA = P_PGMNA.
    ENDIF.
    IF SY-SUBRC EQ 0.
    SELECT SINGLE * FROM TADIR
    WHERE PGMID = 'R3TR'
    AND OBJECT = 'PROG'
    AND OBJ_NAME = TSTC-PGMNA.
    MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
    IF SY-SUBRC NE 0.
    SELECT SINGLE * FROM TRDIR
    WHERE NAME = TSTC-PGMNA.
    IF TRDIR-SUBC EQ 'F'.
    SELECT SINGLE * FROM TFDIR
    WHERE PNAME = TSTC-PGMNA.
    SELECT SINGLE * FROM ENLFDIR
    WHERE FUNCNAME = TFDIR-FUNCNAME.
    SELECT SINGLE * FROM TADIR
    WHERE PGMID = 'R3TR'
    AND OBJECT = 'FUGR'
    AND OBJ_NAME EQ ENLFDIR-AREA.
    MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
    ENDIF.
    ENDIF.
    SELECT * FROM TADIR INTO TABLE JTAB
    WHERE PGMID = 'R3TR'
    AND OBJECT in ('SMOD', 'SXSD')
    AND DEVCLASS = V_DEVCLASS.
    SELECT SINGLE * FROM TSTCT
    WHERE SPRSL EQ SY-LANGU
    AND TCODE EQ P_TCODE.
    FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
    WRITE:/(19) 'Transaction Code - ',
    20(20) P_TCODE,
    45(50) TSTCT-TTEXT.
    SKIP.
    IF NOT JTAB[] IS INITIAL.
    WRITE:/(105) SY-ULINE.
    FORMAT COLOR COL_HEADING INTENSIFIED ON.
    *Sorting the internal Table
    sort jtab by OBJECT.
    data : wf_txt(60) type c,
    wf_smod type i ,
    wf_badi type i ,
    wf_object2(30) type C.
    clear : wf_smod, wf_badi , wf_object2.
    *Get the total SMOD.
    LOOP AT JTAB into wa_tadir.
    at first.
    FORMAT COLOR COL_HEADING INTENSIFIED ON.
    WRITE:/1 SY-VLINE,
    2 'Enhancement/ Business Add-in',
    41 SY-VLINE ,
    42 'Description',
    105 SY-VLINE.
    WRITE:/(105) SY-ULINE.
    endat.
    clear wf_txt.
    at new object.
    if wa_tadir-object = 'SMOD'.
    wf_object2 = 'Enhancement' .
    elseif wa_tadir-object = 'SXSD'.
    wf_object2 = ' Business Add-in'.
    endif.
    FORMAT COLOR COL_GROUP INTENSIFIED ON.
    WRITE:/1 SY-VLINE,
    2 wf_object2,
    105 SY-VLINE.
    endat.
    case wa_tadir-object.
    when 'SMOD'.
    wf_smod = wf_smod + 1.
    SELECT SINGLE MODTEXT into wf_txt
    FROM MODSAPT
    WHERE SPRSL = SY-LANGU
    AND NAME = wa_tadir-OBJ_NAME.
    FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
    when 'SXSD'.
    *For BADis
    wf_badi = wf_badi + 1 .
    select single TEXT into wf_txt
    from SXS_ATTRT
    where sprsl = sy-langu
    and EXIT_NAME = wa_tadir-OBJ_NAME.
    FORMAT COLOR COL_NORMAL INTENSIFIED ON.
    endcase.
    WRITE:/1 SY-VLINE,
    2 wa_tadir-OBJ_NAME hotspot on,
    41 SY-VLINE ,
    42 wf_txt,
    105 SY-VLINE.
    AT END OF object.
    write : /(105) sy-ULINE.
    ENDAT.
    ENDLOOP.
    WRITE:/(105) SY-ULINE.
    SKIP.
    FORMAT COLOR COL_TOTAL INTENSIFIED ON.
    WRITE:/ 'No.of Exits:' , wf_smod.
    WRITE:/ 'No.of BADis:' , wf_badi.
    ELSE.
    FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
    WRITE:/(105) 'No userexits or BADis exist'.
    ENDIF.
    ELSE.
    FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
    WRITE:/(105) 'Transaction does not exist'.
    ENDIF.
    AT LINE-SELECTION.
    data : wf_object type tadir-object.
    clear wf_object.
    GET CURSOR FIELD FIELD1.
    CHECK FIELD1(8) EQ 'WA_TADIR'.
    read table jtab with key obj_name = sy-lisel+1(20).
    move jtab-object to wf_object.
    case wf_object.
    when 'SMOD'.
    SET PARAMETER ID 'MON' FIELD SY-LISEL+1(10).
    CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
    when 'SXSD'.
    SET PARAMETER ID 'EXN' FIELD SY-LISEL+1(20).
    CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN.
    endcase.
    Regards
    Vinayak

  • How can i implement deductible payable badi?

    Hi friends,
    how can i implement deductible payable badi in MM?
    please help me
    thanks

    Hi Boss,
    First findout the BADI using SE80 (with package)t.code or tother wise Use SPRO-sap img reference with this you can findout the BADI
    after that you can implement the badi in SE19 only.
    Best Regards,
    Narasimha Rao.

  • How Can I debug into  a BADI?

    I m not able to debug into a BADI, though I tried putting a break point in the include for the BADI as well as tried using
    break-point 'MYUSERID'.
    It still doesnt work

    break user  will work . But are you sure that you have implemented correct BADI and it gets triggered in that transaction.
    Sometimes it is not so easy to find a BADI method or user exit to implement at an exact momment of the execution of a program. Here is one of the ways that can be used to spot which BADI method or user exit should be implemented.
    1. Enter SE24;
    2. Enter the class name CL_EXITHANDLER;
    3. Double-click the method GET_INSTANCE;
    5. Set a break-point at command line CASE sy-subrc (near line 27);
    6. Execute the transaction you want to analyse; It will stop at the break-point you have just set on class CL_EXITHANDLER when it finds any BADI method/Exit call.
    7. On debug screen, type the field name exit_name. This field contains the BADI method/Exit name which is being called in the program on that momment.
    8. Press F8 to see the next calls.
    G@urav.

  • How can I rescue data from bad hard drive

    My imac stop working last night. The imac goes to the apple logo and then it shut itself. I had ubuntu on my other partition, so when there and I was able to see the Macintosh HD. I called Apple care and they asked me to do a repair disk from my installing DVD, but I was getting repair failed. After couple of time he told me that the only way to fix this is by installing from the beginning, like erasing everything. I had a back from last year and I had some picture that I hadn't backup. So, I decide to buy an hard drive. When I came back, I when to ubuntu and I was still able to see the Macintosh HD. I was having problem on ubuntu, so I decide to reboot and then I didn't have neither Mac partition nor Ubuntu. I insert the leopard dvd and when I check my hard drive on disk utility, I don't see any partition. I would like to know if there is a way to recover the data that I had on my mac partition. By the way everything happen after I upgraded Safary.

    Hi
    If you can't access the drive using the normal methods (DU) you might be struggling? You could have a go and use something like Data Rescue:
    http://www.prosofteng.com/
    As long as the drive is spinning you might stand a chance? If you can physically hear the drive whirring/clicking or making cricket/scratching like noises or a slight hum when its powered up you might be wasting your time?
    If the drive sounds 'normal' you might want to try:
    http://www.alsoft.com/
    If you were so inclined and able you could set up your own highly controlled and engineered environment. Physically take the drive apart and try to read the platters themselves. You would need specialized software (expensive) or you could develop something suitable yourself.
    Tony

  • How can I fix "gradient file bad or corrupt" in elements 12

    When I start elements 12 a notice comes up that says "the gradient file bad or corrupt".  If I click ok the program finishes loading but will not open any existing files, it says they are not valid adobe files, even though they were created in elements 12.  I have uninstalled and re installed the entire program, but the message still comes up.

    Reset the gradient tool or all tools.Look for a box with lines in it on the tool's option bar. Click & reset..
    If that does not fix it, suggest that you reset preferences via Edit>Preferences>General. Reset and relaunch.

  • How can we find when the badi is fired

    hi to all experts,
    there is badi IWO1_PREQ_BADI it is for tcode iw32 when run the transaction code and put a break point in the badi doesnt get fired at all

    Hello
    Assuming that you have an active implementation of your BAdI (SE19; implementing class generated) then I believe you are looking at the wrong transaction. Looking at the interface methods
    DECISION_COLL_PREQ     Decide on Collective Purch. Req. Item or New Purch. Req.
    DETERMINE_DATE_FOR_SERVICE     Determination of Date for Pricing
    and the description of the BAdI ( BAdI for Manipulation of P.Reqs from Orders & Networks ) they are talking about purchase requisitions and not (PM) orders.
    Regards
      Uwe

  • How can a spellchecker be so bad?

    These are the suggestions for the word "particpant's":
    particulate's
    prototypical's
    predicting's
    par tic pant's

    To elaborate on what Michael posted, Adobe licenses Franklin's Proximity Technology ( http://www.proximitytechnology.com/index.htm ) products for all of its linguistic requirements.
    Running your word through the current Proximity on-line spell-checker demo yields:
    List of unknown words and suggestions:
    particpant's  [1]
    par tic pant's, participant's, participate's, particulate's, participants's, participates's
    Complaints or improvement suggestions can be made through this form:
    https://www.adobe.com/cfusion/mmform/index.cfm?name=wishform&product=63
    [Edit: dang HTML keeps messing up pasted content...]

  • How can I make a simple 1D array filter.

    When I aquire my data I get a 1D array with anywhere from 10 - 30 data points. There are always ten good data points the rest are noise or false triggeres. a good data point is in the range of .1-.2 a bad point is .001-.01 how can I filter out thse bad points? Im using labview 8.6. also I think this program will work if it could be backconverted from 9 to 8.6.
    Attachments:
    InRange[1].vi ‏11 KB

    Dan K wrote: 1 - get "array size" and connect that to the N of the for loop.
    2 - "index array" so you can compare values one at a time.
    3 - "in range and coerce" - (note: you need to wire values above and below the orange line shown for the range you'd like)
    4 - case structure: if "in range" is true, then take the value and put it into a new array (this new array only has the good values you want) (false case is blank)
     NOOOOOO!!!!
    Step 1 and 2 are not necessary. Simply autoindex the original array at the loop boundary. Voila!
    (an "index array" with the index wired to [i] is never needed. Autoindexing does the same thing and automatically determines the number of iteration, eliminating step 1). 
    The second array is not initialized, meaning it will grow without bounds of you run the VI many times. Every time the loop runs, the array is resized, requiring a new buffer allocation. The original code is much better, because it preallocates the output array, replaces elements, then strips the extra length at the end. For large datasets, the original code will be orders of magnitude faster.
    LabVIEW Champion . Do more with less code and in less time .

  • How can I validate a date using sql

    How can I validate a date using sql or pl/sql
    select to_date('01/01/2009','mm/dd/yyyy') from dual this is a good date
    but how can I check for a bad date
    select to_date('0a/01/2009','mm/dd/yyyy') from dual
    Howard

    William Robertson wrote:
    It'll be complicated in pure SQL, as you'll have to parse out day, month and year and then validate the day against the month and year bearing in mind the rules for leap years. It would be simpler to write a PL/SQL function and call that.Nah, not that complicated, you just need to generate a calender to validate against.
    SQL> ed
    Wrote file afiedt.buf
      1  with yrs as (select rownum-1 as yr from dual connect by rownum <= 100)
      2      ,mnth as (select rownum as mn, case when rownum in (4,6,9,11) then 30
      3                            when rownum = 2 then 28
      4                       else 31
      5                       end as dy
      6                from dual
      7                connect by rownum <= 12)
      8      ,cent as (select (rownum-1) as cen from dual connect by rownum <= 21)
      9      ,cal as (select cen, yr, mn,
    10                      case when ((yr = 0 and mod(cen,400) = 0)
    11                             or (mod(yr,4) = 0 and yr > 0))
    12                            and mn = 2 then dy+1
    13                      else dy
    14                      end as dy
    15               from cent, yrs, mnth)
    16  --
    17      ,dt as (select '&date_dd_mm_yyyy' as dt from dual)
    18  --
    19  select case when cal.cen is null then 'Invalid Date'
    20              when not regexp_like(dt,'^[0-9]{1,2}[\/.-_][0-9]{1,2}[\/.-_][0-9]{4}$') then 'Invalid Date'
    21         else dt
    22         end as dt
    23  from dt left outer join
    24               cal on (to_number(regexp_substr(dt,'[0-9]+')) between 1 and cal.dy
    25                   and to_number(regexp_substr(dt,'[0-9]+',1,2)) = cal.mn
    26                   and floor(to_number(regexp_substr(dt,'[0-9]+',1,3))/100) = cal.cen
    27*                  and to_number(substr(regexp_substr(dt,'[0-9]+',1,3),-2)) = cal.yr)
    SQL> /
    Enter value for date_dd_mm_yyyy: a1/02/2008
    old  17:     ,dt as (select '&date_dd_mm_yyyy' as dt from dual)
    new  17:     ,dt as (select 'a1/02/2008' as dt from dual)
    DT
    Invalid Date
    SQL> /
    Enter value for date_dd_mm_yyyy: 01/02/2008
    old  17:     ,dt as (select '&date_dd_mm_yyyy' as dt from dual)
    new  17:     ,dt as (select '01/02/2008' as dt from dual)
    DT
    01/02/2008
    SQL> /
    Enter value for date_dd_mm_yyyy: 29/02/2008
    old  17:     ,dt as (select '&date_dd_mm_yyyy' as dt from dual)
    new  17:     ,dt as (select '29/02/2008' as dt from dual)
    DT
    29/02/2008
    SQL> /
    Enter value for date_dd_mm_yyyy: 30/02/2008
    old  17:     ,dt as (select '&date_dd_mm_yyyy' as dt from dual)
    new  17:     ,dt as (select '30/02/2008' as dt from dual)
    DT
    Invalid Date
    SQL> /
    Enter value for date_dd_mm_yyyy: 29/02/2009
    old  17:     ,dt as (select '&date_dd_mm_yyyy' as dt from dual)
    new  17:     ,dt as (select '29/02/2009' as dt from dual)
    DT
    Invalid Date
    SQL> /
    Enter value for date_dd_mm_yyyy: 28/02/2009
    old  17:     ,dt as (select '&date_dd_mm_yyyy' as dt from dual)
    new  17:     ,dt as (select '28/02/2009' as dt from dual)
    DT
    28/02/2009
    SQL> /
    Enter value for date_dd_mm_yyyy: 0a/01/2009
    old  17:     ,dt as (select '&date_dd_mm_yyyy' as dt from dual)
    new  17:     ,dt as (select '0a/01/2009' as dt from dual)
    DT
    Invalid Date
    SQL> /
    Enter value for date_dd_mm_yyyy: 00/01/2009
    old  17:     ,dt as (select '&date_dd_mm_yyyy' as dt from dual)
    new  17:     ,dt as (select '00/01/2009' as dt from dual)
    DT
    Invalid Date
    SQL>

  • How can I use a bad IMEI AT&T iphone 5 with straight talk ?

    Someone sold me a bad IMEI AT&amp;T iphone 5. I had an AT&amp;T iphone 4 with straight talk prior to buying this phone. I didn't know the IMEI was bad so I bought the iphone 5 hoping to switch. I cut my SIM card and put it into the iphone 5. Everything worked perfectly fine so I went ahead and gave the dude the money. I went to sleep and wake up the next day and try to make a call and I get a message saying my phone has been blocked from the network. I contacted straight talk and they thought it was a problem of theirs so somehow they got my phone to work again. Everything was good , calls, texts , and data. 2 hours later, the same problem happens. So I call straight talk again , tell them the problem. They fix It again, 2 hours later , THE SAME PROBLEM. I gave up this time and began looking for answers. Is there any way I can use this iphone 5 with straight talk ? There was a comment I saw through my search for answers where if I get another straight talk sim everything would work again. Is this true? How can I use a bad IMEI AT&amp;T iphone 5 with straight talk ?

    If that IMEI has been blacklisted by AT&T, then it is blacklisted by all USA carriers, as well as several participating Canadian and Mexican carriers.
    As of 31 October 2012, USA Cellular Providers are sharing a common IMEI/ESN database to ensure that phones blacklisted on one carrier can't be activated on another carrier.  AT&T and T-Mobile are also participating members of the GSM-networks global shared blacklists.

  • How can we trigger error message in BADI PARTNER_UPDATE

    Hi All,
    I have implemented a BADI PARTNER_UPDATE. In this I have validation ( Error Message ) on saving buisness partner.
    It is giving the error message but it freeze all the fields. On pressing enter it goes for short dump.
    In short dump it gives error The COMMIT WORK processing must not be interrupted.
    Kindly suggest me that how can we pass error message and it also does not freeze the fields.
    Regards,
    Narendra Goyal

    Hi Narendra,
                          How are you trying to display message.
    Is it using message service class instance of message statement (which should not be used, as that is for GUI messages) or using collect FM or by adding to genil message class container.
      Please try different approaches and see what works for you.
    Thanks,
    Rohit

  • Hi. I habe one old ID and now i have one new ID. The old one is bad , because the Email not working. But i hav a lot of Apps and i want to copy this apps in my new ID. How can i do this?

    Hi. I habe one old ID and now i have one new ID. The old one is bad , because the Email not working. But i hav a lot of Apps and i want to copy this apps in my new ID. How can i do this?

    You don't. Apps are permanently tied to the ID used to purchase them. Instead of creating a new ID, change the primary email address on your existing ID.

  • HT201272 Having a bad day my iTunes library got corrupted and my back up disk has failed how can I restore my purchases from the iTunes store

    Having a bad day my iTunes library got corrupted and my back up disk has failed how can I restore my purchases from the iTunes store? When I try it tells me the pruchases have already been downloaded to this computer.

    Does your purchased rmusic appears under the Purchased link under Quicklinks on the right-hand side of the iTunes store home page (music can't be re-downloaded in all countries) ? If they do and you don't have the cloud symbol against them so as to re-download them, then do you still have the entries for them in your library i.e. where you would normally click on them to play them ? If you do then try deleting them from there (iTunes will be seeing them and assuming that you still have them somewhere) and they should then get the cloud symbol for re-downloading in the Purchased link.
    If you aren't in a country where music can be re-downloaded then you could try contacting iTunes support and see if they will grant you a re-download : http://www.apple.com/support/itunes/contact/ - click on Contact iTunes Store Support on the right-hand side of the page,

  • How can we take the cursor to a different sub-screen from the BADI?

    Hi,
    We have to do some validation on Header, Operation and Relationship of any work order (IW31, IW32). We have checked that validations can be done at BADI WORKORDER_UPDATE in the method u2018AT_SAVEu2019.  But user wants us to take the Cursor back to the field and screen due to which the error is coming. How can we take the cursor to a different sub-screen from the BADI?
    Thanks in Advance,
    Pranav

    You 'ran out of room' because you tried to put your entire question into what is the 'Topic line' of the post.
    This is a fairly common error, as a scan of the topic list will show, and likely due to a design flaw in the layout of the composition page.
    Most posters who make this error do so on their first post, and are able to avoid a similar misstep on their second and subsequent questions.
    Regards,
    Barry

Maybe you are looking for

  • IDOC- XI - 3 files

    Hi I have a Inbound to SAP scenario IDOC-XI- 3files, Out of these three files 2 has same structure and the remaining one has different structure. Is it possible to acheive, can anyone tell me the step to acheive the same. Regards Rinku

  • Security: Read-only for USB and FireWire

    Is there a way to secure the external data ports on a Mac so you can't write to a USB and/or FireWire drive? Obviously we need the SATA / InternalHD to be regular read/write. I've swapped out the optical drive so it is a read-only device, but it woul

  • Flymodus missing in new Android 5.0 on Xperia Z2

    I just uploaded the Android 5.0 version to my Xperia Z2 and now I am unable to choose flymodus. I did not expect that when uploading a new version. And I need my flymodus. What to do?

  • UPGRADE to OS x 10.6   STOP !!!  READ !!! THINK !!!  DO YOU HAVE THE TIME??

    1.) Paralles complained during install and does not work. 2.) Permissions scrambled. Unable to access files or save on a LOT of programs! 3.) Apple Aperture 1.5.6 does not work. Now what to do? More money? Upgrade to Photoshop? Message > You can't us

  • Numbers and Open Office

    I downloaded Open Office onto my Mac. I had spreadsheets named Timesheets already in Numbers for prior years and I started a spreadsheet in Open Office for 2010 named Timesheets. It appears that my previous timesheets in Numbers (going back a few yea