Saturday, January 3, 2009
Sap Services: Product and Service Introduction
With SAP Ramp-Up, you benefit from accelerated support channels and dedicated coaches who have direct access to SAP product development and management. SAP Ramp-Up reduces cost, time, and risk for both SAP Ramp-Up implementations and regular implementations – and ensures that SAP solutions meet your business requirements. It enables your company to be a first mover in your industry and your IT department to be a strategic role model in your company.
Business Benefits
SAP Ramp-Up delivers benefits through the following means:
* Project scoping – Project scoping compares the solution scope with your expectations. If there are any concerns, SAP conducts a feasibility check to determine to what extent we can meet your requirements.
* Project coaching – After the implementation project begins, SAP Ramp-Up provides an expedited channel to support – to resolve issues quickly. For more complex issues, the SAP Ramp-Up back office ensures that product development and product management become directly involved. Each project is assigned to a dedicated expert in the SAP Ramp-Up back office.
* Knowledge transfer – SAP Ramp-Up staffs implementation projects with highly skilled consultants and organizes communities that enable team members to capture and share knowledge. SAP Ramp-Up consultants are educated through a dedicated training program that includes innovative e-learning tools.
Finally, SAP Hosting offers SAP Ramp-Up Service Center – a ready-to-use infrastructure that provides the entire system landscape needed for any SAP Ramp-Up program.
Thursday, September 25, 2008
SAP ABAP Business Add-Ins Filter Dependent part two
The filter value is declared using parameter flt_val and is preset in the list of parameters.
Calling a Filter-Dependent Business Add-In from an Application Program
The filter value is passed to the method as export parameter.
Report businessaddin.
class cl_exithandler definition load.
data flt type usa_land.
data exit type ref to if_ex_businessaddin.
data word(15) type c value 'Business Add-in'.
start-of-selection.
perform formatlist.
call method cl_exithandler=>get_instance
changing instance = exit.
write:/'Please click here'.
at line-selection.
new-page.
write:/ 'Original word: ',word.
call method exit->method
exporting
flt_val = flt.
Changing
parameter = word.
write:/ 'Changed word: ',word.
The subroutine formatlist looks like this:
form formatlist.
write:/'USA -> Conversion to upper case'.
flt = 'USA'.
hide flt.
write :/'Ireland -> Conversion to lower case'.
flt = 'Ireland'
hide flt.
write :/'Italy -> Conversion to...'
flt = 'Italy'.
hide flt.
endform.
SAP ABAP Business Add-Ins implementation
If you want to use a filter-dependent Business Add-In, you will need an implementation for each relevant filter value. Multiple filter values may use the same implementation, however.
When implementing a filter-dependent Business Add-In, proceed as follows:
1. Create an implementation by referring to the corresponding Business Add-In definition.
2. Enter a characteristic filter value for the implementation, or choose F4 and select a value from the list of possible entries displayed. In principle, it is possible to define multiple characteristic filter values for each implementation.
3. Use the Class Editor to fill the interface method.
In the string conversion example, you would make the following entries for each country:
BRD:
translate parameter to upper case.
Ireland:
translate parameter to lower case.
Italy:
translate ...
4. Repeat steps 1-3 for each implementation that you create.
5. Activate your implementations.
Now, whenever you execute the report program described above, different country-specific implementations are executed.
You can specify generic filter values for the implementation of a Business Add-In, which means that you can use the special character "*". You can use the asterisk to represent any part of a filter value. A generic filter value can be replaced by different values which may be found in the
database.
You can show and hide short texts for filter values by double-clicking the corresponding column.
As far as extendible filter types are concerned, it is also possible to edit short texts.
Extendible Filter Types
If you flag a filter type as being extendible, it is also possible to create implementations for filter values that did not exist so far. When you assign the extendible attribute to a filter type, the Implementation menu option in the BAdI Builder is replaced by Filter value. If you choose Filter value ® Create and enter a filter value that did not yet exist (you do not need to specify the name of the implementation), the system takes you to the transaction for implementing Business Add- Ins. You can also use transaction SE19, as usual.
The assignment of the extendible attribute is subject to the following restrictions:
The domain to which the extendible filter type refers must have the following properties:
1· The domain is linked to a cross-client value table. This value table has exactly one key field which has the data element of the filter type as its field type.
2· The domain has a text table with two key fields. A key field has the filter type as its field type, and a key field is a language field. To mark a field as a text field, a field must exist in this table that contains the string 'TEXT' or 'TXT as a partial string. In the Dictionary, the text table must be assigned to the value table.
3· The delivery class of both tables must be "E" or "S".
All filter values that are created in the context of an extendible filter-dependent Business Add-In must not yet occur in the value table and are added to the value table when the data is saved.
Analogously, the values are removed from the value table when the implementation or the entire Business Add-In is deleted. The same applies to the text table.
Special Characteristics of Country-Specific Business Add-Ins
The standard system contains a Business Add-In which provides an interface for integrating additional postal checks of the address data through external tools. This Business Add-In is called Address-Check.
This example uses the data element INTCA (ISO code of the country). Since SAP recommends complying with the international ISO standard for country-specific queries, you should use the data element INTCA also for Business Add-Ins. The ISO code of a country key would be, for example, US instead of USA, or DE instead of BRD.
Before the Business Add-In is called from within the application program, you must determine the ISO code of the country by submitting a SELECT statement against table T005 (field INTCA).
Then you can pass the filter value as exporting parameter.
15.5
SAP ABAP BADI MENU ENHANCEMENTS
They are assigned to a specific enhancement and only appear in their corresponding menus once an implementation of this enhancement has been activated.
Application developers reserve specific function codes for customers when defining a Business Add-In. They use the Menu Painter to include these codes in the appropriate menu lists.
Application developers must also ensure that these menu options are called in their applications and that the corresponding add-in methods are also retrieved. Customers can take advantage of menu enhancements by creating a new implementation, choosing a text for the menu option, and
then programming the method used to determine what action is performed when the menu enhancement is called.
Menu enhancement is only possible using single use add-ins (not multiple use add-ins) that are not filter-dependent. Currently, menu enhancements can only be created in conjunction with program enhancements (interfaces).
To create a menu enhancement, proceed as follows:
1 . Create an add-in and define its interface.
2 . Choose Fcodes from the tabstrip.
3 . Enter the name of your program, the function code, and a description.
4 . Call the Menu Painter or double-click on your program name or function code to branch to user interface maintenance in the Menu Painter. Enter your function code in the appropriate menu list. If you have accessed the Menu Painter directly during add-in definition, you can call your menu lists by choosing Goto ® Object lists ® Menu list instead.

Calling a Menu Enhancement from an Application Program
You programming should look like this:
(…)
case fcode.
when 'SAP'.
(…)
when '+CUS'
call method …
Implementing a Menu Enhancement
When implementing menu enhancements, proceed as follows:
1. Create an implementation and choose Fcodes. All data adopted from your Business Add-In's definition is displayed here. You can make entries for the implementation on the right.
You can also double-click on the first input field. The following dialog box appears:
Here you may enter a text for your function code, the name of an icon and a text for the icon, and a short informational text.
The actions that you want the system to perform after the pushbutton is chosen must be programmed in the appropriate method, either manually or using default source code that has been provided to you.
Menu enhancements only become visible after the implementation has been activated and the application program that calls the Business Add-In has been executed.
ABAP BADI SCREEN ENHACEMENTS
With the old enhancement technique based on customer exits, X function groups were used for data retention and data processing purposes. These tasks are now performed by a user function group or a module pool if you implement a screen enhancement using BAdIs. The instance of the implementing class is only used for data transport.
The name of the function group lies in the namespace of the implementing person/user. The 'X' which was necessary at the beginning of a function group in case of customer exits is now no longer required and therefore eliminated.
An instance of the BAdI class must be passed to the user of the BAdI to allow that user to get the data to be displayed on the screen. For this purpose, the instance is saved in a public static readomly attribute DYNPRO_INSTANCE of the BAdI class. This attribute is generated.
A public static method SET_INSTANCE_FOR_SUBSCREEN sets the attribute on the application side to the parameter passed. Using the method GET_INSTANCE_FOR_SUBSCREEN the parameter is then read on the user side.
Different sub screen states can be represented by different instances.
The relationships shown between the calling program, the classes and the user function group or module pool are illustrated below by means of an example.Example:
A user wants to display flight data in a transaction and enters the airline carrier, the flight number, and the flight date first.
At the specific request of the customer, you are to enhance this function to allow the user to additionally display the time of departure and arrival as well as the departure and destination airport.The definition of a Business Add-In containing the functionality required is then delivered to the customer. If the customer creates an implementation, the system displays additional fields.
20.8
Saturday, August 16, 2008
HTML Interview Questions and Answers 1
What is HTML?
Answer1:
HTML, or HyperText Markup Language, is a Universal language which allows an individual using special code to create web pages to be viewed on the Internet.
Answer2:
HTML ( H yper T ext M arkup L anguage) is the language used to write Web pages. You are looking at a Web page right now.
You can view HTML pages in two ways:
* One view is their appearance on a Web browser, just like this page -- colors, different text sizes, graphics.
* The other view is called "HTML Code" -- this is the code that tells the browser what to do.
What is a tag?
In HTML, a tag tells the browser what to do. When you write an HTML page, you enter tags for many reasons -- to change the appearance of text, to show a graphic, or to make a link to another page.
What is the simplest HTML page?
HTML Code:
This is my message to the world!
Browser Display:
This is my message to the world!
How do I create frames? What is a frameset?
Frames allow an author to divide a browser window into multiple (rectangular) regions. Multiple documents can be displayed in a single window, each within its own frame. Graphical browsers allow these frames to be scrolled independently of each other, and links can update the document displayed in one frame without affecting the others.
You can't just "add frames" to an existing document. Rather, you must create a frameset document that defines a particular combination of frames, and then display your content documents inside those frames. The frameset document should also include alternative non-framed content in a NOFRAMES element.
The HTML 4 frames model has significant design flaws that cause usability problems for web users. Frames should be used only with great care.
How can I include comments in HTML?
Technically, since HTML is an SGML application, HTML uses SGML comment syntax. However, the full syntax is complex, and browsers don't support it in its entirety anyway. Therefore, use the following simplified rule to create HTML comments that both have valid syntax and work in browsers:
An HTML comment begins with "", and does not contain "--" or ">" anywhere in the comment.
The following are examples of HTML comments:
*
*
*
Do not put comments inside tags (i.e., between "<" and ">") in HTML markup.
What is a Hypertext link?
A hypertext link is a special tag that links one page to another page or resource. If you click the link, the browser jumps to the link's destination.
How comfortable are you with writing HTML entirely by hand?
Very. I don?t usually use WYSIWYG. The only occasions when I do use Dreamweaver are when I want to draw something to see what it looks like, and then I?ll usually either take that design and hand-modify it or build it all over again from scratch in code. I have actually written my own desktop HTML IDE for Windows (it?s called Less Than Slash) with the intention of deploying it for use in web development training. If has built-in reference features, and will autocomplete code by parsing the DTD you specify in the file. That is to say, the program doesn?t know anything about HTML until after it parses the HTML DTD you specified. This should give you some idea of my skill level with HTML.
What is everyone using to write HTML?
Everyone has a different preference for which tool works best for them. Keep in mind that typically the less HTML the tool requires you to know, the worse the output of the HTML. In other words, you can always do it better by hand if you take the time to learn a little HTML.
What is a DOCTYPE? Which one do I use?
According to HTML standards, each HTML document begins with a DOCTYPE declaration that specifies which version of HTML the document uses. Originally, the DOCTYPE declaration was used only by SGML-based tools like HTML validators, which needed to determine which version of HTML a document used (or claimed to use).
Today, many browsers use the document's DOCTYPE declaration to determine whether to use a stricter, more standards-oriented layout mode, or to use a "quirks" layout mode that attempts to emulate older, buggy browsers.
Can I nest tables within tables?
Yes, a table can be embedded inside a cell in another table. Here's a simple example:this is the first cell of the outer table this is the second cell of the outer table,
with the inner table embedded in itthis is the first cell of the inner table this is the second cell of the inner table
The main caveat about nested tables is that older versions of Netscape Navigator have problems with them if you don't explicitly close your TR, TD, and TH elements. To avoid problems, include every , , and tag, even though the HTML specifications don't require them. Also, older versions of Netscape Navigator have problems with tables that are nested extremely deeply (e.g., tables nested ten deep). To avoid problems, avoid nesting tables more than a few deep. You may be able to use the ROWSPAN and COLSPAN attributes to minimize table nesting. Finally, be especially sure to validate your markup whenever you use nested tables.
HTML Interview Questions and Answers 2
How do I align a table to the right (or left)?
You can use to float a table to the right. (Use ALIGN="left" to float it to the left.) Any content that follows the closing
tag will flow around the table. Use
or
to mark the end of the text that is to flow around the table, as shown in this example:
The table in this example will float to the right....
This text will wrap to fill the available space to the left of (and if the text is long enough, below) the table.
This text will appear below the table, even if there is additional room to its left.
How can I use tables to structure forms?
Small forms are sometimes placed within a TD element within a table. This can be a useful for positioning a form relative to other content, but it doesn't help position the form-related elements relative to each other.
To position form-related elements relative to each other, the entire table must be within the form. You cannot start a form in one TH or TD element and end in another. You cannot place the form within the table without placing it inside a TH or TD element. You can put the table inside the form, and then use the table to position the INPUT, TEXTAREA, SELECT, and other form-related elements, as shown in the following example.
How do I center a table?
In your HTML, use...
In your CSS, use
div.center {
text-align: center;
}
div.center table {
margin-left: auto;
margin-right: auto;
text-align: left;
}
How do I use forms?
The basic syntax for a form is:
When the form is submitted, the form data is sent to the URL specified in the ACTION attribute. This URL should refer to a server-side (e.g., CGI) program that will process the form data. The form itself should contain
* at least one submit button (i.e., an element),
* form data elements (e.g., ,
How can I check for errors?
HTML validators check HTML documents against a formal definition of HTML syntax and then output a list of errors. Validation is important to give the best chance of correctness on unknown browsers (both existing browsers that you haven't seen and future browsers that haven't been written yet).
HTML checkers (linters) are also useful. These programs check documents for specific problems, including some caused by invalid markup and others caused by common browser bugs. Checkers may pass some invalid documents, and they may fail some valid ones.
All validators are functionally equivalent; while their reporting styles may vary, they will find the same errors given identical input. Different checkers are programmed to look for different problems, so their reports will vary significantly from each other. Also, some programs that are called validators (e.g. the "CSE HTML Validator") are really linters/checkers. They are still useful, but they should not be confused with real HTML validators.
When checking a site for errors for the first time, it is often useful to identify common problems that occur repeatedly in your markup. Fix these problems everywhere they occur (with an automated process if possible), and then go back to identify and fix the remaining problems.
Link checkers follow all the links on a site and report which ones are no longer functioning. CSS checkers report problems with CSS style sheets.
Do I have to memorize a bunch of tags?
No. Most programs that help you write HTML code already know most tags, and create them when you press a button. But you should understand what a tag is, and how it works. That way you can correct errors in your page more easily.
How do I make a form so it can be submitted by hitting ENTER?
The short answer is that the form should just have one and no TEXTAREA, though it can have other form elements like checkboxes and radio buttons.
How do I set the focus to the first form field?
You cannot do this with HTML. However, you can include a script after the form that sets the focus to the appropriate field, like this:
A similar approach uses to set the focus, but some browsers seem to process the ONLOAD event before the entire document (i.e., the part with the form) has been loaded.
How can I eliminate the extra space after a tag?
HTML has no mechanism to control this. However, with CSS, you can set the margin-bottom of the form to 0. For example:
How can I use tables to structure forms?
Small forms are sometimes placed within a TD element within a table. This can be a useful for positioning a form relative to other content, but it doesn't help position the form-related elements relative to each other.
To position form-related elements relative to each other, the entire table must be within the form. You cannot start a form in one TH or TD element and end in another. You cannot place the form within the table without placing it inside a TH or TD element. You can put the table inside the form, and then use the table to position the INPUT, TEXTAREA, SELECT, and other form-related elements, as shown in the following example.