Screen data handling in Screen Enhancement with BAdI's ?

Hi all,
I'm trying to build a Screen Enhancement with (new) BAdI concept.
But now I'm having a Problem. The new BAdI's don't allow variable Attributes  (instance/static attribute) in the BAdI Interface.
If I try to define an instance or static Attribute for the BAdI-Interface I get the following error message:
"BAdI interface <my_badi_if> contains non-constant attributes "
In my Screen Enhancement I have build a Subscreen with new fields in it. These field data couldn't be saved in the BAdI class (e.g. via BAdI-methods my_badi->get_data_from_screen... and my_badi->put_data_on_screen...) because having no attributes.
How these screen-data could be handled without BAdI-Interface-Attributes?
Thanks in advance,
Anja

Having the same service to get one product price as well as all product prices would not be recommended. Two separate services would be more reasonable
Mass data handling in SOA is not entirely different than let's say in BAPI/RFC environment. parallelism, multi-threading, locking, commit and many others are typical elements of considerations.
From a scalability standpoint, you can always be interested in how optimal its performance is whether you call it once or a million times. If the service is a rather slim one (lightweight in terms of number and types of parameters as well as processing code), you'll surely have better chance than with a service that's heavyweight.

Similar Messages

  • Recovering data from an NTFS drive with bad blocks

    I've got an 80gb NTFS drive that causes an unmountable boot volume BSOD in a PC. Mounted in a 2.5" USB enclosure, Windows 7 sees it only as an empty "RAW" partition and can't actually mount it. Using the Paragon NTFS driver, I can mount it just fine in Snow Leopard on my MBP.
    However, when I attempt to copy files from it, it pretty quickly finds one with a bad block and gives up. I'm looking for the best way to get as much data (really just images) from this as possible without going through and restarting the transfer after each of the many corrupt files.
    I've tried both Minicopier (which still prompted on every error) and Ultracopier (which would freeze every ten or so corrupt files) as far as simple copiers go, and I've tried DiskDrill and now FileSalvage for full-on data recovery applications. I'd rather use something like the former, but am open to free alternatives to the latter as well.
    Any ideas? Thanks!

    I've had problems with NTFS formatted external drives containing unremovable "corrupted files".
    My problem was resolved using windows. Since Mac isn't supposed to handle NTFS I could not find a suitable way to resolve corrupted file issues, though in windows there is a tool to handle this:
    chkdsk X: -F
    where X: is the volume. This resolved my corrupted file issues and the drive worked like a charm with my mac again.

  • How to recover data from a hard drive with bad blocks?

    An external hard drive, 4TB Iomega...connected via eSATA cable...had a power outage and the drive won't be read by OSX now.  (Yes, it was on a surge protector and no I did not have a backup.  I was actually preparing for the process of creating a backup when the power went out!)  Anyway, I have tried using Data Rescue 3 and DiskDrill to try and recover data from the drive.  I can recover the first 1/3 of the drive, but it ejects when either app tries to access the bad block.  Can anyone tell me how/what software to use to recover the data?  I know there are programs that will avoid the bad block but I've only found them for Windows.  Are there any that will do such a thing in Lion?  Any help will be appreciated...and no, I can not afford a data recovery service.  Trying to do this on my own.

    Basics of File Recovery
    If you stop using the drive it's possible to recover deleted files that have not been overwritten by using recovery software such as Data Rescue II, File Salvage or TechTool Pro.  Each of the preceding come on bootable CDs to enable usage without risk of writing more data to the hard drive.  Two free alternatives are Disk Drill and TestDisk.  Look for them and demos at MacUpdate or CNET Downloads.
    The longer the hard drive remains in use and data are written to it, the greater the risk your deleted files will be overwritten.
    Also visit The XLab FAQs and read the FAQ on Data Recovery.

  • Transfer data from Z screen to fv65

    Hello experts,
    I need to transfer data (4 fields) from z screen that we'd developed  to the standart transaction FV65, so that the user w'ont need to enter this fields in FV65. Is there BADI or USER EXIT that can help me?
    thanks,
    Yulia

    Hi Sandeep,
    There are multiple ways to pass your Z screen data to standard screen data.
    1. If you want to pass one are two values to standard transaction, you can use set Parameter ID and Call Transaction statements..
    2. If you want to create the complete Sales order information, Use Sales order creation BAPI to create the sales order.
    Please let me know if you need more information or close this thread by offiering the points( If you are satisfied).
    Regards,
    Sakthivel N

  • I want to enhance customer(XD01) with BADI screen

    hai sap-abap gurus
    I want to enhance customer(XD01) with BADI screen to populate custom fields and store its information. can anybody tell how to find out proper BADI for screen enhacement ? and how to Implement?
    pls tell me the detailed steps?

    Hi,
    1) Use the BADI's CUSTOMER_ADD_DATA & CUSTOMER_ADD_DATA_CS.
    CUSTOMER_ADD_DATA -This BADI used to activate the screen group and checks for account group
    CUSTOMER_ADD_DATA_CS -This BADI used to include the custom screen.
      2)Your code group need to be configure in SPRO before doing the work.
    Regards
    Kiran Sure

  • Pass data between customer master enhancement screen ALV and BADI

    Hello
    I currently have my custom screen on customer master working. I have an ALV that I display on the custom tab that I created on customer master. It's an editable ALV so the user can change values on it and then when they hit "Save" on the customer master I need to have these values transferred over to an external system using an RFC-JCO communication. I got all of this to work but I still don't know how to pass values from my ALV screen to the GET_DATA method of CUSTOMER_ADD_DATA_CS BADI or for that matter any methods of the BADIs involved.
    Right now to pass values from the BADI to my custom screen I simply use SET PARAMETER/GET PARAMETER combinations but I cannot keep using that when I have over 1000 values to pass over.
    I looking for this so that I can perform some data validations on my ALV fields when the user hits enter after typing the values. Also, to check whether anything was changed or not - to set or not to set the 'fields changed' flag in the BADI, etc.
    Any help would be appreciated. Will award points for useful info.
    Thanks,
    Kushal

    Are these details not available on the Std. Customer Screen ?
    Or you want some additional data. BTW in the method GET_TAXI_SCREEN you won't find access to the Customer data. For this you have to implement the method(s) GET_DATA and/or SET_DATA.
    BR,
    Suhas

  • FV60 Screen enhancement through BADI

    Hi
    I am trying to enhance the BASIC Data tab in FV60 and FV65. I came across the BADI 'BADI_FDCB_SUBBAS01' which i believe is supposed to enhance the screens.
    I created a zprogram with a screen with a test field in it and inserted this program name (Ztest100) and the screen number (0500) in the BADI implementation and activated the BADI. However the custom field does not show up in the screen when you execute FV60.
    I have also made sure that i updated the record in table T020A as mentioned, with the details of the screengroup created for this custom screen(0500)  in the standard subscreen's comment in program SAPLFDCB screen 0010 PBO area.
    Can some one throw light on this on how to get the right results?
    Thanks
    Nag

    Hi Nag,
    I also need to add a custom field on tcode FB06, how did you make it happen?
    Please tell me step by step to do it.
    Thanks
    Bernard

  • Modify fields on screen with BAdI?

    Hi,
    I want to modify/customize a screen (Shopping Cart in SRM) in a way that some fields are displayed, others not. Some people told me that this might be possible using a BAdI. As I have never worked with BAdI technology before, I hope that somebody here can help me a bit.
    - Where do I get good documentation on BAdIs?
    - Are there any pre-defined BAdIs for modifying screens or would I have to create a new one?
    In advance, thanks a lot for your help!
    Regards,
    Verena

    Hello Verena,
    To look for list of Badi, run transaction SE18. Then enter '*' with the dropdown. You can search Badis by the application hierarchy or by Badi name/description. Once you found the correct Badi, run transaction SE19 to create an implementation of the Badi you found using SE18. Are these sound familiar? Yes, SE18 is like transaction SMOD while SE19 is like CMOD in the User exit. Badi is replacing User exit-ie new enhancement developed by SAP should be in terms of Badi. However, this does not means old User exits going away. You still can use user exits provided by SAP.
    So when you are searching for enhancement that you can use to intercept SAP standard program, you can search by Badi (SE18) or User exit (SMOD).
    Badi or User exit are delivered by SAP for giving customer an opportunities to change a little bit the standard way SAP process. You can't simple create a new BADI, it has to be delivered by SAP. You can implement a Badi given by SAP.

  • Screen amd menu enhancement throgh BADI

    Hi all,
    I need to show badi Defn and implementation in a training.
    I tried to create the BADI in se18 screen without the enhancement point i.e with classical BADI.
    But there I dont find the Fcode and Subscreen option which are used for screen and menu enhancement throhg BADI.
    How can we do that then throgh classical BADI.
    Please suggest.
    Thanks and Regards,
    Smriti Singh

    Hi.
    You should create classical Badi definition from dialog
    appearing when you press edit object button in se80 transaction.
    There there are multiple use and filter-Depend. checkboxes managing
    with fcodes and subscreens tabs.

  • New screen in ME23N with BADI ME_GUI_PO_CUST

    Hello to all developers,
    I was able to add a new (sub-)screen in the header data ME23N.
    All fields are shown.
    When I switch the mode to "CHANGE", all fields disappear and of course no tab is shown.
    If someone has an idea, please let me know.
    Many thanks in advance.
    H.-J. Schmidt

    Hi,
    Please check if in the PBO module of the custom subscreen you have set SCREEN-INVISIBLE = 1 or SCREEN-ACTIVE = 0.
    Also check if the screen has been properly subscribed in method SUBSCRIBE (i.e., remove all transaction type checks from this method).
    Since the screen and tab is being displayed in ME23N, it should also be displayed in ME21N (or create mode) and in ME22N (or change mode). The only condition under which the tab and screen might not appear is, if any checks based on the T-code or Transaction type is done and SCREEN-INVISIBLE = 1 or SCREEN-ACTIVE = 0 have been set.
    And if you are using OOPS concept in handling the PBO and PAI, then check if the proper values are set using different methods of the class.
    Hope this helps.
    Regards,
    Abhisek.

  • Add new screen in ME23N with BADI ME_GUI_PO_CUST

    Hi folks, I have used the BADI ME_GUI_PO_CUST to add a custom tab in transaction ME23N.
    So good, sor far, I know how to used BADI and it works very well. I had to subscribe my own subscreen in the method subscribe of the interface, but something is boring me and I don't know if it's possible.
    Let's say I want to display my new tab according to the purchasing document type. Right now, my custom tab is always display. There is no method to unsubscribe a screen in the interface. What I could do is to used the get parameter id 'BES' in the subscribe method to get the current purchasing document display, then from there I could decide if I subscribe or not my own screen. The thing with the subscribe method is that it's only called once, when you enter in the transaction, if you stay in the transaction and select another purchasing document, this method will not be called.
    thanks
    Alex

    Hi Alexandre,
    First get the current Purchase Order Number using parameter ID 'BES' in the PBO of the custom subscreen.
    Then based on validation checks set SCREEN-INVISIBLE = 1 and SCREEN-ACTIVE = 0 and MODIFY SCREEN for all the screen fields.
    This will hide all the fields and eventually the tab may also disappear. This works for Screen Exits (i.e., if all the fields of a tab are made to disppear then the tab also disapears if is the tab is defined using Screen Exit). But I have never tried it out in a BADI.
    Try this, it might work.
    Hope it helps.
    Regards,
    Abhisek.

  • Screen enhancement in badi's

    Hi all,
      I want to do screen enhancement in BADI.I found some badis which are providing the screen enhancements but dont know how to go further.
    Also i dont know in which transaction this screen will appear.
    And how to search for the BADI in standard transaction ,so that i can add the my own subscreen in satandard sap transaction using BADI screen enhancements.
    Please tell me the way in which i can do the sceen enhancement using BADI.
    Thanks and Regards,
    Sugeet.

    hi,
    check this..
    http://help.sap.com/saphelp_nw04/helpdata/en/9d/12233a0edd7978e10000000a11402f/frameset.htm
    regards
    vijay

  • Throws exception while saving SCREEN DATA  when integrated with CRMOD & OPA

    I have integrated CRMOD with OPA and able to see my screens and enter data and review after submitting screen data, but when I click "Save" on TOP right of the Applet Test page throws below exception. Please help
    ===================================================================
    0 [Thread-2] INFO com.oracle.util.plugins.PluginRegistry - Successfully created plugin factory: com.oracle.determinations.web.crmod.plugins.CrmodAdapter
    21 [Thread-2] INFO com.oracle.util.plugins.PluginRegistry - Successfully created plugin factory: com.oracle.determinations.web.crmod.plugins.CrmodAdapter
    91903 [http-8080-1] INFO com.oracle.determinations.web.crmod.config.ConnectorProperties - Config File path : configuration/crmod-data-adapter.properties
    91934 [http-8080-1] INFO com.oracle.determinations.web.crmod.plugins.CrmodAdapter - Found mapping file ScreeningInterview-mapping.xml.
    92045 [http-8080-1] INFO com.oracle.util.plugins.PluginRegistry - Successfully created instance of plugin: com.oracle.determinations.web.crmod.plugins.CrmodAdapter
    92045 [http-8080-1] INFO com.oracle.determinations.interview.engine.local.LocalInterviewSession - Data adaptor plugin ( class com.oracle.determinations.web.crmod.plugins.CrmodAdapter ) found - attaching to session.
    92045 [http-8080-1] INFO com.oracle.determinations.interview.engine.local.LocalInterviewSession - No Commentary plugin supplied - using default
    92049 [http-8080-1] INFO com.oracle.determinations.interview.engine.local.LocalInterviewSession - No List provider supplied - using default
    92051 [http-8080-1] INFO com.oracle.determinations.interview.engine.local.LocalInterviewSession - No DocGen plugin supplied - using default
    175526 [http-8080-1] ERROR com.oracle.determinations.web.platform.servlet.WebDeterminationsServletUtility - com.oracle.determinations.interview.engine.exceptions.DataAdaptorException: CRMOD-OPA ERR [Missing or unparsable CaseId.]
    com.oracle.determinations.interview.engine.exceptions.DataAdaptorException: CRMOD-OPA ERR [Missing or unparsable CaseId.]
         at com.oracle.determinations.web.crmod.plugins.CrmodAdapter.save(CrmodAdapter.java:95)
         at com.oracle.determinations.web.platform.controller.actions.SaveAction.doSave(SaveAction.java:133)
         at com.oracle.determinations.web.platform.controller.actions.SaveAction.getResource(SaveAction.java:61)
         at com.oracle.determinations.web.platform.servlet.WebDeterminationsServlet.doGet(WebDeterminationsServlet.java:80)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at com.oracle.determinations.web.platform.util.CharsetFilter.doFilter(CharsetFilter.java:46)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
         at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
         at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
         at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
         at java.lang.Thread.run(Unknown Source)
    ========== MY ADAPTER PROPERTIES FILE : crmod-data-adapter.properties HAS BELOW DATA ============
    ## REQUIRED SETTINGS
    ## Properties for CRMOD Web Services
    web-service-url                         =https://secure-ausomxapa.crmondemand.com/Services/Integration
    ## Supports WS1.0 and WS2.0
    web-service-version                    =1.0
    ## Properties for Authentication
    ## Username and password must be encrypted using configuration-encrypter tool provided by the product.
    ## Please refer to Configuring CRM On Demand Connector for Web Determinations of Developer Help for more details.
    username                              =Y3JtaXQtZGVtby9jcm1pdA==
    password                              =T25EZW1hbmQ=
    ## OPTIONAL SETTINGS
    ## Set fixed-authentication to false if you want to implement other forms of authentication
    fixed-authentication                =false
    ## Properties for the mapping file
    mapping.load.from.rulebase           =true
    ## Set the mapping path if load from rulebase is set to false e.g. /configuration/mapping
    mapping.location.path               =/configuration/mapping
    ========= MY Custom Web APPLET URL in CRMOD HAS BELOW ===============
    http://localhost:8080/crmod-web-determinations?caseID=new

    On Save click getting below error from CRMOD:
    9816032 [http-8080-1] ERROR com.oracle.determinations.web.platform.servlet.WebDeterminationsServletUtility - com.oracle.determinations.interview.engine.exceptions.DataAdaptorException: CRMOD-OPA ERR [SOAP Response Parser: CRM On Demand errors found in the SOAP request for saving.
    Internal Error: Session is not available. Aborting.]
    com.oracle.determinations.interview.engine.exceptions.DataAdaptorException: CRMOD-OPA ERR [SOAP Response Parser: CRM On Demand errors found in the SOAP request for saving.
    Internal Error: Session is not available. Aborting.]
    =============
    Phil Whitwell | Director Product Strategy Advised as to check SOAP Request using TCPMon. Then I followed the below steps:
    Step 1) changed URL entry in crmod-data-adapter.properties file
    ## Properties for CRMOD Web Services
    web-service-url =http://localhost:5049/Services/Integration
    # earlier entry
    #web-service-url =https://secure-ausomxapa.crmondemand.com/Services/Integration
    Step 2) Restarted TOMCAT6
    Step 3) Started TCPMon after setting tcpmon port as below
    [My Tomcat is listening on 8080, I cannot bind tcpmon to listen there as well.  the way to use tcpmon correctly is to set the target port to 8080 and set the listen port to some currently unused port (say 5049) and Setup My client – CRMOD As mentioned in Step 1]
    Step 4) I got below SOAP Request XML after executing “SAVE” in CRMOD .
    Below SOAP Request XML sent on “SAVE” option from CRMOD:
    - <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="urn:crmondemand/ws/account/10/2004" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header />
    - <SOAP-ENV:Body>
    - <ns:AccountWS_AccountInsert_Input>
    - <ListOfAccount>
    - <Account>
    <Location>UK</Location>
    <AccountName>Phil</AccountName>
    <Industry>BFSI</Industry>
    </Account>
    </ListOfAccount>
    </ns:AccountWS_AccountInsert_Input>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    =======================================================
    What is incorrect in the above SOAPRequest.xml, why CRMOD is throwing an error on "SAVE",
    Can someone please advice?

  • How can I handle touch screen events with Swing?

    Hi,
    I was wondering how i can handle touch screen events. Are there APIs for that or is it just a mouse event?
    Thank you in advance.
    Tim

    I have recently created an application that ran on a touch screen system. I used the normal mouse events attached to the swing components (onClick) and these were translated by the touch screen. Typically I created a calculator type keypad, touched the screen on the text box where I wanted the data to appear and then pressed the keypad buttons to populate the field. No special drivers, just using swing components
    Hope that helps
    yeah, this is really useful info.. me too trying to build an application for the touch screen... just wondering how other events like focus gained, tree selection events are recognized by touch screen? can we have focus and tree, table selection events etc, as it is in the touch screen as well?? or everything is just mouse event only??

  • Need help with clearing on screen data

    Hi all,
    I have a transaction which works like SM30 (table maintenance). In my main screen, I have 50 blank fields (created by appending 50 blank rows to an internal table) on the ALV grid for user new entries with 2 buttons: Save and Delete. Once the user has entered the data and click on Save, it will validate the entries and put into internal table before saving into the database.
    The problem arise when I want to delete the entries. When user click on Delete, it will clear the entries in the selected row. My problem is, how do I clear the data on the screen since this data is not yet inserted into internal table? These entries are new entries just entered by the users and not being put into internal table or in the database yet.

    Once user press the delete button ,
    in the user_command event you need to
    first insert the values to internal table with delete flag in the internal table , then delete the line the user selected for delete,
    then call
    method "g_grid->refresh_table_display" after row has been deleted.
    aRs

Maybe you are looking for

  • Errors when using query variables.

    Recently in about half the queries I write with variables the variables will not work. For example: SELECT O.DocNum           ,O.CardCode           ,O.CardName           ,P.PrioDesc AS 'Priority'           ,O.DocDueDate           ,O.DocTotal         

  • How to get the WD port number of the actual system?

    Hello everybody, In my application I'm calling a Sap Gui transaction through an ITS WebGUI link that is generated dynamically by an action method. Works find so far. However, as the code has to run on various systems (development, test, production) I

  • 11.03 does not play on pressing play

    Hi, Itunes was open and then I put in my external audio-interface (usb - DJ8 - Native Instruents) in the slot. itunes then did not play the music, pressing play did not work. in versions before 11.xx it took a second and the interface worked, but not

  • I just installed mountain lion and now I don't see the save as option

    I use Pages a lot and I was told by a guy at the Apple storeI needed to install mountain lion. I did it and now I can not save a document using "save as" option Can somebody help me?

  • Can I mute the microphone during video recording

    I am trying to take video of a real estate property and I do not need to collect the audio - in fact I do not want any audio captured - can I mute the micrphone while taking vido? Thanks Ray