Your SlideShare is downloading. ×
Pseudo code of the report program.
Get Country from User.
Select Required records from table: SCUSTOM into internal table:...
Loop of internal table itabscustom for Business Customer.
Count For number of Business customer.
Select records from Sbook...
Print Class
If itab_sbook class ‘F’
Class name = 'FRST'
Else if class ‘C’.
Class name = 'BSNS'
Else if class ‘Y’
Class nam...
Hard Code of the Program:
*&---------------------------------------------------*
*&
*&------------------------------------...
END OF ITABSCUSTOM.
*-----------------------------------------------------*
* Internal Table of Sbook and Stravelag Tables...
WHEN 'DE'.
COUNTRY_NAME = 'Germany'.
WHEN 'GB'.
COUNTRY_NAME = 'Great Britain'.
WHEN 'US'.
COUNTRY_NAME = 'USA'.
WHEN 'CA'...
COUNTRY_NAME,110 'Page :', SY-PAGNO,
175 SY-VLINE NO-GAP.
ULINE AT /1(175).
WRITE: / SY-VLINE NO-GAP,'Run Date',
20 SY-DAT...
* Print the Report Lines.
*-----------------------------------------------------*
WRITE: / SY-VLINE NO-GAP,ITABSCUSTOM-ID,...
WRITE: /1 SY-VLINE NO-GAP,175 SY-VLINE NO-GAP.
*-----------------------------------------------------*
* Loop Of Internal ...
FORMAT COLOR 6.
WRITE: /1 SY-VLINE NO-GAP,
5 'No Private Customers Records from',
COUNTRY_NAME,175 SY-VLINE NO-GAP.
FORMAT...
45 'Flight Date',67 'Booking ID',
85 'Carrier ID',105 'Flight Number',
127 'Ticket Class',175 SY-VLINE NO-GAP.
ULINE AT /1...
SORT ITAB_SBOOK BY AGENT_NAME ASCENDING. "Sort Name in Ascending
"Order.
*------------------------------------------------...
* If No Record Found For the Select Customer
* It will Return the Message.
*----------------------------------------------...
Example:
The example of the output report of this program is given below.
Report Program output:
Output of the Customers (...
Sap abap report program
Upcoming SlideShare
Loading in...5
×

Sap abap report program

3,488

Published on

This Program generates the Reports of the Business and Private Customers after entering the country code by the user; it also generates the report of the bookings of the Particular Customer.

Published in: Education, Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,488
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
144
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Sap abap report program"

  1. 1. Pseudo code of the report program. Get Country from User. Select Required records from table: SCUSTOM into internal table: ITABSCUSTOM Where country = country code. Case Country. When 'DE'. Country Name = 'Germany'. When 'GB'. Country Name = 'Great Britain'. When 'US'. Country Name = 'USA'. When 'CA'. Country Name = 'Canada'. When 'FR'. Country Name = 'France'. When 'AU'. Country Name = 'Australia'. When 'NZ'. Country Name = 'New Zealand'. When Others. Print: Error Message. End Case. Print country, page and number. Print system information – date, time, and user.
  2. 2. Loop of internal table itabscustom for Business Customer. Count For number of Business customer. Select records from Sbook where Customer id of internal table and table are same. Print records from internal table for business customer. End Loop. IF no records for business customer Print message Loop of internal table itabscustom for Business Customer. Count For number of Private customer. Select records from Sbook where Customer id of internal table and table are same. Print records from internal table for Private customers. End Loop. if no records for Private customer. Print message Print total number of business customers. Print total number of private customers. Print hidden id and name of customer selected Select Required records from table: SBOOK into internal table: itab_sbook Where id = hidden id Loop of internal table itab_sbook. Select Agent Name from table: Stravelag to internal table: itab_sbook where Agency number is same. Modify the internal table for the Record. End Loop. Sort internal table: itab_sbook by name in ascending order Print Required records from internal table: itab_sbook.
  3. 3. Print Class If itab_sbook class ‘F’ Class name = 'FRST' Else if class ‘C’. Class name = 'BSNS' Else if class ‘Y’ Class name= 'ECON' End if. IF No Bookings for the customer Print message Print: Total Bookings for the Customer
  4. 4. Hard Code of the Program: *&---------------------------------------------------* *& *&---------------------------------------------------* *& Customer Booking Report *& *&---------------------------------------------------* REPORT YA4004A2. *----------------------------------------------------* * Tables. * *----------------------------------------------------* TABLES: SCUSTOM, " Customer Detail Table. SBOOK, " Booking Detail Table. STRAVELAG. " Travel Agency Detail Table. *-----------------------------------------------------* * Variables. * *-----------------------------------------------------* DATA: BOOKING TYPE I, " Number Of Bookings. CUSTOMER_NO_B(3) TYPE P, " Total No of Business Customers. CUSTOMER_NO_P(3) TYPE P, " Total No of Private Customers. CUSTOMER_BOOK_NO TYPE I, " Total Customers Booking Numbers. COUNTRY_NAME TYPE STRING, " Country Name. AGENT_NAME TYPE STRING, " Agent Name. AGENCY_NUMBER TYPE I, " Agency Number. CLASS_NAME TYPE STRING. " Class Name For Ticket Class. *-----------------------------------------------------* * Internal Table of Scustom Table. *-----------------------------------------------------* DATA: BEGIN OF ITABSCUSTOM OCCURS 0, ID LIKE SCUSTOM-ID, NAME LIKE SCUSTOM-NAME, POSTBOX LIKE SCUSTOM-POSTBOX, POSTCODE LIKE SCUSTOM-POSTCODE, CITY LIKE SCUSTOM-CITY, DISCOUNT LIKE SCUSTOM-DISCOUNT, CUSTTYPE LIKE SCUSTOM-CUSTTYPE,
  5. 5. END OF ITABSCUSTOM. *-----------------------------------------------------* * Internal Table of Sbook and Stravelag Tables. *-----------------------------------------------------* DATA: BEGIN OF ITAB_SBOOK OCCURS 0, FLIGHT_DATE LIKE SBOOK-FLDATE, BOOK_ID LIKE SBOOK-BOOKID, CARR_ID LIKE SBOOK-CARRID, CONN_ID LIKE SBOOK-CONNID, CLASS LIKE SBOOK-CLASS, AGENCY_NUMBER LIKE STRAVELAG-AGENCYNUM, AGENT_NAME LIKE STRAVELAG-NAME, END OF ITAB_SBOOK. *-----------------------------------------------------* * User Will Input Company Code Manually. *-----------------------------------------------------* PARAMETERS: Country LIKE SCUSTOM-COUNTRY. *-----------------------------------------------------* * Fatch the Required Data From Scustom Table to * ItabScustom Internal Table. *-----------------------------------------------------* *-----------------------------------------------------* SELECT ID NAME POSTBOX POSTCODE CITY DISCOUNT CUSTTYPE FROM SCUSTOM INTO TABLE ITABSCUSTOM WHERE COUNTRY = Country. *-----------------------------------------------------* *-----------------------------------------------------* * Using Case, Country Names Deternined From * Country Code and If the Country Code is Other Than * Given Seven Contries, Display Appropriate Message. *-----------------------------------------------------* CASE Country.
  6. 6. WHEN 'DE'. COUNTRY_NAME = 'Germany'. WHEN 'GB'. COUNTRY_NAME = 'Great Britain'. WHEN 'US'. COUNTRY_NAME = 'USA'. WHEN 'CA'. COUNTRY_NAME = 'Canada'. WHEN 'FR'. COUNTRY_NAME = 'France'. WHEN 'AU'. COUNTRY_NAME = 'Australia'. WHEN 'NZ'. COUNTRY_NAME = 'New Zealand'. WHEN OTHERS. SKIP 1. ULINE AT /1(175). WRITE: /1 SY-VLINE NO-GAP,'No' AS ICON, 'You cannot Search other than 7 countries.' color 6, 175 SY-VLINE NO-GAP. ULINE AT /1(175). EXIT. ENDCASE. *-----------------------------------------------------* * Print the Report Heading With System Variables. *-----------------------------------------------------* TOP-OF-PAGE. ULINE AT /1(175). FORMAT COLOR COL_HEADING. WRITE: / SY-VLINE NO-GAP,25 'Customer Booking Report for',
  7. 7. COUNTRY_NAME,110 'Page :', SY-PAGNO, 175 SY-VLINE NO-GAP. ULINE AT /1(175). WRITE: / SY-VLINE NO-GAP,'Run Date', 20 SY-DATUM,55 'At :',60 SY-UZEIT, 90 'By :',SY-UNAME,175 SY-VLINE NO-GAP. ULINE AT /1(175). WRITE: / SY-VLINE NO-GAP,'Customer ID',25 'Name', 55 'Post Box',69 'Post Code',90 'City', 119 'Discount',133 'Number of Bookings', 175 SY-VLINE NO-GAP. FORMAT RESET. ULINE AT /1(175). *-----------------------------------------------------* * Start of Selection starts from Here and Also * Prints Some Messages With System Variables. *-----------------------------------------------------* START-OF-SELECTION. WRITE: /175 SY-VLINE NO-GAP. WRITE: 1 SY-VLINE NO-GAP,'Bussiness Customers' COLOR 7, 175 SY-VLINE NO-GAP. WRITE: /1 SY-VLINE NO-GAP,175 SY-VLINE NO-GAP. *-----------------------------------------------------* * Loop Of Internal Table Itabscustom with * Business Customers. *-----------------------------------------------------* LOOP AT ITABSCUSTOM WHERE CUSTTYPE = 'B'. CUSTOMER_NO_B = CUSTOMER_NO_B + 1. " Counter For Total Number Of " Customers with Type Business. SELECT * FROM SBOOK " Check the Common ID's WHERE CUSTOMID = ITABSCUSTOM-ID. " Between the Itabscustom ENDSELECT. " and Table Sbook and Select Data. BOOKING = SY-DBCNT. *-----------------------------------------------------*
  8. 8. * Print the Report Lines. *-----------------------------------------------------* WRITE: / SY-VLINE NO-GAP,ITABSCUSTOM-ID, 25 ITABSCUSTOM-NAME,55 ITABSCUSTOM-POSTBOX, 70 ITABSCUSTOM-POSTCODE,90 ITABSCUSTOM-CITY, 120 ITABSCUSTOM-DISCOUNT,'%',130 BOOKING, 175 SY-VLINE NO-GAP. *-----------------------------------------------------* * Hidden fields Require For the Secondry List's * Common fields. *-----------------------------------------------------* HIDE:ITABSCUSTOM-ID, ITABSCUSTOM-NAME. " Hidden fields Customer-ID " and Customer-Name. ENDLOOP. SORT ITABSCUSTOM BY ID ASCENDING. " Sort By Customer ID " in Ascending Order. *-----------------------------------------------------* * IF the Record not found with Bussines Customer, * it will return Message. *-----------------------------------------------------* IF SY-SUBRC <> 0. WRITE: /1 SY-VLINE NO-GAP,175 SY-VLINE NO-GAP. FORMAT COLOR 6. WRITE: /1 SY-VLINE NO-GAP, 5 'No Business Customers Records from', COUNTRY_NAME,175 SY-VLINE NO-GAP. FORMAT RESET. WRITE: /1 SY-VLINE NO-GAP,175 SY-VLINE NO-GAP. ENDIF. WRITE: /1 SY-VLINE NO-GAP,175 SY-VLINE NO-GAP. WRITE: /1 SY-VLINE NO-GAP,175 SY-VLINE NO-GAP. WRITE: 1 SY-VLINE NO-GAP, 'Private Customers' COLOR 7,175 SY-VLINE NO-GAP.
  9. 9. WRITE: /1 SY-VLINE NO-GAP,175 SY-VLINE NO-GAP. *-----------------------------------------------------* * Loop Of Internal Table Itabscustom with * Private Customers. *-----------------------------------------------------* LOOP AT ITABSCUSTOM WHERE CUSTTYPE = 'P'. CUSTOMER_NO_P = CUSTOMER_NO_P + 1. " Counter For Total Number Of " Customers with Type Private. SELECT * FROM SBOOK " Check the Common ID's WHERE CUSTOMID = ITABSCUSTOM-ID. " Between the Itabscustom ENDSELECT. "and Table Sbook and Select Data. BOOKING = SY-DBCNT. *-----------------------------------------------------* * Print the Report Lines. *-----------------------------------------------------* WRITE: /1 SY-VLINE NO-GAP,ITABSCUSTOM-ID, 25 ITABSCUSTOM-NAME,55 ITABSCUSTOM-POSTBOX, 70 ITABSCUSTOM-POSTCODE,90 ITABSCUSTOM-CITY, 120 ITABSCUSTOM-DISCOUNT,'%',130 BOOKING, 175 SY-VLINE NO-GAP. *-----------------------------------------------------* * Hidden fields Require For the * Secondry List's Common fields. *-----------------------------------------------------* HIDE:ITABSCUSTOM-ID, ITABSCUSTOM-NAME. " Hidden fields Customer-ID " and Customer-Name. ENDLOOP. SORT ITABSCUSTOM BY ID ASCENDING. " Sort By Customer ID " in Ascending Order. *-----------------------------------------------------* * IF the Record not found with Private Customer, * it will return Message. *-----------------------------------------------------* IF SY-SUBRC <> 0. WRITE: /1 SY-VLINE NO-GAP,175 SY-VLINE NO-GAP.
  10. 10. FORMAT COLOR 6. WRITE: /1 SY-VLINE NO-GAP, 5 'No Private Customers Records from', COUNTRY_NAME,175 SY-VLINE NO-GAP. FORMAT RESET. WRITE: /1 SY-VLINE NO-GAP,175 SY-VLINE NO-GAP. ENDIF. ULINE AT /1(175). *-----------------------------------------------------* * Prints Total Number Of Business Customers. *-----------------------------------------------------* FORMAT COLOR 3. WRITE: /1 SY-VLINE NO-GAP, 'Total Business Customers:', 27 CUSTOMER_NO_B,175 SY-VLINE NO-GAP. *-----------------------------------------------------* * Prints Total Number Of Private Customers. *-----------------------------------------------------* WRITE: /1 SY-VLINE NO-GAP,'Total Private Customers:', 27 CUSTOMER_NO_P,175 SY-VLINE NO-GAP. FORMAT RESET. ULINE AT /1(175). *-----------------------------------------------------* * Prints Message At the Top Of the Page * with Some System Varibles. *-----------------------------------------------------* TOP-OF-PAGE DURING LINE-SELECTION. FORMAT COLOR COL_HEADING. ULINE AT /1(175). WRITE: /1 SY-VLINE NO-GAP,25 'Customer Flight Booking.', 110 'Page :', SY-PAGNO,175 SY-VLINE NO-GAP. ULINE AT /1(175). WRITE: /1 SY-VLINE NO-GAP,25 'Flight Booking for Customer', ITABSCUSTOM-ID,':',ITABSCUSTOM-NAME,175 SY-VLINE NO-GAP. ULINE AT /1(175). WRITE: /1 SY-VLINE NO-GAP,'Travel Agent',
  11. 11. 45 'Flight Date',67 'Booking ID', 85 'Carrier ID',105 'Flight Number', 127 'Ticket Class',175 SY-VLINE NO-GAP. ULINE AT /1(175). FORMAT RESET. *-----------------------------------------------------* * At Line Selection Part for the Drill Down * from First List to Secondry List. *-----------------------------------------------------* AT LINE-SELECTION. " For Drill Down To Secondry List. CHECK NOT ITABSCUSTOM-ID IS INITIAL. "Check the Initial Value Of the "ID. *-----------------------------------------------------* * Fatch the Required Data From Sbook Table * to ITAB_SBOOK Internal Table whose Customer ID's are Same. *-----------------------------------------------------* *-----------------------------------------------------* SELECT FLDATE BOOKID CARRID CONNID CLASS AGENCYNUM FROM SBOOK INTO TABLE ITAB_SBOOK WHERE CUSTOMID = ITABSCUSTOM-ID. *-----------------------------------------------------* *-----------------------------------------------------* * Loop Of Internal Table ITAB_SBOOK. *-----------------------------------------------------* LOOP AT ITAB_SBOOK. CUSTOMER_BOOK_NO = SY-TABIX. " Gives the Total Number Of the " Customer's Bookings. SELECT SINGLE * FROM STRAVELAG WHERE AGENCYNUM = ITAB_SBOOK-AGENCY_NUMBER. ITAB_SBOOK-AGENT_NAME = STRAVELAG-NAME. MODIFY ITAB_SBOOK INDEX SY-TABIX. ENDLOOP.
  12. 12. SORT ITAB_SBOOK BY AGENT_NAME ASCENDING. "Sort Name in Ascending "Order. *-----------------------------------------------------* * Loop Of Internal Table ITAB_SBOOK * for Print the Records. *-----------------------------------------------------* LOOP AT ITAB_SBOOK. *-----------------------------------------------------* * Print the Report Lines. *-----------------------------------------------------* WRITE: /1 SY-VLINE NO-GAP,ITAB_SBOOK-AGENT_NAME, 40 SY-VLINE NO-GAP,45 ITAB_SBOOK-FLIGHT_DATE, 60 SY-VLINE NO-GAP,67 ITAB_SBOOK-BOOK_ID, 80 SY-VLINE NO-GAP,88 ITAB_SBOOK-CARR_ID, 100 SY-VLINE NO-GAP,110 ITAB_SBOOK-CONN_ID. *-----------------------------------------------------* * Using If Condition it Will Determine the class name * from Characters and Print it. *-----------------------------------------------------* IF ( ITAB_SBOOK-CLASS = 'F' ). CLASS_NAME = 'FRCT'. WRITE: 120 SY-VLINE NO-GAP,130 CLASS_NAME. ELSEIF ( ITAB_SBOOK-CLASS = 'C' ). CLASS_NAME = 'BSNS'. WRITE: 120 SY-VLINE NO-GAP,130 CLASS_NAME. ELSEIF ( ITAB_SBOOK-CLASS = 'Y' ). CLASS_NAME = 'ECON'. WRITE: 120 SY-VLINE NO-GAP,130 CLASS_NAME. ENDIF. WRITE: 175 SY-VLINE NO-GAP. ENDLOOP. *-----------------------------------------------------*
  13. 13. * If No Record Found For the Select Customer * It will Return the Message. *-----------------------------------------------------* IF SY-SUBRC <> 0. FORMAT COLOR 6. WRITE: /1 SY-VLINE NO-GAP,'No Record found of', ITABSCUSTOM-NAME,175 SY-VLINE NO-GAP. ULINE AT /1(175). EXIT. ENDIF. ULINE AT /1(175). *-----------------------------------------------------* * Prints the Total Number Of Customer Bookings. *-----------------------------------------------------* FORMAT COLOR 3. WRITE: /1 SY-VLINE NO-GAP, 'Total Bookings for the Customer :', CUSTOMER_BOOK_NO,175 SY-VLINE NO-GAP. ULINE AT /1(175). FORMAT RESET. CLEAR ITABSCUSTOM. " Clear the Itabscustom table " before end of selection. *-----------------------------------------------------* * End Of the Selection. *-----------------------------------------------------* END-OF-SELECTION. CLEAR ITABSCUSTOM. " Clear the Itabscustom table " After end of selection. *-----------------------------------------------------* * End OF The Report Program. *-----------------------------------------------------*
  14. 14. Example: The example of the output report of this program is given below. Report Program output: Output of the Customers (B and P). Output of the Customer’s Bookings.

×