abap final project

23
7/21/2019 ABAP Final Project http://slidepdf.com/reader/full/abap-final-project 1/23  Info 346 APAP Programming Final project Samuel Matthews 200803747 April 21, 2013

Upload: kiran

Post on 05-Mar-2016

14 views

Category:

Documents


4 download

DESCRIPTION

efdgdgddgdg

TRANSCRIPT

Page 1: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 1/23

 

Info 346 APAP Programming

Final project

Samuel Matthews

200803747

April 21, 2013

Page 2: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 2/23

Internal Tables

Page 3: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 3/23

 

Page 4: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 4/23

 

Page 5: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 5/23

 

*&---------------------------------------------------------------------*  

*& Report Z27FINAL_PROJECT_PROG1 

*& 

*&---------------------------------------------------------------------*  

*&Author: Samuel Matthews *&Date: April 21st 2013 

*&Description: This program will show the parts table and its information.

*&---------------------------------------------------------------------*  

REPORT Z27FINAL_PROJECT_PROG1 line-size 110 line-count 20(2).

TYPES: begin of part_data, 

PART_ID like Z27PART-PART_ID, 

PART_DESC like Z27PART-PART_DESC, 

REORD_PNT like Z27PART-REORD_PNT, 

REORD_QUANT like Z27PART-REORD_QUANT, 

LOC_ID like Z27PART-LOC_ID, 

LOC_WARE like Z27WSLOC-LOC_WARE, 

LOC_AISLE like Z27WSLOC-LOC_AISLE, 

LOC_SHELF like Z27WSLOC-LOC_SHELF, 

LOC_BIN like Z27WSLOC-LOC_BIN, 

end of part_data. 

DATA: itab_part_data type standard table of part_data, 

wa_part_data type part_data. 

DATA data_part_counter(3) type p. 

constants con_head(137) type c value 'ID Description

Re-Point Re-Quantity Location'. 

constants con_ware(10) type c value 'Warehouse:'. 

constants con_aisle(6) type c value 'Aisle:'. 

constants con_shelf(6) type c value 'Shelf:'. 

constants con_bin(4) type c value 'Bin:'. 

constants con_subscreen_title(13) type c value 'Part location'. 

constants con_drill_error(30) type c value 'Cannot drill-down any further'. 

constants con_total_part(15) type c value 'Total Part Type'. 

start-of-selection. 

perform get_data. 

perform write_data. 

top-of-page. 

perform write_header. 

Page 6: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 6/23

 

end-of-page. 

perform write_footer. 

end-of-selection. 

perform write_summary. 

at line-selection. 

perform line_details. 

form get_data. 

select Z27PART~part_id Z27PART~part_desc Z27PART~reord_pnt Z27PART~reord_qu

ant Z27PART~loc_id

Z27WSLOC~LOC_WARE Z27WSLOC~LOC_AISLE Z27WSLOC~LOC_SHELF Z27WSLOC~LOC

_BIN

into table itab_part_data

from Z27WSLOC join Z27PART

on Z27WSLOC~LOC_ID = Z27PART~LOC_ID. 

endform. 

form write_header. 

write 2 con_head. 

uline (107).

endform. 

form write_data. 

loop at itab_part_data into wa_part_data. 

add 1 to data_part_counter. 

format color 3. write: / '|', wa_part_data-PART_ID, 

10 '|', wa_part_data-PART_DESC, 

40 '|', wa_part_data-REORD_PNT, 

70 '|', wa_part_data-REORD_QUANT, 

100 '|', wa_part_data-LOC_ID, 

107 '|'. 

format color off. 

hide: wa_part_data-LOC_WARE, wa_part_data-LOC_AISLE, wa_part_data-

LOC_SHELF, wa_part_data-LOC_BIN. 

endloop. 

endform. 

form write_footer. 

uline. 

endform. 

form write_summary. 

Page 7: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 7/23

  uline . 

skip 1. 

write: con_total_part, data_part_counter. 

endform. 

form line_details. 

if sy-lsind = 1. 

uline 90(35).

write: /, 90 con_subscreen_title. 

skip 1. 

uline 90(35).

write: /, 90 con_ware, wa_part_data-LOC_ware, 

/, 90 con_aisle, wa_part_data-LOC_AISLE, 

/, 90 con_shelf, wa_part_data-LOC_SHELF, 

/, 90 con_bin, wa_part_data-LOC_BIN. 

skip 1. 

uline 90(35).

endif. 

if sy-lsind = 2. 

MESSAGE e000(/bev1/emc) WITH con_drill_error. 

endif. 

ENDFORM.

Page 8: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 8/23

 

Page 9: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 9/23

*&---------------------------------------------------------------------*  

*& Report Z27FINAL_PROJECT_PROG2 

*& 

*&---------------------------------------------------------------------*  

*&Author: Samuel Matthews 

*&Date: April 21st 2013 

*&Description: This program will display the quality of the suppliers. 

*&---------------------------------------------------------------------*  

REPORT Z27FINAL_PROJECT_PROG2. 

TYPES: begin of SUPPLY_DATA, 

PART_ID like Z27PART-PART_ID, 

PART_DESC like Z27PART-PART_DESC, 

COST like Z27PTQUAL-Cost, 

DEL_QUAL like Z27PTQUAL-DEL_QUAL, 

SPEC_QUAL like Z27PTQUAL-SPEC_QUAL, 

DEFECT_RATE like Z27PTQUAL-DEFECT_RATE, 

SUPL_NAM like Z27SUPDTL-SUPL_NAM, 

SUPL_ID like Z27PTQUAL-SUPL_ID, 

EMAIL like Z27SUPDTL-EMAIL, 

end of SUPPLY_DATA. 

DATA: itab_SUPPLY_DATA type standard table of SUPPLY_DATA, 

wa_SUPPLY_DATA type SUPPLY_DATA. 

DATA SORT_PART(1) TYPE C. 

DATA SORT_SUPL(1) TYPE C. 

DATA SORT_COST(1) TYPE C. 

DATA data_part_counter(3) type p. 

DATA TOTAL_BAD_PARTS_COUNTER(3) TYPE P. 

DATA MI_BAD_PARTS(3) type p. 

DATA IO_BAD_PARTS(3) type p. 

DATA TT_BAD_PARTS(3) type p. 

DATA BP_BAD_PARTS(3) type p. 

DATA MI_COUNTER(3) type p. 

DATA IO_COUNTER(3) type p. 

DATA TT_COUNTER(3) type p. 

DATA BP_COUNTER(3) type p. 

DATA MI_DEL(3) type p. 

DATA MI_SPEC(3) type p. 

DATA MI_DFEC(3) type p. 

DATA IO_DEL(3) type p. 

DATA IO_SPEC(3) type p. 

Page 10: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 10/23

DATA IO_DFEC(3) type p. 

DATA TT_DEL(3) type p. 

DATA TT_SPEC(3) type p. 

DATA TT_DFEC(3) type p. 

DATA BP_DEL(3) type p. 

DATA BP_SPEC(3) type p. 

DATA BP_DFEC(3) type p. 

DATA AVG_DEL_MI(3) type p decimals 2. 

DATA AVG_SPEC_MI(3) type p decimals 2. 

DATA AVG_DFEC_MI(3) type p decimals 2. 

DATA AVG_DEL_IO(3) type p decimals 2. 

DATA AVG_SPEC_IO(3) type p decimals 2. 

DATA AVG_DFEC_IO(3) type p decimals 2. 

DATA AVG_DEL_TT(3) type p decimals 2. 

DATA AVG_SPEC_TT(3) type p decimals 2. 

DATA AVG_DFEC_TT(3) type p decimals 2. 

DATA AVG_DEL_BP(3) type p decimals 2. 

DATA AVG_SPEC_BP(3) type p decimals 2. 

DATA AVG_DFEC_BP(3) type p decimals 2. 

constants con_head(79) type c value 'Part Desc Cost Del S

pc Def Supplier Email'. constants con_total_part(15) type c value 'Total Part Type'. 

constants CON_SUM_INFO(19) type c value 'Summary Information'. 

constants con_MI(5) type c value '00001'. 

constants con_IO(5) type c value '00002'. 

constants con_TT(5) type c value '00003'. 

constants con_BP(5) type c value '00004'. 

constants con_sup1(12) type c value 'Montiors Inc'. 

constants con_sup2(14) type c value 'I/O Device Inc'. 

constants con_sup3(10) type c value 'Top Towers'. 

constants con_sup4(9) type c value 'Big Parts'. 

constants con_bad_parts(12) type c value 'Bad Parts =>'. 

constants con_del_avg(19) type c value 'Delivery average =>'. 

constants con_spec_avg(15) type c value 'Spec Average =>'. 

constants con_def_avg(17) type c value 'Defect Average =>'. 

constants con_DTL(3) type c value 'DTL'. 

constants con_SUM(3) type c value 'SUM'. 

Page 11: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 11/23

constants con_FULL(4) type c value 'FULL'. 

CALL SCREEN 127. 

CASE SY-UCOMM. 

WHEN CON_DTL. 

PERFORM SORTER. 

PERFORM WRITE_HEADER. 

PERFORM WRITE_DATA_DTL. 

WHEN CON_SUM. 

PERFORM SORTER. 

PERFORM GET_DATA_SUM. 

PERFORM CALC_AVERAGE. 

PERFORM WRITE_SUMMARY. 

WHEN CON_FULL. 

PERFORM SORTER. 

PERFORM WRITE_HEADER. 

PERFORM WRITE_DATA_DTL. 

PERFORM GET_DATA_SUM. 

PERFORM CALC_AVERAGE. 

PERFORM WRITE_SUMMARY. 

ENDCASE. 

form write_header. 

write 2 con_head. 

SKIP 1. 

ULINE. 

endform. 

FORM SORTER. 

CASE 'X'. 

WHEN SORT_PART. 

PERFORM GET_DATA_PART. 

WHEN SORT_SUPL. 

PERFORM GET_DATA_SUPL. 

WHEN SORT_COST. PERFORM GET_DATA_COST. 

ENDCASE. 

ENDFORM. 

form get_data_part. 

select Z27PART~part_id Z27PART~part_desc Z27PTQUAL~Cost Z27PTQUAL~DEL_QUAL

Z27PTQUAL~SPEC_QUAL

Page 12: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 12/23

  Z27PTQUAL~DEFECT_RATE Z27SUPDTL~SUPL_NAM Z27SUPDTL~EMAIL Z27PTQUAL~SUPL_I

D

into corresponding fields of table itab_SUPPLY_DATA

from Z27PTQUAL join Z27SUPDTL on Z27PTQUAL~SUPL_ID = Z27SUPDTL~SUPL_

ID

join Z27PART ON Z27PART~PART_ID = Z27PTQUAL~PART_ID

ORDER BY Z27PTQUAL~part_id ASCENDING. 

endform. 

form get_data_supl. 

select Z27PART~part_id Z27PART~part_desc Z27PTQUAL~Cost Z27PTQUAL~DEL_QUAL

Z27PTQUAL~SPEC_QUAL

Z27PTQUAL~DEFECT_RATE Z27SUPDTL~SUPL_NAM Z27SUPDTL~EMAIL Z27PTQUAL~SUPL_I

D

into corresponding fields of table itab_SUPPLY_DATA

from Z27PTQUAL join Z27SUPDTL on Z27PTQUAL~SUPL_ID = Z27SUPDTL~SUPL_

ID

join Z27PART ON Z27PART~PART_ID = Z27PTQUAL~PART_ID

ORDER BY supl_nam ASCENDING. 

endform. 

form get_data_cost. 

select Z27PART~part_id Z27PART~part_desc Z27PTQUAL~Cost Z27PTQUAL~DEL_QUAL

Z27PTQUAL~SPEC_QUAL

Z27PTQUAL~DEFECT_RATE Z27SUPDTL~SUPL_NAM Z27SUPDTL~EMAIL Z27PTQUAL~SUPL_I

D

into corresponding fields of table itab_SUPPLY_DATA

from Z27PTQUAL join Z27SUPDTL on Z27PTQUAL~SUPL_ID = Z27SUPDTL~SUPL_

ID

join Z27PART ON Z27PART~PART_ID = Z27PTQUAL~PART_ID

ORDER BY cost ASCENDING. 

endform. 

FORM WRITE_DATA_DTL. 

ULINE. LOOP AT ITAB_SUPPLY_DATA INTO WA_SUPPLY_DATA. 

IF WA_SUPPLY_DATA-DEL_QUAL < 5 OR WA_SUPPLY_DATA-SPEC_QUAL < 5 OR 

WA_SUPPLY_DATA-DEFECT_RATE < 5. 

FORMAT COLOR 6. 

WRITE: / WA_SUPPLY_DATA-PART_ID, WA_SUPPLY_DATA-

PART_DESC, WA_SUPPLY_DATA-COST, 

Page 13: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 13/23

  WA_SUPPLY_DATA-DEL_QUAL, WA_SUPPLY_DATA-SPEC_QUAL, WA_SUPPLY_DATA-

DEFECT_RATE, 

WA_SUPPLY_DATA-SUPL_NAM, WA_SUPPLY_DATA-EMAIL. 

FORMAT COLOR OFF. 

ELSE. 

WRITE: / WA_SUPPLY_DATA-PART_ID, WA_SUPPLY_DATA-

PART_DESC, WA_SUPPLY_DATA-COST, 

WA_SUPPLY_DATA-DEL_QUAL, WA_SUPPLY_DATA-SPEC_QUAL, WA_SUPPLY_DATA-

DEFECT_RATE, 

WA_SUPPLY_DATA-SUPL_NAM, WA_SUPPLY_DATA-EMAIL. 

ENDIF. 

ENDLOOP. 

ULINE. 

ENDFORM. 

form GET_DATA_SUM. 

loop at itab_SUPPLY_DATA into wa_SUPPLY_DATA. 

CASE wa_SUPPLY_DATA-SUPL_ID. 

WHEN con_MI. 

IF wa_SUPPLY_DATA-del_qual < 5 or wa_SUPPLY_DATA-spec_qual < 5 or 

wa_SUPPLY_DATA-defect_rate < 5. 

Add 1 to MI_Bad_Parts. 

endif. 

ADD 1 to MI_counter. 

MI_DEL = MI_DEL + wa_SUPPLY_DATA-del_qual. 

MI_SPEC = MI_SPEC + wa_SUPPLY_DATA-SPEC_qual. 

MI_DFEC = MI_DFEC + wa_SUPPLY_DATA-DEFECT_RATE. 

WHEN con_IO. IF wa_SUPPLY_DATA-del_qual < 5 or wa_SUPPLY_DATA-spec_qual < 5 or 

wa_SUPPLY_DATA-defect_rate < 5. 

Add 1 to IO_Bad_Parts. 

endif. 

ADD 1 to IO_counter. 

IO_DEL = IO_DEL + wa_SUPPLY_DATA-del_qual. 

IO_SPEC = IO_SPEC + wa_SUPPLY_DATA-SPEC_qual. 

IO_DFEC = IO_DFEC + wa_SUPPLY_DATA-DEFECT_RATE. 

WHEN con_TT. 

IF wa_SUPPLY_DATA-del_qual < 5 or wa_SUPPLY_DATA-spec_qual < 5 or 

wa_SUPPLY_DATA-defect_rate < 5. Add 1 to TT_Bad_Parts. 

endif. 

ADD 1 to TT_counter. 

TT_DEL = TT_DEL + wa_SUPPLY_DATA-del_qual. 

TT_SPEC = TT_SPEC + wa_SUPPLY_DATA-SPEC_qual. 

TT_DFEC = TT_DFEC + wa_SUPPLY_DATA-DEFECT_RATE. 

Page 14: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 14/23

  WHEN con_BP. 

IF wa_SUPPLY_DATA-del_qual < 5 or wa_SUPPLY_DATA-spec_qual < 5 or 

wa_SUPPLY_DATA-defect_rate < 5. 

Add 1 to BP_Bad_Parts. 

endif. 

ADD 1 to BP_counter. 

BP_DEL = BP_DEL + wa_SUPPLY_DATA-del_qual. 

BP_SPEC = BP_SPEC + wa_SUPPLY_DATA-SPEC_qual. 

BP_DFEC = BP_DFEC + wa_SUPPLY_DATA-DEFECT_RATE. 

ENDCASE. 

endloop. 

endform. 

form CALC_AVERAGE. 

AVG_DEL_MI = MI_DEL / MI_COUNTER. 

AVG_SPEC_MI = MI_SPEC / MI_COUNTER. 

AVG_DFEC_MI = MI_DFEC / MI_COUNTER. 

AVG_DEL_IO = IO_DEL / IO_COUNTER. 

AVG_SPEC_IO = IO_SPEC / IO_COUNTER. 

AVG_DFEC_IO = IO_DFEC / IO_COUNTER. 

AVG_DEL_TT = TT_DEL / TT_COUNTER. 

AVG_SPEC_TT = TT_SPEC / TT_COUNTER. 

AVG_DFEC_TT = TT_DFEC / TT_COUNTER. 

AVG_DEL_BP = BP_DEL / BP_COUNTER. 

AVG_SPEC_BP = BP_SPEC / BP_COUNTER. 

AVG_DFEC_BP = BP_DFEC / BP_COUNTER. 

TOTAL_BAD_PARTS_COUNTER = MI_BAD_PARTS + IO_BAD_PARTS + TT_BAD_PARTS + BP_

BAD_PARTS. 

ENDFORM. 

form write_summary. 

skip 1. 

uline . 

write con_sum_info. 

FORMAT COLOR 1. 

skip 1. 

write con_sup1. 

Page 15: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 15/23

  skip 1. 

write: con_bad_parts, MI_BAD_PARTS, con_del_avg, AVG_DEL_MI, con_spec_avg,

avg_spec_mi, con_def_avg, avg_dfec_mi. 

FORMAT COLOR OFF. 

FORMAT COLOR 3. 

skip 1. 

write con_sup2. 

skip 1. 

write: con_bad_parts, IO_BAD_PARTS, con_del_avg, AVG_DEL_IO, con_spec_avg,

avg_spec_IO, con_def_avg, avg_dfec_IO. 

FORMAT COLOR OFF. 

FORMAT COLOR 1. 

skip 1. 

write con_sup3. 

skip 1. 

write: con_bad_parts, TT_BAD_PARTS, con_del_avg, AVG_DEL_TT, con_spec_avg,

avg_spec_TT, con_def_avg, avg_dfec_TT. 

FORMAT COLOR OFF. 

FORMAT COLOR 3. 

skip 1. 

write con_sup4. 

skip 1. 

write: con_bad_parts, BP_BAD_PARTS, con_del_avg, AVG_DEL_BP, con_spec_avg,

avg_spec_BP, con_def_avg, avg_dfec_BP. 

FORMAT COLOR OFF. 

ULINE. 

endform. 

Page 16: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 16/23

 

Page 17: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 17/23

*&---------------------------------------------------------------------*  

*& Report Z27FINAL_PROJECT_PROG3 

*& 

*&---------------------------------------------------------------------*  

*&Author: Samuel Matthews 

*&Date: April 21st 2013 

*&Description: This program will show defective suppliers and their  

*& contact information. 

*&---------------------------------------------------------------------*  

REPORT Z27FINAL_PROJECT_PROG3. 

TYPES: BEGIN OF supply_data, 

supl_id like z27ptqual-supl_id, 

part_id like z27ptqual-part_id, 

cost like z27ptqual-cost, 

del_qual like z27ptqual-del_qual, 

spec_qual like z27ptqual-spec_qual, 

defect_rate like z27ptqual-defect_rate, 

supl_nam like z27supdtl-supl_nam, 

con_fnam like z27supdtl-con_fnam, 

con_lnam like z27supdtl-con_lnam, 

email like z27supdtl-email, 

city like z27supdtl-city, 

state like z27supdtl-state, 

country like z27supdtl-country, 

code like z27supdtl-code, 

END OF supply_data. 

DATA: itab_supply_data TYPE STANDARD TABLE OF supply_data, wa_supply_data TYPE supply_data. 

CONSTANTS con_head(58) TYPE C VALUE 'SupplierID PartID Cost

DEL SPEC DEFECT'. 

CONSTANTS con_message(40) TYPE C VALUE 'Data successfully sent to exte

rnal file.'. 

CONSTANTS con_error_message(289) TYPE C VALUE 'cannot drill-

down any futher.'. 

constants con_supplier_info(33) TYPE C Value ' Supplier Information'. 

CONSTANTS con_supl_name(19) TYPE C VALUE 'Supplier Name: '. 

CONSTANTS con_con_fname(19) TYPE C VALUE 'Contact First Name:'. 

CONSTANTS con_con_lname(19) TYPE C VALUE 'Contact Last Name: '. 

CONSTANTS con_email(19) TYPE C VALUE 'Email: '. 

CONSTANTS con_city(19) TYPE C VALUE 'City: '. 

CONSTANTS con_state(19) TYPE C VALUE 'State: '. 

Page 18: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 18/23

CONSTANTS con_country(19) TYPE C VALUE 'Country: '. 

CONSTANTS con_code(19) TYPE C VALUE 'Code: '. 

CONSTANTS con_def(3) TYPE C VALUE 'DEF'. 

CONSTANTS con_and(3) TYPE C VALUE 'AND'. 

START-OF-SELECTION. 

CALL SCREEN 200. 

PERFORM get_data. 

IF sy-ucomm = con_def OR sy-ucomm = con_and. 

WRITE con_head. 

PERFORM write_data. 

ENDIF. 

IF sy-ucomm = con_and. 

PERFORM write_to_external_file. 

ENDIF. 

AT LINE-SELECTION. 

PERFORM supplier_details. 

FORM get_data. 

SELECT z27ptqual~supl_id z27ptqual~part_id z27ptqual~cost z27ptqual~del_qua

l z27ptqual~spec_qual z27ptqual~defect_rate

z27supdtl~supl_nam z27supdtl~con_fnam z27supdtl~con_lnam z27supdtl~e

mail z27supdtl~city z27supdtl~state z27supdtl~country z27supdtl~code INTO TABLE itab_supply_data

FROM z27supdtl JOIN z27ptqual

ON z27ptqual~supl_id = z27supdtl~supl_id. 

ENDFORM. 

FORM write_data. 

LOOP AT itab_supply_data INTO wa_supply_data. 

IF wa_supply_data-del_qual < 5 OR wa_supply_data-

spec_qual < 5 OR wa_supply_data-defect_rate < 5. 

FORMAT COLOR 6. 

WRITE: / '|', wa_supply_data-supl_id, 

10 '|', wa_supply_data-part_id, 20 '|', wa_supply_data-cost, 

30 '|', wa_supply_data-del_qual, 

40 '|', wa_supply_data-spec_qual, 

50 '|', wa_supply_data-defect_rate, 

60 '|'. 

FORMAT COLOR OFF. 

Page 19: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 19/23

  ELSE. 

WRITE: / '|', wa_supply_data-supl_id, 

10 '|', wa_supply_data-part_id, 

20 '|', wa_supply_data-cost, 

30 '|', wa_supply_data-del_qual, 

40 '|', wa_supply_data-spec_qual, 

50 '|', wa_supply_data-defect_rate, 

60 '|'. 

ENDIF. 

HIDE: wa_supply_data-supl_nam, wa_supply_data-con_fnam, wa_supply_data-

con_lnam, wa_supply_data-email, wa_supply_data-city, wa_supply_data-

state, wa_supply_data-country, wa_supply_data-code. 

ENDLOOP. 

ENDFORM. 

FORM write_to_external_file. 

CONSTANTS supplier_file(12) TYPE c VALUE 'supplier.dat'. 

OPEN DATASET supplier_file FOR OUTPUT IN BINARY MODE. 

LOOP AT itab_supply_data INTO wa_supply_data. 

TRANSFER wa_supply_data TO supplier_file. 

MESSAGE s000(/ain/actvt_helper) WITH con_message. 

ENDLOOP. 

CLOSE DATASET supplier_file. 

ENDFORM. 

FORM supplier_details. IF sy-lsind = 1. 

ULINE (50).

skip 1. 

write con_supplier_info. 

skip 1. 

uline (50).

WRITE: /, con_supl_name, wa_supply_data-supl_nam, 

/, con_con_fname, wa_supply_data-con_fnam, 

/, con_con_lname, wa_supply_data-con_lnam, 

/, con_email, wa_supply_data-email, 

/, con_city, wa_supply_data-city, /, con_state, wa_supply_data-state, 

/, con_country, wa_supply_data-country, 

/, con_code, wa_supply_data-code. 

SKIP 1. 

ULINE (50).

ENDIF. 

IF sy-lsind = 2. 

Page 20: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 20/23

  MESSAGE e000(/ain/actvt_helper) WITH con_error_message. 

ENDIF. 

ENDFORM.

Page 21: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 21/23

 

Page 22: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 22/23

 

Page 23: ABAP Final Project

7/21/2019 ABAP Final Project

http://slidepdf.com/reader/full/abap-final-project 23/23

 

Program Summary

My program has two push buttons. One is to Display the defect report and the other is to

display the defects and send the data to an external file. When you push the display defect

report button. This table will display the supplier ID, part ID, cost, delivery quality, specification

quality, and defects. It will also display all of the parts and highlight the ones in red that have

defects below the level of five. The rest will remain un-highlighted similar to how program 2

operates.

This report is useful for the reason that you are able to see the quality of what your

suppliers are selling to you. The second level of this output screen when you drill down is all of

the suppliers contact information. This is also useful so that once you have singled out the

suppliers that are not providing products of acceptable quality you will be able to look up the

contact person, their name, email and address of the company. If you try to drill down any

further you will be greeted an error message telling you that you cannot do so.

If you push on the second button labeled display defects and send file you will be greeted

with a system message telling you that the data has been successfully sent to the external file.

After pressing this button you still have the drill-down capability and the safe guard against

drilling down too far. This program is very useful in the area of quality assurance. As you can

see from my coding this program also uses many ABAP concepts such as custom input screen,

Open SQL, External files, Forms, and Events.