Setting a report as a background

Hi ALL
         Please give me the clear steps how to set a report to run as background with variants using sm36 and sm37 (if possible with example)
By
Prashanth

You can use SM36 and use the "Job Wizard" to define a background job in simple step by step procedure
Or
Goto SM37 and specify a job name.
Next specify the ABAP Program Name of the report you want to execute under Job Step.
Then click on "Extended Job Selection" and goto the Period Tab.
There select "Only Periodic Jobs" and then specify the frequency of execution based on Months, Weeks, Days, Hours or Minutes.
2)you can execute the report in background in SM37 , there are two options , one is as said using f9 or you can make SY-BATCH eq 'X'.
if x run the report or exit from the program.
so this way you can execute the report in background and check the spool in sm37
In order to restrict the user to run it only in background , you can as well check for SY-BATCH condition.
The other way is try to remove "execute in foreground" option from the menu and this can be done with the function module .
Do reward points if useful and close the thread if the doubt is cleared
data: begin of int_exc occurs 0,
code like sy-ucomm,
end of int_exc.
data wf_repid .
initialization.
clear int_exc.
int_exc-code = 'ONLI'.
append int_exc.
int_exc-code = 'PRIN'.
append int_exc.
move: sy-repid to wf_repid .
call function 'RS_SET_SELSCREEN_STATUS'
exporting
p_status = '%_00'
p_program = 'wf_repid'
tables
p_exclude = int_exc
Hope this helps,

Similar Messages

  • How to run long running report in the background

    Oracle Application server 10g
    I need to run the long running reports in the background because while the report is running the cursor is loading and the control doesn't return to the user
    this feature exist in oracle 6i by set the following parameter
    RUN_PRODUCT( REPORTS, 'r_1', ASYNCHRONOUS, RUNTIME, FILESYSTEM, pl_id, NULL);
    How can I accomplish the same in OAS 10g?

    Hi,
    I've done this in 11g. I think it will be the same in 10g as well
    Following are the steps in 11g using run_report_object.
    1. Read metalink note: Using the Reports Server Queue PL/SQL Table and API - RW_SERVER_JOB_QUEUE [ID 72531.1]
    2. Implement RW_SERVER_JOB_QUEUE table as per above notes.
    3. When submitting report run it as background
    a. SET_REPORT_OBJECT_PROPERTY(lo_report_object, REPORT_EXECUTION_MODE, ASYNCHRONOUS); -
    SET_REPORT_OBJECT_PROPERTY(lo_report_object, REPORT_COMM_MODE , BATCH);
    4. Display the job_id to user (notification).
    5. Create a new form to view reports base on on RW_SERVER_JOB_QUEUE which provides you the status, etc.... (you may have to create a way to identify the username who submitted the job. This way not all users will see the jobs in RW_SERVER_JOB_QUEUE )
    6. Optionally you can use NOTIFYSUCCESS=email to notify user when the report is finished.
    Cheers
    LS

  • Better user experience for slow reports (loading in background, progressbar

    Hi
    In our application, some reports take a long time till they are displayed. Therefore it would be nice, if i could provide the user with some feedback (example: progressbar). Is it possible to have this? Upon print, when a pdf file is being constructed (in web) we already have such functionality in place, is it possible to have it generally?
    Mayb,e it would also be possible to have the report load the first page quickly, so the user has already something to look at, and load all the other needed data in a background thread. (i dont think it is possible, however, somebody may have an idea)
    Does anybody have an idea how we could achieve a better user experience for our reports. Any help is appreciated. Thanks.
    Greetings
    I am using:
    Crystal Reports 2008 (in Asp.net, Windows Forms)
    Version .NET 3.5 (SP1)
    PS: of course a very fast report would be the finest solution. However, i guess this will not be possible with our reports and the volume of data they access

    Hi Daniel,
    Crystal Report 2008 we have a inbuilt functionality of progress bar .If you are not getting progress bar for every report that means those reports are not taking to much time.
    For more info regarding progressbar  this check this link:
    [https://boc.sdn.sap.com/node/8035]
    Look for processingIndicatorDelay and processingIndicatorText.
    If you want to improve performance of report then we need to keep in mind few thing while creating report in Crystal report designer:
    Here are a few points related to performance issue .
    The performance of a report is related to:
    External factors:
    1. The amount of time the database server takes to process the SQL query.
    ( Crystal Reports send the SQL query to the database, the database process it, and returns the data set to Crystal Reports. )
    2. Network traffics.
    3. Local computer processor speed.
    ( When Crystal Reports receives the data set, it generates a temp file to further filter the data when necessary, as well as to group, sort, process formulas, ... )
    4. The number of records returned
    ( If a SQL query returns a large number of records, it will take longer to format and display than if was returning a smaller data set.)
    Report design:
    1. Where is the Record Selection evaluated?
    Ensure your Record Selection Formula can be translated in SQL, so the data can be filter down on the server, otherwise the filtering will be done in a temp file on the local machine which will be much slower.
    They have many functions that cannot be translated in SQL because they may not have a standard SQL for it.
    For example, control structure like IF THEN ELSE cannot be translated into SQL. It will always be evaluated
    in Crystal Reports. But if you use an IF THEN ELSE on a parameter, it will convert the result of the condition to
    SQL, but as soon as uses database fileds in the conditions it will not be translated in SQL.
    2. How many subreports the report contains and in section section they are located.
    Minimise the number of subreports used, or avoid using subreports if possible because
    subreports are reports within a report, and if you have a subreport in a details section, and the report returns 100
    records, the subreport will be evaluated 100 times, so it will query the database 100 times. It is often the biggest
    factor why a report takes a long time to preview.
    3. How many records will be returned to the report.
    Large number of records will slow down the preview of the reports. Ensure you only returns the necessary data on the report, by creating a Record Selection Formula, or basing your report off a Stored Procedure, or a Command Object that only returns the desired data set.
    4. Do you use the special field "Page N of M", or "TotalPageCount"
    When the special field "Page N of M" or "TotalPageCount" is used on a report, it will have to generate each page
    of the report before it displays the first page, therfore it will take more time to display the first page of the report.
    If you want to improve the speed of a report, remove the special field "Page N of M" or "Total Page Count" or formula that uses the function "TotalPageCount". If those aren't use when you view a report it only format the page requested. It won't format the whole report.
    5. Link tables on indexed fields whenever possible.
    6. Remove unused tables, unused formulas, unused running totals from the report.
    7. Suppress unnecessary sections.
    8. For summaries, use conditional formulas instead of running totals when possible.
    9. Whenever possible, limit records through selection, not suppression.
    10. Use SQL expressions to convert fields to be used in record selection instead of using formula functions.
    For example, if you need to concatenate 2 fields together, instead of doing it in a formula, you can create a SQL Expression Field. It will concatenate the fields on the database server, instead of doing in Crystal Reports.
    SQL Expression Fields are added to the SELECT clause of the SQL Query send to the database.
    11. Using one command as the datasource can be faster if you returns only the desired data set. It can be faster if the SQL query written only return the desired data.
    12. Perform grouping on server
    This is only relevant if you only need to return the summary to your report but not the details. It will be faster as less data will be returned to the reports.
    Hope this helps!!
    Regards,
    Shweta

  • Why do I get a status of 'waiting' when I run a report in the background

    Happy new Year Experts!!
    I am working with Ad-hoc query and I run reports in the background.  When I go to System > Own Spool Requests the status is always waiting.  When I go to SM37 the status is complete.  I can open the report from my own spools requests and it is completed.
    Thanks.
    Regards,
    Jeanette

    Go to SM36-> Own jobs - double click the job - Select Edit-Steps - DOuble click the step and check print specifications.
    Moreover, if you wanna make the job printed on finish, make sure that there is a default printer defined in SU3 - Defaults - Output device field.
    Regards,
    Dilek

  • Value sets and Report Parameters

    Hi
    these are my requirements
    i have developed report using scott where the
    parametes are
    dname
    empinfo
    (1)If i select Department 1o then
    in parameter empinfo should display the value only from department 10
    (2) i have created a value set for report parameters empinfo
    it only shows two columns like EMPNO AND eNAME AND THERE only two column space to be shows
    how could i make columns to be displayed in addition to ename and empno
    Regard

    Hi KittyCat101,
    If I understand correctly, you want to use a parameter to filter Status field that starts with “Is” or “Can” or “Fi”. If in this scenario, we can refer to the following steps to achieve your goal:
    Modify the available values for @Status parameter to “Is”, “Can” and “Fi”.
    Right-click the tablix or dataset to open the properties dialog box.
    Select Filter in the left pane, then add a filter like below to filter Status field:
    Expression: =Fields!Status.Value like (Parameters!Status.Value & "*")  Type: Boolean
    Operator: =
    Value: true
    If there are any other questions, please feel free to ask.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Crystal Report Viewer 11.5 Java SDK - How to set sub report parameter value

    Good day!
    I have a report with 3 sub-reports in the detail section. Main report has two parameters and each sub-report has one parameter in turn. We have our own JSP to receive parameter values from the user. I am using the following code to do the parameter value setting later into the report. Parameter value setting works for main report, but not for the sub-report.
    I get an Error, for the first sub-report, from the viewer saying:
    The parameter 'parametername' does not allow null values
    On this article: [article link|http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_bi/sap%28bd1lbizjptawmq==%29/bc/bsp/spn/scn_bosap/notes%7B6163636573733d36393736354636443646363436353344333933393338323636393736354637333631373036453646373436353733354636453735364436323635373233443330333033303331333233313337333233323331%7D.do]
    It says to set the report name of the parameter field to the name of the sub report. On this aspect, assuming this tip/solution works, I would like to read the names of the sub-reports and their parameter names. I do not want to hard-code them into our application.
    Here is my current code:
    sdk.occa.report.data.Fields parameterFields = new Fields();
    I have a HashMap of <parameterName, parameterValue>
    Iterate through the map
    report.data.ParameterField aParameterField = new ParameterField();
    aParameterField.setReportName(""); //main report
    report.data.Values theValues = new Values();
    ParameterFieldDiscreteValue aParameterFieldDiscreteValue = new ParameterFieldDiscreteValue();
    aParameterFieldDiscreteValue.setValue (aValue);
    theValues.add(aParameterFieldDiscreteValue);
    aParameterField.setName(parameterName)
    aParameterField.setCurrentValues(theValues);
    parameterFields.add(aParameterField);
    viewer.setParameterFields(parameterFields);
    Please look at the line:
    aParameterField.setReportName(""); //main report
    Here's where I would like to say
    if (parameter is subreport's parameter) then setReportName(subreport name);
    Thx

    It was little difficult to navigate down the objects to find the sub reports and their parameters. I am attaching the code:
    May be there are other ways to do the same.
    public String getReportNameForParameter (String parameterName, ReportClientDocument reportClientDoc)
            String result = "";
            boolean found = false;
            try {
                SubreportController src = reportClientDoc.getSubreportController();
                DataDefController ddc = reportClientDoc.getDataDefController();
                IDataDefinition idd = ddc.getDataDefinition();
                Fields fs = idd.getParameterFields();
                Iterator fiter = fs.iterator();
                while (fiter.hasNext()) {
                    IField ifld = (IField) fiter.next();
                    if (parameterName.equals(ifld.getName())) {
                        found = true;
                    //System.out.println ("\t Field Name/Description/HeadingText: " + ifld.getName() + "/" + ifld.getDescription() + "/" + ifld.getHeadingText());
                if (!found) {
                    IStrings reportNames = src.getSubreportNames();
                    //System.out.println ("  Sub Reports If Any ...");
                    if (reportNames != null) {
                        Iterator iter = reportNames.iterator();
                        while (iter.hasNext()) {
                            String repName = (String) iter.next();
                            //System.out.println ("\t Sub Report Name " + repName);
                            ISubreportClientDocument srcd = src.getSubreport(repName);
                            ddc = srcd.getDataDefController();
                            idd = ddc.getDataDefinition();
                            fs = idd.getParameterFields();
                            fiter = fs.iterator();
                            while (fiter.hasNext()) {
                                IField ifld = (IField) fiter.next();
                                if (parameterName.equals(ifld.getName())) {
                                    result = repName;
                                    break;
                                //System.out.println ("\t\t Field Name/Description/HeadingText: " + ifld.getName() + "/" + ifld.getDescription() + "/" + ifld.getHeadingText());
            //System.out.println ("********************************************************** ");
            catch (Exception exc) {
                System.out.println ("Error/Exception while trying to find the report name for parameter [" + parameterName + "]");
                System.out.println ("*******************************************************************************************");
                exc.printStackTrace();
            return result;

  • SUBMIT REPORT AS A BACKGROUND JOB

    Hi all,
       I am executing one report in foreground in that report i want to submit one report which should be executed in background only. how it is possible to execute 2nd report in <b>background mode</b> only.
    Regards
    deepak

    This is the Basic code to Achieve that.
    Call Function 'JOB_OPEN'
    SUBMIT RSBDCBTC
    via background Job <Job info>
    With QIE = <QID Returned by BDC_OPEN_Group FM>
    AND RETURN.
    Call Function 'JOB_CLOSE'
    2) Also go through this
    DATA: lv_job_name         LIKE tbtco-jobname,
    lv_job_nr           LIKE tbtco-jobcount,
    lv_job_released     TYPE c,
    lv_job_start_sofort TYPE c,
    lv_print_parameters TYPE pri_params.
    lv_job_name = 'Z_BGPROGRAM'.
      CALL FUNCTION 'JOB_OPEN'
        EXPORTING
          jobname          = lv_job_name
        IMPORTING
          jobcount         = lv_job_nr
        EXCEPTIONS
          cant_create_job  = 1
          invalid_job_data = 2
          jobname_missing  = 3
          OTHERS           = 4.
      IF syst-subrc = 0.
    " submit job with all the selection screen params...
        SUBMIT (lv_job_name)
            WITH applfile = applfile " these are the parameters of the background program
            WITH p_lines = p_lines
            USER syst-uname " you must use this
           VIA JOB lv_job_name NUMBER lv_job_nr AND RETURN.
        IF sy-subrc = 0.
          CALL FUNCTION 'JOB_CLOSE'
            EXPORTING
              jobcount             = lv_job_nr
              jobname              = lv_job_name
              strtimmed            = 'X'
            IMPORTING
              job_was_released     = lv_job_released
            EXCEPTIONS
              cant_start_immediate = 1
              invalid_startdate    = 2
              jobname_missing      = 3
              job_close_failed     = 4
              job_nosteps          = 5
              job_notex            = 6
              lock_failed          = 7
              OTHERS               = 8.
          IF syst-subrc <> 0.
            MESSAGE i162(00) WITH
            'An error occured while closing the background job.'.
            STOP.
          ENDIF.
        ENDIF.
      ENDIF.
      SKIP 1.
      WRITE: / 'Background process', lv_job_name , 'called successfully' NO-GAP.
      WRITE: / 'You can check the job in transaction SM37'.
    Thanks

  • Schedule measurement in SE30 - running a report in the background

    Dear experts,
    I have a long running ABAP report and I will need to analyze its runtime for performance improvements.
    How may I correctly run this ABAP report in the background from SE30 (runtime analysis tool)? The report has to be run using a specific variant for its selection screen inputs as well.
    This is what I have done:
    1. Go to SE30
    2. Click on "For User/Service" button under "Schedule"
    3. Create new Schedule Measurement with the following details:-
      - User (<my user name>),
      - Client (<properly specified>),
      - External Session (Any),
      - Processing Category (Background Processing),
      - Object Type (Report),
      - Object Name (<ABAP report program name>),
      - Max. No. of Scheduled Measurements (1),
      - Expiration Date & Time (<properly specified>)
    5. In the screen "Overview of Scheduled Measurements", I have the following displayed as well:-
      - Scheduled = 1
      - Started = 0
      - Errors = 0
      - Status = Being processed
    Am I still on the right track here? (Started = 0 and there was no way I could specify the variant for the selection screen input values too)
    Please help. Appreciate any inputs at all.
    Thanks.

    Hi,
    you can try it with ST12 and the <ALL Servers> Option for tasktype B.
    see this blog:
    /people/hermann.gahm/blog/2010/03/22/st12-150-tracing-user-requests-tasks-http
    ST12 uses SE30 / ST05 behind the covers. But here you can switch on
    the trace for all servers and therefore don't have to take care for that yourself.
    Kind regards,
    Hermann

  • Run the Report as a Background job and Get the Output in Excel in Local PC

    Hello Gurus,
    I have one following requirement.
    One should be able to run the report as a background job and it should be possible to get the report in Excel format, also when running the report in background. The excel report should have the same information and look as the current SAPreport.
    Please provide some solution.
    Any helpful answer get surely awarded.
    Thanks a lot,
    Varlanir

    GUI_* WS_* Function In Background, CSV Upload
    GUI_* and WS_* function modules do not work in background
    When scheduling a job in the background the appropriate statement to read in your file is OPEN DATASET, and the file must be on the file system that the SAP server can see.
    At anytime, a user can switch of the Personal Computers even though the job is still running in the background.  Therefore GUI_* and WS_* function modules are not designed to work in that way, as they need to access your personal computer  file.
    To choose the correct download method to used, you can check the value of SY-BATCH in your code,
    if it is 'X' use OPEN DATASET and if it is ' ' use WS_UPLOAD.
    *-- Open dataset for reading
    DATA:
      dsn(20) VALUE '/usr/test.dat',
      rec(80).
    OPEN DATASET dsn FOR INPUT IN TEXT MODE.
    IF sy-subrc = 0.
      DO.
        READ DATASET dsn INTO rec.
        IF sy-subrc <> 0.
          EXIT.
        ELSE.
          WRITE / rec.
        ENDIF.
      ENDDO.
    ENDIF.
    CLOSE DATASET dsn.
    *-- Open dataset for writing
    DATA rec(80).
    OPEN DATASET dsn FOR OUTPUT IN TEXT MODE.
      TRANSFER rec TO '/usr/test.dat'.
    CLOSE DATASET dsn.
    What is the difference when we use upload, ws_upload, gui_upload function modules?
    UPLOAD, WS_UPLOAD, GUI_UPLOAD, are used in BDC concepts.  ie., Batch Data Communication.
    Batch Data Conversion is a concept where user can transfer the Data from non SAP to SAP R/3.  So , in these various Function Modules are used.
    UPLOAD---  upload a file to the presentation server (PC)
    WS_UPLOAD----    Load Files from the Presentation Server to Internal ABAP Tables.
    WS means Work Station.
    This is used upto SAP 4.6 version.
    GUI_UPLOAD-------    Replaces WS_UPLOAD. Upoad file from presentation server to the app server.  From 4.7 SAP version it is replaced.
    How to Upload csv file to SAP?
    Common File Download Upload Questions:
    How  you upload the data from text file to sap internal table?  From my knowledge its by upload or gui_upload. 
    How you download the data from sap internal table to text file?
    How  you upload the data from xls (excel) file to sap internal table how you download the data from sap internal table to xls(excel) file.
    You can upload data from presentation server to an internal table using gui_upload. Use gui_download to download from internal table to flat file.
    Use fm ALSM_EXCEL_TO_INTERNAL_TABLE to upload data frm excel.
    Use function module GUI_UPLOAD
    The FILETYPE refer to the type of file format you need: For e.g 'WK1' - Excel format , 'ASC' - Text Format etc.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        FILENAME                      = 'C:\test.csv'
       FILETYPE                      = 'ASC'
      TABLES
        DATA_TAB                      = itab
    EXCEPTIONS
       FILE_OPEN_ERROR               = 1
       FILE_READ_ERROR               = 2
       NO_BATCH                      = 3
       GUI_REFUSE_FILETRANSFER       = 4
       INVALID_TYPE                  = 5
       NO_AUTHORITY                  = 6
       UNKNOWN_ERROR                 = 7
       BAD_DATA_FORMAT               = 8
       HEADER_NOT_ALLOWED            = 9
       SEPARATOR_NOT_ALLOWED         = 10
       HEADER_TOO_LONG               = 11
       UNKNOWN_DP_ERROR              = 12
       ACCESS_DENIED                 = 13
       DP_OUT_OF_MEMORY              = 14
       DISK_FULL                     = 15
       DP_TIMEOUT                    = 16
       OTHERS                        = 17.

  • Creation of Spool for a Report Output in background.

    Hi Gurus,
    I am working on a Report and my requirement is that a Spool should be Generated for the Report Output in background. Instead of generating the spool manually, I need it to be generated in background.
    Please let me know ASAP.
    Regards,
    Amit.

    Get print parameters using 'GET_PRINT_PARAMETERS'.
      DATA : rep LIKE pri_params-plist,
    w_title TYPE tsp01-rqtitle,
    mstr_print_parms LIKE pri_params.
      CALL FUNCTION 'GET_PRINT_PARAMETERS'
        EXPORTING destination           = 'LP01'
                  copies                = 1
                  list_name             = rep
                  list_text             = w_title
                  immediately           = 'X'
                  release               = 'X'
                  new_list_id           = 'X'
                  expiration            = 1
                  line_size             = 132
                  line_count            = 65
                  layout                = 'X_65_132'
                  sap_cover_page        = 'X'
                  cover_page            = ' '
                  receiver              = sy-uname
                  department            = 'System'
                  no_dialog             = 'X'
        IMPORTING out_parameters        =  mstr_print_parms
      valid = mc_valid.
    and then use submit statement-
      SUBMIT
      zp1012_ar_rep_vendstat
      TO SAP-SPOOL
      WITHOUT SPOOL DYNPRO
              SPOOL PARAMETERS mstr_print_parms
      WITH s_lifnr IN s_lifnr
      WITH p_bukrs eq p_bukrs
      WITH s_gjahr eq p_gjahr SIGN 'I'
      WITH s_monat BETWEEN p_per-low AND p_per-high SIGN 'I'
                       AND RETURN.
      COMMIT WORK.
    Regards,
    Aparna Gaikwad

  • How to set the report path in a model plugin

    I am trying to figure out how to set the report path in a process model plug-in. I can seem to figure out how to get access to it. It seems like this would be a reasonable thing to do since the plug-ins are for results processing. Does anyone know how to do this? We typically use the Sequential process model but I am trying to keep my plug-in as independent of that as possible. 
    Thanks.
    Solved!
    Go to Solution.

    If I understand, you want your plug-in, when enabled, to alter the settings of any other instances of the NI report plug-in such that their reports share the same directory as your plug-in is configured to use.
    If so, your plug-in can access and modify the settings of all other plug-in instances. All instances are passed to all plug-in entries point in the plugins array sub-property of the ModelConfiguration parameter. You can iterate through this array. Any element of the array with a Base.SequenceFilename equal to "NI_ReportGenerator.seq" is an instance of the NI report plug-in. Its report options are stored in the element under PluginSpecific.Options.
    You can change the report options to what ever you want. Note that the ReportOptions model callback is called from the Initialize model-plugin entry point, so you might want to ensure that your changes are applied after that, so they aren't overwritten. To do that, you could make your changes in the the Initialize entry point of your plug-in, and ensure that your plugin runs last. To make it run last, you could set the FileGlobals.ModelPluginComponentDescription.Default.Base.RunOrder in your plug-in file to a value greater than 0, such as 1.0 (see TestStand Help>>Fundamentals>>Process Model Architecture>>Process Model Plug-in Architecture>>Structure of Plug-in Sequence Files>>Model Plug-in Entry Points>>Order of Entry Point Execution at Run Time).

  • How to set a image as a background in a frame

    How to set a image as a background in a frame

    The following code works well in Notepad command prompt but it is not working on netbeans
    I want to set a background image in a frame(awt or swings ny will do) or a panel through netbeans
    1. import java.awt.*;
    2. import java.awt.event.*;
    3.
    4. public class ImageFrame extends Frame
    5. { 
    6. private ImageCanvas c;
    7. private Image i;
    8. ImageFrame( Image i )
    9. { 
    10. this.i = i;
    11. c = new ImageCanvas( i );
    12. add( c );
    13. }
    14.
    15. public static void main( String[] args )
    16. { 
    17. Toolkit tk = Toolkit.getDefaultToolkit();
    18.
    20. Image im = tk.getImage( "WashuChan.gif" );
    21. ImageFrame f = new ImageFrame( im );
    22. f.addWindowListener( new WindowAdapter()
    23. { 
    24. public void windowClosing( WindowEvent e )
    25. {  
    26. System.exit( 0 );
    27. }
    28. } );
    29. f.setSize( 300, 300 );
    30. f.show();
    31. }
    32.
    33. private class ImageCanvas extends Canvas
    34. { 
    35. Image i;
    36.
    37. public ImageCanvas( Image i )
    38. { 
    39. this.i = i;
    40. }
    41.
    42. public void paint( Graphics g )
    43. { 
    44. g.drawImage( i, 0, 0, this );
    45. }
    46.
    47. public Dimension getPreferredSize()
    48. { 
    49. int w = i.getWidth( this );
    50. int h = i.getHeight( this );
    51. return new Dimension( w, h );
    52. }
    53. }
    54. }

  • Setting a jpanel as a background image

    i have managed to load the image into a jpanel but now need to know how to set the jpanel as a background image, to allow my jbuttons and textfields to be seen over the top

    that statement is unbeleivably true.
    right, heres my two classes, the first class is where i created the image
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.* ;
    import java.io.*;
    import javax.imageio.*;
    public class EmailBackgroundImage extends JComponent
    public void paint (Graphics g)
    File bkgdimage = new File ("background.jpg");
    Image imagebg = createImage ( 250,300 );
    try {
    imagebg = ImageIO.read(bkgdimage);
    catch (IOException e)
    g.drawImage(imagebg, 0, 0,null,null);
    this next class is where i'm trying to make the background
    youll notice remnants of my current attempt to create the background image.
    in its current state it does compile
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.* ;
    import java.sql.*;
    import java.util.*;
    import java.awt.color.*;
    public class emailFrontpage extends JFrame implements ActionListener
    JLabel FirstNameLabel = new JLabel("First Name");
    JLabel LastNameLabel = new JLabel("Last Name");
    JLabel EmailLabel = new JLabel("Email Address");
    JTextField FirstNameText = new JTextField( 10 );
    JTextField LastNameText = new JTextField( 10 );
    JTextField EmailAddressText = new JTextField( 20 );
    JPanel panel1 = new JPanel();
    JPanel panel2 = new JPanel();
    JPanel panel3 = new JPanel();
    JPanel panel4 = new JPanel();
    JPanel panel5 = new JPanel();
    JPanel image = new JPanel();
    JButton Enterbutton = new JButton("Enter Details");
    JButton Logon = new JButton("Log on");
    EmailBackgroundImage myimage;
    EmailEdit editEmp;
    emailFrontpage()
    getContentPane().setLayout( new BoxLayout( getContentPane(), BoxLayout.Y_AXIS ));
    myimage = new EmailBackgroundImage();
    image.add(myimage);
    myimage.setSize(250,300);
    image.setOpaque( false );
    FirstNameLabel.setForeground(Color.WHITE);
    LastNameLabel.setForeground(Color.WHITE);
    EmailLabel.setForeground(Color.WHITE);
    panel1.add(Logon);
    panel2.add(FirstNameLabel); panel2.add(FirstNameText);
    panel3.add(LastNameLabel); panel3.add(LastNameText);
    panel4.add(EmailLabel); panel4.add(EmailAddressText);
    panel5.add(Enterbutton);
    getContentPane().add(image);
    getContentPane().add(panel1);
    getContentPane().add(panel2);
    getContentPane().add(panel3);
    getContentPane().add(panel4);
    getContentPane().add(panel5);
    // .setBackground( Color.black )
    Enterbutton.addActionListener( this );
    Logon.addActionListener( this );
    Enterbutton.setActionCommand( "ENTERBUTTONPRESSED" );
    Logon.setActionCommand( "LOGONBUTTONPRESSED" );
    setDefaultCloseOperation( WindowConstants.EXIT_ON_CLOSE );
    editEmp = new EmailEdit();
    public void actionPerformed( ActionEvent evt)
    if ( evt.getActionCommand().equals("LOGONBUTTONPRESSED") )
    emailLogonpage emaillogon = new emailLogonpage();
    emaillogon.setSize( 250, 300 );
    emaillogon.setVisible( true );
    emaillogon.setResizable(false);
    setVisible(false);
    else
    String newFN = FirstNameText.getText();
    String newLN = LastNameText.getText();
    String newEA = EmailAddressText.getText();
    editEmp.addNewEmail(newFN, newLN, newEA);
    setVisible(false);
    emailFrontpage emailfront = new emailFrontpage();
    emailfront.setSize( 250, 300 );
    emailfront.setVisible( true );
    emailfront.setResizable(false);
    public static void main ( String[] args )
    emailFrontpage emailfront = new emailFrontpage();
    emailfront.setSize( 250, 300 );
    emailfront.setVisible( true );
    emailfront.setResizable(false);
    }

  • How do I set the stage (or the background in the stage?) to be transparent?

    How do I set the stage (or the background in the stage?) to be transparent?
    Thanks
    Gary

    Select Stage.
    Color Swatch
    Then set the Alpha slider to 0.
    Darrell

  • Steps involved in Orcale apps 11i for setting a report to run automatically

    I want to run a report automatically every day in oracle apps 11i.
    I have created the rdf file using reports 6i and I have registered it in oracle apps. Now i would to like to know what are the procedures involved in setting this report to run automatically.Pls. help.
    Thanks in advance

    When you are submit your concurrent program to run
    in At These Times section Go to Schedule Button section...
    there you can schedule accordingly

Maybe you are looking for