abap航班管理信息系统_第1页
abap航班管理信息系统_第2页
abap航班管理信息系统_第3页
abap航班管理信息系统_第4页
abap航班管理信息系统_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ABAP课程设计航班管理信息系统 课 程 设 计 任 务 书一、 软件特色本系统为abap语言开发的航班管理信息系统,面对日益繁荣的航班运行,我们根据管理员的需求,设计了这个系统。针对航班行业,实现对航班的多方面信息查询,实现对航班信息的随时修改更新。充分从管理员自身的角度出发,完善航班信息需求,促进航班行业的发展。二、 设计原始资料1. 管理信息系统2. ERP三、人员分工(组长):系统分析;系统构思;修改模块、更新模块、alv系统分析;信息查询模块;界面设计系统分析;信息显示模块;界面设计四、主要参考资料1武俊良管理信息系统(MIS)开发与应用2王守蕊管理信息系统的分析与设计3ERP课件4

2、ABAP编程实例成 绩 评 定 表作品成绩报告成绩口试(答辩)成绩总评成绩目 录摘 要21 前言32 需求分析32.1 整体分析32作品展示42.1系统界面42.2 登陆界面42.3主界面62.3修改界面11修改前13修改后132.3 显示界面142.4 删除界面16ALV21ALV更新222.5 查询界面22进行查询243 体会254 参考文献25摘 要近些年来,我国民航事业取得了飞速的发展,与此同时计算机软件技术、数据库技术、信息技术也取得到了长足的发展与广泛的应用。技术的进步一方面提高了机场信息化的要求、另外一方面也使得企业信息化的环境日益复杂。本次的系统作业就是应对于机场信息化要求,探

3、讨了在机场复杂的信息化环境下的航班信息管理系统的方法与过程。一个机场的航班信息,就是这个机场运营的所有航班的实时信息,它们为旅客登机转机、亲友接机和各类人员工作提供了必不可少的服务。而我设计的机场航班管理系统就是用于管理机场航班信息的。一个好的航班管理系统必须能够合理的规划航班信息,为高效有序地管理组织机场的生产与服务,有效提高机场的运营效率及服务质量,提高机场的赢利与竞争水平,以保证为旅客、航空公司以及机场自身的业务管理提供一致、及时、准确、系统、完整的信息服务功能。关键字:管理信息、ABAP、航班1 前言近年来随着人们生活水平的提高,出外旅行的人越来越多,而飞机以其舒适、便捷的优点开始成为

4、越来越多旅客的选择。随着乘机人员的越来越多,一个好的机场信息管理系统变得越来越重要。我设计的航班信息管理系统,可以为高效有序地管理组织机场的生产与服务,有效提高机场的运营效率及服务质量,提高机场的赢利与竞争水平,以保证为旅客、航空公司以及机场自身的业务管理提供一致、及时、准确、系统、完整的信息服务功能。飞机航班信息管理系统主要由前台管理子系统、后台管理子系统、航班信息显示子系统、数据库维护子系统、常用报表生成子系统等五个子系统组成。开发工具:SAP系统 语言:ABAP语言2 需求分析2.1 整体分析 当前企业竞争日趋激烈,管理现代化和技术创新是改造传统产业、增强市场竞争能力的主要手段。电子信息

5、技术发展日新月异,信息技术应用和信息资源开发利用以惊人的速度向更广、更深的层次发展,事实表明,信息技术革命有力地促进了技术创新和经济发展,信息技术与管理科学的结合促成了管理信息系统(MIS,Management Information System)的产生及其技术的快速发展。信息技术已广泛应用于各行各业,而管理信息系统已成为信息化建设中的重要内容。机场服务是一个技术与资金密集、业务复杂、发展迅速、对安全和服务要求极高的行业。机场是一个国家和城市最重要的窗口,直接体现着该地区的经济发展以及现代化程度,它犹如一台庞大的机器,如何能使它正常运转和保持经济效益的递增,其管理手段和管理水平起到了至关重要

6、的作用。随着民航业务的高速发展,各机场的业务量不断扩大,各项功能服务日趋完善,信息量与日俱增,但是业务人员却陷入繁重的手工工作,信息交流不畅通,管理决策层不能及时得到生产数据等,制约了机场改进企业管理和提高经济效益。建立一套行之有效的机场生产信息管理系统是完善机场管理,使机场适应竞争、迈向现代化的重要手段。信息管理系统是信息技术与管理科学相结合的产物,它使用计算机系统完成辅助工作,能够提供信息支持企业或组织的运行、管理和决策功能,是现代企业管理的有力辅助工具。经过二十多年的发展,信息管理系统在理论上和实际应用中都得到了长足的发展。已经有很多成熟的信息管理系统在实际应用中发挥着巨大的作用。在此背

7、景下,使用信息管理系统来实现生产调度室的航班管理、信息查询及统计已经具备了应用需求上的迫切性和技术上。2作品展示2.1系统界面2.2 登陆界面管理员根据用户名和密码登陆本系统,进行信息管理。登录的代码:逻辑流:PROCESS BEFORE OUTPUT. MODULE STATUS_0100.*PROCESS AFTER INPUT.MODULE CANCEL AT EXIT-COMMAND. MODULE USER_COMMAND_0100.主程序:REPORT YC1.DATA: OK_CODE TYPE SY-UCOMM, SAVE_OK TYPE SY-UCOMM.CALL SCREE

8、N 100.MODULE CANCEL INPUT. LEAVE PROGRAM.ENDMODULE.MODULE USER_COMMAND_0100 INPUT. SAVE_OK = OK_CODE. CLEAR OK_CODE. CASE SAVE_OK. WHEN 'TI'. SUBMIT YC2 AND RETURN. WHEN 'EXIT'. LEAVE PROGRAM. ENDCASE. ENDMODULE.2.3主界面主界面上显示的模块式我们经过分析设计后决定实现的模块。逻辑流:PROCESS BEFORE OUTPUT.MODULE STATUS

9、_0101.*PROCESS AFTER INPUT.MODULE CANCEL AT EXIT-COMMAND.MODULE USER_COMMAND_0101.主程序:(中间有一段插入图片的代码没删掉)REPORT YC2.DATA: OK_CODE TYPE SY-UCOMM, SAVE_OK TYPE SY-UCOMM.*定义控制和图像对象定义DATA CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.DATA PICTURE TYPE REF TO CL_GUI_PICTURE.*初始标志字段定义DATA INIT.CALL SCREEN 1

10、01.*&-*& Module USER_COMMAND_0100 INPUT*&-* text*-*MODULE USER_COMMAND_0101 INPUT.*用户交互* SAVE_OK = OK_CODE.* CLEAR OK_CODE.*CASE SAVE_OK.* WHEN 'EXIT'.* LEAVE PROGRAM.* ENDCASE.*ENDMODULE. " USER_COMMAND_0100 INPUT*&-*& Module STATUS_0100 OUTPUT*&-* 定义状态条、包括菜单、工具

11、条按钮、系统按钮等*-*MODULE STATUS_0101 OUTPUT. SET PF-STATUS 'STATUS1'.*如果还未创建定制对象 IF INIT IS INITIAL.*图片地址字段定义 DATA URL(255). CLEAR URL.*创建对象 CREATE OBJECT CONTAINER EXPORTING CONTAINER_NAME = 'P1'. CREATE OBJECT PICTURE EXPORTING PARENT = CONTAINER EXCEPTIONS ERROR = 1. IF SY-SUBRC NE 0. E

12、NDIF.*定义通用函数取得图片地址 PERFORM LOAD_PIC_DB CHANGING URL.*显示图片 CALL METHOD PICTURE->LOAD_PICTURE_FROM_URL EXPORTING URL = URL. IF SY-SUBRC NE 0. ENDIF.*置标志位已初始 INIT = 'X'. ENDIF.ENDMODULE. " STATUS_0101 OUTPUT*&-*& Form LOAD_PIC_DB*&-* 获取图片地址通用函数*-* <-P_URL text*-*FORM LOAD

13、_PIC_DB CHANGING P_URL. DATA QUERY_TABLE LIKE W3QUERY OCCURS 1 WITH HEADER LINE. DATA HTML_TABLE LIKE W3HTML OCCURS 1. DATA RETURN_CODE LIKE W3PARAM-RET_CODE. DATA CONTENT_TYPE LIKE W3PARAM-CONT_TYPE. DATA CONTENT_LENGTH LIKE W3PARAM-CONT_LEN. DATA PIC_DATA LIKE W3MIME OCCURS 0. DATA PIC_SIZE TYPE I

14、. REFRESH QUERY_TABLE.*查询对象数据 QUERY_TABLE-NAME = '_OBJECT_ID'.*图片对象名称 QUERY_TABLE-VALUE = 'feiji.jpg'. APPEND QUERY_TABLE.*读取WWWDATA表,取得图片对象信息 CALL FUNCTION 'WWW_GET_MIME_OBJECT' TABLES QUERY_STRING = QUERY_TABLE HTML = HTML_TABLE MIME = PIC_DATA CHANGING RETURN_CODE = RETURN

15、_CODE CONTENT_TYPE = CONTENT_TYPE CONTENT_LENGTH = CONTENT_LENGTH EXCEPTIONS OBJECT_NOT_FOUND = 1 PARAMETER_NOT_FOUND = 2 OTHERS = 3. IF SY-SUBRC EQ 0. PIC_SIZE = CONTENT_LENGTH. ENDIF.*创建图片URL地址 CALL FUNCTION 'DP_CREATE_URL' EXPORTING TYPE = 'image' SUBTYPE = CNDP_SAP_TAB_UNKNOWN SI

16、ZE = PIC_SIZE* DATE =* TIME =* DESCRIPTION = LIFETIME = CNDP_LIFETIME_TRANSACTION* CACHEABLE = TABLES DATA = PIC_DATA* FIELDS =* PROPERTIES = CHANGING URL = URL EXCEPTIONS DP_INVALID_PARAMETER = 1 DP_ERROR_PUT_TABLE = 2 DP_ERROR_GENERAL = 3 OTHERS = 4 . IF SY-SUBRC <> 0.* MESSAGE ID SY-MSGID T

17、YPE SY-MSGTY NUMBER SY-MSGNO* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.ENDFORM. " LOAD_PIC_DB*CALL SCREEN 0101.*MODULE CANCEL INPUT.* LEAVE PROGRAM.*ENDMODULE.MODULE USER_COMMAND_0101 INPUT. SAVE_OK = OK_CODE. CLEAR OK_CODE. CASE SAVE_OK. WHEN 'XIU'. SUBMIT YODIFY AND RETURN. WHE

18、N 'EXIT'. SUBMIT YC1 AND RETURN. WHEN 'SHAN'. SUBMIT YCE4 AND RETURN. WHEN 'CHA'. SUBMIT YC3 AND RETURN. WHEN 'XIAN'. SUBMIT YC5 AND RETURN. ENDCASE. ENDMODULE.2.3修改界面修改界面代码:逻辑流:PROCESS BEFORE OUTPUT. MODULE STATUS_0103. LOOP WITH CONTROL TBL1. MODULE FILLTBL1. ENDLOO

19、P.*PROCESS AFTER INPUT.MODULE CANCEL AT EXIT-COMMAND. MODULE USER_COMMAND_0103. LOOP WITH CONTROL TBL1. MODULE READTBL1. ENDLOOP.主程序:REPORT YODIFY.DATA: OK_CODE TYPE SY-UCOMM, SAVE_OK TYPE SY-UCOMM.*定义内表,注意,两种写法一样*DATA SP2 LIKE SPFLI OCCURS 0 WITH HEADER LINE.DATA SP2 LIKE TABLE OF SPFLI WITH HEADER

20、 LINE.*定义单结构记录DATA SP1 TYPE SPFLI.*增加内表数据SELECT * INTO CORRESPONDING FIELDS OF TABLE SP2 FROM SPFLI.*直接调用窗口CALL SCREEN 103.*定义表控制对象CONTROLS TBL1 TYPE TABLEVIEW USING SCREEN 103.*输出数据,看内表有无改变LOOP AT SP2. WRITE: / SP2-CARRID,SP2-CONNID,SP2-COUNTRYFR,SP2-CITYFROM.ENDLOOP.MODULE STATUS_0103 OUTPUT. SET

21、PF-STATUS 'STATUS1'.ENDMODULE.MODULE USER_COMMAND_0103 INPUT. SAVE_OK = OK_CODE. CLEAR OK_CODE. CASE SAVE_OK. WHEN 'EXIT'. LEAVE TO SCREEN 0. WHEN 'FAN'. SUBMIT YC2 AND RETURN. ENDCASE.ENDMODULE.*&-*& Module FILL OUTPUT*&-* 逐行从内表填写表控制*-*MODULE FILLTBL1 OUTPUT. REA

22、D TABLE SP2 INTO SP1 INDEX TBL1-CURRENT_LINE.ENDMODULE.*&-*& Module READ INPUT*&-* 逐行从内表控制更新内表*-*MODULE READTBL1 INPUT. MODIFY SP2 FROM SP1 INDEX TBL1-CURRENT_LINE.ENDMODULE.修改前修改后在修改界面上,修改信息后,点击修改按钮,便可以将信息进行修改更新。上面有信息修改前后的对照图。2.3 显示界面信息显示界面显示航班的全部信息,方便随时进行查询。4、 显示界面代码:逻辑流:PROCESS BEFORE

23、 OUTPUT. MODULE STATUS_0106.*PROCESS AFTER INPUT.MODULE CANCEL AT EXIT-COMMAND. MODULE USER_COMMAND_0106.主程序:REPORT YC5.TABLES: SPFLI.DATA: SELA(10) TYPE C, NUM1 TYPE I.START-OF-SELECTION. SKIP.*输出 ULINE AT /(95). WRITE: / SY-VLINE,'',SY-VLINE, (15) '航线承运人',SY-VLINE, (15) '航班连接&#

24、39;,SY-VLINE, (15) '国家代码',SY-VLINE, (15) '起飞城市',SY-VLINE, (15) '起飞机场',SY-VLINE. ULINE AT /(95).*输出 SELECT * FROM SPFLI. WRITE: / SY-VLINE,SELA AS CHECKBOX,SY-VLINE,(15) SPFLI-CARRID, SY-VLINE, (15) SPFLI-CONNID,SY-VLINE,(15) SPFLI-COUNTRYTO, SY-VLINE, (15) SPFLI-CITYFROM,SY-V

25、LINE, (15) SPFLI-AIRPFROM,SY-VLINE.*隐藏关键字 HIDE: SPFLI-CARRID,SPFLI-CONNID,SPFLI-COUNTRYTO, SPFLI-CITYFROM,SPFLI-AIRPFROM. ULINE AT /(95).*隐藏选择框,使表格行不会选择 HIDE SELA. ENDSELECT.END-OF-SELECTION. NUM1 = SY-LSIND - 1.AT LINE-SELECTION.*只输出第一页 IF SY-LSIND = 1. DO NUM1 TIMES.*读取行 READ LINE SY-INDEX FIELD V

26、ALUE SELA.*如果CHECKED,输出隐含字段 IF SELA = 'X'. WRITE: / SPFLI-CARRID,SPFLI-CONNID,SPFLI-COUNTRYTO, SPFLI-CITYFROM,SPFLI-AIRPFROM. ENDIF. ENDDO.2.4 删除界面 删除使用了alv控件。删除界面代码:逻辑流:PROCESS BEFORE OUTPUT. MODULE STATUS_0105.PROCESS AFTER INPUT.MODULE CANCEL AT EXIT-COMMAND. MODULE USER_COMMAND_0105.主程序:

27、REPORT YCE4.DATA: OK_CODE TYPE SY-UCOMM, SAVE_OK TYPE SY-UCOMM.TABLES SPFLI.DATA LS_SPFLI TYPE SPFLI.DATA WA_SPFLI TYPE TABLE OF SPFLI.DATA WADEL_SPFLI TYPE TABLE OF SPFLI.SELECT * INTO TABLE WA_SPFLI FROM SPFLI.DATA: WA_CONTAINER TYPE SCRFNAME VALUE 'ALVDATA', ALV_GRID TYPE REF TO CL_GUI_AL

28、V_GRID, WA_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.DATA WA_LAYOUT TYPE LVC_S_LAYO.WA_LAYOUT-EDIT = 'X'.CLASS LCL_EVENT_RECEIVER DEFINITION DEFERRED.DATA EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER.*-* CLASS lcl_event_receiver DEFINITION*-*-*CLASS LCL_EVENT_RECEIVER DEFINITION.

29、 PUBLIC SECTION. TYPES: DEL_ROWS TYPE STANDARD TABLE OF SPFLI. DATA: DDEL_ROWS TYPE STANDARD TABLE OF SPFLI. METHODS: HANDLE_DATA_CHANGED FOR EVENT DATA_CHANGED OF CL_GUI_ALV_GRID IMPORTING ER_DATA_CHANGED. METHODS: UPDATE_DELTA_TABLES IMPORTING PR_DATA_CHANGED TYPE REF TO CL_ALV_CHANGED_DATA_PROTOC

30、OL. METHODS: GET_DELETED_ROWS EXPORTING DELETED_ROWS TYPE DEL_ROWS.ENDCLASS. "LCL_EVENT_RECEIVER DEFINITION*-* CLASS LCL_EVENT_RECEIVER IMPLEMENTATION*-*-*CLASS LCL_EVENT_RECEIVER IMPLEMENTATION. METHOD HANDLE_DATA_CHANGED. CALL METHOD UPDATE_DELTA_TABLES( ER_DATA_CHANGED ). ENDMETHOD. "HA

31、NDLE_DATA_CHANGED METHOD UPDATE_DELTA_TABLES. DATA: L_DEL_ROW TYPE LVC_S_MOCE. LOOP AT PR_DATA_CHANGED->MT_DELETED_ROWS INTO L_DEL_ROW. READ TABLE WA_SPFLI INTO LS_SPFLI INDEX L_DEL_ROW-ROW_ID. IF SY-SUBRC NE 0. MESSAGE E208(00) WITH '处理错误'. ELSE. APPEND LS_SPFLI TO DDEL_ROWS. ENDIF. ENDL

32、OOP. ENDMETHOD. "update_delta_tables METHOD GET_DELETED_ROWS. DELETED_ROWS = ME->DDEL_ROWS. ENDMETHOD. "get_deleted_rowsENDCLASS. "LCL_EVENT_RECEIVER DEFINITIONSTART-OF-SELECTION. CALL SCREEN 105. WRITE / '删除的内表记录'. WRITE / '_'. CALL METHOD EVENT_RECEIVER->GET_DE

33、LETED_ROWS IMPORTING DELETED_ROWS = WADEL_SPFLI. LOOP AT WADEL_SPFLI INTO SPFLI. WRITE: / SPFLI-CARRID,SPFLI-CONNID,SPFLI-CITYFROM. ENDLOOP. WRITE: / '更新后的内表记录:'. WRITE: / '_'. LOOP AT WA_SPFLI INTO SPFLI. WRITE : / SPFLI-CARRID,SPFLI-CONNID,SPFLI-CITYFROM. ENDLOOP.*WHEN 'SAVE

34、9;.* MODIFY SPFLI FORM TABLE WA_SPFLI.* IF SY-SUBRC NE 0.* MESSAGE I005(YMESS) WITH '更新数据错误!'.* EXIT.* ELSE.* MESSAGE I005(YMESS) WITH '更新数据OK!'.* ENDIF.* DELETE SPFLI FROM TABLE DELA_SPFLI.* IF SY-SUBRC NE 0.* MESSAGE I005(YMESS) WITH '更新数据错误!'.* ELSE.* MESSAGE I005(YMESS) W

35、ITH '更新数据OK!'.* ENDIF.END-OF-SELECTION.*&-*& Module STATUS_0100 OUTPUT*&-* text*-*MODULE STATUS_0105 OUTPUT. SET PF-STATUS 'STATUS1'. IF WA_CUSTOM_CONTAINER IS INITIAL. CREATE OBJECT WA_CUSTOM_CONTAINER EXPORTING CONTAINER_NAME = WA_CONTAINER. CREATE OBJECT ALV_GRID EXPOR

36、TING I_PARENT = WA_CUSTOM_CONTAINER. CREATE OBJECT EVENT_RECEIVER. SET HANDLER EVENT_RECEIVER->HANDLE_DATA_CHANGED FOR ALV_GRID. CALL METHOD ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY EXPORTING I_STRUCTURE_NAME = 'SPFLI' IS_LAYOUT = WA_LAYOUT CHANGING IT_OUTTAB = WA_SPFLI. ENDIF.ENDMODULE.

37、" STATUS_0100 OUTPUT*&-*& Module USER_COMMAND_0100 INPUT*&-* text*-*MODULE USER_COMMAND_0105 INPUT. SAVE_OK = OK_CODE. CLEAR OK_CODE. CASE SAVE_OK. WHEN 'EXIT'. DATA L_RET VALUE 'X'. CALL METHOD ALV_GRID->CHECK_CHANGED_DATA IMPORTING E_VALID = L_RET. LEAVE TO SCREEN 0. WHEN 'FAN'. SUBMIT YC2 AND RETURN. ENDCASE.ENDMODULE. " USER_COMMAND_0105 INPUT主程序:ALV ALV更新2.5 查询界面这是进入查询模块后的界面,根据设计,填入前两项信息,便可以查询这个航班的更多信息。查询界面代码:逻辑流:PROCESS BEFORE OUTPUT.MODULE STA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论