abap航班管理信息系统.docx
《abap航班管理信息系统.docx》由会员分享,可在线阅读,更多相关《abap航班管理信息系统.docx(30页珍藏版)》请在冰点文库上搜索。
abap航班管理信息系统
ABAP课程设计
航班管理信息系统
课程设计任务书
一、软件特色
本系统为abap语言开发的航班管理信息系统,面对日益繁荣的航班运行,我们根据管理员的需求,设计了这个系统。
针对航班行业,实现对航班的多方面信息查询,实现对航班信息的随时修改更新。
充分从管理员自身的角度出发,完善航班信息需求,促进航班行业的发展。
二、设计原始资料
1.管理信息系统
2.ERP
三、人员分工
(组长):
系统分析;系统构思;修改模块、更新模块、alv
系统分析;信息查询模块;界面设计
系统分析;信息显示模块;界面设计
四、主要参考资料
[1]武俊良.管理信息系统(MIS)开发与应用
[2]王守蕊.管理信息系统的分析与设计
[3]ERP课件
[4]ABAP编程实例
成绩评定表
作品成绩
报告成绩
口试(答辩)成绩
总评成绩
摘要
近些年来,我国民航事业取得了飞速的发展,与此同时计算机软件技术、数据库技术、信息技术也取得到了长足的发展与广泛的应用。
技术的进步一方面提高了机场信息化的要求、另外一方面也使得企业信息化的环境日益复杂。
本次的系统作业就是应对于机场信息化要求,探讨了在机场复杂的信息化环境下的航班信息管理系统的方法与过程。
一个机场的航班信息,就是这个机场运营的所有航班的实时信息,它们为旅客登机转机、亲友接机和各类人员工作提供了必不可少的服务。
而我设计的机场航班管理系统就是用于管理机场航班信息的。
一个好的航班管理系统必须能够合理的规划航班信息,为高效有序地管理组织机场的生产与服务,有效提高机场的运营效率及服务质量,提高机场的赢利与竞争水平,以保证为旅客、航空公司以及机场自身的业务管理提供一致、及时、准确、系统、完整的信息服务功能。
关键字:
管理信息、ABAP、航班
1前言
近年来随着人们生活水平的提高,出外旅行的人越来越多,而飞机以其舒适、便捷的优点开始成为越来越多旅客的选择。
随着乘机人员的越来越多,一个好的机场信息管理系统变得越来越重要。
我设计的航班信息管理系统,可以为高效有序地管理组织机场的生产与服务,有效提高机场的运营效率及服务质量,提高机场的赢利与竞争水平,以保证为旅客、航空公司以及机场自身的业务管理提供一致、及时、准确、系统、完整的信息服务功能。
飞机航班信息管理系统主要由前台管理子系统、后台管理子系统、航班信息显示子系统、、数据库维护子系统、常用报表生成子系统等五个子系统组成。
开发工具:
SAP系统
语言:
ABAP语言
2需求分析
整体分析
当前企业竞争日趋激烈,管理现代化和技术创新是改造传统产业、增强市
场竞争能力的主要手段。
电子信息技术发展日新月异,信息技术应用和信息资
源开发利用以惊人的速度向更广、更深的层次发展,事实表明,信息技术革命
有力地促进了技术创新和经济发展,信息技术与管理科学的结合促成了管理信
息系统(MIS,ManagementInformationSystem)的产生及其技术的快速发展。
信息技术已广泛应用于各行各业,而管理信息系统已成为信息化建设中的重要
内容。
机场服务是一个技术与资金密集、业务复杂、发展迅速、对安全和服务要求极高的行业。
机场是一个国家和城市最重要的窗口,直接体现着该地区的经济发展以及现代化程度,它犹如一台庞大的机器,如何能使它正常运转和保持经济效益的递增,其管理手段和管理水平起到了至关重要的作用。
随着民航业务的高速发展,各机场的业务量不断扩大,各项功能服务日趋完善,信息量与日俱增,但是业务人员却陷入繁重的手工工作,信息交流不畅通,管理决策层不能及时得到生产数据等,制约了机场改进企业管理和提高经济效益。
建立一套行之有效的机场生产信息管理系统是完善机场管理,使机场适应竞争、迈向现代化的重要手段。
信息管理系统是信息技术与管理科学相结合的产物,它使用计算机系统完
成辅助工作,能够提供信息支持企业或组织的运行、管理和决策功能,是现代
企业管理的有力辅助工具。
经过二十多年的发展,信息管理系统在理论上和实
际应用中都得到了长足的发展。
已经有很多成熟的信息管理系统在实际应用中
发挥着巨大的作用。
在此背景下,使用信息管理系统来实现生产调度室的航班管理、信息查询
及统计已经具备了应用需求上的迫切性和技术上。
2作品展示
2.1系统界面
登陆界面
管理员根据用户名和密码登陆本系统,进行信息管理。
登录的代码:
逻辑流:
PROCESSBEFOREOUTPUT.
MODULESTATUS_0100.
*
PROCESSAFTERINPUT.
MODULECANCELATEXIT-COMMAND.
MODULEUSER_COMMAND_0100.
主程序:
REPORTYC1.
DATA:
OK_CODETYPESY-UCOMM,
SAVE_OKTYPESY-UCOMM.
CALLSCREEN100.
MODULECANCELINPUT.
LEAVEPROGRAM.
ENDMODULE.
MODULEUSER_COMMAND_0100INPUT.
SAVE_OK=OK_CODE.
CLEAROK_CODE.
CASESAVE_OK.
WHEN'TI'.
SUBMITYC2ANDRETURN.
WHEN'EXIT'.
LEAVEPROGRAM.
ENDCASE.
ENDMODULE.
2.3主界面
主界面上显示的模块式我们经过分析设计后决定实现的模块。
逻辑流:
PROCESSBEFOREOUTPUT.
MODULESTATUS_0101.
*
PROCESSAFTERINPUT.
MODULECANCELATEXIT-COMMAND.
MODULEUSER_COMMAND_0101.
主程序:
(中间有一段插入图片的代码没删掉)
REPORTYC2.
DATA:
OK_CODETYPESY-UCOMM,
SAVE_OKTYPESY-UCOMM.
*定义控制和图像对象定义
DATACONTAINERTYPEREFTOCL_GUI_CUSTOM_CONTAINER.
DATAPICTURETYPEREFTOCL_GUI_PICTURE.
*初始标志字段定义
DATAINIT.
CALLSCREEN101.
*&---------------------------------------------------------------------*
*&ModuleUSER_COMMAND_0100INPUT
*&---------------------------------------------------------------------*
*text
*----------------------------------------------------------------------*
*MODULEUSER_COMMAND_0101INPUT.
*用户交互
*SAVE_OK=OK_CODE.
*CLEAROK_CODE.
*CASESAVE_OK.
*WHEN'EXIT'.
*LEAVEPROGRAM.
*ENDCASE.
*ENDMODULE."USER_COMMAND_0100INPUT
*&---------------------------------------------------------------------*
*&ModuleSTATUS_0100OUTPUT
*&---------------------------------------------------------------------*
*定义状态条、包括菜单、工具条按钮、系统按钮等
*----------------------------------------------------------------------*
MODULESTATUS_0101OUTPUT.
SETPF-STATUS'STATUS1'.
*如果还未创建定制对象
IFINITISINITIAL.
*图片地址字段定义
DATAURL(255).
CLEARURL.
*创建对象
CREATEOBJECTCONTAINER
EXPORTINGCONTAINER_NAME='P1'.
CREATEOBJECTPICTURE
EXPORTINGPARENT=CONTAINER
EXCEPTIONSERROR=1.
IFSY-SUBRCNE0.
ENDIF.
*定义通用函数取得图片地址
PERFORMLOAD_PIC_DBCHANGINGURL.
*显示图片
CALLMETHODPICTURE->LOAD_PICTURE_FROM_URL
EXPORTING
URL=URL.
IFSY-SUBRCNE0.
ENDIF.
*置标志位已初始
INIT='X'.
ENDIF.
ENDMODULE."STATUS_0101OUTPUT
*&---------------------------------------------------------------------*
*&FormLOAD_PIC_DB
*&---------------------------------------------------------------------*
*获取图片地址通用函数
*----------------------------------------------------------------------*
*<--P_URLtext
*----------------------------------------------------------------------*
FORMLOAD_PIC_DBCHANGINGP_URL.
DATAQUERY_TABLELIKEW3QUERYOCCURS1WITHHEADERLINE.
DATAHTML_TABLELIKEW3HTMLOCCURS1.
DATARETURN_CODELIKEW3PARAM-RET_CODE.
DATACONTENT_TYPELIKEW3PARAM-CONT_TYPE.
DATACONTENT_LENGTHLIKEW3PARAM-CONT_LEN.
DATAPIC_DATALIKEW3MIMEOCCURS0.
DATAPIC_SIZETYPEI.
REFRESHQUERY_TABLE.
*查询对象数据
QUERY_TABLE-NAME='_OBJECT_ID'.
*图片对象名称
QUERY_TABLE-VALUE='feiji.jpg'.
APPENDQUERY_TABLE.
*读取WWWDATA表,取得图片对象信息
CALLFUNCTION'WWW_GET_MIME_OBJECT'
TABLES
QUERY_STRING=QUERY_TABLE
HTML=HTML_TABLE
MIME=PIC_DATA
CHANGING
RETURN_CODE=RETURN_CODE
CONTENT_TYPE=CONTENT_TYPE
CONTENT_LENGTH=CONTENT_LENGTH
EXCEPTIONS
OBJECT_NOT_FOUND=1
PARAMETER_NOT_FOUND=2
OTHERS=3.
IFSY-SUBRCEQ0.
PIC_SIZE=CONTENT_LENGTH.
ENDIF.
*创建图片URL地址
CALLFUNCTION'DP_CREATE_URL'
EXPORTING
TYPE='image'
SUBTYPE=CNDP_SAP_TAB_UNKNOWN
SIZE=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
.
IFSY-SUBRC<>0.
*MESSAGEIDSY-MSGIDTYPESY-MSGTYNUMBERSY-MSGNO
*WITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.
ENDIF.
ENDFORM."LOAD_PIC_DB
*CALLSCREEN0101.
*MODULECANCELINPUT.
*LEAVEPROGRAM.
*ENDMODULE.
MODULEUSER_COMMAND_0101INPUT.
SAVE_OK=OK_CODE.
CLEAROK_CODE.
CASESAVE_OK.
WHEN'XIU'.
SUBMITYODIFYANDRETURN.
WHEN'EXIT'.
SUBMITYC1ANDRETURN.
WHEN'SHAN'.
SUBMITYCE4ANDRETURN.
WHEN'CHA'.
SUBMITYC3ANDRETURN.
WHEN'XIAN'.
SUBMITYC5ANDRETURN.
ENDCASE.
ENDMODULE.
2.3修改界面
修改界面代码:
逻辑流:
PROCESSBEFOREOUTPUT.
MODULESTATUS_0103.
LOOPWITHCONTROLTBL1.
MODULEFILLTBL1.
ENDLOOP.
*
PROCESSAFTERINPUT.
MODULECANCELATEXIT-COMMAND.
MODULEUSER_COMMAND_0103.
LOOPWITHCONTROLTBL1.
MODULEREADTBL1.
ENDLOOP.
主程序:
REPORTYODIFY.
DATA:
OK_CODETYPESY-UCOMM,
SAVE_OKTYPESY-UCOMM.
*定义内表,注意,两种写法一样
*DATASP2LIKESPFLIOCCURS0WITHHEADERLINE.
DATASP2LIKETABLEOFSPFLIWITHHEADERLINE.
*定义单结构记录
DATASP1TYPESPFLI.
*增加内表数据
SELECT*INTOCORRESPONDINGFIELDSOFTABLESP2FROMSPFLI.
*直接调用窗口
CALLSCREEN103.
*定义表控制对象
CONTROLSTBL1TYPETABLEVIEWUSINGSCREEN103.
*输出数据,看内表有无改变
LOOPATSP2.
WRITE:
/SP2-CARRID,SP2-CONNID,SP2-COUNTRYFR,SP2-CITYFROM.
ENDLOOP.
MODULESTATUS_0103OUTPUT.
SETPF-STATUS'STATUS1'.
ENDMODULE.
MODULEUSER_COMMAND_0103INPUT.
SAVE_OK=OK_CODE.
CLEAROK_CODE.
CASESAVE_OK.
WHEN'EXIT'.
LEAVETOSCREEN0.
WHEN'FAN'.
SUBMITYC2ANDRETURN.
ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*&ModuleFILLOUTPUT
*&---------------------------------------------------------------------*
*逐行从内表填写表控制
*----------------------------------------------------------------------*
MODULEFILLTBL1OUTPUT.
READTABLESP2INTOSP1INDEXTBL1-CURRENT_LINE.
ENDMODULE.
*&---------------------------------------------------------------------*
*&ModuleREADINPUT
*&---------------------------------------------------------------------*
*逐行从内表控制更新内表
*----------------------------------------------------------------------*
MODULEREADTBL1INPUT.
MODIFYSP2FROMSP1INDEXTBL1-CURRENT_LINE.
ENDMODULE.
修改前
修改后
在修改界面上,修改信息后,点击修改按钮,便可以将信息进行修改更新。
上面有信息修改前后的对照图。
显示界面
信息显示界面显示航班的全部信息,方便随时进行查询。
4、显示界面代码:
逻辑流:
PROCESSBEFOREOUTPUT.
MODULESTATUS_0106.
*
PROCESSAFTERINPUT.
MODULECANCELATEXIT-COMMAND.
MODULEUSER_COMMAND_0106.
主程序:
REPORTYC5.
TABLES:
SPFLI.
DATA:
SELA(10)TYPEC,
NUM1TYPEI.
START-OF-SELECTION.
SKIP.
*输出
ULINEAT/(95).
WRITE:
/SY-VLINE,'',SY-VLINE,(15)'航线承运人',SY-VLINE,
(15)'航班连接',SY-VLINE,(15)'国家代码',SY-VLINE,
(15)'起飞城市',SY-VLINE,(15)'起飞机场',SY-VLINE.
ULINEAT/(95).
*输出
SELECT*FROMSPFLI.
WRITE:
/SY-VLINE,SELAASCHECKBOX,SY-VLINE,(15)SPFLI-CARRID,
SY-VLINE,(15)SPFLI-CONNID,SY-VLINE,(15)SPFLI-COUNTRYTO,
SY-VLINE,(15)SPFLI-CITYFROM,SY-VLINE,
(15)SPFLI-AIRPFROM,SY-VLINE.
*隐藏关键字
HIDE:
SPFLI-CARRID,SPFLI-CONNID,SPFLI-COUNTRYTO,
SPFLI-CITYFROM,SPFLI-AIRPFROM.
ULINEAT/(95).
*隐藏选择框,使表格行不会选择
HIDESELA.
ENDSELECT.
END-OF-SELECTION.
NUM1=SY-LSIND-1.
ATLINE-SELECTION.
*只输出第一页
IFSY-LSIND=1.
DONUM1TIMES.
*读取行
READLINESY-INDEXFIELDVALUESELA.
*如果CHECKED,输出隐含字段
IFSELA='X'.
WRITE:
/SPFLI-CARRID,SPFLI-CONNID,SPFLI-COUNTRYTO,
SPFLI-CITYFROM,SPFLI-AIRPFROM.
ENDIF.
ENDDO.
删除界面
删除使用了alv控件。
删除界面代码:
逻辑流:
PROCESSBEFOREOUTPUT.
MODULESTATUS_0105.
PROCESSAFTERINPUT.
MODULECANCELATEXIT-COMMAND.
MODULEUSER_COMMAND_0105.
主程序:
REPORTYCE4.
DATA:
OK_CODETYPESY-UCOMM,
SAVE_OKTYPESY-UCOMM.
TABLESSPFLI.
DATALS_SPFLITYPESPFLI.
DATAWA_SPFLITYPETABLEOFSPFLI.
DATAWADEL_SPFLITYPETABLEOFSPFLI.
SELECT*INTOTABLEWA_SPFLIFROMSPFLI.
DATA:
WA_CONTAINERTYPESCRFNAMEVALUE'ALVDATA',
ALV_GRIDTYPEREFTOCL_GUI_ALV_GRID,
WA_CUSTOM_CONTAINERTYPEREFTOCL_GUI_CUSTOM_CONTAINER.
DATAWA_LAYOUTTYPELVC_S_LAYO.
WA_LAYOUT-EDIT='X'.
CLASSLCL_EVENT_RECEIVERDEFINITIONDEFERRED.
DATAEVENT_RECEIVERTYPEREFTOLCL_EVENT_RECEIVER.
*---------------------------------------------------------------------*
*CLASSlcl_event_receiverDEFINITION
*---------------------------------------------------------------------*
*
*-------------------------------