登陆注册
1672100000030

第30章 价值链会计信息交换系统开发案例(1)

这时,我终于知道我应该去做什么。——史蒂夫·乔布斯

本章将给出一个开发案例,以解决在价值链相关企业的异构系统之间如何通过数据接口进行会计信息交换的问题。这一接口系统遵循前述《接口标准》(以下简称《标准》)和现行会计制度与会计准则,面向跨企业的计算机会计信息系统之间的数据交换应用。本章的读者范围主要是开发人员特别是会计软件用户单位的二次开发人员,但是一般会计人员也可从中得到关于跨企业交换会计信息的有益的启示。

$第一节 系统调查、分析与总体设计

一系统调查——案例单位会计信息系统基本情况

东都集团是一家服装企业,其价值链关联企业有东都时装设计公司、东都模特经纪公司、东都服装职业技术学院、多家制衣厂以及众多自有品牌加盟店。由于历史原因,制衣厂采用综合企业管理软件Master ERP(一种早期ERP软件),而其他企业使用用友U8 ver8.6管理软件。该公司利用用友U8 ver8.6作为价值链虚拟企业会计信息整合平台,这样就需要从Master ERP系统中转出数据到U8 ver8.6。U8 ver8.6支持《信息技术——会计核算软件数据接口》,即可转入符合该《标准》的会计数据文件,但是Master ERP的输出文档并不符合《标准》的要求。这就需要在这两者之间开发一个中间接口程序,使Master ERP输出的数据文件转化为符合《标准》的数据文件。

Master ERP与U8 ver8.6的数据结构存在较大差异,以记账凭证为例,通过下列数据字典清除反映两者的数据结构

二 数据接口系统的数据流程图

该中间接口的工作流程,自读取Master ERP数据文件开始,经检验和转换,生成标准数据文件,以供U8 ver8.6接收并转入。

三 数据库设计

该接口系统没有自身专门的会计数据,但是由于需要对两个外部系统的数据进行转换,因此系统数据库主要是解决两个外部系统数据接口差异信息的对照存取,如下表中的“对应系统代码”和“对应系统名称”。具体转换时,系统将根据这些差异信息决定如何转换。此外,系统必须访问接口两端的两个系统,因此还要设计系统对两个外部数据库的访问方法和规则的设计。数据库系统平台仍然采用与Master ERP相同的数据库系统即MS SQL server。

(一) 基本信息对照数据表结构

(二) 基本信息数据表的SQL脚本

1.创建机构部门表(fibranch)

CREATE TABLE [dbo].[fibranch] (

[number] [varchar] (10) COLLATE

Chinese_PRC_CI_AS NOT NULL,

[name] [char] (30) COLLATE

Chinese_PRC_CI_AS NULL,

[chief] [char] (8) COLLATE Chinese_PRC_CI_AS NULL,

[address][char] (40) COLLATE Chinese_PRC_CI_AS NULL,

[tel][char] (15) COLLATE Chinese_PRC_CI_AS NULL,

[fax][char] (15) COLLATE Chinese_PRC_CI_AS NULL,

[employee] [int] NULL,

[ufcode] [char] (20) COLLATE Chinese_PRC_CI_AS NULL,

[ufname] [char] (20) COLLATE Chinese_PRC_CI_AS NULL

) ON [PRIMARY]

2.创建往来单位表(ficompany)

CREATE TABLE [dbo].[ficompany] (

[number] [char] (10) COLLATE

Chinese_PRC_CI_AS NOT NULL,

[name] [varchar] (60) COLLATE

Chinese_PRC_CI_AS NOT NULL,

[address] [varchar] (60) COLLATE

Chinese_PRC_CI_AS NULL,

[zp] [varchar] (6) COLLATE Chinese_PRC_CI_AS NULL,

[tel] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL,

[fax] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL,

[lxr] [varchar] (8) COLLATE Chinese_PRC_CI_AS NULL,

[account] [varchar] (30) COLLATE

Chinese_PRC_CI_AS NULL,

[bank] [varchar] (24) COLLATE

Chinese_PRC_CI_AS NULL

) ON [PRIMARY]

3.创建费用预算类别表(fiexpense )

CREATE TABLE [dbo].[fiexpense] (

[number] [varchar] (10) COLLATE

Chinese_PRC_CI_AS NOT NULL,

[name] [char] (20) COLLATE

Chinese_PRC_CI_AS NOT NULL,

[layer] [tinyint] NOT NULL,

[ufcode] [char] (20) COLLATE Chinese_PRC_CI_AS NULL,

[ufname] [char] (20) COLLATE Chinese_PRC_CI_AS NULL

) ON [PRIMARY]

4.创建会计科目表(fiitem)

CREATE TABLE [dbo].[fiitem] (

[number] [varchar] (10) COLLATE

Chinese_PRC_CI_AS NOT NULL,

[name] [char] (40) COLLATE

Chinese_PRC_CI_AS NOT NULL,

[type] [char] (1) COLLATE Chinese_PRC_CI_AS NULL,

[jord] [char] (2) COLLATE Chinese_PRC_CI_AS NULL,

[person] [tinyint] NULL,

[company] [tinyint] NULL,

[currency] [tinyint] NULL,

[quantity] [tinyint] NULL,

[expense] [tinyint] NULL,

[unit] [char] (10) COLLATE Chinese_PRC_CI_AS NULL,

[ufcode] [char] (20) COLLATE Chinese_PRC_CI_AS NULL,

[ufname] [char] (20) COLLATE Chinese_PRC_CI_AS NULL

) ON [PRIMARY]

5.创建往来个人表(fiperson )

CREATE TABLE [dbo].[fiperson] (

[number] [char] (10) COLLATE

Chinese_PRC_CI_AS NOT NULL,

[name] [varchar] (10) COLLATE

Chinese_PRC_CI_AS NOT NULL,

[branch] [varchar] (10) COLLATE

Chinese_PRC_CI_AS NULL,

[department] [varchar] (10) COLLATE

Chinese_PRC_CI_AS NULL,

[ufcode] [char] (20) COLLATE

Chinese_PRC_CI_AS NULL,

[ufname] [char] (20) COLLATE Chinese_PRC_CI_AS NULL

) ON [PRIMARY]

6.设置机构部门表主键

ALTER TABLE [dbo].[fibranch] ADD

CONSTRAINT [PK_fibranch] PRIMARY

KEYCLUSTERED ([number]) ON [PRIMARY]

7.设置往来单位表主键

ALTER TABLE [dbo].[ficompany] ADD

CONSTRAINT [PK_ficompany] PRIMARY

KEYCLUSTERED([number]) ON [PRIMARY]

8.设置费用预算类别表主键

ALTER TABLE [dbo].[fiexpense] ADD

CONSTRAINT [PK_fiexpense] PRIMARY

KEYCLUSTERED([number]) ON [PRIMARY]

9.设置会计科目表主键

ALTER TABLE [dbo].[fiitem] ADD

CONSTRAINT [PK_fiitem] PRIMARY

KEYCLUSTERED([number]) ON [PRIMARY]

10.设置往来个人表主键

ALTER TABLE [dbo].[fiperson] ADD

CONSTRAINT [PK_fiperson] PRIMARY

KEYCLUSTERED([number]) ON [PRIMARY]

四 系统功能及其菜单设计

该接口程序的主要功能有:(1)读取Master ERP系统转出的数据文档;(2)校验与转换Master ERP系统转出的数据文档,使之成为U8 ver8.6能直接读取的标准文档。检验主要是检查数据读取的正确性和一致性。只有经检验无误的数据才能进行转换,以确保数据交换的正确。

本接口程序采用PowerBuilder v9.0作开发平台。主界面设计结果,主功能菜单包括:基本信息、读取凭证、数据检验、数据转换和系统服务等。

$第二节 系统主要功能的技术实现

一 凭证转换数据库管理程序的设计

程序功能及其界面,可在此窗口建立Master ERP系统与用友U8之间的数据库联系,并控制两者基础数据的一致性。

1.“试连接”按钮的执行代码

if trim(sle_2.text)=″″ then

messagebox(″错误!″,&

"服务器名称错误,请重新输入数据库服务器名称!")

return

end if

//试连接

transaction sqlyear

sqlyear=create transaction

sqlyear.DBMS=″MSS Microsoft SQL Server″

sqlyear.Database=″ufdata_″+trim(sle_1.text)+″_″+currentyear

sqlyear.ServerName=trim(sle_2.text)

sqlyear.LogId=″sa″

sqlyear.LogPass=trim(sle_3.text)

sqlyear.AutoCommit=true

sqlyear.DBParm=″″

connect using sqlyear;

if sqlyear.sqlcode 〈〉 0 then

messagebox(″用友系统数据库连接错误!″,"连接数据库服务器失败!请再试试!~r可能参数错误,或者已断开与服务器的连接!")

else

messagebox(″用友!″,"连接用友数据库服务器成功!")

end if

disconnect using sqlyear;

destroy sqlyear

2.“更新凭证转换相关的数据表”按钮的执行代码

if uf_connectsqlca()=-1 then

messagebox(″错误!″,″数据库连接错误!″)

return

end if

boolean ok[4]

string alter[4]

alter[1]=″ALTER TABLE [fiitem] ADD″+&

″ [ufcode] [char] (20) COLLATE″+&

″Chinese_PRC_CI_AS NULL,[ufname] [char] (20) ″+&

″COLLATE Chinese_PRC_CI_AS NULL ″

alter[2]=″ALTER TABLE [fibranch] ADD ″+&

″ [ufcode] [char] (20) COLLATE″+&

″Chinese_PRC_CI_AS NULL,[ufname] [char] (20) ″+&

″COLLATE Chinese_PRC_CI_AS NULL ″

alter[3]=″ALTER TABLE [fiexpense] ADD ″+&

″ [ufcode] [char] (20) COLLATE″+&

″Chinese_PRC_CI_AS NULL,[ufname] [char] (20) ″+&

″COLLATE Chinese_PRC_CI_AS NULL ″

alter[4]=″ALTER TABLE [fiperson] ADD ″+&

″ [ufcode] [char] (20) COLLATE″+&

″Chinese_PRC_CI_AS NULL,[ufname] [char] (20) ″+&

″COLLATE Chinese_PRC_CI_AS NULL ″

execute immediate :alter[1] using sqlca;

if sqlca.sqlcode=0 then ok[1]=true

execute immediate :alter[2] using sqlca;

if sqlca.sqlcode=0 then ok[2]=true

execute immediate :alter[3] using sqlca;

if sqlca.sqlcode=0 then ok[3]=true

execute immediate :alter[4] using sqlca;

if sqlca.sqlcode=0 then ok[4]=true

if not ok[1] or ok[2] or ok[3] or ok[4] then

messagebox(″提示!″,″数据库更新成功!″)

else

messagebox(″错误!″,″数据库更新失败!″)

end if

disconnect using sqlca;

3.“保存用友数据库连接参数”按钮的执行代码

if trim(sle_2.text)=″″ then

messagebox(″错误!″,&

"服务器名称错误,请重新输入数据库服务器名称!")

return

end if

//试连接

long filepointer

string readstring

string ufservername,ufsapassword,ufdatabasename

transaction sqlyear

sqlyear=create transaction

sqlyear.DBMS=″MSS Microsoft SQL Server″

sqlyear.Database=″ufdata_″+trim(sle_1.text)+&

″_″+currentyear

sqlyear.ServerName=trim(sle_2.text)

sqlyear.LogId=″sa″

sqlyear.LogPass=trim(sle_3.text)

sqlyear.AutoCommit=true

sqlyear.DBParm=″″

connect using sqlyear;

if sqlyear.sqlcode 〈〉 0 then

messagebox(″用友系统数据库连接错误!″,&

"连接数据库服务器失败!请再试试!~r可能+&

参数错误,或者已断开与服务器的连接!")

else

//保存

同类推荐
  • 店长必备手册

    店长必备手册

    全书分为店长的素质、职责与形象,员工管理,团队管理,促销管理,顾客关系管理,店面日常运营管理,物品采购管理,店面卫生管理,店面安全与防损管理,设备管理与财务管理等几大部分,以管理实务、工作方法、工作标准、工作规范、管理制度与管理表格等实用工具的形式,全面而具体的呈现了店长日常操作与管理的要点。
  • 智慧促销术(现代人智慧全书)

    智慧促销术(现代人智慧全书)

    本书介绍了199种独特经典的促销方法:促销的基本功、促销经营的宗旨、促销的广告艺术、促销一张“嘴”、商品的包装艺术、商品的价格定位、智慧促销术、促销成功的秘诀
  • 一线万金

    一线万金

    这是一本电话销售新人的入门培训用书,同时也适合电话销售一线的销售人员、开展销售业务的呼叫中心坐席员、销售管理者、培训师等使用,可作为沟通培训,服务性企业的内训教材。工具化、实战化、系统化,让您的职业生涯从此发生实质性改变。
  • 成功人士99个领导细节

    成功人士99个领导细节

    在经济快速发展的中国当代社会,粗放的经营和低效能的增长模式已经越来越别人们所放弃。从小事做起、从细节做起,已经成为社会各界人士的共识。《细节决定成败》作为影响深远的畅销图书,把“细节”理念深植入社会各阶层的头脑当中。可是《细节决定成败》宣扬的是一种理念,却没有具体的方法和实践方面的指导,市场上试图填补这一空白的图书甚多,但尚未形成规模化的实用性图书,应该具有较大的市场空间。
  • 魔法销售圣经

    魔法销售圣经

    献给中国上千万夹缝求生的销售员,“早一日看到,少奋斗十年”的销售职场宝书。把眼睛升级为 “水晶球”,学会念“销售魔咒”,生意场如舞台,一流的销售员像魔法师一样表演。你是不是已经迫不及待地想要迅速变成“销售魔法师”了?那么请随我们一起步入这座神奇的“魔法销售”殿堂吧。
热门推荐
  • 妖孽当道,请小心

    妖孽当道,请小心

    人潮涌动的街头,雪轻手握一张纸,几乎要将之捏碎一般,虽然身子单薄,看上去与一般的十二岁少女无异,但那张娇俏可爱的脸上却是与之不相符的愤怒神色。紧握着纸张的手揉了揉,刚刚还好好的纸,瞬间变成了碎屑洒落在地。她走进人群中,紧绷着一张脸,漫无目的的走着,憋着的那口恶气不知道该如何发泄。那对毫无责任心的父母,竟然将十二岁的她丢在这个人生地不熟的地方,还美其名曰为了分散敌……
  • 阴阳奇珠

    阴阳奇珠

    韩轩偶获诡秘的阴阳奇珠,父母却惨死家中,魔族横行!为复仇,学奇阵,习五行之术。借神珠之力,斗天,斗神,斗邪魔!摒除万难,重塑金身,踏上飞升之路。
  • 权少追妻N次方:豪门独爱

    权少追妻N次方:豪门独爱

    三年植物人,她从陌生的床上醒来,一无所有,父母已逝,只留下3亿诈骗巨债。“要么进娱乐圈还钱,要么,嫁给我!”总裁大人冷酷求婚。“可两个我都很感兴趣,都想做,权大总裁不介意戴绿帽子吧?”她想都不想地答。当她扛着巨债风风火火嫁进豪门,却意外发现自己被逼着打过胎,而罪魁祸首……正是他。
  • 傻子王爷无情妃

    傻子王爷无情妃

    一只毒蝎子,彻底断送了她年轻的生命!别人只知道,那个软弱没主见的女人被迫嫁给一个痴傻呆闷的七皇子。殊不知,她早已不再是“她”!面对痴傻只会憨笑的美男,她气愤难填!你傻,本美女就医好你,谁知医好后,遭到嫌弃,却换来一纸休书,气愤之下,她恨不得与他同归于尽……
  • 我们三个都是穿越来的

    我们三个都是穿越来的

    我是因为看了很多的穿越小说,也很想穿越。谁想我想想就能穿越,穿越就穿越吧,居然穿成怀孕九月的待产产妇,开玩笑嘛!人家在二十一世纪还是黄花一枚呢。这也可以接受,可是明明是丞相之女,堂堂四皇子的正牌王妃怎么会居住在这么一个几十平米得破落小院子里,她怎么混的,亏她还一身绝世武功,再是医毒双绝。哎。没关系,既然让我继承了这么多优越条件,一个王爷算得了什么?生下一对龙凤胎,居然都是穿过来的,神啊,你对我太好了吧?且看我们母子三人在古代风生水起笑料百出的古代生活吧。片段一在我走出大门时,突然转身对着轩辕心安说道:“王爷,若是哪天不幸你爱上了我,我定会让你生不如死的。”然后魅惑地一笑,潇洒地走了出去。片段二当我对着铜镜里的美人自恋地哼出不着调地歌时。“别哼了,难听死了。”一个清脆的声音响起。~~~接着一声尖叫紧跟着另一声尖叫。我用上轻功躲进了被子里.~~~"我和你一样是二十一世纪来的。”“你好,娘亲,哥哥,以后要多多指教。”来自两个婴儿的嘴里,我摸摸额头,没高烧啊。片段三“小鱼儿,我可是你孩子的爹,况且我没有写休书,你还是我的王妃。我会对你好的。”安王爷霸道地说道。“你们认识他吗?他说是你们的爹?”我问着脚边的两个孩子。“不认识,”女孩说道。“我们的爹不是埋在土里了吗?怎么他一点也不脏?”男孩问道。那个男人满头黑线。“对不起,我们不认识你。”说完拉着孩子转身就走。片段四“爹爹,这是我娘,你看漂亮吧?”南宫心乐拉着一个白衣帅哥进来问道。我无语中。“爹爹,你看我娘亲厉害吧?“南宫心馨拉着另外一个妖精似地男人走了进来。我想晕。“这才是我们的爹。”“才不是呢,这个才是”两人开始吵起来了。“我才是你们的爹。”安王爷气急地吼道。“滚一边去。”两个小孩同时说道。屋里顿时混乱之中。转头,回屋睡觉去了。推荐完结文《别哭黛玉》完结文《穿越之无泪潇湘》新文,《极品花痴》
  • 尸心不改

    尸心不改

    控尸门的欢乐二缺弟子江篱炼了一具美得人神共愤引得天雷阵阵的男尸,以为好日子开始了,结果没想到门派惨遭灭门。--情节虚构,请勿模仿
  • 重生嫁给亿万富翁

    重生嫁给亿万富翁

    一觉醒来相貌惊天逆转前世默默无闻,今生星路璀璨那个……亿万富翁也求婚?麻烦大叔您松松手,我要追的是旁边那位多金的帅哥,不是您哪!---------------------------------------------------------请许我尘埃落定开新文啦,《我是女人也是王》,星际虐恋,女强当道。亲们请移驾围观。虐渣男,踩白莲,匡扶正室是美德,鞭种猪,驱圣母,扫除天下黑心三。攻城池,占星球,人生嘚瑟须尽早!轰联邦,炸帝国,我是女人也是王!凡人们,颤抖吧,女王驾到请下跪!新文需要大家支持,请亲们帮忙收藏、推荐和点击,多谢大家支持!
  • 等待机会不如创造机会

    等待机会不如创造机会

    在现实生活中,人们常常把科学工作者有意识、有计划、有目的地进行某项观察、实验时的偶然发现,称之为机遇;把某人得到贵人的提携,或者在困境中遇到转折点,从此走上成功之路的现象,称之为机遇;把在政治、军事、文化等活动中出现的,起带动促进作用的新情况、新目标,称之为机遇;把能促进事业获得成功的偶然的,或一闪即逝的现象、先兆或时机,称之为机遇。
  • 藏花II

    藏花II

    对花生来说,十七是她年少时的梦,是永远不凋零的花,而那些为爱付出的代价,那些真心的痴心的话,也会永远记在她心里;至于王动,啊!那个下流胚子癞蛤蟆,提起他来就生气万分,不提不提!
  • 明治天皇:孝明帝驾崩卷(下册)

    明治天皇:孝明帝驾崩卷(下册)

    《明治天皇》再现了日本从幕末走向明治维新的历史变革,以优美的文笔,宏大的场景,详细描绘了日本近代决定国运的倒幕运动的整个过程。本书塑造了一个个鲜活的日本近代史人物形象,以及他们的坚定信念,对“安政大狱”、“樱田门之变”等重大历史事件的描述详实生动,是一部了解近代日本不可多得的佳作。