How objects are created in Java internally?


Ans:
When the Java Virtual Machine (JVM) initially starts the process of running a java program, it allocates a portion of memory to be used as Heap (you can actually specify the Heap size on the command line when you run the program). While the JVM is running the program, whenever a new object is created, the JVM reserves as portion of the Heap for that object (where the object will be stored). The amount of Heap that gets reserved is based on the size of the object. The JVM maps out this segment in the Heap to represent all of the attributes of the object being stored. A reference (address in Heap) to the object is kept by the JVM and stored in a table that allows the JVM to keep track of all the objects that have been allocated on the Heap. The JVM uses these references to access the objects later (when the program accesses the object). 

What are the various ways to create an object in Java?


Ans:
1. Using new keyword
This is the most common way to create an object in java.In This we will be using the new operator which will allocates the memory space and initialize the field with default value. Then it executes the code inside the specified constructor which normally re-writes the default values with the value inside the constructor.

1 MyObject object new MyObject(); 

2. Using Class.forName()

If we know the name of the class & if it has a public default constructor we can create an object in this way.

1 MyObject object (MyObject) Class.forName( vinay.abc.MyObject ).newInstance(); 

vinay.abc.MyObject – is the class name

3. Using clone()

The clone() can be used to create a copy of an existing object. Object.clone() is a native method which translates into instructions for allocating the memory and copying the data.Even if you override the clone method then also you need to call the super.clone() method inside the overridden clone method. In this method a copy instruction is called and which copy the data from original object to clone object.
1. MyObject anotherObject new MyObject(); 
2. MyObject object anotherObject.clone();
4. Using object deserialization

Object deserialization is nothing but creating an object from its serialized form. It will uses the ‘new’ operator internally and always calls the default constructor.

1 ObjectInputStream inStream new ObjectInputStream(anInputStream ); 
2 MyObject object (MyObject) inStream.readObject(); 

5. Using class loader

one more is through creation of object using classloader like

1 this.getClass().getClassLoader().loadClass( com.amar.myobject ).newInstance 

What is the difference between concat and append?

Ans:
1. Concat is used to add a String at the end of another String. Append adds a String          or character sequence to StringBufffer. 
2. Concat creates a new String object, whereas StringBuffer append doesn't. 
3. Append is more efficient than concat


In which situation Arrays and ArrarList should be used?


Arrays are the most commonly used data structure to store a collection of elements. Most programming languages provide methods to easily declare arrays and access elements in the arrays. An arraylist can be seen as a dynamic array, which can grow in size. Due to this reason, the programmer does not need to know the size of the arraylist when she is defining it.

What are Arrays?

Shown in figure 1, is a piece of code typically used to declare and assign values to an array. Figure 2 depicts how an array would look like in the memory.
int values[5];

values[0]=100;

values[1]=101;

values[2]=102;

values[3]=103;

values[4]=104;



Figure 1: Code for declaring and assigning values to an array

100 101 102 103 104
Index: A 0                             1                              2                              3                              4

Figure 2: Array stored in the memory

Above code, defines an array that can store 5 integers and they are accessed using indices 0 to 4. One important property of an array is that, entire array is allocated as a single block of memory and each element gets its own space in the array. Once an array is defined, its size is fixed. So if you are not sure about the size of the array at compile time, you would have to define a large enough array to be in the safe side. But, most of the times, we are actually going to use less number of elements than we have allocated. So a considerable amount of memory is actually wasted. On the other hand if the 'large enough array' is not actually large enough, the program would crash.

What are Arraylists?

An arraylist can be seen as a dynamic array, which can grow in size. Therefore arraylists are ideal to be used in situation in which you don't know the size of the elements required at the time of declaration. In Java, arraylists can only hold objects, they cannot hold primitive types directly (you can put the primitive types inside an object or use the wrapper classes of the primitive types). Generally arraylists are provided with methods to perform insertion, deletion and searching. Time complexity of accessing an element is o(1), while insertion and deletion has a time complexity of o(n). In Java, arraylists can be traversed using foreach loops, iterators or simply using the indexes.

What is the difference between Arrays and Arraylists

Even though the arrays and arraylists are similar in the sense that both of them are used to store collections of elements, they differ in how they are defined. The size of the array has to be given when an array is defined, but you can define an arraylist without knowing the actual size. You can add elements to an arraylist after it is defined and this is not possible with arrays. But in Java, arraylists cannot hold primitive types, but arrays can be used to hold primitive types. But if you need a data structure that can vary its size, arraylist would be the best choice.

etol() and ltoe()

Syntax
long etol( domain domain_value )


Description
This returns the numeric code corresponding to a specified value in an enumerated domain. 


Syntax
domain ltoe( long long_value )


Description
This returns the named constant corresponding to a specified numeric code. The numeric code represents one of the values in an enumerated domain. 


Example
This example assumes an enumerated domain 'yesno'  with two possible constants: 'yesno.yes’ (=1) and 'yesno.no’ (=2).
domain    yesno active
long      enum_long
active = yesno.no
enum_long = etol( active )    | enum_long now contains 2
active = ltoe( 1 )                     | active now equals yesno.yes


Related Post:

enum.descr$()

Syntax
string enum.descr$(string domain code(12), enum_expr [, string language_code ] )

Description
This returns the description associated with a specific value in an enumerated domain. 

Arguments
code:The name of the domain. The domain must be of type enumerated.
enum_expr:One of the possible values of the enumerated domain.
language_code:To retrieve the description in a language other than the user language, specify the relevant language code in this argument. This is an optional argument. The default language is the language of the user.Note that the language code of the user is available in the predefined, read-only variable language$.

Return values
The description of the specified enumerate value, either in the current user language or in another specified language.The function returns an empty string, and displays an error message, if an unknown domain is specified or if no description exists in the data dictionary for the specified language.

Related Post:

ask.enum()

Syntax
domain ask.enum( string quescode(10), domain default_enumval [, arg ] ... )


Description
This displays a message box containing a question and a number of possible responses. The responses are presented as push buttons. To respond to the question and close the message box, the user selects one of the push buttons. 
The possible responses are defined in the data dictionary as an enumerated domain. By default, the function displays all of the defined enumerate values. To display a subset only, call set.enum.values() before calling ask.enum().

Arguments
quescode:The question to be displayed in the message box is defined in the data dictionary. This argument specifies the data dictionary code for the question. If the question contains substitution symbols, use the third and subsequent arguments to specify the values to substitute for these symbols.
default_enumval :Specifies the enumerate value of the default answer. For example, yesno.yes. If this argument is empty, the default value specified in the data dictionary is used.
arg, … :The values to substitute for any substitution symbols that the question contains. See sprintf().


Notes
The question text and the push button labels are always in the language of the user. The return value of ask.enum() is always the name of the enumerate value and not its description. So the script in which the function is used remains language independent.
After execution of ask.enum(), the standard variable attr.enum.mask$ is cleared. This also happens when the standard program calls ask.enum().


Return values
The value of the enumerated domain that corresponds to the option selected by the user. This is always the name of the enumerate value and not its description.

Related Post:

Enumerate and Set constant

In the data dictionary you can define database table fields and domains of type enumerate or set. An enumerate or set domain consists of a number of constants. In the program script (and other places in the data dictionary), a symbolic name is used. The symbolic name is the domain name, followed by a period [.] followed by the name of the constant. Variables of type set can also consist of a combination of set values.
Examples of enumerate constants


DOMAIN color box_color                 | color is an enumerate domain
| with two constants, green and red
box_color = color.green
box_color = color.red


Examples of set constants


DOMAIN feature cf                                      | feature is a domain of type set with
| the constants bold, reverse, underlined
cf = feature.bold
cf = cf + feature.reverse                                 | add constant, cf contains
| bold and reverse
cf = cf - feature.bold                                      | subtract constant
etol( cf )                                                      | returns the combined number of the
                                                                         | current value, here reverse.
A special constant of type enumerate or set is EMPTY. This indicates an empty set or an enumerate which is not defined. Internally, it has the value 0.


Related Post:

Google: Fixes security patch in wallet service

 Google assured users of its smartphone wallets that the mobile-age technology thwarts thieves better than old-school cash or credit cards.A Google Wallet feature that lets people load prepaid card information in smartphones for spending was re-activated this week after being shut off for a few days to fix a potential security vulnerability. The action from Google came after a Zvelo Labs researcher demonstrated software that quickly figures out a Wallet personal identification number (PIN), provided the crook has the smartphone. Security specialists advise Google Wallet to enable security features such as full-disk encryption and screen locks. Google Wallet uses a near field communication chip embedded in a phone to allow a user to "tap-and-pay" for purchases at a checkout register equipped with the PayPass system from CitiMasterCard. 

StumbleUpon tweaks its new redesign

Now StumbleUpon redesign by removing the red"X" from its toolbar.Actually many people suggested that the removal of the close button locked you into staying on StumbleUpon and cried foul since you could no longer go directly to the original content creator’s page.

StumbleUpon wanted to give a quick update on concerns over the implementation of new WebStumbleBar,said Garrett Camp CEO and Co-Founder of StumbleUpon. StumbleBar previous design included an ‘X’ button but now its not initially  part of the redesign for signed-in users. Now you hide the StumbleBar to see the original link, and simply click back afterwards to return to stumbling.

Instead of the red “X” returning, the company has added a “hide” button to the settings panel on the right-hand side of the page:

When you click the hide button, a warning comes up asking you again if you’d like to hide the StumbleBar. It instructs you to simply return to StumbleUpon’s site to start using it again:


In addition to the change on the StumbleBar, the company has also added an original link to the page’s review section on the site. The company has done this to make sure that content creators get proper attribution and traffic when StumbleUpon is crawled by search engines.

It’s great to see StumbleUpon respond to its users with actual change instead of trying to force things on the userbase. Instead of making excuses, the company put the feedback into action. All companies should pay attention to how StumbleUpon treats its users, who are some of the most loyal on the web.

Runtime Data Dictionary


The tools environment consists of two major components, namely the application data dictionary and the runtime data dictionary. A data dictionary is, basically, a collection of software components and data definitions. Together, these software components and data definitions form the BAAN IV application.
In the application data dictionary, only the definitions and the descriptions of how the entire BAAN IV application is built are stored. To be able to work with this software, there must first be a conversion to the runtime data dictionary. The conversion to runtime procedure is used to create operational pieces of software based on the definitions stored in the application data dictionary.
Any customization or development with BAAN IV tools means changing the application data dictionary. Therefore, it is necessary to convert the changes in the application data dictionary to the runtime data dictionary in order to activate the changes.

Structure of Application Data Dictionary and Runtime Data Dictionary

Contents of the application data dictionary
The application data dictionary contains all data definitions and software components. Together, these data definitions and software components form the BAAN IV application.
The data definition part of the application data dictionary is a database-independent description of the physical data model of BAAN IV, namely:
  • the table definitions including their relationship with other tables
  • the domain definitions including the enum descriptions of enumerated domains
The software component part of the application data dictionary contains the definitions of all other software components, namely:
  • sessions
  • forms
  • menus
  • reports
  • labels
  • messages
  • questions
  • program scripts
  • functions
Contents of the runtime data dictionary
The conversion of parts of the application data dictionary to the runtime data dictionary basically means that definitions are linked to software components and that runtime components are created. Physically, these runtime components are per package combination and package VRC.
Two different types of runtime components can be distinguished, namely the application runtime components for the different BAAN IV applications (for example, BAAN IV Manufacturing and BAAN IV Distribution) and the runtime components for BAAN IV Tools. Since the runtime components are stored on the basis of this distinction, an overview is given of where the application runtime components and the tools runtime components are stored physically.
The ${BSE}/application directory is used to store such runtime components as forms, menus, and reports. For each package VRC, there is a separate subdirectory. These package VRC directories in the ${BSE}/application directory themselves also consist of a number of subdirectories for each type of software component.
The ${BSE}/dict directory contains subdirectories for the table and domain definitions of each package combination. A package combination is a collection of a number of package VRCs and can contain software in different versions.
The ${BSE}/tools directory is used to the software components, and table and domain definitions of BAAN IV Tools. The ${BSE}/tools directory consists of two subdirectories, namely the dd directory for the table and domain definitions of BAAN IV Tools and the ttB40_a directory for the runtime software components of BAAN IV Tools. The software components themselves are stored in several subdirectories for the different modules, language codes, and types of software components.

Other components of the runtime data dictionary
In addition to data definitions and software components, some other components that are not directly related to the application dictionary must also be converted to runtime, namely:
  • users
  • tools parameters
  • languages
  • companies
  • session and database authorizations
  • key map and session groups
  • database definitions
  • logical tables
  • table directories
  • audit file directories
  • standard options and status line texts
  • tools texts
  • date and currency formats 
  • BMS mask data
These components can be converted to the runtime data dictionary from within a number of specific sessions. 

Messages


1) Explanation of messages
Messages are language-dependent software components and are, therefore, maintained by language. The message code, however, is the same for all languages. Messages are used in program scripts and functions, and are linked to domains, tables, table fields, and form fields.
When scripts or functions are being programmed, it is possible to include messages. Consequently, once the scripts are compiled and the objects are executed, the matching messages can be displayed. 
1.1) Message types
Messages are named after the type of software component to which they are linked, namely:
Domain range message
This type of message is displayed when a value outside the specified range for that specific domain is entered.
Table update reference message
This type of message is displayed when an attempt is made to change the primary key to which another table refers.
Table delete reference message
This type of message is displayed when an attempt is made to delete the primary key to which another table refers.
Table field reference message
This type of message is displayed when a given value does not correspond with a record in the reference table.
Form field message
This type of message is displayed at the bottom line of the screen when the cursor is on this field.
1.2) Message codes
Each message is identified by a unique message code. For example:
2) Customizing and developing messages
Prerequisites
To be able to create new messages or customize existing ones, a number of prerequisites must be met, namely:

  • a working environment consisting of a user, company, package combination, and a current package VRC must be set up
  • a developer must be defined.
3) Maintain Messages (ttadv4151m000)
The Maintain Messages (ttadv4151m000) session is activated from the messages and questions menu and is used to define messages for program scripts, functions, domains, tables, and form fields. For each message code, a message description is specified.
Message descriptions can contain such codes as %s, %d, and %e to substitute strings, digits, and exponents. To handle formatted expressions, the sprintf$ function is used.


Labels

1) Explanation of labels
Labels are generic pieces of text that are stored by language in a central label file. Because of the use of labels for every text element in menus, forms, and reports, the layouts of these software components become language-independent. As a result, menu, form, and report layouts do not need to be stored and maintained for each language separately.
Also, all prompts and other text elements are maintained and translated in a central label file so as to be able to use and re-use these labels in the label fields of different layouts. There are a number of advantages to the labeling concept, not only in the initial software development stage, but especially in software maintenance, customization, and translation. 
These advantages are a direct result of the general objectives for the use of labels, namely:
  • to reduce the number of language-dependent software components
  • to reduce text volumes
  • to increase the consistency in terminology

1.1) Label types and label codes
Three different types of labels can be distinguished, namely:
Type 1 labels
Type 1 labels are labels with a label description that is uniquely related to a table field.
The following characteristics apply:
  • they serve as the basic label for a specific term
  • they are coded by package, module, and table field
  • the label length equals the length of the text in the development language
Type 2 labels
Type 2 labels are labels that are specific to one or more sessions.
The following characteristics apply:
  • they are coded by package, module, session, and sequence number
  • the label length equals the label field length
Type 3 labels
Type 3 labels are labels used for general terms.
The following characteristics apply:
  • they are self-explanatory, logical codes
  • the label length equals the length of the text in the development language

2) Customizing and developing labels
Labels itself are language-dependent software components and are, therefore, maintained by language. The label code itself, however, is the same for all languages. Labels are used to make language-independent forms, menus, and reports and can be linked to table fields. In addition, labels can be used in help viewer texts or as pop-up help texts.
When software is being developed or customized, labels are maintained in the development language. Once development or customization has finished and the software needs to be made available in other languages, only the label descriptions need to be translated.
Since all labels are stored by language in a central label file, it is very easy to copy this file to another language and start translating the label descriptions. The advantage is that the labels are translated in the right context. 
Once the labels have been changed, only the software components that use these labels must be converted to the runtime data dictionary to activate the changes.
The language of the user determines by which label texts the label codes will be replaced. For example, for a British user, all forms, reports, and menus will be generated by replacing the label codes with texts corresponding to English labels whereas for a French user, the label codes will be replaced by text corresponding to French labels.
The alignment (left or right) of labels on multi-occurrence forms and reports can be linked to the alignment of the associated table field. For example, if the alignment of the Item Code field changes from right to left, the alignment of the associated multi-occurrence labels will change accordingly.
2.1) Prerequisites
To be able to develop or customize labels, a number of prerequisites must be met, namely:
  • a working environment consisting of a user, company, package combination, and a current package VRC must be set up
  • a developer must be defined
Label fields can be defined for forms, reports, and menus. However, the labels used by the session generator must be defined prior to the creation of forms and reports in the Generate Sessions (ttadv2290m000) session. This is done in the Maintain Session Generator Parameters (ttadv1135m000) session.
The Maintain Label Length Conversion Factors (ttadv4124m000) session is used to define the conversion factor regarding the length of labels. This is done for all languages to be able to use the labels in languages other than the development language.
2.2) Defining labels

There are three different ways to define a label: 
1 as table field descriptions
2 as label fields on forms, reports, and menus
3 as generic terms
When table definitions and the corresponding table fields are being maintained, it is necessary to enter the table field descriptions. Once the label fields have been defined, the label field descriptions will automatically be defined as labels and stored in the label file.
When forms, reports, or menus are being maintained, label fields are defined to handle all language dependent texts on these software components. Once the label fields have been defined, the label field descriptions will automatically be defined as labels and stored in the label file.
It is also possible to define labels manually in the Maintain Labels (ttadv1140m000) session or the Maintain Labels by Package VRC (ttadv1141m000) session.

3) Maintain Labels (ttadv1140m000)
The Maintain Labels (ttadv1140m000) session is activated from the labels menu and is used to define the labels that are used for the label fields in forms, reports, menus, and table fields. For each label code, several length/height combinations are available regarding the label description. Depending on the number of available label field positions, the form, report, or menu editor will select the longest label.
Labels are also used in texts, for example the help info texts that are linked to software components. Labels are incorporated in texts by specifying a %LB variable in the text file.
Documentation and/or help information is linked to labels by means of the [H] option. To use this label help in a text, for example as pop-up help using the help viewer, a %LH variable must be defined in the text file. This option can also be activated by selecting the corresponding option in the Application drop-down menu.
The documentation and help information is stored by language, package VRC, and label code. Labels with the same language, package VRC, and label code, but with different heights and lengths share the same documentation and help information.
If the label height is more than one line, the description must be split by means of the % sign, to indicate the line break, for example:
label code tiitm001.item
height 2
length 4
description item%code
Note Type [%%] to produce % as a character.
To activate the changes that were made in the labels, a conversion to the runtime data dictionary must take place for all the components in which the labels are used.

What is the difference between final, finally and finialize?

final can be used to mark a variable "unchangeable"

private final String name = "foo";  //the reference name can never change 

final can also make a method not "overrideable"

public final String toString() {  return "NULL"; } 

finally is used in a try/catch statement to execute code "always"

lock.lock(); 
try { 
  //do stuff 
} catch (SomeException se) { 
  //handle se 
} finally { 
  lock.unlock(); //always executed, even if Exception or Error or se 

finalize is called when an object is garbage collected. You rarely need to override it. An example:
public void finalize() { 
  //free resources (e.g. unallocate memory) 
  super.finalize(); 
}

Final:
A final class variable is one whose value cannot be changed.
A final method is one that cannot be overriden (define with new behavior in subclasses).
A final class cannot be inherited.
When a class is marked final, it cannot be subclassed. When a method is marked final, it cannot be overridden by the subclass. And when a field is marked final, its value once set, cannot be reset.

Finally:
It is a block of statements that definitely executes after the try catch block. 
finally is the last clause in a try...catch block. It is a block of statements that is executed irrespective if or if not an exception was caught in the preceding try block.

Finalize:
This method will be executed when the object is garbage-collected. finalize is a reserved method in Java, which can be overridden by classes containing code to release any expensive resources being held to by the object. Expensive resources include, native peer objects, file/device/database connections.

Apple's 8-inch tablet is tested


Apple is testing a tablet computer with a smaller screen than the hot-selling iPad.The iPad has a 9.7-inch (24.6-cm) screen. Apple has sold more than 55 million iPads since launching the device in April 2010.Apple was working with Taiwan's AU Optronics Co and South Korea's LG Display Co to supply the test panels.Apple frequently works with suppliers to test new designs and "could opt not to proceed with the device.Apple's iPad 3" will have a higher resolution screen than the iPad 2 but will be the same size. Amazon and Samsung offer smaller and lower-priced tablets than the iPad. 

Obama:stop outsourcing from chindia

President Barack Obama has said that he does not want US companies to look for skilled and educated workers from India and China in fields of engineering , technology and science. 
Organizations today are looking for astute people and they hire from india and china and i don't want this thing. I want to give resources to train people of USA.
The President said he wants the Congress to give the schools the resources to keep good teachers on the job and reward the best. "In return , they also need to give schools the flexibility to stop just teaching to the test and replace teachers who aren't helping kids learn. That's something that we can do," he said, adding that the Congress needs to stop the interest rates on student loans from doubling this July.
Obama said ,they need to take the tuition tax credit that my administration put in the budget over these last few years-a tax credit that saves families thousands of dollars on tuition-and we need to make that permanent.

Sessions

1) Explanation of sessions
If sessions in BAAN IV are compared with a program in a 3GL programming language such as BASIC or PASCAL, sessions can be seen as the programs that are needed to run parts of the BAAN IV application.
Physically, a session is an executable combination of forms, reports, charts, a main table, and a program script. Furthermore, sessions are used to form the link between these software components.
Tables
Every session involves the manipulation of data in one or more tables. M anipulation of data can be seen as  adding, changing, displaying, or printing data. Since data is stored in tables, sessions are generated on the basis of table definitions.

Program scripts
An object is the executable part of a session that contains the actual logic of a session. Objects are created on the basis of a standard script or on a program script that contains the actual source code and is programmed in a certain programming language like PASCAL or C.
Standard scripts are delivered by Baan while program scripts can be programmed by the user. The standard scripts handles all the standard options that are available in BAAN IV whereas the additional functionality are programmed inside a program script. 
An executable object of a session is created after the compilation of the standard script or the program script when a session is generated.

Forms
The display that appears on the screen when a session is activated is referred to as a form. A form is the interface between a user and a session that enables the user to manipulate the data in a table. A session needs at least one form to be able to interact with the user. The number of forms depends on the amount of data that can be manipulated. Forms are automatically created and linked to a session when a session is generated. It is also possible to define forms and link them to a session afterwards.
Reports
Reports are used to output data within the database and can be linked to a session. A standard report is automatically created and linked to a session when a session is generated. A standard report handles all standard options to retrieve data from the database and present it to the user. Additional functionality’sfunctionalities, like calculations or specific report layouts, can be programmed from within a report script and are linked to a session afterwards.
An executable object is created after the compilation of the standard report or report script when a session is generated. Each session may have several reports
Charts
Instead of sending the data to a report, data can also be sent to a chart since charts are used to present the data within the database in a graphical way. Several charts may be linked to a session.
2) Session types
There are several types of sessions within BAAN IV, namely:
  • maintain
  • update
  • print
  • display
  • graph
  • conversion
The session type indicates the type of action performed by a session.
Sessions are not only distinguished by session type but also by the fact whether or not they are a main session or a subsession. Main sessions are activated directly from a menu, whereas subsessions can only be activated from within a different session.

Master Data

1)Master Data for customization and development

1.1) Interface data
When BAAN IV is installed, a default interface Master Data set is also installed. The interface data is laid down by Baan as the standard and is, therefore, not often changed. However, if changes are needed, it is advised to minimize these changes since they will directly affect the commands throughout BAAN IV as well as the appearance of BAAN IV itself.
The interface Master Data makes it possible to control option groups, option descriptions, menu bar/toolbar data, buttons, status line texts, and tools texts. Moreover, interface Master Data is used for translation purposes.
The following types of interface data can be distinguished:
Options
Within BAAN IV, there is a choice of commands that can be given, for example in the Choice field (ASCII only), an input field, or a menu. These commands are referred to as options.
Drop-down menus
Drop-down menus are menus at the top of the window that are activated by means of a mouse. Drop-down menus are only supported in environments with a graphical user interface.
Buttons
Buttons are displayed in the toolbar in the window. Each button corresponds with a standard option and is activated by means of the mouse. Buttons are only supported in environments with a graphical user interface.
Status line texts
Status line texts are texts that are displayed in the status line at runtime.
Tools texts
Tools texts are texts that are used mainly in messages from the bshell or the user interface server.
1.2) Date and unit formats
Date formats are used to define the display format of dates in forms and reports. Unit formats are used to display amounts and quantities in forms and reports.


2) Mandatory sessions
For the interface of BAAN IV, there are no mandatory sessions, because everything has already been assigned a default value.  
2.1) Maintain Date Formats 
A date format can be linked to any domain, form field, or report field of the date data type. Sometimes, they are used in program scripts. In this session, the elements of which a date format consists are specified. For example, day name, day number and week number. The elements can be separated by:
  • nothing
  • a language separator
  • a specified separator
The changes that were made must be activated by converting them to the runtime data dictionary. This can be done in the following ways:
GUI: corresponding option in Application drop-down menu
ASCII: <Ctrl>[D] in Choice field
Once the changes have been converted to runtime, the bshell must be restarted.
2.2) Maintain Formats 
The Maintain Formats  session is used to maintain general data regarding formats of all units used, such as amounts and quantities. This general data specifies the number of positions and significant digits, whether or not a thousand sign and (currency)symbol are to be used, and where the minus sign is to be placed.

The changes that were made must be activated by converting them to the runtime data dictionary. This can be done in the following ways:
GUI: corresponding option from drop-down menu
ASCII: <Ctrl>[D]
Once the changes have been converted to runtime, the bshell must be restarted.


3) Other sessions
3.1) Maintain Standard Options (ttadv4171m000)
In BAAN IV, a number of options are pre-programmed for ASCII and for the GUI. This session is used to define all the standard options that are possible in the ASCII environment. For the GUI, the possible options are called menu bar/toolbar data, which is not defined in this session, but in the Maintain Menu Bar/Toolbar Data session.
In the character based environment, the standard options can be entered in the Choice field of forms and menus, in input fields, in reports, and in the help viewer. The possible options in these different situations, can be viewed by entering the [O] command in the Choice field of forms and menus, by pressing <Ctrl>[O] in an input field, by pressing [O] while a report is displayed, or by pressing [O] inside the help viewer. 
In the Maintain Standard Options session, the option characters for each language and each type of option, like field options, form options or menu options, are specified and/or changed. Changes may occur when, for example, a particular key or key combination is already used by a terminal or terminal emulator.
To copy or move the desired standard options to another language, the Copy Standard Options (ttadv4271s000) session is activated from the Choice field (ASCII) or by selecting the corresponding option from the Application drop-down menu (GUI).
The changes that were made must be activated by converting them to the runtime data dictionary. This can be done in the Convert Standard Options and Status Line Texts to Runtime DD (ttadv0250m000) session.  To do this directly from the Maintain Standard Options session, enter [Y] in the Choice field (ASCII) or select the corresponding option from the Application drop-down menu (GUI). Once the changes have been converted to runtime, the bshell must be restarted to activate the changes.
3.2) Maintain Option Groups (ttadv4175m000)
This session is used to define the option groups to which all the standard options (for ASCII) must be linked in the Maintain Standard Options (ttadv4171m000) session. These groups reappear in the option screens, where the options are sorted by option group.
The option groups are used to sort the options in option screens. As explained earlier, options screens are displayed by entering the [O] command in the Choice field of forms and menus, by pressing <Ctrl>[O] in an input field, by pressing [O] while a report is displayed, or by pressing [O] inside the help viewer. In these option screens, the options are sorted by option group, by displaying the group descriptions above the options.
The changes that were made must be activated by converting them to the runtime data dictionary. This can be done in the Convert Standard Options and Status Line Texts to Runtime DD (ttadv0250m000) session.  To do this directly from the Maintain Options Groups session, enter [Y] in the Choice field (ASCII) or select the corresponding option from the Application drop-down menu (GUI). Once the changes have been converted to runtime, the bshell must be restarted to activate the changes.
3.3) Maintain Menu Bar/Toolbar Data (ttadv4172m000)
In BAAN IV, a number of options are pre-programmed for ASCII and for the GUI. This session is used to define all the standard options that are possible in the GUI.
In the graphical environment, all options can be accessed by means of the drop-down menus. To view the different possibilities in the different situations when using the GUI, the drop-down menus can be used to see which options are active and which are not.
In the Maintain Menu Bar/Toolbar Data session, the options for each language and each type of option, like form drop-down options, menu drop-down options or form button options, are specified and/or changed. Form button options are those form drop-down options that have been put on the form by using drawings (buttons) that can be clicked by the mouse to activate the options.  
To copy or move the desired drop-down menus to another language, the Copy Menu Bar/Toolbar Data (ttadv4273s000) session is activated from the Choice field (ASCII) or by selecting the corresponding option from the Application drop-down menu (GUI).
The changes that were made must be activated by converting them to the runtime data dictionary. This can be done in the Convert Standard Options and Status Line Texts to Runtime DD (ttadv0250m000) session.  
To do this directly from the Maintain Menu Bar/Toolbar Data session, enter [Y] in the Choice field (ASCII) or select the corresponding option from the Application drop-down menu (GUI). Once the changes have been converted to runtime, the bshell must be restarted to activate the changes.
3.4) Maintain Menu Bar/Toolbar Option Groups (ttadv4176m000)
This session is used to define the menu option groups to which all the drop-down menu options (for GUI) must be linked in the Maintain Menu Bar/Toolbar Data (ttadv4273m000) session. The descriptions of these groups are shown in the drop-down menu bar, where the options are sorted by option group.
To copy or move the drop-down menu option groups to another language, the Copy Menu Bar/Toolbar Data (ttadv4273s000) session is activated from the Choice field (ASCII) or by selecting the corresponding option from the Application drop-down menu (GUI).
The changes that were made must be activated by converting them to the runtime data dictionary. This can be done in the Convert Standard Options and Status Line Texts to Runtime DD (ttadv0250m000) session.  To do this directly from the Maintain Menu Bar/Toolbar Data session, enter [Y] in the Choice field (ASCII) or select the corresponding option from the Application drop-down menu (GUI). Once the changes have been converted to runtime, the bshell must be restarted to activate the changes.

Microsoft's india store is hacked


Microsoft's online store in India was hit by hackers over the weekend and is currently offline.
Visitors to microsoftstore.co.in are met with the following message: "The Microsoft Store India is currently unavailable. Microsoft is working to restore access as quickly as possible. We apologize for any inconvenience this may have caused."
The hack, first reported by wpsauce.com and picked up by the Times of India, occurred last night. The website was replaced with an image of a hooded individual wearing a Guy Fawkes mask - the symbol of hacker collective Anonymous - with the line "Evil Shadow Team" at the bottom

Hotmail's anti spam action

Microsoft funded a study, testing the anti-spam skill of Hotmail, Gmail, and Yahoo Mail. Accounts were created, and ‘seeded’ across the Internet in an attempt to draw the bead of spammers. It worked. According to a New York Times article on the report, “in the Hotmail account, 48.57 percent of e-mails in the inbox were spam, slightly less than the 48.88 percent in the Gmail inbox. Yahoo Mail was third with 58.33 percent.”
Now, any normal account on the three services would have a much lower ratio. These accounts were set up to attract and filter spam, so your personal results will be different. That Hotmail won, over Gmail, in this one case, is interesting. Gmail is known for its exceptionally effective suspension of spam.Microsoft is obviously proud of its report: “if you use Hotmail for your primary email, you’ll get the best spam protection in the industry – no one does it better.” However, spam prevention is only one feature out of a dozen that determine the quality of an email system. 

Super simple photo editing with enThread, right in your browser

enThread is a photo processing app, of sorts, that runs in your browser, features a drag & drop upload process and is probably powerful enough for the majority of your quick daily edits.
enThread is a new project from Quinton Pike, a guy that you might recognize as the developer behind the music-streaming service Mougg. It seems that Pike went back to the drawing board with enThread, and produced something that I believe will be considerably more useful over time.

To launch it, just go to the site. enThread gives you access to loads of features, and even a couple of post-process options:

  • Hue/Saturation/Lightness
  • Brightness/Contrast
  • Colors
  • Filters
  • Process

WIthin each of these tabs you’ll find sliders that let you dial in the settings that you want, then you can choose to undo, compare your photo to the original, reset it to how it started or save and share it.
Saving and sharing gives you the options that you’d expect, but it does require that you’re a registered user. If you are, you’ll get a link to a page with your photo, then Twitter and Facebook buttons for social sharing. Interestingly, from the saved image, you can choose to further modify it if you so desire.

Finally Youtube and gmail are blocked in Iran

The situation is now official on Google’s side, as the company confirmed that several of its products have been blocked in the Iran.According to Google, Iranian users have been unable to access its encrypted search, YouTube and Gmail since February 10th. This could only be the tip of the iceberg, as several other sites have been reportedly inaccessible for the last days.



Yet, the stranglehold that Iran has on the Internet isn’t new – up to the point where local authorities are mulling plans for Iran to get ‘its own Internet.’ More generally, reports of blocked websites are far from uncommon, and it seems our own website has been inaccessible in the country since October 2011. Iran’s Mehr News Agency, Bloomberg points out that it means that more than 30 million Iranian Internet users have been unable to access e-mail accounts, including Gmail and Hotmail.

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More