Friday, November 30, 2007

SAP Paper Documents

SAP stands for System Applications and Products. It is the name of both the online financial and administrative software and the company that developed it. SAP is made up of individual modules that perform various organizational system tasks. MIT has customized and implemented the SAP modules that best suit its organizational needs.

This self-study is designed for MIT employees new to SAP, and it is a prerequisite for all other SAP training.
Before you begin this self-study, you must have the following:
  • Kerberos user ID. A Kerberos user ID identifies you to the MIT electronic security system. You will use your Kerberos user ID and password for multiple purposes, besides SAP.
  • SAP user profile. An SAP user profile is established to identify the authenticity of the individual logging on to SAP and to specify the functions that the user is allowed to perform.
  • Access to both the sap-edu “practice” environment and the SAP Production “live” environment. (The practice environment has the same functions and transactions as the Production environment but has specific data for practice exercises).
Read More/get this free ebook

SAP Repository

ABAP

  1. aBAPER a alternative generator for ABAP queries by Vladimir Vyukov The zip file contains: 1. doc file with short description of the functionality 2. source codes of all ABAP modules + xls file with description of additional objects and 3. two transport files (.tsr), containing the whole program.
  2. Program to download/upload table data dynamically by Neil Overton
  3. ABAP/4 Programming Quickstart by Dennis Barrett,the author of "SAP R/3 ABAP/4 Command Reference" published by Que.
  4. ABAP/4 Source by Alexander Nelovkin
  5. Programming Specification and Reporting/BDC utilities plus documentation DOCS.ZIP by Richard Harper: One of the things that I've learnt are the common things that are the bread and butter of a programmers work. This collection of documents and includes contains a series of routines aimed at making the writing and maintenance of reports easy, standardising their look and feel with no effort from the programmer. Alongside this are macros for the design of parameter screens and the handling of BDC's. Fully documented, the archive also contains hints on SQL and a framework for a programming specification. Last updated::: April 12th 2003
  6. How to determine the number of available lines depending on the font size by Poonam
  7. How to deal with table control / step loop in BDC by Comelite
  8. ABAP/4 Sourcecode Documentation by Ramakrishnan S.
  9. Programmable Logic Data Interface by Budi Rachman. This program is very simple program, but it will help us to run data convertion without creating ABAP program.
  10. Direct download v4.12. Allows a user to download ABAPs, Functions DD definitions, etc to the presentation server. This version searches recursively for nested includes and function modules, and allows you to download the resulting code as standard text or HTML web pages. Compatible with R/3 versions 3 and 4.
  11. Jason's Collection of ABAP programs****Updated April 2nd 2003****: The zip file contains ABAP programs created by Joe Mason over the last few years. The Repository contains Data Conversion Programs, Utility Programs, Mass Maintenance Programs, Customer Specific Reports, and Documentation. File AAREADME.WRI explains what is included and where.

Read More/get this free ebook

SAP R/3 Implementation and Maintenance Tips

SAP will change everything. That’s the gospel according to everyone who knows anything about this integrated software system. What exactly is the beast? And why does the thought of it throw people into a dither?
Ask an information-technology specialist, and you’ll get something like: "SAP is a completely integrated, enterprisewide information system that replaces legacy systems with a series of software modules that communicate with each other seamlessly, replacing current business processes with best practices."
In layperson’s terms, SAP software is a total information system that weaves together all the data from manufacturing with all the data from inventory with all the data from purchasing with all the data from accounting with all the data from sales......ad infinitum. If your company makes jars of glop, SAP allows you to find out how much glop you’ve made, how much you’ve got on hand, who bought it, when they are picking it up, when they intend to pay for it, how much more glop they may buy in the future and so on... until you run out of questions about glop.

Read More/get this free ebook

ABAP/4 programming language overview

This documentation describes the syntax and meaning of ABAP/4 key words (for Release 3.0C). The contents are identical to the online help function.
The following table lists the keywords in alphabetical order. Click on a keyword to display the documentation.
ABAP/4 is a registered trademark of SAP Aktiengesellschaft Systeme, Anwendungen, Produkte in der Datenverarbeitung, Neurottstr. 16, D-69190 Walldorf.
Read More/get this free ebook

The interactive eLearning system for ABAP™

CT-Professional_100+Help Version 2.2
for the ABAP™ programming
The interactive eLearning system for ABAP™ connects theory with the practical side by way of a realtime coupling to an SAP® system.
Rretrieval help functions provide aditional support for the user during the programming process. This ABAP™ course is for beginner and advanced users as well as those retraining users migrating from other programming languages like Cobol or Pascal.

Helpful System Administration ABAPS

Here are more than 100 ABAPS Source Code

Subtract the comment lines from an abap source for documentation purposes, Send a data stream from ABAP to UNIX named pipe, Tail -f implemented as an ABAP, Draw a box with title, Speed up a program by pausing all the other workprocesses, Display the true average response time, CPU time, db time .... Continuously display the rejected lock requests, Detect object conflicts before importing a transport, Tree display of the UNIX process table - a click on a node expands the sub-tree of it's children processes, Automatically save and circulate the offline redos to a remote server - local script , The remote script for 96a, This perl displays a self-refreshing web page displaying the vital parameters of multiply SAP systems.....

Read More/ get this free ebook

Thursday, November 29, 2007

free download abap programmin pdf book

Link:

free download abap programmin pdf book

Saturday, November 24, 2007

examples of real time objects in sap abap(1)

A demo program to create subscreen in your ABAP Program
*
* This report will display the user last login date and time.
*
* Subscreen selection 1 : User Name
* 2 : Last Login Date
* 3 : Class Belong To
*
* Written by : SAP Basis, ABAP Programming and Other IMG Stuff
* http://www.sap-img.com
*

REPORT ZSUBSCREEN.

TABLES: USR02, "Logon data
SSCRFIELDS. "FIELDS ON SELECTION SCREENS
*---------------------------------------------------------------
* SUBSCREEN 1
*---------------------------------------------------------------
SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-010.
SELECT-OPTIONS: USERNAME FOR USR02-BNAME.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN END OF SCREEN 100.

*---------------------------------------------------------------
* SUBSCREEN 2
*---------------------------------------------------------------
SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-020.
SELECT-OPTIONS: LASTLOGI FOR USR02-TRDAT.
SELECTION-SCREEN END OF BLOCK B2.
SELECTION-SCREEN END OF SCREEN 200.

*---------------------------------------------------------------
* SUBSCREEN 3
*---------------------------------------------------------------
SELECTION-SCREEN BEGIN OF SCREEN 300 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-030.
SELECT-OPTIONS: CLASSTYP FOR USR02-CLASS.
SELECTION-SCREEN END OF BLOCK B3.
SELECTION-SCREEN END OF SCREEN 300.

* STANDARD SELECTION SCREEN FOR SCROLLING LEFT AND RIGHT
SELECTION-SCREEN: FUNCTION KEY 1,
FUNCTION KEY 2.

SELECTION-SCREEN: BEGIN OF TABBED BLOCK SUB FOR 15 LINES,
END OF BLOCK SUB.

START-OF-SELECTION.
SELECT * FROM USR02 WHERE BNAME IN USERNAME
AND ERDAT IN LASTLOGI
AND CLASS IN CLASSTYP.
WRITE: / 'User ', USR02-BNAME,
'Last Login Date ', USR02-TRDAT,
'Last Login Time ', USR02-LTIME,
'CLASS ', USR02-CLASS.
ENDSELECT.
END-OF-SELECTION.

INITIALIZATION.
* SCREEN ICON LEFT AND RIGHT
SSCRFIELDS-FUNCTXT_01 = '@0D@'.
SSCRFIELDS-FUNCTXT_02 = '@0E@'.
SUB-PROG = SY-REPID.
SUB-DYNNR = 100.

AT SELECTION-SCREEN.
CASE SY-DYNNR.

WHEN 100.
IF SSCRFIELDS-UCOMM = 'FC01'.
SUB-DYNNR = 300.
ELSEIF SSCRFIELDS-UCOMM = 'FC02'.
SUB-DYNNR = 200.
ENDIF.

examples of real time objects in sap abap

Instead of checking your Purchase Order History one at a time, you can now mass display or print
them with this customized abap report.

*
* Mass display or print Purchase Order History
*
* You can request report by :
* 1. Change date
* 2. User Name
* 3. Purchase Order Number
* 4. Vendor Code
*
* Written by : SAP Basis, ABAP Programming and Other IMG Stuff
* http://www.sap-img.com
*
REPORT ZPOCHANGE LINE-SIZE 132 NO STANDARD PAGE HEADING
LINE-COUNT 065(001)
MESSAGE-ID VR.

TABLES: DD04T,
CDHDR,
CDPOS,
DD03L,
DD41V,
T685T,
VBPA,
TPART,
KONVC,
EKKO.

SELECT-OPTIONS: XUDATE FOR CDHDR-UDATE,
XNAME FOR CDHDR-USERNAME,
XEBELN FOR EKKO-EBELN,
XLIFNR FOR EKKO-LIFNR.

SELECTION-SCREEN SKIP.
* TEXT-001 - Sorting Sequence
SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.
PARAMETERS: SUDATE RADIOBUTTON GROUP R1,
SNAME RADIOBUTTON GROUP R1,
SOBID RADIOBUTTON GROUP R1.
SELECTION-SCREEN END OF BLOCK BLK1.

DATA: WFLAG,
WCHANGENR LIKE CDHDR-CHANGENR.

DATA: INDTEXT(60) TYPE C.

DATA: BEGIN OF ICDHDR OCCURS 50.
INCLUDE STRUCTURE CDHDR.
DATA: END OF ICDHDR.

DATA: BEGIN OF ICDSHW OCCURS 50.
INCLUDE STRUCTURE CDSHW.
DATA: END OF ICDSHW.

DATA: BEGIN OF EKKEY,
EBELN LIKE EKET-EBELN,
EBELP LIKE EKET-EBELP,
ETENR LIKE EKET-ETENR,

END OF EKKEY.

DATA: BEGIN OF ITAB OCCURS 50,
BEGIN OF EKKEY,
EBELN LIKE EKET-EBELN,
EBELP LIKE EKET-EBELP,

ETENR LIKE EKET-ETENR,
END OF EKKEY,
CHANGENR LIKE CDHDR-CHANGENR,
UDATE LIKE CDHDR-UDATE,
UTIME LIKE CDHDR-UTIME,
USERNAME LIKE CDHDR-USERNAME,
CHNGIND LIKE CDSHW-CHNGIND,
FTEXT LIKE CDSHW-FTEXT,
OUTLEN LIKE CDSHW-OUTLEN,
F_OLD LIKE CDSHW-F_OLD,
F_NEW LIKE CDSHW-F_NEW,
END OF ITAB.

DATA: OLD_OBJECTID LIKE CDHDR-OBJECTID.

FIELD-SYMBOLS: , .

SELECT * FROM EKKO WHERE EBELN IN XEBELN AND
LIFNR IN XLIFNR.
CLEAR CDHDR.
CLEAR CDPOS.
CDHDR-OBJECTCLAS = 'EINKBELEG'.
CDHDR-OBJECTID = EKKO-EBELN.
PERFORM GETCHGDOCS.
ENDSELECT.

IF SUDATE = 'X'.
SORT ITAB BY UDATE EKKEY-EBELN CHANGENR EKKEY-EBELP
EKKEY-ETENR.
ELSEIF SNAME = 'X'.
SORT ITAB BY USERNAME EKKEY-EBELN CHANGENR EKKEY-EBELP
EKKEY-ETENR.
ELSE.
SORT ITAB BY EKKEY-EBELN CHANGENR EKKEY-EBELP EKKEY-ETENR.
ENDIF.

LOOP AT ITAB.
CLEAR: INDTEXT, EKKEY.
CASE ITAB-CHNGIND.
WHEN 'U'.
INDTEXT(50) = ITAB-FTEXT.
INDTEXT+51 = TEXT-020.
CONDENSE INDTEXT.
WHEN 'D'.
INDTEXT = TEXT-021.
WHEN 'E'.
INDTEXT(5) = ITAB-FTEXT.
INDTEXT+51 = TEXT-021.
CONDENSE INDTEXT.
WHEN 'I'.
INDTEXT = TEXT-022.
ENDCASE.
RESERVE 4 LINES.
IF WCHANGENR NE ITAB-CHANGENR.
WCHANGENR = ITAB-CHANGENR.
EKKEY = ITAB-EKKEY.
WRITE:/ ITAB-UDATE UNDER 'Change Date',
ITAB-UTIME UNDER 'Time',
ITAB-USERNAME UNDER 'User Name',
ITAB-EKKEY-EBELN UNDER 'PO No',
ITAB-EKKEY-EBELP UNDER 'Item',
ITAB-EKKEY-ETENR UNDER 'Sch No',
INDTEXT UNDER 'Changes'.
ELSEIF ITAB-EKKEY NE EKKEY.
WRITE:/ ITAB-EKKEY-EBELP UNDER 'Item',
ITAB-EKKEY-ETENR UNDER 'Sch No',
INDTEXT UNDER 'Changes'.

ENDIF.

CASE ITAB-CHNGIND.
WHEN 'U'.
ASSIGN ITAB-F_OLD(ITAB-OUTLEN) TO .
ASSIGN ITAB-F_NEW(ITAB-OUTLEN) TO .
WRITE: / TEXT-023 UNDER 'Changes',
.
WRITE: / TEXT-024 UNDER 'Changes',
.
WHEN 'E'.
ASSIGN ITAB-F_OLD(ITAB-OUTLEN) TO .
WRITE: TEXT-023 UNDER 'Changes',
.
ENDCASE.
SKIP.
ENDLOOP.


TOP-OF-PAGE.
WRITE:/ SY-DATUM,SY-UZEIT,
50 'P U R C H A S E O R D E R H I S T O R Y',
120 'Page', SY-PAGNO.
WRITE: / SY-REPID,
60 'Purchase Orders Changes'.
SKIP.
ULINE.
IF SUDATE = 'X'.
WRITE:/001 'Change Date',
014 'Time',
024 'User Name',
038 'PO No',
050 'Item',
057 'Sch No',
065 'Changes'.
ELSEIF SOBID = 'X'.
WRITE:/001 'PO No',
013 'Item',
020 'Sch No',
028 'Change Date',
041 'Time',
051 'User Name',
065 'Changes'.
ELSE.
WRITE:/001 'User Name',
015 'Change Date',
028 'Time',
038 'PO No',
050 'Item',
057 'Sch No',
065 'Changes'.
ENDIF.
ULINE.

FORM GETCHGDOCS.
CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
EXPORTING
DATE_OF_CHANGE = CDHDR-UDATE
OBJECTCLASS = CDHDR-OBJECTCLAS
OBJECTID = CDHDR-OBJECTID
TIME_OF_CHANGE = CDHDR-UTIME
USERNAME = CDHDR-USERNAME
TABLES
I_CDHDR = ICDHDR
EXCEPTIONS
NO_POSITION_FOUND = 1
OTHERS = 2.

CHECK SY-SUBRC EQ 0.
DELETE ICDHDR WHERE CHANGE_IND EQ 'I'.
CHECK NOT ICDHDR[] IS INITIAL.
LOOP AT ICDHDR.
CHECK ICDHDR-UDATE IN XUDATE.
CHECK ICDHDR-USERNAME IN XNAME.
CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
EXPORTING CHANGENUMBER = ICDHDR-CHANGENR
IMPORTING HEADER = CDHDR
TABLES EDITPOS = ICDSHW
EXCEPTIONS NO_POSITION_FOUND = 1
OTHERS = 2.
CHECK SY-SUBRC EQ 0.
LOOP AT ICDSHW.
CHECK ICDSHW-TEXT_CASE EQ SPACE.
MOVE-CORRESPONDING ICDSHW TO ITAB.
MOVE-CORRESPONDING ICDHDR TO ITAB.
MOVE ICDSHW-TABKEY+3 TO ITAB-EKKEY.
APPEND ITAB.
ENDLOOP.
ENDLOOP.
ENDFORM.
*
* END OF PROGRAM

work flow example2

Workflow Configuration Steps for Cutover

On every new SAP instance some steps must be done in order to properly configure workflow:
1. Automatic workflow configuration must be run
2. SMTP connection configuration must be enabled
3. All standard tasks within custom workflows must be set to “General” where applicable.
4. Set RFC connection name in eRecruit system.

1. Automatic Workflow Configuration
The Automatic workflow configuration must be done in order to enable any and all workflow processing. A user with SAP_ALL role must do
this configuration, and some steps need to be completed on each client.
To configure workflow for a system the SWU3 transaction provides 4 main areas to configure:
1. Maintain Runtime Environment,
2. Maintain Definition Environment,
3. Maintain Additional Settings and Services and
4. Classify Tasks as General.

It is very important that the user generating the Maintain Runtime Environment has SAP_ALL role, as the WF-BATCH user is automatically
created as a step in this process, taking on the rights assigned to the sy-uname user executing the command.
If someone without proper privileges generates these steps prior, the WF-BATCH user must be removed, and then these steps re-generated
by the proper user.

Prior to generating, the Maintain Prefix Numbers (under the Maintain Definition Environment) needs to be run. The prefix numbers must be
unique for each client of instance to prevent possibilities of overwriting workflows between systems. There is a document defining these
three digit task prefix numbers, created by Nilsa Morales.

Simply select the top entry for each area and click on the Generate icon. All of the items should change from red X to green checkmarks.
There may be some exceptions, for instance, if there is not a web server on that instance, the Maintain Web Server step may not be
successful. Here is the detailed listing of the required items:
1. Maintain Runtime Environment:
· Configure RFC Destination
· Maintain Workflow System Administrator
· Maintain Active Plan Version
· Schedule Background Job for Missed Deadlines
· Schedule Background Job for Work Items with Errors
· Schedule Background Job for Condition Evaluation
· Schedule Background Job for Event Queue
· Schedule background job for clearing report

2. Maintain Definition Environment:
· Maintain Prefix Numbers
· Check Number Ranges

3. Maintain Additional Settings and Services:
· Maintain Standard Domain for Internet Mail
· Activate Send to Objects and HR Objects

4. Classify Tasks as General:

The Configure RFC Destination step generates an RFC logical destination named WORKFLOW_LOCAL_xxx (where xxx stands for the
three-digit client number).
The Maintain Workflow System Administrator step generates the WF-BATCH userID, which is used for the background processing of the
workflow engine. This user has a system-generated password, which is not viewable by anyone. As stated above, this userID will receive
the privileges of the user who configures the Workflow Engine, which should include SAP_ALL.

2. SMTP Connection Configuration
To configure the SMTP mail settings:
· SMTP Connection:
· Set up SAPConnect settings using SCOT transaction
· Set up the Job to send the e-mails out to the recipients (only in Production) using SM36 transaction

3. General Task Settings Standard Tasks
The workflow administrator must change the configuration for any standard tasks that should have the General Task setting.
This normally affects custom workflows that include SAP provided standard tasks that require agents. SAP Note number 72715 explains that
these configuration settings are not transported, therefore need to be done on each client.
These changes should be made through the PFTC transaction.



Task ID Task Name Containing Workflow
TS90000022 Release of Contract ZWF_PC_REL
TS20000173 Release of Contract Cancelled ZWF_PC_REL
TS90000016 Release PO ZWF_PO_REL
TS20000161 Notify Initiator that Req Rejected ZWF_REQ_REL



4. Set RFC Connection Name in eRecruit System
A variant contains the name of the RFC connection from the eRecruiting system to the R/3 system in order to enable access to the
organization structure. Within eRecruiting systems, execute ZH01, and retrieve the SH_RFC_EMAIL variant and modify the RFC Connection
name, and resave the variant. The RFC name should match the RFC connection defined in the eRecruiting system that connects to the R/3
system where the organization structure resides for that environment. For example, within DH1 the RFC name is DR1CLNT100 and within
QH1 the RFC name is QR1CLNT200.


Workflow tips

Creating a step where a supervisor manually assigns an operator to another workflow step.

Use the business object WF_TASK. There are several possible methods to use. Refer to the documentation of the methods to
determine which is suitable for your task. If the task is customized as a general task the supervisor can suggest user names
directly (using wild cards), otherwise the supervisor selects from a list of possible agents.

Hints on transporting workflows.
Patience!
Hints on keeping the HR model synchronized between systems.
Patience!
Troubleshooting when the workflow does not start correctly.
Case 1: When the workflow does not start.
If the workflow does not start this is either because it is not being triggered properly or the workflow definition is not complete.
First determine how the workflow should be started. Directly? Via a customizing table? Via an event? Transaction SWUD offers
intelligent diagnosis help to establish if the flow was started, if the triggering event was fired, if the flow is syntactically correct, if
users are assigned to all the tasks...

Case 2: When the workflow starts twice.
The most probable cause of a workflow being started twice is that it is triggered by two separate mechanisms simultaneously.
For example if the flow is being triggered by an event, check that this event is only firing once. For example, you might find that it
has fired once due the customizing for change documents AND once due to the customizing of status changes. Transaction
SWUD will allow you to determine how many times the event is firing. If it is only firing once, check that the workflow is not
additionally being started directly by a program or customizing tables. Check that the workflow is not customized to trigger on two
separate events.

Sending e-mails from the workflow.
There is a wizard in the workflow editor which will help you send straightforward e-mails from the workflow. The wizard generates
a step based on the business method SELFITEM SendTaskDescription. You cannot modify the business object SELFITEM and
delegate so if you want to do something more sophisticated you should build your own method in another object based on the
function modules SO_xxx_API1. These function modules are the APIs for sending mail and are fully documented. Use the
where-used list to see examples.

Different mechanisms for accessing work items.
In an early stage of the project you should consider the issue of how users are going to be notified off and access work items.
Usually this decision will not influence the definition of the workflows but there may well be organizational issues involved which
you should consider early on. ASAP contains a table of alternative methods. The most common being:

mySAP.com Workplace
SAP Business Workplace (previously the universal inbox)
Microsoft Outlook
Lotus Notes
e-mail
Web Inbox
The e-mail notification can be done automatically without modifying your workflow at all. For tighter integration into other mail
programs you can add form functionality for the workflow steps that will most gain from this.

When to use asynchronous tasks.
Asynchronous tasks are often misunderstood so here's a short note about them. You'll find a fuller description in the online
documentation. Asynchronous tasks only terminate when a terminating event is received. This makes them especially suitable for
tasks where you want to be absolutely sure that the user has done what was intended. The event is usually triggered within the
method itself when the terminating condition is met.

These cases cry out for being implemented as asynchronous tasks:
The user MUST make a change in the business object (e.g. status change)
Post-processing of the method takes place in the update task and it is essential that the workflow does not continue until this
post-processing has fully completed (e.g. creation of a business object)

Some users often perform this task directly from the menu without accessing the workflow system so feedback via the event is
essential to ensure that the workflow continues automatically.

Ensuring that your workflow is robust.
Check that your workflow definition will not stall or get confused when a user performs several tasks in one step. Try not to dictate
the order of processing with your workflow definition unless this is a necessary part of the business process flow. Allow the users
to work the way they want but make sure that they are kept within the realms of the business process framework. Check that the
workflow synchronizes properly with other events. For example, if a purchase requisition is withdrawn the workflow should
terminate immediately and send notifications to all users involved in the process so far. Use deadlines to ensure that the process
runs through on time and that a supervisor is informed when a delay occurs. Often the cause is simply due to illness or vacation
and the task can be performed by someone else.

Documentation issues.
Workflow is dynamic. You can change the business process without sending everyone to be retrained so bear this in mind with
your documentation. Your documentation should be written to ensure that any changes which are made can be done easily and
without upsetting any aspects of the process.

Documentation for the operational user can be made available online with a URL included in the work item description. This
documentation should contain help-line numbers, what to do if you receive a work item intended for someone else (you've left the
department), FAQs, whether the user may create ad hoc attachments (the other users must be aware of the possibility if you want
to make use of this functionality)...

Documentation for administrators should include how to perform periodic health-checks, how to add a new user to the process
(and how to remove someone), what to do when a user is absent for a short period of time, contingency plans, list of counterparts
in different parts of the process if the process is cross-application.

Technical documentation must include a complete catalogue of all workflows, tasks, business objects and roles used in the
process. There is ample room within the system for documentation about the individual components but of particular importance
the events. These must be documented in the system, explaining how they are triggered (E.g. program xxx, status changes...).
The workflow documentation should explain how the workflow is triggered (E.g. event, program...). Subflows should be labeled as
such. Synchronization issues should be documented carefully so that changes can be made without jeopardizing the process

Useful Online Service Notes.
The following notes are continuously updated so that they remain up to date. It's worth checking for updates now and then.

322526 Debugging workflows
217229 Accessing the Consultants forum for SAP Business Workflow/WebFlow
152871 Release Upgrade considerations for workflow
134322 New Workflow Academy - Course TAWF10
131795 Automatic e-mail notifications
125400 Modifying a productive Workflow
72923 Workflow interfaces
72923 Business Workflow Performance

Miscellaneous sap abap faq

1. Can you create a table with fields not referring to data
elements?

YES. eg:- ITAB LIKE SPFLI.here we are referening to a data object
(SPFLI) not data element.

What are the different types of data dictionary objects? tables,
structures, views, domains, data elements, lock objects, Match code
objects.
2. What should be the approach for writing a BDC program?

STEP 1: CONVERTING THE LEGACY SYSTEM DATA TO A FLAT FILE to
internal
table CALLED "CONVERSION".
STEP 2: TRANSFERING THE FLAT FILE INTO SAP SYSTEM CALLED "SAP
DATA
TRANSFER".
STEP 3: DEPENDING UPON THE BDC TYPE
i)call transaction(Write the program explicity)
ii) create sessions (sessions are created and processed.if success
data will transfer).

3. What are the problems in processing batch input sessions and How
is batch input process different from processing online?

PROBLEMS:
i) If the user forgets to opt for keep session then the session will
be automatically removed from the session queue(log remains).
However if session is processed we may delete it manually.
ii)if session processing fails data will not be transferred to SAP
database table.

4. What does an extract statement do in the ABAP program?

Once you have declared the possible record types as field groups and
defined their structure, you can fill the extract dataset using the
following statements: EXTRACT. When the first EXTRACT statement
occurs in a program, the system creates the extract dataset and adds
the first extract record to it. In each subsequent EXTRACT
statement, the new extract record is added to the dataset EXTRACT
HEADER. When you extract the data, the record is filled with the
current values of the corresponding fields. As soon as the system
has processed the first EXTRACT statement for a field group , the
structure of the corresponding extract record in the extract dataset
is fixed. You can no longer insert new fields into the field groups
and HEADER. If you try to modify one of the field groups afterwards
and use it in another EXTRACT statement, a runtime error occurs. By
processing EXTRACT statements several times using different field
groups, you fill the extract dataset with records of different
length and structure. Since you can modify field groups dynamically
up to their first usage in an EXTRACT statement, extract datasets
provide the advantage that you need not determine the structure at
the beginning of the program.

5. Can a transparent table exist in data dictionary but not in the
data base physically?

NO. TRANSPARENT TABLE DO EXIST WITH THE SAME STRUCTURE BOTH IN
THE
DICTIONARY AS WELL AS IN THE DATABASE,EXACTLY WITH THE SAME
DATA AND
FIELDS.

6. What is the step by step process to create a table in data
dictionary?

step 1: creating domains(data type, field length, range).
step 2: creating data elements(properties and type for a table
field).
step 3: creating tables(SE11).

7. What is the typical structure of an ABAP/4 program?

HEADER ,BODY,FOOTER.

8. A situation: An ABAP program creates a batch input session. We
need to submit the program and the batch session in back ground. How
to do it?

go to SM36 and create background job by giving job name, job class
and job steps (JOB SCHEDULING)

9. What are the domains and data elements?

DOMAINS : FORMAL DEFINITION OF THE DATA TYPES.THEY SET
ATTRIBUTES
SUCH AS DATA TYPE,LENGTH,RANGE. DATA ELEMENT : A FIELD IN R/3
SYSTEM
IS A DATA ELEMENT.

10. What is the alternative to batch input session?

Call transaction.

12. What is a batch input session?

BATCH INPUT SESSION is an intermediate step between internal table
and database table. Data along with the action is stored in session
ie data for screen fields, to which screen it is passed, program
name behind it, and how next screen is processed.

13. What is the advantage of structures? How do you use them in the
ABAP programs?

Adv:- GLOBAL EXISTANCE(these could be used by any other program
without creating it again).

14. How many types of tables exists and what are they in data
dictionary?

4 types of tables
i)Transparent tables - Exists with the same structure both in
dictionary as well as in database exactly with the same data and
fields. Both Opensql and Nativesql can be used. ii)Pool tables &
iii)Cluster tables - These are logical tables that are arranged as
records of transparent tables. one cannot use native sql on these
tables (only open sql).They are not managable directly using
database system tools.
iv)Internal tables - .?

SAP R-3 Interview Question?

What is the command in subscript?
In ver 3.0b how is the print program to layout set?
What's an effective way of using an internal table record? What are
the types of internal tables?
In production what is the user exit?
What type of user exits have you written?
Have you worked with field groups? Have you used Import/Export
statements?
In the `select' statement what is group by?
Have you used performance tuning? What major steps will you use for
these?
On ABAP: Did you set up a workflow? Are you familiar with all steps
for setting up a workflow?
Have you created Maintenance dialog or Table Maintenance?
How to create client independent tables
Difference between client dependent and client independent tables?
Have you created database tables?
Difference between Search Helps and Match Codes?
Elementary search helps, Collective search help.?
What does an EXEC SQL stmt do in ABAP? What is the disadvantage of
using it?
What is open sql vs native sql?
What is a collect statement? How is it different from append?
If an entry with the same key already exists, the COLLECT statement
does not append a new line, but adds the contents of the numeric
fields in the work area to the contents of the numeric fields in the
existing entry.?
How can I copy a standard table to make my own z_table.?
Which transaction code can I used to analyze the performance of ABAP
program.?
How do we debug sapscript?
Can we create field without data element and how?
When top of the page event is triggered?
How do you get output from IDOC?

SAP R-3 Interview Question?

In selection screen I have three fields, plant mat no and material
group. If I input plant how do I get the mat no and material group
based on plant dynamically?
On which even we can validate the input fields in module progams?
What are client dependant objects in abap/sap?
How data is stored in cluster table?
What is the difference between Upload and WS_Upload ?
Open datasets, Read datasets ( Reading and writing data to files)?
Have you set up a back ground job ? How to create a background job
without a variant ?
Have you processed BDCs ?
How do you send files to the legacy systems from SAP and vice versa?
How does one know that the legacy files have come on to the SAP
server you are working on?
What kind of BDC programs are written ?
Update types in Call transaction method. What is the difference?
Call transaction method, how to capture the errors ?
Data conversion experience?
Experience with ABAP and Unix files?
From Excel to ABAP - Is batch mode possible ?
How to read files and process BDCs automatically?
Difference between /N and /BEND?
SM35 transaction . How to automate BDC ?
BDC vs Direct Loads( have you used direct loads on SAP tables )?
Recording Function?
What are logical databases?
What is Group by in Select statement?
Catch Command?
Explain Commit and Roll back?
Difference between Insert, Update and Modify?
What happens Update command is used without where clause ?


SAP R-3 Interview Question?

Select statement to read data into internal tables. Types of Select
statements?
hat's an effective way of using an internal table record?
Types of internal tables?
Field groups?
Control levels in internal tables?
How to eliminate duplicate entries in internal tables?
Size of the internal tables?
Field groups and internal tables?
Handling of internal tables?
What is an Open Item in SAP? How will you find an Open Item in SAP?
What are the modules in FI that you have worked on?
In the MM module for finding out the standard cost what is the view
one has to look at?
What is the work you have done in the MM module and what programs
did you use for creating views in MM?
Condition technique?
In the function module for reading text from the S.O header what
needs to be specified?
How do you get the Sales Order (S.O) No. from the Delivery Order?
While picking can the pick list be updated automatically?
In delivery processing which step comes first picking,
packing,posting goods issue ?
What happens when you post goods issue after delivery? How does
the
inventory get reduced after the delivery?
Do you need and enquiry or quotation before we start the SD process?
Explain what are the steps in the SD process at least up to the
invoicing stage?
What is an Unpack command?
What is the reserve command?
How many interactive reports did you write?
What is the most complex interactive report that was written by You?
Double click function on the lists, identifying the line selected by
the user on the list.
At-Line selection, At user-command etc..,?
Exit and Stop. What is the difference?
Check and Continue. What is the difference?


BDC , LSMW, Conversions faq in abap

  1. What is BDC ?
  2. What is call transaction method ? what is the
    syntax/procedure?
  3. What is session method and what is the
    syntax/procedure?
  4. Difference between call transaction & session method?
  5. which of these methods can be best used in background
    process?
  6. What is direct input method?
  7. How LSMW is advantageous than normal BDC?
  8. what are the steps in lsmw?
  9. IN LSMW can you use BAPI, ?
  10. Can you call a bdc from a report program?
  11. what is the difference between synchronus &
    asynchronus methods?
  12. call transaction uses synchronus or synchronus method?
  13. session method uses synchronus or synchronus method?
  14. What is bapi?
  15. how bapi is different from call transaction/session?
  16. what r the advantages of bapi?
  17. for uploading master data(ex:customer data) into sap,
    which methods you prefer? call
    transaction/session/lsmw/bapi? why?
  18. tell any 2 standard bapi function modules used for
    uploading sales order data?

Sap Scripts & Smart forms faqs in abap

  1. What is the difference between a script & a report ?
  2. What are the components/elements in sap script ?
  3. Can you create a script with out a main window ?
  4. How many main windows can be created for a script ?
  5. How can we use tables in sap scripts?
  6. How to print a logo in a sap script?
  7. When we need to modify standard scripts(eg:medruck) given
    by sap?
  8. What is the use of transaction code NACE in sap scripts?
  9. what is the table name that will contain all the script form
    names and print program names?
  10. Can you assign your own form to a standard print program?
    how?
  11. What is the use of PROTECT & ENDPROTECT?
  12. How to add extra functionality to a standard print program with
    out touching the print program?
  13. what is sub routine pool in sap script? when it is used?
  14. How to read text in sapscripts?
  15. What is the transaction code for logo uploading?
  16. what is the difference between paragraph & character format?
  17. How to use a sapscript for multiple languages ? (english,
    germany etc)
  18. How to download/upload sapscripts from & to your PC ?
  19. What is the difference between scripts & smart forms?
  20. What is the standard program used for uploading the logo to
    script?
  21. How can you send forms from one client to other?
  22. what does open_form, write_form, close_form do?
  23. How to convert a sapscript to smart form?
  24. How to send a smartform result through mail?
  25. how to select desired paper size in sapscript?

performance tuning in abap faqs

  1. What is performance tuning?
  2. What are steps you follow to improve the performance of
    a report ?
  3. what is the role of secondary index in performance?
  4. what is the role of ST05 in performance tuning?
  5. what is the role of extended syntax check in
    performance tuning?
  6. will join conditions in sql queries affect perfomance? how?

  7. will sorted internal tables help in performance?
  8. will where conditions in a sql query help improve
    performance?
  9. does select single *.. / select * .. affect performance ?
    how?

Real Time BDC & LSMW faqs

  1. What is BDC ?
  2. What is call transaction method ? what is the
    syntax/procedure?
  3. What is session method and what is the
    syntax/procedure?
  4. Difference between call transaction & session method?
  5. which of these methods can be best used in background
    process?
  6. What is direct input method?
  7. How LSMW is advantageous than normal BDC?
  8. what are the steps in lsmw?
  9. IN LSMW can you use BAPI, ?
  10. Can you call a bdc from a report program?
  11. what is the difference between synchronus &
    asynchronus methods?
  12. call transaction uses synchronus or synchronus method?
  13. session method uses synchronus or synchronus method?
  14. What is bapi?
  15. how bapi is different from call transaction/session?
  16. what r the advantages of bapi?
  17. for uploading master data(ex:customer data) into sap,
    which methods you prefer? call
    transaction/session/lsmw/bapi? why?
  18. tell any 2 standard bapi function modules used for
    uploading sales order data?

Real Time ABAP Internal Tables faqs

  1. what is an internal table?
  2. how many type of internal tables are there?
  3. what is the difference between hashed & sorted internal
    tables?
  4. what is the difference between standard and sorted
    internal tables? (in performance wise)
  5. Difference between internal table and a dictionary table?
  6. can you create an internal table dynamically?(at run time)
  7. what is the use of select for all entries in an internal
    table?
  8. when you are using 2 internal table in program, you have
    decided to use for all entries statement to retrieve data
    but unfortunately there are no records in the first internal
    table. What will be the result? (2nd internal table contains
    records).
  9. in a loop of an internal table, what is the use of at first &
    at last statements?
  10. What is the use of at new statement?
  11. what is the difference between at first & at new
    statements?
  12. what is a binary search ? and how it is useful in a sorted
    internal table?
  13. when do you need to create an internal table with header
    line ?and with out a header line?
  14. what does it mean occurs 0 while creating an internal
    table?
  15. what will happen if you don't give occurs clause while
    creating an internal table?
  16. what is the difference between clear, delete & refresh
    with respect to an internal table?


Real Time ABAP Reports faqs

  1. what is a report?
  2. what are types of reports?
  3. difference bet'n simple and interactive reports?
  4. what are the events in interactive reports?
  5. what is the first event that will be triggered in a report?
  6. what is the use of Initialization event? give one example.
  7. what is the use of start-of-selection event?
  8. what is the difference betn end-of-page and end-of-selection?
  9. if you write a write statement after end-of-selection, will that be triggered?
  10. how to create a button in selection screen?
  11. how to add a gui status in a selection screen?
  12. what is at-line-selection event?
  13. How many secondary lists can be created in an interactive report?
  14. how to create a check box/option button in a list?
  15. can you call a bdc program from a report? how?
  16. can you call a transaction from a report? how?
  17. what are ALV reports? how they are different from normal reports?
  18. what are the main events that are used in an ALV report?
  19. what is the use of SLIS type pool in alv reports?
  20. difference betn top-of-page and top-of-page during at-line-selection?
  21. in an interactive report, after going to 5th list, can you come back to 2nd list? how?

Blog Archive