HEELPBOOK - Simple ABAP program (SAP) ####################### One of main job of an ABAP-er is create ABAP report. Report content 4 basic component: 1. Data declaration. 2. Selection screen. 3. Select Data. 4. Write Report. I assume you already familiar with data dictionary. For an example, we have a table "SFLIGHT", with following fields: 1. CARRID (Airline carrier ID) 2. CONNID (Flight connection Id) 3. FLDATE (Flight date). 4. SEATSMAX (Maximum capacity). We wan to create a report that can be filtered based on Airline carrier ID and Flight connection Id. Go to transaction code SE38 (SAP Menu->Tools>ABAP Workbench->Development->ABAP Editor), enter program name with prefix Z, for example ZTEST0001, then choose "Create" button. Then, enter title for program, and choose 1 "Executable Program" for program type. If screen input for development class appear, click "Local Object". Then, go to following steps. ################ 1. Data declaration TABLES: sflight. DATA: BEGIN OF t_report OCCURS 3, carrid LIKE sflight-carrid, connid LIKE sflight-connid, fldate LIKE sflight-fldate, seatsmax LIKE sflight-seatsmax, END OF t_report. ################ 2. Selection screen SELECT-OPTIONS s_carrid FOR sflight-carrid. SELECT-OPTIONS s_connid FOR sflight-connid. ################ 3. Select data SELECT * FROM sflight WHERE carrid IN s_carrid AND connid IN s_connid. t_report-carrid = sflight-carrid. t_report-connid = sflight-connid. t_report-fldate = sflight-fldate. t_report-seatsmax = sflight-seatsmax. APPEND t_report. ENDSELECT. IF sy-subrc NE 0. "sy-subrc = return code WRITE 'Data not found'. ENDIF. ################ 4. Write data LOOP AT t_report. "Comment: Go to next line skip. WRITE t_report-carrid. WRITE t_report-connid. WRITE t_report-fldate. WRITE t_report-seatsmax. ENDLOOP. Here is the complete program: REPORT ZTEST0001. *Data Declaration tables: sflight. DATA: BEGIN OF t_report OCCURS 3, carrid LIKE sflight-carrid, connid LIKE sflight-connid, fldate LIKE sflight-fldate, seatsmax LIKE sflight-seatsmax, END OF t_report. *Selection Screen SELECT-OPTIONS s_carrid FOR sflight-carrid. SELECT-OPTIONS s_connid FOR sflight-connid. *Get Data SELECT * FROM sflight WHERE carrid IN s_carrid AND connid IN s_connid. t_report-carrid = sflight-carrid. t_report-connid = sflight-connid. t_report-fldate = sflight-fldate. t_report-seatsmax = sflight-seatsmax. APPEND t_report. ENDSELECT. IF sy-subrc NE 0. WRITE 'Data not found'. ENDIF. *Write Data LOOP AT t_report. skip. "comment:Go to next line WRITE t_report-carrid. WRITE t_report-connid. WRITE t_report-fldate. WRITE t_report-seatsmax. ENDLOOP. ############ ARTICLE INFO ############# Article Month: November Article Date: 14/11/2012 Permalink: http://heelpbook.altervista.org/2012/simple-abap-program-sap/ Source: http://abap-gallery.blogspot.it/2007/07/my-first-abap-program.html Language: English View more articles on: http://www.heelpbook.net/ Follow us on Facebook: http://it-it.facebook.com/pages/HeelpBook/100790870008832 Follow us on Twitter: https://twitter.com/#!/HeelpBook Follow us on RSS Feed: http://feeds.feedburner.com/Heelpbook Follow us on Delicious: http://delicious.com/heelpbook Linkedin: http://it.linkedin.com/pub/stefano-maggi/27/73a/b20 Google+ : https://plus.google.com/116990277568167008289/posts