I can't over give my variable to the return in the get Method!

Hello Java Cracks
At the moment I am working with JDOM. I am able to get access to the XML File with JDOM, but when I want to send, the value of a variable, which I get from the XML File it is not possible. When I try to send the variable to the get Method (getDtdVersion), the value I over give is always �null�. Please help me, and say what the problem is?
I also post you the second class, where I want to use the variable I over give.
Here is my code:
Class 1, I take the String from this class. See the arrow
package FahrplanXML;
import java.io.File;
import java.io.IOException;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;
import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.xml.sax.InputSource;
public class FileAuswahl {
private File filenames;
private String scheduledtdversion;
public void ablauf() throws JDOMException, IOException {
FileAuswaehlen();
saxwer();
grundoberflaeche xmloberflaeche = new grundoberflaeche();
xmloberflaeche.grundoberflaechen();
public void FileAuswaehlen() {
JFileChooser datei = new JFileChooser();
datei.setFileFilter(new FileFilter()
@Override public boolean accept (File f)
return f.isDirectory() ||
f.getName().toLowerCase().endsWith(".xml");
@Override public String getDescription()
return "XML-Files";
int state = datei.showOpenDialog(null);
if (state == JFileChooser.APPROVE_OPTION )
filenames = datei.getSelectedFile();
System.out.println (filenames);
if (filenames != null)
try {
System.out.print(filenames);
saxwer();
} catch (JDOMException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
else
System.out.println("Kein File ausgew�hlt");
else
System.out.println("Auswahl abgebrochen");
System.exit(0);
//Ausgew�hlter Dateiname an saxwer �bergeben
public File getNames() {
System.out.println (filenames);
return this.filenames;
public void saxwer() throws JDOMException, IOException {
//FileAuswahl filename = new FileAuswahl();
File files = getNames();
System.out.println (files);
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(files);
Element schedulemessage = doc.getRootElement();
//Root Element auslesen
String sch_msg_dtdversion = schedulemessage.getAttributeValue ("DtdVersion"); // <---
scheduledtdversion = sch_msg_dtdversion;
new grundoberflaeche().grundoberflaechen();
public String getDtdVersion() {
System.out.println (scheduledtdversion);
return this.scheduledtdversion;
Now, you will see the class in which I pass the String. See also arrow...
package FahrplanXML;
import java.awt.Component;
import java.awt.Container;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.text.Caret;
import org.jdom.Attribute;
import org.jdom.JDOMException;
public class grundoberflaeche {
// Layout f�r Laender vorbereiten
static void addComponent (Container cont,
GridBagLayout diversemoegl,
Component laenderdetails,
int x, int y,
int width, int height,
double weightx, double weighty )
GridBagConstraints grundoberflaechen = new GridBagConstraints();
grundoberflaechen.fill = GridBagConstraints.BOTH;
grundoberflaechen.gridx = x; grundoberflaechen.gridy = y;
grundoberflaechen.gridwidth = width; grundoberflaechen.gridheight = height;
grundoberflaechen.weightx = weightx; grundoberflaechen.weighty = weighty;
diversemoegl.setConstraints(laenderdetails, grundoberflaechen);
cont.add(laenderdetails);
//Ausw�hlen des XML Files
public void XMLAuswaehlen() {
JFrame xmlauswahl = new JFrame("Fahrplan ausw�hlen");
xmlauswahl.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container laenderdetails = xmlauswahl.getContentPane();
GridBagLayout diversemoegl = new GridBagLayout();
laenderdetails.setLayout(diversemoegl);
JButton dateiauswahl = new JButton ("Datei ausw�hlen");
addComponent(laenderdetails,diversemoegl,dateiauswahl,1,1,1,1,1,1);
ActionListener ersterdateiauswaehler = new ActionListener()
public void actionPerformed( ActionEvent e)
try {
new FileAuswahl().ablauf();
} catch (JDOMException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
dateiauswahl.addActionListener(ersterdateiauswaehler);
xmlauswahl.setSize(150,70);
xmlauswahl.setVisible(true);
//Layout machen
public void grundoberflaechen() {
JFrame fahrplan = new JFrame("Fahrplanauswahldetails");
fahrplan.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container laenderdetails = fahrplan.getContentPane();
GridBagLayout diversemoegl = new GridBagLayout();
laenderdetails.setLayout(diversemoegl);
//Klassenobjekt aufbauen
FileAuswahl fileauswahl = new FileAuswahl();
// Labelsbauen und einbauen in den Fahrpl�nen
String dtdversion = fileauswahl.getDtdVersion(); // <---
System.out.println(dtdversion);
JTextField DtdVersion = new JTextField(1);
DtdVersion.setText(dtdversion);
JTextField fahrplanzeit = new JTextField(1);
fahrplanzeit.setText("123");
JTextField fahrplanzeita = new JTextField(1);
fahrplanzeita.setText("piips");
//JButton oesterreich = new JButton("�sterreich");
//JButton italien = new JButton("Italien");
//JButton frankreich = new JButton("Frankreich");
//JButton spanien = new JButton("Spanien");
addComponent(laenderdetails,diversemoegl,new JLabel("Fahrplandetails"),0,0,1,1,0,0);
addComponent(laenderdetails,diversemoegl,DtdVersion,1,0,1,1,0,0);
addComponent(laenderdetails,diversemoegl,fahrplanzeit,2,0,1,1,0,0);
addComponent(laenderdetails,diversemoegl,fahrplanzeita,3,0,1,1,0,0);
// Action Listener f�r Dateiauswahl
// Action Listener f�r das Speichern der Datei
//addComponent(laenderdetails,diversemoegl,frankreich,2,1,1,1,0,0);
//addComponent(laenderdetails,diversemoegl,spanien,3,1,1,1,0,0);
fahrplan.setSize(600,750);
fahrplan.setVisible(true);
Thank you very much for your help....
Your Java Learner

I suspect you are setting the scheduledtdversion member in one instance of your FileAuswahl class, but are creating yet another instance of that class and printing the member of that instance, which is null. I notice you are creating a new FileAuswahl instance each time something happens, rather than reusing the same instance.
FileAuswahl fileauswahl = new FileAuswahl();Ok, new object here. Not the same one that you previously set the scheduledtdversion member in
String dtdversion = fileauswahl.getDtdVersion();It's null of course, for the reason above.

Similar Messages

  • HT1600 Since the latest up-date I can't see any movies.  I always returns to the main menu.  Is anyone else having this problem and how do I fix it?

    Since the latest up-date I can't see any movies.  It always returns to the main menu.  Is anyone else having this problem and how do I fix it?  We have gone 3 days without the use of renting movies.

    Welcome to the Apple Community.
    First you should try logging out of your iTunes Store account (settings > iTunes Store > accounts) and then back in again.
    If that doesn't help, try resetting the Apple TV (Settings > General > Reset > Reset all settings). You should also try restarting your router.
    If both of the above don't help, you should try a restore (Settings > General > Reset > Restore).

  • How can I display a changing variable in a subvi on the front panel of the main vi as the subvi is excuting

    In the document attached the vi on the right is sub to the vi on the left. On the subvi on the right the variable "Field Reading" is continuously updated on the front panel of the subvi as the "for" loop is executed, but only the last value of the variable is updated on the main vi front panel which is what is expected. My question is how can I display the changing value of "Field Reading" on the main vi front panel as the "for" loop in the subvi is running?
    Thank you.
    Solved!
    Go to Solution.
    Attachments:
    Doc2.docx ‏554 KB

    Hopefully I can explain it well enough. It really is simple.
    1) Create an empty global variable and call it something like User Interface References.vi
    2) For each and every control and indicator on your front panel, right-click and select Create/Reference
    3) Place these references wherever you like (I use a series of Event cases to perform my initialisation and these all live in one of these event cases). They can be placed anywhere in the main vi.
    4) For each of the references, right-click and select Create/Indicator
    5) Moving to the front panel, Cut all the indicators and Paste them in the global variable (eg. User Interface References.vi)
    6) Moving back to the block diagram, wire the global variable to each of the references and select the same named global variable.
    All the hard work is now done (until you add another user interface terminal). You should now have something that look as shown below, [except the reference labels would be to the left (not sure why the snippet put them above)]. In my latest program I have 82 references!
    Done. You can now access all your front panel controls and indicators anywhere in your program as shown below.
    You can just select Value in most cases, but in this particular case I wanted to fire off an Event to do some things (log the alarm) as well as just update the value. So, this is another bonus with the method.
    Hopefully this all makes sense. If not, let me know.

  • Exporting Audio to Movie now gives: Error Code 1 was returned by the Audio

    The only thing I've changed on my system is the 10.1.2 iTunes update. Now when I'm exporting audio to a movie in Logic Pro (32-bit mode), I'm getting the error: Error Code 1 was returned by the Audio driver. I'd test this on my MBPro where I've not yet updated iTunes to indeed see if it is related to the iTunes update, but my drive is not fast enough to handle the HD video.

    it could be the Motu driver if you have not updated it since upgrading to Tiger. here is a link
    http://lasso.motu.com/downloads/filelist.lasso?&-Database=downloads&-Table=dldb&-Op=cn&product=firewireaudio&-Op=cn&platform=macx&-sortfield=date&-sortorder=descending&-search

  • I need to delete my sync account so I can start over!

    I have forgotten my secret phrase! I need to 'find' it or delete the account so I can start over. Thanks

    Check your password manager. On the [[Options window - Security panel]], click on the "Saved Passwords" button to open the password manager, then click on the "Show Passwords" button in the manager. In the search field type '''chrome''', your password and secret phrase should be listed there.

  • "You can only rename functions and variables"

    G’day
    I have this:
    <!--- this comment breaks it --->
    <cfloop from="1" to="5" index="idx">
    <cfoutput>#idx#<br /></cfoutput>
    </cfloop>     
    If I select "idx" and go right click > refactor > rename, I get a popup saying "You can only rename functions and variables."
    If I take the comment out... works fine.
    Weird.
    Adam

    i have a problem to opening my firfox home page . help me please

  • Existing files on drive connected to latest Airport Extreme do not show up, however files copied over the air to the drive do. Any ideas?

    I have the latest Airport Extreme with a Seagate drive connected. I copied files to the drive while it was connected to my MacBook Pro. The files do not show up when connected to the AE, but they appear when connected to the Macbook, Files copied over the network to the drive appear. The drive is formatted HFS+.

         After playing with this for the last few days, I found a solution. Under the "Disks" tab in Airport Utility, the "Secure Shared Disks" drop down needs to be set to "With device password". Mine was set to "With acounts", which even after correct authentication, none of the files would appear.
         Another interesting note:  The files that I could see, the ones I copied over the network, do not appear now. I can copy over new files, and they show up, but the ones copied prior to changing the "Secure Shared Disks" option, do not.

  • How can I associate unique information/ variables with different instances of attachMovie when creat

    I'm creating an interactive animation of an experiment, whereby the user has to detect if there is an oil well lying beneath the surface by selecting and drilling a series of coordination points on a map.
    I've done the first stage by setting up a background image containing a grid of 20 x 20 coordinate points, eg columns 1 - 20 and rows A - T. Over the top of this, I've created a dynamic array of clickable objects (open circles) and the centre of each one is  placed over a coordinate point, so when you mouseover a coordinate point, eg C3,  an open circle becomes visible and when you rollout, it becomes invisible again.
    However, I'm stuck on the next stage. I need to be able to assign unique variables to one or more clickable objects (open circles). Is it possible to do that? For example:
    a)give grid point coordinates to each object (open circle), so for example if someone rolls over the C3 coordinate, the open circle (object) associated with that coordinate, a message will display: "Click on the grid point to drill at C3"
    b)assign a variable to one or more objects, so that when an open circle is clicked, the animation associated with that coordination point will be triggered. There will be different animations, depending upon which object (point is clicked)
    There are other variables that will need to be setup, but if I know how to assign variables to one or more objects, I can probably figure out the rest.
    Here's a copy of my code so far:-
    //set up grid for solid array
    spacing = 5.75;
    cols = 20; // number of columns in grid
    rows = 20; // number of rows in grid
    leftMargin = 154;
    topMargin = 169;
    depth = 100; // starting point for depth
    for (i=1; i<=rows; i++) {                                                                                                        
    for (j=1; j<=cols; j++) {                                                                                                         
    current = attachMovie("openCircle_mc", "openCircle_mc"+i+"_"+j, depth++);
    current._x = leftMargin + ((i-1) * (spacing + current._width));
    current._y = topMargin + ((j-1) * (spacing + current._height));
    //open circle initially invisible, visible on rollOver
    current._alpha = 0;
    current.onRollOver = function() {
               this._alpha = 100;
    current.onRollOut = function() {
               this._alpha = 0;
    Below is the background and a rolled over instance of the 'openCircle' object at 'C3'.
    I'd very much appreciate some help. Thanks very much.
    Pippa

    you can assign properties (and methods) to movieclips:
    //set up grid for solid array
    spacing = 5.75;
    cols = 20; // number of columns in grid
    rows = 20; // number of rows in grid
    leftMargin = 154;
    topMargin = 169;
    depth = 100; // starting point for depth
    for (i=1; i<=rows; i++) {                                                                                                         
    for (j=1; j<=cols; j++) {                                                                                                          
    current = attachMovie("openCircle_mc", "openCircle_mc"+i+"_"+j, depth++);
    current._x = leftMargin + ((i-1) * (spacing + current._width));
    current._y = topMargin + ((j-1) * (spacing + current._height));
    current.row=i;
    current.col=j;
    current.oil = Math.floor(Math.random()*1.1);  // about 1/10 objects have oil=1, 9/10 oil=0
    //open circle initially invisible, visible on rollOver
    current._alpha = 0;
    current.onRelease=function(){
    trace(this.row+" "+this.col+" "+this.oil);
    current.onRollOver = function() {
               this._alpha = 100;
    current.onRollOut = function() {
               this._alpha = 0;

  • Can any one give me answer for these questions

    Can any one give me answer for these questions. I  got these questions from net plz post the answers you know
    ABAP CERTIFICATION QUESTIONS
    1. If a table does not have MANDT as part of the primary key, it is ____.
    A: A structure
    B: Invalid
    C: Client-independent
    D: Not mandatory
    2. In regard to CALL, which of the following is NOT a valid statement?
    A: CALL FUNCTION
    B: CALL SCREEN
    C: CALL TRANSACTION
    D: CALL PROGRAM
    3. Name the type of ABAP Dictionary table that has these characteristics:
    Same number of fields as the database table
    Same name as database table
    Maps 1:1 to database table
    A: Pooled
    B: Cluster
    C: Transparent
    D: View
    4. An event starts with an event keyword and ends with:
    A: Program execution.
    B: END-OF-EVENT.
    C: Another event keyword.
    D: END-EVENT.
    5. What is the system field for the current date?
    A: SY-DATUM
    B: SY-DATE
    C: SY-DATID
    D: SY-SDATE
    6. The following code indicates:
    SELECT fld1 fld2 FROM tab1 APPENDING TABLE itab
    WHERE fld1 IN sfld1.
    A: Add rows to the existing rows of itab.
    B: Add rows to itab after first deleting any existing rows of itab.
    C: Select rows from tab1 for matching itab entries.
    D: Nothing, this is a syntax error.
    7. You may change the following data object as shown below so that it equals 3.14.
    CONSTANTS: PI type P decimals 2 value '3.1'.
    PI = '3.14'.
    A: True
    B: False
    8. The SAP service that ensures data integrity by handling locking is called:
    A: Update
    B: Dialog
    C: Enqueue/Dequeue
    D: Spool
    9. Which of these sentences most accurately describes the GET VBAK LATE. event?
    A: This event is processed before the second time the GET VBAK event is processed.
    B: This event is processed after all occurrences of the GET VBAK event are completed.
    C: This event will only be processed after the user has selected a basic list row.
    D: This event is only processed if no records are selected from table VBAK.
    10. Which of the following is not a true statement in regard to a hashed internal table type?
    A: Its key must always be UNIQUE.
    B: May only be accessed by its key.
    C: Response time for accessing a row depends on the number of entries in the table.
    D: Declared using internal table type HASHED TABLE.
    11. TO include database-specific SQL statements within an ABAP program, code them between:
    A: NATIVE SQL_ENDNATIVE.
    B: DB SQL_ENDDB.
    C: SELECT_ENDSELECT.
    D: EXEC SQL_ENDEXEC.
    12. To measure how long a block of code runs, use the ABAP statement:
    A: GET TIME .
    B: SET TIME FIELD .
    C: GET RUN TIME FIELD .
    D: SET CURSOR FIELD .
    13. When a secondary list is being processed, the data of the basic list is available by default.
    A: True
    B: False
    14. Given:
    DATA: BEGIN OF itab OCCURS 10,
    qty type I,
    END OF itab.
    DO 25 TIMES. itab-qty = sy-index. APPEND itab. ENDDO.
    LOOP AT itab WHERE qty > 10.
    WRITE: /1 itab-qty.
    ENDLOOP.
    This will result in:
    A: Output of only those itab rows with a qty field less than 10
    B: Output of the first 10 itab rows with a qty field greater than 10
    C: A syntax error
    D: None of the above
    15. After a DESCRIBE TABLE statement SY-TFILL will contain
    A: The number of rows in the internal table.
    B: The current OCCURS value.
    C: Zero, if the table contains one or more rows.
    D: The length of the internal table row structure.
    16. You may declare your own internal table type using the TYPES keyword.
    A: True
    B: False
    17. After adding rows to an internal table with COLLECT, you should avoid adding more rows with APPEND.
    A: True
    B: False
    18. Which of the following is not a component of control break processing when looping at an internal table?
    A: AT START OF
    B: AT FIRST
    C: AT LAST
    D: AT NEW
    19. A dictionary table is made available for use within an ABAP program via the TABLES statement.
    A: True
    B: False
    20. Which of the following would be best for hiding further selection criteria until a function is chosen?
    A: AT NEW SELECTION-SCREEN
    B: SELECTION-SCREEN AT LINE-SELECTION
    C: SUBMIT SELECTION-SCREEN
    D: CALL SELECTION-SCREEN
    21. What must you code in the flow logic to prevent a module from being called unless a field contains a non-initial value (as determined by its data type)?
    A: ON INPUT
    B: CHAIN
    C: FIELD
    D: ON REQUEST
    22. The AT USER-COMMAND event is triggered by functions defined in the ____.
    A: screen painter
    B: ABAP report
    C: menu painter status
    D: ABAP Dictionary
    23. In regard to a function group, which of the following is NOT a true statement?
    A: Combines similar function modules.
    B: Shares global data with all its function modules.
    C: Exists within the ABAP workbench as an include program.
    D: Shares subroutines with all its function modules.
    24. In regard to SET PF-STATUS, you can deactivate unwanted function codes by using ____.
    A: EXCLUDING
    B: IMMEDIATELY
    C: WITHOUT
    D: HIDE
    25. In regard to data transported in PAI when the FIELD statement is used, which of the following is NOT a true statement?
    A: Fields in PBO are transported directly from PAI.
    B: Fields with identical names are transported to the ABAP side.
    C: Fields not defined in FIELD statements are transported first.
    D: Fields that are defined in FIELD statements are transported when their corresponding module is called.
    26. The order in which an event appears in the ABAP code determines when the event is processed.
    A: True
    B: False
    27. A field declared as type T has the following internal representation:
    A: SSMMHH
    B: HHMMSS
    C: MMHHSS
    D: HHSSMM
    28. Which of the following is NOT a component of the default standard ABAP report header?
    A: Date and Time
    B: List title
    C: Page number
    D: Underline
    29. Assuming a pushbutton with function code 'FUNC' is available in the toolbar of a list report, what event is processed when the button is clicked?
    A: AT USER-COMMAND.
    B: AT PFn.
    C: AT SELECTION-SCREEN.
    D: END-OF-SELECTION.
    30. In regard to field selection, what option of the SELECT statement is required?
    A: FOR ALL ENTRIES
    B: WHERE
    C: INTO
    D: MOVE-CORRESPONDING
    31. The following program outputs what?
    report zjgtest1
    write: /1 'Ready_'.
    PARAMETER: test.
    INITIALIZATION.
    write: /1 'Set_'.
    START-OF-SELECTION.
    write: /1 'GO!!'.
    A: Set_ GO!! (each on its own line)
    B: Set_ Ready_ GO!! (all on their own lines)
    C: Ready_ GO!! (each on its own line)
    D: Ready_ Set_ GO!! (all on their own lines)
    32. To declare a selection criterion that does not appear on the selection screen, use:
    A: NO-DISPLAY
    B: INVISIBLE
    C: MODIF ID
    D: OBLIGATORY
    33. An internal table that is nested within another internal table should not contain a header line.
    A: True
    B: False
    34. What is output by the following code?
    DATA: BEGIN OF itab OCCURS 0, letter type c, END OF itab.
    itab-letter = 'A'. APPEND itab. itab-letter = 'B'. APPEND itab.
    itab-letter = 'C'. APPEND itab. itab-letter = 'D'. APPEND itab.
    LOOP AT itab.
    SY-TABIX = 2.
    WRITE itab-letter.
    EXIT.
    ENDLOOP.
    A: A
    B: A B C D
    C: B
    D: B C D
    35. To select all database entries for a certain WHERE clause into an internal table in one step, use
    A: SELECT_INTO TABLE itab_
    B: SELECT_INTO itab_
    C: SELECT_APPENDING itab
    D: SELECT_itab_
    36. After a successful SELECT statement, what does SY-SUBRC equal?
    A: 0
    B: 4
    C: 8
    D: Null
    37. This selection screen syntax forces the user to input a value:
    A: REQUIRED-ENTRY
    B: OBLIGATORY
    C: DEFAULT
    D: SELECTION-SCREEN EXCLUDE
    38. If the following code results in a syntax error, the remedy is:
    DATA: itab TYPE SORTED TABLE OF rec_type WITH UNIQUE KEY field1
    WITH HEADER LINE.
    itab-field1 = 'Company'. itab-field2 = '1234'. INSERT TABLE itab.
    itab-field1 = 'Bank'. itab-field2 = 'ABC'. INSERT TABLE itab.
    SORT itab.
    LOOP AT itab.
    write: /1 itab-field1, itab-field2.
    ENDLOOP.
    A: There is no syntax error here
    B: Remove the SORT statement
    C: Change INSERT to APPEND
    D: Add a WHERE clause to the loop
    39. If this code results in an error, the remedy is:
    SELECT fld1 fld2 FROM tab1 WHERE fld3 = pfld3.
    WRITE: /1 tab1-fld1, tab1-fld2.
    ENDSELECT.
    A: Add a SY-SUBRC check.
    B: Change the WHERE clause to use fld1 or fld2.
    C: Remove the /1 from the WRITE statement.
    D: Add INTO (tab1-fld1, tab1-fld2).
    40. When modifying an internal table within LOOP AT itab. _ ENDLOOP. you must include an index number.
    A: True
    B: False
    41. To allow the user to enter values on the screen for a list field, use:
    A: OPEN LINE.
    B: SET CURSOR FIELD.
    C: WRITE fld AS INPUT FIELD.
    D: FORMAT INPUT ON.
    42. Before a function module may be tested, it must first be:
    A: Linked
    B: Authorized
    C: Released
    D: Active
    43. To include a field on your screen that is not in the ABAP Dictionary, which include program should contain the data declaration for the field?
    A: PBO module include program
    B: TOP include program
    C: PAI module include program
    D: Subroutine include program
    44. If a table contains many duplicate values for a field, minimize the number of records returned by using this SELECT statement addition.
    A: MIN
    B: ORDER BY
    C: DISTINCT
    D: DELETE
    45. The system internal table used for dynamic screen modification is named:
    A: ITAB
    B: SCREEN
    C: MODTAB
    D: SMOD
    46. Within the source code of a function module, errors are handled via the keyword:
    A: EXCEPTION
    B: RAISE
    C: STOP
    D: ABEND
    47. Which system field contains the contents of a selected line?
    A: SY-CUCOL
    B: SY-LILLI
    C: SY-CUROW
    D: SY-LISEL
    48. The following statement writes what type of data object?
    WRITE: /1 'Total Amount:'.
    A: Text literal
    B: Text variable
    C: In-code comment
    D: Text integer
    49. For the code below, second_field is of what data type?
    DATA: first_field type P, second_field like first_field.
    A: P
    B: C
    C: N
    D: D
    50. Which of the following describes the internal representation of a type D data object?
    A: DDMMYYYY
    B: YYYYDDMM
    C: MMDDYYYY
    D: YYYYMMDD
    51. A BDC program is used for all of the following except:
    A: Downloading data to a local file
    B: Data interfaces between SAP and external systems
    C: Initial data transfer
    D: Entering a large amount of data
    52. In regard to PERFORM, which of the following is NOT a true statement?
    A: May be used within a subroutine.
    B: Requires actual parameters.
    C: Recursive calls are allowed in ABAP.
    D: Can call a subroutine in another program.
    53. What is the transaction code for the ABAP Editor?
    A: SE11
    B: SE38
    C: SE36
    D: SE16
    54. In regard to HIDE, which of the following is NOT a true statement?
    A: Saves the contents of variables in relation to a list line's row number.
    B: The hidden variables must be output on a list line.
    C: The HIDE area is retrieved when using the READ LINE statement.
    D: The HIDE area is retrieved when an interactive event is triggered.
    55. Database locks are sufficient in a multi-user environment.
    A: True
    B: False
    56. The complete technical definition of a table field is determined by the field's:
    A: Domain
    B: Field name
    C: Data type
    D: Data element
    57. In regard to LEAVE, which of the following is NOT a true statement?
    A: May be used to return immediately to a calling program.
    B: May be used to stop the current loop pass and get the next.
    C: May be used to start a new transaction.
    D: May be used to go to the next screen.
    58. The following code indicates:
    SELECT fld6 fld3 fld2 fld1 FROM tab1 INTO CORRESPONDING FIELDS OF TABLE itab
    WHERE fld3 = pfld3.
    A: The order of the fields in itab does not matter.
    B: Fill the header line of itab, but not the body.
    C: Table itab can only contain fields also in table tab1.
    D: None of the above.
    59. The ABAP statement below indicates that the program should continue with the next line of code if the internal table itab:
    CHECK NOT itab[] IS INITIAL.
    A: Contains no rows
    B: Contains at least one row
    C: Has a header line
    D: Has an empty header line
    60. What will be output by the following code?
    DATA: BEGIN OF itab OCCURS 0, fval type i, END OF itab.
    itab-fval = 1. APPEND itab.
    itab-fval = 2. APPEND itab.
    FREE itab.
    WRITE: /1 itab-fval.
    A: 2
    B: 0
    C: blank
    D: 1
    61. To allow the user to enter a range of values on a selection screen, use the ABAP keyword:
    A: DATA.
    B: RANGES.
    C: PARAMETERS.
    D: SELECT-OPTIONS.
    62. If an internal table is declared without a header line, what else must you declare to work with the table's rows?
    A: Another internal table with a header line.
    B: A work area with the same structure as the internal table.
    C: An internal table type using the TYPES statement.
    D: A PARAMETER.
    63. Assuming an internal table contains 2000 entries, how many entries will it have after the following line of code is executed?
    DELETE itab FROM 1500 TO 1700.
    A: This is a syntax error.
    B: 1801
    C: 1800
    D: 1799
    64. To remove lines from a database table, use ____.
    A: UPDATE
    B: MODIFY
    C: ERASE
    D: DELETE
    65. All of the following may be performed using SET CURSOR except:
    A: Move the cursor to a specific field on a list.
    B: Move the cursor to a specific list line.
    C: Move the cursor to a specific pushbutton, activating that function.
    D: Move the cursor to a specific row and column on a list.
    66. When is it optional to pass an actual parameter to a required formal parameter of a function module?
    A: The actual parameter is type C.
    B: The formal parameter contains a default value.
    C: The formal parameter's \"Reference\" attribute is turned on.
    D: It is never optional.
    67. Coding two INITIALIZATION events will cause a syntax error.
    A: True
    B: False
    68. Adding a COMMIT WORK statement between SELECT_ENDSELECT is a good method for improving performance.
    A: True
    B: False
    69. To save information on a list line for use after the line is selected, use this keyword.
    A: APPEND
    B: EXPORT
    C: WRITE
    D: HIDE
    70. To bypass automatic field input checks, include this in PAI.
    A: AT EXIT-COMMAND
    B: ON INPUT
    C: ON REQUEST
    D: LEAVE TO SCREEN 0.
    71. Within a function module's source code, if the MESSAGE_RAISING statement is executed, all of the following system fields are filled automatically except:
    A: SY-MSGTY
    B: SY-MSGNO
    C: SY-MSGV1
    D: SY-MSGWA
    72. The following code indicates:
    REPORT ZLISTTST.
    START-OF-SELECTION.
    WRITE: text-001.
    FORMAT HOTSPOT ON.
    WRITE: text-002.
    FORMAT HOTSPOT OFF.
    AT LINE-SELECTION.
    WRITE / text-003.
    A: Text-002 may not be selected.
    B: The value of text-002 is stored in a special memory area.
    C: Text-002 may be clicked once to trigger the output of text-003.
    D: None of the above.
    73. The ____ type of ABAP Dictionary view consists of one or more transparent tables and may be accessed by an ABAP program using Open SQL.
    A: Database view
    B: Projection view
    C: Help view
    D: Entity view
    74. A concrete field is associated with a field-symbol via ABAP keyword
    A: MOVE
    B: WRITE
    C: ASSIGN
    D: VALUE
    75. The output for the following code will be:
    report zabaprg.
    DATA: char_field type C.
    char_field = 'ABAP data'.
    WRITE char_field.
    A: ABAP data
    B: A
    C: Nothing, there is a syntax error
    D: None of the above
    76. Page footers are coded in the event:
    A: TOP-OF-PAGE.
    B: END-OF-SELECTION.
    C: NEW-PAGE.
    D: END-OF-PAGE.
    77. The event AT SELECTION-SCREEN OUTPUT. occurs before the selection screen is displayed and is the best event for assigning default values to selection criteria.
    A: True
    B: False
    78. The TABLES statement declares a data object.
    A: True
    B: False
    79. Assuming tab1-fld7 is not a key field, how can you prevent reading all the table rows?
    SELECT fld1 fld2 fld3 FROM tab1 INTO (fld4, fld5, fld6)
    WHERE fld7 = pfld7.
    WRITE: /1 fld4, fld5, fld6.
    ENDSELECT.
    A: Take fld7 out of the WHERE clause.
    B: Create an index in the ABAP Dictionary for tab1-fld7.
    C: Use INTO TABLE instead of just INTO.
    D: Take the WRITE statement out of the SELECT_ENDSELECT.
    80. Which of the following is NOT a required attribute when creating an ABAP program?
    A: Application
    B: Title
    C: Status
    D: Type
    81. When creating a transparent table in the ABAP Dictionary, which step automatically creates the table in the underlying database?
    A: Adding technical settings to the table
    B: Checking the table syntax
    C: Saving the table
    D: Activating the table
    82. Within the ABAP program attributes, Type = 1 represents:
    A: INCLUDE program
    B: Online program
    C: Module pool
    D: Function group
    E: Subroutine pool
    83. If this code results in an error, the remedy is:
    SELECT fld1 SUM( fld1 ) FROM tab1 INTO_
    A: Remove the spaces from SUM( fld1 ).
    B: Move SUM( fld1 ) before fld1.
    C: Add GROUP BY f1.
    D: Change to SUM( DISTINCT f1 ).
    84. Which keyword adds rows to an internal table while accumulating numeric values?
    A: INSERT
    B: APPEND
    C: COLLECT
    D: GROUP
    85. Assuming itab has a header line, what will be output by the following code?
    READ TABLE itab INDEX 3 TRANSPORTING field1.
    WRITE: /1 itab-field1, itab-field2.
    A: The contents of the third row's itab-field1.
    B: The contents of the third row's itab-field1 and itab-field2.
    C: The contents of the third row's itab-field2.
    D: Nothing.
    86. The following code indicates:
    SELECTION-SCREEN BEGIN OF BLOCK B1.
    PARAMETERS: myparam(10) type C,
    Myparam2(10) type N,
    SELECTION-SCREEN END OF BLOCK.
    A: Draw a box around myparam and myparam2 on the selection screen.
    B: Allow myparam and myparam2 to be ready for input during an error dialog.
    C: Do not display myparam and myparam2 on the selection screen.
    D: Display myparam and myparam2 only if both fields have default values.
    87. Which statement will sort the data of an internal table with fields FRUIT, QTY, and PRICE so that it appears as follows?
    FRUIT QTY PRICE
    Apples 12 22.50
    Apples 9 18.25
    Oranges 15 17.35
    Bananas 20 10.20
    Bananas 15 6.89
    Bananas 5 2.75
    A: SORT itab DESCENDING BY QTY PRICE.
    B: SORT itab BY PRICE FRUIT.
    C: SORT itab.
    D: SORT itab BY PRICE DESCENDING.
    88. Which keyword adds a line anywhere within an internal table?
    A: APPEND
    B: MODIFY
    C: ADD
    D: INSERT
    89. To read a single line of an internal table, use the following:
    A: LOOP AT itab. _ ENDLOOP.
    B: READ itab.
    C: SELECT SINGLE * FROM itab.
    D: READ TABLE itab.
    90. Which Open SQL statement should not be used with cluster databases?
    A: UPDATE
    B: MODIFY
    C: DELETE
    D: INSERT
    91. To include a field on your screen that is not in the ABAP Dictionary, which include program should contain the data declaration for the field?
    A: PBO module include program
    B: TOP include program
    C: PAI module include program
    D: Subroutine include program
    92. This flow logic statement is used to make multiple fields open for input after an error or warning message.
    A: GROUP
    B: FIELD-GROUP
    C: CHAIN
    D: LOOP AT SCREEN
    93. Given:
    PERFORM subroutine USING var.
    The var field is known as what type of parameter?
    A: Formal
    B: Actual
    C: Static
    D: Value

    ANSWERS :
    1. If a table does not have MANDT as part of the primary key, it is ____.
    A: A structure
    B: Invalid
    C: Client-independent
    D: Not mandatory
    Ans : C
    2. In regard to CALL, which of the following is NOT a valid statement?
    A: CALL FUNCTION
    B: CALL SCREEN
    C: CALL TRANSACTION
    D: CALL PROGRAM
    Ans : D
    3. Name the type of ABAP Dictionary table that has these characteristics:
    Same number of fields as the database table
    Same name as database table
    Maps 1:1 to database table
    A: Pooled
    B: Cluster
    C: Transparent
    D: View
    Ans : C
    4. An event starts with an event keyword and ends with:
    A: Program execution.
    B: END-OF-EVENT.
    C: Another event keyword.
    D: END-EVENT.
    Ans: C
    5. What is the system field for the current date?
    A: SY-DATUM
    B: SY-DATE
    C: SY-DATID
    D: SY-SDATE
    Ans : A
    6. The following code indicates:
    SELECT fld1 fld2 FROM tab1 APPENDING TABLE itab
    WHERE fld1 IN sfld1.
    A: Add rows to the existing rows of itab.
    B: Add rows to itab after first deleting any existing rows of itab.
    C: Select rows from tab1 for matching itab entries.
    D: Nothing, this is a syntax error.
    Ans : B
    7. You may change the following data object as shown below so that it equals 3.14.
    CONSTANTS: PI type P decimals 2 value '3.1'.
    PI = '3.14'.
    A: True
    B: False
    Ans : B
    8. The SAP service that ensures data integrity by handling locking is called:
    A: Update
    B: Dialog
    C: Enqueue/Dequeue
    D: Spool
    Ans : C
    9. Which of these sentences most accurately describes the GET VBAK LATE. event?
    A: This event is processed before the second time the GET VBAK event is processed.
    B: This event is processed after all occurrences of the GET VBAK event are completed.
    C: This event will only be processed after the user has selected a basic list row.
    D: This event is only processed if no records are selected from table VBAK.
    Ans :
    10. Which of the following is not a true statement in regard to a hashed internal table type?
    A: Its key must always be UNIQUE.
    B: May only be accessed by its key.
    C: Response time for accessing a row depends on the number of entries in the table.
    D: Declared using internal table type HASHED TABLE.
    Ans : C
    11. TO include database-specific SQL statements within an ABAP program, code them between:
    A: NATIVE SQL_ENDNATIVE.
    B: DB SQL_ENDDB.
    C: SELECT_ENDSELECT.
    D: EXEC SQL_ENDEXEC.
    Ans : D
    12. To measure how long a block of code runs, use the ABAP statement:
    A: GET TIME .
    B: SET TIME FIELD .
    C: GET RUN TIME FIELD .
    D: SET CURSOR FIELD .
    Ans : C
    13. When a secondary list is being processed, the data of the basic list is available by default.
    A: True
    B: False
    Ans : B
    14. Given:
    DATA: BEGIN OF itab OCCURS 10,
    qty type I,
    END OF itab.
    DO 25 TIMES. itab-qty = sy-index. APPEND itab. ENDDO.
    LOOP AT itab WHERE qty > 10.
    WRITE: /1 itab-qty.
    ENDLOOP.
    This will result in:
    A: Output of only those itab rows with a qty field less than 10
    B: Output of the first 10 itab rows with a qty field greater than 10
    C: A syntax error
    D: None of the above
    Ans : B
    15. After a DESCRIBE TABLE statement SY-TFILL will contain
    A: The number of rows in the internal table.
    B: The current OCCURS value.
    C: Zero, if the table contains one or more rows.
    D: The length of the internal table row structure.
    Ans ; A
    16. You may declare your own internal table type using the TYPES keyword.
    A: True
    B: False
    Ans : A
    17. After adding rows to an internal table with COLLECT, you should avoid adding more rows with APPEND.
    A: True
    B: False
    Ans : A
    18. Which of the following is not a component of control break processing when looping at an internal table?
    A: AT START OF
    B: AT FIRST
    C: AT LAST
    D: AT NEW
    Ans : A
    19. A dictionary table is made available for use within an ABAP program via the TABLES statement.
    A: True
    B: False
    Ans : A
    20. Which of the following would be best for hiding further selection criteria until a function is chosen?
    A: AT NEW SELECTION-SCREEN
    B: SELECTION-SCREEN AT LINE-SELECTION
    C: SUBMIT SELECTION-SCREEN
    D: CALL SELECTION-SCREEN
    Ans : D
    21. What must you code in the flow logic to prevent a module from being called unless a field contains a non-initial value (as determined by its data type)?
    A: ON INPUT
    B: CHAIN
    C: FIELD
    D: ON REQUEST
    Ans : A
    22. The AT USER-COMMAND event is triggered by functions defined in the ____.
    A: screen painter
    B: ABAP report
    C: menu painter status
    D: ABAP Dictionary
    Ans : C
    23. In regard to a function group, which of the following is NOT a true statement?
    A: Combines similar function modules.
    B: Shares global data with all its function modules.
    C: Exists within the ABAP workbench as an include program.
    D: Shares subroutines with all its function modules.
    Ans ; C
    24. In regard to SET PF-STATUS, you can deactivate unwanted function codes by using ____.
    A: EXCLUDING
    B: IMMEDIATELY
    C: WITHOUT
    D: HIDE
    Ans : A
    25. In regard to data transported in PAI when the FIELD statement is used, which of the following is NOT a true statement?
    A: Fields in PBO are transported directly from PAI.
    B: Fields with identical names are transported to the ABAP side.
    C: Fields not defined in FIELD statements are transported first.
    D: Fields that are defined in FIELD statements are transported when their corresponding module is called.
    Ans ; C
    26. The order in which an event appears in the ABAP code determines when the event is processed.
    A: True
    B: False
    Ans : B
    27. A field declared as type T has the following internal representation:
    A: SSMMHH
    B: HHMMSS
    C: MMHHSS
    D: HHSSMM
    Ans : B
    28. Which of the following is NOT a component of the default standard ABAP report header?
    A: Date and Time
    B: List title
    C: Page number
    D: Underline
    Ans ; A
    29. Assuming a pushbutton with function code 'FUNC' is available in the toolbar of a list report, what event is processed when the button is clicked?
    A: AT USER-COMMAND.
    B: AT PFn.
    C: AT SELECTION-SCREEN.
    D: END-OF-SELECTION.
    Ans : A
    30. In regard to field selection, what option of the SELECT statement is required?
    A: FOR ALL ENTRIES
    B: WHERE
    C: INTO
    D: MOVE-CORRESPONDING
    Ans : B
    31. The following program outputs what?
    report zjgtest1
    write: /1 'Ready_'.
    PARAMETER: test.
    INITIALIZATION.
    write: /1 'Set_'.
    START-OF-SELECTION.
    write: /1 'GO!!'.
    A: Set_ GO!! (each on its own line)
    B: Set_ Ready_ GO!! (all on their own lines)
    C: Ready_ GO!! (each on its own line)
    D: Ready_ Set_ GO!! (all on their own lines)
    Ans : C
    32. To declare a selection criterion that does not appear on the selection screen, use:
    A: NO-DISPLAY
    B: INVISIBLE
    C: MODIF ID
    D: OBLIGATORY
    Ans : A
    33. An internal table that is nested within another internal table should not contain a header line.
    A: True
    B: False
    Ans : B
    34. What is output by the following code?
    DATA: BEGIN OF itab OCCURS 0, letter type c, END OF itab.
    itab-letter = 'A'. APPEND itab. itab-letter = 'B'. APPEND itab.
    itab-letter = 'C'. APPEND itab. itab-letter = 'D'. APPEND itab.
    LOOP AT itab.
    SY-TABIX = 2.
    WRITE itab-letter.
    EXIT.
    ENDLOOP.
    A: A
    B: A B C D
    C: B
    D: B C D
    Ans : A
    35. To select all database entries for a certain WHERE clause into an internal table in one step, use
    A: SELECT_INTO TABLE itab_
    B: SELECT_INTO itab_
    C: SELECT_APPENDING itab
    D: SELECT_itab_
    36. After a successful SELECT statement, what does SY-SUBRC equal?
    A: 0
    B: 4
    C: 8
    D: Null
    Ans : A
    37. This selection screen syntax forces the user to input a value:
    A: REQUIRED-ENTRY
    B: OBLIGATORY
    C: DEFAULT
    D: SELECTION-SCREEN EXCLUDE
    Ans : B
    38. If the following code results in a syntax error, the remedy is:
    DATA: itab TYPE SORTED TABLE OF rec_type WITH UNIQUE KEY field1
    WITH HEADER LINE.
    itab-field1 = 'Company'. itab-field2 = '1234'. INSERT TABLE itab.
    itab-field1 = 'Bank'. itab-field2 = 'ABC'. INSERT TABLE itab.
    SORT itab.
    LOOP AT itab.
    write: /1 itab-field1, itab-field2.
    ENDLOOP.
    A: There is no syntax error here
    B: Remove the SORT statement
    C: Change INSERT to APPEND
    D: Add a WHERE clause to the loop
    Ans :
    39. If this code results in an error, the remedy is:
    SELECT fld1 fld2 FROM tab1 WHERE fld3 = pfld3.
    WRITE: /1 tab1-fld1, tab1-fld2.
    ENDSELECT.
    A: Add a SY-SUBRC check.
    B: Change the WHERE clause to use fld1 or fld2.
    C: Remove the /1 from the WRITE statement.
    D: Add INTO (tab1-fld1, tab1-fld2).
    Ans : D
    40. When modifying an internal table within LOOP AT itab. _ ENDLOOP. you must include an index number.
    A: True
    B: False
    Ans : A
    41. To allow the user to enter values on the screen for a list field, use:
    A: OPEN LINE.
    B: SET CURSOR FIELD.
    C: WRITE fld AS INPUT FIELD.
    D: FORMAT INPUT ON.
    Ans : C
    42. Before a function module may be tested, it must first be:
    A: Linked
    B: Authorized
    C: Released
    D: Active
    Ans : D
    43. To include a field on your screen that is not in the ABAP Dictionary, which include program should contain the data declaration for the field?
    A: PBO module include program
    B: TOP include program
    C: PAI module include program
    D: Subroutine include program
    Ans : B
    44. If a table contains many duplicate values for a field, minimize the number of records returned by using this SELECT statement addition.
    A: MIN
    B: ORDER BY
    C: DISTINCT
    D: DELETE
    Ans : C
    45. The system internal table used for dynamic screen modification is named:
    A: ITAB
    B: SCREEN
    C: MODTAB
    D: SMOD
    Ans : B
    46. Within the source code of a function module, errors are handled via the keyword:
    A: EXCEPTION
    B: RAISE
    C: STOP
    D: ABEND
    Ans : A
    47. Which system field contains the contents of a selected line?
    A: SY-CUCOL
    B: SY-LILLI
    C: SY-CUROW
    D: SY-LISEL
    Ans : D
    48. The following statement writes what type of data object?
    WRITE: /1 'Total Amount:'.
    A: Text literal
    B: Text variable
    C: In-code comment
    D: Text integer
    Ans : A
    49. For the code below, second_field is of what data type?
    DATA: first_field type P, second_field like first_field.
    A: P
    B: C
    C: N
    D: D
    Ans : A
    50. Which of the following describes the internal representation of a type D data object?
    A: DDMMYYYY
    B: YYYYDDMM
    C: MMDDYYYY
    D: YYYYMMDD
    Ans : A
    51. A BDC program is used for all of the following except:
    A: Downloading data to a local file
    B: Data interfaces between SAP and external systems
    C: Initial data transfer
    D: Entering a large amount of data
    Ans : A
    52. In regard to PERFORM, which of the following is NOT a true statement?
    A: May be used within a subroutine.
    B: Requires actual parameters.
    C: Recursive calls are allowed in ABAP.
    D: Can call a subroutine in another program.
    Ans : B
    53. What is the transaction code for the ABAP Editor?
    A: SE11
    B: SE38
    C: SE36
    D: SE16
    Ans : B
    54. In regard to HIDE, which of the following is NOT a true statement?
    A: Saves the contents of variables in relation to a list line's row number.
    B: The hidden variables must be output on a list line.
    C: The HIDE area is retrieved when using the READ LINE statement.
    D: The HIDE area is retrieved when an interactive event is triggered.
    Ans : B
    55. Database locks are sufficient in a multi-user environment.
    A: True
    B: False
    Ans : B
    56. The complete technical definition of a table field is determined by the field's:
    A: Domain
    B: Field name
    C: Data type
    D: Data element
    Ans : A
    57. In regard to LEAVE, which of the following is NOT a true statement?
    A: May be used to return immediately to a calling program.
    B: May be used to stop the current loop pass and get the next.
    C: May be used to start a new transaction.
    D: May be used to go to the next screen.
    Ans : B
    58. The following code indicates:
    SELECT fld6 fld3 fld2 fld1 FROM tab1 INTO CORRESPONDING FIELDS OF TABLE itab
    WHERE fld3 = pfld3.
    A: The order of the fields in itab does not matter.
    B: Fill the header line of itab, but not the body.
    C: Table itab can only contain fields also in table tab1.
    D: None of the above.
    Ans : C
    59. The ABAP statement below indicates that the program should continue with the next line of code if the internal table itab:
    CHECK NOT itab[] IS INITIAL.
    A: Contains no rows
    B: Contains at least one row
    C: Has a header line
    D: Has an empty header line
    Ans : B
    60. What will be output by the following code?
    DATA: BEGIN OF itab OCCURS 0, fval type i, END OF itab.
    itab-fval = 1. APPEND itab.
    itab-fval = 2. APPEND itab.
    FREE itab.
    WRITE: /1 itab-fval.
    A: 2
    B: 0
    C: blank
    D: 1
    Ans : A
    61. To allow the user to enter a range of values on a selection screen, use the ABAP keyword:
    A: DATA.
    B: RANGES.
    C: PARAMETERS.
    D: SELECT-OPTIONS.
    Ans : D
    62. If an internal table is declared without a header line, what else must you declare to work with the table's rows?
    A: Another internal table with a header line.
    B: A work area with the same structure as the internal table.
    C: An internal table type using the TYPES statement.
    D: A PARAMETER.
    Ans : B
    63. Assuming an internal table contains 2000 entries, how many entries will it have after the following line of code is executed?
    DELETE itab FROM 1500 TO 1700.
    A: This is a syntax error.
    B: 1801
    C: 1800
    D: 1799
    Ans : A
    64. To remove lines from a database table, use ____.
    A: UPDATE
    B: MODIFY
    C: ERASE
    D: DELETE
    Ans : D
    65. All of the following may be performed using SET CURSOR except:
    A: Move the cursor to a specific field on a list.
    B: Move the cursor to a specific list line.
    C: Move the cursor to a specific pushbutton, activating that function.
    D: Move the cursor to a specific row and column on a list.
    Ans : C
    66. When is it optional to pass an actual parameter to a required formal parameter of a function module?
    A: The actual parameter is type C.
    B: The formal parameter contains a default value.
    C: The formal parameter's \"Reference\" attribute is turned on.
    D: It is never optional.
    Ans : B
    67. Coding two INITIALIZATION events will cause a syntax error.
    A: True
    B: False
    Ans : B
    68. Adding a COMMIT WORK statement between SELECT_ENDSELECT is a good method for improving performance.
    A: True
    B: False
    Ans : B
    69. To save information on a list line for use after the line is selected, use this keyword.
    A: APPEND
    B: EXPORT
    C: WRITE
    D: HIDE
    Ans : D
    70. To bypass automatic field input checks, include this in PAI.
    A: AT EXIT-COMMAND
    B: ON INPUT
    C: ON REQUEST
    D: LEAVE TO SCREEN 0.
    Ans : A
    71. Within a function module's source code, if the MESSAGE_RAISING statement is executed, all of the following system fields are filled automatically except:
    A: SY-MSGTY
    B: SY-MSGNO
    C: SY-MSGV1
    D: SY-MSGWA
    Ans : D
    72. The following code indicates:
    REPORT ZLISTTST.
    START-OF-SELECTION.
    WRITE: text-001.
    FORMAT HOTSPOT ON.
    WRITE: text-002.
    FORMAT HOTSPOT OFF.
    AT LINE-SELECTION.
    WRITE / text-003.
    A: Text-002 may not be selected.
    B: The value of text-002 is stored in a special memory area.
    C: Text-002 may be clicked once to trigger the output of text-003.
    D: None of the above.
    Ans : C
    73. The ____ type of ABAP Dictionary view consists of one or more transparent tables and may be accessed by an ABAP program using Open SQL.
    A: Database view
    B: Projection view
    C: Help view
    D: Entity view
    Ans : A
    74. A concrete field is associated with a field-symbol via ABAP keyword
    A: MOVE
    B: WRITE
    C: ASSIGN
    D: VALUE
    Ans : C
    75. The output for the following code will be:
    report zabaprg.
    DATA: char_field type C.
    char_field = 'ABAP data'.
    WRITE char_field.
    A: ABAP data
    B: A
    C: Nothing, there is a syntax error
    D: None of the above
    Ans : B
    76. Page footers are coded in the event:
    A: TOP-OF-PAGE.
    B: END-OF-SELECTION.
    C: NEW-PAGE.
    D: END-OF-PAGE.
    Ans : D
    77. The event AT SELECTION-SCREEN OUTPUT. occurs before the selection screen is displayed and is the best event for assigning default values to selection criteria.
    A: True
    B: False
    Ans : B
    78. The TABLES statement declares a data object.
    A: True
    B: False
    Ans : A
    79. Assuming tab1-fld7 is not a key field, how can you prevent reading all the table rows?
    SELECT fld1 fld2 fld3 FROM tab1 INTO (fld4, fld5, fld6)
    WHERE fld7 = pfld7.
    WRITE: /1 fld4, fld5, fld6.
    ENDSELECT.
    A: Take fld7 out of the WHERE clause.
    B: Create an index in the ABAP Dictionary for tab1-fld7.
    C: Use INTO TABLE instead of just INTO.
    D: Take the WRITE statement out of the SELECT_ENDSELECT.
    Ans :
    80. Which of the following is NOT a required attribute when creating an ABAP program?
    A: Application
    B: Title
    C: Status
    D: Type
    Ans : A
    81. When creating a transparent table in the ABAP Dictionary, which step automatically creates the table in the underlying database?
    A: Adding technical settings to the table
    B: Checking the table syntax
    C: Saving the table
    D: Activating the table
    Ans : D
    82. Within the ABAP program attributes, Type = 1 represents:
    A: INCLUDE program
    B: Online program
    C: Module pool
    D: Function group
    E: Subroutine pool
    Ans : B
    83. If this code results in an error, the remedy is:
    SELECT fld1 SUM( fld1 ) FROM tab1 INTO_
    A: Remove the spaces from SUM( fld1 ).
    B: Move SUM( fld1 ) before fld1.
    C: Add GROUP BY f1.
    D: Change to SUM( DISTINCT f1 ).
    Ans : C
    84. Which keyword adds rows to an internal table while accumulating numeric values?
    A: INSERT
    B: APPEND
    C: COLLECT
    D: GROUP
    Ans : C
    85. Assuming itab has a header line, what will be output by the following code?
    READ TABLE itab INDEX 3 TRANSPORTING field1.
    WRITE: /1 itab-field1, itab-field2.
    A: The contents of the third row's itab-field1.
    B: The contents of the third row's itab-field1 and itab-field2.
    C: The contents of the third row's itab-field2.
    D: Nothing.
    Ans ; A
    86. The following code indicates:
    SELECTION-SCREEN BEGIN OF BLOCK B1.
    PARAMETERS: myparam(10) type C,
    Myparam2(10) type N,
    SELECTION-SCREEN END OF BLOCK.
    A: Draw a box around myparam and myparam2 on the selection screen.
    B: Allow myparam and myparam2 to be ready for input during an error dialog.
    C: Do not display myparam and myparam2 on the selection screen.
    D: Display myparam and myparam2 only if both fields have default values.
    Ans : A
    87. Which statement will sort the data of an internal table with fields FRUIT, QTY, and PRICE so that it appears as follows?
    FRUIT QTY PRICE
    Apples 12 22.50
    Apples 9 18.25
    Oranges 15 17.35
    Bananas 20 10.20
    Bananas 15 6.89
    Bananas 5 2.75
    A: SORT itab DESCENDING BY QTY PRICE.
    B: SORT itab BY PRICE FRUIT.
    C: SORT itab.
    D: SORT itab BY PRICE DESCENDING.
    Ans : D
    88. Which keyword adds a line anywhere within an internal table?
    A: APPEND
    B: MODIFY
    C: ADD
    D: INSERT
    Ans : D
    89. To read a single line of an internal table, use the following:
    A: LOOP AT itab. _ ENDLOOP.
    B: READ itab.
    C: SELECT SINGLE * FROM itab.
    D: READ TABLE itab.
    Ans : D
    90. Which Open SQL statement should not be used with cluster databases?
    A: UPDATE
    B: MODIFY
    C: DELETE
    D: INSERT
    Ans :
    91. To include a field on your screen that is not in the ABAP Dictionary, which include program should contain the data declaration for the field?
    A: PBO module include program
    B: TOP include program
    C: PAI module include program
    D: Subroutine include program
    Ans : B
    92. This flow logic statement is used to make multiple fields open for input after an error or warning message.
    A: GROUP
    B: FIELD-GROUP
    C: CHAIN
    D: LOOP AT SCREEN
    Ans ; C
    93. Given:
    PERFORM subroutine USING var.
    The var field is known as what type of parameter?
    A: Formal
    B: Actual
    C: Static
    D: Value
    Ans : B

  • How can i call another view variables in another view

    how can i call another view variables in another view and pass that variables to the function
    my situation is i have a view FAC which i need to pass par_id_fac TO THE VIEW AGR.AFTER THAT i what to take start_dt in agr view and par_id_fac from Fac and pass this variables to the function i have check the documentation but does not do what i what,the doc simply talk about creating variables and pass then to function.i what to pass variables from the views and return value to my contractno Variables value
    something like if :agr.contract_no is null
    and :agr.agr_start_dt is not null then
         :agr.contract_no := sms_fapp.get_contract_no(:fac.par_id_fac,:agr.agr_start_dt);
    end if;     
    y view is
    <?xml version="1.0" encoding="windows-1252" ?>
    <!DOCTYPE ViewObject SYSTEM "jbo_03_01.dtd">
    <!---->
    <ViewObject
      xmlns="http://xmlns.oracle.com/bc4j"
      Name="AGR"
      Version="11.1.2.60.81"
      BindingStyle="OracleName"
      CustomQuery="true"
      PageIterMode="Full"
      UseGlueCode="false"
      RowClass="sms1405.AGRRowImpl"
      ComponentClass="sms1405.AGRImpl"
      DefClass="sms1405.AGRDefImpl">
      <DesignTime>
        <Attr Name="_isExpertMode" Value="true"/>
        <Attr Name="_codeGenFlag2" Value="Access|Def|Coll|Prog|VarAccess"/>
        <Attr Name="_isCodegen" Value="true"/>
      </DesignTime>
    <SQLQuery><![CDATA[SELECT SmsAgreements.ID,
           SmsAgreements.FAPP_ID,
           SmsAgreements.PAR_ID,
           SmsAgreements.SSCH_ID,
           SmsAgreements.COSERV_ID,
           SmsAgreements.IREA_ID_TERMINATED,
           SmsAgreements.IREA_ID_SUSPENDED,
           SmsAgreements.SPTYP_ID,
           SmsAgreements.CLAIM_BASED_YN,
           SmsAgreements.NOTES,
           SmsAgreements.SUSPENSION_DT,
           SmsAgreements.TERMINATION_DT,
           SmsAgreements.SPECIAL_PROJECT_END_DT,
           SmsAgreements.CAPITAL_FUNDING_APPROVED,
           SmsAgreements.PERIODICAL_PAYMENT_AMOUNT,
           SmsAgreements.DATE_CREATED,
           SmsAgreements.DATE_MODIFIED,
           SmsAgreements.MODIFIED_BY,
           SmsAgreements.CREATED_BY,
           SmsAgreements.CONTRACT_NO,
           SmsAgreements.OFF_ID,
           SmsAgreements.DATE_APPROVED,
           SmsAgreements.AGR_START_DT,
           SmsAgreements.AGR_END_DT,
           SmsAgreements.MONTHS_FUNDED,
           SmsAgreements.PFRE_ANNUAL_FREQUENCY,
           SmsAgreements.FUNDED_NO,
           SmsAgreements.REGISTERED_NO,
           SmsAgreements.CONTRACT_NAME,
           SmsAgreements.OPEX_ALLOCATION,
           SmsAgreements.EMERG_ORG_YN,
           SmsAgreements.SCHEDULE,
           SmsAgreements.PERIODICAL_PAYMENT_AVERAGE,
           SmsAgreements.NO_OF_PAYMENTS,
           SmsAgreements.ADVANCE_PAYMENT_PERCENT,
           SmsAgreements.QUALIFY_NO,
           SmsAgreements.ENROLLED_NO,
           SmsAgreements.MULTI_YEAR_ALLOCATION,
           SmsAgreements.AGR_ID_SOURCE,
           SmsAgreements.FYEA_YEAR_ACTIVE,
           SmsAgreements.PTYPE_CODE,
           SmsAgreements.CONTRACT_VALUE,
           SmsAgreements.MAGR_ID,
           SmsAgreements.PROG_ID,
           SmsAgreements.EMERGENCY_BED_#,
           SmsAgreements.drep_id,
           SmsAgreements.srep_id,
           (select name from sms_offices off where off.id = SmsAgreements.off_id)officeName,
           (SELECT  PROG.NAME FROM   sms_programmes prog where PROG.ID = SMSAGREEMENTS.PROG_ID)programe,
           (select prog.code || '.' || bvspro.code || '  ' || bvspro.NAME budget_vote   from sms_subsidy_schemes ssch,
              sms_budget_vote_sub_programs bvspro,
              sms_programmes prog
              WHERE bvspro_id = bvspro.ID AND prog.ID = prog_id
              and prog.id = SMSAGREEMENTS.PROG_ID)Sub_programme,
             (select  ssch.NAME from sms_subsidy_schemes ssch where SSCH.ID = SMSAGREEMENTS.SSCH_ID)subsidy,
           (SELECT master_contract FROM  sms_master_agreements magr WHERE MAGR.ID = SmsAgreements.magr_id)masterContract
    FROM SMS_AGREEMENTS SmsAgreements]]></SQLQuery>
      <ViewAttribute
        Name="ContractNo"
        IsPersistent="false"
        IsNotNull="true"
        PrecisionRule="true"
        Precision="20"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="CONTRACT_NO"
        SQLType="VARCHAR">
        <TransientExpression><![CDATA[CONTRACT_NO]]></TransientExpression>
        <DesignTime>
          <Attr Name="_DisplaySize" Value="20"/>
        </DesignTime>
      </ViewAttribute>
    <ViewAttribute
        Name="AgrStartDt"
        IsPersistent="false"
        PrecisionRule="true"
        Type="java.sql.Timestamp"
        ColumnType="DATE"
        AliasName="AGR_START_DT"
        SQLType="DATE">
        <RecalcCondition><![CDATA[true]]></RecalcCondition>
        <TransientExpression><![CDATA[adf.currentDate]]></TransientExpression>
      </ViewAttribute>
    </ViewObject>and my FAC view is
    <?xml version="1.0" encoding="windows-1252" ?>
    <!DOCTYPE ViewObject SYSTEM "jbo_03_01.dtd">
    <!---->
    <ViewObject
      xmlns="http://xmlns.oracle.com/bc4j"
      Name="FAC"
      Version="11.1.2.60.81"
      BindingStyle="OracleName"
      CustomQuery="true"
      PageIterMode="Full"
      UseGlueCode="false">
      <DesignTime>
        <Attr Name="_isExpertMode" Value="true"/>
      </DesignTime>
      <SQLQuery><![CDATA[SELECT SmsFacilityVw.PAR_ID_ORG,
           SmsFacilityVw.ORGANISATION,
           SmsFacilityVw.ORG_KEY,
           SmsFacilityVw.C_CODE,
           SmsFacilityVw.FACILITY,
           SmsFacilityVw.PAR_ID_FAC,
           SmsFacilityVw.NPO_REGISTRATION_NO,
           SmsFacilityVw.ADDRESS,
           SmsFacilityVw.TELNR_WORK,
           SmsFacilityVw.ADDRESSLINE,
           SmsFacilityVw.Town,
           SmsFacilityVw.Suburb,
           SmsFacilityVw.PostalCode,
           SmsFacilityVw.DSD_REGION,
           SmsFacilityVw.SERVICE_DELIVERY_AREA,
           SmsFacilityVw.FAXNR,
           SmsFacilityVw.EMAIL,
           SmsFacilityVw.PAR_TYPE_DEF
    FROM SMS_FACILITY_VW SmsFacilityVw]]></SQLQuery>
      <ViewAttribute
        Name="ParIdOrg"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="38"
        Scale="0"
        Type="java.math.BigInteger"
        ColumnType="NUMBER"
        AliasName="PAR_ID_ORG"
        Expression="PAR_ID_ORG"
        SQLType="NUMERIC"/>
      <ViewAttribute
        Name="Organisation"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="100"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="ORGANISATION"
        Expression="ORGANISATION"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="100"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="OrgKey"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="10"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="ORG_KEY"
        Expression="ORG_KEY"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="10"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="CCode"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="30"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="C_CODE"
        Expression="C_CODE"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="30"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="Facility"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="100"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="FACILITY"
        Expression="FACILITY"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="100"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="ParIdFac"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="38"
        Scale="0"
        Type="java.math.BigInteger"
        ColumnType="NUMBER"
        AliasName="PAR_ID_FAC"
        Expression="PAR_ID_FAC"
        SQLType="NUMERIC"/>
      <ViewAttribute
        Name="NpoRegistrationNo"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="30"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="NPO_REGISTRATION_NO"
        Expression="NPO_REGISTRATION_NO"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="30"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="Address"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="227"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="ADDRESS"
        Expression="ADDRESS"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="227"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="TelnrWork"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="150"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="TELNR_WORK"
        Expression="TELNR_WORK"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="150"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="Addressline"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="120"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="ADDRESSLINE"
        Expression="ADDRESSLINE"
        SQLType="VARCHAR"
        IsUpdateable="false">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="120"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="Town"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="60"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="TOWN"
        Expression="TOWN"
        SQLType="VARCHAR"
        IsUpdateable="false">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="60"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="Suburb"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="60"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="SUBURB"
        Expression="SUBURB"
        SQLType="VARCHAR"
        IsUpdateable="false">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="60"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="Postalcode"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="4"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="POSTALCODE"
        Expression="POSTALCODE"
        SQLType="VARCHAR"
        IsUpdateable="false">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="4"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="DsdRegion"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="40"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="DSD_REGION"
        Expression="DSD_REGION"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="40"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="ServiceDeliveryArea"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="50"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="SERVICE_DELIVERY_AREA"
        Expression="SERVICE_DELIVERY_AREA"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="50"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="Faxnr"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="50"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="FAXNR"
        Expression="FAXNR"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="50"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="Email"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="80"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="EMAIL"
        Expression="EMAIL"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="80"/>
        </DesignTime>
      </ViewAttribute>
      <ViewAttribute
        Name="ParTypeDef"
        IsUpdateable="false"
        IsPersistent="false"
        PrecisionRule="true"
        Precision="12"
        Type="java.lang.String"
        ColumnType="VARCHAR2"
        AliasName="PAR_TYPE_DEF"
        Expression="PAR_TYPE_DEF"
        SQLType="VARCHAR">
        <DesignTime>
          <Attr Name="_DisplaySize" Value="12"/>
        </DesignTime>
      </ViewAttribute>
      <ViewLinkAccessor
        Name="AGR"
        ViewLink="sms1405.par_facfkViewLink"
        Type="oracle.jbo.RowIterator"
        IsUpdateable="false"/>
      <ViewLinkAccessor
        Name="SmsParAddrVwView"
        ViewLink="sms1405.parLink"
        Type="oracle.jbo.RowIterator"
        IsUpdateable="false"/>
      <ViewLinkAccessor
        Name="DOC"
        ViewLink="sms1405.FAC_DOC"
        Type="oracle.jbo.RowIterator"
        IsUpdateable="false"/>
    </ViewObject>Edited by: ADF007 on 2012/08/23 6:10 PM

    i try this
    public class SMS_AGREEMENTSImpl extends EntityImpl {
    RowSet newContractNoBeforePost = null;
        public static int NUMBER = Types.NUMERIC;
        public static int DATE = Types.DATE;
        public static int VARCHAR2 = Types.VARCHAR;
      protected Object callStoredFunction(int sqlReturnType, String stmt,
            Object[] bindVars) {
            CallableStatement st = null;
            try {
            // 1. Create a JDBC CallabledStatement
            st = getDBTransaction().createCallableStatement(
            "begin ? := "+stmt+";end;",0);
            // 2. Register the first bind variable for the return value
            st.registerOutParameter(1, sqlReturnType);
            if (bindVars != null) {
            // 3. Loop over values for the bind variables passed in, if any
            for (int z = 0; z < bindVars.length; z++) {
            // 4. Set the value of user-supplied bind vars in the stmt
            st.setObject(z + 2, bindVars[z]);
            // 5. Set the value of user-supplied bind vars in the stmt
            st.executeUpdate();
            // 6. Return the value of the first bind variable
            return st.getObject(1);
            catch (SQLException e) {
            throw new JboException(e);
            finally {
            if (st != null) {
            try {
            // 7. Close the statement
            st.close();
            catch (SQLException e) {}
        protected void doDML(int operation, TransactionEvent e) {
           String amDef = "sms1405.sms1405Module";
           String config = "sms1405ModuleShared";
              String NewContract = null;                 
            ApplicationModule am = Configuration.createRootApplicationModule(amDef, config);
            ViewObjectImpl vo = (ViewObjectImpl) am.findViewObject("AGR1");
            vo.executeQuery();
            Row row = vo.first();
            // NewContract = (String)vo
            NewContract = (String)row.getAttribute("ContractNo");
            SMS_AGREEMENTSImpl newcont = new SMS_AGREEMENTSImpl();
           //AGRRowImpl res = new  AGRRowImpl();
           // NewContract = NewContractNo();
            if (operation == 1)  {
                         newcont.setContractNo(NewContractNo());
                         //res.setContractNo( NewContractNo());   
                        //NewContractNo();
            super.doDML(operation, e);
            public void postChanges(TransactionEvent TransactionEvent) {
            /* Only bother to update references if contractno is a NEW one */
            if (getPostState() == STATUS_NEW) {
            * Get a rowset of contract related
            * to this new partyaddress before calling super
             newContractNoBeforePost  = (RowSet)getSMS_AGREEMENTS();
            super.postChanges(TransactionEvent);
        public Date getAgrStartDt() {
            return (Date)getAttributeInternal(AGRSTARTDT);
         * Sets <code>value</code> as the attribute value for AgrStartDt.
         * @param value value to set the AgrStartDt
        public void setAgrStartDt(Date value) {
            setAttributeInternal(AGRSTARTDT, value);
        public String NewContractNo() {
               String amDef = "sms1405.sms1405Module";
               String config = "sms1405ModuleShared";
               String NewContract = null;                 
               ApplicationModule am = Configuration.createRootApplicationModule(amDef, config);
               ViewObjectImpl vo = (ViewObjectImpl) am.findViewObject("FAC1");
               // vo.setWhereClause("ParIdFac = 38844");
                vo.executeQuery();
                Row row = vo.first();
               Integer par_id = null;
               //oracle.jbo.domain.Date today = new oracle.jbo.domain.Date(oracle.jbo.domain.Date.getCurrentDate());
               oracle.jbo.domain.Date today = new oracle.jbo.domain.Date();
               //FACRowImpl res = new FACRowImpl();
               //res.setParIdFac(par_id);
               par_id = (Integer)row.getAttribute("ParIdFac");
               today = this.getAgrStartDt();
           return (String)callStoredFunction(VARCHAR2,
           "sms_fapp.get_contract_no(?,?)",
           new Object[]{par_id,today});
    }at the moment am geting this error
    oracle.jbo.JboException: JBO-29000: Unexpected exception caught: java.lang.NullPointerException, msg=null
         at oracle.adf.model.binding.DCBindingContainer.reportException(DCBindingContainer.java:415)
         at oracle.adf.model.binding.DCBindingContainer.reportException(DCBindingContainer.java:477)
         at oracle.adf.model.binding.DCControlBinding.reportException(DCControlBinding.java:201)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.reportException(JUCtrlActionBinding.java:2007)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1659)
         at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2169)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:731)
         at oracle.jbo.uicli.jui.JUActionBinding.actionPerformed(JUActionBinding.java:193)
         at oracle.jbo.uicli.controls.JUNavigationBar.doAction(JUNavigationBar.java:412)
         at oracle.jbo.jbotester.NavigationBar.doAction(NavigationBar.java:112)
         at oracle.jbo.uicli.controls.JUNavigationBar$NavButton.actionPerformed(JUNavigationBar.java:118)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
         at java.awt.Component.processMouseEvent(Component.java:6289)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
         at java.awt.Component.processEvent(Component.java:6054)
         at java.awt.Container.processEvent(Container.java:2041)
         at java.awt.Component.dispatchEventImpl(Component.java:4652)
         at java.awt.Container.dispatchEventImpl(Container.java:2099)
         at java.awt.Component.dispatchEvent(Component.java:4482)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
         at java.awt.Container.dispatchEventImpl(Container.java:2085)
         at java.awt.Window.dispatchEventImpl(Window.java:2478)
         at java.awt.Component.dispatchEvent(Component.java:4482)
         at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
         at java.awt.EventQueue.access$000(EventQueue.java:85)
         at java.awt.EventQueue$1.run(EventQueue.java:603)
         at java.awt.EventQueue$1.run(EventQueue.java:601)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
         at java.awt.EventQueue$2.run(EventQueue.java:617)
         at java.awt.EventQueue$2.run(EventQueue.java:615)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    Caused by: java.lang.NullPointerException
         at oracle.jbo.server.EntityImpl.getEntityCache(EntityImpl.java:4665)
         at oracle.jbo.server.EntityImpl.saveEventOrigTransAttrVals(EntityImpl.java:729)
         at oracle.jbo.server.EntityImpl.saveEventOrigAttrVals(EntityImpl.java:719)
         at oracle.jbo.server.EntityImpl.setAttributeInternal(EntityImpl.java:1935)
         at sms1405.SMS_AGREEMENTSImpl.setContractNo(SMS_AGREEMENTSImpl.java:998)
         at sms1405.SMS_AGREEMENTSImpl.doDML(SMS_AGREEMENTSImpl.java:1628)
         at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:6751)
         at sms1405.SMS_AGREEMENTSImpl.postChanges(SMS_AGREEMENTSImpl.java:1645)
         at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:3264)
         at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:3067)
         at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:2071)
         at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2352)
         at oracle.adf.model.bc4j.DCJboDataControl.commitTransaction(DCJboDataControl.java:1590)
         at oracle.adf.model.binding.DCDataControl.callCommitTransaction(DCDataControl.java:1415)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1428)
         ... 43 more
    ## Detail 0 ##
    java.lang.NullPointerException
         at oracle.jbo.server.EntityImpl.getEntityCache(EntityImpl.java:4665)
         at oracle.jbo.server.EntityImpl.saveEventOrigTransAttrVals(EntityImpl.java:729)
         at oracle.jbo.server.EntityImpl.saveEventOrigAttrVals(EntityImpl.java:719)
         at oracle.jbo.server.EntityImpl.setAttributeInternal(EntityImpl.java:1935)
         at sms1405.SMS_AGREEMENTSImpl.setContractNo(SMS_AGREEMENTSImpl.java:998)
         at sms1405.SMS_AGREEMENTSImpl.doDML(SMS_AGREEMENTSImpl.java:1628)
         at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:6751)
         at sms1405.SMS_AGREEMENTSImpl.postChanges(SMS_AGREEMENTSImpl.java:1645)
         at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:3264)
         at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:3067)
         at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:2071)
         at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2352)
         at oracle.adf.model.bc4j.DCJboDataControl.commitTransaction(DCJboDataControl.java:1590)
         at oracle.adf.model.binding.DCDataControl.callCommitTransaction(DCDataControl.java:1415)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1428)
         at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2169)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:731)
         at oracle.jbo.uicli.jui.JUActionBinding.actionPerformed(JUActionBinding.java:193)
         at oracle.jbo.uicli.controls.JUNavigationBar.doAction(JUNavigationBar.java:412)
         at oracle.jbo.jbotester.NavigationBar.doAction(NavigationBar.java:112)
         at oracle.jbo.uicli.controls.JUNavigationBar$NavButton.actionPerformed(JUNavigationBar.java:118)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
         at java.awt.Component.processMouseEvent(Component.java:6289)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
         at java.awt.Component.processEvent(Component.java:6054)
         at java.awt.Container.processEvent(Container.java:2041)
         at java.awt.Component.dispatchEventImpl(Component.java:4652)
         at java.awt.Container.dispatchEventImpl(Container.java:2099)
         at java.awt.Component.dispatchEvent(Component.java:4482)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
         at java.awt.Container.dispatchEventImpl(Container.java:2085)
         at java.awt.Window.dispatchEventImpl(Window.java:2478)
         at java.awt.Component.dispatchEvent(Component.java:4482)
         at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
         at java.awt.EventQueue.access$000(EventQueue.java:85)
         at java.awt.EventQueue$1.run(EventQueue.java:603)
         at java.awt.EventQueue$1.run(EventQueue.java:601)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
         at java.awt.EventQueue$2.run(EventQueue.java:617)
         at java.awt.EventQueue$2.run(EventQueue.java:615)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

  • I have late 2006 iMac 24" and I cannot boot it up. I have tried everything but it will only come up in safe boot. I can, at last, boot up on the option key and it now gives me the option of the Recover HD but when I select this, it still won't boot up?

    When I select the Recovery drive it tries and then I can't get further than a white screen. My curser so has 2 columns of marks like a horizontal barcode. I think it's a software problem. When I boot up in safe boot, I have run the disc utility and it says the disc is fine and I have run the repair permissions  but it makes  no difference.

    Thanks AAndy but I had read all of that and tried everything but I have no disks as I upgraded from Snow Leopard over the internet.  I have my Snow Leapard box but the disk is missing so I can't use that and anyway, I can only boot up in safe boot so it wouldn't recognise the superdrive.  I had a copy of the recovery on a flash but it doesn't recognise that.  I have redownloaded it but cannot get it onto an external because of safe boot.  I have done the following
    Reset the PRam, reset the desktop.
    Tried the D key - no responce
    Tried opt D and Command D - no responce
    Comant R, jusr R and opt R - no responce
    By no responce, I mean that the wheel goes round under the apple and then it goes white - and stays like that.
    The only thing that I can do, is to boot up on the option key when it give me a choice of drive.  If I select Recover, wheel turns under apple - white wcreen
    If I boot up on the shift key, it boots into safe mode and there it stays, quite happy surfing the internet and playing stupid Facebook games, so long as I don't want to use any search engines (none of which work (not finder, not mail, not anything) and then after a few hours of forgotton pleasure, it crashes!
    The only thing I can think of to do is to redownload Lion - it appears in my purchased account in the App Store but, Sod's law, our satellite internet is not working and I don't think my phone account has enough MBs - anyone know how many Lion is?
    I can't backup because I can't use an external drive and old one stopped working a few months ago, so I haven't been backing up and as this is the first problem I have ever had with my iMac in 7 years, I had got a bit comlascent! However, I am pretty certain that I can re-install Lion without wiping my hard drive - I have done it years ago with an older system and an older Mac.
    Do you think that downloading Lion again and re-installing it will help?  Does anyone else have any suggestions?
    Thanks for responding so far.

  • Can I over-ride the default setting in Organizer to allow sorting photos by filename ?

    I am converting slides from the 1970's and 80's to digital files and using PSE 8 to Organize them but it is important to me that they stay in the order of the file name I give them and NOT "Date: newest first or last" because it would seem that PSE, in the absence of metafile information, uses the date and time I uploaded the file to the Organizer as the "Date:".  ACDSee has a much more sensible arrangement in giving me full control of how my photos are sorted.  I am being driven to using ACDSee as the organizer and PSE as the photo editor, a not very convenient arrangement.  So my question is, "Can I over-ride the default setting in Organizer to allow sorting photos by filename ?"

    The type of file system that you're trying to set up, is actually done better by creating you own file heirarchy in Windows, and then viewing by import batch.  For example; you might create a top level folder "My Slide Scans", then perhaps, "My son John". So, the scans of john all go in the same folder, you import the folder in one batch, and you're where you want to be.
    That said, PSE will fight you at every turn to do this, since with the scanner hooked up with PSE, PSE is going to want to store your photos in "scanned photos" and import them as you scan them.
    I woud suggest this.  After the scan and import, use PSE to move the photos to their final destination folder, say " Hawaii 1994", and create a tag of the same name". Then when you're done scanning photos of this event, use the tag to view all the scans at once. Then, delete all the photos from the organizer. (Yeah, sounds radical I know). Take heart! All you've gotta do then is to reimport the whole folder. All the same name photos will be in one import batch. And with all the photos of any given topic in one folder, you'll be able to also use Windows Explorer in any number of modes to view the photos outside PSE.
    Keep in mind you can rename batchs of photos by selecting them, or by import batch or even tag, then "Ctrl. > Shift > N" will bring up the name change dialog box.
    This technique is quite contensious, but, it makes a whole lot more sense than storing all your photos in the "My Photos" folder on the "C:/" drive where any viral or malware hiccup might cause the necessity of a reformat, which could cause the loss of years of work.
    If a name search is a priority, that would be "Ctrl ."Shift" > "K" then type in whatever your heart desires.
    Caution: Before attempting a delete/ reimport manuver, Alway, always, write the tag and file info to the photo. "File" >"Write Tag and Properties Info to File".
    I always am quite adamantine about suggesting that you do NOT use the same physical HDD that contains Windows to store your photos, that's just asking for trouble. HDDs are quite cheap nowadays, and they're worth every penny in piece of mind. Plus to use a storage ("Volume") drive, you have to create your own file heirarchy anyway, so that leads right back to the beginning of this discussion.

  • How can i assign a Javascript variable to JSP variable

    Hi guys
    how i can assign a javascript variable to jsp expression.,
    e.g.,
    <input type = "button" value = "Add more" onclick = "return submitform1('<%=s%>')">
    function submitform1(String s)
          var s1 = s
    document.form1.action = "../intimation.do";    /* Here i want to pass the value s1 to jsp or servlets without using hidden fields and Query string*/
           document.form1.submit();
          return false;
    /*  i want to pass the values thru session whether it is possible */
    pls give sample code
    Reply
    Marimuthu

    You don't have the session.
    All you have is HTTP.
    The only way to communicate from the client to the server is via an HTTP request. The only way to send a value like that is with a parameter.
    Using a form with method="submit" as mentioned will pass the parameters without displaying them in the url bar (is that what you wanted?)

  • RT jitter! Can multiple reads to a variable / cluster cause a blocking condition?

    Howdy do.
    While incrementally developing and testing an application on a crio9068 (linux RT)  I've begun to see the 'finished late?' indicator in my main timed loop flicker. Starting to pull my hair out trying to figure out how to prevent this from happening. I made a 'hold max' vi and can see the longest execution time for each frame.
    The application runs fine at about 75% processor load with the front panel open, and the majority of iterations execute in time. Occasionally, I'll have a 'spike' in execution time, and all four frames in the timed loop take significantly longer than normal to execute, and the 'late' indicator says so.
    A couple questions I've had build up while chasing this:
    -If I use local varables to pass data between loops, but only write to the variable in one place, can I still cause a blocking condition/jitter by competing reads of that memory space?
    -If I use an FPGA read/write node to pass data between the timed loop and the FPGA, should I expect this to cause a problem? I selectively disabled a lot of my code, and it seems like this is where some of the delay occurs. What stumps me is that these parts of the code haven't changed in recent development and the thing never used to run late.
    -On the topic of the FPGA read/write node, I previously assumed that I shouldn't write to the same FPGA FP item in different subvis. However, the code is set up so that there are multiple parallel calls to the read/write node, just with different elements selected. Is this BAD?
    -Similarly, if I unbundle and read the same element from a cluster control in a 'parallel' fashion, can this cause a blocking situation, or is it the same as unbundling and wiring from there to multple places?
    -I am using the recently renamed "NI software calibration and management toolkit (SCM)," formerly Drivven CalView, to handle communication between the RT and a windows host. It also does neat fault management stuff. Anybody else using this, and is there any possibility I'm getting jitter by having too many calpoints in my deterministic loop?
    Any guidance on any of the above points would be greatly appreciated. If I don't make sense on any of the above points I can make example snippets to describe.
    Solved!
    Go to Solution.

    Tom,
    Thanks for your input(s). I'll stop obsessing over the local variables and the branched cluster wires for now.
    I didn't realize that all the code in the timed loop would be serialized beyond normal execution. In fact, this brings up another question I have. Somewhere I read that the overhead of multithreading would cause an issue. Since the 9068 has two cores, I had previously been setting the CPU selector in the timed loop to 'automatic', which seemed to load both cores roughly equally. Doesn't this mean that the process is being multithreaded? Funny thing is that even when I do select cpu 0 or cpu 1, they both are roughly equal in utilization while the timed loop is running.
    The period for the timed loop is set at 15ms, and the execution of all the frames usually occurs in less than 10ms. After several seconds I'll get a 'spike' in execution time, and it will take 20-30ms to complete an iteration. I'm not positive if my benchmark is valid, but if I look at the execution time for each frame and 'hold' the maximum time, it seems like they all (four frames) take extra time at this one instance. So that hasn't helped to narrow it down much. 
    It sounds like you have a method in mind for 'caching runtime data'. If you can point me in a good direction to gather more information about what the thing is doing it would help. I have run a strip chart of execution times, attached.
    How much should I expect having the front panel open will affect the determinism of the loop? I realized it added overhead, but since the overall CPU load is less than 60% (each) with all the bells and whistles (other loops) disabled, I thought it wouldn't be having an effect like this.
    Again, thanks for throwing ideas around, it really helps.
    Matt
    Attachments:
    iteration execution.png ‏16 KB

  • What can i replace this bind variable with in function?

    Hello
    I am creating a report showing training attended by employees. I have written a function to do the following:
    Parameters 1 - 4 is hard coded for a reason. So we dont worry about them.
    5th parameter: :START_DATE represents the date training started
    6th parameter: :END_DATE represents the date training ended.
    These date parameters are correctly used inside the select statement that the function is built upon. So don't worry that my date parameters are correct/incorrect.
    The focus should be on how you use bind variables inside Discoverer Admin. The select at the bottom runs perfectly in Toad and it allows you to use the date parameters as bind variables. But it does not allow it in Discoverer Admin
    The problem is with Parameter 5 and 6. I dont want to hard code the dates as i want the user to be able to enter his own date parameters.
    Discoverer Admin gives an error is i want to use :START_DATE and :END_DATE as parameters
    Does anyone have a solution for my problem.
    This is what the code looks like.
    SELECT apps.xxhr_fsc_training_info.xxhr_fsc_training ('A', '02','M', 'N',:START_DATE, :END_DATE)category_A_training
    , apps.xxhr_fsc_training_info.xxhr_fsc_training ('B', '02','M', 'N',:START_DATE, :END_DATE)category_B_training
    , apps.xxhr_fsc_training_info.xxhr_fsc_training ('C', '02','M', 'N',:START_DATE, :END_DATE)category_C_training
    , apps.xxhr_fsc_training_info.xxhr_fsc_training ('D', '02','M', 'N',:START_DATE, :END_DATE)category_D_training
    , apps.xxhr_fsc_training_info.xxhr_fsc_training ('E', '02','M', 'N',:START_DATE, :END_DATE)category_E_training
    , apps.xxhr_fsc_training_info.xxhr_fsc_training ('F', '02','M', 'N',:START_DATE, :END_DATE)category_F_training
    , apps.xxhr_fsc_training_info.xxhr_fsc_training ('G', '02','M', 'N',:START_DATE, :END_DATE)category_G_training
    from dual
    Edited by: iandekoker on Jun 8, 2009 9:34 PM

    Rod
    I have a request. The request is based on various emails written about passing parameters in Discoverer Admin/Desktop. Now if you are experienced and work with set copntext on regular basis then it should be a walk in the park. However if you are new to it like me, then it seems a daunting task. So my request is: Can't you provide us with an example of how to complete the whole process from begin to end using an actual example? I will kick off the process and maybe you can add where i left something out?
    Example:
    SELECT ENAME, HIRE_DATE
    FROM EMP
    WHERE HIRE_DATE = :IDATE;
    We want to run this select statement in Discoverer Admin, but Admin does not like the :IDATE bind variable. So now we are gonna use SET CONTEXT to find a solution to our problem.
    Step1:
    First we have to create a context namespace in the database for the Discoverer contexts. Here is the code to create the context. It is okay to also named your function EUL_DISCO as this name would work perfectly for almost everyone. Best is to do all of this in the Apps schema. Copy and paste this code in Toad and F9 it. It should compile successfully
    CREATE OR REPLACE CONTEXT eul_disco
    USING apps.eul_disco;
    Step 2:
    Now you need to create a package to enable you to set and retrieve contexts from in Discoverer. Here is the code to create the package and package body. Just copy and paste the code into Toad and F9 (execute) it to create the package.
    --Package Spec
    CREATE OR REPLACE PACKAGE eul_disco AS
    FUNCTION set_context(p_name VARCHAR2, p_value VARCHAR2) RETURN VARCHAR2;
    FUNCTION show_context(p_name VARCHAR2) RETURN VARCHAR2;
    END eul_disco;
    --Package Body
    CREATE OR REPLACE PACKAGE BODY eul_disco IS
    FUNCTION set_context(p_name VARCHAR2, p_value VARCHAR2)
    RETURN VARCHAR2 AS
    BEGIN
    dbms_session.set_context('EUL_DISCO', p_name, p_value);
    RETURN p_value;
    END set_context;
    FUNCTION show_context(p_name VARCHAR2)
    RETURN VARCHAR2 IS
    BEGIN
    RETURN SYS_CONTEXT('EUL_DISCO', p_name);
    END show_context;
    END eul_disco;
    Step3:
    Once you have created this package successfully you need to log into Discoverer Admin. Then use the menu to navigate to Tools > Register PL/SQL Function. A window called 'PL/SQL Functions' will appear. Select the 'Import...' button. A new window called 'Import PL/SQL functions' will appear. Scroll down until you see set_context function. Once you found it click OK to import it to End User Layer. Do the same to import show_context function. Remember there are two functions and you need to import them both. When you are done, click 'Apply' button. Then click 'OK' button. You can double check to make sure your functions have been imported. Just nagivate to Tools > Register PL/SQL function again. When the window 'PL/SQL Functions' appears your function(s) should be in the list on the left hand site. Scroll down untill you find them.
    Step4:
    Now it is time to set your session parameters in a separate worksheet inside Discovere Desktop from your main reports. The following steps show you how to create a worksheet to define an effective date parameter. The parameter worksheet should be based on a folder that always returns exactly one row.
    Log into Discoverer Admin. Open the Business Area you want to use. Then create "New Custom Folder..."
    Copy and paste this code (select sydate from dual) inside the New Custom Folder and validate the code. Also rename your folder to 'Set Context Folder'
    Step 5
    Next log into Discoverer Desktop and choose 'Create New Workbook'. Then choose table layout option. In the available list choose 'Set Context Folder'. When you have highlighted 'Set Context Folder' click on '>' button. Then click then 'Finish' button. Once the workbook is created you will see 1 column called Sysdate and a row with today's date in it. Save this workbook and name this workbook XYZ. You might even rename the sheet to QWE.
    Step 6:
    Still in Desktop working on XYZ workbook on QWE sheet, click on Tools > Parameters > New. In the 'Name' field enter START_DATE. Next leave 'Create condition with operator' box unticked. Next in 'Prompt' field enter START_DATE. In 'Description' field enter START_DATE. In 'Default' field enter NULL. Click OK button when you are done.
    Step 7:
    Still in Desktop working on XYZ workbook on QWE sheet, click on Tools > Calculation > New. Click on 'Functions' radio button. Then click on 'Database' folder to expand it. Scroll down till you see 'Set Context' function in the list. Select it and click 'paste >>' button. It will now show: SET_CONTEXT(P_NAME, P_VALUE). Now you need to replace the two parameters (P_NAME, P_VALUE) of the function. Replace P_NAME with 'START_DATE'. When you are done click on Items radio button. Then click on the Parameters folder and select Start_Date.
    When you are done it should look like this: SET_CONTEXT('START_DATE',TO_CHAR(:START_DATE))
    You might want to rename this calculation to START_DATE
    Ps. If you need to create two date parameters START_DATE and END_DATE then you repeat step 7 cause you need one more calculation.
    Just replace START_DATE with END_DATE. You also might want to call this second calculation END_DATE. Thus when you are done you will have 2 calculations:
    SET_CONTEXT('START_DATE',TO_CHAR(:START_DATE))
    SET_CONTEXT('END_DATE',TO_CHAR(:END_DATE))
    This is useful when you want date parameters similar to: 'where date between :Start_date and :End_date'
    Step 8:
    When you now run the XYZ workbook (QWE sheet) it will prompt you for an START_DATE. Enter 10-Jun-2009 (make sure the format you enter the date is similar to the format you have set up in discoverer). Now your XYZ workbook have 2 columns. First column is still called Sysdate with today's date. The second column is called START_DATE with 10-JUN-2009 in it.
    Step 9:
    Now you want to remove the 'SELECT SYSDATE FROM DUAL' data stored in 'SET CONTEXT FOLDER' from your XYZ workbook (QWE sheet) as you no longer need that. Still working with Desktop inside XYZ workbook on QWE sheet > click on Sheet menu option > then Edit Sheet option. On the Select Items tab click on 'Set Context Folder' and click < button to remove the folder from workbook XYZ. Click OK when done and run the workbook XYZ (sheet QWE) again. Now the workbook XYZ (sheet QWE) should only have one column called START_DATE and 10-Jun-2009 as the only row.
    Step 10:
    Rob you might want to come in here. It is also useful to create another calculation retrieving the value of the parameter, so that the value entered for the parameter can be seen when the workbook is run. Please give step by step instruction to complete this process
    Step 11:
    Still remember your initial problem where we wanted to use :IDATE in Discoverer Admin folder, but Discoverer Admin did not like the :IDATE syntax?
    SELECT ENAME, HIRE_DATE
    FROM EMP
    WHERE HIRE_DATE = :IDATE;
    Solution:
    Well now you just replace :IDATE with TO_DATE(SYS_CONTEXT('EUL_DISCO','START_DATE'))
    Log into Discoverer Admin. Open your Business Area. Then create 'New Custom Folder..'.
    Copy the code below and paste it into the new custom folder.
    Then validate the code.
    Rename the new custom folder to 'Solution'
    --copy and paste this code into folder 'Solution'
    SELECT ENAME, HIRE_DATE
    FROM EMP
    WHERE HIRE_DATE = TO_DATE(SYS_CONTEXT('EUL_DISCO','START_DATE'))
    note: 'EUL_DISCO' is the name of the context and package you created in step1
    : 'START_DATE' is the name of the calculation you did in step7
    Then log onto Discoverer Desktop > open your workbook XYZ > open sheet QWE.
    Click on Menu item called Sheet > New Sheet > choose Table layout > click next > scroll down available folders till you find SQL folder with then name 'Solution'. Select 'Solution' folder and click > then click Finish.
    The folder named 'Solution' will be used to populate the newly created sheet with data. You might want to rename the newly created sheet to 'Finally'.
    At this point workbook XYZ should have 2 sheets (QWE and Finally).
    Sheet 'QWE' contains the parameter and nothing else.
    Sheet 'Finally' displays the code found in folder 'Solution'
    First you run sheet QWE to set parameter. When prompt for a date enter '10-JUN-2009'. Click OK button.
    Then click on sheet 'Finally' to allow the parameter to take effect and do its job. You will see that only data true of 10-JUN-2009 are displayed
    Notes:
    This is a very simple example. But if you work thru this example, then you will get the concept behind the idea and would you be able to satisfy your own need.

Maybe you are looking for

  • Cant Download ANYTHING !! HELP !!

    I can surf the web etc but cannot download anything ! It just does nothing when I try. Other PC connected to same router works fine... How do I reset OS X etc etc ??? Any ideas on this much appreciated...

  • I am having trouble buying songs on Itunes.  When I hit "buy", nothing happens.  Any suggestions?

    I am having trouble buying songs on Itunes.  When I hit "buy", nothing happens.  Any suggestions?

  • Find BCC recipient in incoming email

    Is there possible to find BCC recipient in incoming email? when user receive email is there any BCC recipient included or not ? how to find it. is there any software or any process for that? or can we trace that email which send or received from user

  • CFMAIL stopped working

    I have numerous CFMAIL tags on the website. Generally, about 100 messages are sent per day. Approximately five days ago, mail stopped being sent. When you send mail, no CF errors occur. I've checked the "Verify mail server connection box" in the CFAd

  • Tunneling result not OK,

    Hi, What can you tell me about the following exception that I get trying to call a bean on Weblogic 6.1. My program tries to take the connection for several minutes and then java console shows the exception below. The problem doesn't occur when I tak