Quantcast
Channel: SCN : Document List - ABAP Development
Viewing all 935 articles
Browse latest View live

Preparing and linking video tutorials for SAP tcodes

$
0
0

One of the difficult things about learning any new software system is understanding how to use it. SAP is no exception, especially custom tcodes which each customer organization develops based on their custom requirements. To know about standard SAP tcodes, we can SCN-SAP it or GOOGLE it. But for the custom tcodes, unless the ABAPer/Functional guy prepares a pretty decent user manual, it becomes difficult for the end-users to understand how to use them. Also end-users/clients tend to forget the usage method if they don't use the tcode often.This prompted me with an idea of developing video help tutorials for tcodes instead of preparing lengthy user manual documents. I have made use of open source software CamStudioto prepare video tutorials and linked it to the tcodes.

 

Steps:

1) Start the recorder and create demo of the tcode by simulating user actions.

2) Once the complete demo is over, stop the recorder and the video will be saved as an .avi format file.

3) Using the SWF producer that comes with the above software package, convert the .avi format file into flash file .swf.

    Flash files are comparatively smaller in size and can be viewed clearly using a web browser.

4) Once the flash file is prepared, host it in a document server and link it to the Z tcode (Eg:.via a button/hyperlink) by making use of the following function:

      CALL FUNCTION 'CALL_BROWSER'

         EXPORTING

           URL                               = 'URL of the flash file'

         EXCEPTIONS

           FRONTEND_NOT_SUPPORTED = 1

           FRONTEND_ERROR                   = 2

           PROG_NOT_FOUND                  = 3

           NO_BATCH                                 = 4

           UNSPECIFIED_ERROR             = 5

           OTHERS                                    = 6.

 

Sample screen shots of CamStudio software and a video recorded using it:

 

1) CamStudio software screenshots

A.jpg

 

2) Calling video URL on button click

A.jpg

 

3) Screen shots of a recoded video

DEMO1.jpg

DEMO2.jpg

DEMO3.jpg

DEMO4.jpg

So far this has saved enormous time for our functional guys here as they don't have to teach the functionality of tcodes again and again to clients/end-users.

This has assisted new end-users to come into terms with the custom tcodes pretty quickly (END USER TRAINING).

This can be very handy for facilitating change in the mindset of users on migration from legacy systems to new SAP implementation.

This will enhance your customer/end-user satisfaction (CUSTOMER SATISFACTION).

Cheers.


Steps To Do A Global Search In ABAP Webdynpro

$
0
0

Steps To Do A Global Search In ABAP Webdynpro

 

Introduction

SAP ABAP provides an option of direct Global Search in most of its components. But when it comes to ABAP WebDynpro there is no such option of Global Search. So when there is a requirement to find a specific part of code or variable in WebDynpro’s code the developer has to manually go through each and every components or view’s method or Windows and search them. Searching each and every Component/View/Window is a tedious and Time consuming process.

 

Illustration

The steps to be incorporated are elucidated below.

  • Go to SE24 Transaction and give the input as CL_WDY_WB_NAMING_SERVICE and click on Execute. This is a SAP standard class which is used to fetch the Class associated with the WebDynpro component. Now in the Class Builder Window displayed Select TEST(F8) button    
  • In the Test Class Window select the  button corresponding to the Method GET_CLASSNAME_FOR_COMPONENT.

1.png

  • In the input window that follows, given the WebDynpro Name which you wish to do a global search. The WebDynpro name FPM_REQUEST_DIALOG is used as an example and select the  Execute Button.    
  • Result of this method will fetch the Class name created by SAP for the WebDynpro Component (The class name for this component is generated as /1BCWDY/L2U4HZFJ4MQYUW5YG4OB).

2.png

  • Now use this class name as the input for SE24 and display the class. This class is a repository of all the code which is added in the WebDynpro. Now click on the Global Find Button.    
  • Let us assume we have to find on where the Interface Data type “lr_window” is used in the code of the Webdynpro. In the find window which follows give the FIND value as “lr_window” and give EXECUTE.
  • The Find fetches all the places of code in the WebDynpro where in this Interface data type “lw_window”  is used.   

  3.png

  • Double clicking on any of the line where “lw_window” is highlighted takes us to the Compnent/View/Method of the WebDynpro where in the Search Key is used in the coding part.

4.png

ST12 Trace - Step by step instruction on how to use it for analysis

$
0
0

Analysis using ST12 Trace

 

Illustration

The ST12 trace analysis will follow the below mentioned steps,

  • Selection of Trace Parameters
  • Start and Collect Trace
  • Analyzing the Collected Trace

Trace Parameters

The Trace parameters can be categorized as below,

·         Trace For

·         Type of Trace

Trace For

·       ST12 trace can be captured for “User/Tasks”, “Work Process”, “Current Mode” and “For a Schedule”

·       The User/Tasks allows the developer to select a User for whom the trace is to be captured and a task for which the trace is to be captured. Task can vary from Dialog, batch etc. Selecting * in Tasks indicate all the tasks will be captured.        

1.png

·         The Workprocess allows to select the server for which the trace is to be captured. In general all the servers will be captured when not specified.

2.png

·    The Current Mode option is used trace the flow of a Transaction or a Program

3.png

·    The Schedule option is used to run the trace for a batch job for a varied selection criterion as Job name, User name, Program associated with the Job.

4.png

            Type of Trace          

ST12 trace can be initiated as an ABAP Trace or Performance trace or both. Setting the Size&Duration Parameter to MAX as highlighted will ensure that the whole trace is captured in case the trace extends to a long duration.

5.png

Start and Collect of Trace

            Let us assume that the trace is to be taken for flow associated with checking the Info type 0001 data of a user through PA20.

·         First set the required Trace parameters. Let us select User/Task option by giving the Comment, User Name, and Task type as *. And select Start Trace

6.png

·         Now open the transaction PA20 and give in the Person number and the Info type and select on Overview button highlighted below,

7.png

·         Now Select End Trace in the ST12 trace screen, this will take us to the collect trace screen. Click on the execute button to collect the trace details. Make sure the highlighted check box is unchecked if the trace is to be used for future analysis.

8.png

Analyzing the collected trace

Once the trace is collected the trace is ready for analysis. In the bottom pane as highlighted, select the Trace which is of concern to us.

9.png

Then select either one of the 4 highlighted options for the analysis

ABAP Trace

·         The ABAP trace is one of the most useful analysis options available in ST12 trace. It provides a Top Down flow of any Hotspot/Program/Transaction and provides a Functional Time Distribution of a flow. It displays the hierarchical order in which the call statements are executed. So it can be used to identify the issues in the flow hierarchy.

1.png

·         The above screenshot is a Per Call View of the ST12 trace. The view can be changed into a Modularized by selecting the Per Mod Unit button as highlighted above. This will give a modularized flow of the Code called inside a particular module.

2.png

·         The “Top Down Call Tree”(as highlighted below) option clicked when the cursor placed on a Modularization Unit Call(Method/Performs) displays all calls to the selected unit labeled as '0','1' are statements inside this modularization units, '2' the statements in modularization units one level below, and then iteratively down up to 30 levels. Letters are used to designate lower levels.

3.png

·         Double clicking on any of the line navigates us to the source code. This can be used to identify the impact point.

·         ST12 trace captures the minute details of the flow such as the Loop statements performance, which can be used for a detailed analysis of the flow.

4.png

·         As the ABAP trace captures the complete flow, this can be used as an effective tool to identify the Customer Modifications or User Exit.

Note: The call hierarchy considers the call on Forms, Methods, Functions, SQL statements, Loops, Call Screen to PBO, PAI Modules.

Comparison of ST12 with ST05 trace

ST12

ST05

Traces only a specific user context or a transaction

Traces every action of a user on a server

ST12 trace automatically turns off with a transaction

ST05 trace has to be manually turned off

Stores the trace into database and is permanent

Stores the trace into local files and overwritten regularly

Provides a Top-Down flow used to find performance hotspot, issues identified by which are usually solved by code changes.

Provides a bottom-up flow which is suitable for identifying DB bound performance issues, which are usually solved by Performance Tuning.

Performance Trace

Performance trace of ST12 is equivalent to the ST05 trace. It displays performance parameters of all the database statements executed in the flow.
5.png

SQL Summary

SQL summary provides the details like Execution time, No. of records selected, Total duration, server details, etc. on a query on a database table. Double clicking on any record takes the flow to a screen which displays the list of programs which has queried on the table and the SELECT query as such.

6.png

Statistical Records

The statistical records display the time related parameter of a particular transaction flow.

7.png

Internal Table in Mail Body

$
0
0

Objective

  • The requirement is to send internal table data in mail body instead of sending as attachment in mail. Mail body internal table data should display with different color’s based on conditions. 

Advantage

  • Not required to open mail attachment to see information on it, it displays mail body itself.
  • Color indication based on conditions, it helps for better analysis.

Steps for sending internal table data in mail body.   

  1. Getting data to internal table from data base table
  2. Create HTML mail content.
  3. Create Mail using SO_NEW_DOCUMENT_ATT_SEND_API1

   

1. Getting data to internal table from data base table

 

I am using data base table SFLIGHT for demo purpose

Code:

DATA : it_sflight TYPETABLEOF ty_sflight,
wa_sflight
TYPE ty_sflight.
DATA : it_final TYPETABLEOF ty_final,
wa_final
TYPE ty_final.

* Start-of-selection
START-
OF-SELECTION.

SELECT carrid
connid
fldate
planetype
seatsmax
seatsocc
FROM sflight INTOTABLE it_sflight UPTO10ROWS.
SORT it_sflight BY  fldate.
LOOPAT it_sflight INTO wa_sflight.
wa_final-carrid     =    wa_sflight-carrid.
wa_final-connid     =    wa_sflight-connid.
wa_final-fldate     =    wa_sflight-fldate.
wa_final-planetype  =    wa_sflight-planetype.
wa_final-seatsmax   =    wa_sflight-seatsmax.
wa_final-seatsocc   =    wa_sflight-seatsocc.
var = ( wa_sflight-seatsocc / wa_sflight-seatsmax ) *
100.
wa_final-percentage = var.
APPEND wa_final TO it_final.
CLEAR : wa_final, var.
ENDLOOP.

 

2. Create HTML mail content.

  • The HTML content is prepared and filled in table it_final which would be later used to create      HTML form.
  • <html> tag tells the browser that this is an HTML document.
  • <body> tag is used to defines the document's body.
  • <font> tag is used to use to give the style to the content.
  • <style> tag is used to define style information for an HTML document.
  • <th>    tag defines a header cell in an HTML table.
  • <tr>      tag defines a row in an HTML table.

 

Code:  

      *...Title
wa_docdata-obj_name  =
'Email notification'.

*...Description
wa_docdata-obj_descr =
'Internal Table in Email Body'.

*...Message Body in HMTL
wa_objtxt-
line = '<html> <body style="background-color:#FFE4C4;">'.
APPEND wa_objtxt TO it_objtxt.

wa_objtxt-
line = '<p> List of Test materials </p>'.
APPEND wa_objtxt TO it_objtxt.

*   table display
wa_objtxt-
line = '<table style="MARGIN: 10px" bordercolor="NavajoWhite" '.
APPEND wa_objtxt TO it_objtxt.
wa_objtxt-
line = ' cellspacing="0" cellpadding="3" width="800"'.
APPEND wa_objtxt TO it_objtxt.
wa_objtxt-
line = ' border="1"><tbody><tr>'.
APPEND wa_objtxt TO it_objtxt.

*   table header
wa_objtxt-
line = '<th><font color="RoyalBlue">Airline Code</font></th>'.
APPEND wa_objtxt TO it_objtxt.
wa_objtxt-
line = '<th><font color="RoyalBlue">Flight</font></th>'.
APPEND wa_objtxt TO it_objtxt.
wa_objtxt-
line = '<th><font color="RoyalBlue">Flight date</font></th>'.
APPEND wa_objtxt TO it_objtxt.
wa_objtxt-
line = '<th><font color="RoyalBlue">Aircraft Type</font></th>'.
APPEND wa_objtxt TO it_objtxt.
wa_objtxt-
line = '<th><font color="RoyalBlue">Maximum capacity</font></th>'.
APPEND wa_objtxt TO it_objtxt.
wa_objtxt-
line = '<th><font color="RoyalBlue">Occupied seats</font></th>'.
APPEND wa_objtxt TO it_objtxt.
wa_objtxt-
line = '<th><font color="RoyalBlue">Occupied %</font></th></tr>'.
APPEND wa_objtxt TO it_objtxt.

*   table Contents
LOOPAT it_final INTO wa_final.
wa_objtxt-
line = '<tr>'.
APPEND wa_objtxt TO it_objtxt.
var = wa_final-percentage.
IF var GE'50'.
CONCATENATE'<td><center>' wa_final-carrid '</center></td>'INTO wa_objtxt-line.
APPEND wa_objtxt TO it_objtxt.
CONCATENATE'<td><center>' wa_final-connid '</center></td>'INTO wa_objtxt-line.
APPEND wa_objtxt TO it_objtxt.
CONCATENATE'<td><center>' wa_final-fldate '</center></td>'INTO wa_objtxt-line.
APPEND wa_objtxt TO it_objtxt.
CONCATENATE'<td><center>' wa_final-planetype '</center></td>'INTO wa_objtxt-line.
APPEND wa_objtxt TO it_objtxt.
CONCATENATE'<td><center>' wa_final-seatsmax '</center></td>'INTO wa_objtxt-line.
APPEND wa_objtxt TO it_objtxt.
CONCATENATE'<td><center>' wa_final-seatsocc '</center></td>'INTO wa_objtxt-line.
APPEND wa_objtxt TO it_objtxt.
CONCATENATE'<td><center>' wa_final-percentage '%''</center></td></tr>'INTO wa_objtxt-line.
APPEND wa_objtxt TO it_objtxt.
ELSE.
CONCATENATE'<td><center><font color="Red">' wa_final-carrid '</font></center></td>'INTO wa_objtxt-line.
APPEND wa_objtxt TO it_objtxt.
CONCATENATE'<td><center><font color="Red">' wa_final-connid '</font></center></td>'INTO wa_objtxt-line.
APPEND wa_objtxt TO it_objtxt.
CONCATENATE'<td><center><font color="Red">' wa_final-fldate '</font></center></td>'INTO wa_objtxt-line.
APPEND wa_objtxt TO it_objtxt.
CONCATENATE'<td><center><font color="Red">' wa_final-planetype '</font></center></td>'INTO wa_objtxt-line.
APPEND wa_objtxt TO it_objtxt.
CONCATENATE'<td><center><font color="Red">' wa_final-seatsmax '</font></center></td>'INTO wa_objtxt-line.
APPEND wa_objtxt TO it_objtxt.
CONCATENATE'<td><center><font color="Red">' wa_final-seatsocc '</font></center></td>'INTO wa_objtxt-line.
APPEND wa_objtxt TO it_objtxt.
CONCATENATE'<td><center><font color="Red">' wa_final-percentage '%''</font></center></td></tr>'INTO wa_objtxt-line.
APPEND wa_objtxt TO it_objtxt.
ENDIF.
CLEAR : wa_final, var.

ENDLOOP.

*   table close
wa_objtxt-
line = '</tbody> </table>'.
APPEND wa_objtxt TO it_objtxt.

*   Signature color
wa_objtxt-
line = '<br><br>'.
APPEND wa_objtxt TO it_objtxt.
wa_objtxt-
line = '<p> Regards,</p>'.
APPEND wa_objtxt TO it_objtxt.
wa_objtxt-
line = '<p><b> Your Name</b></p>'.
APPEND wa_objtxt TO it_objtxt.

*   HTML close
wa_objtxt-
line = '</body> </html> '.
APPEND wa_objtxt TO it_objtxt.

* Document data
DESCRIBETABLE it_objtxt      LINES w_tab_lines.
READ     TABLE it_objtxt      INTO wa_objtxt INDEX w_tab_lines.
wa_docdata-doc_size =
( w_tab_lines -
1 ) * 255 + STRLEN( wa_objtxt ).

* Packing data
CLEAR wa_objpack-transf_bin.
wa_objpack-head_start =
1.
wa_objpack-head_num   =
0.
wa_objpack-body_start =
1.
wa_objpack-body_num   = w_tab_lines.
*   we will pass the HTML, since we have created the message
*   body in the HTML
wa_objpack-doc_type   =
'HTML'.
APPEND wa_objpack TO it_objpack.

ENDFORM.                    " CREATE_TITLE_DESC_BODY

*&---------------------------------------------------------------------*
*&      Form  fill_receivers
*&---------------------------------------------------------------------*
*       Filling up the Receivers
*----------------------------------------------------------------------*
FORM fill_receivers .

wa_reclist-receiver =
'ramesh@gmail.com'.
wa_reclist-rec_type =
'U'.
APPEND wa_reclist TO it_reclist.
CLEAR  wa_reclist.


ENDFORM.                    " fill_receivers

 

 

3. Create Mailusing SO_NEW_DOCUMENT_ATT_SEND_API1


Now using  SO_NEW_DOCUMENT_ATT_SEND_API1  to send message to external internet id.

 

* Send Message to external Internet ID
CALLFUNCTION'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data              = wa_docdata
put_in_outbox              =
'X'
commit_work                =
'X'
TABLES
packing_list               = it_objpack
object_header              = it_objhead
contents_txt               = it_objtxt
receivers                  = it_reclist
EXCEPTIONS
too_many_receivers         =
1
document_not_sent          =
2
document_type_not_exist    =
3
operation_no_authorization =
4
parameter_error            =
5
x_error                    =
6
enqueue_error              =
7
OTHERS                     = 8.

IF sy-subrc NE0.
WRITE: 'Sending Failed'.
ELSE.
WRITE: 'Sending Successful'.
ENDIF.

 

Output in SOST.

 

Out put in Mail.

 

 

Source code attached in text file

 

 

A Quick way to check your Number Ranges

$
0
0

Just wanted to share a report to quickly get the status of the desired number ranges. As a part of Pre-Migration Activity that pertains to checking all the SAP number ranges and verifying that they are in order with correct buffering and correct number range numbers.

 

Well SAP does give us a report RSSNR0CH. This report either gives the complete list or checks. There is no way to quickly filter to the target groups that we might want. Currently doing a EMIGALL based migration and as we often end up migrating in different phases for different groups of objects and thus we do need to check different groups of number ranges both standard and custom.

 

Its a small report that might come in handy for the teams responsible for verifying the number ranges set up before the migration as a part of pre-migration checklist instead of moving between transactions of SNRO and SNUM etc.

 

The code  is given in the wiki snippet link:

 

http://wiki.sdn.sap.com/wiki/display/Snippets/A+Quick+way+to+check+your+Number+Ranges

 

It can act as basic checklist item for migration activities. Modified the code to have the T-Code column as Hotspot so that the user can just go in to modify the values from the output.

 

The ALV output will be like to:

 

 

Cheers,

Arindam

Search a variable in ABAP Source code from a particular package

$
0
0

How to search the variable in ABAP Source code from a particular package ,

 

Step 1 : Run the Program 'RS_ABAP_SOURCE_SCAN'.

 

abap1.JPG

Step 2 : Specify the variable in the 'String searched for' and select the checkbox shown below

abap2.JPG

 

Step 3 : Select the package you need to search for -

 

abap3.JPG

 

 

 

 

 

Step 4 : Execute that report program , it will show the lines of the abap code where that particular variable was used.

Idoc deletion/archiving and reorganization process : A housekeeping process

$
0
0

Idoc deletion/archiving and reorganization process : A housekeeping process

 

Idoc deletion :

There are two ways for Idoc deletion:

·         Archive Idoc’s and delete using SARA. The deleted Idoc’s can later be restored.

 

1.       1. Go to Tcode SARA: Select archiving object Idoc.

1.jpg

 

2.       2. Select mode as WRITE and maintain a variant. You can also go directly to report RSEXARCA and schedule that in background.

2.jpg

 

3.       3. Maintain start date and spool parameters and execute. Archiving job will be scheduled. The Idoc will still be available in WE02.

3.jpg

 

4.     4.  In the next step schedule deletion using SARA. Select the archive, start date and spool parameters and click execute. The Idoc’s will be deleted and stored to external DB. Alternatively you can go to report RSEXARCD for the same.

 

4.jpg

5.       5. The Idoc’s will now not be available in WE02.

6.       6.  To read the deleted Idoc’s from archive go to Tcode SARA and select read and then select archive to read. Data will be displayed.

5.jpg

6.jpg

7. Further you can also use WE09/We10 for displaying Idoc’s from archive.

7.jpg

8.jpg

8. For reloading the Idoc’s from archive data base use report RSEXARCL and click execute. Idoc’s will be restored back.

9.jpg

10.jpg

11.jpg

 

There are plenty of other option in SARA using which we can archive vendor master data, customer master data and other functional documents as well.

 

12.jpg

 

 

·         Idoc’s delete without archiving:

 

1.      1.  Idoc’s can be directly deleted from DB using WE11 Tcode. This is having multiple options i.e. delete using message type/Idoc number/idoc status/start date end date. You can also select maximum number of Idoc’s to be deleted in one run.

 

13.jpg

 

 

 

 

 

 

 

 

Database housekeeping/reorganization jobs for Idoc’s :

 

1.      1.  Regular scheduling of program RSRLDREL to delete the idoc application links that are no longer required. We can delete these links older than three months. This is recommended by SAP in note 505608.

14.jpg

 

      More reference: Note 706478 - Preventing Basis tables from increasing considerably

SAP help: http://help.sap.com/saphelp_sm310/helpdata/en/0b/5d193ad0337142e10000000a11402f/content.htm

 

Thanks

Gaurav Ranjan

END OF DOCUMENT

Utility Tool - Program To Lock Inactive Users

$
0
0

Requirement:A program with functionality to identify and notify users who have not logged in the system for a certain time period. Program should send log-in reminder e-mail to users for two time stamps; for the third time stamp, it should lock user accounts and send e-mails notifying users of account expiration.

This program should generate a consolidated report having all the users notified by e-mail with their corresponding statuses.

This program should have a ‘Test Run’ Mode where user can execute and see the report with user account status without actually locking accounts or sending e-mails.

 

Solution Explanation:The program logic for this requirement is attached with this document. The current time stamps considered in the program for first e-mail reminder is 50 days and for second reminder it is 80 days. If the user has not logged in for 90 days or more (third time stamp) then user account will be locked and user will be notified via e-mail.

Steps of Execution

Execute the program ‘Z_REP_USER_LOCK’ (default date is current date)

Selection Screen.png

Note: With ‘Test Run’ marked, no users are locked and emails are not sent either; this is for report generation and review purpose only.

 

 

Status Report: The output report will have consolidated list of all the users falling under criteria of inactive users with their account status:

Report Ouput.png

 

 

E-mail Notification:

 

Below is the E-Mail structure for 50 and 80 days:

From:sysadminteam@company.com [mailto:sysadminteam@company.com]
Sent: Wednesday, July 17, 2013 2:09 PM
Subject: Important Information: User Account will be locked

 

Dear User,

 

This is to notify you that you have not logged into System XYZ Client 100 for last 80 Days.

 

Please use your Login Credentials to Log-in and avoid account locking.

 

Please write to us for further enquiry: Click Here

 

Thanks & Regards,
System Admin Team.

 

This is a system generated mail. Please do not reply.

 

 

 

Below is the E-Mail structure for 90 days:

From:sysadminteam@company.com [mailto:sysadminteam@company.com]
Sent: Wednesday, July 17, 2013 2:09 PM
Subject: Important Information: User Account has expired

 

Dear User,

 

This is to notify you that you have not logged into System XYZ Client 100 for last 90 Days.

 

Hence your Account has expired.

 

Please write to us for further enquiry: Click Here

 

Thanks & Regards,
System Admin Team.

 

This is a system generated mail. Please do not reply.

Below is the execution process of the program followed by status report and generated e-mail notification.

 


ABAP CODE - TO SEND WELCOME AND GREETING MAIL

$
0
0

Kindly find attached source code.


 

ABAP CODE - TO SEND WELCOME AND GREETING MAIL

( By using HTML Codes to open images on body of mail )

Agenda:


1) Introduction

2) Output for Welcome Mail

3) Output for Greeting Mail

4) Difference Between Both the Mails

5) Mandatory Previous Settings.

6) Main Screen.

7) Inputs to Send Welcome Mails or Other.

8) Inputs to Send Greeting Mail.

9) Source Code - Available in Attachment.

 

 

1) Introduction:


This document contains the total procedure and source code to send mail with image in the mail body by using HTML

inside ABAP Editor, which includes individual and bulk mail sending. The another future is Signature coloring and image attachment for MIME and subject editing.


Utility of this ZMAIL sending program use to send welcome mails and greeting mails.


2) Output for Welcome Mail:


--------------------------------------------------------------------------------------------------------------------------------------------

Hi All,

Picture1.jpg

xxxxxxxxx extends a hearty welcome to Mr. xxxxxxxxxxxx, who has joined us on 19thJuly 2013

in the capacity of ‘Lead Consultant’ to perform the role of SAP-SRM Consulting.

Regards,

HR - xxxxxxxxx

-----------------------------------------------------------------------------------------------------------------------------------------------

3) Output for Greeting Mail:

-------------------------------------------------------------------------------------------------------------------

Dear Mr. Xxxxxxxxxxx,

 

Happy Independence day.

Picture2.jpg

 

Regards,

HR - xxxxxxxxx

----------------------------------------------------------------------------------------------------------------

 

4) Difference Between Both the Mails:


There are some difference in both the mails, welcome mail starts with " HI ALL " but the greeting mail starts with

" DEAR MR/MR/MISS. XXXXXXXXX ". Because welcome mail has to go for every body sating that He/She joined

in our company, in the mean while the greeting mail has to go individuals with their name.

 

 

5) Mandatory Previous Settings.


This program created with a custom table ZEMP . To use this program kindly create a table like

the following so that the greeting mail will get send to all mail id's which is maintaining by the table,

and also maintain the proper text elements as follows.

 

Picture3.jpg

                                                                 Fig 5.1

 

Picture4.jpg

                                                                  Fig 5.2


Picture5.jpg


                                                                   Fig 5.3

 

 

6) Main Screen:

 

Picture6.jpg

                                                                     Fig 6.1

 

 

7) Inputs to Send Welcome Mails or Other:


E-Mail Address : Group or Individual Mails.

Image              : Attach the image from your PC it will automatically get saved in

                          MIME Repository, Create a TR if you want to move it for R/3

Subject            : Any


Then click on the mail button to compose mails.


If Ms office installed in current PC the Ms Editor (Dialogue Editor) will get open.

 

Picture7.jpg

                                                                    Fig 7.1

 

 

Other wise it will open the following editor.


Picture8.jpg

                                                                       Fig 7.2

 

Save and click on back button you can get the selection screen again with your inputs.


Click Send button to send a mail.


8) Inputs to Send Greeting Mail:


E-Mail Address : Mail id not necessary, it will pick automatically from the table.

                         Leave it blank.

Image             : Attach the image from your PC it will automatically get saved in

                        MIME Repository, Create a TR if you want to move it for R/3

Subject           : Any


Then click on the mail button to compose mails.


Save and click on back button you can get the selection screen again with your inputs.


Click Send to send a mail.

 


Kindly Find the attachment for the Source code.

 


Functional Specifrication Template

Waits in Batch Jobs - Implementation

$
0
0

Many times, a batch process will push large amounts of data into SAP, very quickly.  Commit processes can have queues.  Lock processes can have queues.  Where there are queues, they can get backed up (overloaded).  Your batch job may have steps that are dependent on each other.  They can then fail because the first process is still stuck in queue even though the step is finished.  How do you wait a bit before carrying out the next step?

 

This program will seem dumb, but if it works...  Well I leave it to you.

 

REPORT z_bc_wait.

PARAMETERS:
* Number of seconds to wait
  p_sec LIKE sy-subrc.

************************************************************************
*                    START-OF-SELECTION                                *
************************************************************************
START-OF-SELECTION.

* Wait for the seconds specified in the initial screen
  WAIT UP TO p_sec SECONDS.  

 

Set a variant for, say 60 seconds.

 

If you have a job with steps like:

 

Without Z_BC_WAIT.png

Suppose you are worried that 2 is not complete when 3 starts and dito 3 and 4, 5 and 6.

 

Change the job steps to:

 

With Z_BC_WAIT.png

 

I hope that you find this helpful!

 

Neal Wilhite

Waits between job steps - Overview

$
0
0

Waits between job steps - User Spec

  • NA

 

Waits between job steps - Functional Spec

  • Pending

 

Waits between job steps - Technical Spec

  • Pending

 

Waits between job steps - Implementation Details

Neal's templates for ABAP

$
0
0

Hi All,

 

I am working on a set of templates for SAP functionality.  They will be things that I write over and over again every time that I change companies. 

  • There will be a topic.
  • Then there will be a link.  The link will goto a new document that contains the template with notes on how to use it and what I consider reasonable documentation.
  • Then there will a little description

 

So this document will be my table of contents.

 

  1. Programming style sheets:
    1. http://en.wikipedia.org/wiki/The_Elements_of_Programming_Style
    2. http://www.sethi.org/classes/cet375/daily_lecture_notes/programming_style_sheet.phtml
    3. https://scn.sap.com/thread/593126
    4. http://www.sap-press.de/download/dateien/1948/sappress_official_abap_programming_guideline.pdf
    5. http://web.mit.edu/fss/dev/newdevstand.html
    6. Holder
  2. Protecting your access - Enqueue, Dequeue
    1. Holder
  3. Functional Spec Template
    1. http://scn.sap.com/docs/DOC-44167
  4. Waits between job steps
    1. Waits between job steps - Overview
      1. http://scn.sap.com/docs/DOC-44168
  5. Email Invoice to multiple recipients
    1. http://scn.sap.com/docs/DOC-41410

 

 

 

This will hopefully grow to be to large for it's initial look and feel, so expect this core document to under go continuous reformatting. 

 

Some entries will disappear from this page.  Initially, I will be gathering multiple representative examples here until I can nail down the style that I prefer.  When they no longer fit me firmer standards, some of the best will be moved here (http://scn.sap.com/docs/DOC-43784)

 

 

Neal Wilhite

Final Approver of FI Workflow

$
0
0

Business Scenario:


The SAP system must record the initiator and the final approver for financial transactions that go through workflow for posting. These fields must describe for each posting the individual who parked the entry as well as the individual whose approval directly led to the posting of the entry. The Final Approver is the individual who is ultimately responsible for the individual posting and by approval has also approved the attached supporting documentation.

This information is either available within Approval Sub-Workflow container or it can be viewed separately for each FI document in transactions FBV3 or FB03 from the workflow protocol via the generic object services.

 

This document provides a custom solution to this requirement. It is possible to capture the final level Workflow Approver within BKPF (Accounting Document Header) table.

 

Benefits:


  • If a future question concerning the posting occurs due to audit, the Final Approver is the person contacted to describe the details of the entry.
  • It provides an ability to check whether the initiator of the document and the final approver is the same individual.

 

Extend BKPF table structure


Perform the following steps to add new field ‘Final Approver’ to BKPF table

 

  • Call transaction SE11 , enter table name as BKPF and click on ‘Append Structure’

 

1.jpg

 

 

  • Provide a Z structure name on the subsequent popup

 

2.jpg

 

  • Create structure with single field ‘FINAL_APPROVER’ (This structure can have additional Approver fields if the number of Approval levels is fixed.)

 

3.jpg

 

 

  • Save and activate

 

4.jpg

 

 

Extend BKPF_SUBST structure


During posting of FI document, all fields from BKPF_SUBST structure are transferred to BKPF structure. Perform the following steps to add new field ‘Final Approver’ to BKPF_SUBST table

 

  • Call transaction SE11, enter structure name as BKPF_SUBST and click on ‘Append Structure’.

 

5.jpg

 

  • Provide a Z structure name on the subsequent popup

 

6.jpg

 

  • Create another structure with single field ‘FINAL_APPROVER’ (This structure can have additional Approver fields if the number of Approval levels is fixed.)

 

7.jpg

 

 

  • Save and activate

 

8.jpg

 

Now both BKPF and BKPF_SUBST structures have new field FINAL_APPROVER.

 


Implement Business Transaction Event (Process interface 1120)


BTE 1120 can be used to populate the fields of structure BKPF_SUBST, which are eventually transferred to BKPF table.

 

9.jpg

 

  • Create function ‘ZSAMPLE_PROCESS_00001120’ as a copy of ‘SAMPLE_PROCESS_00001120’

 

    • Call transaction SE80 and create new function group e.g. ‘ZFI_DOC_POSTING’. Click YES on confirmation pop up. Save and activate function group

 

 

10.jpg11.jpg

 

12.jpg

 

 

    • Call transaction SE37 , enter ‘from Function’ name as ‘SAMPLE_PROCESS_00001120’

 

    • Click Copy Icon and specify ‘ZSAMPLE_PROCESS_00001120’ as ‘to Function’

 

13.jpg

 

 

  • Configure BTE
    • Call transaction SPRO

               SAP Reference IMG -> Financial Accounting -> Financial Accounting Global Settings -> Business Transaction Events

or

    • Call transaction FIBF. Choose ‘Products of a Customer’

 

14.jpg

 

 

    • Add New Entry for Product ‘ZFI_POSTING’, description and SET the active flag. Save the new product.

 

15.jpg

 

 

    • Next, choose ‘ Process Modules of a Customer’

 

16.jpg

 

    • Add New Entry for Process interface - 1120. Use the function name and Product created in previous steps. Save the new entry.

 

17.jpg

 

 

Function ‘ZSAMPLE_PROCESS_00001120’


  • After the BTE implementation, function ‘ZSAMPLE_PROCESS_00001120’ will be called just before actual Posting of FI document.  BTE 1120 provides us the facility of substituting BKPF fields from BKPF_SUBST structure. So if we determine and populate the final approver in T_BKPFSUB, this value will be moved from T_BKPFSUB to T_BKPF table before posting and then it will be available in BKPF table after Posting.

 

    • Call transaction SE37 and open function ‘ZSAMPLE_PROCESS_00001120’ in change mode.

 

    • Write the following sample code:

 

FUNCTION zsample_process_00001120.

*"--------------------------------------------------------------

*"*"Local Interface:

*" IMPORTING

*" VALUE(I_BKDF) TYPE  BKDF OPTIONAL

*" TABLES

*" T_BKPF STRUCTURE  BKPF

*" T_BSEG STRUCTURE  BSEG

*" T_BKPFSUB STRUCTURE  BKPF_SUBST

*" T_BSEGSUB STRUCTURE  BSEG_SUBST

*" T_BSEC STRUCTURE  BSEC OPTIONAL

*" CHANGING

*" REFERENCE(I_BKDFSUB) TYPE BKDF_SUBST OPTIONAL

*"--------------------------------------------------------------

 

  DATA :

           l_bkpfsub     TYPE bkpf_subst,

           l_bkpf        TYPE bkpf.

 

  DATA :

           l_agent      TYPE sww_aagent,

           l_wi_cd      TYPE sww_cd,

           l_wi_ct      TYPE sww_ct,

           l_objkey     TYPE swo_typeid.

 

  CLEAR :

           l_agent.

 

 

* Read BKPF record

  READ TABLE t_bkpf INTO l_bkpf INDEX 1.

 

  CHECK sy-subrc EQ 0.

 

  CLEAR l_objkey.

 

  CONCATENATE l_bkpf-bukrs l_bkpf-belnr l_bkpf-gjahr

         INTO l_objkey.


  CONDENSE l_objkey.

 

* Determine Final JE approver from Workflow LOG tables

 

  SELECT wi_aagent wi_cd wi_ct

     FROM swivobject

       UP TO 1 ROWS

     INTO (l_agent,l_wi_cd,l_wi_ct)

    WHERE objtype     = 'FIPP'

      AND objkey      = l_objkey

      AND wi_type     = 'W'

      AND wi_stat     = 'COMPLETED'

      AND wi_rh_task  = 'TS00007914'

    ORDER BY wi_cd DESCENDING wi_ct DESCENDING.

  ENDSELECT.

 

  IF NOT l_agent IS INITIAL.

 

*   Read BKPF substitute record

    READ TABLE t_bkpfsub INTO l_bkpfsub INDEX 1.

 

    IF sy-subrc EQ 0.

 

       MOVE l_agent TO l_bkpfsub-final_approver.

 

*      Update the BKPF substitute table

       MODIFY t_bkpfsub INDEX 1 FROM l_bkpfsub

       TRANSPORTING final_approver.

 

    ENDIF.

 

  ENDIF.

 

              ENDFUNCTION.

 

    • Save and activate Function ‘ZSAMPLE_PROCESS_00001120’

 

  • Code Explanation:

Database view SWIVOBJECT provides all the work item headers for workflows linked to the parked document (FIPP). Task ‘TS00007914’ specifies Approval task and descending SORT by date and time – provides the Final Approver of the Parked Document.

 

 

Working Prototype


  • Park a Journal Entry via transaction FV50. Then complete the document by clicking ‘SAVE as COMPLETE’ button and trigger Approval Workflow

 

18.jpg

 

  • The Approval Work item is sent to Manager

 

19.jpg

 

  • The Approver (Manager) can then release the document from SAP inbox (transaction SBWP)

 

20.jpg

 

  • Document 101265204 gets posted by Workflow

 

21.jpg

 

22.jpg

 

  • Final Approver is captured on BKPF table entry

 

23.jpg

Pre-Requisite Checks before Implementing A SAP Note

$
0
0

Pre-Requisite Checks before Implementing A SAP Note

Introduction

          The SAP Notes are implemented through the Transaction SNOTE. Though the process of executing the SAP note is simple, there are a few Pre-requisite checks which have to be satisfied before implementing the note.  This BOK details the information on the various Pre-Requisite checks which needs to be carried out before implementing the note and the action associated with the pre-requisite checks.

Illustration

The following are the list of pre-requisite checks which are to be performed before implementing the SAP note,

  • Implementation Status
  • Release Validation
  • Pre-Requisite Notes
  • Manual Correction
  • Side-Effects

  • Implementation Status:

SAP note mainly have 3 implementation statuses,

-->  Can be implemented

-->  Cannot be implemented

-->  Obsolete Version Implemented

If the status is “Can be implemented” then the Note doesn’t have any conflict with the current system and can be implemented through the SNOTE transaction.

1.png

If the status is “Cannot be implemented”, then there could be two cases,

     --> The note has got only manual changes involved OR

     --> There is a release conflict.

So in either case, the Note cannot be implemented through the SNOTE transaction.

2.png

If the status of the note is “Obsolete Version Implemented” it means that SAP has updated the note with a new version and our system had been implemented with an older version. This also means that the Note is Implementable through SNOTE.

           3.png

  • Release Validation:

    

Release Version of the SAP note has to be in line with the Current release of our system.

For instance, the SAP note 1617097 has the affected release SAP_HRCGB as 604. So our system should have the same release corresponding to the component.

4.png

 

(Above is the extract from the PDF extract of the SAP note from Marketplace)

         To verify that follow the MENU path in your SAP screen as SYSTEMàSTATUS: And click on the highlighted button in the below

          displayed dialog box.

         

          5.png

In the next window, scroll through the components to locate SAP_HRCGB. From the below screenshot it is evident that the release in our system is 604 too. So this note is in line with the system’s status. So Release validation is trough.

6.png

Further Highest support of the component of our system is SAPK-60438IN, so the correction information’s release should be in this range.

To check this, open the Correction Instruction related to the note (from SAP market place) and check its release.

In this case the correction is valid from SAPK-60415IN to SAPK-60438IN. Our systems component falls in the range. So Correction Release validation is through.

1.png

(Above is an extract of the correction instruction involved in the note)

Let us consider another note 1594617, the correction instruction 1007760’s Correction Validity states the Correction is valid only from SAPK-60425 to SAPK-60437.

2.png

Checking on the current release available for the particular package in our system shows the correction is valid for the release SAPK-60438 which doesn’t fall in the validity range of the Correction Information’s Validity. So this Correction Information is not implementable as to our current system’s release.

3.png

  • Pre-Requisite Notes

Some of the SAP notes have pre-requisite notes, which will be implemented when the main note is implemented.

For instance consider SAP note 1381901, the correction instruction of the Note displays the Pre-Requisite Notes, if any.

In this case the note has plenty of pre-requisite notes as displayed. So all the prerequisite checks needs to be carried out for these Pre-Requisite notes before implementing the main note.

4.png

  • Manual Corrections

Some SAP notes do have manual correction which needs to be implemented manually by the user apart from the Correction Instructions which will be implemented automatically when the Note is implemented through SNOTE.

There are two types of Manual corrections,

     --> Pre – Manual Implementation:  These needs to be implemented before the implementation of the Note through 

     SNOTE transaction.

     --> Post –Manual Implementation: These needs to be implemented after the  implementation of the Note through

     SNOTE Transaction.

The SAP Note 1498575 has both Pre and Post manual implementations,

5.png

6.png

(Extracts of the note from SAP marketplace)

Note: These manual corrections are to be implemented only when the Release Validation is successful (as per the 2nd pre-requisite check), if the release validation is not successful then the manual correction are not meant for our current system and they can be ignored.

Some SAP notes have manual correction information as create a new program or update a current existing program.

For instance, SAP note 647424 has instructions to create two new Programs and include the code provided attached inside the SAP note.

These processes cannot be carried out through the SNOTE transaction and has to be manually executed by the SAP User.

7.png

  • Side Effects

Implementing a SAP note does create side effects in some cases.

If a SAP note has a side effect it will be specified in the PDF extract of the Note from SAP Marketplace as shown below.

8.png

As shown above, when the SAP note 1553430 is implemented it causes an unwanted side effect, which can be rectified by implementing the Side Effect Solution Note 1572662. So implementing the Note 1572662 becomes mandatory.

When a SAP note with side effect is implemented through SNOTE, SAP pops out a warning message as displayed below making us aware of a side effect.

9.png

          When all these pre-requisite checks are satisfied for a SAP note, the Note can be implanted through the SNOTE transaction.


Maintain our own pattern during code

$
0
0

Hi,

We generally have certain pattern to be followed in our company while coding.

Each time typing all these text at certain position is just headache.......SAP has provided creating pattern functionality.

 

Here you go:-

From transaction SE38 follow the menu path as shown in the screen shot and click on Create pattern submenu

Note: You can change, display or delete a pattern from the same menu path as shown here.

Mainta1.jpg

Next enter the pattern name.

Mainta2.jpg

Now in the next screen enter the pattern content that you want to define and press save button.

 

Mainta3 (1).jpg

Now go back to the program editor and press pattern button for inserting the newly created pattern in the program.

 

Mainta4.jpg

In the next popup screen choose the Other pattern radio button and press enter.

 

Mainta5.jpg

Now from the generated list double click on the pattern that we have created above.

 

Mainta6 (1).jpg

Pattern content will be inserted in the program.

 

Mainta7.jpg




 



Recently Featured Content in ABAP Development

$
0
0

ABAP Development Tools 2.7 are generally available!

http://scn.sap.com/profile-image-display.jspa?imageID=6190&size=72Testdrive the latest version of SAP's ABAP IDE on Eclipse and get familiar with its new features and enhancements. This article by Christopher Kaestner describes the highlights of the ABAP development tools 2.7 and where to download them.May 12, 2013

 

Performance Guidelines for ABAP Development on the SAP HANA Database

If you’re an experienced ABAP developer, you’re probably familiar with the classic performance guidelines for using Open SQL. This begs the question of what changes are there to the guidelines in the context of SAP HANA. Eric Westenberger tackles that question.  April 10, 2013

 

Experience the Magic: How to Setup Your Own ABAP on HANA in the Cloud

http://scn.sap.com/profile-image-display.jspa?imageID=12354&size=72Are you an ABAP developer who can’t wait to explore the intricacies of ABAP on HANA coding? Do you want to set up a sandbox environment where you can try out things such as consuming HANA Calculation Views or Stored Procedures from ABAP programs, and learn how to accelerate your ABAP applications with HANA or build entirely new ones? Then SAP Mentor Thorsten Franz wrote this for you. April 10, 2013

 

ABAP in Eclipse: Why Eclipse wins?

http://scn.sap.com/profile-image-display.jspa?imageID=17269&size=72 What makes working with ABAP in Eclipse more efficient as in SE80? In this blog, Adam Krawczyk shares his practical experience with ABAP Development Tools giving handy tips and advices for optimal usage.April 11, 2013

 

ABAP Code Modularization: Lesson Learned

http://scn.sap.com/profile-image-display.jspa?imageID=3669&size=72It can’t be all Objects all the time! In this blog, Otto Gold shares tips and best practices on how to structure program code depending on the situation. Mine through the comments section and you’ll find more nuggets of wisdom. Mr. Gold provides more nuggets in “My "light" tricks for building more "robust" ABAP code.”March 22, 2013

 

How to Create a Watch Point for a Field Symbol in the ABAP Debugger

You can’t create a watch point for a field symbol. You'll get an error. Try telling that to Brian O'Neill, who said, “Even though I received an error, I do not like being told what I can't do in SAP, so I decided to find a way!” March 18, 2013

 

ABAP for SAP HANA Fitness Contest at DSAG Technology Days

http://scn.sap.com/profile-image-display.jspa?imageID=3662&size=72SAP Mentor Tobias Trapp writes about the ABAP for SAP HANA Fitness Contest at DSAG Technology Days. There 20 customers and partners had the chance to get early insights into what ABAP development on SAP HANA as primary persistence means. March 4, 2013

 

 


SAP TechEd Live Interviews for ABAP Developers

 

Get more interviews and lecture sessions from SAP TechEd Online. January 8, 2012

 

Optimizing ABAP for SAP HANA: SAP's 3-Step Approach

In this SAPinsider article, you'll learn SAP's three-step approach to optimize SAP NetWeaver Application Server (SAP NetWeaver AS) ABAP for the SAP HANA database. December 26, 2012


ABAP Development Tools: Now you can debug ABAP applications in Eclipse

http://scn.sap.com/profile-image-display.jspa?imageID=6190&size=72Want to debug your ABAP applications with native Eclipse debugger directly within the ABAP Development Tools (ADT) for Eclipse? Now it's possible since the availability of the new SAP Kernel 7.21 in combination with SAP Basis 7.31 SP4 (prerequisite for using ADT). Learn the capabilities of the new ABAP debugger in Eclipse also by watching the embedded video. December 3, 2012

 


SAP Insider: Turbocharge Your ABAP Development with Innovation from Eclipse

https://scn.sap.com/profile-image-display.jspa?imageID=2207&size=72With SAP NetWeaver 7.31, support package stack 4, SAP introduces ABAP development tools for SAP NetWeaver, also known as "ABAP in Eclipse," which brings Eclipse capabilities to ABAP Workbench (SE80) functionality. In this SAP Insider article, you'll learn more about ABAP in Eclipse and how it moves ABAP, which is ripe for productivity and usability improvements, into a complementary alignment with SAP's other Eclipse-based development environments. November 26, 2012

 

Crossing the Great Divide - Procedural vs. OO ABAP Programming

http://scn.sap.com/profile-image-display.jspa?imageID=4295&size=72Indulge in this blog by Paul Hardy from Hanson Australia Pty Ltd, as he takes us through his journey from the “old school” (he started procedural programming at age 14) to modern programming techniques. November 6, 2012

 

 

A Call to Arms for ABAP Developers

http://scn.sap.com/profile-image-display.jspa?imageID=2427&size=72 SAP Mentor Graham Robinson shares his concerns for those who have not kept in touch with contemporary development trends including ABAP skills. Read his “call to arms.” October 26, 2012

 

 

 

ABAP Development Tools Tutorials - Learn how to use ABAP in Eclipse

Want to learn fast all new features and capabilities of the ABAP in Eclipse IDE? Just step through the short ABAP Development Tools video tutorials online.October 16, 2012


ABAP Technology @ SAP TechEd 2012

Are you interested in the latest ABAP technology news and visiting one of the upcoming SAP TechEd 2012 events? This blog post gives a brief overview of sessions that might be of interest for you. September 25, 2012


ABAP Test Cockpit – SAP’s new quality assurance tool

Bugs in your custom ABAP code can be quite expensive when they impact critical business processes. Thus, SAP invested in the ABAP Test Cockpit (ATC), SAP’s new quality assurance tool for ABAP. Read this document to learn more about ATC. September 21, 2012


Free Trial on SCN for ABAP in Eclipse

Want to check out ABAP in Eclipse? Simply download the SCN trial version following the ABAP Development Tools for SAP NetWeaver - Trial Version document orvisit the new space focusing on the Eclipse-based ABAP Development Tools for SAP NetWeaver. July 5, 2012


SAP NetWeaver AS ABAP for HANA

How does ABAP help to leverage the benefits of in-memory database technology? This documentdescribes SAP's vision, strategy, development, and commitment to enable ABAP for SAP HANA. Also available in German language.June 25, 2012

 

ABAP in Eclipse is Here!

ABAP in Eclipse was shipped on 25 June with SAP NetWeaver AS ABAP 7.03/7.31 SP4. Visit the new space focusing on the Eclipse-based ABAP Development Tools for SAP NetWeaver, or “ABAP in Eclipse.” Check out Get Started with ABAP Development Tools for SAP NetWeaver, Working with ABAP Development Tools, and Download and Installation Instructions (SMP login required). June 26, 2012

 

"Light" Tricks for Building More "Robust" ABAP Code

http://scn.sap.com/profile-image-display.jspa?imageID=3669&size=72 SAP Mentor Otto Gold shares some thoughts on ABAP coding and general development, and sparks another robust discussion following his blog. Otto offers up more useful tricks in another recent blog, All you need to know about HR-PD Qualifications from the development perspective. June 12, 2012

 

 

Modernizing ABAP Development

Questions about code modernization and skills development tend to leave a big footprint on SCN. In this blog, Brian O'Neill of IGT asks how and whether to modernize. June 12, 2012

 

Customer Feedback on the Pilot Version of the ABAP Development Tools for SAP NetWeaver

http://scn.sap.com/profile-image-display.jspa?imageID=4972&size=72Also known as "ABAP in Eclipse," ABAP Development Tools for SAP NetWeaver were part of a customer engagement initiative to evaluate the pilot version. Olga Dolinskaja summarizes the results. May 3, 2012

 

 

 

Developer's Journal: ABAP/HANA Connectivity via Secondary Database Connection

http://scn.sap.com/profile-image-display.jspa?imageID=2203&size=72

Interested in how to access HANA from your ABAP systems? In his edition of the HANA Developer's Journal Thomas Jung expains how much can be done today when HANA runs as a secondary database for your current ABAP based systems and what development options within the ABAP environment support this  scenario. April 23, 2012


 

 

The quality of an answer depends significantly on the quality of the question (or: how to ask good questions)

In his post Hermann Gahmgives some useful hints how to ask 'good' questions and especially correct questions regarding ABAP code in order to get an answer of a good quality. April 23, 2012

 

ABAP Objects: Performance Analysis (SAT) with ABAP Unit

Posted by Bjorn-Henrik Zink. February 2, 2012

 

How to Do ABAP Nugget Based Code Migration

SAPlink is a project that aims to make it easier to share ABAP developments between programmers. It provides the ability to easily distribute and package custom objects. This article covers ABAP basis versions compatible with SAPlink and how to install the latest version of SAPlink. January 26, 2012

 

ABAP Keyword Documentation 7.03/7.31

The ABAP Keyword Documentation for Release 7.31 aka 7.03 is online. January 14, 2012

 

Coding and Performance Tips for New ABAP Programmers

In this blog, SAP Technology Analyst, Nabheet Madan, offers tips for new ABAP programmers who have just developed a few objects. Nabheet looks at fundamentals including documentation and reusable code, naming conventions, maintainability and performance optimization. January 3, 2012

 

2011

 

ABAP Trilemma

The ABAP development triangle is a model that describes the trilemma of ABAP development. In this blog, Elvez describes how the ABAP development triangle - performance, security and design - can be used as an agreement between developers on how to prioritize development efforts. December 13, 2011

Featured Content for ABAP Development

$
0
0

ABAP language news for SAP NetWeaver 7.4

http://scn.sap.com/profile-image-display.jspa?imageID=6190&size=72Don't miss this comprehensive blog series by Horst Keller describing the latest enhancements of the ABAP programming language for the SAP NetWeaver Application Server ABAP 7.4 release.July 23, 2013

 

Now Available! SAP NetWeaver AS ABAP 7.4

SAP NetWeaver AS ABAP 7.4 provides non-disruptive innovations and enhancements for the proven and reliable ABAP technology and is optimized for SAP HANA, Cloud, and Mobile. Learn about the most significant values and capabilities of the SAP NetWeaver AS ABAP 7.4.

 

Learn more about NetWeaver 7.4 in blogs by Bjoern Goerke and Karl Kessler:

SAP NetWeaver 7.4 Made Generally Available (GA)

New landing page published for SAP NetWeaver 7.4

 

Explore the ABAP Development on SAP HANA step by step using ABAP for SAP HANA Reference Scenario Open Items Analytics which is an integral part of the SAP NetWeaver AS ABAP 7.4. May 13, 2013

 

User Guide for SAP NetWeaver AS ABAP 7.4 SP2 on SAP MaxDB [Trial]

$
0
0

This guide describes how to set up your local environment for the SAP NetWeaver AS ABAP 7.4 SP2 on SAP MaxDB trial provided as virtual appliances by the SAP Cloud Appliance Library.

View this Document

User Guide for SAP NetWeaver AS ABAP 7.4 SP02 on SAP HANA [Trial]

$
0
0

This guide describes how to set up your local environment for the SAP NetWeaver AS ABAP 7.4 SP02 on SAP HANA trial provided as virtual appliance by the SAP Cloud Appliance Library.

View this Document

Viewing all 935 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>