2022年2022年库存管理信息系统的分析、设计和实施 .pdf
库存管理信息系统的分析、设计和实施说明: 在学习过程中, 可以现有的硬件和软件环境进行系统再开发实现,学习重点放在在系统分析、系统设计实际过程、方法及内容。这里给出一个库存管理信息系统开发的实例,目的是使大家进一步深入了解开发任何一个管理信息系统必须经历的主要过程,以及在开发过程的各个阶段上开发者应当完成的各项工作内容和应当提交的书面成果。一、 某厂产品库存管理系统简介某厂是我国东北地区一家生产照明灯的老企业,每年工业产值在四千万元左右。该厂目前生产的产品如表l 所示。表 1 某厂产品品种规格、单价及定额储备产品名称单位规格不变价( 元) 现行价( 元) 最高储备额最低储备额备注灯泡只220V15W 0.80 1.00 60000 600 灯泡只220V45W 1.00 1.20 60000 600 灯泡只220V60W 1.20 1.40 60000 600 灯泡只220V100W 1.50 1.80 40000 500 灯泡只220V150W 1.80 2.00 40000 400 灯泡只220V200W 2.00 2.20 30000 300 灯泡只220V300W 2.80 3.00 20000 200 节能灯只220V4W 6.00 8.00 10000 1000 节能灯只220V8W 8.00 10.00 10000 1000 节能灯只220V16W 12.00 15.00 10000 1000 日光灯只220V8W 6.00 7.00 10000 1000 日光灯只220V20W 7.00 8.00 10000 1000 日光灯只220V30W 8.00 9.00 10000 1000 日光灯只220V40W 10.00 11.00 10000 1000 工厂的产品仓库管理组隶属于销售科领导,由七名职工组成, 主要负责产品的出入库管理、库存帐务管理和统计报表,并且应当随时向上级部门和领导提供库存查询信息。为了防止超储造成产品库存积压,同时也为了避免产品库存数量不足而影响市场需求,库存管理组还应该经常提供库存报警数据(与储备定额相比较的超储数量或不足数量)。产品入库管理的过程是,各生产车间随时将制造出来的产品连同填写好的入库单(入库小票)一起送至仓库。仓库人员首先进行检验,一是抽检产品的质量是否合格,二是核对产品的实物数量和规格等是否与入库单上的数据相符,当然还要校核入库单上的产品代码。检验合格的产品立即进行产品入库处理,同时登记产品入库流水帐。检验不合格的产品要及时退回车间。产品出库管理的过程是,仓库保管员根据销售科开出的有效产品出库单(出库小票)及时付货,并判明是零售出库还是成批销售出库,以便及时登记相应的产品出库流水帐。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 26 页 - - - - - - - - - 平均看来,仓库每天要核收三十笔入库处理,而各种出库处理约五十笔。每天出入库处理结束后, 记帐员就根据入库流水帐和出库流水帐按产品及规格分别进行累计,以便将本日内发生的累计数填入库存台帐。产品入库单如表2 所示,出库单如表3 所示,入库流水帐如表4 所示,出库流水帐如表 5 和表 6 所示,而库存台帐帐页如表7 所示。产品库存的收发存月报表是根据库存台帐制作出来的。产品库存查询是通过翻阅几本帐之后实现的。目前库存报警功能尚未实现。表 2 产品入库单第册号日期产品代码产品名称单位规格入库数量备注生产车间填制人表 3 产品出库单第册号日期产品名称规格入库数量备注批发 零售 填制人注:批发出库时在备注栏的批发 处划“ ” ,否则在零售 处划“ ”表 4 产品入库流水帐页日期产品代码产品名称单位规格入库数量备注表 5 产品零售出库流水帐页日期产品代码产品名称单位规格零售出库数量备注表 6 产品批发出库流水帐页日期产品代码产品名称单位规格批发出库数量备注表 7 某厂产品库存台帐(当日合计数)No. 产品代码:规格:不变价(元) :产品名称:单位:现行价(元) :日期入库数量零售出库量批发出库量结余名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 26 页 - - - - - - - - - 二、系统分析根据收集到的各种系统输入单、帐页和输出报表等凭证,又通过亲身实践以及向有关业务管理人员的访问调查,系统分析结果如下:l 组织机构该厂产品库存管理的组织机构如图l 所示。图 l 组织机构设置图 2 管理职能分析库长全面负责仓库的行政与业务管理;出入库管理组负责产品的入库检验、产品的出入库管理、登记出入库帐;统计分析组每天根据出入库管理组的出入库帐,统计出各种规格产品当日出入库累计数字, 然后登库存台帐。此外,负责生成产品收发存月报表,经库长签字后呈上级主管部门。有时还要尽量满足各方面的各种查询要求。图 2 管理职能3业务流程分析现行产品库存管理系统的业务流程图如图3 所示。经营副厂长销售科仓库出入库管理组统计分析组库存管理出入库管理统计报表入库管理出库管理月报报警查询名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 26 页 - - - - - - - - - 图 3 业务流程图4数据流程分析1)现行系统的顶层数据流程图如图4 所示。对顶层图中的数据流“l,2,3,4”说明如下:图 4 顶层 DFD “1” :车间产品入库单。“2” :销售科开出的有效零售产品出库单。“3” :销售科开出的有效批发产品出库单。“4” :仓库制作的产品库存收发存月报表。车 间入库单检验合格入库单入库记账入库帐合格入库单销售科零售出库单批发出库单付货记账付货记账零售出库帐批发出库帐库存台帐统计报表月报表记库存台帐1 库存管理2 3 4 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 26 页 - - - - - - - - - 2)第一层数据流程图如图5 所示。图 5 中的数据流“ 1, 2,3,4”与图 4 中的数据流“ 1,2,3,4”相同。图 5 第一层 DFD 3)第二层数据流程图如图6 所示。图 6 第二层 DFD 现对图 6 中的数据流说明如下:“l,2,3,4”:其意义与图4 中的相同。“5”:产品入库单上的数据。“6”:零售出库单上的数据。“7”:批发出库单上的数据。“8”:入库流水帐上的当日按产品名称、规格分别累计的数据。“9”:零售出库流水帐上的当日按产品名称、规格分别累计的数据。“10”:批发出库流水帐上的当日按产品名称、规格分别累计的数据。“11”:获得的“ 8,9, 10”数据。“12”:库存台帐上的当月按产品名称、规格分别累计的数据和其它加工处理后的数据。1 F15 8 6 9 D1入库帐D3批发出库帐7 10 D2零售出库帐P1登记入库帐P2登记零售出账P4登记库存台帐P5制作收发存月报表P3登批发出库帐D4库存台帐F2F311 12 4 库存帐1 出入库管理2 3 出入库管理名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 26 页 - - - - - - - - - 5数据字典(1)数据流字典 数据流名称:产品入库单标识符: F1 数据结构:01 产品入库单02 日期( RQ)PIC X(8)02 产品代码( CPDM )PIC X (3)02 产品名称( CPMC)PIC X (18)02 单位代码( DWDM )PIC X 02 单位( DW )PIC X (4)02 规格代码( GGDM )PIC XX 02 规格( GG)PIC X( 10)02 入库数量( RKSL)PIC 9( 6)排列方式:按(入库日期+产品代码)升序排列流量:最大50 张日平均 30 张日来源:生产车间去向:产品入库处理 数据流名称:产品出库单标识符: F2 数据结构:01 产品出库单02 日期( RQ)PIC X (8)02 产品代码( CPDM )PIC X (3)02 产品名称( CPMC)PIC X (18)02 单位代码( DWDM )PIC X. 02 单位( DW )PIC X (4)02 规格代码( GGDM )PIC XX 02 规格( GG)PIC X(10)02 备注03 零售出库数量(LSSL)PIC 9(6)03 批发出库数量(PFSL)PIC 9( 6)排列方式:按(日期十产品代码)升序排列流量:最大:70 张日平均: 50 张日来源:销售科去向:产品出库处理名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 26 页 - - - - - - - - - 数据流名称:仓库产品收发存月报表标标识符: F3 数据结构:01 收发存月报表02 日期( BBRQ )PIC X (8)02 产品代码( CPDM )PIC X (3)02 产品名称( CPMC)PIC X (18)02 单位( DW )P1CX(4)02 本月累计入库数量(RKSL )PIC 9(8)02 本月累计零售数量(LSSL)PIC 9(8)02 本月累计批发数量(PFSL)PIC 9(8)02 库存数量( KCSL)PIC 9(8)排列方式:按日期排列流量:最大:1份月平均: 1份月来源:仓库统计分析去向:主管部门其它中间过程的数据流描述省略。(2)数据存储字典 存储文件名:产品入库流水帐标识符: D1 数据结构:01 本品入库帐02 日期( RQ)PIC X (8)02 产品代码( CPDM )PIC X (3)02 产品名称( CPMC)PIC X (18)02 单位( DW )PIC X (4)02 规格( GG)PIC X (10)02 入库数量( RKSL)PIC 9(6)流入的数据流:产品入库单(F1)流出的数据流;涉及的处理名:入库处理、记库存台帐排列方式:按入库日期计序 存储文件名:库存台帐标识符: D4 数据结构:01 库存台帐02 日期( KCRQ )PIC X (8)02 产品代码( CPDM )PIC X (3)02 产品名称( CPMC)PIC X (18)02 本日累计入库量(RKSL )PIC 9(8)02 本日累计零售出库量(LSSL)PIC 9(8)02 本日累计批发出库量(PFSL)PIC 9( 8)流入的数据流:11 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 26 页 - - - - - - - - - 流出的数据流:收发存月报表涉及的处理名:登记库存台帐、制月报表排列方式:按(日期+产品代码)升序排列其它存储文件的描述省略。6处理描述 处理名:登记入库帐标识符: P1 输入:数据流F1 输出:数据流F5 处理定义:当一张入库单上的数据检验合格,并且产品实物入库后,立即将这张入库单上的数据登入产品入库流水帐。激发条件:产品入库发生 处理名:登记库存台帐标识符: P4 输入:出入库流水帐上的当日数据输出:登记入库存台帐上的数据处理定义:对出入库流水帐上当日发生的数据,按产品代码分别进行入库累计、零售出库累计和批发出库累计计算。然后将当天的日期、产品代码和累计结果等填入库存台帐的相应栏内。激发条件:每日过帐处理 处理名:制作收发存月报表标识符: P5 输入:取自库存台帐的数据输出:填入输出报表中的统计数据处理定义:对库存台帐本月发生的出入库数据,分别按产品代码进行累计,一种代码代表的产品累计值即为输出报表中的一行。计算公式:工业产值(不变价)=Si*Ji工业产值(现行价)= Si*Ji1其中: Si产品代码为i 的产品本月入库量计量Ji产品代码为i 的产品不变价Ji1产品代码为i 的产品现行价激发条件:每月制作库存报表系统中的另外几个加工处理描述省略。7现行系统评价通过对现行系统的需求分析,本系统数据流向是合理的,但为了便于计算机化管理,也为了使系统能够提供更多的辅助决策信息,本系统应做如下改进设想:1)将各种帐本暂合为一本库存帐考虑。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 26 页 - - - - - - - - - 2)增加库存报警功能。3)增强各种灵活的查询分析功能。 8 新系统逻辑模型的提出根据前面的分析与评价结果,提出的新系统逻辑模型如图7 和图 8 所示。图 7 系统逻辑模型I 图 8 系统逻辑模型II 9系统边界和处理方式入库单出库单月报表报警表响应结果入库处理产 品 出 入库单录入库存台帐统计分析查询收发存月报报警数据查询条件显示结果查询条件出库处理收发存月报库存报警查询库存台帐名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 26 页 - - - - - - - - - (l )系统边界输入边界产品出入库单、查询条件。输出边界各种报表和查询响应输出。(2)处理方式新系统采用实时处理方式。三系统设计 1系统目标设计1)方便的数据输入性能,良好的人机界面,尽量避免汉字和长字符串的人工重复输入(采用代码词组) 。2)灵活地查询性能,能快速实现多项产品输入数据和库存数据的查询。3)考虑到工厂生产的发展,对新产品数据也能给予处理。4)把目前基本上是 “静态” 库存管理变为 “动态” 管理, 能随时提供库存现状信息(包括库存报警信息) 。 2新系统功能结构图综合考虑改进后的系统逻辑模型(见图7)和设计的新系统目标的要求。设计新系统功能结构如图9 所示。图 9 系统功能结构图3. 新系统计算机信息系统流程设计计算机化的信息系统流程如图10 所示。图 10 中的处理框内标出了相应的程序名,其功能说明见程序模块设计说明书。入库数据录入出库数据录入库存数据查询出入库数据查询每笔入库查询每笔出库查询报表数据计算打印收发存表打印报警信息增加产品品种修改产品目录退至FOX 退至DOS 数据录入数据查询报表输出产品目录维护结束退出每日数据查询每月数据查询累计数据查询库存管理出入库单A Cp11.prg cpsjsr 新 产 品产品修名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 26 页 - - - - - - - - - 图 10 新系统信息处理系统流程图4代码设计(1)产品规格代码设计由于该厂在未来的几年内生产的产品品种不会超过十种,并且每种产品的规格也不会超过十种,因此,产品规格代码采用层次码,并用两位整数表示,设计方案如图11 所示,全部规格编码列于表8 中。图 11 代码设计方案表 8 规格代码规格顺序号品种顺序号名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 26 页 - - - - - - - - - 规格代码规格01 220V 15W 02 220V 45W 03 220V 60W 04 220V 100W 05 220V 150W 06 220V 200W 07 220V 300W 11 220V 4W 12 220V 8W 13 220V 16W 21 220V 8W 22 220V 20W 23 220V 30W 24 220V 40W (2)产品代码设计产品代码用三位整数表示,设计方案如图12 所示。表 9 列出了全部产品的代码。图 11 代码设计方案表 9 产品代码表产品代码产品名称规格代码规格012 灯泡01 220V15W 024 灯泡02 220V45W 036 灯泡03 220V60W 048 灯泡04 220V 100W 050 灯泡05 220V 150W 061 灯泡06 220V 200W 073 灯泡07 220V 300W 115 节能灯11 220V4W 127 节能灯12 220V8W 139 节能灯13 220V16W 218 日光灯21 220V8W 220 日光灯22 220V20W 231 日光灯23 220V30W 243 日光灯24 220V40W 产品代码中的校验位a3值的确定方法如下:校验位规格码名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 26 页 - - - - - - - - - a3=取(3a12a2)/11的余数例如:a1a2a32 4 3 X)3 2 6 8=14 则 a3( 14/11)的余数 =3 当余数为 10 时,则按 a3=0 处理。5系统物理配置方案设计本系统采用单机单用户操作方式,基本配置如下;机型:软驱:硬盘:内存:显示器:打印机:软件:机器安装在仓库办公室。6输出设计本系统的报表输出格式设计成表10表 12 的形式(表中的数据为试运行结果数据)表 10 产品名称单位规格上月结存本月入库本月出库本月结存不变价金额(元)214700.00 64400.00 150300.00 现行价金额(元)250400.00 75160.00 175240.00 数量合计44500 19300 25200 灯泡只220V15w 2000 1000 1000 灯泡只220V45w 1500 1000 500 灯泡只220V60w 3000 3000 灯泡只220V200w 12000 11800 200 节能灯只220V4w 3000 2500 500 节能灯只220V8w 3000 3000 日光灯只220V8w 2000 2000 日光灯只220V20w 14000 14000 日光灯只220V30w 4000 3000 1000 表 11 超储产品产品代码产品名称库存量最高储备超储量220 日光灯14000 10000 4000 表 12 不足产品名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 26 页 - - - - - - - - - 产品代码产品名称库存量最低储备不足储备024 灯泡500 600 100 048 灯泡0 400 400 050 灯泡0 400 400 061 灯泡200 300 100 073 灯泡500 1000 500 115 节能灯500 1000 500 139 节能灯0 1000 1000 24 日光灯0 1000 1000 7存储文件(数据库)结构设计由于本系统的应用程序全部用Foxpro2.5 编写,因此,存储文件的结构设计就是指.DBF文件的结构设计。(1)设计规范库文件名称和库字段变量名称规范分别如表13 和表 14 所示。表 13 库文件名称序号文件名称标识符备注1 产品目录库文件CPDM.DBF 2 产品单位及规格代码表CPDZB. DBF 事先建好3 出入库数据输入暂存文件CPSJSR.DBF 4 各种产品每日库存累计文件CPKC.DBF 5 各种产品每日每笔人享文件CPRK.DBF 6 各种产品每日每笔出库文件CPXS.DBF 7 各种产品每日入出存累计文件CPRDATA.DBF 8 报表计算辅助文件CPBBJS.DBF 9 备品报表文件CPBB.DBF 10 库存报表数据文件KCJC.DBF 表 14 库文件字段变量名规范序号字述名义标识符备注1 产品不变价格BBJ 2 日期BBRQ 3 产品代码CPDM 4 产品名称CPMC 5 代码为 ijk 的产品库存量CPIJK i=0,1,2,3,4,5,6,7,8,9 j=0,1,2,3,4,5,6,7,8,9 k=0,1,2,3,4,5,6,7,8,9 6 产品单位代码DWDM 7 产品组位DW 8 产品规格代码GGDM 9 产品规格GG 10 产品库存超储或不足JC 取值“超储”或“不足”11 产品库存数量KCSL 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 26 页 - - - - - - - - - 12 日期KCRQ 13 累计入库量LJRK 14 累计总出库量LJXS 15 产品零售数量LSSL 16 产品批发出库数量PFSL 17 产品入库数量RKSL 18 日期RQ 19 产品现行价格XXJ 20 产品最大储备量ZGCB 21 产品最小储备量ZDCB (2)各个库文件结构设计本系统中建立的10 个数据库( .DBF)文件结构如表1524 所示。表 15 产品单位及规格代码库(CPDZB.DBF )结构序号字段名称字段类型长度备注1 DWDM Character 1 2 DW Character 4 3 GCDM Character 2 4 GG Character 10 表 16 产品目录库( CPDM.DBF )结构序号字段名称字段类型长度备注1 CPDM Character 3 2 CPMC Character 18 3 DWDM Character 1 4 DW Character 4 5 GGDM Character 2 6 GG Character 10 7 BBJ Numeric 7 8 XXJ Numeric 7 9 ZGCB Numeric 7 10 ZDCB Numeric 4 表 17 产品出入库数据暂存文件(CPSJSR.DBF)结构序号字段名称字段类型长度备注1 RQ Date 8 2 CPDM Character 3 3 RKSL Numeric 6 4 LSSL Numeric 6 5 PFSL Numeric 6 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 26 页 - - - - - - - - - 表 18 各种产品每日入库累计文件(CPRK.DBF )结构序号字段名称字段类型长度备注1 RQ Date 8 2 CPDM Character 3 3 RKSL Numeric 6 表 19 各种产品每日销售出库累计文件(CPXS.DBF)结构序号字段名称字段类型长度备注1 RQ Date 8 2 CPDM Character 3 3 LSSL Numeric 6 4 PFSL Numeric 6 表 20 各种产品每日库存量累计文件(CPKC.DBF )序号字段名称字段类型长度备注1 KCRQ Date 8 2 CP012 Numeric 8 3 CP024 Numeric 8 4 CP036 Numeric 8 5 CP048 Numeric 8 6 CP050 Numeric 8 7 CP061 Numeric 8 8 CP073 Numeric 8 9 CP115 Numeric 8 10 CP127 Numeric 8 11 CP139 Numeric 8 12 CP218 Numeric 8 13 CP220 Numeric 8 14 CP231 Numeric 8 15 CP243 Numeric 8 表 21 各种产品每日出入存累计文件(CPRDATA.DBF )结构序号字段名称字段类型长度备注1 RQ Date 8 2 CPDM Character 3 3 CPMC Numeric 6 4 DW Numeric 6 5 PFSL Numeric 6 6 KCSL Numeric 6 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 26 页 - - - - - - - - - 表 22 报表计算辅助文件(CPBBJS.DBF )结构序号字段名称字段类型长度备注1 BBRQ Date 8 2 CPDM Character 3 3 CPMC Character 18 4 DW Character 4 5 RKSL Numeric 8 6 LSSL Numeric 8 7 PFSL Numeric 8 8 KCSL Numeric 8 9 LJRK Numeric 8 10 LJXS Numeric 8 表 23 各月收发存报表文件(CPBB.DBF )结构序号字段名称字段类型长度备注1 BBRQ Date 8 2 CPDM Character 3 3 CPMC Character 18 4 DW Character 4 5 RKSL Numeric 8 6 LSSL Numeric 8 7 PFSL Numeric 8 8 KCSL Numeric 8 9 LJRK Numeric 8 10 LJXS Numeric 8 表 24 库存报警数据文件(KCJC.DBF )结构序号字段名称字段类型长度备注1 CPDM Character 3 2 JC Character 4 8输入设计(1)出入库数据录入卡设计本系统中的产品出入库数据录入卡沿用现行系统的产品出入库单格式,参见表 2 和表 3。(2)输入屏幕格式设计基础(原始)数据分为产品入库数据和产品出库数据两大类,因此输入屏幕分开设计。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 26 页 - - - - - - - - - 图 13 产品入库数据输入屏幕格式l)图 13 是产品入库数据输入时的屏幕格式。当输入入库日期之后,便在屏幕上出现此画面。数据录入方式有两种:光标在右边的提示窗口内上下移动,选择正确的入库产品代码后,则产品代码、名称等信息自动进入左边窗口当前显示行的相应栏目内。然后;光标停在“入库数量”栏上,打入入库数量即可。如此重复即可将本日内各张入库单上的数据输入机内暂存文件内。然后,选择提示“存盘” 、 “放弃”或“继续” 。调整光标至左边窗口的“代码”栏,接着打入要入库的产品代码,此时对应的产品名称便由系统自动填入,然后打入入库数量即可,最后选择“存盘”、 “放弃”或“继续” 。2)产品出库数据输入的屏幕格式设计与产品入库数据输入的屏幕格式基本相同,只是将图 13 中的“入库数量”栏辟为“零售数量”和“批发数量”两栏。9程序模块设计说明(1)总控模块1)程序名: CPMIN.PRG 。2)功能定义本系统的数据录入、数据查询等功能菜单及各项功能的下拉式菜单。选取功能菜单及其下拉菜单中的操作项,进入相应的操作。3)实现调用程序CP11.PRG 实现产品出入库数据的录入。调用过程MPROC2 实现数据查询功能。调用过程MPROC3 实现统计报表功能。调用过程MPRCO4 实现产品目录维护功能。调用过程MPRCO5 实现本系统运行结束退出功能。4)程序、过程、自定义函数间的关系见图14。产品代码产品名称入库数量入库日期年月日产品入库数据录入窗口显示窗口保存放弃继续产品代码产品名称名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 26 页 - - - - - - - - - 图 14 程序、过程、函数间关系(2)产品出入库数据录入模块1)程序名:CP11.PRG CPMAIN.PRG CP11.PRG FCPDM() FRET() FAPPE() CP11X(过程)MPROC2 CP21.PRG CP23.PRG CP24.PRG MPROC3 CP31.PRG CP32.PRG CP33.PRG MPROC4 CP41.PRG CP42.PRG CP43.PRG CPDM() PRET() CPDM() FAPPE() MPROC5 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 26 页 - - - - - - - - - 2)功能:实现每笔产品出入库数据的录入。3)处理流程(见图15) 。图 15 处理流程4)实现打开 CPDM.DBF 并索引之。打开 CPRDATA.DBF 及其索引。打开CPRK.DBF 。若录入入库数据,则打开CPKC.DBF ;若录入出库数据,则打开CPXS.DBF。输入日期。打开 CPSJSR.DBF,并与 CPDM.DBF 建立关联,然后清空CIJSJSR.DBF。用 BROW 将出入库数据录入CPPJSR.DBF 中。若数据不保存, 则退出返回; 若数据保存, 则首先将CPSJSR.DBF 的 RQ 字段值全部用输入日期替代,然后通过调用过程CP11X 把 CPSJSR.DBF 中的数据转录到CPRK.DBF(入库)或 CPXS.DBF (出库数据)中, 并更新 CPKC.DBF 和 CPRDATD.DBF 。(3)每笔出入库数据查询模块1)程序名: CP 21.PRG 2)功能:实现对三个月以内的任何一天的每笔入库数据查询显示。3)处理流程(见图16) 。图 16 处理流程4)实现打开CPDM.DBF 。若查询任何一天的每笔入库数据,则打开CPRK.DBF 。出入库单CPDM CP11.PRG CPSJSR CPRK CPXS CPKC CPRDATCPDM CPRK CPXS CP21.PRG 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 26 页 - - - - - - - - - 若查询任何一天的每笔出库数据,则打开CPXS.DBF 。依据字段CPDM 建立与 CPDM.DBF 的关联。输入要查询的日期。从 CPRK 或 CPXS 库中定位满足查询日期的首记录。若无数据可查到,则显示“无数据” ,否则用“过滤器技术”和BROW 命令显示查询结果。(4)每日、月、截止期出入库数据查询模块1)程序名: CP23.PRG 2)功能:实现对下述查询条件的查询显示功能查询三个月以内任何一天的各种产品全天累计出入库数据。查询两年内任何一个月份的各种产品全月累计出入库数据。查询从年初至某个截止日期的各种产品累计出入库数据。3)处理流程(见图17) 。图 17 处理流程4)实现分三种情况讨论:第一种情况(按天查询)打开CPRDATA.DBF 和 CPDM.DBF 。输入查询日期。按输入的日期从CPRDATA 库中过滤出与输入日期匹配的记录。显示结果。第二种情况(按月查询)打开CPRDATA.DBF 和 CPDM.DBF 。输入查询月份。对与输入月份匹配的该月内各产品出入库数据分别累计。将该月累计值为零的产品过滤掉。显示结果。第三种情况(查询从年初至截止日期备产品累计出入库数)打开CPRDATA.DBF 和 CPDM.DBF 。输入截止日期。对截止日期之前的各产品出入库数据分别累加。显示结果。(5)某日实际库存数据查询模块1)程序名: CP24.PRG。2)功能:实现查询某一天各种产品的实际库存数量。CPDM CPRDATCP23.PRG 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 26 页 - - - - - - - - - 3)处理流程(见图18) 。4)实现打开CPKC.DBF 与 CPDM.DBF 。输入查询日期。在 CPKC.DBF 中定位满足查询条件的第一条记录,若没有则显示“无数据可查”,否则显示查询结果。(6)新增产品代码(目录)模块1)程序名: CP41.PRG。2)功能:将新产品的目录数据增加到CPDM.DBF 中,并在CPKC.DBF 中增加相应的字段。3)处理流程(见图19) 。图 19 处理流程4)实现在命令执行方式下,将新产品的单位、 单位代码、 规格、规格代码录入CPDZB.DBF中。打开 CPDZB.DBF 、CPDM.DBF 和 CPKC.DBF 。录入新产品的产品代码,并校验。再录入该新产品的其它目录数据。修改 CPKC.DBF 的库结构(增加新产品的字段)。(7)修改产品的价格、储备定额模块1)程序名: CP42.PRG。2)功能:修改产品的价格和储备足额。3)处理流程(见图20) 。CPKC CPDM CP24.PRG 新产品CPDM CP41.PRG CPDM CPKC CPBBCPKC CP31.PRCPDM CPRD图 18 处理流程名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 26 页 - - - - - - - - - 图 20 处理流程4)实现打开 CPDM.DBF 。用 BROW 命令进行修改(注意只允许修改产品的不变价、现行价、最高储备和最低储备)。(8)报表计算模块1)程序名: CP31.PRG。2)功能:根据本月实际发生的数据,计算出统计报表(产品收发存报表)中的数据,并将计算结果存入CPBB.DBF 中供打印用。3、 )处理流程(见图21) 。图 21 处理流程4)实现输入报表月份。打开CPRDATA.DBF 。在 CPRDATA 库中定位满足报表日期的第一条记录。若无数据,即eof()为真,则显示“本月无数据” ,并返回。在本月范围内,按产品代码分别求出各产品本月出入库累计值。打开 CPKC.DBF ,定位到报表生成那天的各产品实际库存数记录行。打开 CPBBJS.DBF ,并物理清空。 把 已 计 算 出 的 报 表 月 份 各 产 品 累 计 出 入 库 量 及 尚 有 的 实 际 库 存 数 量 填 入CPBBJS.DBF 中。打开 CPBB.DBF ,将 CPBBJS.DBF 中的数据复制到CPBB.DBF 中。(9)打印产品收发存月汇总表模块新数据CP42.PRG CPDM 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 26 页 - - - - - - - - - 1)程序名: CP32.PRG。2)功能: 实现 产品收发存月汇总表的打印输出。 打印机型号为: STAR CR3240 型。3)处理流程(见图22) 。图 22 处理流程4)实现输入年份和月份。打开 CPDM.DBF ,并索引。打开 CPBB.DBF ,并过滤出符合报表月份的数据记录。使 CPBB.DBF 与 CPDM.DBF 建立关联。若 CPBB.DBF 中无本月数据,则显示“本月报表未形成”,并返回