Wednesday, December 14, 2011

Interface and General Interview Questions


1.       Why do we call FND SRWINIT from Before Report Trigger?
A.  FND SRWINIT fetches concurrent request information and sets up the profile options. It must be included if one is using any ORACLE APPLICATION OBJECT LIBRARY features in his report (such as concurrent processing).

2.        Why do we call FND SRWEXIT from After Report Trigger?
A.     FND SRWEXIT frees all the memory allocations done in other Oracle     Applications user exits. It must be included if one is using any ORACLE APPLICATION OBJECT LIBRARY features in his report (such as concurrent processing).

3.      Why do we call FND FLEXSQL from the Before Report Trigger?
A.           One need to pass the concatenated segment values from the underlying code combinations table to the user exit so that it can display appropriate data and derive any description and values from switched value sets as needed.  One gets this information by calling the AOL user exit FND FLEXSQL from the before report Trigger.

4.      If you call the user exit FND FLEXSQL with    MODE = “WHERE” from the Before Report Trigger. What will it do?

A. This user exit populates a lexical parameter that you specify with the appropriate SQL fragment at run time. You include this lexical parameter in the WHERE clause of the report query. This user exit is called once for each lexical to be changed.

5.      If you call the user exit FND FLEXSQL with    MODE = “ORDER     BY” from the Before Report Trigger. What will it do?
A.      This user Exit populates the lexical parameter that one specifies with the appropriate SQL fragment at run time. One includes this lexical parameter in the ORDER BY clause of the report query. This user exit is called once for each lexical to be changed.

6.      How can we display flexfield segment values, descriptions, and prompts on the report?
A.     Create a formula Column. Call the user exit FND FLEXIDVAL as the formula for this column. This user exit automatically fetches more complicated information such as descriptions and prompts so that one does not has to use complicated table joins to the flex field tables.

7.      Name some options of the FND FLEXSQL   user exit?
A.   CODE, APP_SHORT_NAME, OUTPUT, MODE, DISPLAY, SHOWDEPSEG, NUM or MULTINUM, TABLEALIAS, OPERATOR, OPERAND1, OPERAND2.

8.      Describe CODE option of the FND FLEXSQL user exit?
A.           Specify the flex field code for the report (for example, GL#, MCAT).

9.       Describe the APP_SHORT_NAME option of the FND FLEXSQL user exit?
A.Specifies the short name of the application that owns the flex field (for example: SQLGL, INV).

10.        Describe the OUTPUT option of the FND FLEXSQL user exit?
A.Specify the name of the lexical parameter to store the SQL fragment. One uses this lexical later in the report when defining the SQL statement that selects the flexfield values. The datatype of this parameter should be character.


11.        Describe the MODE option of the FND FLEXSQL user exit?
A.      Specify the mode to use to generate the SQL fragment. Valid mode are :
SELECT:  Retrieves all segments values in an internal (non- displayable format)
WHERE: Restrict the query by specifying constraints on flexfield columns. The fragment returned includes the correct decode statement if one Specify MULTINUM. One must also specify an OPERATOR and OPERANDS.
HAVING: Same calling procedures and functionality as WHERE.
ORDER BY: Order required information by flexfield columns. The fragment                        Orders your flexfield columns and separates them with a comma. The fragment returned includes the correct decode statement I one specify MULTINUM.

12.        Describe the DISPLAY option of the FND FLEXSQL user exit?
A.One uses the DISPLAY token with the MODE token. The DISPLAY parameter allows you to specify segments that represent specified flexfield qualifiers  or specified segments numbers , where the segment numbers are the order in that the segments appear in the flexfield window, not the segment number specified in the Define Key Segments form.
Eg.  If your MODE is SELECT and you specify DISPLAY = “ALL” then the  SELECT statement includes all the segments of the flexfield.  . Similarly, if your MODE is WHERE and you specify DISPLAY = “ALL” , then your WHERE clause includes all segments.

13.        Describe the SHOWDEPSEG option of the FND FLEXSQL user exit?
 A.  SHOWDEPSEG = “N”   disables automatic addition of depended upon segments to the order criteria. The default is “Y”. This token is valid only for MODE = “ORDER BY” In FLEXSQL.

14.        Describe the NUM   option of the FND FLEXSQL user exit?
A.Specify the name or lexical or source column that contains the flexfield structure information. If the flexfield uses just one structure, specify NUM only and use a lexical parameter to hold the value. If the flexfield uses multiple structures, specify MULTINUM only and use a source column to hold the value. The default value is 101.

15.        Describe the TABLE ALIAS option of the FND FLEXSQL user exit?
A.      You use TABLE ALIAS if your SELECT joins to other flexfield tables or uses a self – join.

16.        Describe the OPERATOR option of the FND FLEXSQL user exit?
A.      Specify an operator to use in the WHERE clause.

17.    Describe the OPERAND1 option of the FND FLEXSQL user exit?
A.Specify an operand to use in the WHERE clause,

18.         Describe the OPERAND2  option of the FND FLEXSQL user exit
A.Specify a second operand to use with OPERATOR = “BETWEEN”

19.        Where is FND FLEXIDVAL user exit used?
A.Call this user exit to populate fields for display. You pass the key flex fields data retrieved by the query into this exit from the formula column. With this exit you can display values, descriptions and prompts by passing appropriate token (any one of VALUE, DECRIPTION<APROMPT or LPROMPT).


21.   Name the interface tables used for the customer interface?Name the interface tables used for the customer interface?
A.    1. RA_CUSTOMER_INTERFACE
        2. RA_CUSTOMER_BANK_INTERFACE
        3. RA_CUST_PAY_METHOD_INTERFACE
        4. RA_CUSTOMER_PROFILES_INTERFACE
        5. RA_CONTACT_CUSTOMER_INTERFACE
22.   What is the name of the column in CUSTOMER_INTERFACE_TABLE that indicates whether you are   inserting new or updating existing information?  
A: When importing data into the interface tables, the column INSERT_UPDATE_FLAG indicates whether you are inserting new or updating existing information. This column is required in RA_CUSTOMER_INTERFACE.

23.    If the INSERT_UPDATE_FLAG is not set correctly or the required column is missing the value, will CUSTOMER INTERFACE reject the entire record or just the attributes you want to update?
A.      Reject the entire record.

24.   List some of the required columns for the RA_CUSTOMERS_INTERFACE?
A.     ORIG_SYSTEM_CUSTOMER_REF
         INSERT_UPDATE_FLAG
         CUSTOMER_NAME
         CUSTOMER_NUMBER (if you are not using Automatic Customer Numbering)
         CUSTOMER_STATUS
         LAST_UPDATED_BY
         LAST_UPDATE_DATE
         CREATED_BY
         CREATION_DATE
If you are importing an address and a business purpose, you must also populate the following columns:
PRIMARY_SITE_USE_FLAG (if you are inserting an address)
LOCATION (if you are not using Automatic Site Numbering)
SITE_USE_CODE (if you are inserting an address)
ADDRESS1

25.    List some of the production tables that Customer Interface transfers customer data from the interface tables into?
A.     AR_CUSTOMER_PROFILES
         AR_CUSTOMER_PROFILE_AMOUNTS
         RA_ADDRESSES
         RA_CONTACTS
         RA_CUSTOMERS
         RA_CUSTOMER_RELATIONSHIPS           
         RA_CUST_RECEIPT_METHODS
         RA_PHONES
         RA_SITE_USES
         AP_BANK_ACCOUNT_USES
         AP_BANK_ACCOUNTS
         AP_BANK_BRANCHES

26.    What validation must be given on the customer number?
A.     Must be null if you are using Automatic Customer Numbering. Must exist if you are not using   Automatic Customer Numbering. This value must be unique within RA_CUSTOMERS.

27.    What validation must be given on the CUSTOMER_STATUS?
A.     Must equal ’A’ for Active or ’I’ for Inactive. 

28.    Name some of the Oracle receivables Interfaces?
A.     a) Auto Invoice
         b) Auto Lockbox
         c) Customer Interface
         d) Sales Tax rate Interface
         e) Tax Vendor Extension

29.    Give some of the Oracle Payables interface?
A.     a) Credit Card Transaction Interface
         b) Invoice Import Interface
         c) Payables Open Interface
         d) Purchase Order Matching

30.    Name some of the oracle general ledger Interface?
A      a) Budget Upload   
         b) Importing Journals
         c) Loading Daily rates

31.   What are the names of the parameters you pass to the Procedure which you register in the apps?
A.           1) retcode out varchar2
         2) errbuf out varchar2

32.    What is the use of Auto lock Box?
A.     Auto Lockbox (or Lockbox) is a service that commercial banks offer corporate customers to enable them to outsource their accounts receivable payment processing.

33.    Auto Lockbox is a three-step process, what are those?
A.     a) Import
         b) Validation
         c) PostQuickCash

34.    What is the order in which Autolock box searches for the types of the matching number?
A.     1. Transaction Number
         2. Sales Order Number
         3. Purchase Order Number
         4. Consolidated Billing Invoice Number
         5. Other, user-defined number.

35.  What is application short name for General Ledger you specify in FND FLEXSQL user exit?
A.     SQLGL

36.    What are validations to be done in Journal Import interface?
A.     Batch level: Set of Books, Period Name, and Batch Name
         Journal Level: Set of books, Period name, Source name, Journal entry name, Currency code, Category name, Actual flag, Encumbrance type ID, User conversion type, Accounting date, Budget version ID

37.    What subclass in forms6i?
A.    Specifies module, storage & name information about the source object and source module for a referenced objects.

38.    What is the clause in SQL * Loader to program to override data into table?
A.         REPLACE

39.    How do you set profile in oracle applications In Application Developer responsibility?
A.     Open ‘Profile’ Function

40.    What is the syntax for loading data through SQL * Loader from multiple files simultaneously?
A.      Sqlldr scott/tiger@orcl  control = ctlfile
            parfile -- parameter file: name of file that contains parameter specifications
            parallel -- do parallel load  (Default FALSE).

41.    What is the table name for items in Oracle Inventory?
A.     MTL_SYSTEM_ITEMS, MTL_CATEGORIES

42.   Tell me names of important production tables & their purpose AP, AR, GL, PO?
A.     AP: AP_INVOICES_ALL, AP_INVOICE_LINES_ALL To store invoices
         AR: RA_SHIPMENT_HEADERS/ _LINES, RA_CUSTOMERS,
                 RA_CONTACTS
         PO:  PO_VENDORS, PO_VENDOR_SITES - For storing vendor data.
43.       Name the interface tables used for the LockBox Interface?
A.        Interface table : AR_PAYMENTS_INTERFACE_ALL
      Lockbox transfers the receipts that pass validation to the Receivables interim     tables AR_INTERIM_CASH_RECEIPTS_ALL and       AR_INTERIM_CASH_RCPT_LINES_ALL
When you run Post QuickCash, the receipt data is transferred from the QuickCash tables to the following Receipt tables:
AR_CASH_RECEIPTS_ALL
AR_RECEIVABLES_APPLICATIONS_ALL
AR_CASH_RECEIPT_HISTORY_ALL

44.       Name the interface tables used for the AutoInvoice Interface.
A         AutoInvoice transfers transaction data from the interface tables
.RA_INTERFACE_LINES_ALL,
RA_INTERFACE_SALESCREDITS_ALL, and
RA_INTERFACE_DISTRIBUTIONS_ALL
into the following Receivables tables:
• RA_BATCHES_ALL
• RA_CUSTOMER_TRX _ALL
• RA_CUSTOMER_TRX_LINES _ALL
• RA_CUST_TRX_LINE_GL_DIST_ALL
• RA_CUST_TRX_LINE_SALESREPS_ALL
• AR_PAYMENT_SCHEDULES_ALL
• AR_RECEIVABLE_APPLICATIONS_ALL
• AR_ADJUSTMENTS_ALL


REPORTS 6i

About User Exits

A user exit is a program that you write and then link into the Report Builder executable or user exit DLL files.  You build user exits when you want to pass control from Report Builder to a program you have written, which performs some function, and then returns control to Report Builder.
You can write the following types of user exits:
Ø      ORACLE Pre-compiler user exits
Ø      OCI (ORACLE Call Interface) user exits
Ø      Non-ORACLE user exits
You can also write a user exit that combines both the ORACLE Pre-compiler interface and the OCI. User exits can perform the following tasks:
Ø      Perform complex data manipulation
Ø      Pass data to Report Builder from operating system text files
Ø      Manipulate LONG RAW data
Ø      Support PL/SQL blocks
Ø      Control real time devices, such as a printer or a robot

You can use user exits for other tasks, such as mathematical processing.  However, Oracle Corporation recommends that you perform such tasks with PL/SQL within Report Builder.
Usage Notes
Ø      Not all types of user exits can perform all of the described tasks.  You can accomplish most of these tasks only with ORACLE Pre-compiler user exits.
Ø      Some details of implementing user exits are specific to each operating system. 

Writing a user exit call

You can call the user exit from any place in which you can enter PL/SQL within Report Builder.  Use the following syntax:

 

Syntax

Ø      [SRW.REFERENCE(:object_name_1);]
Ø      [SRW.REFERENCE(:object2_name_2); ...];
Ø      SRW.USER_EXIT('user_exit_name [argument_list]');
where:

object_name_n         Is the name of an Report Builder parameter or column whose value will be passed to the user exit in the user exit string.  This causes Report Builder to build a dependency list:  it will ensure that each referenced object will contain the most recently computed or fetched value before it is passed to the user exit.  Note:  You must reference each parameter or column separately.  For details, see "SRW.REFERENCE".

user_exit_name        Is the name of the user exit to which you are passing control.  The user exit name may be any length.  (On some operating systems, the name may be at most 6 characters.  Check with your system administrator.)

argument_list Can contain the names of parameters and columns, constants, character strings, or any combination thereof, that you wish to pass to the user exit.  The argument list may be any length.  Note: The above syntax will need to be embedded in a PL/SQL program unit. 

SRW.USER_EXIT

Description  : This procedure calls the user exit named in user_exit_string.  It is useful when you want to pass control to a 3GL program during a report's execution.

Syntax
SRW.USER_EXIT (user_exit_string CHAR);
Parameters :
user_exit_string :Is the name of the user exit you want to call and any columns or parameters that you want to pass to the user exit program.

SRW.REFERENCE

Description : This procedure causes Report Builder to add the referenced object to the PL/SQL construct's dependency list.  This causes Report Builder to determine the object's value just before firing the PL/SQL construct.  This is useful when you want to ensure that a column value passed to a user exit is the most recently computed or fetched value.
Syntax
SRW.REFERENCE (:object CHAR|DATE|NUMBER);
Parameters
object  Is the Report Builder parameter or column whose value needs to be ascertained before the construct fires.

SRW.MESSAGE

Description :This procedure displays a message with the message number and text that you specify.  The message is displayed in the format below.  After the message is raised and you accept it, the report execution will continue.
MSG-msg_number:  msg_text.
Syntax
SRW.MESSAGE (msg_number NUMBER, msg_text CHAR);
Parameters
msg_number Is a number from one to ten digits, to be displayed on the message line.  Numbers less than five digits will be padded with zeros out to five digits.  For example, if you specify 123, it will be displayed as SRW-00123.
msg_text        Is at most 190 minus the msg_number alphanumeric characters to be displayed on the message line.

Lexical References :
Lexical references are placeholders for text that you embed in a SELECT statement.  You can use lexical references to replace the clauses appearing after SELECT, FROM, WHERE, GROUP BY, ORDER BY, HAVING, CONNECT BY, and START WITH.

You cannot make lexical references in a PL/SQL statement.  You can, however, use a bind reference in PL/SQL to set the value of a parameter that is then referenced lexically in SQL.

 

SELECT Clause

SELECT &P_ENAME NAME, &P_EMPNO ENO, &P_JOB ROLE  FROM EMP

FROM Clause

SELECT ORDID, TOTAL FROM &ATABLE

WHERE Clause

SELECT ORDID, TOTAL FROM ORD WHERE &CUST

GROUP BY Clause

SELECT NVL(COMMPLAN, DFLTCOMM) CPLAN, SUM(TOTAL) TOTAL  FROM ORD GROUP BY &NEWCOMM

HAVING Clause

SELECT CUSTID, SUM(TOTAL) TOTAL  FROM ORD GROUP BY CUSTID  HAVING &MINTOTAL

ORDER BY Clause

SELECT ORDID, SHIPDATE, ORDERDATE, TOTAL  FROM ORD ORDER BY &SORT
CONNECT BY and START WITH Clauses

Multiple Clauses

SELECT &COLSTABLE
COLSTABLE could be used to change both the SELECT and FROM clauses at runtime.  For example, you could enter DNAME ENAME, LOC SAL FROM DEPT for COLSTABLE at runtime.

Bind References :
Bind references (or bind variables) are used to replace a single value in SQL or PL/SQL, such as a character string, number, or date.  Specifically, bind references may be used to replace expressions in SELECT, WHERE, GROUP BY, ORDER BY, HAVING, CONNECT BY, and START WITH clauses of queries.  Bind references may not be referenced in FROM clauses or in place of reserved words or clauses.

You create a bind reference by entering a colon (:) followed immediately by the column or parameter name.  If you do not create a column or parameter before making a bind reference to it in a SELECT statement, Report Builder will create a parameter for you by default.

SELECT Clause

SELECT CUSTID, NVL(COMMPLAN, :DFLTCOMM) COMMPLAN  FROM ORD

WHERE Clause

SELECT ORDID, TOTAL  FROM ORD WHERE CUSTID = :CUST

GROUP BY Clause

SELECT NVL(COMMPLAN, :DFLTCOMM) COMMPLAN, SUM(TOTAL) TOTAL FROM ORD GROUP BY NVL(COMMPLAN, :DFLTCOMM)

HAVING Clause    

SELECT CUSTID, SUM(TOTAL) TOTAL FROM ORD GROUP BY CUSTID  HAVING SUM(TOTAL) > :MINTOTAL

ORDER BY Clause

SELECT ORDID, SHIPDATE, ORDERDATE, TOTAL  FROM ORD ORDER BY DECODE(:SORT, 1, SHIPDATE, 2, ORDERDATE)
Placeholder Columns :
A placeholder is a column for which you set the data type and value in PL/SQL that you define.  You can set the value of a placeholder column in the following places:
Ø      The Before Report Trigger, if the placeholder is a report-level column
Ø      A report-level formula column, if the placeholder is a report-level column
Ø      A formula in the placeholder's group or a group below it (the value is set once for each record of the group)

PROCEDURE RUN_PRODUCT (product   NUMBER,    module  VARCHAR2,   commmode  NUMBER,    execmode  NUMBER,    location  NUMBER,   paramlist_id      VARCHAR2,   display   VARCHAR2);
Product :Specifies a numeric constant for the Oracle product you want to invoke: FORMS specifies a Runform session. GRAPHICS specifies Graphics Builder.  REPORTS specifies Report Builder. BOOK specifies Oracle Book.
module          Specifies the VARCHAR2 name of the module or module to be executed by the called product.  Valid values are the name of a form module, report, Graphics Builder display, or Oracle Book module.  The application looks for the module or module in the default paths defined for the called product.
commmode   Specifies the communication mode to be used when running the called product.  Valid numeric constants for this parameter are SYNCHRONOUS and ASYNCHRONOUS.SYNCHRONOUS specifies that control returns to Form Builder only after the called product has been exited.  The end user cannot work in the form while the called product is running. ASYNCHRONOUS specifies that control returns to the calling application immediately, even if the called application has not completed its display.
Execmode : Specifies the execution mode to be used when running the called product. Valid numeric constants for this parameter are BATCH and RUNTIME.  When you run Report Builder and Graphics Builder, execmode can be either BATCH or RUNTIME.  When you run Form Builder, always set execmode to RUNTIME.
Location : Specifies the location of the module or module you want the called product to execute, either the file system or the database.  Valid constants for this property are FILESYSTEM and DB.
Paramlist_name or paramlist_ID : Specifies the parameter list to be passed to the called product.  Valid values for this parameter are the VARCHAR2 name of the parameter list, the ID of the parameter list, or a null string ('').  To specify a parameter list ID, use a variable of type PARAMLIST.
Display : Specifies the VARCHAR2 name of the Form Builder chart item that will contain the display (such as a pie chart, bar chart, or graph) generated by Graphics Builder.  The name of the chart item must be specified in the format block_name.item_name


FORMS 6i
System Variables
SYSTEM.DATE_THRESHOLD : Represents the database date requery threshold.
Default : 01:00 (Synchronization occurs after one minute of elapsed time.) This does not mean that Form Builder polls the RDBMS once every minute.  It means that whenever Form Builder needs to generate the value for the system variables $$DBDATE$$, $$DBDATETIME$$, $$DBTIME$$, or SYSTEM.EFFECTIVE_DATE, it updates the effective date by adding the amount of elapsed time (as measured by the local operating system) to the most previously queried RDBMS value. If the amount of elapsed time exceeds the date threshold, then a new query is executed to retrieve the RDBMS time and the elapsed counter is reset.

SYSTEM.EFFECTIVE_DATE: Represents the effective database date.  The variable value must always be in the following format: DD-MON-YYYY HH24:MI:SS
Default:  RDBMS date.
SYSTEM.FORM_STATUS represents the status of the current form.  The value can be one of three character strings: NEW, QUERY, CHANGED
SYSTEM.SUPPRESS_WORKING suppresses the "Working..." message in Runform, in order to prevent the screen update usually caused by the display of the "Working..." message. The value of the variable is one of the following two CHAR values: TRUE, FALSE           
SYSTEM.TRIGGER_RECORD represents the number of the record that Form Builder is processing.  This number represents the record's current physical order in the block's list of records. The value is always a character string.
SYSTEM.MODE indicates whether the form is in Normal, Enter Query, or Fetch Processing mode.  The value is always a character string. NORMAL,    ENTER-QUERY, Enter Query mode.
SYSTEM.FORM_STATUS represents the status of the current form. The value can be one of three character strings: CHANGED, NEW         , QUERY.
SYSTEM.MESSAGE_LEVEL stores one of the following message severity levels: 0, 5, 10, 15, 20, or 25. The default value is 0.


PARAMETERS:
When you create a parameter, you specify its name, data type, length, and default value.
To create a parameter:
1. In the Object Navigator, create a parameter.
    To create a parameter, select the Parameters node in the Object Navigator and then choose     Navigator Create.
2. In the Property Palette, set the desired parameter properties:

In PL/SQL, you can reference and set the values of form parameters using bind variable syntax. 
To reference a parameter: Preface the parameter name with the reserved word PARAMETER, as shown in the following examples:
:PARAMETER.parameter_name := 'TOKYO';  OR
:block.item := :PARAMETER.parameter_name;

Canvas Types :
Ø      Content
Ø      Stacked
Ø      Tab
Ø      Horizontal Toolbar
Ø      Vertical Toolbar


Visual Attributes :

Visual attributes are the font, color, and pattern properties that you set for form and menu objects that appear in your application's interface.  Visual attributes can include the following properties:
Ø      Font properties:  Font Name, Font Size, Font Style, Font Width, Font Weight
Ø      Color and pattern properties:  Foreground Color, Background Color, Fill Pattern, Charmode Logical Attribute, White on Black

Every interface object has a Visual Attribute Group property that determines how the object's individual visual attribute settings (Font Size, Foreground Color, etc.) are derived. The Visual Attribute Group property can be set to Default, NULL, or the name of a named visual attribute defined in the same module.
There are several ways to set the visual attributes of objects:
·        In the Property Palette, set the Visual Attribute Group property as desired, then set the individual attributes (Font Name, Foreground Color, etc.) to the desired settings.
·        In the Layout Editor, select an item or a canvas and then choose the desired font, color, and pattern attributes from the Font dialog and Fill Color and Text Color palettes.
·        Define a named visual attribute object with the appropriate font, color, and pattern settings and then apply it to one or more objects in the same module. You can programmatically change an object's named visual attribute setting to change the font, color, and pattern of the object at runtime.
·        Subclass a visual attribute that includes visual attribute properties and then base objects on it that inherit those properties.
·        Create a property class that includes visual attribute properties and then base objects on it that inherit those properties.

About named visual attributes: Setting the Visual Attribute Group property to a named visual attribute defined in the same module specifies that the object should use the attribute settings defined for the named visual attribute. A named visual attribute is a separate object in a form or menu module that defines a collection of visual attribute properties.  Once you create a named visual attribute, you can apply it to any object in the same module, much like styles in a word processing program. 

Applies to canvas, tab page, item, radio button

Property Classes :

A property class is a named object that contains a list of properties and their settings. Once you create a property class you can base other objects on it.  An object based on a property class can inherit the setting of any property in the class that makes sense for that object.
Property class inheritance is an instance of subclassing. Conceptually, you can consider a property class as a universal subclassing parent.
There can be any number of properties in a property class, and the properties in a class can apply to different types of objects. For example, a property class might contain some properties that are common to all types of items, some that apply only to text items, and some that apply only to check boxes.
When you base an object on a property class, you have complete control over which properties the object should inherit from the class, and which should be overridden locally.
Property classes are separate objects, and, as such, can be copied between modules as needed. Perhaps more importantly, property classes can be subclassed in any number of modules.


Menu Item Types
 
Separator Menu Item :
A separator menu item is displayed as a horizontal line (or other platform-specific visual element), and is useful for visually grouping related items on the same menu.  For example, you could use a separator to isolate the radio items of one radio group from other menu items.  You must set a separator item's Command Type property to Null.  End users cannot select a separator menu item.
Magic Menu Item :
Magic items provide a way to quickly create menu items for standard functions available in most GUI applications.  Form Builder provides the following magic item types: About, Copy, Clear, Cut, Paste, Help, Quit, Undo, Window.
Plain Menu Item : Default menu item.
Radio Menu Item
Check Menu Item

No comments:

Post a Comment