Bad documentation on HelloWorldSwing?

Hi,
Scrupulously following the instructions on my first Swing program, I got a dozen errors and no Swing. Googling my exact error message, I found numerous others hitting the same obstacle.
// Just to make sure I had the right compiler:
C:\bin\java\helloWorldSwing>"C:\Program Files\Java\jdk1.6.0_06\bin/javac.exe" HelloWorldSwing.java
results in:
C:\bin\java\helloWorldSwing>"C:\Program Files\Java\jdk1.6.0_06\bin/java.exe" -cp . HelloWorldSwing
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldSwing (wron
g name: start/HelloWorldSwing)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
Here's what the compiler created.
C:\bin\java\helloWorldSwing>echo off
total 3
drwxr-xr-x 2 1003 everyone 0 Jul 4 12:58 .
drwxr-xr-x 7 1003 everyone 0 Jul 4 11:19 ..
-rw-r--r-- 1 1003 everyone 427 Jul 4 12:58 HelloWorldSwing$1.class
-rw-r--r-- 1 1003 everyone 958 Jul 4 12:58 HelloWorldSwing.class
-rw-r--r-- 1 1003 everyone 1088 Jul 4 12:58 HelloWorldSwing.java
The first problem I had was uncle bill stealing the "java" command from windows/system32/java.exe so I moved Sun higher up in my $PATH env var. Still, not a solution.
Here is a Find CoMmanD on anything java:
C:\bin\java\helloWorldSwing>fcmd.pl java
C:\Program Files\Java\jdk1.6.0_06\bin/java-rmi.exe
C:\Program Files\Java\jdk1.6.0_06\bin/java.exe
C:\Program Files\Java\jdk1.6.0_06\bin/javac.exe
C:\Program Files\Java\jdk1.6.0_06\bin/javadoc.exe
C:\Program Files\Java\jdk1.6.0_06\bin/javah.exe
C:\Program Files\Java\jdk1.6.0_06\bin/javap.exe
C:\Program Files\Java\jdk1.6.0_06\bin/javaw.exe
C:\Program Files\Java\jdk1.6.0_06\bin/javaws.exe
C:\WINDOWS\system32/java.exe
C:\WINDOWS\system32/javaw.exe
C:\WINDOWS\system32/javaws.exe
So, Sun's latest and greatest JDK is being found first.
And, my class path starts with the PWD:
C:\bin\java\helloWorldSwing>env | grep -i class
CLASSPATH=.;C:\Program Files\Java\jre1.6.0_06\lib
I seem to be using the right Java version:
C:\bin\java\helloWorldSwing>java -version
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)
I have done everything in the cookbook instructions for rank amateurs and it still doesn't run.
One thread said that javac would put the compiled class path in start/HelloWorldSwing.class. It didn't. It's in the same directory as the .java file.
To get the thing to finally run, I simply commented out the package directive: //package start;
Now, this works:
C:\bin\java\helloWorldSwing>java HelloWorldSwing
Results in a cute, little application popping up! He Ha!
Is the Swing tutorial at http://java.sun.com/docs/books/tutorial/uiswing/start/compile.html wrong or am I just too stupid to follow the directions?
Quoting Sun:
javac HelloWorldSwing.java
Run the Program
After you compile the program successfully, you can run it. For example:
java HelloWorldSwing
No Workie?!

Yawmark,
From the FAQ listed, this error comes from having these env vars set wrong:
For the Solaris[tm] Operating Environment
set PATH=${PATH}:/usr/java/bin
set CLASSPATH=.:/usr/java/lib/ Mine appear to be set correctly:
C:\bin\java\helloWorldSwing>env | grep "^PATH="
PATH=/bin:/Perl/bin:/perl/cygwin:/program files/imagemagick-6.3.2-q16:*/Program Files/Java/jdk1.6.0_06/bin*:/WINDOWS/system32: <snip>
Finding java.exe and javac confirms that the newest Sun binaries are found first (before the evil ones):
C:\bin\java\helloWorldSwing>fcmd.pl java.exe javac
C:\Program Files\Java\jdk1.6.0_06\bin/java.exe
C:\Program Files\Java\jdk1.6.0_06\bin/javac.exe
C:\WINDOWS\system32/java.exe
C:\bin\java\helloWorldSwing>env | grep "^CLASSPATH="
CLASSPATH=.;C:\Program Files\Java\jre1.6.0_06\lib
It appears that if you use a PACKAGE directive, you also need to use a "-d" javac directive in order for the runtime to not get confused. Please correct me if I am wrong.
Thank you,
BrianP

Similar Messages

  • Dynamic region bugs and bad documentation

    I cannot get the second taskflow to behave correctly in a dynamic region.
    Here's my scenario:
    In the pursuit of resusablilty, I have two taskflows that are coming from ADF Library Jars into a master application.
    Both taskflows have their own associated application modules, which appear as data controls in the master project.
    Following the instructions in the Fusion Developers guide, I create a dynamic region and dynamic links.
    After swapping to the second task flow, when I click on a different table, I get an error that a target is unreachable:
    Target Unreachable, 'RoleId' returned null
    For more information, please see the server's error log for an entry
    beginning with: Server Exception during PPR, #1{code}
    I posted the problem originally under this thread: [dynamic region errors
    and got a response that I didn't understand -- both taskflows have data-control-scope = shared.
    In contrast to the problem using a dynamic region, if I build a different page in the master application and use each taskflow as *separate* regions (via a tabbed panel), they work fine.
    So it doesn't seem there is anything wrong with the taskflows per se, but rather something in the dynamic region switching mechanism that is broken.
    I'd appreciate hearing from anyone who has had similar problems or anyone who knows of a solution.
    In exasperation, lili5058
    UPDATE
    Sorry for the earlier rant. I figured out the reason for the odd behavior and it has to do with the code generated by the wizard. This code isn't so much wrong as it is short-sighted. Here's the code generated for the managed bean by the wizards for creating a dynamic region and dynamic link that is put into *backingBeanScope*:
    {code:java}package view.beans;
    public class DynamicRegionBean {
    private String taskFlowId = "/WEB-INF/taskflow1.xml#first-taskflow";
    public DynamicRegionBean() {
    public TaskFlowId getDynamicTaskFlowId() {
    return TaskFlowId.parse(taskFlowId);
    public String firstTaskflowtaskflow() {
    taskFlowId = "/WEB-INF/taskflow1.xml#first-taskflow
    return null;
    public String secondTaskflowtaskflow() {
    taskFlowId = "/WEB-INF/taskflow2.xml#second-taskflow";
    return null;
    }{code}
    The user is taken to the second task flow by clicking the link that executes the secondTaskflowtaskflow() handler, however, any subsequent requests take the user back to the first taskflow, i.e., the one assigned to the private instance variable, since that's how the wizard wrote the code. This explains why the table on the second taskflow displayed "Fetching Data . . .". The table's content delivery was set to lazy, so when the browser issued the AJAX request to get the data for the table, the task flow switched back to the first one and thus making the data unavailable. Changing the the content delivery attribute value to immediate, brings up the data initially, but any subsequent work on that taskflow routed the user right back to the first taskflow.
    I ended up fixing the problem by adding the TaskFlowId (data type) to the pageFlowScope map, so it would be remembered across requests until the user deliberately requests a different taskflow.
    Edited by: lili5058 on Feb 7, 2009 12:56 PM
    Edited by: lili5058 on Feb 7, 2009 5:06 PM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    Hi,
    chances are you are hitting a bug. But this is hard to say from here. If you want, we can further track the issue down. I suggest you exclude the use of ADF libraries and verify that the scenario works if the two taskflows work in the mentioned scenario of they are both defined in the project itself. If this works then it seems like a bug that should be filed. Can you verify this ?
    Frank

  • BADI MB_MIGO_BADI not updating custom field in MSEG Table

    Dear Experts,
    I am working on screen exit In MIGO transaction for transfer Posting.
    I checked that BADI MB_MIGO_BADI having facility for screen exit and method line_modify having facility to change GOITEM Structure for the changed line item.
    Now, to make this functionality work I have enhanced include structure CI_COBL which is available in both mseg table and goitem structure, now I have this customized fields on my custome tab through the enhancement and also to update this value 2 custom fields created in goitem structure and MSEG table through include structure  CI_COBL.
    Here my question is at the time of transfer posing creation in MIGO when I am passing the value in custom fields through screen and assigning it to custom fields of structure GOITEM through LINE_MODIFY method, it is giving me below worning message
    BADI: Field GOITEM-ZZIDNLF is not ready for input. (Change is not taken over)
    Now I have debuged the code, also checkout many threads and came to know that because of few checks in standred program (iNCLUDE:LMIGOKL3) these fields will not be updated WHERE IT always checks whether these fields are ready for input or not and if not ready then instead of assigning the values it throws worning message.
    Now can you please through some light how can I go ahead as I have check out many threads and also tried to change value of cs_goitem structure using field symbol but throughing dump that it is blocked against changes through field symbol.
    The helpful answers will be highly appriciated.

    Hi,
    In the badi mentioned by you GOITEM is the importing parameters & if the relevant field is not used in any MIGO screen you cannot change the data.
    Please check example BADI interface: IF_EX_MB_MIGO_BADI~LINE_MODIFY
    Please check the BADI documentation:
    Changed data in GOITEM is only adopted if the relevant fields are visible and ready for input.
    Changed data in GOITEM is not adopted if the relevant field is not used in any MIGO screen (warning via MIGO 049).
    Changed data in GOITEM is not adopted if the relevant fields are not ready for input (warning via MIGO 050)
    Thanks and Regards,
    Chandra

  • Need help in work order save BADI and create BAPI

    hi expert
    Our issues are below list
    1. When release and save the work order ,the standard BADI(WORKORDER_UPDATE) have not the parameters about service information . (for this issue , chunfai had give a solution ,we are testing it )
    2. When we create work order by BAPI(BAPI_ALM_ORDER_MAINTAIN), the BAPI canu2019t provide the parameters about service information .we canu2019t create WO including service data.
    3. When we update work order by BAPI(BAPI_ALM_ORDER_MAINTAIN), the BAPI canu2019t provide the parameter about service information . we canu2019t update WO including service data.
    could anyone can provide some suggestion for above question ? thanks for a lot

    Please check BADI IBAPI_ALM_ORD_MODIFY its method has a parametrs CT_HEADER_SRV and CT_HEADER_SRV_UP you can pass your data here...
    Lets say this BAPI you are calling in custom program than if you donot see any parametrs where service data can be passed then you can export the data before calling bapi and import in this badi implementation and complete your task..
    Please check BAPI and BADI documentation for more details
    Even  BAPi has these two parameters.
    Nabheet
    Edited by: nabheetmadan09 on Jan 11, 2012 2:08 PM

  • XMSEG in MB1B with BADI before_update....

    Greetings guys,
    My problem is how can i delete a row of table xmseg with fields symbols. I am working this problem in a implementation of badi MM_document_badi (...before_update).
    Thanks.

    Hi Ester,
    Please check the BADI documentation which says :
    "Note that no system messages may be sent in the methods. The only exception is the AT_SAVE method. Within this method, a system message may be issued, but only if you trigger the exception ERROR_WITH_MESSAGE at the same time."
    So reading this , I feel that you need to code in the AT_SAVE method to display the error messages.
    Cheers,
    Disha

  • Screen enhancement using BADI not workingin background for program RFRECPSFA520

    Hi Gurus,
    I implimented the badi BADI_RECP_SF (Enhancement spot BADI_RE_CP_SF) add custom tab with custom field for additional selection criteria.I used the steps provide in BADI documentation. Everything is working fine but when I run the program in background the additional field values are not comming in the method where I need to filter record. Additional field values are populating fine when I run the program in foreground.
    Does anybody come accross this issue, any input? Is the screen enhancemnets are only for foreground pocessing?
    Thanks,
    Seema

    Le,
    it will lil easy if you can take access key from basis and just add one more selection in selection screen.
    Amit.

  • When is customization dangerous even if the BADI's/exits are all there ????

    In this blog post here:
    /people/david.halitsky/blog/2007/03/08/the-astrobiology-of-enterprise-soa-how-planet-abap-can-seed-life-on-planet-bpx
    I gave a schematic outline of the badi's and exits required to customize SAP QM in a particular way.
    Up until recently, it was thought that we only had to use these badi's and exits
    to update QALS records in order to link an inspection lot to an inspection plan that is not the one that standard SAP logic picks.
    But it turns out that we not only have to update QALS in this way, but also delete SAP-added records from AFFL, AFVC, AFVU, and AFVV and re-add our own corresponding to the operations in the non-standard plan we're selecting for the inspection lot.
    OK - so we know exactly how to do these deletes and re-adds, because the way  SAP does the original inserts into AFFL/AFVC/AFVU/AVFF (during a MIGO goods receipt post) is perfectly clear - the sequence of FMs and forms is:
    FM's:
    qeev_tables_generate
    qpap_plan_read
    qpap_post_qapo
    co_bt_order_post_qm
    co_vb_order_post
    FORMs performed from co_vb_order_post:
    affl post
    afvg_post (takes care of afvc, afvv, afvu)
    But even though we know what we're doing, and even though we can do everythign we need to do with an SAP-delivered BAdI or exit, maybe what we're doing is still too dangerous because we're relying on SAP keeping a number of different files interrelated in exactly the way they are now:
    QALS
    MAPL
    PLKO
    PLFL
    PLAS
    PLPO
    AFVC
    AFVV
    AFVU
    AFFL
    What do you think ?
    Thanks in advance for whatever time you can afford to spend considering this matter ...
    djh

    Hi Stephen -
    I appreciate the responses from you and Chris very much, because my current customer is right now grappling with the question of whether what we "need" to do is actually too much dangerous over-customization.  So this is not a discussion in the usual "theoretical vacuum".
    I want to explain why I think the "direct update" rule here MAY not apply in this particular case. 
    But before I do, I want to make very clear that I was the one who brought this situation to management attention when it turned out that NINE core SAP tables were involved, not just ONE.  So whereas I felt more or less comfortable with one update to one table to repoint an inspection lot to a different inspection plan than the one which SAP selects, I didn't feel at all comfortable with direct updates to eight other core tables, particular when these involve what amount to "key field updates" - effectively, "deletes/re-adds".
    That being said, the details of this particular case involve the fact that when we go for the eight core SAP tables, we are not doing anything other than doing exactly what SAP does, but with different "ALLOWABLE" choices.  There are SAP delivered transactions which allow a customer to choose the inspection plan that will be associated with a given inspection lot.  These transactions record the customer's choice in two different ways: 1) first - in the relationships among the rows of PLKO, PLAS, PLFL, PLPO; 2) second - in the relationships among the rows of AFFL, AFVC, AFVV, and AFVU.  So what we're doing in the exits/BAdI's is:
    1) undoing the choice of inspection plan that SAP has made and recorded in these tables;
    2) recording our "custom" choice of inspection plan in these tables.
    For this reason, it is difficult to BLINDLY apply the "don't do direct updates" and "don't do something SAP doesn't anticipate you doing" rules.  Because on the one hand, it is true that SAP does not specifcally say in the BAdI documentation or exit parameters: "use this exit to change choice of inspection plan" or "use this BAdI to change choice of inspection plan".  But on the other hand, we are not using the exits/BAdI's to do anything different than SAP already does when MIGO GR posting triggers inspection lot creation and inspection plan assignment.
    With respect to the "watch-out for problems during upgrade" rule of thumb, it is also difficult to apply this rule blindly because it turns out that in our case, all the columns in the relevant tables are KEY columns.  And for that reason, it is hard to imagine SAP changing its fundamental "E-R diagram" for QM during the course of any future upgrade.  And if this possibility is, in fact, remote (i.e. if SAP cannot really change the "E-R" key columns of QM tables without rewriting QM from scratch), then the "upgrade problem" issue really doesn't arise.
    Anyway, I want to close this post by saying that the functional analysts who proposed the customization in the first-place do NOT think that direct updates of nine core SAP tables is overly dangerous, and this is why management has to make a difficult decision between what the functional consultants are saying and what the in-house development lead is saying.
    As a consulting developer, my job (fortunately!) is to collect the relevant facts and present a clear picture to the development lead, so that he or she can in turn present a clear picture to management.
    It will be interesting to see the eventual outcome of this situation, and I will of course report this outcome back to this thread.
    And again, thanks very much for taking the time to respond.
    djh

  • How to issue warning message in BADI ME_PROCESS_PO_CUST

    Hi Guys,
    I have already checked the forum regarding this. There are lots of threads. Unfortunately none of them helped me. I must be missing some thing in my code.
    I tried issuing warning message in BADI ME_PROCESS_PO_CUST and method PROCESS_ITEM.
    First i tried with normal message statement
    MESSAGE w001(00) WITH text-001 text-002.
    Didn't worked.
    Next tried calling standard macros
      DATA:mmmfd_cust_01 TYPE mmpur_metafield VALUE 90000000.
      call method cl_contextfield_mm=>set_current_field
                                      exporting im_field = mmmfd_cust_01.
      mmpur_metafield mmmfd_cust_01.
    mmpur_message_config 'W' 'X' ' '.      "Tried all permutations here
    mmpur_message_forced 'W' '00' '001' text-001 text-002 '' ''.
    Still no solution
    Tried with macro mmpur_message also
    Can some one helpme out to solve this issue.
    Thanks,
    Vinod.

    Hi all,
    Thanks for the responce.
    Not sure whether you have looked into BADI documentation or not. Please check below.
    "Further notes
    The above-mentioned macros are defined in the program MM_MESSAGES_MAC. Please include this program in your own application.
    Never issue messages in BAdI ME_GUI_PO_CUST! This is the task of the business logic and must therefore be done via the BAdI ME_PROCESS_PO_CUST.
    "Never use the ABAP statement MESSAGE in the BAdI ME_PROCESS_PO_CUST. Please use the macro mmpur_message_forced only. This macro only writes a message in the message collector.
    If you wish to mark the business object as invalid in order to prevent posting, you must additionally use the INVALIDATE ( ) method of the relevant interface. In this connection, see also the code example in the PROCESS_ITEM method of the BAdI ME_PROCESS_PO_CUST.
    I have tried almost all macros including mmpur_message_forced 'E' 'ME' '083' l_text ' '  ' '  ' '.
    Not sure where i am missing:(
    If i give error using MESSAGE statement it is working perfectly i.e. give error and save the PO. Only wanted to know if there are any implications.
    Thanks,
    Vinod

  • How to raise an exception in the badi

    Hi friends..I've got the badi to be used for my object.Badi workorder_confirm
    requirement is " if data is entered in one field leaving a field emprty,it should give an error message saying "Field is mandatory". I can make use of ERROR_WITH_MESSAGE exception for the message to be generated..
    but dont know the syntax of it..please provide me with the statement how the message needs to be raised

    Looking at the BAdI Documentation it says this:
    Note that in the methods, no system messages may be sent. The only      
    exceptions are the AT_SAVE and AT_CANCEL_CHECK methods. Within these    
    methods, a system message may be issued, but only if you trigger the    
    exception ERROR_WITH_MESSAGE (for AT_SAVE method) or NOT_ALLOWED (for   
    AT_CANCEL_CHECK method) at the same time.                                                                               
    Note also, that within the methods the "commit work" instruction may not
    be carried out because this would lead to incorrect data in the         
    database.                                                               
    So the only thing you can do is use:
    RAISE ERROR_WITH_MESSAGE.

  • BAdI Change Display in Shopping Cart

    Hi,
    Has anyone activated the functionality that allows you to change the display of the shopping cart? If yes, what can you actually alter with it and where did you find useful documentation?
    Jerry

    Hi Jerry,
    Here is the BADI documentation. Whichever links you want to hide them, simply pass X to them and activate BADI implementation.
    Business Add-In BBP_SC_MODIFY_UI to override the standard settings and tailor the user interfaces Wizard, Simplified Form and Extended Form to your own requirements.
    In the Add Items area, you can activate/deactivate the Describe Requirement, Add Limit Item, Request (Service) and Purchase Order (Service) links on the various user interfaces.
    You can continue to display the Default Settings for Items area on the 'Wizard' interface, and to hide this area on the 'Extended Form'. This area is not integrated into the application Request.
    Regards.
    Jay

  • Custom TAB in txn WCOCO using Screen Enhancement(BADI Implementation)

    Hi,
    My requirement is to add a custom  tab with some fields in the Header in transaction WCOCO. I implemented the enhancement spot WCB_CC_VIEW_SPOT and the BAdi WCB_HEADER_DATA_TAB_I_BADI and am able to create the custom tab. All the details for the implementation are given in the BAdi's documentation.
    Now, I need to make this custom tab enable/disbale i.e., make it visible/invisible based on the Condition Contract type. I tried to handle this in the PBO of the subscreen (my custom tab is a subscreen, defined as per the BAdi documentation)... but commands SET/LEAVE Screen cannot be used in a subscreen, so unable to handle it.
    Any help on this is greatly appreciated.
    Thanks,
    Veeru.

    Hi Prosengit,
    I am not aure about u r BADI,
    BUt last week i have custom tab in the PO header data using this enahncement 'MM06E005'.
    IN thi senhancement u have thrre screen exits.In this enhancement
    SAPMM06E        0111 CUSTSCR1 SAPLXM06        0111 Subscreen: PO item
    u can add subscreen and u can add u r own fields here .
    and u can write u r code in 'EXIT_SAPMM06E_006'.
    if u want to change the title of the program.
    Go to program SAPLXM06 then go to text element give text symbol no as '111' and u can change the title of u r tab.
    I hope this solves u r problem.

  • Travel Managment    (SAP badi trip_post_fi)

    Hi Everybody, thanks for reading this.
    in the company want the tropicalization of travel module in all countries where company have operation.
    But my problem is that we need witholding tax, but in the travel module can´t make that configuration, so i found
    this Badi badi trip_post_fi, and serch in SAP. and the badi said:
    In the case of withholding tax, as it is not possible to perform the tax calculation in FI using the withholding tax procedure meaning that any withholding tax configuration (which is not delivered in standard release) is subsequently ignored during the posting process involving transaction PRRW and PRFI. The only possibility of a workaround therefore is the BAdI BADI_TRIP_POST_FI which allows you to manipulate the posting run (such as tax codes etc at header level) and it is advisable to consult the BAdI documentation in SE18 and SAP Help.
    You would then need to ensure that every posting document posted by PRRW with FB02 has the manual input of the witholding tax sign.
    so if anybody know how to d a change in the bapi?
    for this case i will be grateful.
    regards

    Hi Hector,
    sorry but I'm not in the details of withholding tax. But if you have a good programmer she/he can tell you if this "change to standard" is possible in this Badi. (Badi is nothing else then a user exit - means you can enter your own coding to get the needed result).
    Best regards, Sigi

  • ECM Badi eligibility - how to implement note 878336?

    We want to have some extra micro eligibility checks in addition to the standard checks, which were customized. However if we implement the method HRECM00_ELIGIBILITY~ CHECK_MICRO_ELIGIBILITY, we loose all standard checks and nobody will fulfil the standard criteria any longer.
    SAP offers two separate solutions, which both don’t seem to work:
    1.     The badi documentation states: “If for any of these methods you still want to perform the standard coding, you just add the line PROCES_STANDARD = ‘X’ to it. (eg. CHECK_ELIGIBILITY)”
    2.     Note 878336 says that when you call the standard function module HR_ECM_CHECK_ELIGIBILITY from within method CHECK_ELIGIBILITY the result is a recursive call of the badi. When you switch the import parameter SKIP_BADI to ‘X’ this recursive call will be stopped.
    Please advise to have some badi micro eligibilities on top of the standard customized checks. Thanks!

    Hi Kumar,
    Im tyring to implement the HRWPC_PCR_EEGRP BAdI and im stuck on how to code it...
    Can you please give me some pointers on how you managed to get it to work!!!
    Thanks,
    Joseph

  • Subscreen in badi

    Hi
    how to add a subscreen to a transaction through badi
    can any one give me example
    thanks,
    kiran

    Hi Kiran,
    That is only possible if a BADI is foreseen for such a transaction. In such case just take a look at the BADI documentation.
    Regards,
    John.

  • BADI [BBP_WFL_SECUR_BADI]

    Hi,
    Would like to ask about this BADI. In the doc it is written that
    [[You use this BAdI to prevent the approval workflow from starting again
    if the manager changes only the cost center of a shopping cart during
    the approval process.]]
    In the BADI only these parameters are available
    ACTUAL_USER
    OBJECT_ID
    OBJECT_TYPE
    GUID
    SCENARIO
    NEW_SEC_LEVEL
    How the system knows which fields the approver has changed?
    Alok

    Hi
    <b>Go through the sample code below.</b>
    method IF_EX_BBP_WFL_SECUR_BADI~SET_SECURITY_LEVEL .
    data: ls_header type BBP_PDS_SC_HEADER_D.
    clear ls_header.
      CALL FUNCTION 'BBP_PD_SC_GETDETAIL'
        EXPORTING
         I_OBJECT_ID             = OBJECT_ID
         I_WITH_ITEMDATA         = 'X'
       IMPORTING
         E_HEADER                = ls_header
    *   TABLES
    *     E_ITEM                  = lt_item
    *     E_ACCOUNT               = lt_account.
    *--- In lt_Account table.. you can find the details of the cost center..
    *--- Incase the shopping cart is changed, that means SC Creator name will
    *--- be  different from Approver (manger) name
    *-- If current user not = user who created cart set security level = 1
    If NOT ACTUAL_USER = ls_header-created_by.
       NEW_SEC_LEVEL = 1.
    Endif.
    endmethod.
    <u>Related BADI Documentation -></u>
    <b>BBP_WFL_SECUR_BADI</b>
    You can use the Business Add-In (BAdI) BBP_WFL_SECUR_BADI to determine whether
    1) A shopping cart can be changed during the approval process
    2) The approval workflow restarts when changes are made to the document
    3) A reviewer/approver can be added or changed
    4) These are the call scenarios (see import parameter SCENARIO).
    You use this BAdI to overwrite the settings for the authorization level of approver. The BAdI is called each time the shopping cart screen is opened and whenever a purchase order is ordered and held.
    For more information, see the SAP Note 502952.
    Example
    You use this BAdI to prevent the approval workflow from starting again if the manager changes only the cost center of a shopping cart during the approval process.
    Standard settings
    Rejection of a shopping cart item causes the approval process to be restarted (dependent on workflow start conditions and authorization level). SAP supplies a BAdI-Implementation that prevents a restart if you set the authorization level of the approver to "not defined".
    The standard system features the following authorization levels, which you can set in user maintenance (transaction SU01) or role maintenance (transaction PFCG) on the Personalization tab. Note that user settings override role settings:
    Not defined Initial setting: Authorization level on delivery.
    No authorization
    Changes to the document are not allowed while it is being approved.
    Low
    Changes can be made to the document. The approval workflow is restarted after every change.
    Medium
    Changes can be made to the document. After every change, the approval workflow either continues or is restarted.
    The system evaluates the start conditions and restarts the workflow if a new approval is required as a result of the change. If this is not the case, the approval workflow continues.
    High
    Changes can be made to the document. The current approval process always continues. A new approval workflow is not started when the document is changed.
    Note: if the approver is assigned several roles, the system uses the highest authorization level.
    Activities
    The following parameters are provided in the SET_SECURITY_LEVEL method:
    Import
    ACTUAL_USER (user whose authorization level is overridden)
    OBJECT_ID (transaction number of the document
    OBJECT_TYPE (business process type)
    GUID (unique document key)
    SCENARIO (scenarios in which the BAdI is called).
    Export
    NEW_SEC_LEVEL (determined authorization level)
    Hope this will help.
    Regards
    - Atul

Maybe you are looking for