CharlieShen

新人,大家多关照啦@_@

  博客中心 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 登录 ::
  3994 随笔 :: 0 文章 :: 20 评论 :: 0 Trackbacks
Cached @ 2025/8/2 3:23:06Control ASP.skins_cogitation_controls_blogstats_ascx
<2007年9月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

留言簿(14)

随笔档案

文章档案

搜索

最新评论

阅读排行榜

评论排行榜

Cached @ 2025/8/2 3:23:06Control ASP.skins_cogitation_controls_singlecolumn_ascx

2007年9月7日 #

从分布式SOA看集成技术发展2007-06-14 来自:java060515  [收藏到我的网摘]

对于今天的大多数企业而言,集成已经是一个不可回避的话题。在不同的历史时期,基于对信息技术的不同理解,企业采用了多种技术建设了各种各样的应用系统,比如,OA、ERP、CRM等,这些系统由于建设时间不同,负责建设的厂商不同,采用的标准也不同,因此,形成了一个个无法共享的信息孤岛。随着系统的增多,特别是门户、商业智能还有协同应用的诞生对系统整合的需求日益迫切,集成成了一个热门话题,也成了一个难题。

  集成技术的三个发展阶段

  集成技术的发展已经有很多年了,大体经历了以下三个阶段:

  点对点的集成。早期,由于需要集成的系统比较少,最常见的是两、三个系统之间进行数据交换。这时,企业普遍采用编程的方式来完成系统之间的数据交换任务。这种方式简单,但其最大的问题是缺乏灵活性,每两个系统之间需要进行互访时都要开发一段程序。两三个系统之间的互访尚可以应付,随着系统的增加,其复杂性和工作量成指数级增加。

  EAI 这种方法是建立一个集中的数据交换平台(这个平台通常由中间件担当),同时在每个应用系统中安装一个名为Adapter(适配器)的插件。Adapter负责把应用系统的数据翻译为统一规范的格式,发送数据交换平台上,同时也把接受到的数据转换为系统所需的格式。这个平台降低了集成的难度,同时,可扩展性也比较好。不足之处在于,集中的数据交换平台和Adapter的开发都非常复杂,初期投资比较高,具有较高的应用门槛,非一般企业可以承受,而另一方面,由于投资大,用户的期望也非常高,所以很多用户最后对其效果并不满意。几年前,Tibco和Vitria等公司在这方面做了不少工作。

  基于SOA(Service-OrientedArchitec-ture)的集成。SOA概念的普及给那些徘徊在应用集成大门之外的企业带来了新的希望。SOA通过建立一种统一的架构,使得软件开发人员能快速开发、集成和重用应用。更为重要的是,基于这种软件框架,系统能在业务发生变化之后,动态响应新的需求,快速重新装配各种软件构件和服务。今天基于SOA的集成方法正推动着市场的发展,BEA、IBM、Oracle等大多数供应商也开始转向SOA。

  分布式SOA基础架构

  尽管很多供应商提供了基于SOA的集成方法和产品,但最常见的还是基于集成平台的集成方法。这个平台类似于SOA集成服务器,它采用多种集成技术,为其他有需要的应用和服务提供可重用的业务服务。大多数厂商提供的这个平台以企业服务总线(EnterpriseServiceBus,ESB)的形式出现,当然也有一些厂商采用其他形式,比如围绕BPM进行业务流程集成。

  “尽管与传统的集成方式相比,这种方式向SOA迈出了一大步,也解决了不少实际问题,但这种方式并没有真正体现SOA的分布式的优势。”SOA领域的专家、率先提出分布式SOA基础架构理念的IONA的CTOEricNewcomer说。

  因为这里的集成本台大多数是从EAI产品演变而来的。它们的主要特征就是由消息总线提供数据格式转换和路由,完成流程自动化和应用适配器的功能。与EAI产品不同的只是,现在的集成服务平台支持服务集成。

  这种总线式的架构本质上是集中式的SOA架构,它仍然带有传统的EAI产品的弱点。比如,集中式SOA架构会增加成本,限制资源的再利用,降低系统的灵活性,并且有可能形成成本高昂的系统瓶颈。最糟糕的结果是,它很有可能偏离技术中立的原则,把用户绑定在供应商的专有技术上,成为用户取消SOA计划的第一原因。如果SOA架构的灵活性不足以满足用户的各项需求,无疑会导致用户对SOA架构的彻底失望。

  而SOA本质上应该是分布式,不应该存在有集中的控制点,任何应用只要符合相关规范都可以进入SOA网络进行交互(自然上述集中式的SOA架构也可以作为SOA的一部分)。

  那么,分布式SOA架构如何来解决集成的问题呢?IONA提出的方法是对那些老系统进行SOA封装,即在每个应用上部署一个小的智能终端,由这个轻量型的插件来完成与SOA网络的通信,而网络中不再需要一个集中的控制平台。IONA的中国区总裁薛志勇认为,这种方式的最大优点是投资小、支持渐进式的部署、技术中立,也不存在瓶颈,更为重要的是,这种方式符合SOA的开放性、分布式的本质。

posted @ 2007-09-07 19:33 CharlieShen| 编辑 收藏

【CSDN独家报道】2007年5月30号,在北京西四环的世纪金源大酒店宴会厅里,一场关于中国SOA最佳实践的技术大会在这里举行。这是一次由国内最大技术社区CSDN和IT专业类旗舰杂志《程序员》联合BEA、IBM、SAP、微软、普元等各大技术厂商以及OSOA标准化组织,举办国内2007年最具规模、最为专业的SOA盛会。

众多长期在SOA第一线的专家纷至沓来参加这一场盛会。分享这些年以来在SOA内涵不断明确的过程中积累的宝贵经验。为什么将这一盛会命名为SOA中国最佳实践技术大会呢?因为自从SOA的概念被提出到今天超过十个年头了,虽然每个人、每个企业都对SOA有不同的理解,但是大家都一致认为2007年将是SOA真正落地实践的一年。

既然机会已经来到,我们的专业技术人员必须牢牢把握,CSDN和《程序员》杂志是国内技术中坚力量的左右臂膀,所以,这次必定是一场星光熠熠而又受益匪浅的盛会。中国有几百万的程序员,虽然这次亲临大会的名额仅有500名,是很少的一部分,但是我们希望用各种方法将这次大会的成果传播到每一个关心SOA的技术人员身边。大会现场直播详细记录了会场上的每个细节,虽然你远在千里之外,但是仍然有亲临现场的感觉。《程序员》杂志也会有大会报道的专稿,把这次大会的成果展示给大家。

这次大会安排的演讲嘉宾包括了BEA公司架构与标准副总裁、OSOA专家Edward Cobb;Oracle公司SOA资深工程师Jeff Mischkinsky;易观国际IT研究总监梁新刚;普元公司创始人黄柳青博士;微软首席技术执行官李志宵博士,此外还有SAP大中华地区首席技术官张侠博士;TIBCO中国研发中心工程师胡长城也虽然没有安排演讲但是也一起参与了大会的亮点环节SOA实践与构架如何迈出第一步座谈会

整场大会的开篇演讲由CSDN的技术主编孟岩先生为我们带来。孟岩最近一直在关注SOA和Enterprise Web2.0领域。并且参加了IBM5月20号到25号在佛罗里达州奥兰多市召开的IBM IMPACT 2007大会。与很多重要人物沟通了对于SOA的理解并且获得了一个质的提升,所以作为这次大会的开篇,我们都十分期待这关于SOA实质的演讲。

孟岩【演讲资料】谈到SOA的目标是实现与敏捷业务相适应的IT基础,促进企业达成灵活应变(FLEX-PON-
SIVE),从而在快速变化的时代里获得增长优势。但是要实现这一目标中间的每一环节都环环相扣,在业务向IT映射的过程,对业务描述的准确性、对IT技术实现的高保真、SOA人才的数量和质量,都是决定中国SOA成败的关键,SOA对中国的开发者提供了机会,也提出了挑战。
中国科技市场的研究和咨询机构易观国际的IT研究总监梁新刚【演讲资料】接下来的演讲主要在对中国SOA市场深入研究之后得出的SOA标准面临“破”与“立”的分水岭,企业如何看清美国式SOA和中国式SOA的区别与联系,得出最适合自己的SOA。而且还提出中国的SOA企业要认清SOA与自己企业的业务目标如何匹配,千万不要让技术致命的自负蒙蔽了双眼。

posted @ 2007-09-07 19:33 CharlieShen| 编辑 收藏

SOA 和 Web 2.0 有不少共通之处,例如在「边缘」和「中心」的角色关系上,存在着微妙的相似之处。


ZDNet 的 Dion Hinchcliffe 画过一幅很棒的图 ,值得仔细玩味。左手边是用户的所在,常称作网络的边缘 (edge),而右手边则是大家所共享的网络,在英文中常叫作云 (cloud)。不管是在企业 (Enterprise 2.0),或消费者领域 (Web 2.0),位于边缘的用户们,透过各种无所不在的边缘装置 (edge devices) — 桌上型 PC、无线上网的笔记本电脑、PDA、手机、数碼相机、摄像机、录音机,甚至客厅的游戏机、家庭娱乐中心等,与网络中的各种服务作双向交互,主动贡献大量的内容,并与其它用户共享。在这种新环境下生成的内容,近两年来已陆续出现各种名词来形容,包括 User-Generated ContentConsumer-Generated Media(或 Consumer-Generated Content)、Citizen MediaCitizen Journalism 等。


我们如果将服务器端视为中心(”the center” 或说「轴心」”the hub”),那么 IT 的演化史,其实可视为是一系列介于 edge 和 center 之间的钟摆运动。数十年前,大机当道,一切中央集权,edge 端非常寒酸,只有一迭迭喂数据的卡片纸,加上一群没有任何智能的笨终端 “dumb terminals”、调制解调器,和键盘。从 “dumb terminal” 的戏称和当时对键盘器具的称呼 — 远程打字 (teletype),便约略透露出当时 edge 角色的渺小(Unix 上 tty 的命名由来,正是取自 teletype 中的三个字母)。80 年代,PC 和 LAN 的逐渐兴起,打破了先前中央独霸的权力结构,edge 的重要性开始崛起,透过各式各样的应用,用户的生产力得到激发,企业的信息架构也开始顺应这股力量,C-S computing 开始接掌 IT。90 年代中期,荡到 edge 端的钟摆拉到了极限,两层式 C-S 架构开始出现性能瓶颈,管理等方面的问题也一一浮现,Web 的出现,像场及时雨,带来了三层式架构,某种程度上提供了大机时代中央化和 PC 时代去中央化间的平横,Java、J2EE、.NET 陆续出现,对这样的架构提供支持,在这个现在被称作 “Web 1.0″ 的时代,钟摆往中央回移,edge 端的主角变成了浏览器和 thin-client。


过去几年间,宽带、无线和多媒体,加上各种迷你、能无线上网的数碼器具,带领我们走入无所不在运算 (pervasive computing) 的新环境。在引领风骚的 SOA、On-Demand、Software as a Service (SaaS)、Web 2.0,乃至发酵中的 Enterprise 2.0 纪元,重心拉回 edge,世界被抹平,人人都能发声,人与人的距离从来没这么贴近过;edge 和 center 间的交互作用外,有更多 edge-to-edge 和 peer-to-peer 间的协作。钟摆间权力洗牌的戏曲,正一幕幕上演着。 

posted @ 2007-09-07 19:32 CharlieShen| 编辑 收藏

SOA 和 Web 2.0 有不少共通之处,例如在「边缘」和「中心」的角色关系上,存在着微妙的相似之处。


ZDNet 的 Dion Hinchcliffe 画过一幅很棒的图 ,值得仔细玩味。左手边是用户的所在,常称作网络的边缘 (edge),而右手边则是大家所共享的网络,在英文中常叫作云 (cloud)。不管是在企业 (Enterprise 2.0),或消费者领域 (Web 2.0),位于边缘的用户们,透过各种无所不在的边缘装置 (edge devices) — 桌上型 PC、无线上网的笔记本电脑、PDA、手机、数碼相机、摄像机、录音机,甚至客厅的游戏机、家庭娱乐中心等,与网络中的各种服务作双向交互,主动贡献大量的内容,并与其它用户共享。在这种新环境下生成的内容,近两年来已陆续出现各种名词来形容,包括 User-Generated ContentConsumer-Generated Media(或 Consumer-Generated Content)、Citizen MediaCitizen Journalism 等。


我们如果将服务器端视为中心(”the center” 或说「轴心」”the hub”),那么 IT 的演化史,其实可视为是一系列介于 edge 和 center 之间的钟摆运动。数十年前,大机当道,一切中央集权,edge 端非常寒酸,只有一迭迭喂数据的卡片纸,加上一群没有任何智能的笨终端 “dumb terminals”、调制解调器,和键盘。从 “dumb terminal” 的戏称和当时对键盘器具的称呼 — 远程打字 (teletype),便约略透露出当时 edge 角色的渺小(Unix 上 tty 的命名由来,正是取自 teletype 中的三个字母)。80 年代,PC 和 LAN 的逐渐兴起,打破了先前中央独霸的权力结构,edge 的重要性开始崛起,透过各式各样的应用,用户的生产力得到激发,企业的信息架构也开始顺应这股力量,C-S computing 开始接掌 IT。90 年代中期,荡到 edge 端的钟摆拉到了极限,两层式 C-S 架构开始出现性能瓶颈,管理等方面的问题也一一浮现,Web 的出现,像场及时雨,带来了三层式架构,某种程度上提供了大机时代中央化和 PC 时代去中央化间的平横,Java、J2EE、.NET 陆续出现,对这样的架构提供支持,在这个现在被称作 “Web 1.0″ 的时代,钟摆往中央回移,edge 端的主角变成了浏览器和 thin-client。


过去几年间,宽带、无线和多媒体,加上各种迷你、能无线上网的数碼器具,带领我们走入无所不在运算 (pervasive computing) 的新环境。在引领风骚的 SOA、On-Demand、Software as a Service (SaaS)、Web 2.0,乃至发酵中的 Enterprise 2.0 纪元,重心拉回 edge,世界被抹平,人人都能发声,人与人的距离从来没这么贴近过;edge 和 center 间的交互作用外,有更多 edge-to-edge 和 peer-to-peer 间的协作。钟摆间权力洗牌的戏曲,正一幕幕上演着。 

posted @ 2007-09-07 19:32 CharlieShen| 编辑 收藏

SOA and Web 2.0: 边缘与中心间的重心移转(二)

接着谈 edge vs center 的问题。在 IT 业界,如果要谈 edge 端用户生产力和协作的课题,不管从力度或投入的时间上来看,恐怕没有几个人能超越 Lotus Notes 之父 Ray Ozzie 的。在去年一场由 O’Reilly 主办的 ETech (Emerging Technology) 研讨会中,他提到,多年下来,以下的原则已经成为他个人的 Rule of Thumb (通则、经验法则):

The closer that you can get to a user, in terms of offering the ability to weave together an app or a composite app, the greater the agility in actually solving the problem that user might have.

当科技愈能贴近用户,让他们能[轻易]编织出应用或复合式应用时,解决问题的效率就愈高

这里所说的复合式应用 (composite applications),像 Web 2.0 中的 mashups,就是一个好例子。而在 SOA 中,复合式应用更是未来大宗的应用形式 — 当软件积木以服务的方式一个个创建起来后,开发人员不再需要熟悉专有系统的程序语言和 API,而是使用高端开发工具,根据最新的需求,将 Web services 快速组装成新的应用。

在 Ray Ozzie 自创的 Groove Networks 尚未被微软收购、Ozzie 本人成为微软的 CTO 之前,在一场接受 Gartner 的深度专访中,Ozzie 谈到 edge 和 center 间的重力平衡问题,也就是上次提到的「钟摆」。谈到在企业领域中,edge 和 center 间的力量分配问题时,他说:

The same edge-versus-center tension has happened in the realm of business solutions. The greatest amount of value that Lotus Notes ever provided, besides the email infrastructure, was as a rapid application development platform that people at the edge of the organization - in a business unit - could use to whip up an application that solved their problem instantly. Just-in-time, disposable solutions. As Notes was more embraced as central infrastructure, IT buyers demanded that end-user design capabilities be re-shaped to target the needs of professional developers. Notes environments became “locked down”, and people closest to the needs lost their ability to do “self-service” solution development.

他认为早期 Notes 最大的价值,正在于它能 empower 位于 edge 端的业务部门用户,引爆生产力,让他们能随时根据需要,开发出简单的 scripting 应用。这就像后来的 Web,从 1.0 到现在的 2.0,各种高端的 scripting 语言,从 Perl、PHP、ASP、JavaScript、Code Fusion、Python 到最近崛起的 Ruby on Rail,短短的几年间,全世界的编程人口暴增,各种创新的 ideas 和解决方案得以快速得到验证和落实。但是,随着 Notes 的走红,各企业的 IT 部门开始采用它来开发愈来愈多位于 center 的大型应用,Notes 的 IT 客户开始对厂家要求增加愈来愈多的功能,以配合专业开发人员的需求,Notes 的复杂度,让它变得已不再适合 edge 的用户。而这正是 Ozzie 在 IBM 收购 Lotus 后不久,失望离去,另行创业的主要原因。

Notes 所经历的这段产品历程,一点都不独特,其实可算是一个典型的教科书案例,印证了 “The Innovator’s Dilemma” 《创新者的两难》这本巨著中所探讨的现象 — 随着某个企业发明、推出一项成功的产品后,由于该产品在整体业绩上举足轻重的角色,加上对广大既有客户的承诺和责任,企业必须不断投注大量资源来维护这项 产品,并在上面增加愈来愈多的功能,以满足各大客户(翻译:衣食父母)愈来愈多的需求。就这样一年一年下来,潮流开始转变,扰乱性科技 (disruptive technologies) 和相关商品开始出现,这家具备相当规模的成功企业,开始接到来自小型、更机动灵活的新创公司的挑战。或许这家成功企业当初也已经观察到趋势的转变,但为了 怕发展干扰性产品,会侵蚀到自己原先独霸市场的「金母鸡」,终令该企业裹足不前,走上被新创公司击垮的命运。

Web 2.0、SOA,SaaS,与尚在发酵的 Enterprise 2.0,正是当今的干扰性科技。Google 这个后起之秀对微软所带来的强大挑战,更是不在话下。

而就当今 edge 和 center 间的重心转移问题,Ozzie 在专访中的这段话,算是为 SOA 和 Enterprise 2.0 时代下了一个很好的注脚:

In short — although central IT continues to play a large role, the most important decisions for the business are made closer to the edge, at the line-of-business level.

一个有趣而值得一提的小插曲 — 专访开始,Ozzie 被问到的第一个问题是: 当科技开始成为许多人生活中不可或缺的一部分、变成一个自然的扩展时,你认为当今哪些信息科技已经成为人们的第二天性 (second nature)?Ozzie 回答说,第一个浮现在他脑海的是 Google。他并举例说,有一次陪同太太参加幼儿园同学会,和朋友聊到某位多年未见的同学,大家都好奇这位同学现在怎么样了。几分钟后,Ozzie 拿着笔记本计算机到他们面前,问说你们谈的是不是这位?把大家吓了一跳。

加入微软、更被盖兹赋予科技舵手的重大使命之后,他对 Google 的赞美恐怕已不再能像过去那般毫不犹豫地脱口而出。

posted @ 2007-09-07 19:31 CharlieShen| 编辑 收藏

8)应用程序专门化

  一旦完成了逻辑模型,您就有效地定义了一个规范的信息模型。这个模型的定义将完成您的信息模型的初始设计,就意味着您已经有效地开始将数据变成信息。还有最后一步,就是进一步改进您的信息模型:应用程序规范。

  不是所有的消费应用程序将会直接使用规范的信息模型。应用程序规范为消费应用程序提供一个抽象层来定义它们自己的特定于其自身需求的逻辑模型。

  应用程序规范封装了消费应用程序需要的额外的信息模型状态和行为,简化了消费应用程序对规范的信息模型资源的使用。由于每个消费应用程序或者一组关联的业务应用程序的应用程序规范都是惟一的,所以不需要在规范的信息模型中包括它们。如果应用程序规范包含更大范围(例如,跨部门或者跨企业),那么它应该成为规范的信息模型的一部分。

posted @ 2007-09-07 19:30 CharlieShen| 编辑 收藏

 结束语

  为SOA参考架构创建数据服务层和为组织定义规范的信息模型是困难的,这些任务实现起来都非常困难,而具有挑战性的任务又很少能赢得什么荣誉:实现起来非常困难,很少能够做到最好。本文所述的方法应该能给您足够的信息去规划、评估和开始设计数据层的SOA转换,并将组织的数据变成信息。在实际当中,SOA参考架构的数据服务层的规划、设计和开发依赖于许多特殊的因素,这些因素特定于您的组织或状况,它们已经超出了本文所讨论的范围。

  既然我们已经开始在SOA系统中把我们的数据变成信息,那么我们可以考虑把这些信息变成知识。本系列的第二篇也是最后一篇文章“SOA中的数据,第二部分:将信息转换成知识”将介绍这一过程。

posted @ 2007-09-07 19:30 CharlieShen| 编辑 收藏

5)数据建模

  从第一个选定的资源开始(我建议您首先端到端地制作一个资源,也许不是最高优先级的那个,这允许您使用控制度更高并且便于管理的方式实现数据管理和数据服务层的SDLC过程),对现有的物理方面进行检查。对于数据库或者一组表,考虑来自用户的各种查询、数据库的逻辑存储过程及其触发器、各种具有副作用的操作。这构成了物理数据资源定义和描述。对于信息访问,要使用什么呢?MOM、第三方适配器、专有的集成或者点对点的定制集成?这构成了物理信息资源定义和描述。

  由于数据服务层是完整的SOA参考架构的一部分,所以应该规定SOA构建块的定义和要求。您的资源的当前状态与SOA RA构建块的目标状态之间很可能存在差距。业务的第一步是引导当前的物理状态尽可能地接近您的SOA构建块目标状态标准。您可能会想起前面讨论的关于SOA参考架构中“服务”的定义和描述。为简单起见,假设您的服务定义要求包含WSDL、SOAP和用XSD定义的文档样式。其它推荐的规范包括 WS-Addressing和XQuery/XPath。有了这个定义,我们需要考虑怎样把关系数据库、XML数据和/或信息访问系统中的表转换或者映射到一组满足构建块服务定义准则的服务上。

  有许多不同的工具和技术可以映射现有的数据和信息访问资源到图2所示的物理数据层,定义与您的特殊要求和服务定义一致的逻辑服务模型。BEA的 AquaLogic Data Services Platform(ALDSP)是我们的从数据/信息访问资源向SOA构建块(数据服务)转换的实现技术,它为您的SOA参考架构提供了基于标准的、面向服务的数据服务层。

  一旦您导入了您的物理资源(不考虑它们的接口和实现),您就有了物理的数据服务层(参见图2)。物理的数据服务层中的服务有着一致的外观和表示——即底层的实现细节和通信协议被抽象化和封装,并且从视图中移除(必要时,您仍然可以访问底层),只提供了资源定义(服务定义)和操作的信息。 既然您有了自己的“数据”,下面该定义您的逻辑模型。

posted @ 2007-09-07 19:29 CharlieShen| 编辑 收藏

6)逻辑建模

  逻辑建模的目标是抽象、集成、规范和管理一个或多个物理数据服务的集合,可以将这些操作抽象到两个层上:逻辑数据标准化层和逻辑数据集成层,如图2所示,它们也有一组可用的规则:管理规则、数据规则、集成规则和业务规则。

  在进一步讨论之前,需要注意: ALDSP允许支持您的逻辑抽象设计要求所需的任何逻辑层。这些逻辑层只是面向设计时的,其作用是允许设计和开发人员有效地分离和分层逻辑模型和内容。这些逻辑层不是运行时部署的一部分——也就是说,即使设计时可以有若干逻辑层,但它们并没有对应于运行时的一组间接层。通过平展和优化,它们成为一个运行时层。开发和操作人员能够察看这些运行时工件和优化,并且在认为必要时进行调整。

  您可以规定一组不同的准则和因素作为逻辑模型层的基础,而不是我在这里所使用的。例如,可以有单独一个层来包含所有的逻辑抽象,也可以有若干个逻辑层。经证明,逻辑层太少可能有限制作用并可能随时间增加了复杂性。至少,您应该规定一组准则来确定逻辑抽象层和它们所包含的内容。

  例如,您可以有一个逻辑抽象来执行标准化,如图2所示。逻辑数据标准化层允许您“清除”和简化任何复杂的或混乱的信息。改变那些您不直接拥有或负责的现有数据库或者其他系统的物理结构通常也是困难的,或者任何程度的改变都是不可行的。逻辑数据标准化层让您可以重新构建而不必强制改变物理数据层。(如果您需要关于“数据标准化”的更多信息,我建议您用“数据标准化”进行Web搜索,会了解到更多的相关内容和要求。)这个逻辑层提供一个模型设计,当更新或退出直接使用这些数据资源的系统时,它可以用作未来物理数据和信息的模型。逻辑数据服务的目标是提供一个高级共享服务和消费应用程序更加易于使用的、更加易懂的和更加可重用的服务模型。

  第五步和第六步可以颠倒次序。关键是确保逻辑模型不受当前物理资源的过度约束。换句话说,在逻辑模型将要利用物理数据服务的时候,不要让当前那些物理资源的局限性限制它们,或者对您的整个数据服务层设计施加过度的影响。物理资源是起点,接着是建立更丰富的更多表示形式的模型。

posted @ 2007-09-07 19:29 CharlieShen| 编辑 收藏

7)信息规则

  规则和规则的处理决定了数据是怎样变成信息的。它们在数据服务层提供了关系、语义和行为。如图2所示,规则分为几类:

  1. 管理规则给出利用物理数据层的系统和数据资源的各种要求和/或限制。这可能包括安全性、访问窗口(日期/时间)、缓存,元数据、事务和各种副作用或需要执行的辅助操作(例如,登录和审计)。
  2. 数据规则提供验证、一致性、反复确认和其它与数据准确性和一致性相关的规则。它们也能在物理模型或逻辑模型中提供缓存管理和其它的副作用。数据规则可作用于表级别、行级别、列级别或字段级别。
  3. 集成规则提供跨逻辑数据层和物理数据层的映射和一致性。集成映射更高一级的抽象到对应的逻辑层或物理层。例如,一个位于更高一级的抽象的用户ID是新的规范的数据模型的一部分,这个模型转换自/被转换到几个底层的来自若干用户数据库和/或后端系统的本地格式。集成规则位于系统和/或数据库层。
  4. 业务规则提供有意义的业务关系和一些业务逻辑,即行为。面向对象编程考虑的是封装在模型对象中的状态和行为。在数据服务中,业务规则扮演一个类似行为的角色。业务规则在数据模型层捕捉业务处理逻辑。这个逻辑是业务实体的恰当定义的基础,也是这个业务实体与其他业务实体的关系的基础,这些实体的关系是跨所有应用的业务实体固有的,例如,在一个企业级的或至少一个部门级的范围里。在这些规则中,有些是在规范的模型中定义的,而另外一些是在应用程序规范模型中定义的。
posted @ 2007-09-07 19:29 CharlieShen| 编辑 收藏

 1)盘点现有的数据和系统访问资源

  第一步是确定数据内容,即您您当前的数据和信息系统访问资源。您您的组织拥有哪些数据和信息资源(本文后面,简称为“资源”)?例如,数据库、信息资源和应用程序(指遗留系统、记录系统)。对于每一个资源,您需要了解支撑元数据,如文档、历史、技术/工具/产品/平台、版本、所有权/管理部门、位置、安全性和访问机制。根据资源及其元数据的数量,您可能想考虑某些元数据目录或者储存库,也可能是一个或一组标准模板,能够以一致的方式获取元信息并允许进行检索。

posted @ 2007-09-07 19:28 CharlieShen| 编辑 收藏

2)确定依赖关系矩阵

  一旦您已经开始创建资源目录,第二步就是确定依赖关系矩阵。依赖关系矩阵也是资源元信息的一部分,它获取关于资源的使用者、使用时间、使用频率、使用目的(例如,CRUD)和使用地点(即,访问类型——成批的、在线的、实时的或报告式的)的信息。了解用户为何使用某个特殊的资源也是很重要的,这将有助于任务优化,而且为新的数据模型提出要求。

  一旦您得到了使用某个资源的每个已知用户的情况——“使用者、使用内容、使用地点、使用时间、如何使用以及为什么使用”,您就可以开始分析和形成所有资源用户的概括。这样做的目的是要找到在现有资源向SOA构建块转换的过程中进行简化和重用的可能。它们包括,但不限于,那些面向服务的、自描述的和可发现的资源,这些资源能够便捷地应用于采用开放的、公共的、行业和/或企业标准的SOA生态系统。

  在这组SOA构建块中包含的一个定义是您的服务定义。要使用什么样的标准、规格和版本呢?例如,可能会要求 WSDL、SOAP、UDDI、WS-Security、WS-I Basic Profile、WS-Addressing、XML和XSD之中的某一个的特定版本,而其它的则可以是可选项/推荐项。数据和信息访问资源很可能会采用与基本SOA构建块定义(即服务)一致的格式。(使用您喜欢的搜索引擎搜索“Service Identification”和“Service Definition”这两个主题可以找到这方面的内容。)

posted @ 2007-09-07 19:28 CharlieShen| 编辑 收藏

建立基线度量/SLA

  由于每个编目好的资源已经以某种方式存在,所以应该具有预测的或者实际的产品使用统计信息,包括事务规模、模式、并发用户、可靠性、可用性、可伸缩性和性能(RASP)等方面的信息。

  使用信息也很好地表明了业务和IT的价值和优先权。这个基线信息用来定义一组度量,这组度量将构成服务级别协议(SLA)并允许目标定义和历史跟踪。为了支持 SOA的数据服务层,要规划软硬件的大小和容量,在这一过程中,度量和当前产品信息的价值是无法估量的。确定您的SLA是双向的,即服务提供者针对每个用户定义SLA术语、条件和处罚;用户应该遵守这个协议。

  例如,一个协议声明用户A每天(这里指一天24小时,从午夜GMT12:00开始计算)可以在DataServiceXYZ(资源/服务的提供者)上执行最多100个get()请求,而每个请求的响应时间将≤2秒。如果用户A发出了超过协议规定的最大数量的get()请求,那么服务提供者能够根据协议规定对其处罚。对服务提供者也有相应的要求。如果用户A的请求数量不大于规定的最大值,则服务提供者必须提供≤2秒的响应时间,否则就要面对协议规定的相应的处罚。

  度量和SLA定义约定的要求和规则,这些要求和规则影响每个资源的价值、目标和规模的基础。跟踪并重用您的基线度量、SLA,建立一个成本和效益模型。

  有了上述的一定程度的一组已获取信息,应该可以在所有其它的编目好的资源上下文中开始评价每个资源——即,指定每个资源的优先权。一个好的策略是拥有最少3个、最多10个优先权级别(过多了);小于3个不够,多于10个难于管理。

  优先权分配的目的是帮助识别在应用上最重要的资源和所支持的业务功能的价值。您应该设计一组度量(包括第三步中的那些)和定义来根据经验比较和评价每个资源,以确定其优先级。分配资源优先级将有助于确定项目的合理起点、潜在的∵业务/IT赞助和相关的业务价值。

  当这些资源向SOA构建块转换时,使用上述的所有信息能够建立、记录和跟踪每个资源的“当前使用”快照。对于剩下的几个步骤,应该在所有编目好的资源中选择那些被指定为最高优先级的资源。实际数量的选择要根据您的风险评估、优先权评价、业务/IT目标、资源以及其它类似的因素来进行。

posted @ 2007-09-07 19:28 CharlieShen| 编辑 收藏

SOA中数据的价值

  各种组织对于定义和细化自身SOA参考架构(SOA RA)有着不同的动机、出发点和优先次序,向SOA转换时可能会发生变化。规划设计SOA RA的完整方法应该包括数据服务(data services)层。本文采用数据服务层这一术语包含数据和信息访问服务。

  如果在SOA RA中没有企业数据服务层,则其后的业务项目将被迫开发成特定于每一个应用程序的专用“点”或者一次性解决方案。几乎没有通用性,几乎没有共享的服务定义、重用和一致性,规范的数据模型的定义也会变得难懂。如果认识到SOA的优点,则会逐渐认识到它的众多优势。我们很可能都看到过这样的统计信息:企业应用程序软件开发的50%到80%的项目资源消耗在数据集成任务上。这一“事实”应该足以确定在任何SOA实现中数据服务层是必不可少的一部分。企业软件解决方案的主要设计目标是数据处理,结合这一概念, SOA 中数据的价值应该非常明显。

  图1展示了BEA的SOA参考架构较高层次上的概念,它说明了位于上面的几个层。注意,数据服务层位于第一个区域,这表明它在SOA RA中的重要性。

posted @ 2007-09-07 19:27 CharlieShen| 编辑 收藏

关于数据访问和连通性服务的注释

  访问数据资源的数据访问服务通常被总称为企业信息系统(EIS),也叫数据库和文件系统。它们可以是遗留系统、记录系统,包装好的商业应用程序、用户、伙伴、第三方应用程序和服务,以及Web services。它们的共同之处是向其他应用程序提供数据和/或信息(在本文中的意思是行为)。因此,这些应用程序在通过数据访问层被访问时就是数据的另一种形式或另一个数据源。在一个更高的抽象层上,数据服务与消费应用程序看上去一样,这是SOA RA的数据服务层的主要目标(标准化/一致性)之一。公开的接口与一个或多个数据库、表、后台、遗留系统、快速收缩的系统和/或外部系统交互,这是数据服务层封装的一个实现细节。

  连通性服务以基于标准的方式将应用程序和数据库公开为应用程序服务。

posted @ 2007-09-07 19:27 CharlieShen| 编辑 收藏

将数据转换成信息

  假设您的组织正计划向 SOA转换。 SOA RA的所有层和所有方面(见图1)的研究和规划已经开始,您的任务是数据服务层的实现。现在该怎么办?想想下面的几个步骤:

  1. 盘点现有的数据和系统访问资源
  2. 确定依赖关系矩阵
  3. 建立基线度量/SLA
  4. 设置资源优先级
  5. 执行数据建模
  6. 创建逻辑建模
  7. 设置信息规则
  8. 建立应用程序规范

  图2是SOA RA数据服务的一组可能的内部抽象层示例,这里将采用我们的9个步骤来映射这些需求和性能。

posted @ 2007-09-07 19:27 CharlieShen| 编辑 收藏

为什么使用数据?

  数据是普遍存在的(data是复数;datum是单数,尽管“data”能够同时使用单数和复数)。大部分 IT工作的核心就是收集、分发和管理数据,并且当需要数据的时候、在需要数据的地方、以要求的方式为需要数据的人(拥有正确的权限)提供数据。有些人可能会想起在IT(“信息技术”)这一术语出现之前,多数的企业把他们的“计算机部门”及其工作称为DP或“数据处理”。

  在过去、现在和可预见的将来,数据是所有技术浪潮中一个不变的常量。同样的数据,过去由(很可能仍然是)大型机处理,现在也很可能已经由一个或多个的客户机-服务器、CORBA/DCOM、 Java EE、.NET、 Web services、SOA和Web 2.0来完成。随着时间的流逝,数据的存储、格式和传输可能已经改变,数据的处理方式可能已经改变,但是“数据”依然保留(而且还在增加)。其实,所有工业技术浪潮有着一个相同点:它们都是新的或者改良的数据处理方法。数据就是基础。如果您您也认为数据是企业解决方案的基础,则由此得出结论:数据(以及数据建模/管理)也是SOA(与Web 2.0)的企业架构需要优先考虑的事情。

posted @ 2007-09-07 19:26 CharlieShen| 编辑 收藏

数据是什么?

  让我们先看一下字典中“数据”的定义,然后对其进行补充。就本文而言,数据是基本的、最小的,或者拥有一些结构、关系和状态的“信息”片断的底层集合,但不包括行为。例如,一个包含街道地址、城市等数据列的地址表是数据。就像一个用户表中的地址定义。数据是结构和状态,但没有行为。数据是构成信息的原始的构建材料。数据是信息的前提。

posted @ 2007-09-07 19:26 CharlieShen| 编辑 收藏

信息是什么?

  让我们再看一下信息的定义,然后对其进行补充。就本文而言,信息是数据的集合,是提供附加的形式、基本关系、语法和语义上下文的基本逻辑——也就是说,它是状态和核心模型行为。例如,确保ZIP码有效并与城市一致。信息是数据的扩展,它向和域(语法和语义)上下文一致的行为模型提供映射或关联数据、定义逻辑的能力。信息基于数据,需要数据。换句话说,信息表示封装了状态(数据)和行为(逻辑)的实体(主体,对象)。可以认为信息类似于面向对象编程中的模型类的实例,这个实例包含用于保持状态的数据成员(实例变量)和提供(模型)行为的方法。

posted @ 2007-09-07 19:26 CharlieShen| 编辑 收藏

数据和数据管理是几乎所有企业软件解决方案的关键因素。SOA也不例外。有效的数据建模和管理是成功实现SOA的基础。要将数据提高一个层次,需要把数据转换成信息;要将信息提高一个层次,需要把信息转换成知识。

  本文是关于“SOA中的数据:将数据转换成知识”的两篇系列文章的第一篇。本文通过SOA参考架构(SOA RA)的定义介绍了在SOA中从数据到信息的转换方法,它构成了完整SOA转换方案的一部分,并且还讲述了一个企业SOA的实现。这个系列的第二部分描述了在SOA中从信息到知识的转换方法,这是对完整SOA转换方案的一个扩展,并且还描述了一个企业SOA RA的很有价值的扩充。

posted @ 2007-09-07 19:25 CharlieShen| 编辑 收藏

小结 Web 2.0

Web 2.0 是一个新事物吗?不是,它是 Web 连续演变过程中的一环而已,是一个用来表示人们使用 Web 的方式所发生的重要变化的符号。这些变化背后,是一系列设计原则和模式,是一组基本特征,是支持这些设计原则和特征的技术选择和编程模型。它们以简单性、易用性、社区与参与架构所支持的网络效应和用户增值带来的群众智慧,以及软件即服务的交付模式为基本指向,奠定了一个基于 Web 实现的 SOA 架构风格,即 Web Oriented Architecture。WOA 跟 SOA 相辅相成,各自适用不同的情景,WOA 将 SOA 扩展到 Web,又将 Web 引入 SOA,使得 SOA 的服务和数据资产,可以被更多的人,以更加简单、易用的方式使用起来。

posted @ 2007-09-07 19:23 CharlieShen| 编辑 收藏

向前,向前,再向前:从 Web 2.0 到 Web 3.0

Web 2.0 只是 Web 的一个发展阶段,它还在成熟的过程中,不过 Web 的发展是连续的,人们已经开始在谈论 Web 3.0,也就是如何将因特网转化为一个以 3D 为基础的虚拟世界,如何利用人工智能,如何将互联网转化为真正的语义网。这些发展都是非常激动人心的,它们的发展成果将像 Web 2.0 一样,给我们的商业、社会和技术带来深远的影响。让我们拭目以待,积极参与和推动吧。

posted @ 2007-09-07 19:23 CharlieShen| 编辑 收藏

Web 2.0 成功的核心模式

Web 2.0 和过去的 Web 1.0 之间有什么不同?讨论这个话题,最权威的莫过于 Tim O'Reilly 所写的“什么是 Web 2.0?”,我在这里拾人牙慧,概述一下我的理解。

Web 的演变是持续进行的,Web 就像是有生命的实体,在不断生长,所以当我们说 Web 2.0 和 Web 1.0 之间的差别时,是一个相对静态的阶段性观点,而不是绝对的。

如前所述,Web 2.0 是指互联网泡沫之后,人们使用 Web 的方式的巨大变化,开发人员、最终用户和商家,都在不断地实践新的方法。几年过去,他们取得了很多了不起的成果,缔造了很多成功的 Web 2.0 公司,从 Google、Salesforce、MySpace、Flickr、Delicious、YouTube、Linkedin 到今天十分火爆的 Facebook,具有 Web 2.0 特征的公司,风起云涌。如何定义 Web 2.0 不重要,重要的是 Web 2.0 背后的模式和原则,这些模式对于 Web 2.0 的成功至关重要。

Web 2.0 具有八个核心模式,它们分别是:

  1. 群众智慧(Collective Intelligence)

    建立一个参与架构,借助网络效应和算法,使得软件随着使用的人越来越多而变得越来越好。

  2. 数据,下一个“Intel Inside”

    利用独特、难以复制的数据源,成为这个时代的“Intel Inside”,其中,数据变得跟功能一样重要,成为核心竞争能力。

  3. “复合”创新

    建立一个平台,通过数据和服务的组合,来创造新的市场和机会。

  4. 丰富用户体验

    超越传统的 Web 页面模式,让在线应用拥有桌面应用一样的丰富用户体验。

  5. 支持多种设备

    支持各种连接到因特网的设备,为用户提供无所不在、无缝的在线体验。

  6. 软件即服务(Software as a Services,SaaS),和永久试验版(Perpetual Beta)

    改变了传统软件开发和使用的模式,转向永久在线、持续更新、软件即服务的模式。

  7. 利用长尾

    借助因特网带来的接触极大规模客户的能力以及极低成本的营销方式,来获得细分的“利基”(niche)市场的利润。

  8. 轻量级模型和低成本优势的可扩充能力

    利用轻量级的商业模型和软件开发模式,来快速、廉价地构造产品和服务。

以上几个模式,分别关注不同方面,但是它们由如下几个 Web 2.0 的特质而相互关联起来:

  1. 大规模互连

    今天我们从过去一对多的发布和通信,转向多对多的连接,网络效应使得边际同核心一样重要,颠覆着旧的通信、发布、分发和聚合模式。

  2. 去中心化

    这种大规模互联,也颠覆着传统的控制和权力结构,带来更大程度的去中心化。从全球信息流动,营销,到新产品设计,这种发自底层的草根力量, 都在“叫板”来自权力阶层的声音。系统更多地从通过边沿的拉动来生长,而不是借助核心的推动向外生长。

  3. 以用户为中心

    网络效应给予用户前所未有的力量,他们参与、对话、协作,最终产生巨大的影响。消费者可以说话、交流和讨论他们的经验,他们拥有控制权,积极主动地影响着产品的方向,同时也对那些积极应对的公司报以忠诚和口口相传的口碑营销。

  4. 开放

    这种开放性,是以因特网的开放技术标准为基础的,但很快地演进到一个由开放应用所构成的生态系统,这些应用建构在开放数据、开放 API 和可重用的组件之上。开放,还意味着超越技术层次的更大程度的透明性,如公司对外沟通,共享知识产权、产品的开发过程等。

  5. 轻量级

    软件由小团队使用敏捷方法设计和开发,使用简单数据格式和协议,采用运行开销小的平台和框架,应用和服务部署简易,商业上力图保持低的投资和成本,营销上利用简单的消费者之间的口口相传来形成病毒式传播。

  6. 自然浮现

    不是依靠预先完整定义好的应用结构,而是让应用的结构和行为随着用户的实际使用而灵活适应和自然演变;成功来自合作,而不是控制。

这些特质,Web 2.0 的应用体现得越来越多,由这样的应用所构成的应用生态系统,具备了将大规模个性化的信息和服务带给极大规模普通人的潜力。

posted @ 2007-09-07 19:22 CharlieShen| 编辑 收藏

首先,Web 2.0 带来了“简单性”,也就是软件容易使用、易于组合和混用、易于扩展。这对传统软件,尤其是企业软件来说是很不简单的一个改变,因为企业软件过去高高在上,往往需要花很大的力气来集成,需要专业人员来维护和扩展,用户也需要经过训练才能很好地使用软件。

其次,Web 2.0 带来了“软件即服务”的观念,用户付费即用,无需操心开发、安装、部署和运营维护,开发的过程也极大程度地由用户驱动,用户需求的反馈非常及时。

还有就是社区和用户增值,也就是用户不只是纯粹的消费者,他们还是生产者,系统利用他们贡献的数据(比如 标签、意见)和行为,通过网络效应和算法,获得“群众智慧”,利用它们构成的社会网络,获得口碑相传。

这些设计原则和模式,被人们总结为 Web Oriented Architecture,简称 WOA。WOA 与时下企业软件正流行的 SOA,采用同样的设计哲学和理念,也是以服务为中心的架构模式,只是它主要采用来自 Web 的概念和技术来构建服务架构:

  1. 使用 REST 来表示和访问服务,每个网络资源(或者说实体)可以用一个 URL 来唯一地表示和确定,其上只有 GETPOSTPUTDELETE 四个操作;

  2. 数据被编码成 XML 文档或者 ATOM Feed 以用来交换数据,在服务器和浏览器之间,也可以使用 JSON 编码的文档;

  3. 基于 AJAX 的丰富用户体验;

Web 2.0 的编程模型正在形成,它包括下面几个重要部分。

  1. 一个轻量级的编程模型,就是使用 REST 和 Feed,有时也考虑 SOAP,比如 Amazon 既提供 REST 也提供 SOAP,社区里使用 REST 的比例要更高一些。

  2. 数据服务,数据服务将不同来源的数据结合、过滤、转换、消除不一致性,提供必要的质量保证,比如数据一致性、安全、访问控制和数据管理。

  3. 提供丰富用户体验的因特网和 Web 应用,结合使用 AJAX、HTML、XHTML、CSS、DOM、XML 和 XSLT,利用 XMLHttpRequest 和 JavaScript 将一切绑定在一起,使得在线应用提供如同桌面一样的丰富用户体验。

  4. 可“混用”(Mash-able)的资产,将内容和 IT 资产变成可以灵活重组的资产,利用互联网轻量级的内容聚合方法来建立复合 Web 应用。

  5. 企业 Mashup 平台,让那些需要内容和信息的人们,可以轻松的聚合和重组来自不同地方的内容和数据,快速满足他们因情景而不断变化的需求。

posted @ 2007-09-07 19:22 CharlieShen| 编辑 收藏

WOA 将企业 SOA 的服务,带给更多的人,带给那些对 IT 不是太了解的普通用户和业务部门的雇员(Line of business persons)。

首先,WOA 将企业 SOA 提供的服务提供到 Web 上,将企业的服务延伸到了全球范围,并且简化了:

  1. 开发
  2. 服务组和
  3. 部署和可访问能力
  4. 质量保证:性能、可伸缩性和安全性

反过来,企业在将自己的 SOA 服务扩展到 Web 的同时,也在使用来自 Web 的服务和 Feeds。但是二者不能相互取代,很多企业内部的核心流程和数据资产,所要求的企业级安全性、可靠性、可管理能力等,是 WOA 所不能提供的。所以我们说,Web 2.0 是 SOA 的扩展,二者相辅相成,但并非竞争和取代的关系。Web 2.0 提供的丰富用户体验,极度的简单性和易用性,让 SOA 所提供的核心业务服务和数据,能够被更多的普通用户和业务人员,以更简单、更富于个性化的新的方式使用和组合。

posted @ 2007-09-07 19:22 CharlieShen| 编辑 收藏

关于 Web

Web 是一个生长着的、开放的、动态的分布式系统。

Web 始于1989 年,当时英国科学家 Tim Berners-Lee 和比利时人 Robert Cailliau 在欧洲粒子物理研究所(European Organization for Nuclear Research ,简称 CERN)共同提议和构造了在因特网(Internet)上使用超文本来发布、分享和管理信息。Web 是 World Wide Web,即互联网的简称,是一个相互链接在一起、通过 Web 浏览器来访问的超文本文档系统。浏览器里看到的网页,可能包含文本、图像以及其它的多媒体,通过文档之间的超链接,可以从一个网页浏览到其它网页。

Web 逐渐在科研和大学中流行起来,然后走向大众,变成人们生活、娱乐和工作中的基本工具。在这个发展过程中,Web 拥有了最大量的用户,人们随时在使用它,把它变成了最大的分布式计算系统,基于最广为接受的开放标准,时时新、日日新,成为一个动态生长着的开放系统。

posted @ 2007-09-07 19:21 CharlieShen| 编辑 收藏

Web 2.0 趋势

什么是 Web 2.0?

今天的 Web 跟过去如此不同,所以叫做 Web 2.0,意指一个社会、商业、技术三相融合的发展阶段。

Web 2.0,是由 O’Reilly 公司在 2003 年造的一个词,2004 年召开 Web 2.0 大会之后,这个词就流行起来,意指基于 Web 的下一代社区和托管服务,比如社会网络、维基百科、大众分类等等,帮助 Web 用户协作和分享。

虽然,2.0 似乎在暗示 Web 的升级换代,实际上是指软件开发人员和最终用户使用互联网平台的方式的变化。而在商业上,关于如何才能在这样的一个新平台上获得成功的探索,也从来没有停止过。

那么,这些变化都是什么?核心推动力是什么?

这种使用互联网的方式的变化,与过去多年来快速发展的宽带化、Web 用户规模的快速增长、用户的参与热情,都密不可分。 大规模 普通用户 需要更好用、更个性化、更加以他们为中心、更多样的内容、服务和 应用 ,这就是互联网发展的第一推动力。而对于开发者而言,如何在 Web 平台上快速、便宜地满足这样的需求,推动着他们探索和实践更好的用户体验、更加轻量级的编程模式、软件如何作为服务来运营并提供给用户;与此同时,围绕着如何利用这样大规模的用户群体自己来创造、贡献和共享价值,开发者们又开始思考和探索激活网络效应、群众智慧的参与架构和社会计算模式。商家在经历了上一次互联网泡沫之后,也不断的尝试新的、成功的商业模式,即如何让相互协作和分享的用户口碑相传来病毒式地营销,如何利用这种用户社区的传播和推荐能力来开拓大规模的个性化服务,从大规模单一市场转向选择性极大并丰富的多样化市场,即长尾经济。

技术、商业和社会三种因素融合式地共同发展,相互推动,经过几年全球范围的尝试和实践,新的技术范型、商业模式和生活方式不断涌现,Web 变得更加开放、动态,社区也更加去中心化,人们却又能够更加紧密地协作和分享,内容、服务和应用更加的多样化和个性化,商业模式也逐渐走向如何满足大规模的小众需求。

posted @ 2007-09-07 19:21 CharlieShen| 编辑 收藏

1、引言

  近年来,随着信息化建设的总体思路进一步明确,应用系统建设稳步推进,信息应用水平不断提高,信息化基础建设快速发展,河南省国税局按照“统筹规划、统一标准,突出重点、分步实施,整合资源、讲求实效,加强管理、保证安全”的原则和一体化建设要求,以金税三期建设思路为指导,加快税收管理信息系统建设,强化信息应用,创新管理方式,为实施科学化、精细化管理提供有力依托,促进税收事业健康发展。

posted @ 2007-09-07 19:10 CharlieShen| 编辑 收藏

 2、SOA(Service-Oriented Architecture)

  SOA(面向服务的体系结构)是一种 IT 体系结构样式,支持将业务作为链接服务或可重复业务任务进行集成,可在需要时通过网络访问这些服务和任务。这个网络可能完全存在于一个地方,也可能分散于各地且采用不同的技术,通过对来自各地的服务进行组合,可让最终用户感觉似乎这些服务就安装在本地桌面上一样。需要时,这些服务可以将自己组装为按需应用程序——即相互连接的服务提供者和使用者集合,彼此结合以完成特定业务任务,使业务能够适应不断变化的情况和需求。

  这些服务是自包含的,具有定义良好的接口,允许这些服务的用户(客户机或使用者)了解如何与其进行交互。从技术角度而言,SOA 带来了“松散耦合”的应用程序组件,在此类组件中,代码不一定绑定到某个特定的数据库(甚至不一定绑定到特定的基础设施)。正是得益于这个松散耦合特性,才使得能够将服务组合为各种应用程序。这样还大幅度提高了代码重用率,可以在增加功能的同时减少工作量。所有交互都是基于“服务契约”进行的;服务契约用于定义服务提供者和客户机之间的交互。通常,将通过创建“基于消息的”系统来实现此目标。

  SOA对需要使用信息技术解决关键业务问题的企业(包括希望减少冗余架构、创建跨客户和员工系统的公共业务接口的企业;需要基于角色和工作流对用户提供个性化信息的业务的企业;希望通过Internet实现跨区销售、升级销售和经由移动设备的访问来提升客户服务的组织)很有价值。从业务的角度来说,面向服务的体系结构的重点在于开发能帮助完成业务任务的技术,而不是通过技术约束来规定行动。

  面向服务的体系结构基于实际活动或业务服务进行组织,而不是形成不同的信息竖井。通过实现 SOA,可以带来大量好处,包括以下各个方面:

  (1)更高的业务和 IT 一致性

  (2)基于组件的系统

  (3)松散耦合的组件和系统

  (4)基于网络的基础设施,允许分散于各地且采用不同技术的资源协同工作

  (5)动态构建的按需应用程序

  (6)更高的代码重用率

  (7)更好地标准化整个业务流程

  (8)更易于集中企业控制

  3、数据挖掘

  数据挖掘(Data Mining)就是从大量的数据中抽取出潜在的、不为人知的有用信息、模式和趋势,是一种更深层次的数据分析。这个定义包括好几层含义:数据源必须是真实的、大量的;发现的是用户感兴趣的知识;发现的知识要可接受、可理解、可运用。

  数据是形成知识的源泉,原始数据可以是结构化的,如关系数据库中的数据;也可以是半结构化的,如文本、图形和图像数据;甚至是分布在网络上的异构型数据。方法可以是数学的,也可以是非数学的;可以是演绎的,也可以是归纳的。发现的知识可以被用于信息管理,查询优化,决策支持和过程控制等,还可以用于数据自身的维护。因此,数据挖掘是一门交叉学科,它把人们对数据的应用从低层次的简单查询,提升到从数据中挖掘知识,提供决策支持。在这种需求牵引下,汇聚了不同领域的研究者,尤其是数据库技术、人工智能技术、数理统计、可视化技术、并行计算等方面的学者和工程技术人员,投身到数据挖掘这一新兴的研究领域,形成新的技术热点。

  数据挖掘可按以下步骤实施:

  (1)定义问题

  该步骤包括分析业务需求,定义问题的范围,定义计算模型所使用的度量,以及定义数据挖掘项目的最终目标。

  (2)准备数据

  准备数据就是合并和清除定义问题步骤中标识的数据,数据可以分散在不同的地方并以不同的格式存储,或者可能包含缺陷项或缺少项之类的不一致性。

  (3)浏览数据

  浏览数据是为了了解数据,以便在创建模型时作出正确的决策。浏览技术包括计算最大值和最小值,计算平均偏差和标准偏差,以及查看数据的分布。浏览完数据之后,便可确定数据集是否包含缺陷数据,然后制订纠正这些问题的策略。

  (4)生成挖掘模型

  在生成模型之前,必须随机将已准备的数据分离到单独的定型数据集和测试数据集。使用定型数据集生成模型并通过创建预测查询来测试数据集测试模型的准确性。您将使用从浏览数据步骤中获得的知识来帮助定义和创建挖掘模型。模型通常包含多个输入列、一个标识列以及一个可预测列。定义完挖掘模型的结构之后,需要对其进行处理,使用说明模型的模式来填充空结构。这称为“定型”模型。模式通过利用数学算法计算原始数据而得。

  4、SOA与数据挖掘在税务系统应用

  4.1 SOA是实施数据省局集中,推进信息资源整合,奠定数据挖掘的基础

  SOA基础架构包括三层关键结构,最底层是数据层,主要是高效组织的结构化数据;中间层是集成工具,能够将底层数据的异构和分布结构屏蔽,并无逢内嵌到中间层,提供清晰明确的统一视图和接口;最上层是应用工具,以数据管理为核心,控制非结构化的内容,提供用户所需的信息和服务。

  

  如果基层税务部门提供的数据不真实,或者不全面,税务部门就难以提供准确的数据进行分析决策。用正确的方法去分析错误的数据,显然不能得出正确的结论。另一方面分散的数据也不利于数据挖掘,而实施SOA的一个关键就是高效组织的结构化数据。

  为了避免出现这一局面,从2006年起,税务系统开始实施税收数据的省级集中。这样,省局就可以直接掌握基层税收征管数据,而基层就不能修改软件或数据库中的数据,这为省局能够直接掌握基层的数据提供了条件。

  截至2006年上半年,全国共有31个国税局推广应用了总局统一的综合征管信息系统,部分地税局也在全省范围内统一应用了自行开发的综合征管软件。相关数据已实现了省级集中,31个省国税局征管数据已集中到总局,目前总局已有十大类涉税数据。

  4.2 数据挖掘是税务信息化的核心

  数据集中使省局、总局集中了大量的涉税原始信息,较好地解决了税务机关上下级之间信息不对称的问题,对解决微观领域中税务机关与纳税人之间信息不对称的问题也有较大的帮助。数据集中后,用于开展税收管理、深化税收分析等的信息资源得以大大增加:横向上从入库数、应征数扩大到企业基本信息、纳税申报以至部分生产经营和财务指标;纵向上税收数据的颗粒度大大缩小,可以很快聚焦到最原始的微观领域数据来研究问题。同时,数据集中也使分析的效率得到空前提高。

  数据集中使得海量的税款征收信息流汇集到了税收管理信息系统。通过SOA技术整合信息资源,建立标准统一、内容完整、信息真实的税收经济数据库。一是税款的应征、入库、欠税、缓税、减免税等数据;二是企业纳税申报的有关数据,包括纳税申报表及附表中的有关数据,如销售收入、利润、增值税销项税金、进项税金等;三是主要行业、企业的生产经营指标,如重要产品产销量、价格、库存数据等等;四是有关宏观经济数据,如GDP、工业增加值、投资、消费、进出口等主要经济数据。

  目前河南国税自行开发的电子税源档案全面采集或抽取现有业务系统(税收征管信息系统(CTAIS)、金税工程、出口退税、纳税评估、电子申报等)中的企业涉税信息和各类财务报表数据,经过加工处理和规划存储,建成全省统一的税收业务综合数据库。与此同时,这套系统整合了已有的税务监控、查询分析、报表管理等软件,开发形成集一户式查询、业务考核、报表管理、税负查询、精细化管理和各类业务查询于一身的综合性查询分析应用软件。

  5、结束语

  数据挖掘加强了税源信息综合应用,夯实税收征管基础,提高了各项税收政策的执行力,全面推动税收管理的科学化、精细化。SOA适应数据集中分析应用需要,创新税务管理方式,不断完善税务管理机制。

posted @ 2007-09-07 19:10 CharlieShen| 编辑 收藏

总结:SOA 角色及其对您的团队的意义

本文讨论的关键词是培训。当您决定进行 SOA 项目时,需要仔细考虑团队人员的当前角色,并确保通过培训、指导和调整试验及错误周期来帮助他们准备好进行其在 SOA 中的工作。

posted @ 2007-09-07 19:09 CharlieShen| 编辑 收藏

摘 要 本文阐述了数据挖掘在河南国税的应用,通过实施SOA加强数据综合分析利用,有效的提高了税收征管的质量和效率,促进了收入质量、为纳税人服务水平的全面提升。

  关键词 SOA 数据挖掘 整合 管理 信息化

posted @ 2007-09-07 19:09 CharlieShen| 编辑 收藏

开发人员的角色

在传统 IT 小组中,开发人员通常负责应用程序的一个片段。这些片段可以由功能(如注册中心或报告模块)或技术(如 JavaServer Pages® [JSP]、Enterprise JavaBeans [EJB]、数据库层等等)确定。

由于 SOA 团队通常采用较短的开发周期,所以按技术对开发人员进行划分并不实际。因此,将按功能划分的开发团队转变到新的 SOA 开发人员角色更为容易一些。

成功的 SOA 开发人员将能同时理解业务流程和功能。他们会恰当构建所需的服务来满足业务流程的需求。越来越重要的是,要执行用于错误处理、跟踪/审核、数据转换和安全性的良好设计原则,并确保将其加入到任何服务代码中。由于 SOA 的核心原则之一是重用,所以开发人员必须放弃传统开发人员希望构建一切的想法。如果某个方面的服务已经存在,请使用这个服务——而不要自己从头构建。

由于 Web 服务的技术发展并有大量有关该技术的参考材料可供使用,因此可以说开发人员已经“全副武装”,能充分胜任其在新 SOA 环境中的工作了。

posted @ 2007-09-07 19:08 CharlieShen| 编辑 收藏

业务分析人员的角色

业务分析人员可能是最难得到正确认识的一个角色。作为技术人员兼架构师,我倾向于将架构师视为最关键的 SOA 团队成员。不过,基于经验和最慎重的考虑,我必须指出,作为 SOA 团队中的一员,实际上业务分析人员的工作变化最大。无论开发环境如何,业务分析人员都执行两个主要职能:

  • 与执行人员和策略级的用户沟通,以了解其对系统的要求。
  • 与技术团队成员沟通,以将确定的要求转换为能进行编码和测试的技术规范。

在 SO

业务分析人员的角色

业务分析人员可能是最难得到正确认识的一个角色。作为技术人员兼架构师,我倾向于将架构师视为最关键的 SOA 团队成员。不过,基于经验和最慎重的考虑,我必须指出,作为 SOA 团队中的一员,实际上业务分析人员的工作变化最大。无论开发环境如何,业务分析人员都执行两个主要职能:

  • 与执行人员和策略级的用户沟通,以了解其对系统的要求。
  • 与技术团队成员沟通,以将确定的要求转换为能进行编码和测试的技术规范。

在 SOA 环境中,业务分析人员还有两项新职能:

  • 与整个开发团队合作,让他们开始以服务 的方式思考问题。(他们需要何种服务来进行其工作?已经存在哪些服务可供使用或在调整后进行使用?如此等等。)
  • 与技术团队合作,以设计和构建必要的服务,可能会利用已经存在的现有服务。

无论喜欢与否,在很多企业中,由于组织使用的技术的局限性,业务分析人员通常会不断更改相关要求。这个问题可能并不能得到消除,但在 SOA 环境中,业务分析人员进行服务设计的空间肯定更大,而不用过多地担心技术。


A 环境中,业务分析人员还有两项新职能:

  • 与整个开发团队合作,让他们开始以服务 的方式思考问题。(他们需要何种服务来进行其工作?已经存在哪些服务可供使用或在调整后进行使用?如此等等。)
  • 与技术团队合作,以设计和构建必要的服务,可能会利用已经存在的现有服务。

无论喜欢与否,在很多企业中,由于组织使用的技术的局限性,业务分析人员通常会不断更改相关要求。这个问题可能并不能得到消除,但在 SOA 环境中,业务分析人员进行服务设计的空间肯定更大,而不用过多地担心技术。


posted @ 2007-09-07 19:08 CharlieShen| 编辑 收藏

项目经理的角色

SOA 环境中的项目经理的角色与传统 IT 环境中的项目经理之间的主要差异在于项目生命周期。无论 SOA 团队采用何种方法(IBM Rational® Unified Process (RUP)、瀑布式、敏捷方法),项目经理通常都需要为每个服务计划较短的交付周期。他们与业务用户和不同服务使用者一起定义服务水平协议 (SLA)。此外,他们必须与多个 IT 小组(如基础设施支持小组)共同确保这些 SLA 是可以实现的。

项目经理在服务运行时进行协调和跟踪方面的角色比跟踪日常服务交付更为重要。不过,由于周期较短,这个工作相对较为容易一些。

posted @ 2007-09-07 19:08 CharlieShen| 编辑 收藏

趋向采用 SOA

软件开发领域的主要发展趋势是从传统软件体系结构过渡到面向服务的体系结构 (SOA)。在传统软件体系结构中,将项目视为单个新应用程序的交付。在 SOA 中,将项目视为集成服务的交付——一些是新建的,一些是现有的。无论其规模和预算如何,几乎所有信息技术(Information Technology,IT)部门当前都在进行过渡到 SOA 的工作。您可能已经读过多篇关于 SOA 采用、成熟度模型和实现的文章了。本文将描述在组织采用 SOA 或过渡到更高的 SOA 成熟度水平的过程中,您的 IT 团队成员中所需的一组新角色及其各自的职责。

在形成 SOA 团队时,最大的范式转换是从组合应用程序交付过渡到服务交付。传统软件开发人员通常构建应用程序中的一个模块,或典型的三层体系结构中的单个层的一部分。开发人员的一个例子就是在模型-视图-控制器(Model-View-Controller,MVC)体系结构中负责控制器或模型层的人员。在 SOA 环境中,这些开发人员现在负责服务实现。他们并不需要知道何时、如何或为什么调用服务以及谁调用服务。他们所关心的就是,服务进行什么工作以及需要符合什么样的服务水平协议(Service Level Agreement,SLA)。

为了进行此范式转换,您需要形成完整的 SOA 团队,其中的每个角色的职责与传统软件开发团队中的相同角色略有不同。本文将说明 SOA 团队中以下角色的情况:

  • 架构师
  • 开发人员
  • 业务分析人员
  • 项目经理

在典型的 IT 组织中还包括多个其他角色,包括基础设施支持、数据库支持、安全性等等。不过,了解了这些主要角色如何改变后,您就能够对其他角色进行调整,以与其匹配。

posted @ 2007-09-07 19:07 CharlieShen| 编辑 收藏

理解架构师的角色

在较大的组织中,通常有两个体系结构小组。企业体系结构小组定义组织内的每个应用程序小组都必须遵循的控制策略、最佳实践和过程。应用程序体系结构小组负责其特定应用程序的体系结构,确保体系结构能够支持当前和将来的业务需求。

企业架构师

在 SOA 组织中,企业架构师的角色是推动和促进 SOA 的采用。他们需要帮助应用程序架构师和各个开发小组理解 SOA 的基础知识并将业务需求转换为有意义的服务,以便这些小组进行实现和公开。

仅由您自己的应用程序或业务流程使用的服务几乎没有价值。企业架构师需要确保所有应用程序架构师定期讨论其项目,以确定他们可以公开或使用的服务。在不能重用现有服务的情况下,企业架构师还需要确保充分利用构建新服务的每个机会。促进对现有服务的重用肯定比编写新服务具有更高的优先级。最后,他们必须确认服务是在可靠的技术之上构建的,且能够满足所确立的 SLA。

企业架构师负责定义测定和跟踪 SLA 的机制。他们定义有关控制、安全性、灾难恢复等等的策略和过程。他们通常是涉及到 Web 服务管理、编排和企业服务总线的解决方案的主要决策者。

应用程序架构师

应用程序架构师的角色是确保所编写的代码是面向服务的,且遵循可用于面向服务的开发的最佳实践和流程。他们需要在不会对解决方案进行过度设计的前提下将业务需求转换为有意义的服务。典型的服务创建和使用比代码的直接调用开销更大。因此,确定作为服务公开的粒度级别以及如何进行公开是此角色的主要工作职能。

应用程序架构师还要与组织中的企业架构师及其他应用程序架构师紧密合作,以确保充分利用每个服务重用机会,且恰当地对服务进行构建、发现、安全保护、使用和测定。

应用程序架构师最终负责服务交付和使用(非功能要求)的所有技术方面的工作,包括 SLA 遵循情况的可测定性、符合控制策略、执行和确保安全策略等等。

阅读不同 SOA 文献中关于架构师的信息时,您可能会遇到术语业务架构师,即应该理解业务情况并设计服务的人员。在我的 SOA 团队定义中,此角色的工作由应用程序架构师完成,而不是由企业架构师完成。应用程序架构师或业务架构师是业务小组和技术小组间负责技术设计方面的协调人,而业务分析人员则是负责业务方面的协调人。

posted @ 2007-09-07 19:07 CharlieShen| 编辑 收藏

关于ALV GRID的颜色
ALV的颜色分为行的颜色、列的颜色和CELL的颜色。
 
1.行的颜色
    需要在要显示的内表中添加一个字段放置颜色信息,比如COLOR(4) TYPE C .
    ITAB-COLOR = 'C700'.
 
    此外,还要根据采用的FM方式还是CLASS方式设置一下显示颜色
  • FM方式: LS_LAYOUT-INFO_FIELDNAME = 'COLOR'.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      IS_LAYOUT   = LS_LAYOUT
      IT_FIELDCAT = LT_FIELDCAT
    TABLES
      T_OUTTAB    = ITAB.
  • CLASS方式:  SLA-INFO_FNAME = 'COLOR'.
      CALL METHOD GO_GRID->SET_TABLE_FOR_FIRST_DISPLAY
        EXPORTING
          IS_VARIANT                    = GS_VARIANT
          I_SAVE                        = 'A'
    IS_LAYOUT                     = SLA
    CHANGING
          IT_OUTTAB                     = ITAB[]
          IT_FIELDCATALOG               = GT_FIELDCAT[]
        EXCEPTIONS
          INVALID_PARAMETER_COMBINATION = 1
          PROGRAM_ERROR                 = 2
          TOO_MANY_LINES                = 3
          OTHERS                        = 4.
2.列的颜色
设置FIELDCAT就可以了,如:TMP_FIELDCAT-EMPHASIZE = 'C500'.  "列的颜色
3.CELL的颜色
需要在要显示的内表添加一个字段:cellcolors TYPE lvc_t_scol.
  ls_cellcolor-color-col = '5' .
  ls_cellcolor-color-int = '1' .
  ls_cellcolor-color-inv = '1' .
  APPEND ls_cellcolor TO list-cellcolors .
  APPEND list.
 
例子:
REPORT  Z_BARRY_ALV_CL_COLOR2                   .
TYPES: BEGIN OF ilist_s ,
      name1(10),
      name2(10),
      name3(10),
 END OF ilist_s.
DATA: ilist TYPE STANDARD TABLE OF ilist_s  WITH HEADER LINE .
DATA: BEGIN OF list OCCURS 0.
        INCLUDE STRUCTURE ilist .
DATA: rowcolor(4) TYPE c ,
      cellcolors TYPE lvc_t_scol ,
      cellstyles TYPE lvc_t_styl ,
      celltext   TYPE alv_t_dtv .
DATA: END OF list.
DATA: ok_code LIKE sy-ucomm.
DATA: l_valid(1) TYPE c.
DATA: go_grid             TYPE REF TO cl_gui_alv_grid.
DATA: gt_fieldcat TYPE lvc_t_fcat,
      gs_fieldcat TYPE lvc_s_fcat,
      sla         TYPE lvc_s_layo.
DATA: ls_fieldcat TYPE lvc_s_fcat.
DATA ls_style TYPE lvc_s_styl .
DATA ls_cellcolor TYPE lvc_s_scol .
DATA ls_celltext     TYPE alv_s_dtv .
*---------------------------------------------------------------------*
*       CLASS lcl_event_receiver DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_event_receiver DEFINITION.
  PUBLIC SECTION.
    METHODS handle_button_click
      FOR EVENT button_click OF cl_gui_alv_grid
      IMPORTING es_col_id
                es_row_no.
ENDCLASS.                    "lcl_event_receiver DEFINITION
*---------------------------------------------------------------------*
*       CLASS lcl_event_receiver IMPLEMENTATION
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
CLASS lcl_event_receiver IMPLEMENTATION.
  METHOD handle_button_click.
    PERFORM test USING es_col_id
                       es_row_no.
  ENDMETHOD.                                                "handle_f4
ENDCLASS.                    "lcl_event_receiver IMPLEMENTATION
DATA: event_receiver TYPE REF TO lcl_event_receiver.
DATA: ii TYPE i .
START-OF-SELECTION.
  CLEAR ls_fieldcat.
  ls_fieldcat-fieldname     = 'NAME1'.
  ls_fieldcat-scrtext_l     = 'NAME1'.
  APPEND ls_fieldcat TO  gt_fieldcat.
  CLEAR ls_fieldcat.
  ls_fieldcat-fieldname     = 'NAME2'.
  ls_fieldcat-scrtext_l     = 'NAME2'.
*    ls_fieldcat-emphasize = 'C610'.
  APPEND ls_fieldcat TO  gt_fieldcat.
  CLEAR ls_fieldcat.
  ls_fieldcat-fieldname     = 'NAME3'.
  ls_fieldcat-scrtext_l     = 'NAME3'.
  APPEND ls_fieldcat TO  gt_fieldcat.
  list-name1 = 'A'.
  list-name2 = 'ARE'.
  ls_cellcolor-fname = 'NAME1' .
  ls_cellcolor-color-col = '5' .
  ls_cellcolor-color-int = '1' .
  ls_cellcolor-color-inv = '1' .
  APPEND ls_cellcolor TO list-cellcolors .
  APPEND list.
  list-name1 = 'AA'.
  list-name2 = 'BB'.
  ls_cellcolor-fname = 'NAME2' .
  ls_cellcolor-color-col = '3' .
  ls_cellcolor-color-int = '1' .
  ls_cellcolor-color-inv = '1' .
  APPEND ls_cellcolor TO list-cellcolors .
  APPEND list.
  list-name1 = 'HOW'.
  list-name2 = 'ARE'.
  list-rowcolor = 'C410'.
  ls_style-fieldname = 'NAME3' .
  ls_style-style = cl_gui_alv_grid=>mc_style_button .
*  ls_style-style = cl_gui_alv_grid=>MC_STYLE_HOTSPOT.
  APPEND ls_style TO list-cellstyles .
  ls_celltext-buttoncell = 'TEST'.
  APPEND ls_celltext TO list-celltext.
  APPEND list.
  sla-stylefname = 'CELLSTYLES'.
  sla-ctab_fname = 'CELLCOLORS'.
  sla-info_fname = 'ROWCOLOR'.
  WRITE 'a'.
  CREATE OBJECT go_grid
        EXPORTING
          i_parent = cl_gui_container=>screen0.
  CREATE OBJECT event_receiver.
  SET HANDLER event_receiver->handle_button_click FOR go_grid.
  CALL METHOD go_grid->set_table_for_first_display
    EXPORTING
*      is_variant                    = gs_variant
      i_save                        = 'A'
      is_layout                     = sla
    CHANGING
      it_outtab                     = list[]
      it_fieldcatalog               = gt_fieldcat[]
    EXCEPTIONS
      invalid_parameter_combination = 1
      program_error                 = 2
      too_many_lines                = 3
      OTHERS                        = 4.
*&---------------------------------------------------------------------*
*&      Form  test
*&---------------------------------------------------------------------*
FORM test  USING    p_es_col_id TYPE lvc_s_col
                    p_es_row_no TYPE lvc_s_roid.
  MESSAGE i899(fi) WITH p_es_col_id-fieldname p_es_row_no-row_id .
ENDFORM.                    " test
posted @ 2007-09-07 19:04 CharlieShen| 编辑 收藏

REPORT z_barry_class_alv_f4_listbox.
TYPE-POOLS: rsds.
DATA: BEGIN OF itab OCCURS 0 ,
        mblnr LIKE mseg-mblnr ,
        kostl LIKE mseg-kostl ,
        bwart LIKE mseg-bwart ,
        handle_drdn           ,
      END OF itab .
DATA: ok_code LIKE sy-ucomm .
DATA: l_valid(1) TYPE c.
DATA: go_grid             TYPE REF TO cl_gui_alv_grid,
      go_custom_container TYPE REF TO cl_gui_custom_container.
DATA: gt_fieldcat TYPE lvc_t_fcat,
      gs_fieldcat TYPE lvc_s_fcat,
      gs_variant  TYPE disvariant ,
      gt_sort     TYPE lvc_t_sort,
      gs_sort     TYPE lvc_s_sort,
      gt_filt     TYPE lvc_t_filt,
      gs_filt     TYPE lvc_s_filt,
      ls_cell     TYPE lvc_s_styl,
      sla         TYPE lvc_s_layo,
      gt_f4       TYPE lvc_t_f4,
      gs_f4       TYPE lvc_s_f4.
*---------------------------------------------------------------------*
*       CLASS lcl_event_receiver DEFINITION
*---------------------------------------------------------------------*
CLASS lcl_event_receiver DEFINITION.
  PUBLIC SECTION.
    METHODS handle_f4
      FOR EVENT onf4 OF cl_gui_alv_grid
      IMPORTING e_fieldname
                es_row_no
                er_event_data
                et_bad_cells.
ENDCLASS.                    "lcl_event_receiver DEFINITION
*---------------------------------------------------------------------*
*       CLASS lcl_event_receiver IMPLEMENTATION
*---------------------------------------------------------------------*
CLASS lcl_event_receiver IMPLEMENTATION.
  METHOD handle_f4.
    PERFORM f4 USING e_fieldname
                     es_row_no
                     er_event_data
                     et_bad_cells.
  ENDMETHOD.                                                "handle_f4
ENDCLASS.                    "lcl_event_receiver IMPLEMENTATION
DATA: event_receiver TYPE REF TO lcl_event_receiver.
INITIALIZATION.
*  gd_repid = sy-repid.
  PERFORM fieldcat_init USING gt_fieldcat[].
START-OF-SELECTION.
  CALL SCREEN '100'.
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
  CASE ok_code.
    WHEN 'EXIT'.
      LEAVE PROGRAM.
    WHEN 'CHANGE'.
      PERFORM change.
  ENDCASE.
  CLEAR ok_code .
ENDMODULE.                 " USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*&      Form  load_data_into_grid
*&---------------------------------------------------------------------*
FORM load_data_into_grid.
  SELECT * FROM mseg INTO CORRESPONDING FIELDS OF TABLE itab
  UP TO 10 ROWS .
  LOOP AT itab.
    itab-handle_drdn = 4.
    MODIFY itab.
  ENDLOOP.
  sla-cwidth_opt = 'X'.
  sla-zebra      = 'X'.
  PERFORM set_grid_drdn CHANGING gt_fieldcat.
  CALL METHOD go_grid->set_table_for_first_display
    EXPORTING
      is_variant                    = gs_variant
      i_save                        = 'A'
      is_layout                     = sla
    CHANGING
      it_outtab                     = itab[]
      it_fieldcatalog               = gt_fieldcat[]
    EXCEPTIONS
      invalid_parameter_combination = 1
      program_error                 = 2
      too_many_lines                = 3
      OTHERS                        = 4.
  CALL METHOD go_grid->set_ready_for_input "处于编辑状态
    EXPORTING
      i_ready_for_input = 1.
  CALL METHOD cl_gui_control=>set_focus    "设置焦点在go_grid 上
    EXPORTING
      control = go_grid .
ENDFORM.                    " load_data_into_grid

*&--------------------------------------------------------------------*
*&      Form  fieldcat_init
*&--------------------------------------------------------------------*
FORM fieldcat_init USING rt_fieldcat TYPE lvc_t_fcat.
  DATA: ls_fieldcat TYPE lvc_s_fcat.
  PERFORM frm_catlg_set USING:
  'MBLNR'  'X' '凭证'       '' 'MBLNR' 'MSEG' rt_fieldcat,
  'KOSTL'  '' '成本中心'   'X'  ''      ''     rt_fieldcat,
  'BWART'  '' '移动类型'   'X'  ''      ''     rt_fieldcat.
  gs_f4-fieldname = 'KOSTL'.
  gs_f4-register = 'X'.
  gs_f4-getbefore = 'X'.
  gs_f4-chngeafter = 'X'.
  INSERT gs_f4 INTO TABLE gt_f4.
ENDFORM.   "fieldcat_init

*---------------------------------------------------------------------*
*       FORM frm_catlg_set                                            *
*---------------------------------------------------------------------*
FORM frm_catlg_set USING p_field p_key p_text p_edit ref_f ref_t
                          rt_fieldcat  TYPE lvc_t_fcat .
  DATA:  tmp_fieldcat TYPE lvc_s_fcat.
  tmp_fieldcat-fieldname     =  p_field.
  tmp_fieldcat-key           =  p_key .
  tmp_fieldcat-scrtext_l     =  p_text.
  tmp_fieldcat-edit          =  p_edit.
  tmp_fieldcat-f4availabl    = 'X'.
  tmp_fieldcat-ref_field     = ref_f.
  tmp_fieldcat-ref_table     = ref_t.
  APPEND tmp_fieldcat TO rt_fieldcat .
  CLEAR tmp_fieldcat .
ENDFORM.                    " FRM_CATLG_SET
*&---------------------------------------------------------------------*
*&      Form  change
*&---------------------------------------------------------------------*
FORM change .
  IF go_grid->is_ready_for_input( ) = 0.
    CALL METHOD go_grid->set_ready_for_input
      EXPORTING
        i_ready_for_input = 1.
  ELSE.
    CALL METHOD go_grid->check_changed_data  "把修改的内容更改到内表里
      IMPORTING
        e_valid = l_valid.
    CALL METHOD go_grid->set_ready_for_input
      EXPORTING
        i_ready_for_input = 0.
    CALL METHOD go_grid->refresh_table_display.
  ENDIF.
ENDFORM.                    " change

*&--------------------------------------------------------------------*
*&      Form  f4
*&--------------------------------------------------------------------*
FORM f4 USING r_fieldname TYPE lvc_fname
              rs_row_no TYPE lvc_s_roid
              rr_event_data TYPE REF TO cl_alv_event_data
              rt_bad_cells TYPE lvc_t_modi.
  FIELD-SYMBOLS: <lt_f4> TYPE lvc_t_modi.
  DATA: ls_f4 TYPE lvc_s_modi ,
        t_index LIKE sy-tabix .
  DATA: BEGIN OF return_tab OCCURS 0 .
          INCLUDE STRUCTURE ddshretval .
  DATA: END OF return_tab .
  DATA: BEGIN OF it_csks OCCURS 0 ,
          kokrs LIKE csks-kokrs ,
          kostl LIKE csks-kostl ,
          datbi LIKE csks-datbi ,
        END OF it_csks.
  IF go_grid->is_ready_for_input( ) = 0 .
    rr_event_data->m_event_handled = 'X'.
    EXIT.
  ENDIF .
  IF r_fieldname = 'KOSTL'.
    SELECT kokrs kostl datbi FROM csks INTO TABLE it_csks
    UP TO 20 ROWS .
    IF it_csks[] IS INITIAL .
*      MESSAGE '没有可以选择的项' type 'I'.
      EXIT.
    ENDIF.
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
         EXPORTING
              retfield        = 'KOSTL'  "起作用的字段
              value_org       = 'S'
         TABLES
              value_tab       = it_csks[]
              return_tab      = return_tab
         EXCEPTIONS
              parameter_error = 1
              no_values_found = 2
              OTHERS          = 3.
    ASSIGN rr_event_data->m_data->* TO <lt_f4>.
    ls_f4-fieldname = r_fieldname.
    ls_f4-row_id = rs_row_no-row_id.
    IF NOT return_tab IS INITIAL .
      ls_f4-value = return_tab-fieldval .
      APPEND ls_f4 TO <lt_f4>.
    ENDIF .
  ENDIF.
  rr_event_data->m_event_handled = 'X'. " 抑制标准的Search Help
ENDFORM.                                                    " F4
*---------------------------------------------------------------------*
*       FORM set_grid_drdn                                            *
*---------------------------------------------------------------------*
FORM set_grid_drdn CHANGING ct_fcat TYPE lvc_t_fcat.
  FIELD-SYMBOLS: <ls_fcat>   TYPE lvc_s_fcat.
  DATA: lt_drdn TYPE lvc_t_drop,
        ls_drdn TYPE lvc_s_drop .
  DATA: BEGIN OF itab_bwart OCCURS 0 ,
          bwart LIKE t156-bwart,
        END OF itab_bwart.
  DEFINE mac_get_drdn.
    ls_drdn-handle  = 4.
    ls_drdn-value   = &1.
    append ls_drdn to lt_drdn.
  END-OF-DEFINITION.
  SELECT bwart INTO TABLE itab_bwart FROM t156.
  LOOP AT itab_bwart.
    mac_get_drdn itab_bwart-bwart.
  ENDLOOP.
  CALL METHOD go_grid->set_drop_down_table
    EXPORTING
      it_drop_down = lt_drdn.
  READ TABLE ct_fcat ASSIGNING <ls_fcat>
             WITH KEY fieldname = 'BWART'.
  IF sy-subrc EQ 0.
    <ls_fcat>-drdn_field = 'HANDLE_DRDN'.
    <ls_fcat>-f4availabl = ''.
  ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'MAIN100'.
  gs_variant-report = sy-repid.
  IF go_grid IS INITIAL.
    CREATE OBJECT go_grid
      EXPORTING
        i_parent = cl_gui_container=>screen0.
    CREATE OBJECT event_receiver.
    SET HANDLER event_receiver->handle_f4 FOR go_grid.
    CALL METHOD go_grid->register_f4_for_fields
      EXPORTING
        it_f4 = gt_f4.
    IF sy-batch IS INITIAL.
      CALL METHOD go_grid->register_edit_event
        EXPORTING
          i_event_id = cl_gui_alv_grid=>mc_evt_enter.
    ENDIF.
    PERFORM load_data_into_grid.
  ENDIF.
ENDMODULE.                 " STATUS_0100  OUTPUT
posted @ 2007-09-07 19:04 CharlieShen| 编辑 收藏

CONVERT_TO_LOCAL_CURRENCY

*&---------------------------------------------------------------------*
*& Report  Z_BARRY_CONVERT_CURRENCY                                    *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*

REPORT  z_barry_convert_currency                .

DATA: jine  LIKE bseg-wrbtr .
DATA: date LIKE sy-datum .

date = '20070519' .

DATA: fa LIKE bseg-wrbtr ,
      fc LIKE t001-waers ,
      lc LIKE t001-waers ,
      ty like tcurr-KURST .

fa = 3 .
fc = 'EUR' .
lc = 'ATS' .
ty = 'M'.

CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
  EXPORTING
    date             = date
    foreign_amount   = fa
    foreign_currency = fc
    local_currency   = lc
    type_of_rate     = ty
  IMPORTING
    local_amount     = jine
  EXCEPTIONS
    no_rate_found    = 1
    OTHERS           = 2.
WRITE:/ jine

posted @ 2007-09-07 19:04 CharlieShen| 编辑 收藏

ABAP OO Control
REPORT z_barry_object_control .
 
*---------------------------------------------------------------------*
*       CLASS SCREEN_INIT DEFINITION
*---------------------------------------------------------------------*
CLASS screen_init DEFINITION CREATE PRIVATE.
  PUBLIC SECTION.
    CLASS-METHODS init_screen.
    METHODS constructor.
  PRIVATE SECTION.
    DATA: container1 TYPE REF TO cl_gui_custom_container,
          container2 TYPE REF TO cl_gui_custom_container,
          container3 TYPE REF TO cl_gui_custom_container,
          picture TYPE REF TO cl_gui_picture,
          tree TYPE REF TO cl_gui_simple_tree.
    METHODS: fill_tree,
             fill_picture.
ENDCLASS.
*---------------------------------------------------------------------*
*       CLASS screen_handler DEFINITION
*---------------------------------------------------------------------*
CLASS screen_handler DEFINITION.
  PUBLIC SECTION.
    METHODS: constructor IMPORTING container
               TYPE REF TO cl_gui_custom_container,
             handle_node_double_click
               FOR EVENT node_double_click
               OF cl_gui_simple_tree
               IMPORTING node_key.
  PRIVATE SECTION.
    DATA: html_viewer TYPE REF TO cl_gui_html_viewer,
          list_viewer TYPE REF TO cl_gui_alv_grid.
    METHODS: fill_html IMPORTING carrid TYPE spfli-carrid,
             fill_list IMPORTING carrid TYPE spfli-carrid
                                 connid TYPE spfli-connid.
ENDCLASS.
*---------------------------------------------------------------------*
*       CLASS screen_init IMPLEMENTATION
*---------------------------------------------------------------------*
CLASS screen_init IMPLEMENTATION.
  METHOD init_screen.
    DATA screen TYPE REF TO screen_init.
    CREATE OBJECT screen.
  ENDMETHOD.
  METHOD constructor.
    DATA: events TYPE cntl_simple_events,
          event LIKE LINE OF events,
          event_handler TYPE REF TO screen_handler.
    CREATE OBJECT: container1 EXPORTING container_name = 'CUSTOM_1',
                   picture EXPORTING parent = container1.
    CREATE OBJECT: container2 EXPORTING container_name = 'CUSTOM_2',
                   tree EXPORTING parent = container2
                     node_selection_mode =
                            cl_gui_simple_tree=>node_sel_mode_single.
    CREATE OBJECT: container3 EXPORTING container_name = 'CUSTOM_3',
                   event_handler EXPORTING container = container3.
    event-eventid = cl_gui_simple_tree=>eventid_node_double_click.
    event-appl_event = ' '.   "system event, does not trigger PAI
    APPEND event TO events.
    CALL METHOD tree->set_registered_events
         EXPORTING events = events.
    SET HANDLER event_handler->handle_node_double_click FOR tree.
    CALL METHOD: me->fill_picture,
                 me->fill_tree.
  ENDMETHOD.
  METHOD fill_picture.
    TYPES pict_line(256) TYPE c.
    DATA  pict_tab TYPE TABLE OF pict_line.
    DATA  url(255) TYPE c.
    IMPORT pict_tab = pict_tab FROM DATABASE abtree(pi) ID 'FLIGHTS'.
    CALL FUNCTION 'DP_CREATE_URL'
         EXPORTING
              type    = 'IMAGE'
              subtype = 'GIF'
         TABLES
              data    = pict_tab
         CHANGING
              url     = url.
    CALL METHOD picture->load_picture_from_url EXPORTING url = url.
    CALL METHOD picture->set_display_mode
         EXPORTING display_mode = picture->display_mode_fit_center.
  ENDMETHOD.
  METHOD fill_tree.
    DATA: node_table TYPE TABLE OF abdemonode,
          node TYPE abdemonode,
          spfli_wa TYPE spfli,
          spfli_tab TYPE SORTED TABLE OF spfli
                    WITH UNIQUE KEY carrid connid.
    SELECT carrid connid
      FROM spfli
      INTO CORRESPONDING FIELDS OF TABLE spfli_tab.
    node-hidden = ' '.                 " All nodes are visible,
    node-disabled = ' '.               " selectable,
    node-isfolder = 'X'.                                    " a folder,
    node-expander = ' '.               " have no '+' sign for expansion.
    LOOP AT spfli_tab INTO spfli_wa.
      AT NEW carrid.
        node-node_key = spfli_wa-carrid.
        CLEAR node-relatkey.
        CLEAR node-relatship.
        node-text = spfli_wa-carrid.
        node-n_image =   ' '.
        node-exp_image = ' '.
        APPEND node TO node_table.
      ENDAT.
      AT NEW connid.
        CONCATENATE spfli_wa-carrid spfli_wa-connid INTO node-node_key.
        node-relatkey = spfli_wa-carrid.
        node-relatship = cl_gui_simple_tree=>relat_last_child.
        node-text = spfli_wa-connid.
        node-n_image =  
'@AV@'.       "AV is the internal code
        node-exp_image =
'@AV@'.       "for an airplane icon
      ENDAT.
      APPEND node TO node_table.
    ENDLOOP.
    CALL METHOD tree->add_nodes
         EXPORTING table_structure_name = 'ABDEMONODE'
                   node_table = node_table.
  ENDMETHOD.
ENDCLASS.
*---------------------------------------------------------------------*
*       CLASS screen_handler IMPLEMENTATION
*---------------------------------------------------------------------*
CLASS screen_handler IMPLEMENTATION.
  METHOD constructor.
    CREATE OBJECT: html_viewer EXPORTING parent = container,
                   list_viewer EXPORTING i_parent = container.
  ENDMETHOD.
  METHOD handle_node_double_click.
    DATA: carrid TYPE spfli-carrid,
          connid TYPE spfli-connid.
    carrid = node_key(2).
    connid = node_key+2(4).
    IF connid IS INITIAL.
      CALL METHOD: fill_html EXPORTING carrid = carrid,
                   html_viewer->set_visible EXPORTING visible = 'X',
                   list_viewer->set_visible EXPORTING visible = ' '.
    ELSE.
      CALL METHOD: fill_list EXPORTING carrid = carrid
                                       connid = connid,
                   list_viewer->set_visible EXPORTING visible = 'X',
                   html_viewer->set_visible EXPORTING visible = ' '.
    ENDIF.
    CALL METHOD cl_gui_cfw=>flush.
  ENDMETHOD.
  METHOD fill_html.
    DATA url TYPE scarr-url.
    SELECT SINGLE url
    FROM   scarr
    INTO   url
    WHERE  carrid = carrid.
    CALL METHOD html_viewer->show_url EXPORTING url = url.
  ENDMETHOD.
  METHOD fill_list.
    DATA: flight_tab TYPE TABLE OF demofli,
          BEGIN OF flight_title,
            carrname TYPE scarr-carrname,
            cityfrom TYPE spfli-cityfrom,
            cityto   TYPE spfli-cityto,
          END OF flight_title,
          list_layout TYPE lvc_s_layo.
    SELECT   SINGLE c~carrname p~cityfrom p~cityto
    INTO     CORRESPONDING FIELDS OF flight_title
    FROM     ( scarr AS c
               INNER JOIN spfli   AS p ON c~carrid = p~carrid )
    WHERE    p~carrid = carrid AND
             p~connid = connid.
    SELECT   fldate seatsmax seatsocc
    INTO     CORRESPONDING FIELDS OF TABLE flight_tab
    FROM     sflight
    WHERE    carrid = carrid AND connid = connid
    ORDER BY fldate.
    CONCATENATE flight_title-carrname
                connid
                flight_title-cityfrom
                flight_title-cityto
                INTO list_layout-grid_title SEPARATED BY space.
    list_layout-smalltitle = 'X'.      "The list title has small fonts,
    list_layout-cwidth_opt = 'X'.      "the column width is adjusted,
    list_layout-no_toolbar = 'X'.      "the toolbar is suppressed.
    CALL METHOD list_viewer->set_table_for_first_display
         EXPORTING i_structure_name = 'DEMOFLI'
                   is_layout = list_layout
         CHANGING  it_outtab         = flight_tab.
  ENDMETHOD.
ENDCLASS.
LOAD-OF-PROGRAM.
  CALL SCREEN 100.
*---------------------------------------------------------------------*
*       MODULE status_0100 OUTPUT                                     *
*---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'SCREEN_100'.
  SET TITLEBAR 'TIT_100'.
  CALL METHOD screen_init=>init_screen.
ENDMODULE.
*---------------------------------------------------------------------*
*       MODULE cancel INPUT                                           *
*---------------------------------------------------------------------*
MODULE cancel INPUT.
  LEAVE PROGRAM.
ENDMODULE.
 
****************
PROCESS BEFORE OUTPUT.
  MODULE STATUS_0100.
*
PROCESS AFTER INPUT.
 MODULE cancel AT EXIT-COMMAND
posted @ 2007-09-07 19:04 CharlieShen| 编辑 收藏

upload attachment
REPORT  z_barry_055.
INCLUDE : <cntn01>.
PARAMETERS:
          p_botype LIKE SWOTENTRY-objtype DEFAULT 'BUS1001001',
          p_bo_id LIKE mara-matnr DEFAULT '000000000001100118',
          fr_file(128) DEFAULT 'C:\abcde.txt' LOWER CASE .
DATA:     p_docty LIKE borident-objtype VALUE 'MESSAGE' ,
          p_reltyp LIKE breltyp-reltype VALUE 'ATTA' ,
          p_msgtyp LIKE sofm-doctp VALUE 'EXT' .
*          p_msgtyp LIKE sofm-doctp VALUE 'JPG' .  "DOC TXT ....
*          TXT等扩展名会有问题,具体见FM:SO_DOC_INSERT_WITH_ORIG_API1
*          第151行
*          IF-IS-RAW-EXT DOCUMENT_....
TYPES:  BEGIN OF ty_message_key,
          foltp TYPE so_fol_tp,
          folyr TYPE so_fol_yr,
          folno TYPE so_fol_no,
          doctp TYPE so_doc_tp,
          docyr TYPE so_doc_yr,
          docno TYPE so_doc_no,
          fortp TYPE so_for_tp,
          foryr TYPE so_for_yr,
          forno TYPE so_for_no,
        END OF ty_message_key.
TYPES : BEGIN OF ty_binary,
          binary_field(255) TYPE c,
        END OF ty_binary.
DATA : lt_binary TYPE TABLE OF ty_binary WITH HEADER LINE.
DATA : lv_message_key TYPE ty_message_key.
DATA : lo_message TYPE swc_object.
DATA : lv_doc_size TYPE i.
DATA : fn_upload TYPE string,
       filepath LIKE dbmsgora-filename ,
       file_name LIKE sdbah-actid ,
       file_ext  LIKE sdbad-funct .
AT SELECTION-SCREEN ON VALUE-REQUEST FOR fr_file.
  PERFORM get_pc_filename.
START-OF-SELECTION.
  filepath = fr_file.
  CALL FUNCTION 'SPLIT_FILENAME'
    EXPORTING
      long_filename  = filepath
    IMPORTING
      pure_filename  = file_name
      pure_extension = file_ext.
  p_msgtyp = file_ext.
  TRANSLATE p_msgtyp TO UPPER CASE.
  swc_create_object lo_message 'MESSAGE' lv_message_key.
  DATA BEGIN OF lt_message_container OCCURS 0.
          INCLUDE STRUCTURE swcont.
  DATA END OF lt_message_container.
  swc_set_element lt_message_container 'DOCUMENTTITLE' file_name.
  swc_set_element lt_message_container 'DOCUMENTLANGU' sy-langu.
  swc_set_element lt_message_container 'NO_DIALOG' 'X'.
  swc_set_element lt_message_container 'DOCUMENTNAME' p_docty.
  swc_set_element lt_message_container 'DOCUMENTTYPE' p_msgtyp.
*  swc_set_element lt_message_container 'FILEEXTENSION' 'JPG'.
  fn_upload = fr_file.
  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      filename   = fn_upload
      filetype   = 'BIN'
    IMPORTING
      filelength = lv_doc_size
    TABLES
      data_tab   = lt_binary[].
  swc_set_table lt_message_container 'DocumentContent' lt_binary.
  swc_set_element lt_message_container 'DOCUMENTSIZE' lv_doc_size.
  swc_refresh_object lo_message.
  swc_call_method lo_message 'CREATE' lt_message_container.
  swc_get_object_key lo_message lv_message_key.
  DATA: lo_is_object_a TYPE borident.
  lo_is_object_a-objkey = p_bo_id.
  lo_is_object_a-objtype = p_botype.
  DATA: lo_is_object_b TYPE borident.
  lo_is_object_b-objkey = lv_message_key.
  lo_is_object_b-objtype = p_docty.
  CALL FUNCTION 'BINARY_RELATION_CREATE'
    EXPORTING
      obj_rolea    = lo_is_object_a
      obj_roleb    = lo_is_object_b
      relationtype = p_reltyp
    EXCEPTIONS
      OTHERS       = 1.
  COMMIT WORK AND WAIT.
*&--------------------------------------------------------------------*
*&      Form  get_pc_filename
*&--------------------------------------------------------------------*
FORM get_pc_filename.
  CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
      mask             = ',*.* ,*.*.'
      mode             = '0'
      title            = 'Get the file name'
    IMPORTING
      filename         = fr_file
    EXCEPTIONS
      inv_winsys       = 1
      no_batch         = 2
      selection_cancel = 3
      selection_error  = 4
      OTHERS           = 5.
  IF sy-subrc <> 0.
*    MESSAGE '文件名错误!' TYPE 'E'.
  ENDIF.
ENDFORM.                    " GET_PC_FILENAME
posted @ 2007-09-07 19:04 CharlieShen| 编辑 收藏

一个逆向思维的优化SQL的方法

REPORT z_scm_gr_his .

TABLES: ekko,ekbe.

CONSTANTS : once TYPE i VALUE 100000.
TYPES: BEGIN OF ty_ekbe ,
         ebeln LIKE ekbe-ebeln ,
         ebelp LIKE ekbe-ebelp ,
         dmbtr LIKE ekbe-dmbtr ,
         bewtp LIKE ekbe-bewtp , "E Q
         shkzg LIKE ekbe-shkzg , "借贷
         arewr LIKE ekbe-arewr ,
       END OF ty_ekbe.
DATA: hs_ekbe TYPE HASHED TABLE OF ty_ekbe
        WITH UNIQUE KEY ebeln ebelp bewtp shkzg WITH HEADER LINE .
DATA: wa LIKE LINE OF hs_ekbe.

TYPES: BEGIN OF ty_ekbe_sum ,
         mandt LIKE sy-mandt ,
         ebeln LIKE ekbe-ebeln ,
         ebelp LIKE ekbe-ebelp ,
*         dmbtr LIKE ekbe-dmbtr ,
       END OF ty_ekbe_sum.
DATA: hs_ekbe_sum TYPE HASHED TABLE OF ty_ekbe_sum
        WITH UNIQUE KEY mandt ebeln ebelp WITH HEADER LINE .
DATA: itab_ekbe_sum TYPE STANDARD TABLE OF ty_ekbe_sum
      WITH HEADER LINE .
DATA: wa_sum LIKE LINE OF hs_ekbe_sum.

DATA: BEGIN OF itab_gr OCCURS 0 ,
        belnr LIKE ekbe-belnr ,
        ebeln LIKE ekbe-ebeln ,
        ebelp LIKE ekbe-ebelp ,
      END OF itab_gr .
DATA: tmpebeln LIKE ekpo-ebeln.
DATA: n TYPE i ,
      m LIKE sy-tabix.
DATA: linenum  LIKE sy-tabix,
      fromnum  LIKE sy-index,
      tonum    LIKE sy-index.
DATA :
  v_t1    TYPE i,
  v_t2    TYPE i,
  v_time  TYPE i.

SELECT-OPTIONS: s_budat FOR ekbe-budat .
PARAMETERS:     mode .

START-OF-SELECTION.
  SELECT ekbe~ebeln ekbe~ebelp bewtp shkzg dmbtr arewr
  INTO CORRESPONDING FIELDS OF wa
  FROM ekbe
  WHERE ekbe~bewtp IN ('E','Q') AND
        ekbe~budat IN s_budat .
    IF wa-bewtp = 'Q' .
      wa-dmbtr = 0 - wa-arewr .
      wa-bewtp = 'E'.
    ENDIF.
    IF wa-shkzg = 'H'.
      wa-dmbtr = 0 - wa-dmbtr .
      wa-shkzg = 'S'.
    ENDIF.
    COLLECT wa INTO hs_ekbe.
  ENDSELECT.


*  DELETE hs_ekbe_sum WHERE dmbtr = 0.
  DELETE hs_ekbe WHERE dmbtr = 0.

  LOOP AT hs_ekbe INTO wa .
    MOVE-CORRESPONDING wa TO wa_sum.
    wa_sum-mandt = sy-mandt .
    COLLECT wa_sum INTO hs_ekbe_sum .
  ENDLOOP.

  IF mode = '1'.
    GET RUN TIME FIELD v_t1.
    SELECT belnr ebeln ebelp INTO TABLE itab_gr
    FROM ekbe
    FOR ALL ENTRIES IN hs_ekbe
    WHERE ebeln = hs_ekbe-ebeln AND
          ebelp = hs_ekbe-ebelp .
    GET RUN TIME FIELD v_t2.
    v_time = v_t2 - v_t1.
    WRITE v_time.
  ELSE.
    GET RUN TIME FIELD v_t1.
    EXEC SQL.
      TRUNCATE TABLE ZSCM_GR_PO_TMP
    ENDEXEC.

**********************插入方法一
*    CLEAR n.
*    LOOP AT hs_ekbe.
*      m = m + 1 .
*      EXEC SQL.
*        INSERT INTO ZSCM_GR_PO_TMP (MANDT,EBELN,EBELP)
*          VALUES (:SY-MANDT,
*                  :hs_ekbe-ebeln,
*                  :hs_ekbe-ebelp)
*      ENDEXEC.
*      n = m MOD once.
*      IF n = 0.
*        n = 0 .
*        EXEC SQL.
*          commit work
*        ENDEXEC.
*      ENDIF.
*    ENDLOOP.
*    EXEC SQL.
*      commit work
*    ENDEXEC.
*******************************方法二,优化Insert
    DESCRIBE TABLE hs_ekbe_sum LINES linenum.
    n = linenum DIV once.
    n = n + 1.
    DO n TIMES.
      itab_ekbe_sum[] = hs_ekbe_sum[].
      fromnum = sy-index * once + 1 .
      DELETE itab_ekbe_sum FROM fromnum TO linenum.
      IF sy-index > 1 .
        tonum = fromnum - once - 1 .
        DELETE itab_ekbe_sum FROM 1 TO tonum.
      ENDIF.
      INSERT zscm_gr_po_tmp FROM TABLE itab_ekbe_sum .
      COMMIT WORK.
    ENDDO.

    SELECT belnr ekbe~ebeln ekbe~ebelp INTO TABLE itab_gr
    FROM ekbe INNER JOIN zscm_gr_po_tmp ON
                ekbe~ebeln = zscm_gr_po_tmp~ebeln AND
                ekbe~ebelp = zscm_gr_po_tmp~ebelp.
    GET RUN TIME FIELD v_t2.
    v_time = v_t2 - v_t1.
    WRITE v_time.
  ENDIF.

  SORT itab_gr BY belnr.
  DELETE ADJACENT DUPLICATES FROM itab_gr COMPARING belnr

posted @ 2007-09-07 19:03 CharlieShen| 编辑 收藏

FTP_MAINTAIN
*&---------------------------------------------------------------------*
*& Report  Z_BARRY_FTP_MAINTAIN                                        *
*&                                                                     *
*&---------------------------------------------------------------------*
*&   用简单的方式维护单条记录的数据                                    *
*&                                                                     *
*&---------------------------------------------------------------------*
REPORT z_scm_ftp_maintain .
TABLES: zscm_ftp, sscrfields.
DATA: ans TYPE c,
      suc TYPE c.
PARAMETERS: p_host(20) TYPE c OBLIGATORY ,
            p_user(20) TYPE c OBLIGATORY LOWER CASE,
            p_pass(20) TYPE c OBLIGATORY LOWER CASE.
SELECTION-SCREEN FUNCTION KEY 1.
INITIALIZATION.
  sscrfields-functxt_01 = text-001 .
  SELECT SINGLE * FROM zscm_ftp .
  IF sy-subrc = 0.
    p_host = zscm_ftp-host.
    p_user = zscm_ftp-usr .
    p_pass = zscm_ftp-pwd .
  ENDIF.
AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    CASE screen-name.
      WHEN 'P_PASS'.
        screen-invisible  = 1.
    ENDCASE.
    MODIFY SCREEN.
  ENDLOOP.
AT SELECTION-SCREEN.
  IF sy-ucomm = 'FC01'.
    PERFORM connect_check.
  ELSEIF sy-ucomm = 'ONLI'.
    IF suc <> 'X'.
      MESSAGE e000(z900) WITH '请先测试连接通过'.
    ENDIF.
  ENDIF.
START-OF-SELECTION.
  CALL FUNCTION 'POPUP_TO_CONFIRM'
       EXPORTING
            titlebar      = '确认更新'
            text_question = '确认更新FTP数据?'
       IMPORTING
            answer        = ans.                            "1、 2、 A
  IF ans <> '1'  .
    LEAVE PROGRAM .
  ENDIF .
  zscm_ftp-host = p_host.
  zscm_ftp-usr  = p_user.
  zscm_ftp-pwd  = p_pass.
  MODIFY zscm_ftp .
  IF sy-subrc = 0.
    WRITE 'Success!'.
  ENDIF.
*&---------------------------------------------------------------------*
*&      Form  connect_check
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM connect_check.
  DATA: mi_key TYPE i VALUE 26101957,
        mi_handle TYPE i,
        slen TYPE i .
  DATA: ftp_pass(30) TYPE c.
  ftp_pass = p_pass.
  slen = strlen( ftp_pass ).
  CLEAR suc.
  CALL 'AB_RFC_X_SCRAMBLE_STRING'
    ID 'SOURCE'      FIELD ftp_pass
    ID 'KEY'         FIELD mi_key
    ID 'SCR'         FIELD 'X'
    ID 'DESTINATION' FIELD ftp_pass
    ID 'DSTLEN'      FIELD slen.
  CALL FUNCTION 'FTP_CONNECT'
       EXPORTING
            user            = p_user
            password        = ftp_pass
            host            = p_host
            rfc_destination = 'SAPFTPSCM'
       IMPORTING
            handle          = mi_handle
       EXCEPTIONS
            not_connected   = 1
            OTHERS          = 2.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
           WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
  MESSAGE i000(z900) WITH '测试成功,可以F8保存新的FTP信息'.
  suc = 'X'.
  CALL FUNCTION 'FTP_DISCONNECT'
       EXPORTING
            handle = mi_handle
       EXCEPTIONS
            OTHERS = 1.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
           WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
ENDFORM.                    " connect_check
posted @ 2007-09-07 19:03 CharlieShen| 编辑 收藏

ALV GRID 不显示部分工具栏按钮

CLASS方式的ALV:

  DATA : lt_excl_func TYPE ui_functions.

  APPEND cl_gui_alv_grid=>mc_fc_loc_copy TO lt_excl_func.
  APPEND cl_gui_alv_grid=>mc_fc_loc_copy_row TO lt_excl_func.
  APPEND cl_gui_alv_grid=>mc_fc_loc_cut TO lt_excl_func.

  CALL METHOD go_grid->set_table_for_first_display
    EXPORTING
      is_variant                    = gs_variant
      i_save                        = 'A'
      is_layout                     = sla
      it_toolbar_excluding          = lt_excl_func
    CHANGING
      it_outtab                     = itab[]
      it_fieldcatalog               = gt_fieldcat[]
    EXCEPTIONS
      invalid_parameter_combination = 1
      program_error                 = 2
      too_many_lines                = 3
      OTHERS                        = 4.


Function方式的ALV:
  TYPE-POOLS: slis.
  DATA: i_excluding TYPE slis_t_extab.
 
  APPEND '&ILT' TO i_excluding .
  APPEND '&OUP' TO i_excluding .
 
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
            i_callback_program      = i_repid
            it_fieldcat             = gd_fieldcat[]
            is_layout               = sla
            it_excluding            = i_excluding
       TABLES
            t_outtab                = itab
       EXCEPTIONS
            program_error           = 1
            OTHERS                  = 2
posted @ 2007-09-07 19:03 CharlieShen| 编辑 收藏

Z_BARRY_TEST_SHELL

REPORT z_barry_test_shell .

DATA: commtext(120) ,
      itab(255) OCCURS 10 WITH HEADER LINE.

DATA: BEGIN OF itab_sh OCCURS 0 ,
        line(120) TYPE c,
      END OF itab_sh.
DATA: dname(120) TYPE c ,
      str TYPE string   .
dname = '/usr/sap/BQD/DVEBMGS00/work/test.sh'.

OPEN DATASET dname FOR INPUT IN TEXT MODE .
IF sy-subrc = 0.
  DO.
    READ DATASET dname INTO itab_sh.
    IF sy-subrc <> 0.
      EXIT.
    ENDIF.
    APPEND itab_sh.
  ENDDO.
ENDIF.
CLOSE DATASET dname.

EDITOR-CALL FOR itab_sh TITLE 'Shell编写:'.
IF sy-ucomm = 'WB_SAVE'.
  OPEN DATASET dname FOR OUTPUT IN TEXT MODE .
  IF sy-subrc NE 0.
    MESSAGE e000(z900) WITH 'ERROR!' dname.
    EXIT.
  ENDIF.
  LOOP AT itab_sh.
    str = itab_sh.
    TRANSFER str TO dname.
  ENDLOOP.
  CLOSE DATASET dname.

  CONCATENATE 'chmod 777' dname INTO commtext SEPARATED BY space.
  CALL 'SYSTEM'
    ID 'COMMAND' FIELD commtext
    ID 'TAB' FIELD itab-*sys*.

  CONCATENATE dname 'a' 'B' INTO commtext SEPARATED BY space.
  CALL 'SYSTEM'
    ID 'COMMAND' FIELD commtext
    ID 'TAB' FIELD itab-*sys*.

ENDIF.

LOOP AT itab.
  WRITE itab.
ENDLOOP

posted @ 2007-09-07 19:03 CharlieShen| 编辑 收藏

SYS INFO
REPORT z_barry_sysinfo LINE-SIZE 400.
TABLES:shkontext.
DATA: BEGIN OF version_info OCCURS 0,
        line(400),
      END OF version_info.
DATA: database_release(10).
CALL 'SAPCORE' ID 'ID' FIELD 'VERSION'
ID 'TABLE' FIELD version_info-*sys*.
LOOP AT version_info.
  WRITE / version_info.
ENDLOOP.
CALL 'GET_PARAM_TCOD'
     ID 'PTCOD' FIELD shkontext-tcode.
CALL FUNCTION 'DB_GET_RELEASE'
     IMPORTING
          release = database_release.
WRITE:/ 'Tcode:' , 22 shkontext-tcode.
WRITE:/ 'DB-Release:', 22 database_release.
WRITE:/ 'SAP-Release:', 22 sy-saprl
posted @ 2007-09-07 19:03 CharlieShen| 编辑 收藏

如何给Add-on的透明表加更改Log
第一步:
透明表的Technical settings里面勾中“Log data changes”,重新激活之。
 
第二步:
用Tcode:SCU3。
或者用下面的程序:
 
注:如果是全部清空然后再次插入,则不能捕捉到这个Log
posted @ 2007-09-07 19:02 CharlieShen| 编辑 收藏

如何给Add-on的透明表加更改Log
第一步:
透明表的Technical settings里面勾中“Log data changes”,重新激活之。
 
第二步:
用Tcode:SCU3。
或者用下面的程序:
 
注:如果是全部清空然后再次插入,则不能捕捉到这个Log
posted @ 2007-09-07 19:02 CharlieShen| 编辑 收藏

如何给Add-on的透明表加更改Log
第一步:
透明表的Technical settings里面勾中“Log data changes”,重新激活之。
 
第二步:
用Tcode:SCU3。
或者用下面的程序:
 
注:如果是全部清空然后再次插入,则不能捕捉到这个Log
posted @ 2007-09-07 19:02 CharlieShen| 编辑 收藏

如何执行系统命令
1.
DATA: commtext(120) ,
      itab(255) OCCURS 10 WITH HEADER LINE.
commtext = 'ls /usr'.
CALL 'SYSTEM'
  ID 'COMMAND' FIELD commtext
  ID 'TAB' FIELD itab-*sys*.
LOOP AT itab.
  WRITE itab.
ENDLOOP.
 
2.
看函数组:SXPT
posted @ 2007-09-07 19:02 CharlieShen| 编辑 收藏

SESSION方式的BDC
REPORT z_scm_nacr_bdc .
INCLUDE bdcrecx1.
TABLES: b999,zscm_worktime.
DATA: BEGIN OF itab OCCURS 0 ,
        lifnr LIKE lfa1-lifnr,
      END OF itab.
DATA: BEGIN OF itab_log OCCURS 0,
        message(132) TYPE c,
      END OF itab_log.
DATA: day LIKE sy-datum.
PARAMETERS: p_mode LIKE ctu_params-dismode DEFAULT 'E' ,
            pri_all AS CHECKBOX . "全部打印
START-OF-SELECTION.
  PERFORM getdata.
  PERFORM bdc.
*---------------------------------------------------------------------*
*       FORM getdata                                                  *
*---------------------------------------------------------------------*
FORM getdata.
  day = sy-datum - 9 .
  SELECT lifnr INTO TABLE itab FROM zscmvendor
  WHERE date_from <= day AND
        date_to   >= sy-datum .
ENDFORM.
*---------------------------------------------------------------------*
*       FORM bdc                                                      *
*---------------------------------------------------------------------*
FORM bdc .
  PERFORM open_group.
  REFRESH bdcdata .
  CLEAR bdcdata .
  PERFORM bdc_dynpro  USING 'SAPMV13B'   '0100'.
  PERFORM bdc_field   USING 'BDC_CURSOR' 'RV130-KAPPL'.
  PERFORM bdc_field   USING 'BDC_OKCODE' '=ANTA'.
  PERFORM bdc_field   USING 'RV130-KAPPL' 'EF'.
  PERFORM bdc_field   USING 'RV13B-KSCHL' 'NEU'.
  PERFORM bdc_dynpro  USING 'SAPLV14A'   '0100'.
  PERFORM bdc_field   USING 'BDC_CURSOR' 'RV130-SELKZ(01)'.
  PERFORM bdc_field   USING 'BDC_OKCODE' '=WEIT'.
  PERFORM bdc_dynpro  USING 'RV13B999'   '1000'.
  PERFORM bdc_field   USING 'F001-LOW'   ''.
  PERFORM bdc_field   USING 'BDC_OKCODE' '=ONLI'.
  PERFORM bdc_dynpro  USING 'SAPMV13B'   '1999'.
  PERFORM bdc_field   USING 'BDC_OKCODE' '=MARL'.
  PERFORM bdc_dynpro  USING 'SAPMV13B'   '1999'.
  PERFORM bdc_field   USING 'BDC_OKCODE' '=ENTF'.
  PERFORM bdc_dynpro  USING 'SAPMV13B'   '1999'.
  PERFORM bdc_field   USING 'BDC_OKCODE' '=SICH'.
  SELECT SINGLE * FROM b999 .
  IF sy-subrc = 0.
    PERFORM bdc_transaction USING 'NACR'.
  ENDIF.
  CHECK NOT itab[] IS INITIAL.
  REFRESH bdcdata .
  CLEAR bdcdata .
  PERFORM bdc_dynpro  USING 'SAPMV13B'   '0100'.
  PERFORM bdc_field   USING 'BDC_CURSOR' 'RV130-KAPPL'.
  PERFORM bdc_field   USING 'BDC_OKCODE' '=ANTA'.
  PERFORM bdc_field   USING 'RV130-KAPPL' 'EF'.
  PERFORM bdc_field   USING 'RV13B-KSCHL' 'NEU'.
  PERFORM bdc_dynpro  USING 'SAPLV14A'   '0100'.
  PERFORM bdc_field   USING 'BDC_CURSOR' 'RV130-SELKZ(01)'.
  PERFORM bdc_field   USING 'BDC_OKCODE' '=WEIT'.
  PERFORM bdc_dynpro  USING 'RV13B999'   '1000'.
  PERFORM bdc_field   USING 'F001-LOW'   ''.
  PERFORM bdc_field   USING 'BDC_OKCODE' '=ONLI'.
  LOOP AT itab .
    PERFORM bdc_dynpro  USING 'SAPMV13B'     '1999'.
    PERFORM bdc_field   USING 'BDC_CURSOR'   'NACH-SPRAS(02)'.
    PERFORM bdc_field   USING 'BDC_OKCODE'   '/00'.
    PERFORM bdc_field   USING 'KOMB-LIFNR(02)'  itab-lifnr  .
    PERFORM bdc_field   USING 'NACH-PARVW(02)'  'VN'.
    PERFORM bdc_field   USING 'NACH-NACHA(02)'  '1'.
    PERFORM bdc_field   USING 'NACH-VSZTP(02)'  '3'.
    PERFORM bdc_field   USING 'NACH-SPRAS(02)'  'ZH'.
    PERFORM bdc_dynpro  USING 'SAPMV13B'   '1999'.
    PERFORM bdc_field   USING 'BDC_OKCODE'   '=NEWP'.
    PERFORM bdc_dynpro  USING 'SAPMV13B'   '1999'.
    PERFORM bdc_field   USING 'BDC_CURSOR'   'KOMB-LIFNR(01)'.
    PERFORM bdc_field   USING 'BDC_OKCODE'   '=KOMM'.
    PERFORM bdc_dynpro  USING 'SAPMV13B'   '0211'.
    PERFORM bdc_field   USING 'BDC_OKCODE'   '=BACK'.
    PERFORM bdc_field   USING 'NACH-LDEST'   'SAPLPD'.
    PERFORM bdc_field   USING 'NACH-DIMME'   'X'.
    PERFORM bdc_field   USING 'NACH-DELET'   'X'.
  ENDLOOP.
  PERFORM bdc_dynpro  USING 'SAPMV13B'   '1999'.
  PERFORM bdc_field   USING 'BDC_OKCODE'   '=SICH'.
  SELECT SINGLE * FROM zscm_worktime WHERE name = 'SCM'   AND
                                           date_from <= sy-datum AND
                                           date_end  >= sy-datum .
  IF sy-subrc = 0 AND pri_all = '' .  " 只有当SCM工作正常时才填入
    PERFORM bdc_transaction USING 'NACR'.
  ENDIF.
  PERFORM close_group.
ENDFORM.                    " bdc
 
*************************
相对于直接Call Trancaction的方法,只要前后各加一个函数,然后把Call Trancaction换成PERFORM bdc_transaction即可
 
Text symbols可以在程序ROCMBIRECORD中COPY
 
E00 Error opening dataset, return code:
I01 Session name
I02 Open session
I03 Insert transaction
I04 Close session
I05 Rtrn code =
I06 Error session created
S01 Session name
S02 User
S03 Keep session
S04 Lock date
S05 Processing mode
S06 Update session
S07 Generate session
S08 Call transaction
S09 Error sessn
S10 Nodata indicator
posted @ 2007-09-07 19:02 CharlieShen| 编辑 收藏

SESSION方式的BDC
REPORT z_scm_nacr_bdc .
INCLUDE bdcrecx1.
TABLES: b999,zscm_worktime.
DATA: BEGIN OF itab OCCURS 0 ,
        lifnr LIKE lfa1-lifnr,
      END OF itab.
DATA: BEGIN OF itab_log OCCURS 0,
        message(132) TYPE c,
      END OF itab_log.
DATA: day LIKE sy-datum.
PARAMETERS: p_mode LIKE ctu_params-dismode DEFAULT 'E' ,
            pri_all AS CHECKBOX . "全部打印
START-OF-SELECTION.
  PERFORM getdata.
  PERFORM bdc.
*---------------------------------------------------------------------*
*       FORM getdata                                                  *
*---------------------------------------------------------------------*
FORM getdata.
  day = sy-datum - 9 .
  SELECT lifnr INTO TABLE itab FROM zscmvendor
  WHERE date_from <= day AND
        date_to   >= sy-datum .
ENDFORM.
*---------------------------------------------------------------------*
*       FORM bdc                                                      *
*---------------------------------------------------------------------*
FORM bdc .
  PERFORM open_group.
  REFRESH bdcdata .
  CLEAR bdcdata .
  PERFORM bdc_dynpro  USING 'SAPMV13B'   '0100'.
  PERFORM bdc_field   USING 'BDC_CURSOR' 'RV130-KAPPL'.
  PERFORM bdc_field   USING 'BDC_OKCODE' '=ANTA'.
  PERFORM bdc_field   USING 'RV130-KAPPL' 'EF'.
  PERFORM bdc_field   USING 'RV13B-KSCHL' 'NEU'.
  PERFORM bdc_dynpro  USING 'SAPLV14A'   '0100'.
  PERFORM bdc_field   USING 'BDC_CURSOR' 'RV130-SELKZ(01)'.
  PERFORM bdc_field   USING 'BDC_OKCODE' '=WEIT'.
  PERFORM bdc_dynpro  USING 'RV13B999'   '1000'.
  PERFORM bdc_field   USING 'F001-LOW'   ''.
  PERFORM bdc_field   USING 'BDC_OKCODE' '=ONLI'.
  PERFORM bdc_dynpro  USING 'SAPMV13B'   '1999'.
  PERFORM bdc_field   USING 'BDC_OKCODE' '=MARL'.
  PERFORM bdc_dynpro  USING 'SAPMV13B'   '1999'.
  PERFORM bdc_field   USING 'BDC_OKCODE' '=ENTF'.
  PERFORM bdc_dynpro  USING 'SAPMV13B'   '1999'.
  PERFORM bdc_field   USING 'BDC_OKCODE' '=SICH'.
  SELECT SINGLE * FROM b999 .
  IF sy-subrc = 0.
    PERFORM bdc_transaction USING 'NACR'.
  ENDIF.
  CHECK NOT itab[] IS INITIAL.
  REFRESH bdcdata .
  CLEAR bdcdata .
  PERFORM bdc_dynpro  USING 'SAPMV13B'   '0100'.
  PERFORM bdc_field   USING 'BDC_CURSOR' 'RV130-KAPPL'.
  PERFORM bdc_field   USING 'BDC_OKCODE' '=ANTA'.
  PERFORM bdc_field   USING 'RV130-KAPPL' 'EF'.
  PERFORM bdc_field   USING 'RV13B-KSCHL' 'NEU'.
  PERFORM bdc_dynpro  USING 'SAPLV14A'   '0100'.
  PERFORM bdc_field   USING 'BDC_CURSOR' 'RV130-SELKZ(01)'.
  PERFORM bdc_field   USING 'BDC_OKCODE' '=WEIT'.
  PERFORM bdc_dynpro  USING 'RV13B999'   '1000'.
  PERFORM bdc_field   USING 'F001-LOW'   ''.
  PERFORM bdc_field   USING 'BDC_OKCODE' '=ONLI'.
  LOOP AT itab .
    PERFORM bdc_dynpro  USING 'SAPMV13B'     '1999'.
    PERFORM bdc_field   USING 'BDC_CURSOR'   'NACH-SPRAS(02)'.
    PERFORM bdc_field   USING 'BDC_OKCODE'   '/00'.
    PERFORM bdc_field   USING 'KOMB-LIFNR(02)'  itab-lifnr  .
    PERFORM bdc_field   USING 'NACH-PARVW(02)'  'VN'.
    PERFORM bdc_field   USING 'NACH-NACHA(02)'  '1'.
    PERFORM bdc_field   USING 'NACH-VSZTP(02)'  '3'.
    PERFORM bdc_field   USING 'NACH-SPRAS(02)'  'ZH'.
    PERFORM bdc_dynpro  USING 'SAPMV13B'   '1999'.
    PERFORM bdc_field   USING 'BDC_OKCODE'   '=NEWP'.
    PERFORM bdc_dynpro  USING 'SAPMV13B'   '1999'.
    PERFORM bdc_field   USING 'BDC_CURSOR'   'KOMB-LIFNR(01)'.
    PERFORM bdc_field   USING 'BDC_OKCODE'   '=KOMM'.
    PERFORM bdc_dynpro  USING 'SAPMV13B'   '0211'.
    PERFORM bdc_field   USING 'BDC_OKCODE'   '=BACK'.
    PERFORM bdc_field   USING 'NACH-LDEST'   'SAPLPD'.
    PERFORM bdc_field   USING 'NACH-DIMME'   'X'.
    PERFORM bdc_field   USING 'NACH-DELET'   'X'.
  ENDLOOP.
  PERFORM bdc_dynpro  USING 'SAPMV13B'   '1999'.
  PERFORM bdc_field   USING 'BDC_OKCODE'   '=SICH'.
  SELECT SINGLE * FROM zscm_worktime WHERE name = 'SCM'   AND
                                           date_from <= sy-datum AND
                                           date_end  >= sy-datum .
  IF sy-subrc = 0 AND pri_all = '' .  " 只有当SCM工作正常时才填入
    PERFORM bdc_transaction USING 'NACR'.
  ENDIF.
  PERFORM close_group.
ENDFORM.                    " bdc
 
*************************
相对于直接Call Trancaction的方法,只要前后各加一个函数,然后把Call Trancaction换成PERFORM bdc_transaction即可
 
Text symbols可以在程序ROCMBIRECORD中COPY
 
E00 Error opening dataset, return code:
I01 Session name
I02 Open session
I03 Insert transaction
I04 Close session
I05 Rtrn code =
I06 Error session created
S01 Session name
S02 User
S03 Keep session
S04 Lock date
S05 Processing mode
S06 Update session
S07 Generate session
S08 Call transaction
S09 Error sessn
S10 Nodata indicator
posted @ 2007-09-07 19:02 CharlieShen| 编辑 收藏

格式化的日期转为SAP内部日期
REPORT z_barry_test_date_format .
 
DATA: dat TYPE erdat,
      str(10) TYPE c,
      df .
 
dat = '20070803'.
 
WRITE dat TO str .
 
SELECT SINGLE datfm INTO df FROM usr01 WHERE bname = sy-uname.
CALL FUNCTION 'DATE_STRING_CONVERT'
     EXPORTING
          date_format = df
          date_string = str
     IMPORTING
          result_date = dat.
 
WRITE dat  .
posted @ 2007-09-07 19:02 CharlieShen| 编辑 收藏

太原市政法系统实行执法工作信息化管理

按照省政法委统一要求,太原市政法系统从现在起集中开展为期3个月的纪律作风教育整顿。

此次纪律作风教育整顿的重点包括三个方面:整顿思想特别是特权思想;整顿政治纪律、执法纪律、廉政纪律;整顿办案作风、办公作风、办事作风。目的是为了严肃纪律、改进作风、服务群众、促进工作,解决群众反映强烈的纪律作风方面的突出问题,促进社会和谐。整顿活动分4个阶段逐步实施,即学习提高阶段、自查自纠阶段、开门整顿阶段、整改查处阶段。为此,太原市要求各级政法部门要进一步深入推进执法公开,凡是能公开的工作制度、办事规则都要公开,有条件的都要实行执法工作信息化管理,增强政法工作的透明度,切实保障群众的知情权、参与权和监督权。同时,全市政法各部门要通过座谈会、问卷调查,以及设立举报信箱、开通举报电话等形式,掌握线索、拓宽渠道、广开言路,自觉主动地接受群众的监督。对群众的投诉和掌握的违法违纪线索,坚持有案必查、查实必办、决不姑息。各县(市、区)委政法委和市直各部门,要组织专门人员对政法单位和政法干警的纪律作风、执法办案、为民服务、警容风纪、在岗在位、车辆使用等情况进行明察暗访,发现问题,严肃处理。整顿活动中,对不胜任本职工作的,要离岗培训;对不适合从事政法工作的,要坚决清理出政法队伍;对因疏于管理导致队伍中发生严重违法违纪案件、造成恶劣影响的,要追究领导责任

posted @ 2007-09-07 18:52 CharlieShen| 编辑 收藏

 

1   9世纪末20世纪初意大利社会学家和经济学家帕累托发现的“帕累托原则”指出,在任何一组事务中,最重要的通常只占一小部分,大概为 20%,这个原则又被称为“重要的少数”,或者80/20定律。“帕累托原则”主张团体中80%的贡献是由20%的成员所做出的,换句话说,在一个项目中只要做好重要的20%的事情,就能达到80%的效果。

  不幸的是,许多CIO在信息化项目实施中,却往往忽视“帕累托原则”,而使自己的信息化项目陷入窘境。

  探索中的企业信息化往往需要在前进中不断摸索,更需要信息化效果的尽快显现来增强企业信息化的信心。如果在信息化实施时不抓重点,尽快显现出信息化的实施效果,而将信息化战线拉得过长,很有可能在信息化尚未成功之时就会导致项目因得不到企业老板和员工的认可而中途夭折。

  如何利用“帕累托原则”原则帮助我们抓住信息化建设的重点,来顺利完成信息化项目实施?笔者根据自己的工作实践总结出几点经验与读者共享。

  选择信息化项目 满足20%需求

  面对企业方方面面的需求,信息化项目的选择往往令CIO们大伤脑筋,用信息化有限的预算满足企业的全部需求显然不现实,然而又要保证信息化的实施效果,CIO往往陷入需求和预算的两难。

  用“帕累托原则”抓住关键问题,对需求进行罗列和排序,不仅能明晰需求,更能够帮助CIO选择合适的信息化项目。首先,把收集到的每个需求按其重要性进行排列,考察实现每个需求能够为企业带来的价值,以及每个需求的紧迫性、需求的使用范围和频率。然后,与技术人员商讨需求实现的成本及难度,设想在需求实现中可能会遇到所有阻碍。在此基础上,对需求进行再次排序,找出其中最关键的20%需求,作为选择信息化项目依据。

  根据笔者的经验,完成了企业这20%的需求,往往可以解决企业中80%问题,而我们花的精力却只有20%。用20%的投入实现80%的效果,不但可以增加员工和一把手信息化建设的信心,还能减少在实施过程中遇到的阻碍,一举两得,何乐而不为?

重组企业20%关键流程

  企业的业务流程数以百计,特别是制造业,把企业的ISO内控流程拿出来,有厚厚的几本。但是,企业在实际工作中,80%的流程一个月都难得用到一次,如供应商考核流程,要半年甚至一年才会用到一次;设备检修,也每季度才检修一次;信用额度的审批,一般企业都要一年调整一次……若一开始,我们就考虑这些难以用到的流程,那么项目的难度就会无限的扩大。

  实际上,企业平时用的最多的,或者说企业最关键的流程却只有20%,其中包括材料的采购、入库、验收流程,应收应付流程,生产领料流程等等,抓住这20% 的关键流程进行理顺重组,将大大缩短ERP实施时间、降低ERP的流程重组难度。

  我们所要做的第一步,是根据企业的实际情况,找出企业利用最频繁的流程;第二步,考察企业当前业务情况,寻找存在的关键管理漏洞,这其中包括仓库原材料超收、业务员违规送样等漏洞。从中根据使用频率和管理漏洞找出关键流程,对关键的20%流程进行重组。

  用20%的模块实现80%的业务

  信息系统大都是模块式架构,因此项目的实施一般也按照模块进行实施。找准企业平时用的最多、给企业带来最大收益的几个模块,如销售,采购,生产,财务,仓库等,重点实施,可以让有限的资源相对集中在最关键的模块上,从而保证ERP项目的实施效果。

  其它模块,诸如成本、库存盘点、对帐、报表等,一个月甚至一年才会用到一次,并且其内容又依赖于其他模块的实施,若一开始就大包大揽,全部上马,其实施难度和收效可想而知。

  模块与业务之间是相辅相成的,主要模块服务于主要业务,20%的主要模块的实施往往能够带来80%主要业务的实现。因此,在项目实施规划时,要优先考虑牵扯到主要业务的重点模块,待主要模块效果显现后,再考虑完善其它模块来全面满足业务需求。

  用关键20%制定项目评估指标

  信息化项目的实施评估,往往依赖于对若干指标实施情况的考察。指标的选择,往往关系到最后的考核结果。如果不分主次,在各个模块、各个业务流程平均的抽几个指标出来评估项目的话,那想想会出现什么结果?我们会发现,信息化项目的实施效益很低。

  如销售定单的出错率本来就只有1%,这时,销售定单流程可能已经不是主要流程,而恰恰我们又拿这个流程来考核,发现上了系统后,出错率仍然为1%或者0.99%,显然无法从这个指标看到ERP的效益。

  相反,若我们在需求调研的时候,发现采购周期为3天,长于同类企业的1天的标准,那我们在需求调研时,即可形成关键需求;在实施后,这个采购周期就是评价ERP实施效果的关键指标。抓住了上面提到的20%需求,20%关键流程,20%关键业务来制定信息化项目的评估指标,其评估的结果才是合理的,真实的。

  信息化项目的深入和完善是个循序渐进的过程,信息系统的成功上线,并不意味着项目的完结,相反却是一个新周期的开始,需求调研、流程优化、效果评估……不断的深入和优化将成为每位CIO永久的使命,“帕累托原则”也必将成为帮助CIO达成这一使命的持续动力

posted @ 2007-09-07 18:51 CharlieShen| 编辑 收藏

有这样一类公司——拥有乐趣横生且狂热的环境,吸引了很多有抱负的能人。公司中弥漫着“敢做敢当”的大无畏精神,它激励了员工的创造性,甚至常常是伟大的创意。但与此同时,因为公司的组织架构和运作缺乏一致性和规则约束,它们并不能牢牢把握那些机遇,也不能使机遇再生,往往只能昙花一现。

 

  我们把这类缺乏规则约束,仅靠少数能人的灵光乍现和随机应变而取得快速发展的公司称为“随机应变型组织”。它们能留住好的人才,在财务上也能够非常成功;但是它们还是未达到自己的最高绩效水平,需要向一个更稳定、更持久的管理模式转变。

随机应变型组织的特点

  随机应变型组织最大的特点就是它振奋人心的气氛。这里新鲜的观点比比皆是,它们推动了天才解决方案的提出。但是,此类组织中的员工往往过度消耗自己的精力,从而可能导致最终的崩溃。

  刚加入帕帕克律师事务所6个月的助理律师比尔,收到了上司杰克从一个大型电信公司——广信公司打来的电话。广信正着手进行对一个大竞争对手的收购,他们希望帕帕克能确认是否有这样的经验和专家可胜任此项目。比尔刚接到任务,做一个关于公司资格背景的陈述,并简述一下广信的兼并过程。陈述安排在下周1中午,现在是周5。显然,比尔与女朋友伊丽莎白的周末滑雪计划可能泡汤,但他非常兴奋。这就是他之所以加入帕帕克的原因——有机会为世界顶级的大公司做大项目!

  帕帕克在企业并购方面非常出名,已经拥有大量的石油产业客户,肯定会有一些模板和资格证明文档,比尔可以用这些资料来做这个资格背景陈述。但当他在公司局域网中搜索“帮助”的时候,他发现帕帕克的所有数据都过时好几年了。当比尔四处打听时,所得到的回答大都是“谁有时间管理数据库?你必须自己‘加工’文档内容,自己写案例,这些都没有报销。每个人都要忙着应付客户的事”。

  比尔觉得这太难以理解了。他必须靠自己在短短6个月内建立起来的一点点关系,讨、借或是偷一些他能够利用的信息。而公司的数据库如果更新了,一切本来要容易很多。比尔给伊丽莎白打电话,取消他们的滑雪计划。这已经不是他第1次仓促地取消他们的周末计划了。同样,这也不是他第1次为了那些本应该早准备好的资料而到处找人。到周1早上陈述材料完成的时候,他已经工作了40个小时,而正常情况下这充其量只是10个小时或1个工作日的工作量。尽管最终陈述非常顺利,但比尔的女友却在2天前留了一张条,说要与他分手。
  帕帕克是典型的随机应变型组织。它能够吸引很多可承受高压力工作环境的人才,是一个非常令人兴奋的工作地点,但是,人们要怀疑这种压力是否真正有必要。如果信息能够程序化地获得和共享,那么员工就不需要在周末做一些重复性的工作。
  成立于2000年4月的印度24/7客户服务公司同样是随机应变型组织。24/7拥有世界500强企业中的很多客户,为它们提供电话服务中心和售后服务中心、市场调查等客户服务解决方案。该公司年收入从0开始已经增长到5000万美元,员工由5年前的20人增长到4000人。
  公司不断获得客户的赞誉和推崇,但它的迅速增长也付出了巨大代价。随着董事会不断有新成员进入,公司越来越难以发动和组织他们接受必要的决策,来推动组织的发展。公司CEO康南对此深感苦恼,因为早期那种在吸引犹豫不决的客户时非常管用的“工作狂人”态度,将难以满足一个金领企业为了寻求尽责、可靠的服务提供者,而对组织健康提出的要求——幸运女神将青睐那些有稳定预期、有可测度的运作模式。


改善随机应变型组织的管理

  如何改善随机应变型组织的管理?焦点问题应该是预防性防御——创建一个更为连贯、层次清晰且能自我矫正的组织,一个能让员工明确公司对自己要求的组织。


  职责和流程规则的制度化


  非正式的决策不能带来稳定的结果;组织需要引入更多的架构和规则,以承载它的成功发展。管理层需要非常清楚,谁知道什么以及如何让他们知道。这就意味着要明确决定权并以恰当的途径和信息为决策者提供支持。业务流程不仅要明确定义,而且组织应该确保他们是以规范的方式来执行的。


  24/7客户服务公司的管理层已经对其决定权和激励作出了相应的调整。“我们不再以非正式的方式来着手解决问题,我们已经引入了以流程驱动的决策框架。首先是发现问题。然后这些问题要分发给各个不同职能单位的负责人。时间限制和跟踪机制都必须有。然后,我们每周要作为一支团队共同来着眼于一些重要的问题,想一想‘我们需要共同努力的有哪些事情’?”公司CEO康南这样说。

posted @ 2007-09-07 18:50 CharlieShen| 编辑 收藏

 

从经济增长的周期因素看,目前已经到了本轮周期的后期阶段,即便是不进行宏观需求紧缩,经济增长也会逐步进入下降通道
  8月份,城镇固定资产投资增长率为21.5%,比7月份下降了5.9个百分点,相比于6月份的33.5%,更是下降了12个百分点;同时,8月份的工业增长率也下降到15.7%,比7月份下降了1个百分点,比6月份下降了1.8个百分点。

  投资回落的两种假设

  投资是主要的需求指标,工业产值则是主要的供给指标,这两个主要经济指标连续两个月的回落,是否预示着本轮经济增长目前已经到了一个“拐点”?
  有些人不同意这个说法,认为目前统计局报出的数字有假,根据是主要的能源与原材料产出仍处在高增长区,而经济增长率与这些基础产品的增长呈正相关,在基础产品仍在高增长的时候,投资与工业增长率是不可能显著回落的。在这个判断下,解释统计数据回落的原因,就只有认为它不真实,可能是地方政府为了应付中央要抑制经济增长“由偏快转过热”的宏观调控政策,有意识瞒报投资和工业增长率。
  另一种观点认为,主要需求与供给指标的回落,是宏观调控开始见成效,而目前经济运行中的增长冲动仍然很强劲,因此指标的回落并不意味着中国经济的拐点性变化。

  5年投资周期临界点

  我对以上这两种意见都不敢苟同。自2003年出现新一轮经济增长高潮以来,由于分配关系的变化,我一直撰文呼吁,我们必须警惕在2007年可能出现全面生产过剩问题。由于本轮经济增长高潮主要由重工业投资带动,而重工业的平均投资周期大约为5年,所以自2003年开始计算,到2007年这轮由重工业投资带动的经济增长高潮就可能会过去了,届时因为投资需求明显下落,而大量项目集中投产,会使总供给大量增加,但是由于分配矛盾不可能在短期内得到解决,国内消费需求始终受到抑制,就不可能出现经济增长由投资需求带动向消费需求带动的转换,所以由生产过剩所导致的经济增长率下滑是不可避免的。
  2005年,虽然本轮投资周期还处在中间阶段,但是先期投入的许多项目已经开始形成产能投放,所以中国经济运行也相应出现了与本轮经济增长周期完全不同的特征,就是当投资、消费与出口这三大需求都出现高增长时,中国经济不仅没有2003、2004两年出现的通胀率上升和瓶颈制约,反而是CPI与PPI双双走低,大量前两年还是极度短缺的产品,去年则开始出现供过于求的状况,在国内市场压力下走向国外,导致贸易顺差突然放大。中国经济这种“高增长、低通胀”与贸易顺差放大同时出现的格局,除了用“在需求高增长的同时,供给增长比需求还快”的原因来解释,是不可能有其他合理解释的。
  缓解供给增长大幅度超过国内需求矛盾的是出口,前8个月的贸易顺差已经接近1000亿美元,去年上半年,贸易顺差占GDP的比率为4%,今年上半年则上升到5.4%。贸易的高增长与贸易顺差急剧扩大,说明到目前为止,外需依然强劲,并且还拉动了出口价格上升。这个上升幅度,既消化了初级产品进口涨价因素,也普遍高于人民币汇率上升的幅度,由此提升了出口企业的利润水平,并引发了面向出口产业的投资热潮,使出口产业的投资增长,成为推动投资增长再度出现热潮的新因素。
  但是对5年的投资周期来说,目前毕竟已经接近尾声,这最集中地表现为新上投资项目计划投资额的显著回落。我之所以不敢苟同目前的投资回落是地方政府造假行为结果的说法,就是因为新上项目计划总投资的回落其实早已发生了。
  从统计数字看,去年前5个月,新上项目投资增长率已经下降到24.9%,今年前8个月则猛降到11.4%。我们必须理解,目前公布的固定资产投资增长率与新上项目计划总投资增长率这两个概念的区别,前者反映的是到目前为止已经完成的投资额,后者则代表未来将要发生的投资额,如果投资完成额虽然很高,但新上项目计划投资额的增长率在下降,则目前的投资高增长率是不可能持久的。如果情况相反,则说明一个新的投资高潮正在酝酿之中。
  值得关注的倒是,如果8月份的新上项目投资的增长率已经下降到11.4%,则明年下半年至2008年初以后,投资增长率可能会下降得很猛,由于投资需求占目前拉动经济增长需求份额的60%左右,投资增长率的显著下降就真的可能使2007年成为本轮经济增长周期的大“拐点”了。

  经济增长内生因素是关键

  关于是中央政府的宏观调控导致了目前投资与工业增长率的明显下降这个观点,我认为也站不住脚。央行虽然今年以来已经进行了两次加息,但第一次加息是在4月份,而直到7月投资与工业增长率仍然很高,显然对抑制“过热”没有起什么作用。8月份的加息是在8月19日,8月的日子已经过了一半多,说对当月的投资与工业增长率下降能起到决定性作用,显然没有根据,而国务院31号文加强对土地的控制,与调整出口退税政策的出台,更是9月份以来的事,根本不可能对8月份的经济运行产生影响,所以投资与工业增长率的显著下降,更应该从经济增长的内生因素中去寻找。

  寻找宏观调控“双放松”时机

  由于从经济增长的周期因素看,目前已经到了本轮周期的后期阶段,即便是不进行宏观需求紧缩,经济增长也会逐步进入下降通道,所以,未来宏观调控的走势必定是从“双稳健”转入“双放松”,而不可能走入再度收紧。具体说什么时候会转入双放松,还要看未来经济运行的变化。
  我认为,如果9月份的投资增长率下降到20%以下,则进入四季度后,宏观调控转向的可能性就极大。
  另外,还必须关注美国经济的变化。如果欧元与日元的利率继续提升,则美元的利率也会被迫提升,如果美元利率上升到超过5.5%,则美国的房地产泡沫就有可能发生崩溃,由此牵累到中国的出口增长。因此,我们最需要防止的是由国内的生产过剩与美元泡沫崩溃所导致的内外需紧缩“双碰头”,准备好启动各方面需求的应对措施,防止中国经济的大起大落。
  作者:中国宏观经济学会常务副秘书长 

posted @ 2007-09-07 18:50 CharlieShen| 编辑 收藏

  托姆斯·弗里德曼将全球化和信息化比喻为“铲平世界的两大推土机”,并断言:世界已被“铲平”,我们已经进入“全球化3.0时代”。随着《世界是平的》一书风靡全球,书中所提出的这些理念正在被大家所接受。

  仔细回味这本书,我们可以发现,目前的电信运营商可能是对全球化和信息化力量的冲击感受最为深切的企业——这两大力量直接导致了电信运营业本地竞争加剧,在世界变平坦的同时,原来相对封闭的、自成体系的电信运营格局被冲击得荡然无存,运营商平静富足的生活被彻底打破。

  战略方向的转变,自然要求对组织结构进行调整。传统上,运营商的组织模式按照直线职能方式建立,由上至下实施纵向的指挥和控制。虽然这种模式职责明确,但组织层级多、信息链冗长,容易导致对外界的反应迟钝。而提供综合信息化服务,需要强调以客户为中心,缩短战略制订者与市场之间的距离,同时确保在新的战略方向下企业强有力的执行能力。这就要求企业必须朝着集中资源、缩短信息反馈流程和提高运作效率的方向,对组织实施扁平化改造。于是,“世界是平的”最终反映到了运营商组织的扁平化,其核心就是减少组织层次并整合企业的资源和能力,以达到实施专业化管理、形成更统一的核心 竞争力的目的。

  在对组织进行扁平化改造的过程中,通常所采取的企业流程再造(BPR)方式,是一个外科手术式的剧烈变革,很容易造成企业经营的动荡,而且成功几率不高。作为省级电信运营商,如何在避免大手术的情况下重塑组织?这就需要以提升战略 执行力为导向,对组织管理模式实施创新。可从三个方面来分析省公司如何对组织实施扁平化改造。

  一是集中资源,尤其是关乎企业未来发展的战略性资源,进行整合和统一配置,从而降低成本和提高效率,达到集约化运营的目标。

  资源种类繁多,如何集中,以哪些资源的集中作为切入点?人事权和财务权的集中当然是最本质和最彻底的,但也最容易遭受抵制。为确保市场经营的顺利进行,推动而不是打击一线组织的积极性,对于省级运营商来讲,集中掌控应从两类资源入手——客户资源和外部合作资源。

  信息化战略就是以客户为中心的,战略转型能否成功,取决于客户。因此,省公司应逐步做到计费和营账系统(BOSS)、客户关系管理系统(CRM)和客户呼叫中心(10086)的区域化集中,加强对客户信息资料的统一管理,提高对客户数据的挖掘分析能力,提升客户服务的统一规范水平。同时,以客户为中心对关键业务数据以及关键应用进行集中,有利于降低业务支撑系统总成本,有利于实现网络服务水平的标准化,实现降低成本和高效管理的目标,最终提供端对端的以客户为中心的服务,强化市场竞争力。

  开展信息化业务,绝非运营商一家可为,强大的合作能力是信息化战略成败的关键,如弗里德曼所讲:“在铲平了的世界里,合作,成为企业生存和发展的第一要件。打造完美的产业链、建立合作共赢的商业模式已成为社会化大生产和通信业发展的必然趋势。”因此,省公司必须联合产业链上下游,同时做好政府和社会关系管理,必须加大对外合作性资源的集中,加强对外统一宣传、统一公关。广东移动等省公司在实践中,通过与省政府部门的合作,推出了“信息化八项工程”等重大社会信息化项目,为信息化业务的推广创造了良好的政策优势和社会舆论环境,同时加强了与文化交通管理部门或者电力等行业的总部合作,有力促进了行业信息化的开展。

  二是对组织进行梳理和优化,明确各自在新组织形态中的定位。

  随着资源的集中,相应的组织业务流程势必发生相应的变化,对新的业务流程进行梳理,是新的组织形式得以确立并顺利运行的基本前提。由于在扁平化的过程中,必将减少部分职能的纵向层级,在纵向压缩时,如不注重调整横向的职能和业务部门,尤其是对工作责任边界不做调整,那么组织变革的效果就会大打折扣,甚至影响到对组织变革的信心和评价。按照新的业务流程调整或设计新的组织部门以及工作职责,未雨绸缪地做好新老模式的对接,将减少管理中的混乱以及顾客服务质量的下降。

  在实践中,江西和广东等省的移动公司,对照eTOM运营流程模型,开展效率管理探索,对与两类资源集中掌控相关的重要流程进行了梳理和优化,如优化了采购、客户管理管理、IT、企业外部资源管理等流程,并通过流程穿越和流程跨越等活动,加强对流程前后段和不同流程部门之间的互动,强化换位思考,打造合作环境。

  第三,做好组织中管理者角色和能力的提前培训,确保组织调整顺利进行。

  资源的集中与职能的调整,绝不是拼装机器部件那么简单,它涉及到对组织以往运行方式以及组织成员工作习惯的改变。因此,在结构调整前,应首先对行业形势及对企业发展提出的新的要求和挑战进行培训,树立危机意识和变革意识,让大家了解、学习并认同转型战略。然后,对照新的战略要求,对各个层次管理者的新角色以及所需要的工作能力进行有针对性的培训,确保管理者明确并适应新的工作定位。在对现有管理者进行培训的同时,加强后备管理者队伍建设,对不能胜任新要求的管理者,坚决撤换,从而确保整个组织调整进程的顺利进行。

  当然,在资源和职能的集中过程中,也会遇到一些问题,比如针对客户个性化和本地化需求,公司如何快速反应和高效解决,如何加强一线基层团队的活力和积极性,如果定位中层管理者等等。这就需要省公司在进行组织扁平化的过程中,处理好集中化与本地化、统一配置与灵活处理、集权与授权之间的平衡关系,而这种平衡,需要采取创新性的思维和精细化的手段,稳步推进。

posted @ 2007-09-07 18:50 CharlieShen| 编辑 收藏

 

1.     企业信息化绩效研究的背景

迅速增长的IT投资,似乎没有得到明显的投资回报。20世纪80年代末,美国学者查斯曼(Strassman)调查了292个企业,结果发现这些企业的IT投资和投资回报率(ROI)之间没有明显的关联。对信息技术的大规模投资没能提升生产力水平——这个质疑后来逐渐演变为著名的“生产力悖论”。“生产力悖论”指出:从1960年代到1990年代中,美国GDP在增长,实际工资在增长,新技术层出不穷,人民的生活水平在提升,全要素生产力的增长率却一直呈现节节下降趋势,直到1990年代最后几年才有较强劲回升。数量模型与统计数据的研究结果与人们的常识和感受不甚相合。

2001年10月17日,麦肯锡公布了研究报告《IT与生产力》,结论与“生产力悖论”的吻合:“在1995年到2000年期间,美国经济确实得到了提高,但促成这一转变的能量主要来自少数几个商业领域,与人们普遍预料的相反,对IT行业的高额投资并不是创造美国生产力增长‘神话’的主要力量。在绝大部分经济领域中,对IT方面的大幅投资没有起到任何帮助生产力增长的作用。”麦肯锡报告推论的逻辑是,“占经济总量69%的53个行业部门为生产力增长的贡献率仅为0.3%。尽管IT投资浪潮中62%的资金增长是投入在这53个部门,但它们中的大多数遭受了生产力下降的厄运。”

2003年5月《哈佛商业评论》上刊载的尼古拉斯.卡尔(Nicholas G. Carr)题为《IT Doesn’t Matter》再次引发起巨大反响,几乎所有的重要媒体、IT业界巨头尤其是CIO、商业界重量级人物和专家学者们纷纷发表对此问题的看法。卡尔指出:实际决定公司资源是否真正具有战略价值的是稀缺性,而非普遍性。在今天,当IT已不再是专有技术,而是基础性技术,正在日益成为同铁路、电力一样的无差异性大众商品的情况下,企业通过对IT的常规投入获得优势的机会越来越小,“从战略重要性这个角度来看,IT会淡出舞台,不再那么紧要”。

在我国,目前企业上ERP项目通常的做法是,调研、撰写可行性报告、审批、招标、答辩、选定ERP软件提供商、安装系统、整理编码、输入工程数据、按每子系统实施、上线、验收。时间成本上由调研到系统初步验收要几年;经济成本包括项目的投入巨大,再加上日常的维护费用,升级费用;另外还包括人员增加等。效果上往往虽然订单处理、财务账目电子化了、库存管理电子化了,但生产计划调度的工作量似乎未见减少,量化的效益又难以说清,这就是我国大多数制造企业实施ERP项目的写照。

大量的实践和研究都证明,IT的存在价值将是能否将其转化为服务经济模式,IT的投资应通过与战略的融合,致力于价值实现、风险控制和流程管理。开展信息化绩效的研究、提高信息化的绩效已是迫在眉睫。

2.     研究途径

信息化绩效的实践和研究可分为三个方面:如何确定绩效目标?如何以绩效驱动实施?实施后如何评估绩效?

2.1     如何确定信息化绩效目标

第一,是从管理的角度来定义目标。整个企业从一个层面的目标来看是成功的,从另外一个层面的目标来看很可能是不成功的。所以这个认识上的问题就给ERP的绩效目标设置了障碍。所以,需要从“信息化整体成功”制定目标。

第二,将信息化绩效目标和战略目标结合。对照此目标看IT系统是不是和企业的战略目标结合了,如果IT系统能解决企业所面临的战略问题,自然是达到了目的。对于企业来讲,首先要理解IT的能力,IT资源,流程现状,要对IT的能力和公司的业务战略做分析,知道怎么样做才能够提高IT的价值。企业现有的能力和目标的能力,体现了IT的流程和IT资源的价值,可以从这些方面来评估并按照IT价值的角度来制定的信息化绩效目标。

第三,在信息化项目前期进行配套管理问题的解决。现实是应该在前期解决的管理问题,被回避,都放到了后期。而在后期,这些矛盾到了无法解决时,供应商也感到无能为力,项目轻则延期,重则严重挫伤企业积极性。实际上,很多企业运营流程不顺的时候硬把软件放上去,美其名“先固化后优化”,结果下面怨声载道,岂不知不少固化变成了“冗余流程的半自动化”。由于实施需要一定的周期,不可能把原来的所有基础推倒重来,很多人也不愿意都按照新的流程进行更改,结果是ROI变成了“ROI泡沫”。另一方面,很多供应商获得了相当多的利润,承诺的很多却做到的很少。

 

2.2    提高信息化绩效的实施研究

第一,在企业上系统之前,要进行一个全面的评估。企业价值链如何(战略)、组织就绪状态如何(流程),企业领导力和执行力如何,应从这三个方面去进行分析。评估企业的IT战略和实施有没有支持业务的发展, IT战略和业务的结合情况如何。从不同层面的量化和对比来看,系统并不是对每个部门都产生效率,对单个部门很难评估投资收益率。要对整体效率评估。根据信息系统和企业战略目标相融合的战略性信息规划确定的信息化绩效目标是企业信息化的重中之重。

第二,按照量化的标准作为实施依据,通过这个标准去衡量项目实施方案,2005年, Gartner总结出CIO最关心的十个问题,第一个问题就是“价值管理”,就是怎么利用IT来创造价值。对企业而言,信息化建设是要提供价值的。应该先定义好所提供的价值,这个价值就是一个标准。但企业的情况千差万别,所以,实际上基本没有一套可以放之四海而皆准的标准可以衡量。

第三,管理变革和系统实施相结合。做不好管理变革方面的工作,实施ERP等信息化项目往往导致"零效益"或"零成功率"。企业实施信息化,业务部门的人员要了解自身的工作模式,哪些是关键的战略项目?对于一个行业来讲,首先仔细审核业务优先级和自身的能力,才能够确立项目的重点,不同行业的不同企业其针对绩效目标的业务优先级不同。其次用户企业要了解,信息系统的流程是什么,根据自身确定的目标,寻找和标准信息系统流程的差距。信息化建设获得业务部门充分的支持和理解,甚至由业务部门主导实施,才能够从确实获得业务部门的绩效。

案例  瑞士的ALVEO公司,对照量化目标判断实施方案

瑞士的ALVEO公司成立于1971年,共有员工400人,98年营业额为1.3亿瑞士法郎,专门从事聚烯烃泡沫的开发、生产、销售和生产开拓。该公司从99年开始实施ERP项目,基本达到预期目标,成功因素之一是由清晰的目标驱动进行了ERP实施,其制定的目标包括:保证客户咨询的时间在2 h以内,保证回答客户的可靠性,财务平均减少支付期5天,优化日常财务管理工作,PP减少计划处理时间50%,库存周转由12次到24次,提高收益0 .5%,职工人数不变,总产量增加25%。其通过诸如客户矩阵定义目标,通过ERP系统、配套的管理措施、严谨科学的项目管理等实现了目标

 

2.3    信息化绩效评价技术

绩效评价中的成本评价不仅包括采购的成本、部署的成本,也包括上线开始运行以后运行的成本、维护的成本、变动的成本。从收益的角度讲,一个是IT收益,直接产生的是IT部门的效益,就是这个系统的可用性提高了;另一个是业务收益,面向员工、从面向客户、面向供应商、面向合作伙伴的业务流程的效率提高情况,它能够产生的工作效益,这些都是从衡量IT价值方面要充分考虑的。因而收益评价更为复杂:

首先从财务的角度和非财务的角度看。财务的指标在很多情况下只看到一个结果,没有办法表述其根源,也没有办法表示当前的情况,而且决定财务指标的很多因素不是单一的,比如说市场的情况好,财务指标最终收益就会大大增长,很可能它并不是因为IT直接带来的。即到单纯的财务指标没有办法把信息化投资的效益很完整地描述出来。非财务的指标有很多方法。美国学者帕尔,提出信息化的非财务指标可以用强化回报率,有些东西没法用财务指标计算出来,但是你可以用一些参数,可以用一些指标,可以用一些和财务指标相关的参数转换成财务指标。利用价值的关联,信息化对其它部门部门的贡献来计算。如加快库存周转率缩短了,这些是通过信息化给企业加速所带来的价值。

其次用定量的测度和定性的测度,尤其是量化的测度,可以变成财务指标,可以变成其它指数。定性测度,如信息化很多效益反映在改进了决策质量,提高了竞争力,增加了团队合作的精神等等。中国信息化评测中心的企业信息化效能指标,这个指标很多是定性的,比如企业对信息化的投资,投资和信息化战略的适宜度,IT和企业战略适宜度、投资和规模是不是适宜。平衡计分卡的方法从客户的纬度、流程的纬度、财务的纬度、创新的纬度等方面进行评估,可以从企业的战略着手,先设置企业的战略,然后提出实现企业战略各个方面的指标,然后把这些指标分解成为四个方面,参照纬度设置一些指标,这些指标可以从企业内部的运作情况衡量出来,通过信息化在企业内部产生运作的合理性,内部效益的提升,从这方面衡量企业信息化的效益。

下面的技术主要是定量的测度技术

第一、评价工具或模型

IBM Rational1估计项目成本的技术之一——COCOMO II模型:

工作量 = (人员) (环境) (质量) (规模过程*)

*表示过程有效性

这个等式抓住了以下关键因素:

工作量:完成项目需要的人月 ,过程:基于产生最终产品的过程的有效性的公式

环境:考虑工具和技术的因素 ,质量:考虑需要的产品质量的因素

规模:组成最终产品的人工产生的代码行数 ,人员:考虑团队能力的因素

Barry Boehm和Dan Port对软件问题的“价值方面”定义了“基于价值的软件工程 (VBSE)”。VBSE涉及软件和信息系统产品,过程技术,以及它们与人类价值的互动。它使用风险分析来平衡软件规范和灵活性。目前,在美国最被认可的培训当属核子研究公司的执行官堪培尔所讲授的课程。堪培尔认为,关键是要学习如何获取正确的数据,即如何问合适的人合适的问题。堪培尔认为,一套成型的投资分析方法能够保证分析的连续性,尽管通过这样的分析方法所得出来的结论可能不够准确。

posted @ 2007-09-07 18:49 CharlieShen| 编辑 收藏

企业对IT咨询的需求分两种:知道自己应该做什么,但缺乏流程优化或重组的能力;或者能够完成流程优化,但缺乏将优化后流程的实施能力,如案例中小凌所在的公司;前者对咨询的需求将包括BPR和ERP实施,而后者的需求仅仅是ERP实施;显然,前者应付出的成本将比后者高;所以,企业若能在实施ERP之前就完成或部分完成BPR将大大降低信息化的成本。

世界上各大ERP产品都有其一套通用的流程体系,然后在实施的过程中视不同行业、不同企业的具体情况进行客户化开发。作为ERP产品供应商或咨询公司的实施顾问,他们的优势在于对产品本身通用流程的熟悉,但是对各行业和企业的流程体系熟悉程度较低,故无论是国际“四大”还是国内的ERP咨询公司,几乎所有的ERP实施项目都需花费大量时间去进行企业流程重新疏理和客户化流程重组。

此时,若企业自己缺乏流程文档的积累,那么花费大量的成本替咨询公司交学费的情况就难免会发生;但是,若企业有着明确的战略规划,而且对业务模式对应的管理流程和业务流程有着明确的认识,将大大减少提高ERP实施项目的时间,同时提高项目的效率。

ERP项目实施方式可分为两种,由咨询公司以实现产品功能为导向的实施方式,或者由企业以实现个性化需求为导向的实施方式,不难想像前者的风险和失败的可能性;导致前者发生的主要原因来自咨询公司与企业之间的信息不对称,尤其是对企业流程信息的不对称,所以,企业在实施ERP项目前就自己对流程体系进行一定的疏理,将大大提高ERP项目的成功率。

BPR:革命尚未成功

上世纪由西方发起轰轰烈烈的流程再造被视为一场颠覆性的革新运动,到目前为止可谓毁誉参半。有“BPR之父”之称的哈默教授在其《X-再造》一书中已承认BPR尚未成功,同志还需努力。究其原因,有如下几点:

◆ 多数BPR运动准备不足。一方面,BPR的目的是为了重塑企业业务模式,构建企业新的核心竞争力;而另一方面,完整的BPR不啻于掘地三尺,需耗费企业大量的人力物力,而开始从事BPR的企业大多将此当成可有可无的鸡肋。

◆ 企业高层重视不够。就理论而言,技术革新应由下而上,而管理革新必须由上而下。但在BPR掀起波澜的初期,企业领导人对BPR普遍缺乏足够动力和危机意识,于是BPR往往半途而废。在2000年联想BPR项目后的总结中有这样一个教训:讨论流程的业务人员层次低,变换频繁,业务部门主要负责人审核、把关投入的精力不足,导致组织结构只是初步结果, 业务流程没有覆盖到全部业务情况。

◆ 遭遇传统势力的阻力。BPR在提高业务运作效率的同时,也将彻底颠覆企业传统的权力结构,由臃肿的金字塔高度集权式企业改造为扁平化和分权式的企业,受冲击最大的是企业的中高管理层。在强大的阻力下,BPR面临较高的风险。摆在企业最高领导人面前的往往是一道两难的题目:是选择刮骨疗毒还是任由企业自身的免疫系统缓慢起效。小凌所在的公司应该是幸运的,因为该公司在咨询公司进入前,已经完成了部分BPR的工作,也正是这部分的BPR使公司完成了风险最大的内部管理变革,当年联想在花费了数千万元的咨询费启动了ERP项目后,遭遇内部一系列阻力,项目险些搁浅。为此,柳传志曾发出过那句广为流传的感叹:“上ERP也许会死,但不上ERP肯定会死”

◆ 实施不力。流程重组的终极目的是使企业业务运作效率最大化,消除一切低效率的行为,但流程优化本身只能实现纸上的规划,并不能解决问题。新流程的实施者往往发现虽然流程的审批环节减少,但决策速度还是跟不上市场需求的变化速度。即使在流程优化后,一个订单变更的流程还是需要走过生产部门、仓储部门和工艺设计部门三个环节,而一个大型企业往往同时面对成百上千的订单,在信息系统缺位的情况下,通过电话、传真的方式沟通明显不够经济。

当然,上述症状一般是在企业业务达到一定规模时才会发生,而有此规模的企业一般都部分实现了信息化,但是缺乏集成的各系统就有如汪洋中的孤岛,难以发挥效用,小凌所在公司在ERP上线前就面临流程实施不力的问题,其原因主要在于新的流程没有与原有的信息系统实现对接,而且原有的信息系统本身也未能实现集成。

以上问题其实都反映了一个共同的原因:BPR仅仅是规划,在实施过程中需要企业从全方位提供有效支持,而完整的信息系统才是高效实现新流程的前提。

BPR:上马ERP的充分必要条件

对于小凌所在的公司而言,BPR不但是ERP的充分条件,更是必要条件。ERP项目前的BPR虽然未能实现其全部目的,但是在以下几个方面是成功的:

◆ 通过BPR实现了内部的管理变革,BPR后的企业至少初步拥有了接受进一步变革的企业文化,使得ERP具备了成功实施的关键前提。

◆ 通过BPR,企业才真正发现了自身的准确需求,那就是对于企业全部流程进行重组的需求,而不是部分流程优化的需求;基于原有的信息系统实施新的ERP模块的需求,而不是盲目地接受自己不需要的ERP模块,大大提升了ERP项目的投资回报率。

在BPR之后,企业必须完成以下几个方面的调整来实现与原有信息系统的对接:

◆ 将公司原有的组织结构的层级设置、岗位编制和岗位职责按照新流程的要求进行相应调整,真正实现流程导向型的扁平化组织(小凌所在公司发生的20名高管在BPR后只剩下6名的情况并不意外。

◆ 基于新的流程,将原有的信息系统进行重新设置,包括:用户的权限级别、系统的角色定义、新功能的开发、报表和单据的格式。

◆ 信息录入人员的数量应根据新流程的要求进行调整。

◆ 静态主数据(包括物料、供应商、客户、BOM等等)的重新定义和动态数据的重新测试和转换。

◆ 在系统调整后,还需针对调整的内容对企业员工进行必要的培训。

◆ 若现有信息系统的功能已经无法满足新的流程体系,企业则应该考虑上一套全新的系统。

就像企业追求基业常青的可持续发展理念一样,BPR和ERP的升级改造将在企业的生命周期中不断上演

posted @ 2007-09-07 18:48 CharlieShen| 编辑 收藏

企业对IT咨询的需求分两种:知道自己应该做什么,但缺乏流程优化或重组的能力;或者能够完成流程优化,但缺乏将优化后流程的实施能力,如案例中小凌所在的公司;前者对咨询的需求将包括BPR和ERP实施,而后者的需求仅仅是ERP实施;显然,前者应付出的成本将比后者高;所以,企业若能在实施ERP之前就完成或部分完成BPR将大大降低信息化的成本。

世界上各大ERP产品都有其一套通用的流程体系,然后在实施的过程中视不同行业、不同企业的具体情况进行客户化开发。作为ERP产品供应商或咨询公司的实施顾问,他们的优势在于对产品本身通用流程的熟悉,但是对各行业和企业的流程体系熟悉程度较低,故无论是国际“四大”还是国内的ERP咨询公司,几乎所有的ERP实施项目都需花费大量时间去进行企业流程重新疏理和客户化流程重组。

此时,若企业自己缺乏流程文档的积累,那么花费大量的成本替咨询公司交学费的情况就难免会发生;但是,若企业有着明确的战略规划,而且对业务模式对应的管理流程和业务流程有着明确的认识,将大大减少提高ERP实施项目的时间,同时提高项目的效率。

ERP项目实施方式可分为两种,由咨询公司以实现产品功能为导向的实施方式,或者由企业以实现个性化需求为导向的实施方式,不难想像前者的风险和失败的可能性;导致前者发生的主要原因来自咨询公司与企业之间的信息不对称,尤其是对企业流程信息的不对称,所以,企业在实施ERP项目前就自己对流程体系进行一定的疏理,将大大提高ERP项目的成功率。

BPR:革命尚未成功

上世纪由西方发起轰轰烈烈的流程再造被视为一场颠覆性的革新运动,到目前为止可谓毁誉参半。有“BPR之父”之称的哈默教授在其《X-再造》一书中已承认BPR尚未成功,同志还需努力。究其原因,有如下几点:

◆ 多数BPR运动准备不足。一方面,BPR的目的是为了重塑企业业务模式,构建企业新的核心竞争力;而另一方面,完整的BPR不啻于掘地三尺,需耗费企业大量的人力物力,而开始从事BPR的企业大多将此当成可有可无的鸡肋。

◆ 企业高层重视不够。就理论而言,技术革新应由下而上,而管理革新必须由上而下。但在BPR掀起波澜的初期,企业领导人对BPR普遍缺乏足够动力和危机意识,于是BPR往往半途而废。在2000年联想BPR项目后的总结中有这样一个教训:讨论流程的业务人员层次低,变换频繁,业务部门主要负责人审核、把关投入的精力不足,导致组织结构只是初步结果, 业务流程没有覆盖到全部业务情况。

◆ 遭遇传统势力的阻力。BPR在提高业务运作效率的同时,也将彻底颠覆企业传统的权力结构,由臃肿的金字塔高度集权式企业改造为扁平化和分权式的企业,受冲击最大的是企业的中高管理层。在强大的阻力下,BPR面临较高的风险。摆在企业最高领导人面前的往往是一道两难的题目:是选择刮骨疗毒还是任由企业自身的免疫系统缓慢起效。小凌所在的公司应该是幸运的,因为该公司在咨询公司进入前,已经完成了部分BPR的工作,也正是这部分的BPR使公司完成了风险最大的内部管理变革,当年联想在花费了数千万元的咨询费启动了ERP项目后,遭遇内部一系列阻力,项目险些搁浅。为此,柳传志曾发出过那句广为流传的感叹:“上ERP也许会死,但不上ERP肯定会死”

◆ 实施不力。流程重组的终极目的是使企业业务运作效率最大化,消除一切低效率的行为,但流程优化本身只能实现纸上的规划,并不能解决问题。新流程的实施者往往发现虽然流程的审批环节减少,但决策速度还是跟不上市场需求的变化速度。即使在流程优化后,一个订单变更的流程还是需要走过生产部门、仓储部门和工艺设计部门三个环节,而一个大型企业往往同时面对成百上千的订单,在信息系统缺位的情况下,通过电话、传真的方式沟通明显不够经济。

当然,上述症状一般是在企业业务达到一定规模时才会发生,而有此规模的企业一般都部分实现了信息化,但是缺乏集成的各系统就有如汪洋中的孤岛,难以发挥效用,小凌所在公司在ERP上线前就面临流程实施不力的问题,其原因主要在于新的流程没有与原有的信息系统实现对接,而且原有的信息系统本身也未能实现集成。

以上问题其实都反映了一个共同的原因:BPR仅仅是规划,在实施过程中需要企业从全方位提供有效支持,而完整的信息系统才是高效实现新流程的前提。

BPR:上马ERP的充分必要条件

对于小凌所在的公司而言,BPR不但是ERP的充分条件,更是必要条件。ERP项目前的BPR虽然未能实现其全部目的,但是在以下几个方面是成功的:

◆ 通过BPR实现了内部的管理变革,BPR后的企业至少初步拥有了接受进一步变革的企业文化,使得ERP具备了成功实施的关键前提。

◆ 通过BPR,企业才真正发现了自身的准确需求,那就是对于企业全部流程进行重组的需求,而不是部分流程优化的需求;基于原有的信息系统实施新的ERP模块的需求,而不是盲目地接受自己不需要的ERP模块,大大提升了ERP项目的投资回报率。

在BPR之后,企业必须完成以下几个方面的调整来实现与原有信息系统的对接:

◆ 将公司原有的组织结构的层级设置、岗位编制和岗位职责按照新流程的要求进行相应调整,真正实现流程导向型的扁平化组织(小凌所在公司发生的20名高管在BPR后只剩下6名的情况并不意外。

◆ 基于新的流程,将原有的信息系统进行重新设置,包括:用户的权限级别、系统的角色定义、新功能的开发、报表和单据的格式。

◆ 信息录入人员的数量应根据新流程的要求进行调整。

◆ 静态主数据(包括物料、供应商、客户、BOM等等)的重新定义和动态数据的重新测试和转换。

◆ 在系统调整后,还需针对调整的内容对企业员工进行必要的培训。

◆ 若现有信息系统的功能已经无法满足新的流程体系,企业则应该考虑上一套全新的系统。

就像企业追求基业常青的可持续发展理念一样,BPR和ERP的升级改造将在企业的生命周期中不断上演

posted @ 2007-09-07 18:48 CharlieShen| 编辑 收藏

企业对IT咨询的需求分两种:知道自己应该做什么,但缺乏流程优化或重组的能力;或者能够完成流程优化,但缺乏将优化后流程的实施能力,如案例中小凌所在的公司;前者对咨询的需求将包括BPR和ERP实施,而后者的需求仅仅是ERP实施;显然,前者应付出的成本将比后者高;所以,企业若能在实施ERP之前就完成或部分完成BPR将大大降低信息化的成本。

世界上各大ERP产品都有其一套通用的流程体系,然后在实施的过程中视不同行业、不同企业的具体情况进行客户化开发。作为ERP产品供应商或咨询公司的实施顾问,他们的优势在于对产品本身通用流程的熟悉,但是对各行业和企业的流程体系熟悉程度较低,故无论是国际“四大”还是国内的ERP咨询公司,几乎所有的ERP实施项目都需花费大量时间去进行企业流程重新疏理和客户化流程重组。

此时,若企业自己缺乏流程文档的积累,那么花费大量的成本替咨询公司交学费的情况就难免会发生;但是,若企业有着明确的战略规划,而且对业务模式对应的管理流程和业务流程有着明确的认识,将大大减少提高ERP实施项目的时间,同时提高项目的效率。

ERP项目实施方式可分为两种,由咨询公司以实现产品功能为导向的实施方式,或者由企业以实现个性化需求为导向的实施方式,不难想像前者的风险和失败的可能性;导致前者发生的主要原因来自咨询公司与企业之间的信息不对称,尤其是对企业流程信息的不对称,所以,企业在实施ERP项目前就自己对流程体系进行一定的疏理,将大大提高ERP项目的成功率。

BPR:革命尚未成功

上世纪由西方发起轰轰烈烈的流程再造被视为一场颠覆性的革新运动,到目前为止可谓毁誉参半。有“BPR之父”之称的哈默教授在其《X-再造》一书中已承认BPR尚未成功,同志还需努力。究其原因,有如下几点:

◆ 多数BPR运动准备不足。一方面,BPR的目的是为了重塑企业业务模式,构建企业新的核心竞争力;而另一方面,完整的BPR不啻于掘地三尺,需耗费企业大量的人力物力,而开始从事BPR的企业大多将此当成可有可无的鸡肋。

◆ 企业高层重视不够。就理论而言,技术革新应由下而上,而管理革新必须由上而下。但在BPR掀起波澜的初期,企业领导人对BPR普遍缺乏足够动力和危机意识,于是BPR往往半途而废。在2000年联想BPR项目后的总结中有这样一个教训:讨论流程的业务人员层次低,变换频繁,业务部门主要负责人审核、把关投入的精力不足,导致组织结构只是初步结果, 业务流程没有覆盖到全部业务情况。

◆ 遭遇传统势力的阻力。BPR在提高业务运作效率的同时,也将彻底颠覆企业传统的权力结构,由臃肿的金字塔高度集权式企业改造为扁平化和分权式的企业,受冲击最大的是企业的中高管理层。在强大的阻力下,BPR面临较高的风险。摆在企业最高领导人面前的往往是一道两难的题目:是选择刮骨疗毒还是任由企业自身的免疫系统缓慢起效。小凌所在的公司应该是幸运的,因为该公司在咨询公司进入前,已经完成了部分BPR的工作,也正是这部分的BPR使公司完成了风险最大的内部管理变革,当年联想在花费了数千万元的咨询费启动了ERP项目后,遭遇内部一系列阻力,项目险些搁浅。为此,柳传志曾发出过那句广为流传的感叹:“上ERP也许会死,但不上ERP肯定会死”

◆ 实施不力。流程重组的终极目的是使企业业务运作效率最大化,消除一切低效率的行为,但流程优化本身只能实现纸上的规划,并不能解决问题。新流程的实施者往往发现虽然流程的审批环节减少,但决策速度还是跟不上市场需求的变化速度。即使在流程优化后,一个订单变更的流程还是需要走过生产部门、仓储部门和工艺设计部门三个环节,而一个大型企业往往同时面对成百上千的订单,在信息系统缺位的情况下,通过电话、传真的方式沟通明显不够经济。

当然,上述症状一般是在企业业务达到一定规模时才会发生,而有此规模的企业一般都部分实现了信息化,但是缺乏集成的各系统就有如汪洋中的孤岛,难以发挥效用,小凌所在公司在ERP上线前就面临流程实施不力的问题,其原因主要在于新的流程没有与原有的信息系统实现对接,而且原有的信息系统本身也未能实现集成。

以上问题其实都反映了一个共同的原因:BPR仅仅是规划,在实施过程中需要企业从全方位提供有效支持,而完整的信息系统才是高效实现新流程的前提。

BPR:上马ERP的充分必要条件

对于小凌所在的公司而言,BPR不但是ERP的充分条件,更是必要条件。ERP项目前的BPR虽然未能实现其全部目的,但是在以下几个方面是成功的:

◆ 通过BPR实现了内部的管理变革,BPR后的企业至少初步拥有了接受进一步变革的企业文化,使得ERP具备了成功实施的关键前提。

◆ 通过BPR,企业才真正发现了自身的准确需求,那就是对于企业全部流程进行重组的需求,而不是部分流程优化的需求;基于原有的信息系统实施新的ERP模块的需求,而不是盲目地接受自己不需要的ERP模块,大大提升了ERP项目的投资回报率。

在BPR之后,企业必须完成以下几个方面的调整来实现与原有信息系统的对接:

◆ 将公司原有的组织结构的层级设置、岗位编制和岗位职责按照新流程的要求进行相应调整,真正实现流程导向型的扁平化组织(小凌所在公司发生的20名高管在BPR后只剩下6名的情况并不意外。

◆ 基于新的流程,将原有的信息系统进行重新设置,包括:用户的权限级别、系统的角色定义、新功能的开发、报表和单据的格式。

◆ 信息录入人员的数量应根据新流程的要求进行调整。

◆ 静态主数据(包括物料、供应商、客户、BOM等等)的重新定义和动态数据的重新测试和转换。

◆ 在系统调整后,还需针对调整的内容对企业员工进行必要的培训。

◆ 若现有信息系统的功能已经无法满足新的流程体系,企业则应该考虑上一套全新的系统。

就像企业追求基业常青的可持续发展理念一样,BPR和ERP的升级改造将在企业的生命周期中不断上演

posted @ 2007-09-07 18:48 CharlieShen| 编辑 收藏

BPM 众多成功的关键因素在于能组成执行团队,同时进行企业流程的设计、建置、模块化、优化及部署。有效率的 BPM 执行团队成员来自组织内各部门,分别都是在成功推动项目上,扮演着重要的角色。而影响 BPM 解决方案的重要因素在于:提供团队成员正确的工具组合,让他们的工作既简单又有效率。典型的执行团队成员包含:

  流程拥有者   

  即利用工作流程,以便更有效率执行工作职责的人。他们对工作流程感兴趣,但并不注重所使用的工具。他们只想改善流程并证实其效果,可说是联系 BPM 团队与工作流程实际需求间的重要环节。企业主可从图形流程设计工具获益良多,这套简单的工具可帮助他们发展最初始的详细的流程图,与分析师紧密合作。完成部署之后,流程拥有者可重新检讨该流程相关的报告,并对工作流程提出改进的建议。总而言之,流程拥有者拥有工作流程、重视结果,但不想花心思在相关技术面上。

  业务流程分析师  

  业务流程分析师是执行团队的重要成员,也是流程设计的专家。他在执行团队中并非软件开发者,因此使用的工具必须是直觉式操作,或具备基本、甚至毋需具备程序设计的专门知识。分析师需要整合的环境来进行下列事项:

  勾勒或规划工作流程;

  定义必须由自动化流程处里的特定情况及例外事项;

  模块化流程,以工作周期展开前测试并界定潜在问题;

  了解组织架构及从属关系;

  提供团队成员、使用者及新进员工所属工作流程的各式文件;

  在工作流程开始运行之后分析其产生的结果;以及

  持续进行工作流程的改善。

  IT 设计师  

  他们与流程分析师紧密合作,建立自动化流程。IT 设计师最了解 IT 环境的功能架构,但他们不是程序设计师,他们须具备下列能力,进行相关事项:

  轻易存取流程设计师建立的工作流程及流程的文件 (直接让他们分享分析师权限更佳);

  设计表单或使用现有电子表单,及定义表单的数据项,但不需专精于数据库设计;

  设计工作流程路径的规则及异常情况的处理,但不需撰写程序;

  与目录、其它应用程序、Web Services及数据库进行整合;以及

  在工作流程正式上线前,先行测试及模拟。

  为使流程获致最佳性能及灵活度,任何 BPM 解决方案皆应是 IT 设计师及分析师的工作目标及责任,而不是开发人员。

  软件开发人员  

  他们在 BPM 团队中扮演着重要角色,但是,除非整合情况复杂,或有其它必须透过程序解决的问题,否则不一定需要开发人员。需要开发人员时,他们需要相关工具进行下列事项:

  在检视流程内容后,使用他们了解且惯用的开发工具;

  开发程序代码及模块,方便日后只须简单使用 XML、Web Services或其它标准方法,就能呼叫表单或工作流程;以及

  轻而易举就能在 BPM 应用程序及 ERP、CRM与其它功能所用的后台系统之间建立数据交换。

  我再重复一个重点,软件开发人员应对 BPM 具贡献,但不是实施流程管理的主要焦点。唯一例外的情况是,若整个工作流程是企业应用程序整合 (EAI) 所带动,而不需太多、甚至不需人力的投入及具有高复杂度的整合。

  IT 管理人员   

  只要 BPM 系统开始执行,他们在维护管理上,就扮演着举足轻重的角色。他们需要能在其它管理控制环境下使用的工具,来进行下列事项:

  监督系统的执行性能;

  设定服务器环境;

  管理磁盘空间及数据库使用情形;

  授权企业使用者更多的流程行政管理责任;

  分析日志文件;以及

  建立系统使用率及使用者作业的报表。

  总结  

  在选择并执行 BPM 系统时,您无疑必须考虑 BPM 团队。藉由结合团队能力及界定完整 BPM 系统的必备要素,您即可以部署符合所有使用者需求的解决方案、实现符合预期的投资报酬率 (ROI),并为企业创造其它无形的利益。

posted @ 2007-09-07 18:48 CharlieShen| 编辑 收藏

实施效果与业务模式

  ■ 统一客户管理:

  武汉自行开发的客户,通过SAP Business one 系统和SAP R/3 系统的连接,进入上海母公司SAP R/3系统,使子公司和客户在母公司系统里也相应的存在,实现了集团公司对客户的统一管理。 ■ 统一采购管理:

  武汉采购自上海母公司的物料及其它物品,利用 SAP Business one系统和SAP R/3 系统的衔接,来成功实现了武汉远纺工贸SAP BusinessOne 自动导入来自上海SAP R/3 系统中的物料,相对于上海母公司来说,只是移动了物料存储的仓库,对武汉仓库的库存情况一目了然,便于生产计划的安排。

  ■ 统一仓库管理:

  武汉远纺工贸的仓库在系统实施之初,就被订为上海系统中的一个仓库,武汉库存的任何增减变动上海仓库也会随之相应的变化,实现武汉仓库和上海仓库的一致性。也会处理在途中出现的破包和掉包现象也会合理进行相应的调整。

  ■ 统一销售管理:

  通过SAP Business one 系统和SAP R/3 系统的连接,利用他们之间的透明性,武汉的每一笔业务都会上传到上海的R/3系统中,库存等数据也会相应的增减变动,母公司对武汉公司的销售情况非常清楚。

  ■ 统一财务管理:

  财务上设计为上海母公司对收款情况进行直接管理,增强了母公司对远纺工贸的财务管控,减少了企业经营风险。

posted @ 2007-09-07 18:46 CharlieShen| 编辑 收藏

未来展望

  实施SAP Business One 系统管理后,在信息共享平台上建立了以每个销售合同为中心的发货、转储、收货、送货一条龙服务管理模式,上海母公司能直接掌握、每个订单的执行情况,并可进行及时补货、发货、退货处理,也使公司的仓储、业务活动、财务情况全部实现系统管理、物料实现条码管理、批次管理,使公司受权用户可以随意查找到准确的库存、使采购有据可依。同时也减少了人力方面的成本,使企业更具竞争力。
posted @ 2007-09-07 18:46 CharlieShen| 编辑 收藏

■ 统一采购管理:

  武汉采购自上海母公司的物料及其它物品,利用 SAP Business one系统和SAP R/3 系统的衔接,来成功实现了武汉远纺工贸SAP BusinessOne 自动导入来自上海SAP R/3 系统中的物料,相对于上海母公司来说,只是移动了物料存储的仓库,对武汉仓库的库存情况一目了然,便于生产计划的安排。

  ■ 统一仓库管理:

  武汉远纺工贸的仓库在系统实施之初,就被订为上海系统中的一个仓库,武汉库存的任何增减变动上海仓库也会随之相应的变化,实现武汉仓库和上海仓库的一致性。也会处理在途中出现的破包和掉包现象也会合理进行相应的调整。

  ■ 统一销售管理:

  通过SAP Business one 系统和SAP R/3 系统的连接,利用他们之间的透明性,武汉的每一笔业务都会上传到上海的R/3系统中,库存等数据也会相应的增减变动,母公司对武汉公司的销售情况非常清楚。

  ■ 统一财务管理:

  财务上设计为上海母公司对收款情况进行直接管理,增强了母公司对远纺工贸的财务管控,减少了企业经营风险。

posted @ 2007-09-07 18:45 CharlieShen| 编辑 收藏

武汉远纺工贸有限公司是远纺工业(上海)有限公司投资新建的子公司,设立公司主要目的让公司成为远纺工业(上海)有限公司的华中区物流中心,全部销售上海母公司生产之产品,所售产品主要是聚脂切片、涤纶纤维等工业原料,仓库的吞吐量非常大,由于母公司十分重视企业信息化建设,在武汉远纺工贸ERP系统上线之初,母公司已成功上线SAP R/3 系统,公司考虑到全局发展以及成本,选型SAP Business One 系统在武汉试点,以便将来复制到全国其它的分支机构、关系企业中。

  实施初期,公司考虑的主体架构中,希望将武汉物流中心纳入上海母公司系统管理中,以便实现母公司对客户、销售、库存、财务的统一管理,带着这些问题,和合作伙伴不断的资讯沟通, 进行SAP Business One系统二次开发程序,由于国内没有现成的案例,只能进行大量的测试,在全公司各部门努力配合下,终于成功上线,使公司进入了管理流程化、信息共享化、资料集中化、资讯及时化。使用一年多以来,使上海母公司对武汉的客户、销售、库存、财务情况了如指掌,起到资料共享和稽核的作用,同时也不影响武汉公司的业务运转情况。

由于使用了SAP Business One 系统和SAP R/3 系统的连接性,使整个公司的各种业务基本实现的无纸化办公,除公司各部门之间的沟通和必要系统单据外,排除了很多人为因素干扰。经营活动的每个环节,基本都实现了系统管理,感觉就像是为我公司量身订做一样,给客户、外界良好的企业形象。同时,由于SAP Business One 系统比较小巧,系统维护也比较简单,上线至今,没有出现问题。在公司全力推行ERP 系统管理后,现在全公司的感觉SAP Business One 系统就像公司的生命线,维系着全公司的发展,提升了整个公司制度化和流程化的思维。系统中设计的流程随各自独立,确又环环相扣,紧密结合,使公司各部之间的合作、沟通也有加强,提升了团队协作能力。

posted @ 2007-09-07 18:44 CharlieShen| 编辑 收藏

1、变现能力比率
变现能力是企业産生现金的能力,它取决於可以在近期转变爲现金的流动资産的多少。
1)流动比率
公式:流动比率=流动资産合计 / 流动负债合计
企业设置的标准值:2
意义:体现企业的偿还短期债务的能力。流动资産越多,短期债务越少,则流动比率越大,企业的短期偿债能力越强。
分析提示:低於正常值,企业的短期偿债风险较大。一般情况下,营业周期、流动资産中的应收账款数额和存货的周转速度是影响流动比率的主要因素。
2)速动比率
公式 :速动比率=(流动资産合计-存货)/ 流动负债合计
保守速动比率=0.8(货币资金+短期投资+应收票据+应收账款净额)/ 流动负债
企业设置的标准值:1
意义:比流动比率更能体现企业的偿还短期债务的能力。因爲流动资産中,尚包括变现速度较慢且可能已贬值的存货,因此将流动资産扣除存货再与流动负债对比,以衡量企业的短期偿债能力。
分析提示:低於1
的速动比率通常被认爲是短期偿债能力偏低。影响速动比率的可信性的重要因素是应收账款的变现能力,账面上的应收账款不一定都能变现,也不一定非常可靠。
变现能力分析总提示:
1)增加变现能力的因素:可以动用的银行贷款指标;准备很快变现的长期资産;偿债能力的声誉。
2)减弱变现能力的因素:未作记录的或有负债;担保责任引起的或有负债。
2、资産管理比率
1)存货周转率
公式: 存货周转率=産品销售成本 / [(期初存货+期末存货)/2]
企业设置的标准值:3
意义:存货的周转率是存货周转速度的主要指标。提高存货周转率,缩短营业周期,可以提高企业的变现能力。
分析提示:存货周转速度反映存货管理水平,存货周转率越高,存货的占用水平越低,流动性越强,存货转换爲现金或应收账款的速度越快。它不仅影响企业的短期偿债能力,也是整个企业管理的重要内容。
2)存货周转天数
公式: 存货周转天数=360/存货周转率
=[360*(期初存货+期末存货)/2]/ 産品销售成本
企业设置的标准值:120
意义:企业购入存货、投入生産到销售出去所需要的天数。提高存货周转率,缩短营业周期,可以提高企业的变现能力。
分析提示:存货周转速度反映存货管理水平,存货周转速度越快,存货的占用水平越低,流动性越强,存货转换爲现金或应收账款的速度越快。它不仅影响企业的短期偿债能力,也是整个企业管理的重要内容。
3)应收账款周转率
定义:指定的分析期间内应收账款转爲现金的平均次数。
公式:应收账款周转率=销售收入/[(期初应收账款+期末应收账款)/2]
企业设置的标准值:3
意义:应收账款周转率越高,说明其收回越快。反之,说明营运资金过多呆滞在应收账款上,影响正常资金周转及偿债能力。
分析提示:应收账款周转率,要与企业的经营方式结合考虑。以下几种情况使用该指标不能反映实际情况:第一,季节性经营的企业;第二,大量使用分期收款结算方式;第三,大量使用现金结算的销售;第四,年末大量销售或年末销售大幅度下降。
4)应收账款周转天数
定义:表示企业从取得应收账款的权利到收回款项、转换爲现金所需要的时间。
公式:应收账款周转天数=360 / 应收账款周转率
=(期初应收账款+期末应收账款)/2] / 産品销售收入
企业设置的标准值:100
意义:应收账款周转率越高,说明其收回越快。反之,说明营运资金过多呆滞在应收账款上,影响正常资金周转及偿债能力。
分析提示:应收账款周转率,要与企业的经营方式结合考虑。以下几种情况使用该指标不能反映实际情况:第一,季节性经营的企业;第二,大量使用分期收款结算方式;第三,大量使用现金结算的销售;第四,年末大量销售或年末销售大幅度下降。
 
5)营业周期
公式:营业周期=存货周转天数+应收账款周转天数
={[(期初存货+期末存货)/2]* 360}/産品销售成本+{[(期初应收账款+期末应收账款)/2]* 360}/産品销售收入
企业设置的标准值:200
意义:营业周期是从取得存货开始到销售存货并收回现金爲止的时间。一般情况下,营业周期短,说明资金周转速度快;营业周期长,说明资金周转速度慢。
分析提示:营业周期,一般应结合存货周转情况和应收账款周转情况一并分析。营业周期的长短,不仅体现企业的资産管理水平,还会影响企业的偿债能力和盈利能力。
6)流动资産周转率
公式:流动资産周转率=销售收入/[(期初流动资産+期末流动资産)/2]
企业设置的标准值:1
意义:流动资産周转率反映流动资産的周转速度,周转速度越快,会相对节约流动资産,相当於扩大资産的投入,增强企业的盈利能力;而延缓周转速度,需补充流动资産叁加周转,形成资産的浪费,降低企业的盈利能力。
分析提示: 流动资産周转率要结合存货、应收账款一并进行分析,和反映盈利能力的指标结合在一起使用,可全面评价企业的盈利能力。
7)总资産周转率
公式:总资産周转率=销售收入/[(期初资産总额+期末资産总额)/2]
企业设置的标准值:0.8
意义:该项指标反映总资産的周转速度,周转越快,说明销售能力越强。企业可以采用薄利多销的方法,加速资産周转,带来利润绝对额的增加。
分析提示:总资産周转指标用於衡量企业运用资産赚取利润的能力。经常和反映盈利能力的指标一起使用,全面评价企业的盈利能力。
3、负债比率
负债比率是反映债务和资産、净资産关系的比率。它反映企业偿付到期长期债务的能力。
1)资産负债比率
公式:资産负债率=(负债总额 / 资産总额)*100%
企业设置的标准值:0.7
意义:反映债权人提供的资本占全部资本的比例。该指标也被称爲举债经营比率。
分析提示:负债比率越大,企业面临的财务风险越大,获取利润的能力也越强。如果企业资金不足,依靠欠债维持,导致资産负债率特别高,偿债风险就应该特别注意了。
资産负债率在60%─70%,比较合理、稳健;达到85%及以上时,应视爲发出预警信号,企业应提起足够的注意。
2)産权比率
公式:産权比率=(负债总额 /股东权益)*100%
企业设置的标准值:1.2
意义:反映债权人与股东提供的资本的相对比例。反映企业的资本结构是否合理、稳定。同时也表明债权人投入资本受到股东权益的保障程度。
分析提示:一般说来,産权比率高是高风险、高报酬的财务结构,産权比率低,是低风险、低报酬的财务结构。从股东来说,在通货膨胀时期,企业举债,可以将损失和风险转移给债权人;在经济繁荣时期,举债经营可以获得额外的利润;在经济萎缩时期,少借债可以减少利息负担和财务风险。
3)有形净值债务率
公式:有形净值债务率=[负债总额/(股东权益-无形资産净值)]*100%
企业设置的标准值:1.5
意义:産权比率指标的延伸,更爲谨慎、保守地反映在企业清算时债权人投入的资本受到股东权益的保障程度。不考虑无形资産包括商誉、商标、专利权以及非专利技术等的价值,它们不一定能用来还债,爲谨慎起见,一律视爲不能偿债。
分析提示:从长期偿债能力看,较低的比率说明企业有良好的偿债能力,举债规模正常。
4)已获利息倍数
公式:已获利息倍数=息税前利润 / 利息费用
=(利润总额+财务费用)/(财务费用中的利息支出+资本化利息)
通常也可用近似公式:
已获利息倍数=(利润总额+财务费用)/ 财务费用
企业设置的标准值:2.5
意义:企业经营业务收益与利息费用的比率,用以衡量企业偿付借款利息的能力,也叫利息保障倍数。只要已获利息倍数足够大,企业就有充足的能力偿付利息。
分析提示:企业要有足够大的息税前利润,才能保证负担得起资本化利息。该指标越高,说明企业的债务利息压力越小。
4、盈利能力比率
盈利能力就是企业赚取利润的能力。不论是投资人还是债务人,都非常关心这个专案。在分析盈利能力时,应当排除证券买卖等非正常专案、已经或将要停止的营业专案、重大事故或法律更改等特别专案、会计政策和财务制度变更带来的累积影响数等因素。
1 销售净利率
公式:销售净利率=净利润 / 销售收入*100%
企业设置的标准值:0.1
意义:该指标反映每一元销售收入带来的净利润是多少。表示销售收入的收益水平。
分析提示:企业在增加销售收入的同时,必须要相应获取更多的净利润才能使销售净利率保持不变或有所提高。销售净利率可以分解成爲销售毛利率、销售税金率、销售成本率、销售期间费用率等指标进行分析。
2)销售毛利率
公式:销售毛利率=[(销售收入-销售成本)/ 销售收入]*100%
企业设置的标准值:0.15
意义:表示每一元销售收入扣除销售成本後,有多少钱可以用於各项期间费用和形成盈利。
分析提示:销售毛利率是企业是销售净利率的最初基础,没有足够大的销售毛利率便不能形成盈利。企业可以按期分析销售毛利率,据以对企业销售收入、销售成本的发生及配比情况作出判断。
3)资産净利率(总资産报酬率)
公式:资産净利率=净利润/ [(期初资産总额+期末资産总额)/2]*100%
企业设置的标准值:根据实际情况而定
意义:把企业一定期间的净利润与企业的资産相比较,表明企业资産的综合利用效果。指标越高,表明资産的利用效率越高,说明企业在增加收入和节约资金等方面取得了良好的效果,否则相反。
分析提示:资産净利率是一个综合指标。净利的多少与企业的资産的多少、资産的结构、经营管理水平有着密切的关系。影响资産净利率高低的原因有:産品的价格、单位産品成本的高低、産品的産量和销售的数量、资金占用量的大小。可以结合杜邦财务分析体系来分析经营中存在的问题。
4)净资産收益率(权益报酬率)
公式:净资産收益率=净利润/ [(期初所有者权益合计+期末所有者权益合计)/2]*100%
企业设置的标准值:0.08
意义:净资産收益率反映公司所有者权益的投资报酬率,也叫净值报酬率或权益报酬率,具有很强的综合性。是最重要的财务比率。
分析提示:杜邦分析体系可以将这一指标分解成相联系的多种因素,进一步剖析影响所有者权益报酬的各个方面。如资産周转率、销售利润率、权益乘数。另外,在使用该指标时,还应结合对“应收账款”、“其他应收款”、“ 待摊费用”进行分析。
5、现金流量分析
现金流量表的主要作用是:第一,提供本企业现金流量的实际情况;第二,有助於评价本期收益质量,第三,有助於评价企业的财务弹性,第四,有助於评价企业的流动性;第五,用於预测企业未来的现金流量。
流动性分析
流动性分析是将资産迅速转变爲现金的能力。
1 现金到期债务比
公式:现金到期债务比=经营活动现金净流量 / 本期到期的债务
本期到期债务=一年内到期的长期负债+应付票据
企业设置的标准值:1.5
意义:以经营活动的现金净流量与本期到期的债务比较,可以体现企业的偿还到期债务的能力。
分析提示:企业能够用来偿还债务的除借新债还旧债外,一般应当是经营活动的现金流入才能还债。
2)现金流动负债比
公式:现金流动负债比=年经营活动现金净流量 / 期末流动负债
企业设置的标准值:0.5
意义:反映经营活动産生的现金对流动负债的保障程度。
分析提示:企业能够用来偿还债务的除借新债还旧债外,一般应当是经营活动的现金流入才能还债。
3)现金债务总额比
公式:现金流动负债比=经营活动现金净流量/ 期末负债总额
企业设置的标准值:0.25
意义:企业能够用来偿还债务的除借新债还旧债外,一般应当是经营活动的现金流入才能还债。
分析提示:计算结果要与过去比较,与同业比较才能确定高与低。这个比率越高,企业承担债务的能力越强。这个比率同时也体现企业的最大付息能力。
获取现金的能力
1 销售现金比率
公式:销售现金比率=经营活动现金净流量 / 销售额
企业设置的标准值:0.2
意义:反映每元销售得到的净现金流入量,其值越大越好。
分析提示:计算结果要与过去比,与同业比才能确定高与低。这个比率越高,企业的收入质量越好,资金利用效果越好。
2)每股营业现金流量
公式:每股营业现金流量=经营活动现金净流量 / 普通股股数
普通股股数由企业根据实际股数填列。
企业设置的标准值:根据实际情况而定
意义:反映每股经营所得到的净现金,其值越大越好。
分析提示:该指标反映企业最大分派现金股利的能力。超过此限,就要借款分红。
3)全部资産现金回收率
公式:全部资産现金回收率=经营活动现金净流量 / 期末资産总额
企业设置的标准值:0.06
意义:说明企业资産産生现金的能力,其值越大越好。
分析提示:把上述指标求倒数,则可以分析,全部资産用经营活动现金回收,需要的期间长短。因此,这个指标体现了企业资産回收的含义。回收期越短,说明资産获现能力越强。
财务弹性分析
1 现金满足投资比率
公式:现金满足投资比率=近五年累计经营活动现金净流量 / 同期内的资本支出、存货增加、现金股利之和。
企业设置的标准值:0.8
取数方法:近五年累计经营活动现金净流量应指前五年的经营活动现金净流量之和;同期内的资本支出、存货增加、现金股利之和也从现金流量表相关栏目取数,均取近五年的平均数;
资本支出,从购建固定资産、无形资産和其他长期资産所支付的现金专案中取数;
存货增加,从现金流量表附表中取数。取存货的减少栏的相反数即存货的增加;现金股利,从现金流量表的主表中,分配利润或股利所支付的现金专案取数。如果实行新的企业会计制度,该专案爲分配股利、利润或偿付利息所支付的现金,则取数方式爲:主表分配股利、利润或偿付利息所支付的现金专案减去附表中财务费用。
意义:说明企业经营産生的现金满足资本支出、存货增加和发放现金股利的能力,其值越大越好。比率越大,资金自给率越高。
分析提示:达到1,说明企业可以用经营获取的现金满足企业扩充所需资金;若小於1,则说明企业部分资金要靠外部融资来补充。
2)现金股利保障倍数
公式:现金股利保障倍数=每股营业现金流量 / 每股现金股利
=经营活动现金净流量 / 现金股利
企业设置的标准值:2
意义:该比率越大,说明支付现金股利的能力越强,其值越大越好。
分析提示:分析结果可以与同业比较,与企业过去比较。
3)营运指数
公式:营运指数=经营活动现金净流量 / 经营应得现金
其中:经营所得现金=经营活动净收益+ 非付现费用
=净利润 - 投资收益 - 营业外收入 + 营业外支出 + 本期提取的折旧+无形资産摊销 + 待摊费用摊销 + 递延资産摊销
企业设置的标准值:0.9
意义:分析会计收益和现金净流量的比例关系,评价收益质量。
posted @ 2007-09-07 18:42 CharlieShen| 编辑 收藏

我从是国内软件走到SBO的。我的亲身的经历最能够说明问题。如果要问为什么从国内软件走到SAP呢,其中的因素很多。但是,感受很清楚的一点就是,国内做大了以后的软件公司也走不出国营企业的那种套数。比如,吃大锅饭,集团管理混乱,市场渠道混乱等等。我记得在国内软件分公司的时候,一个出纳人员拿的薪资要比我们一线的技术人员(那时我还是背包到处跑的维护人员)高出一至两倍。
  
  暂且不说这个了。今天我想谈谈的是SBO的优势在哪?
  
  SAP BUSINESS ONE是2003年9月进入中国的,我是最早的一批做这个产品的。经过了这么多年,再回头来看这个产品是很有意义的。我认为它的优势在这么几点:
  
  1.技术架构的优越性。SBO要比国内软件的技术架构要先进得多,看看软件公司的技术维护量就知道了。当然,技术架构的先越性还体现在系统的集成性。国内软件公司为什么大家仍然把它定位在核算型软件而不是管理软件呢,最主要的一点,就是它的集成性很弱。
  
  2.SBO注重管理的意义,国内软件注重的是操作的简捷性。SBO往往在每一个环节都考虑了管理的意义存在。而国内软件往往更重于操作上的方便性,而没有顾及到软件产品是为管理服务这种角色。
  
  当然,还有很多地方的优势。有空我愿意再多谈谈相关。。。。。
posted @ 2007-09-07 18:41 CharlieShen| 编辑 收藏

这段时间,特别是本人发布了自己编写的《SBO 2005B开发与维护助手》软件之后,很多朋友来函询问或者讨论SAP中的一些问题。其中一位深圳的从事SAP R3开发的朋友希望同我讨论其项目中生产订单管理,在此不揣浅见,予以讨论。
问题:在一个生产过程中,生产原料物料为原粉和口水料,比例为8:2(这个比例随着不同的成产品,是不一样的,但是原料物料清单是确定的),生产的产品为口水料(相对于某类成产品,其重量区间是固定的)和成产品,生产过程中的口水料产品可以即时复用于余下的生产。那么,根据一个生产计划,该怎样的配置(采购)生产原料物料,进而怎样的配置生产和人力。
分析:如果所有的产品都是成产品,这个问题要简单得多,但是现在是生产产品一部分是成产品,一部分是可用于继续生产的可复用物料。同时,应该考虑到一个生产线可以同时启动的生产单元(即在一个生产线上可以同时具有单独生产全过程的生产单位),这将涉及到生产计划中的原料物料准备。
为此需要建立的数据结构包括:
物料主数据:用于记录原粉、口水料和成产品的属性
生产订单BOM单:生产类型,原料物料代码、名称,单位生产单元所需物料数量
生产产品BOM单:生产类型,每单元产品代码和名称,每单元产品数量
生产计划配置清单:生产类型,每班次生产单元数量,每班次每单元人数(可以展开为人力配置清单)
复用产品周期定义:生产类型,物料代码、名称,可开始复用轮循数(就是生产的可以服用的产品在生产之后的第几轮可以投入生产使用)
每单元第一轮产品的生产原料都是必须的,第一轮生产的可以复用产品在生产出来之后的第N轮可以被作为原料使用,同样的第二轮生产的可以服用的产品在第N+1轮之后可以作为原料使用。那么需要多少这种可以复用的物料呢?
可复用物料需求数:(m*N + (m>n ? m - n : 0) * (M - N))
原粉之类的全消费物料的需求量为:t*M
生产订单完成后,可复用物料剩余数:(m>n ? n*N : (n-m) * (M-N) + n*N )
生产成产品的数量应该是:p*M
其中:m是每轮生产所需要的可以重复使用的物料所需数量,N是可用产品在其生产之后第N轮可以用于生产原料,n是每轮生产的可以重复使用的物料数量,t是每单元每轮生产的所需物料数量,p是每单元每轮生产的成产品数量,M是一共需要生产的每单元轮数。
考虑到一条生产线可以同时启动c个生产单元,而生产计划启动k条生产线,计划生产X件成产品,于是可以计算出M:
M = ( (X  mod (c*k*p) == 0 ? X / (c*k*p) : celling(X / (c*k*p))  + 1) mod p == 0 ? X  mod (c*k*p) == 0 ? X / (c*k*p) : celling(X / (c*k*p))  + 1) / p : X  mod (c*k*p) == 0 ? X / (c*k*p) : celling(X / (c*k*p))  + 1) / p + 1)
其中 X mod Y表示X除以Y的余数;celling(X)表示取不大于X的整数值。
综合上述分析,整个生产计划为(未经详细分析,可能存在误差):
全消费物料需求数:t*M*c*k  - (c*k*M - (X / p==0? X/p : X/p + 1) ) * t
可复用物料需求数:(m*N + (m>n ? m - n : 0) * (M - N)) * c * k  - (c*k*M - (X / p==0? X/p : X/p + 1) ) * (m>n ? m - n : 0)
可复用物料剩余数:(m>n ? n*N : (n-m) * (M-N) + n*N ) * c * k  - (c*k*M - (X / p==0? X/p : X/p + 1) ) * n 
成产品数量:p*M* c * k  - (c*k*M - (X / p==0? X/p : X/p + 1))
以上的数据结构和模型,基本上解决了整个生产订单中的物料需求和生产计划的分析需要。
人力资源的部署与配置,也可以通过类似的结构进行分析,这个时候如果将人力成本、物料成本、附加费用予以综合考虑,实际上完成了生产单位日常关心的生产资源规划和成本分析的基本功能。
posted @ 2007-09-07 18:40 CharlieShen| 编辑 收藏

科目的定义如下:

费用 – 默认费用科目,用于非永续盘存系统中采购凭证的默认费用科目

收入 – 销售凭证的默认收入科目

差异 – 当永续盘存系统中使用标准定价系统时,采购凭证中使用的默认科目。.

减值 – 库存减少时库存事务中使用的默认科目

增值 – 库存增加时库存事务中使用的默认科目

退货 – 当公司管理永续盘存系统时,退货和贷项凭证的库存事务中使用的默认科目。

COGM – 产成品成本的默认科目。

价格差异 – 采购凭证中使用的默认科目。如果永续盘存中使用了平均计价系统,用于存储价格差异。
posted @ 2007-09-07 18:40 CharlieShen| 编辑 收藏

SAP关于成本的概念
2.差异的计算方法.
3.实际成本计算方法
4.SAP variance

1.成本的概念
标准成本=标准价格 * 标准数量 + 作业价格 * 标准数量
计划成本=计划价格 * 计划数量 + 作业价格 * 计划数量
实际成本=实际价格 * 实际数量 + 作业价格 * 实际数量
目标成本=标准价格 * 实际数量 + 作业价格 * 实际数量
注意在SAP中目标成本根据生产订单中产品成本评估时的价格乘以生产订单完工入库量乘以BOM用量的积.
计划成本为生产订单计划生产量乘BOM用量乘计划生产变式中定义的价格.
计划成本即企业成本计划时使用的成本,是企业全部计划的一部分。
计划成本同目标成本的差别是:目标成本是成本控制的需要,计划成本是企业全面预算和计划控制的需要。
计划成本的核算时间为计划订单产生时,当您保存订单时已计划成本会自动计算,如果您做出的更改与成本核算有关,则在您保存订单时,会重新计算已计划成本。
想更新已计划成本,选择订单 功能 计算成本。
要显示预计成本,选择转向 成本分析。
2.差异分算
标准改订差
 (本期标准成本-前期标准成本)* 前期期末库存数量
采购价差
 (PO单价-本期标准成本)* 汇率 * 本次入库数量
   我认为应该是这样的: (PO单价* 汇率 -本期标准成本)* 本次入库数量
应付立帐(IV)(价格差异IPV)
 (发票金额 - PO金额)* 汇率
结报汇差
 (本期汇率-前期汇率)* 结报外币金额
工单差异(材料用量差异,工费效率差异)
 工单实际投入金额-工单实际产出金额
跨工厂物料异动差异
 (转出工厂标准成本-转入工厂标准成本)* 本次转拨数量
物料帐差异;
Price Different(价差):
 仅指汇率差以外的差异,包括采购价差,标准改订差,工单差异,工厂转拨差异等
Exchange Different(汇差):
 采购结报时的汇率差异
Single-Level Different(单阶差异):
 仅指本身所产生的差异
Multi-Level Different(多阶差异);
 仅指来自下阶料号的差异
SAP料号差异合计 = 料号起初差异+来自下阶的差+标准改订差+采购差异+结报价差+结报汇差+工单差异+跨工厂物料异动差异
分摊: 期末库存差异数    转至其他料件差异数    分摊至销货成本差异数
3.实际成本计算方法
在生产订单中实际成本的计算如下:
1、直接材料成本:是为生产订单直接领用的物料的成本,等于本张订单领用物料的数量乘以此物料主数据中的价格,数据来源为MM模块;
2、直接人工费:等于本张订单耗用的实际工时乘以本产品的单位小时人工费率,实际工时在订单确认时输入,单位小时人工费率来自于作业价格,通过工艺路线中的工作中心计算得出,其贷方为对应的成本中心;
3、制造费用:等于本张订单耗用的实际工时乘以本产品的单位小时制造费费率,实际工时在订单确认时输入,单位小时制造费费率来自于作业价格,通过工艺路线中的工作中心计算得出,其贷方为对应的成本中心。
实际成本同目标成本对比计算差异,以进行成本控制。
posted @ 2007-09-07 18:39 CharlieShen| 编辑 收藏

期初数据一般包括SD、MM、PP、FI、CO的静态和动态数据.

MM
1.静态:
(1) Material master data(因为牵涉多部门一般上线要建立主数据小组).
(2) Vendor ,
(3) Info record,
(4) source list ,
(5) Storage location , plant
2.动态:
(1) Initial stock balance (盘点一定要正确,相应的存货类科目凭证自动产生)
(2) Open PO : 对于New Po 一定要注意Material的最小库存量等最好等导了PO后再设置,否则系统将会提示,低于最小库存量而导致无法导入。
 
SD:
1静态:
(1) material master data
(2) Customer master data
(3) Price table& condition 对于Special Price的导入一定要注意价格的取数规则,在Templates中有专门的Models,哈哈,我觉得导Special price 倒不难,难的是如何与Warehouse的对应。也可以用Customer+material做一定价条件,price应该可看成condition的一种方法
(4) Fowarding agent
(5) Credit data
2.动态:
Open sales order,Open sale order 最关键在于business patner的货币以及汇率要注意。
 
PP:
静态
(1)Work center
(2)Routing
(3)Bom
动态
(1)Production Order ,Open production order
(2)Confirm doc
 
FICO
1静态:
(1) Financial vendor
(2) Financial customer
(3) 会计科目
(4) cost center, cost element, Internal order , profit center ( group) ..
(5) material price
(6) initial material stock确定
(7) BP的余额一定要搞清楚,并且核对
 
2.动态:
*** 99990200(GL temp)和21219999(应付账款—暂估)是临时科目
 
固定资产,整理一个清单,然后直接做个凭证就OK

posted @ 2007-09-07 18:38 CharlieShen| 编辑 收藏

修改后的FORM itabtodataset

FORM itabtodataset TABLES intab
                   USING dname TYPE c.
  DATA: tab TYPE x VALUE '09',
        enter(2) TYPE x VALUE '0D0A',
        count(8) TYPE n.
  DATA: BEGIN OF headtab OCCURS 0 ,
          length    TYPE i ,
          decimals  TYPE i,
          type_kind TYPE c,
          name(30)  TYPE c,
        END OF headtab.
  DATA n TYPE i .
  DATA descr_ref TYPE REF TO cl_abap_structdescr.
  FIELD-SYMBOLS: <comp_wa> TYPE abap_compdescr ,
                 <f_field> ,
                 <f_intab> TYPE ANY .
  DATA:str TYPE string ,
       text1 TYPE c.
  DATA:runtime TYPE int4,
       repid LIKE sy-repid.
  DATA: flen TYPE i.
  FIELD-SYMBOLS: <dyn_table> TYPE STANDARD TABLE,
               <dyn_wa>,
               <dyn_field>.
  DATA: dy_table TYPE REF TO data,
        dy_line  TYPE REF TO data,
        xfc TYPE lvc_s_fcat,
        ifc TYPE lvc_t_fcat.

  descr_ref ?= cl_abap_typedescr=>describe_by_data( intab ).
  LOOP AT descr_ref->components ASSIGNING <comp_wa>.
    MOVE-CORRESPONDING <comp_wa> TO headtab.
    APPEND headtab.
  ENDLOOP.
  LOOP AT headtab.
    flen = flen + headtab-length + 1.
  ENDLOOP.
  CLEAR xfc.
  xfc-fieldname = 'LINE' .
  xfc-datatype = 'C'.
  xfc-intlen = flen.
  APPEND xfc TO ifc.
  CALL METHOD cl_alv_table_create=>create_dynamic_table
               EXPORTING
                  it_fieldcatalog = ifc
               IMPORTING
                  ep_table        = dy_table.
  ASSIGN dy_table->* TO <dyn_table>.
  CREATE DATA dy_line LIKE LINE OF <dyn_table>.
  ASSIGN dy_line->* TO <dyn_wa>.
  ASSIGN COMPONENT 'LINE' OF STRUCTURE <dyn_wa> TO <dyn_field>.

  DESCRIBE TABLE headtab LINES n.

  LOOP AT intab ASSIGNING <f_intab>.
    DO n TIMES.
      ASSIGN COMPONENT sy-index OF STRUCTURE <f_intab> TO <f_field>.
      str = <f_field>.
      READ TABLE headtab INDEX sy-index.
      IF headtab-type_kind = 'I' OR headtab-type_kind = 'P'
                                 OR headtab-type_kind = 'F'.
        SEARCH str FOR '-'.
        IF sy-subrc = 0 AND sy-fdpos <> 0.
          SPLIT str AT '-' INTO str text1.
          CONDENSE str.
          CONCATENATE '-' str INTO str.
        ELSE.
          CONDENSE str.
        ENDIF.
      ELSE.
*        SHIFT str LEFT DELETING LEADING '0' .
      ENDIF.
      CONCATENATE <dyn_field> tab str INTO <dyn_field>.
    ENDDO.
    SHIFT <dyn_wa>.
    APPEND <dyn_wa> TO <dyn_table>.
    CLEAR <dyn_wa>.
    count = count + 1 .
  ENDLOOP.

  OPEN DATASET dname FOR OUTPUT IN BINARY MODE .
  IF sy-subrc NE 0.
  ENDIF.

  LOOP AT <dyn_table> INTO <dyn_wa>.
    str = <dyn_wa>.
    TRANSFER str TO dname.
    TRANSFER enter TO dname.
  ENDLOOP.
  CLOSE DATASET dname.
ENDFORM.

posted @ 2007-09-07 18:36 CharlieShen| 编辑 收藏

修改后的FORM itabtodataset

FORM itabtodataset TABLES intab
                   USING dname TYPE c.
  DATA: tab TYPE x VALUE '09',
        enter(2) TYPE x VALUE '0D0A',
        count(8) TYPE n.
  DATA: BEGIN OF headtab OCCURS 0 ,
          length    TYPE i ,
          decimals  TYPE i,
          type_kind TYPE c,
          name(30)  TYPE c,
        END OF headtab.
  DATA n TYPE i .
  DATA descr_ref TYPE REF TO cl_abap_structdescr.
  FIELD-SYMBOLS: <comp_wa> TYPE abap_compdescr ,
                 <f_field> ,
                 <f_intab> TYPE ANY .
  DATA:str TYPE string ,
       text1 TYPE c.
  DATA:runtime TYPE int4,
       repid LIKE sy-repid.
  DATA: flen TYPE i.
  FIELD-SYMBOLS: <dyn_table> TYPE STANDARD TABLE,
               <dyn_wa>,
               <dyn_field>.
  DATA: dy_table TYPE REF TO data,
        dy_line  TYPE REF TO data,
        xfc TYPE lvc_s_fcat,
        ifc TYPE lvc_t_fcat.

  descr_ref ?= cl_abap_typedescr=>describe_by_data( intab ).
  LOOP AT descr_ref->components ASSIGNING <comp_wa>.
    MOVE-CORRESPONDING <comp_wa> TO headtab.
    APPEND headtab.
  ENDLOOP.
  LOOP AT headtab.
    flen = flen + headtab-length + 1.
  ENDLOOP.
  CLEAR xfc.
  xfc-fieldname = 'LINE' .
  xfc-datatype = 'C'.
  xfc-intlen = flen.
  APPEND xfc TO ifc.
  CALL METHOD cl_alv_table_create=>create_dynamic_table
               EXPORTING
                  it_fieldcatalog = ifc
               IMPORTING
                  ep_table        = dy_table.
  ASSIGN dy_table->* TO <dyn_table>.
  CREATE DATA dy_line LIKE LINE OF <dyn_table>.
  ASSIGN dy_line->* TO <dyn_wa>.
  ASSIGN COMPONENT 'LINE' OF STRUCTURE <dyn_wa> TO <dyn_field>.

  DESCRIBE TABLE headtab LINES n.

  LOOP AT intab ASSIGNING <f_intab>.
    DO n TIMES.
      ASSIGN COMPONENT sy-index OF STRUCTURE <f_intab> TO <f_field>.
      str = <f_field>.
      READ TABLE headtab INDEX sy-index.
      IF headtab-type_kind = 'I' OR headtab-type_kind = 'P'
                                 OR headtab-type_kind = 'F'.
        SEARCH str FOR '-'.
        IF sy-subrc = 0 AND sy-fdpos <> 0.
          SPLIT str AT '-' INTO str text1.
          CONDENSE str.
          CONCATENATE '-' str INTO str.
        ELSE.
          CONDENSE str.
        ENDIF.
      ELSE.
*        SHIFT str LEFT DELETING LEADING '0' .
      ENDIF.
      CONCATENATE <dyn_field> tab str INTO <dyn_field>.
    ENDDO.
    SHIFT <dyn_wa>.
    APPEND <dyn_wa> TO <dyn_table>.
    CLEAR <dyn_wa>.
    count = count + 1 .
  ENDLOOP.

  OPEN DATASET dname FOR OUTPUT IN BINARY MODE .
  IF sy-subrc NE 0.
  ENDIF.

  LOOP AT <dyn_table> INTO <dyn_wa>.
    str = <dyn_wa>.
    TRANSFER str TO dname.
    TRANSFER enter TO dname.
  ENDLOOP.
  CLOSE DATASET dname.
ENDFORM.

posted @ 2007-09-07 18:36 CharlieShen| 编辑 收藏

修改后的FORM itabtodataset

FORM itabtodataset TABLES intab
                   USING dname TYPE c.
  DATA: tab TYPE x VALUE '09',
        enter(2) TYPE x VALUE '0D0A',
        count(8) TYPE n.
  DATA: BEGIN OF headtab OCCURS 0 ,
          length    TYPE i ,
          decimals  TYPE i,
          type_kind TYPE c,
          name(30)  TYPE c,
        END OF headtab.
  DATA n TYPE i .
  DATA descr_ref TYPE REF TO cl_abap_structdescr.
  FIELD-SYMBOLS: <comp_wa> TYPE abap_compdescr ,
                 <f_field> ,
                 <f_intab> TYPE ANY .
  DATA:str TYPE string ,
       text1 TYPE c.
  DATA:runtime TYPE int4,
       repid LIKE sy-repid.
  DATA: flen TYPE i.
  FIELD-SYMBOLS: <dyn_table> TYPE STANDARD TABLE,
               <dyn_wa>,
               <dyn_field>.
  DATA: dy_table TYPE REF TO data,
        dy_line  TYPE REF TO data,
        xfc TYPE lvc_s_fcat,
        ifc TYPE lvc_t_fcat.

  descr_ref ?= cl_abap_typedescr=>describe_by_data( intab ).
  LOOP AT descr_ref->components ASSIGNING <comp_wa>.
    MOVE-CORRESPONDING <comp_wa> TO headtab.
    APPEND headtab.
  ENDLOOP.
  LOOP AT headtab.
    flen = flen + headtab-length + 1.
  ENDLOOP.
  CLEAR xfc.
  xfc-fieldname = 'LINE' .
  xfc-datatype = 'C'.
  xfc-intlen = flen.
  APPEND xfc TO ifc.
  CALL METHOD cl_alv_table_create=>create_dynamic_table
               EXPORTING
                  it_fieldcatalog = ifc
               IMPORTING
                  ep_table        = dy_table.
  ASSIGN dy_table->* TO <dyn_table>.
  CREATE DATA dy_line LIKE LINE OF <dyn_table>.
  ASSIGN dy_line->* TO <dyn_wa>.
  ASSIGN COMPONENT 'LINE' OF STRUCTURE <dyn_wa> TO <dyn_field>.

  DESCRIBE TABLE headtab LINES n.

  LOOP AT intab ASSIGNING <f_intab>.
    DO n TIMES.
      ASSIGN COMPONENT sy-index OF STRUCTURE <f_intab> TO <f_field>.
      str = <f_field>.
      READ TABLE headtab INDEX sy-index.
      IF headtab-type_kind = 'I' OR headtab-type_kind = 'P'
                                 OR headtab-type_kind = 'F'.
        SEARCH str FOR '-'.
        IF sy-subrc = 0 AND sy-fdpos <> 0.
          SPLIT str AT '-' INTO str text1.
          CONDENSE str.
          CONCATENATE '-' str INTO str.
        ELSE.
          CONDENSE str.
        ENDIF.
      ELSE.
*        SHIFT str LEFT DELETING LEADING '0' .
      ENDIF.
      CONCATENATE <dyn_field> tab str INTO <dyn_field>.
    ENDDO.
    SHIFT <dyn_wa>.
    APPEND <dyn_wa> TO <dyn_table>.
    CLEAR <dyn_wa>.
    count = count + 1 .
  ENDLOOP.

  OPEN DATASET dname FOR OUTPUT IN BINARY MODE .
  IF sy-subrc NE 0.
  ENDIF.

  LOOP AT <dyn_table> INTO <dyn_wa>.
    str = <dyn_wa>.
    TRANSFER str TO dname.
    TRANSFER enter TO dname.
  ENDLOOP.
  CLOSE DATASET dname.
ENDFORM.

posted @ 2007-09-07 18:36 CharlieShen| 编辑 收藏

修改后的FORM itabtodataset

FORM itabtodataset TABLES intab
                   USING dname TYPE c.
  DATA: tab TYPE x VALUE '09',
        enter(2) TYPE x VALUE '0D0A',
        count(8) TYPE n.
  DATA: BEGIN OF headtab OCCURS 0 ,
          length    TYPE i ,
          decimals  TYPE i,
          type_kind TYPE c,
          name(30)  TYPE c,
        END OF headtab.
  DATA n TYPE i .
  DATA descr_ref TYPE REF TO cl_abap_structdescr.
  FIELD-SYMBOLS: <comp_wa> TYPE abap_compdescr ,
                 <f_field> ,
                 <f_intab> TYPE ANY .
  DATA:str TYPE string ,
       text1 TYPE c.
  DATA:runtime TYPE int4,
       repid LIKE sy-repid.
  DATA: flen TYPE i.
  FIELD-SYMBOLS: <dyn_table> TYPE STANDARD TABLE,
               <dyn_wa>,
               <dyn_field>.
  DATA: dy_table TYPE REF TO data,
        dy_line  TYPE REF TO data,
        xfc TYPE lvc_s_fcat,
        ifc TYPE lvc_t_fcat.

  descr_ref ?= cl_abap_typedescr=>describe_by_data( intab ).
  LOOP AT descr_ref->components ASSIGNING <comp_wa>.
    MOVE-CORRESPONDING <comp_wa> TO headtab.
    APPEND headtab.
  ENDLOOP.
  LOOP AT headtab.
    flen = flen + headtab-length + 1.
  ENDLOOP.
  CLEAR xfc.
  xfc-fieldname = 'LINE' .
  xfc-datatype = 'C'.
  xfc-intlen = flen.
  APPEND xfc TO ifc.
  CALL METHOD cl_alv_table_create=>create_dynamic_table
               EXPORTING
                  it_fieldcatalog = ifc
               IMPORTING
                  ep_table        = dy_table.
  ASSIGN dy_table->* TO <dyn_table>.
  CREATE DATA dy_line LIKE LINE OF <dyn_table>.
  ASSIGN dy_line->* TO <dyn_wa>.
  ASSIGN COMPONENT 'LINE' OF STRUCTURE <dyn_wa> TO <dyn_field>.

  DESCRIBE TABLE headtab LINES n.

  LOOP AT intab ASSIGNING <f_intab>.
    DO n TIMES.
      ASSIGN COMPONENT sy-index OF STRUCTURE <f_intab> TO <f_field>.
      str = <f_field>.
      READ TABLE headtab INDEX sy-index.
      IF headtab-type_kind = 'I' OR headtab-type_kind = 'P'
                                 OR headtab-type_kind = 'F'.
        SEARCH str FOR '-'.
        IF sy-subrc = 0 AND sy-fdpos <> 0.
          SPLIT str AT '-' INTO str text1.
          CONDENSE str.
          CONCATENATE '-' str INTO str.
        ELSE.
          CONDENSE str.
        ENDIF.
      ELSE.
*        SHIFT str LEFT DELETING LEADING '0' .
      ENDIF.
      CONCATENATE <dyn_field> tab str INTO <dyn_field>.
    ENDDO.
    SHIFT <dyn_wa>.
    APPEND <dyn_wa> TO <dyn_table>.
    CLEAR <dyn_wa>.
    count = count + 1 .
  ENDLOOP.

  OPEN DATASET dname FOR OUTPUT IN BINARY MODE .
  IF sy-subrc NE 0.
  ENDIF.

  LOOP AT <dyn_table> INTO <dyn_wa>.
    str = <dyn_wa>.
    TRANSFER str TO dname.
    TRANSFER enter TO dname.
  ENDLOOP.
  CLOSE DATASET dname.
ENDFORM.

posted @ 2007-09-07 18:36 CharlieShen| 编辑 收藏

修改后的FORM itabtodataset

FORM itabtodataset TABLES intab
                   USING dname TYPE c.
  DATA: tab TYPE x VALUE '09',
        enter(2) TYPE x VALUE '0D0A',
        count(8) TYPE n.
  DATA: BEGIN OF headtab OCCURS 0 ,
          length    TYPE i ,
          decimals  TYPE i,
          type_kind TYPE c,
          name(30)  TYPE c,
        END OF headtab.
  DATA n TYPE i .
  DATA descr_ref TYPE REF TO cl_abap_structdescr.
  FIELD-SYMBOLS: <comp_wa> TYPE abap_compdescr ,
                 <f_field> ,
                 <f_intab> TYPE ANY .
  DATA:str TYPE string ,
       text1 TYPE c.
  DATA:runtime TYPE int4,
       repid LIKE sy-repid.
  DATA: flen TYPE i.
  FIELD-SYMBOLS: <dyn_table> TYPE STANDARD TABLE,
               <dyn_wa>,
               <dyn_field>.
  DATA: dy_table TYPE REF TO data,
        dy_line  TYPE REF TO data,
        xfc TYPE lvc_s_fcat,
        ifc TYPE lvc_t_fcat.

  descr_ref ?= cl_abap_typedescr=>describe_by_data( intab ).
  LOOP AT descr_ref->components ASSIGNING <comp_wa>.
    MOVE-CORRESPONDING <comp_wa> TO headtab.
    APPEND headtab.
  ENDLOOP.
  LOOP AT headtab.
    flen = flen + headtab-length + 1.
  ENDLOOP.
  CLEAR xfc.
  xfc-fieldname = 'LINE' .
  xfc-datatype = 'C'.
  xfc-intlen = flen.
  APPEND xfc TO ifc.
  CALL METHOD cl_alv_table_create=>create_dynamic_table
               EXPORTING
                  it_fieldcatalog = ifc
               IMPORTING
                  ep_table        = dy_table.
  ASSIGN dy_table->* TO <dyn_table>.
  CREATE DATA dy_line LIKE LINE OF <dyn_table>.
  ASSIGN dy_line->* TO <dyn_wa>.
  ASSIGN COMPONENT 'LINE' OF STRUCTURE <dyn_wa> TO <dyn_field>.

  DESCRIBE TABLE headtab LINES n.

  LOOP AT intab ASSIGNING <f_intab>.
    DO n TIMES.
      ASSIGN COMPONENT sy-index OF STRUCTURE <f_intab> TO <f_field>.
      str = <f_field>.
      READ TABLE headtab INDEX sy-index.
      IF headtab-type_kind = 'I' OR headtab-type_kind = 'P'
                                 OR headtab-type_kind = 'F'.
        SEARCH str FOR '-'.
        IF sy-subrc = 0 AND sy-fdpos <> 0.
          SPLIT str AT '-' INTO str text1.
          CONDENSE str.
          CONCATENATE '-' str INTO str.
        ELSE.
          CONDENSE str.
        ENDIF.
      ELSE.
*        SHIFT str LEFT DELETING LEADING '0' .
      ENDIF.
      CONCATENATE <dyn_field> tab str INTO <dyn_field>.
    ENDDO.
    SHIFT <dyn_wa>.
    APPEND <dyn_wa> TO <dyn_table>.
    CLEAR <dyn_wa>.
    count = count + 1 .
  ENDLOOP.

  OPEN DATASET dname FOR OUTPUT IN BINARY MODE .
  IF sy-subrc NE 0.
  ENDIF.

  LOOP AT <dyn_table> INTO <dyn_wa>.
    str = <dyn_wa>.
    TRANSFER str TO dname.
    TRANSFER enter TO dname.
  ENDLOOP.
  CLOSE DATASET dname.
ENDFORM.

posted @ 2007-09-07 18:36 CharlieShen| 编辑 收藏

修改后的FORM itabtodataset

FORM itabtodataset TABLES intab
                   USING dname TYPE c.
  DATA: tab TYPE x VALUE '09',
        enter(2) TYPE x VALUE '0D0A',
        count(8) TYPE n.
  DATA: BEGIN OF headtab OCCURS 0 ,
          length    TYPE i ,
          decimals  TYPE i,
          type_kind TYPE c,
          name(30)  TYPE c,
        END OF headtab.
  DATA n TYPE i .
  DATA descr_ref TYPE REF TO cl_abap_structdescr.
  FIELD-SYMBOLS: <comp_wa> TYPE abap_compdescr ,
                 <f_field> ,
                 <f_intab> TYPE ANY .
  DATA:str TYPE string ,
       text1 TYPE c.
  DATA:runtime TYPE int4,
       repid LIKE sy-repid.
  DATA: flen TYPE i.
  FIELD-SYMBOLS: <dyn_table> TYPE STANDARD TABLE,
               <dyn_wa>,
               <dyn_field>.
  DATA: dy_table TYPE REF TO data,
        dy_line  TYPE REF TO data,
        xfc TYPE lvc_s_fcat,
        ifc TYPE lvc_t_fcat.

  descr_ref ?= cl_abap_typedescr=>describe_by_data( intab ).
  LOOP AT descr_ref->components ASSIGNING <comp_wa>.
    MOVE-CORRESPONDING <comp_wa> TO headtab.
    APPEND headtab.
  ENDLOOP.
  LOOP AT headtab.
    flen = flen + headtab-length + 1.
  ENDLOOP.
  CLEAR xfc.
  xfc-fieldname = 'LINE' .
  xfc-datatype = 'C'.
  xfc-intlen = flen.
  APPEND xfc TO ifc.
  CALL METHOD cl_alv_table_create=>create_dynamic_table
               EXPORTING
                  it_fieldcatalog = ifc
               IMPORTING
                  ep_table        = dy_table.
  ASSIGN dy_table->* TO <dyn_table>.
  CREATE DATA dy_line LIKE LINE OF <dyn_table>.
  ASSIGN dy_line->* TO <dyn_wa>.
  ASSIGN COMPONENT 'LINE' OF STRUCTURE <dyn_wa> TO <dyn_field>.

  DESCRIBE TABLE headtab LINES n.

  LOOP AT intab ASSIGNING <f_intab>.
    DO n TIMES.
      ASSIGN COMPONENT sy-index OF STRUCTURE <f_intab> TO <f_field>.
      str = <f_field>.
      READ TABLE headtab INDEX sy-index.
      IF headtab-type_kind = 'I' OR headtab-type_kind = 'P'
                                 OR headtab-type_kind = 'F'.
        SEARCH str FOR '-'.
        IF sy-subrc = 0 AND sy-fdpos <> 0.
          SPLIT str AT '-' INTO str text1.
          CONDENSE str.
          CONCATENATE '-' str INTO str.
        ELSE.
          CONDENSE str.
        ENDIF.
      ELSE.
*        SHIFT str LEFT DELETING LEADING '0' .
      ENDIF.
      CONCATENATE <dyn_field> tab str INTO <dyn_field>.
    ENDDO.
    SHIFT <dyn_wa>.
    APPEND <dyn_wa> TO <dyn_table>.
    CLEAR <dyn_wa>.
    count = count + 1 .
  ENDLOOP.

  OPEN DATASET dname FOR OUTPUT IN BINARY MODE .
  IF sy-subrc NE 0.
  ENDIF.

  LOOP AT <dyn_table> INTO <dyn_wa>.
    str = <dyn_wa>.
    TRANSFER str TO dname.
    TRANSFER enter TO dname.
  ENDLOOP.
  CLOSE DATASET dname.
ENDFORM.

posted @ 2007-09-07 18:36 CharlieShen| 编辑 收藏

修改后的FORM itabtodataset

FORM itabtodataset TABLES intab
                   USING dname TYPE c.
  DATA: tab TYPE x VALUE '09',
        enter(2) TYPE x VALUE '0D0A',
        count(8) TYPE n.
  DATA: BEGIN OF headtab OCCURS 0 ,
          length    TYPE i ,
          decimals  TYPE i,
          type_kind TYPE c,
          name(30)  TYPE c,
        END OF headtab.
  DATA n TYPE i .
  DATA descr_ref TYPE REF TO cl_abap_structdescr.
  FIELD-SYMBOLS: <comp_wa> TYPE abap_compdescr ,
                 <f_field> ,
                 <f_intab> TYPE ANY .
  DATA:str TYPE string ,
       text1 TYPE c.
  DATA:runtime TYPE int4,
       repid LIKE sy-repid.
  DATA: flen TYPE i.
  FIELD-SYMBOLS: <dyn_table> TYPE STANDARD TABLE,
               <dyn_wa>,
               <dyn_field>.
  DATA: dy_table TYPE REF TO data,
        dy_line  TYPE REF TO data,
        xfc TYPE lvc_s_fcat,
        ifc TYPE lvc_t_fcat.

  descr_ref ?= cl_abap_typedescr=>describe_by_data( intab ).
  LOOP AT descr_ref->components ASSIGNING <comp_wa>.
    MOVE-CORRESPONDING <comp_wa> TO headtab.
    APPEND headtab.
  ENDLOOP.
  LOOP AT headtab.
    flen = flen + headtab-length + 1.
  ENDLOOP.
  CLEAR xfc.
  xfc-fieldname = 'LINE' .
  xfc-datatype = 'C'.
  xfc-intlen = flen.
  APPEND xfc TO ifc.
  CALL METHOD cl_alv_table_create=>create_dynamic_table
               EXPORTING
                  it_fieldcatalog = ifc
               IMPORTING
                  ep_table        = dy_table.
  ASSIGN dy_table->* TO <dyn_table>.
  CREATE DATA dy_line LIKE LINE OF <dyn_table>.
  ASSIGN dy_line->* TO <dyn_wa>.
  ASSIGN COMPONENT 'LINE' OF STRUCTURE <dyn_wa> TO <dyn_field>.

  DESCRIBE TABLE headtab LINES n.

  LOOP AT intab ASSIGNING <f_intab>.
    DO n TIMES.
      ASSIGN COMPONENT sy-index OF STRUCTURE <f_intab> TO <f_field>.
      str = <f_field>.
      READ TABLE headtab INDEX sy-index.
      IF headtab-type_kind = 'I' OR headtab-type_kind = 'P'
                                 OR headtab-type_kind = 'F'.
        SEARCH str FOR '-'.
        IF sy-subrc = 0 AND sy-fdpos <> 0.
          SPLIT str AT '-' INTO str text1.
          CONDENSE str.
          CONCATENATE '-' str INTO str.
        ELSE.
          CONDENSE str.
        ENDIF.
      ELSE.
*        SHIFT str LEFT DELETING LEADING '0' .
      ENDIF.
      CONCATENATE <dyn_field> tab str INTO <dyn_field>.
    ENDDO.
    SHIFT <dyn_wa>.
    APPEND <dyn_wa> TO <dyn_table>.
    CLEAR <dyn_wa>.
    count = count + 1 .
  ENDLOOP.

  OPEN DATASET dname FOR OUTPUT IN BINARY MODE .
  IF sy-subrc NE 0.
  ENDIF.

  LOOP AT <dyn_table> INTO <dyn_wa>.
    str = <dyn_wa>.
    TRANSFER str TO dname.
    TRANSFER enter TO dname.
  ENDLOOP.
  CLOSE DATASET dname.
ENDFORM.

posted @ 2007-09-07 18:36 CharlieShen| 编辑 收藏

修改后的FORM itabtodataset

FORM itabtodataset TABLES intab
                   USING dname TYPE c.
  DATA: tab TYPE x VALUE '09',
        enter(2) TYPE x VALUE '0D0A',
        count(8) TYPE n.
  DATA: BEGIN OF headtab OCCURS 0 ,
          length    TYPE i ,
          decimals  TYPE i,
          type_kind TYPE c,
          name(30)  TYPE c,
        END OF headtab.
  DATA n TYPE i .
  DATA descr_ref TYPE REF TO cl_abap_structdescr.
  FIELD-SYMBOLS: <comp_wa> TYPE abap_compdescr ,
                 <f_field> ,
                 <f_intab> TYPE ANY .
  DATA:str TYPE string ,
       text1 TYPE c.
  DATA:runtime TYPE int4,
       repid LIKE sy-repid.
  DATA: flen TYPE i.
  FIELD-SYMBOLS: <dyn_table> TYPE STANDARD TABLE,
               <dyn_wa>,
               <dyn_field>.
  DATA: dy_table TYPE REF TO data,
        dy_line  TYPE REF TO data,
        xfc TYPE lvc_s_fcat,
        ifc TYPE lvc_t_fcat.

  descr_ref ?= cl_abap_typedescr=>describe_by_data( intab ).
  LOOP AT descr_ref->components ASSIGNING <comp_wa>.
    MOVE-CORRESPONDING <comp_wa> TO headtab.
    APPEND headtab.
  ENDLOOP.
  LOOP AT headtab.
    flen = flen + headtab-length + 1.
  ENDLOOP.
  CLEAR xfc.
  xfc-fieldname = 'LINE' .
  xfc-datatype = 'C'.
  xfc-intlen = flen.
  APPEND xfc TO ifc.
  CALL METHOD cl_alv_table_create=>create_dynamic_table
               EXPORTING
                  it_fieldcatalog = ifc
               IMPORTING
                  ep_table        = dy_table.
  ASSIGN dy_table->* TO <dyn_table>.
  CREATE DATA dy_line LIKE LINE OF <dyn_table>.
  ASSIGN dy_line->* TO <dyn_wa>.
  ASSIGN COMPONENT 'LINE' OF STRUCTURE <dyn_wa> TO <dyn_field>.

  DESCRIBE TABLE headtab LINES n.

  LOOP AT intab ASSIGNING <f_intab>.
    DO n TIMES.
      ASSIGN COMPONENT sy-index OF STRUCTURE <f_intab> TO <f_field>.
      str = <f_field>.
      READ TABLE headtab INDEX sy-index.
      IF headtab-type_kind = 'I' OR headtab-type_kind = 'P'
                                 OR headtab-type_kind = 'F'.
        SEARCH str FOR '-'.
        IF sy-subrc = 0 AND sy-fdpos <> 0.
          SPLIT str AT '-' INTO str text1.
          CONDENSE str.
          CONCATENATE '-' str INTO str.
        ELSE.
          CONDENSE str.
        ENDIF.
      ELSE.
*        SHIFT str LEFT DELETING LEADING '0' .
      ENDIF.
      CONCATENATE <dyn_field> tab str INTO <dyn_field>.
    ENDDO.
    SHIFT <dyn_wa>.
    APPEND <dyn_wa> TO <dyn_table>.
    CLEAR <dyn_wa>.
    count = count + 1 .
  ENDLOOP.

  OPEN DATASET dname FOR OUTPUT IN BINARY MODE .
  IF sy-subrc NE 0.
  ENDIF.

  LOOP AT <dyn_table> INTO <dyn_wa>.
    str = <dyn_wa>.
    TRANSFER str TO dname.
    TRANSFER enter TO dname.
  ENDLOOP.
  CLOSE DATASET dname.
ENDFORM.

posted @ 2007-09-07 18:36 CharlieShen| 编辑 收藏

REPORT Z_BARRY_LISTBOX .
TYPE-POOLS: VRM.
DATA: IT_VAL TYPE VRM_VALUES,
      W_LINE LIKE LINE OF IT_VAL.
PARAMETERS P_BUKRS LIKE T001-BUKRS AS LISTBOX VISIBLE LENGTH 25
OBLIGATORY.
INITIALIZATION.
  SELECT BUKRS BUTXT FROM T001 INTO (W_LINE-KEY, W_LINE-TEXT).
    APPEND W_LINE TO IT_VAL.
    CHECK P_BUKRS IS INITIAL.
    P_BUKRS = W_LINE-KEY.
  ENDSELECT.
AT SELECTION-SCREEN OUTPUT.
  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      ID     = 'P_BUKRS'
      VALUES = IT_VAL.
END-OF-SELECTION.
  WRITE: / 'Company Code:', P_BUKRS.
posted @ 2007-09-07 18:35 CharlieShen| 编辑 收藏

ABAP (Advanced Business Application Programming) is a programming language for developing applications for the SAP R/3 system, a widely-installed business application subsystem. The latest version, ABAP Objects, is object-oriented programming. SAP will run applications written using ABAP/4, the earlier ABAP version, as well as applications using ABAP Objects.

SAP's original business model for R/3 was developed before the idea of an object-oriented model was widespread. The transition to the object-oriented model reflects an increased customer demand for it. ABAP Objects uses a single inheritance model and full support for object features such as encapsulation, polymorphism, and persistence.

posted @ 2007-09-07 11:16 CharlieShen| 编辑 收藏

ABAP (Advanced Business Application Programming) is a programming language for developing applications for the SAP R/3 system, a widely-installed business application subsystem. The latest version, ABAP Objects, is object-oriented programming. SAP will run applications written using ABAP/4, the earlier ABAP version, as well as applications using ABAP Objects.

SAP's original business model for R/3 was developed before the idea of an object-oriented model was widespread. The transition to the object-oriented model reflects an increased customer demand for it. ABAP Objects uses a single inheritance model and full support for object features such as encapsulation, polymorphism, and persistence.

posted @ 2007-09-07 11:15 CharlieShen| 编辑 收藏

ABAP (Advanced Business Application Programming) is a programming language for developing applications for the SAP R/3 system, a widely-installed business application subsystem. The latest version, ABAP Objects, is object-oriented programming. SAP will run applications written using ABAP/4, the earlier ABAP version, as well as applications using ABAP Objects.

SAP's original business model for R/3 was developed before the idea of an object-oriented model was widespread. The transition to the object-oriented model reflects an increased customer demand for it. ABAP Objects uses a single inheritance model and full support for object features such as encapsulation, polymorphism, and persistence.

posted @ 2007-09-07 11:14 CharlieShen| 编辑 收藏

2007年,专注于磁盘备份及灾难恢复业务的Data Domain公司正式进入中国市场。首次访问中国的Data Domain公司销售副总裁David Schneider在接受记者采访时也表示:“中国市场是Data Domain公司未来成长的关键点。”

竞合

在各种关于2007年中国存储市场热点的预测中,重复数据删除技术都是不可或缺的一项。近两年,基于磁盘备份的技术和产品开始大行其道,而重复数据删除技术的引入,无疑将大大增强磁盘备份的优势。

如今,越来越多的企业已经认识到信息数据的重要性,因此数据备份成了企业的基本应用需求。据专业市场分析机构预测,全球数据备份及容灾市场总额达50亿美元。传统上,人们习惯使用磁带产品进行备份。但是,随着备份的数据量成倍增加,人们对备份的可靠性、速度以及数据的恢复提出了更高的要求,而磁带备份在这些方面显得有些捉襟见肘。备份的目的是为了更有效地恢复数据,因此,数据恢复是否可靠、安全和快速就成了用户选择备份产品时的一个重要依据。

磁盘备份的兴起确实给磁带产品的生存和发展带来了冲击,尤其是重复数据删除技术的应用,客观上大大降低了磁盘备份的成本。即使是这样,磁盘并不能完全取代磁带,两者间是一种竞合的关系。在某些要求快速恢复的应用中,磁盘是比较理想的选择;在数据的长期保存和归档应用中,磁带则是十分必要的;而由磁盘与磁带构成的解决方案可以为用户提供更完善的数据保护。

近期,许多存储厂商纷纷推出具有重复数据删除功能的磁盘备份产品,而作为这一领域的先行者,Data Domain的产品已经是第三代,其技术成熟度和可靠性毋庸置疑。David Schneider表示:“对于备份产品来说,可靠性是第一位的。为了保证数据的安全和可靠,Data Domain的磁盘备份设备采用了RAID 6技术,而且所有硬件都是冗余的。此外,在数据压缩的过程中,Data Domain的磁盘备份产品会不断地从头检测被压缩的数据是否正确,从而保证了备份数据的安全。”

专注

Data Domain公司成功的关键在于专注,多年来在磁盘备份技术方面的积累,使得Data Domain在此细分领域保持着技术优势。这种专注同样表现在市场开拓方面。David Schneider表示:“对于刚刚进入中国市场的Data Domain来说,最紧迫的任务是建立良好的声誉,在用户和合作伙伴的心目中树立高可靠、高可用的品牌形象,而不是急于发展代理商。”Data Domain选择合作伙伴的首要原则就是专注,因此与同样专注于数据安全领域的解决方案和服务提供商威视数据合作可谓水到渠成。2006年下半年,双方就开始了合作,短短几个月时间,Data Domain在中国的客户数就从零增加到5个,覆盖金融、政府、制造、教育等行业。

据悉,Data Domain公司的全线产品都可以向中国市场供货,而Data Domain公司的北京代表处也在积极筹建之中。

发表评论 1条】
posted @ 2007-09-07 07:18 CharlieShen| 编辑 收藏

如今这个ERP盛行的年代,对于企业和学术界,该不该使用ERP这类问题,我想已经不再是一个很好的讨论话题了。随之而来的是"ERP普及化"、"ERP个性化"、"将ERP进行到底"等一系列高昂的口号。我们在赞叹ERP实施人员勇气的同时,更应该以我们尽可能的热情去支持"ERP事业",毕竟它是一项"全员"参与的事业。
  企业在ERP应用的过程中,有经历成功的喜悦,也有遭遇失败的痛苦。我们暂且不需要讨论企业应用ERP成功与否,更不能以成败论英雄,因为每一个ERP应用者面前永远都有一个很实际的需要解决的问题:对于ERP上线后的企业,如何让ERP与企业业务流程更好地集成,从而提升系统效率?
  一直以来,ERP的存在就注定了它与BPM(业务流程管理)的渊源,一方面是ERP系统本身固有的流程与企业现有组织与流程变革之间的冲突和磨合;另一方面是随着企业和软件商在ERP深入应用和研究,一体化和自动化的要求与ERP目前面向功能的事务处理系统还存在着矛盾,它对整个业务流程缺乏有效的控制和管理,企业在不断地流程管理和优化中,对ERP系统的柔性适应性也提出了挑战和要求。
  当前,不少ERP供应商也已经将工作流程系统作为他们产品的一部分,还有一些厂商在此基础上提出OA或者BPM与ERP集成的解决方案。流程管理是企业管理的基础,而ERP是运用了信息技术的信息流程,无论是用何种解决方案,都不能忽视BPM和ERP之间的密切联系。
  BPM与ERP,如何集成?
  我们将企业流程管理的英文缩写BPM拆开来看,B、P和M分别指企业的业务、企业的流程和企业的管理,虽然涉及的范围很宽泛,但有一点始终离不开那就是组织的业务,因为只有搞好了组织的业务这一利润来源的基础,才谈得上组织的绩效和组织的发展。可以这么说,企业流程的优化、增值作为一条主线构成了整个BPM的核心。
  ERP涉及的内容包括企业的人、财、物、产、供、销等方面,内容丰富且非常的复杂,到现在为止ERP发展到了新的阶段ERPⅡ,这不仅深化了ERP的内涵而且扩大了ERP的外延,从以前的局限于企业的内部资源延伸到了企业的外部,供应商、客户联系更加紧密,逐渐模糊了供应链管理(SCM)和客户关系管理(CRM)之间的界限,这样一来也形成了ERP族群的概念。
  如果将BPM与ERP按照结构化与非结构化以及数据化与非数据化进行分类;那么BPM较多地体现了非结构化、非数据化的特征,ERP则体现了很强的结构化和数据化特征。这两种本就"碰"不到一起的类别,如何集成?如何结合并优化?这好像不现实,但是恰恰由于此种原因则更需要集成。很显然,BPM与ERP之间有一个集成的前提问题。
  那么,什么是BPM与ERP集成的前提呢?至少有这六个方面的前提:
  ● 组织具有集成的意愿;
  ● 良好的组织内部环境、企业文化;
  ● 组织最高管理者的决心和推动力;
  ● 务实、专业、高效的流程"诊治"团队,包括外部专家和组织内部业务骨干;
  ● 流程存在不断优化的可能;
  ● 具有平台化技术的ERP系统。
  流程管理贯穿ERP始终
  企业的布局
  记得第一次去杭州,杭州的美景就不用说了,我想去过的人都能感受到;可给我印象更深的是杭州的道路很通畅,车开得很快,况且那天还是周日。我们想到的车能开得快的正常要素有:道路宽阔、地势平缓、人流量少、车少、指挥的交警多等。可是这与杭州的实际情况恰好相反,杭州的道路特别是西湖边的偏窄;杭州的城市多山,道路大多数起伏不定;杭州是旅游城市,人流量很大、车也少不了哪里去;可是为什么道路如此通畅呢?我想这与杭州的城市规划、城市发展综合布局也就是整体架构密切相关。
  一个组织的流程和ERP系统应用之间集成的紧密与否,首先也应该从该组织的结构是否合理上找原因。我们知道,一个组织的战略方向决定了它的业务模式,业务模式决定了组织的结构,而流程从属于组织架构;也就是说,流程管理的好坏、组织能否对流程管理赋予足够的重视,其直接的决定因素就是组织的结构。
  正如上面我们提到的‘杭州道路为何如此畅通’这个例子中所体现的,杭州的城市布局、城市规划就像企业组织的架构,而车流、人流就像组织的流程,对道路通畅直接起决定因素的是杭州的城市架构、规划布局,只有合理的布局和架构才能从根本上改变组织的流程。
   众所周知,有关组织流程方面的变革或优化,大致经历了BPR(流程重组)-BPI(流程优化)-BPM(流程管理)三个发展阶段。从这三个阶段可以看出,对于组织流程方面的工作,业内一直都在研究探索更好的方式方法;然而无论是组织流程的改革、优化还是管理,对于组织流程的变动都不是轻易能办得到、办得好的事情,一点很很重要的原因就是:变动流程往往需要牵动或影响组织的结构。
  为此,有些组织在考虑架构、设置职能部门的时候,就单独设立了一个"流程管理部门"或"流程管理专员"的岗位,并逐步淡化以往以职能部门为中心的组织模式。例如,在某著名家电集团的组织架构中,在营运管理部门中就设置了"流程管理专员"一职,以提高组织的整体运作效率为目的,专门处理企业流程方面的事务诸如组织流程的制定、修改、优化。"流程管理专员"的直接领导是营运管理部经理,营运管理部经理的直接报告对象是集团总裁,可见"流程专员"这一岗位的高度。
  所以,现代组织在制定管理架构时,往往在组织架构中预先定义了"流程管理部"或"流程管理专员",作为整体架构的一个组成部分,为组织的BPM和ERP之间的集成提供了一种不断优化的可能与愿景。 
  在企业不断变化和调整组织的同时,ERP的架构也正在酝酿着变化。如果说之前ERP的实施是为了固化企业的管理流程,后续ERP将会考虑到基于流程方向的发展,使得IT方案更加灵活,随时适应企业组织结构的变化,那个时候, BPM将成为ERP方案的"心脏"。当然,这需要一个很长时间的探讨和应用实践过程。
  ERP与组织流程
  事实上,企业及其IT系统面临的最大挑战来自于企业的业务流程。对于企业的流程来说,高度不确定性是其最本质的特点之一。现在,大多数企业的流程已经成为业务环境中的一个组成部分,这并不是企业经过周密的计划得到的,而仅仅是对做好事情的一个自然的反应。企业的流程一般都是贯穿于企业系统之中的,通过流程加强系统与企业中个体员工之间的联系。并且流程通常都是按照一定的规律来进行调整以便满足新的客户和新的业务环境要求。
  为了让组织的BPM和ERP之间能够更好地结合,企业应当从组织流程上考虑需要注意的几点:
  ● 培养组织的流程管理意识,制定切实可行的流程;
  ● 企业领导层首先要意识到流程优化的价值;                                                                                                                              
  ● 一定时期内,组织的流程要相对固化;
  ● 组织的所有成员都要牢记组织的每一个流程,这是工作效率不断提高的保障之一;
  ● 流程不是制度,不要将流程管理做成企业管理规范;
  ● 将对流程的管理看成是对流程的优化,特别是要区分流程变化前后的差别。
  "目标明确、执行到位、不断优化"贯穿组织BPM和ERP之间集成的始终。在整个过程中,整个组织的流程意识、相对固化可行的流程、流程优化的价值、流程优化如何衡量、流程化的ERP这些都是需要重视的问题。
  我们可以从三方面来考虑:改变企业业务流程适应ERP系统流程、改变ERP系统流程适应企业业务流程、企业业务流程和ERP系统流程都有所修改达到集成优化的目的。
  我们知道,从早期的订货点法开始到企业资源计划管理系统,在ERP的形成发展过程中,始终围绕着一个核心就是降低成本、增加利润来展开的。组织在采购、研发、设计、生产、销售、储运等各个环节流程的合理性与可行性,直接影响到整个组织的价值。实际上,再先进的ERP系统或多么优秀的组织都存在这样或那样的问题。
  某变压器生产企业,在成功上线了某ERP软件之后发现有的企业流程在ERP中无法实现。例如"在接到一批销售订单后,该变压器生产企业为了保证客户所需变压器产品的及时交付,计划部门进行计划分解、采购部门准备物料、生产部门排产并做生产上的相关准备。
  当该生产任务进行到一定程度这批订单还没完工的时候,销售部门又接到了第二批销售订单,可是第二批销售订单所要求的产品交货期比上一批正在组织生产的订单交货期还要早,而事实上,该变压器生产企业的生产能力有限,无法同时组织这两批订单的生产。
  为了满足第二批订单的交货期要求,手工操作的解决办法是:实际生产中停下第一批还没完工的订单产品而转向组织第二批的订单生产;这样一来,订单处理上要求的流程或实际生产中要求的流程与ERP能实现的流程之间产生了难以调和的矛盾"。
??? 为什么出现了这种情况?我们可以做如下的分析:该变压器生产企业经常出现这种情况吗?销售部门签订合同、拿到订单需要经过审批环节吗?销售部门和生产部门之间经常沟通交流、互通信息吗?正在组织生产的第一批订单的半成品全部或部分可以直接作为第二批订单的半成品吗?是否可以增加机器设备和工人?是否可以和客户交涉修改交货期?整个生产环节的时间可以缩短吗?可以减少生产环节吗?......(转自支点网)
  解决这些问题的办法可以从改变企业原来的业务流程上考虑、改变ERP系统的流程或两者都有所改变来考虑。如何改变企业业务流程,我们可以考虑对整个企业供应链优化或者对其中的销售、生产、研发、采购等其中之一作为切入点进行优化调整,甚至例如从销售环节中的订单审批子项作为优化调整的切入点;对于如何改变ERP系统的流程来说,一方面是ERP系统的设计思想、整个ERP系统的架构、是否可灵活配置业务流程、是否可简便二次开发或客户化等这些都是作为ERP系统需要考虑到的;对于有些特别复杂或不容易从企业业务流程或ERP系统流程单方面来优化的,可以考虑两者都做适当的调整来实现。
   流程引擎与新一代ERP
  企业管理个性化与传统ERP系统功能相对固化之间的矛盾是企业信息化面临的最大问题。
  迈克尔.哈默把流程定义为一系列业务活动,但在传统的ERP中,我们只能看到活动,而看不到流程。所以,在传统的ERP中看不到一项业务最后是如何完成的?参与者有哪些人?各个环节在任务中是如何协作的?这个流程占用了哪些资源?这个流程创造了多大的绩效?如何评价这个流程的绩效?如何评价一个流程与其他流程之间的联系?如何进一步改进这些流程?这些问题是新一代ERP需要考虑的问题。
  所谓流程驱动的ERP是相对于数据驱动的传统ERP而言的;两者的本质区别是,传统ERP的业务活动实际都是和数据模型绑定在一起,新一代ERP的业务活动则与流程模型绑定在一起。新一代ERP的业务活动与业务流程、业务处理、业务数据、组织架构串连在一起,并通过统一的流程驱动引擎牵引流程到各个节点的用户界面。这样,用户就可以在"常用流程"界面直接进行流程处理,或查看相关流程的处理状态。
  那么新一代ERP如何做到随需应变的?
  ● 支持自定义的业务单据;
  ● 通过工作流,实现流程的灵活定义,随需调整;
  ● 通过软件平台工具,支持合作伙伴与客户的二次开发。
  在新一代ERP系统中,流程管理员可以采用可视化的流程配置器对业务流程进行管理。
  流程管理员主要管理四个流程要素,即"活动"、"路由"、"审核单元"、"流转线"。"活动"对应各项业务活动,如:提货单维护、凭证维护等;"路由"对应流程的条件判断,如:移库单维护后既可能维护运输单也可能维护出库单,这里的判断就是通过"路由"来判断;"审核单元"对流程进行审核;"流转线"则是对应流程方向。通过这四项元素的合理配置,便可组成新的业务活动流程,简单明了。
  近几年,欧美国家对企业进行过一项调查,结果显示在已经上了ERP等信息系统的公司中,有80%的企业反映如果给他们一个机会重新再做ERP,他们将首先优化生产和管理流程。企业对流程的认识,已经不是个新话题了。
  可是,为什么还是有那么多的企业在实施了ERP之后才会回过头来反思实施之前的流程优化之痛?这个调查不仅仅反映了企业在实施ERP之前对流程认识的不足,而且更多地提醒我们,不仅对于企业实施ERP之前,对于所有已经上线ERP的企业,都应当认识到企业业务流程管理从来都不是一劳永逸的事情,企业真正需要的是一种持续优化的意识。而对于ERP软件商和实施顾问来说,对流程管理与ERP应用道路的探索依旧漫长。

 

 

posted @ 2007-09-07 07:17 CharlieShen| 编辑 收藏

开源技术可能不会统治整个世界,但是它将发现适合自己的一个非常广阔的舞台。可以确信的是,现在不管是大型企业还是小型企业都更喜欢在它们的服务器上实施开源技术。
  业界分析家说,越来越多的软件公司开始把开源的目光转向了企业的关键业务系统--ERP和BI系统。

  开源技术开始融入ERP和BI
  ERP是一套信息系统,它把公司内所有部门和业务功能整合到了一个计算机系统中。ERP运行在单一的数据库上,使不同的部门可以通过它来共享信息和互相交流;商业智能系统则用于对数据进行挖掘,大多数商业智能系统都具有相同的基本功能:从数据库中提取数据,然后提供分析报告。
  现在不仅仅是最终用户开始使用开源ERP和商业智能系统,ERP厂商也开始在其产品中试验开源技术。如,SAP和甲骨文正在把目光投向Linux,希望以此降低系统的总拥有成本。分析家Albert Pang表示,支持Linux和JBoss应用服务器的ERP系统已经变得非常普遍。“过去的ERP系统实施中存在如此多的缺陷,以致于ERP系统经常超出原先的预算或实施时间。开源技术的到来极大减少了与建立大型架构ERP系统相关的一系列令人头疼的问题。”
  开源商业智能软件开发公司MarvelIT的CEO Rick Mortensen说:“中小企业因为成本过高通常不去考虑实施ERP和商业智能系统。现在,开源技术使软件和支持成本极大降低,中小企业可以考虑实施一些典型的企业功能了。因此,开源系统将是天生的最佳选择,尤其对中小型企业来说。”
  除了成本因素外,部署开源ERP和商业智能系统还有一些实际的理由,包括可修改源代码、维护和服务能得到来自开源社区的支持。
  不管开源专家承认与否,开源ERP系统和BI系统还不会在短时间内大范围地占领市场。不过,这些应用程序的影响力正在不断变大。至于大型企业是否能大范围地采用,所面临的不确定因素还有很多。“开源ERP和商业智能应用没有通过测试阶段,它们能不能满足业界的特殊需求还有待考验。但如果你感觉系统的维护费用在不断上升,不妨试验一下开源技术。”Pang说。

  开源ERP面临个性化和人才挑战
  毫无疑问,开源ERP解决方案将会从传统软件应用市场分得一杯羹,尤其是从那些使用C++或Java编写的软件应用程序中。Pang表示,这时候将会有一些重要的开发者乐意围绕开源技术作出改革和创新。但问题是,这些开源ERP和商业智能解决方案已经做好进入黄金时期的准备了么?
  企业应用顾问公司首席分析家Joshua Greenbaum认为,开源技术适合只需要基本通用功能的所有领域,因此它已经广泛地应用到各个行业,同时还有一些开源社区技术专家乐意参与到开源的过程中。
  但是,ERP系统并非普通的通用系统,要根据不同公司的业务需求进行大量的定制并且实施,而可以创建开源ERP系统的行业专家的数量是非常有限的。“今天的ERP世界还存在一个巨大的金库,相关的顾问和开发人员可以得到很好的报酬,因此他们没有足够理由跳到开源这艘船上。”Greenbaum说。
  尽管还没有大量开发者加入到开源ERP项目中,基于Linux的ERP系统的部署近两年依然增长了9个百分点,现在该系统大约占了ERP市场的1%。据IDC预计,到2008年非商业化ERP应用的整体市场将达到360亿美元。
  “当业界开始更广泛地使用XML标准后,通过一大批技术厂商,用户将能很好的解决支持问题,而且启动投资也将最小化,”Pang说:“它由此产生的市场影响决不是一个开源ERP项目能带来的,因为单一的开源ERP系统无法满足数百万客户的需求。”
  这反过来也说明,开源ERP系统还有很长的路要走。目前很多开源ERP系统已经开始尝试运行,包括Compirere、ERP 5、OpenMFG和Fisterra。来自CTG的信息化顾问Geert Claes说:“这3个项目都具有潜在的大范围的功能,但是开发者可能还需要花费更多时间来使它们的工具更友好。”
小企业成开源BI最大受益者
  BI与ERP系统所面临的情况则有所不同,目前很多的开发者和实施者已经表示愿意参与到商业智能系统的开源过程中。Greenbaum表示:“假若你想为特殊的行业建立商业智能系统,就不得不面临和开源ERP一样的困境,没有太多的专家可以咨询;但是,开源模型中的基本报表工具用起来还是非常不错的。”
  商业化的商业智能软件和相关的咨询服务通常需要高额的费用,因此廉价的开源商业智能系统得到迅速发展。Red Hat和JBoss的开源商业智能(BI)项目不会对用户收取授权费用,但Red Hat还是在咨询、支持和培训方面收入不菲,因为客户需要对开源的商业智能解决方案进行定制,以满足自己的特殊要求。这再一次证明,开源软件并不是免费的午餐。
  Claes预测:“由于开源商业智能软件不够成熟,还不足以被大型企业广泛采用。需要进入商业智能领域的中小型企业是其早期的用户。随着开源商业智能项目变得越来越成熟,它将给那些商业智能软件巨头们带来压力——像Cognos和Hyperion等。”
  Pentaho是最被看好的开源商业智能项目之一,也是专家建议关注的开源商业智能项目之一。Pentaho的核心团队是由具有成功创建过商业智能系统的技术专家组成的,他们大多来自顶级的商业厂商,例如Business Objects、Cognos、Hyperion、IBM、甲骨文和SAS等。
  Greenplum、JasperSoft和Kinetic网络三个公司在2005年8月通过一个叫做Bizgres的项目发布了一套完整的开源商业智能程序。JasperSoft还提供了一个叫JasperReports的基于Java的开放性报告工具,它可以在Java软件环境中创建简单报告。至今为止,该报告已经被下载了100多万次。另外,像MarvelIT和Actuate也正在开源商业智能系统领域获得更多的注意。

 

posted @ 2007-09-07 07:16 CharlieShen| 编辑 收藏

北京 2007-01-08(中国商业电讯)-- 2006年,连锁零售业主力企业完成了40多次兼并重组,为2007零售业大规模的IT系统整合埋下了伏笔。
  12月24日,首次提请全国人大常委会审议的企业所得税法草案明确规定:内资、外资企业适用统一的企业所得税法,新税率确定为25%。若审议通过,本土零售企业的利润率将显著改善,其在IT建设方面的投资比例也有望提升。
  易观观点
  2007年零售业将以信息化带动产业升级,总IT投资预计将超过一百亿元。POS-ERP是IT建设的重点,对其总投资预计可达15亿元。
  易观分析
  1. 零售业增长势头良好,且明年可能有并税的重大利好,IT总支出将随之增长
  2007年是我国“十一五”规划的第二年,从改革开放以来的历史看,每个“五年规划”第二年的经济和投资都快于上一年(1987年和1997年例外)。而从我国近几年物价指数和商品供求关系上看,投资较快增长没有对居民生活造成不良影响,投资没有挤消费,这种情况在2007年仍将继续下去。预计零售业销售总额也将随之提升,IT总支出的绝对值必然增长。
  此外,全国人大常委会审议通过内外资并税的可能性非常大,国内零售业的利润率有望明显改善。
  因此,即便IT支出占销售总额的比例无显著变化,IT总支出的绝对值也将增长。
  2. 兼并重组产生IT系统整合需求,IT支出占销售总额的比例可望提高
  目前,我国零售行业的IT投资占零售总额的平均比例不到0.2%,连锁百强此比例约为0.5%,而国际零售巨头则普遍在2%以上。
  2006年,中国流通领域频繁发生大规模、大范围的“兼并重组”共计40多起,包括全球最大的家电企业百思买兼并五星,国美兼并永乐,王府井全额收购长安商场,物美兼并美廉美和新华百货等。
  零售业兼并重组的动机是想通过整合资源实现优势互补、实现规模效益,达到做大做强的目的。而并购之后的整合,信息系统必然先行,尤其要解决异构的信息系统的整合。但是,单凭升级原有的管理系统、或依靠EAI集成难以达到预期目的。
  事实上,维护多个陈旧系统的成本往往比建设ERP新系统成本更高。首先,各异构系统在不断升级,相应的接口也要不断改变。其次,不同的系统输出的数据不一致,同一个数据在不同的系统会出现不同的结果。第三,旧系统的维护成本持续增高,在硬件、机房等设备上的成本也非常高。
  因而,预计这些完成并购的企业将选择基于新的技术体系架构的ERP系统来做升级和整合。例如物美集团,2006年完成多项并购之后,选择了国际领先的ERP软件来整合集团内的异构的核心IT系统,从而成为国内首家考虑实施国外大型套装ERP系统的以连锁超市为主要业态的零售企业。预计,国美在顺利完成与永乐的公司层面的整合之后,明年也将升级原有的、武汉金力提供的ERP系统。
  综上,兼并重组产生的IT系统升级将使IT支出占销售总额的比例显著提高。
  3. 业内信息化标杆项目显现效果,零售企业对IT投资的回报更信服
  易观国际曾预测: 2006年零售业IT总投资规模将达84.31亿元,而POS-ERP约占1/8,达10.8亿元。截至目前的不完全统计,实际零售业IT投资已达到或超过这一预期。苏宁电器SAP/ERP项目投资即达八千万人民币,是SAP在全球零售业签下的规模最大的项目。图:易观国际预计连锁百强2006年销售额将达9907亿
  按照以上连锁百强销售额的预期,按照0.2%的比例估算,仅连锁百强2007年的IT投资就将达到 27.938亿,而零售业IT总投资预计超过一百亿元。
  物美集团的ERP项目将成为明年零售业信息化的又一亮点。受苏宁、物美等业内信息化标杆项目的影响,以连锁百强为代表的零售企业将加大以POS-ERP为核心的IT投资。
  对于家电连锁、连锁超市、连锁品牌专卖店:
  对IT咨询实施方要深入了解和慎重评估,尤其应考察同业态的实施案例。实施过程应遵循“分阶段、从试点向全国推进”的稳健策略。已完成兼并重组的企业,应当比较两种IT整合路径的投资回报率:整合异构系统,或者实施全新的ERP系统。
  对于为零售企业提供POS-ERP的厂商:
  应着重关注四类业态:家电连锁、连锁超市、连锁品牌专卖店、百货业。受标杆企业的信息化项目的引领,这四个业态明年将有更多企业部署或升级POS-ERP。

北京 2007-01-08(中国商业电讯)-- 2006年,连锁零售业主力企业完成了40多次兼并重组,为2007零售业大规模的IT系统整合埋下了伏笔。
  12月24日,首次提请全国人大常委会审议的企业所得税法草案明确规定:内资、外资企业适用统一的企业所得税法,新税率确定为25%。若审议通过,本土零售企业的利润率将显著改善,其在IT建设方面的投资比例也有望提升。
  易观观点
  2007年零售业将以信息化带动产业升级,总IT投资预计将超过一百亿元。POS-ERP是IT建设的重点,对其总投资预计可达15亿元。
  易观分析
  1. 零售业增长势头良好,且明年可能有并税的重大利好,IT总支出将随之增长
  2007年是我国“十一五”规划的第二年,从改革开放以来的历史看,每个“五年规划”第二年的经济和投资都快于上一年(1987年和1997年例外)。而从我国近几年物价指数和商品供求关系上看,投资较快增长没有对居民生活造成不良影响,投资没有挤消费,这种情况在2007年仍将继续下去。预计零售业销售总额也将随之提升,IT总支出的绝对值必然增长。
  此外,全国人大常委会审议通过内外资并税的可能性非常大,国内零售业的利润率有望明显改善。
  因此,即便IT支出占销售总额的比例无显著变化,IT总支出的绝对值也将增长。
  2. 兼并重组产生IT系统整合需求,IT支出占销售总额的比例可望提高
  目前,我国零售行业的IT投资占零售总额的平均比例不到0.2%,连锁百强此比例约为0.5%,而国际零售巨头则普遍在2%以上。
  2006年,中国流通领域频繁发生大规模、大范围的“兼并重组”共计40多起,包括全球最大的家电企业百思买兼并五星,国美兼并永乐,王府井全额收购长安商场,物美兼并美廉美和新华百货等。
  零售业兼并重组的动机是想通过整合资源实现优势互补、实现规模效益,达到做大做强的目的。而并购之后的整合,信息系统必然先行,尤其要解决异构的信息系统的整合。但是,单凭升级原有的管理系统、或依靠EAI集成难以达到预期目的。
  事实上,维护多个陈旧系统的成本往往比建设ERP新系统成本更高。首先,各异构系统在不断升级,相应的接口也要不断改变。其次,不同的系统输出的数据不一致,同一个数据在不同的系统会出现不同的结果。第三,旧系统的维护成本持续增高,在硬件、机房等设备上的成本也非常高。
  因而,预计这些完成并购的企业将选择基于新的技术体系架构的ERP系统来做升级和整合。例如物美集团,2006年完成多项并购之后,选择了国际领先的ERP软件来整合集团内的异构的核心IT系统,从而成为国内首家考虑实施国外大型套装ERP系统的以连锁超市为主要业态的零售企业。预计,国美在顺利完成与永乐的公司层面的整合之后,明年也将升级原有的、武汉金力提供的ERP系统。
  综上,兼并重组产生的IT系统升级将使IT支出占销售总额的比例显著提高。
  3. 业内信息化标杆项目显现效果,零售企业对IT投资的回报更信服
  易观国际曾预测: 2006年零售业IT总投资规模将达84.31亿元,而POS-ERP约占1/8,达10.8亿元。截至目前的不完全统计,实际零售业IT投资已达到或超过这一预期。苏宁电器SAP/ERP项目投资即达八千万人民币,是SAP在全球零售业签下的规模最大的项目。图:易观国际预计连锁百强2006年销售额将达9907亿
  按照以上连锁百强销售额的预期,按照0.2%的比例估算,仅连锁百强2007年的IT投资就将达到 27.938亿,而零售业IT总投资预计超过一百亿元。
  物美集团的ERP项目将成为明年零售业信息化的又一亮点。受苏宁、物美等业内信息化标杆项目的影响,以连锁百强为代表的零售企业将加大以POS-ERP为核心的IT投资。
  对于家电连锁、连锁超市、连锁品牌专卖店:
  对IT咨询实施方要深入了解和慎重评估,尤其应考察同业态的实施案例。实施过程应遵循“分阶段、从试点向全国推进”的稳健策略。已完成兼并重组的企业,应当比较两种IT整合路径的投资回报率:整合异构系统,或者实施全新的ERP系统。
  对于为零售企业提供POS-ERP的厂商:
  应着重关注四类业态:家电连锁、连锁超市、连锁品牌专卖店、百货业。受标杆企业的信息化项目的引领,这四个业态明年将有更多企业部署或升级POS-ERP。

北京 2007-01-08(中国商业电讯)-- 2006年,连锁零售业主力企业完成了40多次兼并重组,为2007零售业大规模的IT系统整合埋下了伏笔。
  12月24日,首次提请全国人大常委会审议的企业所得税法草案明确规定:内资、外资企业适用统一的企业所得税法,新税率确定为25%。若审议通过,本土零售企业的利润率将显著改善,其在IT建设方面的投资比例也有望提升。
  易观观点
  2007年零售业将以信息化带动产业升级,总IT投资预计将超过一百亿元。POS-ERP是IT建设的重点,对其总投资预计可达15亿元。
  易观分析
  1. 零售业增长势头良好,且明年可能有并税的重大利好,IT总支出将随之增长
  2007年是我国“十一五”规划的第二年,从改革开放以来的历史看,每个“五年规划”第二年的经济和投资都快于上一年(1987年和1997年例外)。而从我国近几年物价指数和商品供求关系上看,投资较快增长没有对居民生活造成不良影响,投资没有挤消费,这种情况在2007年仍将继续下去。预计零售业销售总额也将随之提升,IT总支出的绝对值必然增长。
  此外,全国人大常委会审议通过内外资并税的可能性非常大,国内零售业的利润率有望明显改善。
  因此,即便IT支出占销售总额的比例无显著变化,IT总支出的绝对值也将增长。
  2. 兼并重组产生IT系统整合需求,IT支出占销售总额的比例可望提高
  目前,我国零售行业的IT投资占零售总额的平均比例不到0.2%,连锁百强此比例约为0.5%,而国际零售巨头则普遍在2%以上。
  2006年,中国流通领域频繁发生大规模、大范围的“兼并重组”共计40多起,包括全球最大的家电企业百思买兼并五星,国美兼并永乐,王府井全额收购长安商场,物美兼并美廉美和新华百货等。
  零售业兼并重组的动机是想通过整合资源实现优势互补、实现规模效益,达到做大做强的目的。而并购之后的整合,信息系统必然先行,尤其要解决异构的信息系统的整合。但是,单凭升级原有的管理系统、或依靠EAI集成难以达到预期目的。
  事实上,维护多个陈旧系统的成本往往比建设ERP新系统成本更高。首先,各异构系统在不断升级,相应的接口也要不断改变。其次,不同的系统输出的数据不一致,同一个数据在不同的系统会出现不同的结果。第三,旧系统的维护成本持续增高,在硬件、机房等设备上的成本也非常高。
  因而,预计这些完成并购的企业将选择基于新的技术体系架构的ERP系统来做升级和整合。例如物美集团,2006年完成多项并购之后,选择了国际领先的ERP软件来整合集团内的异构的核心IT系统,从而成为国内首家考虑实施国外大型套装ERP系统的以连锁超市为主要业态的零售企业。预计,国美在顺利完成与永乐的公司层面的整合之后,明年也将升级原有的、武汉金力提供的ERP系统。
  综上,兼并重组产生的IT系统升级将使IT支出占销售总额的比例显著提高。
  3. 业内信息化标杆项目显现效果,零售企业对IT投资的回报更信服
  易观国际曾预测: 2006年零售业IT总投资规模将达84.31亿元,而POS-ERP约占1/8,达10.8亿元。截至目前的不完全统计,实际零售业IT投资已达到或超过这一预期。苏宁电器SAP/ERP项目投资即达八千万人民币,是SAP在全球零售业签下的规模最大的项目。图:易观国际预计连锁百强2006年销售额将达9907亿
  按照以上连锁百强销售额的预期,按照0.2%的比例估算,仅连锁百强2007年的IT投资就将达到 27.938亿,而零售业IT总投资预计超过一百亿元。
  物美集团的ERP项目将成为明年零售业信息化的又一亮点。受苏宁、物美等业内信息化标杆项目的影响,以连锁百强为代表的零售企业将加大以POS-ERP为核心的IT投资。
  对于家电连锁、连锁超市、连锁品牌专卖店:
  对IT咨询实施方要深入了解和慎重评估,尤其应考察同业态的实施案例。实施过程应遵循“分阶段、从试点向全国推进”的稳健策略。已完成兼并重组的企业,应当比较两种IT整合路径的投资回报率:整合异构系统,或者实施全新的ERP系统。
  对于为零售企业提供POS-ERP的厂商:
  应着重关注四类业态:家电连锁、连锁超市、连锁品牌专卖店、百货业。受标杆企业的信息化项目的引领,这四个业态明年将有更多企业部署或升级POS-ERP。

posted @ 2007-09-07 07:16 CharlieShen| 编辑 收藏

在ERP普及化的今天,究竟ERP对企业管理提升了几何?业界的看法并不尽如人意。ERP说到底只是一个工具,可以用来帮助企业管理业务、提高工作效率,至于是否一定给企业管理带来质的改善,则取决于如何应用工具,而要真正实现管理提升,则将ERP与JIT进行有效结合则是成功的关键路径之一。
  JIT与MRP各自特点
  JIT的基本管理思想可用一句话来阐明,即在需要的时间按需求的数量向需要的地点生产、运输所需要的产品。这种生产方式的核心是追求一种零库存、零浪费、零故障、零停滞的较为完美的生产系统,并为此开发了包括看板在内的一系统具体方法、工具,形成了一套独具特色的拉式生产运作系统。
  ERP则以物料清单、预置的各类期量标准为基础,制定主生产计划、物料需求计划,并根据能力负荷调整计划 ,采取层层推进的方式控制生产过程。强调对企业资源的整体规划,基本上是推式的生产系统。
  JIT作为一种生产管理方式源于丰田汽车公司的管理实践,在数十年内在各行业都得到了较为广泛的应用,但从实际效果来看,JIT更适合在流水线装配企业的生产管理,在其它生产类型企业实施的效果则不够显著。
  而ERP的适应范围则更加宽泛,其计划制定的方法可极大地提高各类企业的生产计划编成效率和准确度。集成化的信息共享机制又可大大降低盲目采购带来的库存积压。
  MRP逻辑侧重于资源平衡和能力平衡,本身并不擅长制造过程的控制。但随着以MRP为核心的ERP的发展,引入了工序排程、车间管理、设备管理、质量检验等功能,已开始涉足对制造过程的管理。但由于在理论上没有找到一个普适性的解法,面对制造业复杂的车间调度、工序排程目前仍然是ERP的薄弱环节。特别在当今大规模定制模式、个性化生产模式日益兴旺的时代,ERP可以说是捉襟见肘,不能很好地应对车间管理的挑战。另一方面,ERP的生产控制是以计划为基础的,因而对生产管理控制是以计划人员为主的,排斥了一线工人的参与。而其计划又要求细分到每一环节,必须有一线工人的配合才能达成,而这又是相互矛盾的,很难达到上下同欲,无往而不利的境界,这也是ERP实施的难点之一。
  JIT的逻辑起点则是需求拉动,由后到前、由下至上触发,强调一线员工的参与性和主动性,以便即时解决各种问题和排除故障等,并且,JIT采用拉式生产并不需要复杂的工序排程,所有加工活动只受看板控制,从而简了生产调度。
  在ERP主导的制造环境下,其库存和在制品量远较JIT模式大,其原因是多方面的。但与ERP本身的逻辑有很大的关系。比如BOM在国内许多企业中要做得很精确实际上是不可能的,各种期量标准也是一个估计的放大数。ERP的逻辑依赖的需求预测并没有一个成熟的精确的预测模型造成需求误差大,生产调度低效等等都导致计划平衡仍然困难,计划的制定仍需要大量的人工干预。以上种种原困,造成ERP实施实际上并不一定能解决企业管理中的一些问题,很可能是将企业的手工模式在ERP里重演,管理提升仍然是水中月镜中花而已。
  而在JIT环境下,其生产体系从设备布置、工艺流程设计、生产组织、管理方法、工艺纪律等均要按JIT的理念进行全新设计,任何环节的不顺畅都有可能带来整个系统的中断,正常的生产过程无法维持。而为了维持正常的生产秩序,就必须进行变革,使生产过程尽可能简化,必须清理、整顿现场,消除一切多余的物料、多余的动作,使产品加工简洁流畅。同时还必须加强与供应商、客户之间的协同,参与到供应商、客户的管理中,使供应链上的协同更加高效。在发达国家中,JIT的应用带来了巨大的成功,尤其能缩短交期、降低成本、快速排除各种生产故障。但JIT也存在下列问题:
  难以适应大的需求变化
  根据发达国家的经验,需求变化不宜超过正负百分之十,过大的需求变化将导致生产的严重不平衡,不能达到连续均衡生产的要求。
  建立JIT生产环境成本较大,如生产场地的全新设计、工艺流程的再组织等。
  生产过程的故障对生产系统影响较大,因此对设备的管理水要求较高。
    JIT与ERP的整合之道
  综上所述,可以看出ERP长于计划管理,而JIT则更长于制造控制。各自都有较为明显的不足和局限,因而在ERP与JIT结合才显得更加有意义。在此结合本人的应用经验,讨论一下如何在JIT环境下实施ERP,以最大限度地发挥各自所长。
  JIT导入——ERP实施前的流程改善活动
  国内ERP实施成功率不高,其根本的原因是没有进行流程改善活动。而西方式的BPR即流程再造在大多数情况下,与东方人的思维习惯冲突很大,其成功率更低。而JIT的持续改进的理念更符合我国渐进改革的主流思维。因此导入JIT,是实施ERP成功的一个关键的前奏。而基于JIT活动的成果,通过ERP的系统控制能力强的优点,可以将JIT的流程、方法、组织以信息化的手段加以固化、加强。
ERP如何支持JIT
  基于上述分析,可以看出ERP是采用计划推式技术,需要事先预置提前期、批量等参数,需有一定的在制品库存来因应各种突发的变故。而JIT使用的是需求拉式技术,因此ERP必须适应从批量轮番生产转变到“一个流”流水生产;从少品种重复制造到多品种混线均衡制造;从多工作中心机群加工到连续流水线加工;从定岗定员到一专多能。ERP计划是其所长,因此,在总体方案设计时,应当利用ERP的计划功能快速生成企业的主产生计划和物料需求计划。但在具体的编制方式上,根据各个企业的不同情况又有所不同。通常对于流水装配类型企业,只需要用ERP软件生成FAS即最终装配计划 即可。最终装配计划的编制则应当立足于客户需求,按JIT均衡化生产的原则,制定出多品种混合生产模型计划。混合模型计划必须满足每日或每周多品种短间隔交错生产的需求,要求ERP必须具备按多品种混合生产计划模型快速编制FAS的能力,能按流水线的日产率自动快速的生成计划。
  ERP的基础设置必须适应JIT的要求,因此必须对ERP进行相关设置以适应这种生产模式的变化。比如按看板数量来设置生产批量,配置倒冲补货来满足JIT看板补货的要求,倒冲可以指定库位、装配线、制造单元,也可以倒冲替换物料,具备调配传输容器规格(日系企业称盛具)的能力来支持物料的移动,用虚项逻辑来简化BOM中间层级,为直接生成采购计划提供便利。同时,按JIT的要求尽量降低损耗率、准备时间、运输时间以达到及时供应的要求。总之,在ERP的计划参数要与JIT的要求尽可能地进行协调,但这是一个持续渐进的过程,事实上,在初期,适当地增大提前期 、批量是可取的,能有效地保持生产的连续性。
  在JIT环境下,应当让供应商在主机厂设立代管库,实施供应商管理库存模式(VMI),才能保证JIT补货按生产节拍进行,所以ERP系统应当具有供应商管理库存的功能,包括代管消耗规则设置、代管物料采购入库和领用、结算等功能。实际上,要对所有物料都采取VMI模式是不可能的,但对于影响重大的A、B类物料必须按JIT的要求采用VMI管理模式,而相对于不太重要的B、C类物料则可采用MRP补货甚至ROP即再订购点方式管理。即便是JIT补货方式,ERP快速生成物料需求计划的能力也是对JIT有力的支持。
  由于JIT对需求预测准确度的要求很高,因而ERP的供应链管理功能可以得到充分发挥。可以利用ERP具有的与外部客户系统的协同功能,利用EDI或WEB技术实时获取客户的库存变化、出货情况,可以及时地制定补货计划和提高长期的需求预测准确度,将有效地提高JIT生产系统的稳定性。
  而在生产调度与控制过程中,则应最大限度地发挥JIT执行能力强的优势,用看板来控制物料转移和工序排程,同时也可利用ERP快速生成各种电子看板,利用其与自动化生产设备系统的数据接口传递电子看板和收集在线检测信息。将ERP前端的扫描设置、RFID有效地整合起来,控制好加工、检验、报废、完工,使生产过程的在制品数量、转移量、报废量、完工量得到准确地控制。
posted @ 2007-09-07 07:15 CharlieShen| 编辑 收藏

系统选型的前提

  你要选择一套合身的衣服,首先要对自己的身高、腰围、肤色等内容了解清楚。ERP选择也是如此。由于不同行业的ERP系统其开发的侧重点不同,所适用的行业也各不相同。所以,在做规划时,就要把调研做好,为下一步选型做好准备。

  为系统选型树立标准

  实际上,就所有ERP系统而言,一些表面的需求是容易得到满足的。而更深一步的具有行业和企业独特性的需求才是用户在选择系统时需要予以最多考虑的。如果用户对自身的需要不作深入地分析,往往会在系统实施一段时间以后,才发现具体业务及管理需求并没有得到满足,但此时系统已经安装完成,并已耗费了大量的人力、物力资源,悔之已晚。

  如制造业中食品行业有个非常重要的特性:保质期。象机械制造业就没有。粗的一看,机械制造业的ERP也能在食品行业跑出个模样来。但是,对其进行物料保质期的跟踪,一般的制造业ERP就无能为力了。

  为以后系统实施评估设立参考指标

  因为ERP系统实施后,给企业带来的影响是多方面的。你先对企业的需求调查清楚了,以后实施的时候就有了针对性;评估的时候,也就有了具体的指标。

  既然需求调研这么重要,那如何作好它呢。笔者认为,可以从以下几个方面入手。

  1、分析财务指标,找到问题的切入点

  从财务指标的横向对比最能明显的看出一家企业同其竞争对手存在哪些方面的劣势,纵向对比可以分析企业近几年来的变化。

  如:存货周转率,若企业的存货周转率为40%,而该行业的平均存货周转率为50%。就说明该企业的经营效率不是很好,跟竞争对手相差较大。应该想方设法把其提高上去。因为影响存货增周转率的因素有销售成本、平均存货、销售毛利率、采购提前期、安全库存、物料需求日期等等。企业要分析并找出关键因素,在选型时,就可以对症下药,看能否通过ERP系统,使之得到改善。

  又如:存货周转率,若企业本年的存货周转率为40%,而企业的前几年的平均存货周转率为50%。这时,企业就要进行前后对比,看看随着企业规模的扩大,为什么经营效率会变低,是受哪些因素的影响。

  2、分析业务流程,找到解决问题的关键点

  参照行业的标准流程,对企业的现有流程进行初步评估,看看,哪些方面存在着不足。可以查查,物料的超收有没有管控,领料等有没有依据可循,应收应付有没有漏洞等等。找到漏洞后,在选型的时候,就关注其产品看能否给我起到“查漏补缺”的作用。

  3、总结错误,找到解决问题的突破点

  ERP有一个非常重要的理念,就是“复制成功“。通俗的讲,就是避免犯别人以前犯过的错误,学习人家成功的地方。要做到这一点,总结错误就是非常重要的。我们要把以前业务作业中发生过的错误一一列出来,分析一下哪些是可以避免的,哪些是因为条件有限不能避免的,哪些是可以忍受的。然后,在系统选型时,针对错误找解决方案,看看系统能提供哪些措施来防止类似错误的发生。

  举个例子,制造业BOM(物料清单),特别是新建BOM经常会出现问题,不是用料不对了,就是用量出错了,最后都会影响交货期。这时,就要考虑ERP提供了哪些机制,来减少错误的发生.几率?

  对此,不同的厂商是“八仙过海,各显神通”。有的提供BOM模版,同一个类别的产品做一个BOM模板,新建时只要稍作修改;有的通过BOM复制功能,新建类似产品时,只要复制已经存在的BOM,在此基础上进行修改,减少工作量,又降低错误的发生概率,一举两得;有的提供BOM版本控制,对产品BOM信息的更改有据可循。

  4、合理预测未来,未雨绸缪

  企业在做ERP规划时,要考虑企业未来的信息化建设的规划,看是否会上其他的信息化系统,如OA(办公自动化),CRM(客户关系管理),电子商务等等。

  若企业在未来几年可能会上这些项目,那就要跟ERP厂商确认他们对这些功能的支持程度,有否提供相应的接口,甚至,可以选择那些本身集成这些功能的ERP产品。

  “好的开始是成功的一半”,“没有调查,就没有发言权”,做好需求调研,是ERP项目成功的基础,不然,到时再回来功课,是事倍功半,得不偿失。
posted @ 2007-09-07 07:14 CharlieShen| 编辑 收藏

在论证ERP的价值时,ERP给企业带来的最大希望就是,从公司接到订单直到订单的完成这个过程中,ERP可以起到很好的促进作用。这也就是我们为什么称ERP为后台系统的原因。ERP一般不会涉及到前台的销售,现在很多ERP厂商已经开发了专门的CRM软件处理这一块业务。在接到一张订单后,ERP会根据系统的流程在订单履行的不同阶段实现一些自动化的处理。当一个客户服务代表往ERP系统里输入一张订单信息后,他马上就可以获得完成这张订单所需要的必要信息。例如,客户的信用等级,来自财务模块的历史订单信息,来自库存模块的库存情况,来自物流模块的运货安排等等。

  不同的部门看到的信息是相同的,并且可以进行更新。当一个部门完成了与其相关的订单处理流程后,ERP系统会将订单自动转向另一个部门。而且你还可以通过ERP系统来跟踪目前订单是处在哪个节点上。开心的是,订单的处理就像闪电一样在部门间穿梭,同以往相比客户能以更低的出错率获得更快的订单处理。ERP可以使其它的主要业务流程产生同样的神奇效果,例如人力资源管理和财务报表等。

  然而,这只是ERP的一个理想,现实要困难的多。

  让我们具体看看。流程处理虽然没有提高什么效率,但是工作却简化了很多。财务做财务的,库存做库存的,即使出现了问题也是其它部门的问题。使用ERP后,客户服务代表并不是说往电脑里输入一个客户姓名后再敲个回车就完事了,ERP的屏幕使他们忙碌了起来,来自财务部门的客户的信用等级和来自仓库的库存信息在屏幕上不停的闪烁。客户能够按时付款吗?我们能够准时发货吗?这些问题是客户服务代表在以前不必去考虑的,同时这些答案影响着客户以及公司的其它部门。这不仅让客户服务代表必须清醒起来。库存管理人员以前只需要把库存信息记在脑子里或本子上就行了,现在不得不在线输入系统。如果他们不这样做,客户服务代表将在屏幕上看到低库存警告,同时会告诉客户他们的需求现在没有库存了。需要说明的是,责任心和沟通从来没有向现在这么重要。

  人是不喜欢改变的,但是ERP却非要让他们改变所做的工作。这就是为什么ERP的能力一直得不到充分发挥的原因。软件本身的重要性要远远低于改变业务流程的重要性。如果你能够使用ERP系统去促进你业务流程的话,比如订单处理,产品的生产、运输和结账,那么你就会看到这个软件的价值了。但是,如果你只是简简单单的装了个软件,而没有改变任何人的工作方式,那么你不会看到软件带来的任何价值。实际上,由于新装了人们都不熟悉的系统,而替换掉了人们已经熟练了的软件,最后导致的是更低工作效率。
posted @ 2007-09-07 07:13 CharlieShen| 编辑 收藏

打听

汤米去镇上的教堂忏悔。

汤米:神父,请宽恕我所犯的错,最近一段时间我一直和一个水性杨花的女人混在一起,我感觉很空虚,我本应该用这些时间去寻找真挚的爱情,我觉得我在背叛,我觉得我好后悔,我想我有些失控了。

神父:孩子,远离她。

汤米:可是,我无法自拔!

神父:哦?那个女人是谁?

汤米:不,我不能说,这样会使她抬不起头。

神父:孩子,没有不透风的墙,若要人不知,除非己莫为,如果你不停止,别人早晚也会知道。其实,你不说我也知道,那个女人是多丽丝吗?

汤米:不,我不能告诉你。

神父:是凯茜吗?

汤米:不,我不会说出来的。

神父:是不是珊蒂?或者是珍妮?

汤米:不,神父,我说过我不能说的。

神父:那肯定是唐娜,对不对?

汤米:神父,请你不要逼我。

神父:真是个倔孩子,不过你倒是很为别人着想。记住,既然要选择爱情,就得远离那个水性杨花的女人,好好想想去吧,孩子。

汤米告辞神父走出忏悔室。

看见汤米从教堂出来后,候在教堂外边的布巴连忙走过去问道:“弟弟,怎么样?”

“还可以,一共打听到五个人。”汤米答道。

posted @ 2007-09-07 07:10 CharlieShen| 编辑 收藏

天国报到

有一个工程师死后到天国报到,天国守门人看了看他的档案,说:“你走错地方了,所有的工程师都应该到地狱报到。”虽然觉得不太对劲,他还是乖乖地都地狱去报到了。在地狱住了几天之后,他觉得地狱的温度太热,住起来相当不舒服,于是动手设计了一套空调系统,使得地狱不再水深火热了。过了一阵子,他又觉得地狱的运输系统不方便,所有又设计了一套捷运系统,然后他又觉得地狱生活太无聊,于是又设计了电视和Internet。于是地狱的生活水准经过他的改进之后,己变得相当舒服了。

为了要向上帝夸耀地狱的进步,撒旦用最先进的影像电话打电话到天国,上帝接起电话,看到撒旦之后说:“你的气色看起来好极了,到底怎么回事?”

撒旦说:“我们这里最近收了一个工程师,他把我们这里改进得比天国还舒服呢!”

上帝说:“不对呀,工程师都应该上天堂的,你们一定在手续上动了手脚,我劝你最好赶快把他送过来,不然我要找律师告你!”

撒旦听了,忽然大笑不已,上帝很纳闷,问撒旦:“你在笑什么?”

撒旦好不容易才停止大笑,说:“你以为律师都在哪里?”

posted @ 2007-09-07 07:10 CharlieShen| 编辑 收藏

对待剩菜

一个懒惰的厨子,连续几天都把剩菜热一热就端到桌子上。

牧师并不作声,坐下就吃。厨子很奇怪,问他为什么不先祈祷就吃饭。

牧师淡然回答:“桌上的每样菜,我都至少谢过两次了。”


posted @ 2007-09-07 07:10 CharlieShen| 编辑 收藏

修女骑车

某个高居山上的修道院里住着一群清心寡欲修女,通常她们每日都得骑脚踏车下山采购生活用品。

突然某一天,老修女受不了她们喧哗声,聚集大家训话说:“要是你们谁谁谁骑脚踏车下山还大呼小叫的,我就把脚踏车的椅垫给装回去!!!”


posted @ 2007-09-07 07:09 CharlieShen| 编辑 收藏

歪猜正着

依以下提示,请猜一成语:

1、蓝色的刀和蓝色的枪;

2、身穿着金色衣服的人;

3、数字“3”在路上走呀走,翻了一个跟斗,又接着翻了一个;

4、一条狗过了独木桥之后就不叫了;

5、手机不可以掉到马桶里弄湿;

6、第十一本书;

7、一只蜜蜂停在日历上;

8、牛狗猪羊比赛赛跑,跑到终点后牛狗猪都喘得不得了,只有羊不喘气;

9、小玉的妈妈骂小玉的爸爸性无能;

10、用猪肝和熊胆作成的神奇肥皂;

  

答案:

1、刀枪不入(bulu)

2、一鸣惊人(一名金人)

3、三番两次

4、过目不忘(過木不。。。)

5、机不可失(机不可湿)

6、不可思议(book 11)

7、风和日丽(蜂和日历)

8、扬眉吐气(羊没吐气)

9、欲罢不能(玉爸不能)

10、肝胆相照(肝胆香皂)


posted @ 2007-09-07 07:09 CharlieShen| 编辑 收藏

淡季采购

“为什么这个公司招聘接待员的条件要具有硕士学位, 而市医院招聘护士也要研究生水平,博士优先?”

“现在天气热起来了, 为什么你看到打两折的皮衣还买了两件?这叫淡季大采购!”

posted @ 2007-09-07 07:09 CharlieShen| 编辑 收藏

不当之财

青年:“因他人的错误而得到的利益,是不是不当之财?”

牧师:“当然是不当之财。”

青年:“那我结婚时所付的一笔费用,请你还给我。”


posted @ 2007-09-07 07:08 CharlieShen| 编辑 收藏

圣彼得的新安排

圣彼得获悉最新消息:某东方大国正以惊人的速度在制造律师,而且要求律师大讲道德,少谈法律,预计天堂里的律师人数将会出现失控的局面。圣彼得宣布,律师撤出大厦,搬入三人一套的公寓,三人使用一个公用卫生间。另据报告,该国之会计师目前以不做假帐为最高境界,达者几稀,预计入天堂之会计师短期内不会增加。为鼓励会计师入住天堂,故奖励已到天堂的会计师每人一套别墅。至于医师,近来地狱人满为患,受酷刑者多是那些乱开药、乱开检查费用、收取高额回扣、乱采血、给人输入艾滋病毒、把感冒当绝症医治的医师,来天堂的医师是越来越少了。为防止未来天堂被律师占满,特将律师空出的大厦分配给医师,以鼓励医师多进天堂、少逛地狱。
posted @ 2007-09-07 07:08 CharlieShen| 编辑 收藏

盟邦的对话

由于美军驻扎在荷兰领土上,这个国家的出生率猛然提高。惊慌不安的居民找民政当局和教会,找美军指挥部。但这样做也毫无结果。最后,荷兰主教要求同美军总司令会面。“我们请求您在自己的士兵中整顿纪律。”主教声称,“这种状况变得叫人难以忍受。”

“当然,主教大人,”将军回答说,“可是您还记得《圣经》上是怎么说的?‘去繁殖吧’。”

“话虽如此,可是《圣经》上并没有说:‘繁殖后就走吧’。”

posted @ 2007-09-07 07:08 CharlieShen| 编辑 收藏

牧师的驴

从前有个牧师,想为自己的教堂筹款,听别人说赛马特别能嫌大钱。于是乎他就决定买匹马来试试赛如何。可是,当地拍卖场的马价实在是太高了,他口袋里的银子可不多,结果最后只买下了头驴。他心头核计了一下,心想这驴既然都已经买了,那好歹还是拿这头驴当马赛试试运气吧。谁想大大地出乎他的预料,这头驴居然跑了个第三名。第二天,赛马场的消息板大书:PREACHER'S ASS SHOWS!这牧师为这头驴非常高兴,于是他再一次拿它去参赛,这次可不得了,这头驴一下夺了个冠军。第二天,镇上的各大报竞相报道:PREACHER‘S ASS OUT IN FRONT!

这事儿让本教区的红衣主教听说了,主教非常担心牧师这样的抛头露面会给教堂乃至整个教区带来无数的负面影响。所以,主教下令让这个牧师别再拿这头驴赛马。哪这回报纸上却又说:

BISHOP SCRATCHESTHE PREACHER’S ASS!主教一看,更是吓坏了。这还得了!于是主教下令,干脆让这个牧师把这头驴拿去处理算了,省得日后添乱。牧师出于无奈,只好把这头驴送给了附近修道院的修女们。

没想到,第二天镇上各报在头版头条,争相报道:NUN HAS BEST ASS IN TOWN!主教听说,吓得心脏病发着,昏了过去。救活过来后,主教告诉修道院的修女,无论如何得把这头惹事儿的驴给扔了。修女没有办法,碰巧有个农夫正想买头驴,就花了十块钱将它从修女那里买走了。这还没完,报子这回就声称:NUN PEDDLES ASS FOR 10 BUCKS!结果次日,教区为红衣主教的仙逝发了一个沉痛讣告。


posted @ 2007-09-07 07:08 CharlieShen| 编辑 收藏

我有罪

有一个人去教堂忏悔。

他对神父说:“神父,我有罪。”

神父说:“孩子,每个人都有罪。你犯了什么错?”

那人回答:“神父,我偷了别人一条牛,我该怎么办?我把牛给你好不好?”

神父回答:“我不要。你应该把那头牛送还给失主才对。”

那人说:“但是他说他不要。”

神父说:“那你就自己收下吧。”

结果,当天晚上神父回到家后,发觉他的牛不见了。

posted @ 2007-09-07 07:08 CharlieShen| 编辑 收藏

在美国的黑人

黑人问上帝:“上帝,你为什么给我黑皮肤?”

上帝回答说:“为了帮你黑夜在非洲莽丛打猎,不容易让猛兽见到,还保护你抵御非常灼热的阳光。”

“那为什么我的头发是卷曲的?”

“我的孩子,头发卷曲,是为了让你在灌木中间跑起来不致给树木缠住。”

“我明白了,”黑人说,“可是为什么让我生在美国呢?

上帝:“。。。。。”

posted @ 2007-09-07 07:07 CharlieShen| 编辑 收藏

狮子和基督徒

一个很虔诚的基督徒到非洲丛林探险, 不幸脱队迷失在丛林中, 接著更悲惨的事发生了。一只狮子发现他, 便开始追杀他, 他没命的跑啊跑啊! 终于让他逃到一棵树上, 可是那狮子也不愿放弃的在树下等。天黑了,他又饿又渴, 于是他开始向上帝祷告: 上帝啊! 请您将这只噬血的狮子变成基督徒吧!话刚说完, 树下的狮子说话了: 亲爱的上帝, 谢谢您赐给我这顿丰盛的晚餐吧!


posted @ 2007-09-07 07:07 CharlieShen| 编辑 收藏

要什么

收藏家、商人和小偷三个人去见仁慈的上帝,上帝决定满足他们的要求:“你们要什么?”

收藏家说:“我想要世界名画!毕加索,梵高。。。”

上帝说:“好吧,你会得到的!你呢?”

商人说:“钱!美元,马克,法郎,英镑。。。”

上帝说:“好吧,你会得到的。你呢,孩子?”

小偷说:“我什么也不要,请把他们两人的地址给我就行了!”

posted @ 2007-09-07 07:07 CharlieShen| 编辑 收藏

二十分之一

牧师为教堂募捐:上主这样照顾你们(他提醒会友),所以你们都应该感恩图报,今天在这里的人,每个人都应该捐你们全部收的十分之一!

一个会友听了以后非常感动,说:十分之一太少了!(他高声说,全声屏息以待)每个人都应该捐二十分之一才行!!

会场响起热烈的掌声。

posted @ 2007-09-07 07:07 CharlieShen| 编辑 收藏

教堂的灯

热恋中的男女最近发现了一个谈情说爱的好地方,即不用花钱,也不用担心警察的干扰,而且可以日以继夜的继续下去,直到过瘾为止,这地方就是教堂。因为如此,使得牧师十分困扰,有一位牧师于是在教堂的入口处写了一块告示牌,上面写着:本教堂十点以后熄灯。第二天,谈情说爱的人不见减少,牧师不解,一看外面告牌多了一小行的字,上面写着:请放心,我们不须要灯光。
posted @ 2007-09-07 07:06 CharlieShen| 编辑 收藏

在美国的黑人

黑人问上帝:“上帝,你为什么给我黑皮肤?”

上帝回答说:“为了帮你黑夜在非洲莽丛打猎,不容易让猛兽见到,还保护你抵御非常灼热的阳光。”

“那为什么我的头发是卷曲的?”

“我的孩子,头发卷曲,是为了让你在灌木中间跑起来不致给树木缠住。”

“我明白了,”黑人说,“可是为什么让我生在美国呢?

上帝:“。。。。。”

posted @ 2007-09-07 07:06 CharlieShen| 编辑 收藏

我有罪

有一个人去教堂忏悔。

他对神父说:“神父,我有罪。”

神父说:“孩子,每个人都有罪。你犯了什么错?”

那人回答:“神父,我偷了别人一条牛,我该怎么办?我把牛给你好不好?”

神父回答:“我不要。你应该把那头牛送还给失主才对。”

那人说:“但是他说他不要。”

神父说:“那你就自己收下吧。”

结果,当天晚上神父回到家后,发觉他的牛不见了。

posted @ 2007-09-07 07:06 CharlieShen| 编辑 收藏

无聊的耶稣

耶稣被钉在十字架上的时候,突然大喊:“彼得,彼得,快来!”

彼得听见了,立刻不顾一切地往山顶上冲。由于观看的人很多,彼得必须推开拥挤的人群和武装的罗马士兵。好不容易,他终于到了耶稣脚下。

“我的主呀,什么事?”

“彼得,从我这儿可以看见你家!!”


posted @ 2007-09-07 07:05 CharlieShen| 编辑 收藏

狮子和基督徒

一个很虔诚的基督徒到非洲丛林探险, 不幸脱队迷失在丛林中, 接著更悲惨的事发生了。一只狮子发现他, 便开始追杀他, 他没命的跑啊跑啊! 终于让他逃到一棵树上, 可是那狮子也不愿放弃的在树下等。天黑了,他又饿又渴, 于是他开始向上帝祷告: 上帝啊! 请您将这只噬血的狮子变成基督徒吧!话刚说完, 树下的狮子说话了: 亲爱的上帝, 谢谢您赐给我这顿丰盛的晚餐吧!
posted @ 2007-09-07 07:05 CharlieShen| 编辑 收藏

上帝的标准

信徒:「上帝啊!一千万世纪对您来说是多长呢!?」

上帝:「一秒钟!」

信徒:「那一千万元呢」

上帝:「那只不过是一毛钱」

信徒:「那就请您给我一毛钱吧!!」

上帝:「再这等我一秒钟!」

posted @ 2007-09-07 07:05 CharlieShen| 编辑 收藏

幽默文化相声小品搞笑电影电子书下载E书网载成功学课堂
手相

农夫上街,看见一个人正在给人说多相:

男人手如绵,

身边有闲钱;

妇人手如姜,

财帛满仓箱。

农夫高兴地说:“我老婆的手像姜啊!”

看相的问道:“是吗?”

“昨天被她打了个嘴巴,到现在还火辣辣的。”

posted @ 2007-09-07 07:04 CharlieShen| 编辑 收藏

不当之财

青年:“因他人的错误而得到的利益,是不是不当之财?”

牧师:“当然是不当之财。”

posted @ 2007-09-07 07:04 CharlieShen| 编辑 收藏

打听

汤米去镇上的教堂忏悔。

汤米:神父,请宽恕我所犯的错,最近一段时间我一直和一个水性杨花的女人混在一起,我感觉很空虚,我本应该用这些时间去寻找真挚的爱情,我觉得我在背叛,我觉得我好后悔,我想我有些失控了。

神父:孩子,远离她。

汤米:可是,我无法自拔!

神父:哦?那个女人是谁?

汤米:不,我不能说,这样会使她抬不起头。

神父:孩子,没有不透风的墙,若要人不知,除非己莫为,如果你不停止,别人早晚也会知道。其实,你不说我也知道,那个女人是多丽丝吗?

汤米:不,我不能告诉你。

神父:是凯茜吗?

汤米:不,我不会说出来的。

神父:是不是珊蒂?或者是珍妮?

汤米:不,神父,我说过我不能说的。

神父:那肯定是唐娜,对不对?

汤米:神父,请你不要逼我。

神父:真是个倔孩子,不过你倒是很为别人着想。记住,既然要选择爱情,就得远离那个水性杨花的女人,好好想想去吧,孩子。

汤米告辞神父走出忏悔室。

看见汤米从教堂出来后,候在教堂外边的布巴连忙走过去问道:“弟弟,怎么样?”

“还可以,一共打听到五个人。”汤米答道。


posted @ 2007-09-07 07:04 CharlieShen| 编辑 收藏

惧怕

第一次乘坐飞机的牧师紧张得不得了,空姐发现了,走过去安慰道:“您的脸色很差,如果喝一点儿酒可能会好些。”牧师把头凑向机窗,望了望天空,答道:“谢谢你的好意,不过这离教会本部太近啦!”
posted @ 2007-09-07 07:03 CharlieShen| 编辑 收藏

教堂的灯

热恋中的男女最近发现了一个谈情说爱的好地方,即不用花钱,也不用担心警察的干扰,而且可以日以继夜的继续下去,直到过瘾为止,这地方就是教堂。因为如此,使得牧师十分困扰,有一位牧师于是在教堂的入口处写了一块告示牌,上面写着:本教堂十点以后熄灯。第二天,谈情说爱的人不见减少,牧师不解,一看外面告牌多了一小行的字,上面写着:请放心,我们不须要灯光。
posted @ 2007-09-07 07:02 CharlieShen| 编辑 收藏

手相

农夫上街,看见一个人正在给人说多相:

男人手如绵,

身边有闲钱;

妇人手如姜,

财帛满仓箱。

农夫高兴地说:“我老婆的手像姜啊!”

看相的问道:“是吗?”

“昨天被她打了个嘴巴,到现在还火辣辣的。”

posted @ 2007-09-07 07:01 CharlieShen| 编辑 收藏

上帝的惩罚

犹太教的安息日规定每个信徒都不可以作事的,连按电梯钮都不行的。可是一位长老很爱打高尔夫球,一个安息日实在是手痒难耐,决定偷偷地打九个洞就好。

到了球场,一个人都没有,他非常高兴没人会知道他偷偷来打。天使看到他不守教义,就去和上帝告状,上帝说他一定要好好惩罚这位长老。

四个洞过去了,长老打出空前的好成绩,几乎洞洞一杆进,长老好高兴。天使又去找上帝,上帝说知道了。直到九个洞打完,还是几乎洞洞一杆进,于是长老决定再打九洞。天使又去找上帝,问:“惩罚在哪裹呢?”上帝笑笑。

打完十八个洞,情况还是一样,长老简直乐死了,喜滋滋地收拾球具要回家了。天使很生气地问上帝:“这就是你所说的惩罚吗?”上帝笑笑说:“你想想,他能去和谁说去?”


posted @ 2007-09-07 07:01 CharlieShen| 编辑 收藏

中国队

1、中国队象自动取款机,只要你愿意,随时可以支取三分的积分,同时附送净胜球数量不限。  

2、中国队象卡耐基培训中心,因为他们的每次比赛过后,队员都会说,自己又收获了经验,增强了信心。

3、中国队象海关口岸,因为他们都是专门让外国人进的。

4、中国队象女人周期,定期就让你难受一下。

posted @ 2007-09-07 07:01 CharlieShen| 编辑 收藏

爱情绝配

物以类聚,人以群分,爱情绝配,择优组合。

古代版本:金童配玉女,天之绝配,梦幻组合;王子配公主,童话故事,浪漫组合;天仙配董永,感天动地,天地组合;闺秀配书生,门当户对,父母组合;碧玉配樵夫,男耕女织,粗细组合;潘嫂偷官人,奸男淫妇,偷情组合;指腹为婚,别无选择,上帝组合。

现代版本:靓妹配帅哥,青春组合;歌星配球星,动感组合;美妹伴大款,时髦组合;玉女配恶棍,黑白组合;美女配野兽,激情组合;骚娘配烂货,破烂组合;狐狸配妖精,人妖组合;自由恋爱,择优组合;离婚结婚,再次组合。

未来版本:少女配寿星,克隆技术,模糊组合;妹妹配兄弟,六亲不认,试管组合;盖茨配贵妃,时光倒流,隧道组合;网上速配,虚拟世界,网络组合;星际联姻,和平发展,星球组合;一见钟情,争分夺秒,高效组合。

  

男人对女人说:“你是风儿我是沙,你是牙膏我是刷,你是藤儿我是瓜,你不爱我我自杀。”

女人对男人说:“我是鱼儿你是鲨,我是花儿你是渣,我是美女你是啥?你要追我我自杀。”

posted @ 2007-09-07 07:01 CharlieShen| 编辑 收藏

21世纪上帝造人(1)

21世纪,上帝想创造世界,于是对计算机说:“让世界一片光明吧!”但是计算机却显示:你还没有输入名字。于是。。。

上帝输入:上帝

计算机:输入用户密码

上帝输入:无所不知

计算机:密码不正确,重新输入!

上帝输入:无所不能

计算机:密码不正确,重新输入!

上帝输入:技术专家和政治领袖

计算机:上帝于3月1日星期日下午12:01登录

上帝输入:让世界一片光明吧!

计算机:无法辨认的命令,重新输入

上帝输入:创造光明

计算机:完成

计算机:运行天堂与地球

计算机:上帝创造了白昼与黑夜,0个错误

计算机:上帝于3月1日星期日下午12:02退出

计算机:资金约剩余$92.50

计算机:上帝于3月2日星期一下午12:00登录

上帝输入:让天空倒映在水的中央

计算机:无法辨认的命令,重新输入

上帝输入:创造天空

计算机:完成

计算机:运行天空

计算机:上帝创造了天空, 0个错误

计算机:上帝于3月2日星期一下午12:01退出

计算机:资金约剩余$84.60

计算机:上帝于3月3日星期二下午12:00登录

上帝输入:让天空之下的水流汇集在一起,使陆地出现,并

计算机:字符数太多!重新输入

上帝输入:创造陆地

计算机:运行陆地

计算机:上帝创造了陆地和海洋,0个错误

计算机:上帝于3月3日星期二下午12:01退出

计算机:资金约剩余$65.00

计算机:上帝于3月4日星期三下午12:00登录

上帝输入:创造光芒,将白昼与黑夜分开

计算机:未定义类型。重新输入!

上帝输入:创造太阳月亮星星

计算机:上帝创造了太阳、月亮和星星,0个错误

计算机:上帝于3月4日星期三下午12:01退出

计算机:资金约剩余$54.00

计算机:上帝于3月5日星期四下午12:00登录

上帝输入:创造鱼类

计算机:完成

上帝输入:创造飞禽

计算机:完成

计算机:运行鱼类和飞禽

计算机:上帝创造了水底生物和飞禽,0个错误

计算机:上帝于3月5日星期四下午12:01退出

计算机:资金约剩余$45.00

计算机:上帝于3月6日星期五下午12:00登录

上帝输入:创造家畜

计算机:完成

上帝输入:创造爬行动物

计算机:完成

posted @ 2007-09-07 07:01 CharlieShen| 编辑 收藏

盟邦的对话

由于美军驻扎在荷兰领土上,这个国家的出生率猛然提高。惊慌不安的居民找民政当局和教会,找美军指挥部。但这样做也毫无结果。最后,荷兰主教要求同美军总司令会面。“我们请求您在自己的士兵中整顿纪律。”主教声称,“这种状况变得叫人难以忍受。”

“当然,主教大人,”将军回答说,“可是您还记得《圣经》上是怎么说的?‘去繁殖吧’。”

“话虽如此,可是《圣经》上并没有说:‘繁殖后就走吧’。”

posted @ 2007-09-07 07:00 CharlieShen| 编辑 收藏

修女骑车

某个高居山上的修道院里住着一群清心寡欲修女,通常她们每日都得骑脚踏车下山采购生活用品。

突然某一天,老修女受不了她们喧哗声,聚集大家训话说:“要是你们谁谁谁骑脚踏车下山还大呼小叫的,我就把脚踏车的椅垫给装回去!!!”

posted @ 2007-09-07 07:00 CharlieShen| 编辑 收藏

上帝的惩罚

犹太教的安息日规定每个信徒都不可以作事的,连按电梯钮都不行的。可是一位长老很爱打高尔夫球,一个安息日实在是手痒难耐,决定偷偷地打九个洞就好。

到了球场,一个人都没有,他非常高兴没人会知道他偷偷来打。天使看到他不守教义,就去和上帝告状,上帝说他一定要好好惩罚这位长老。

四个洞过去了,长老打出空前的好成绩,几乎洞洞一杆进,长老好高兴。天使又去找上帝,上帝说知道了。直到九个洞打完,还是几乎洞洞一杆进,于是长老决定再打九洞。天使又去找上帝,问:“惩罚在哪裹呢?”上帝笑笑。

打完十八个洞,情况还是一样,长老简直乐死了,喜滋滋地收拾球具要回家了。天使很生气地问上帝:“这就是你所说的惩罚吗?”上帝笑笑说:“你想想,他能去和谁说去?”

posted @ 2007-09-07 07:00 CharlieShen| 编辑 收藏

要什么

收藏家、商人和小偷三个人去见仁慈的上帝,上帝决定满足他们的要求:“你们要什么?”

收藏家说:“我想要世界名画!毕加索,梵高。。。”

上帝说:“好吧,你会得到的!你呢?”

商人说:“钱!美元,马克,法郎,英镑。。。”

上帝说:“好吧,你会得到的。你呢,孩子?”

小偷说:“我什么也不要,请把他们两人的地址给我就行了!”

posted @ 2007-09-07 06:59 CharlieShen| 编辑 收藏

改变信仰

“妈妈,我不想和贝尼结婚了,那个人是个无神论 者,既不信上帝,也不 信天堂和地狱。”“别担心,好孩 子,只要一结婚,他就会马上知道世上有地 狱存在。” 母亲一边说,一边意味深长地笑了笑,又补充说:“结 了婚,也会 体会到天堂的滋味。”
posted @ 2007-09-07 06:59 CharlieShen| 编辑 收藏

对待剩菜

一个懒惰的厨子,连续几天都把剩菜热一热就端到桌子上。

牧师并不作声,坐下就吃。厨子很奇怪,问他为什么不先祈祷就吃饭。

牧师淡然回答:“桌上的每样菜,我都至少谢过两次了。”

posted @ 2007-09-07 06:59 CharlieShen| 编辑 收藏

淡季采购

“为什么这个公司招聘接待员的条件要具有硕士学位, 而市医院招聘护士也要研究生水平,博士优先?”

“现在天气热起来了, 为什么你看到打两折的皮衣还买了两件?这叫淡季大采购!”

posted @ 2007-09-07 06:58 CharlieShen| 编辑 收藏

圣彼得的新安排

圣彼得获悉最新消息:某东方大国正以惊人的速度在制造律师,而且要求律师大讲道德,少谈法律,预计天堂里的律师人数将会出现失控的局面。圣彼得宣布,律师撤出大厦,搬入三人一套的公寓,三人使用一个公用卫生间。另据报告,该国之会计师目前以不做假帐为最高境界,达者几稀,预计入天堂之会计师短期内不会增加。为鼓励会计师入住天堂,故奖励已到天堂的会计师每人一套别墅。至于医师,近来地狱人满为患,受酷刑者多是那些乱开药、乱开检查费用、收取高额回扣、乱采血、给人输入艾滋病毒、把感冒当绝症医治的医师,来天堂的医师是越来越少了。为防止未来天堂被律师占满,特将律师空出的大厦分配给医师,以鼓励医师多进天堂、少逛地狱。
posted @ 2007-09-07 06:58 CharlieShen| 编辑 收藏

天国报到

有一个工程师死后到天国报到,天国守门人看了看他的档案,说:“你走错地方了,所有的工程师都应该到地狱报到。”虽然觉得不太对劲,他还是乖乖地都地狱去报到了。在地狱住了几天之后,他觉得地狱的温度太热,住起来相当不舒服,于是动手设计了一套空调系统,使得地狱不再水深火热了。过了一阵子,他又觉得地狱的运输系统不方便,所有又设计了一套捷运系统,然后他又觉得地狱生活太无聊,于是又设计了电视和Internet。于是地狱的生活水准经过他的改进之后,己变得相当舒服了。

为了要向上帝夸耀地狱的进步,撒旦用最先进的影像电话打电话到天国,上帝接起电话,看到撒旦之后说:“你的气色看起来好极了,到底怎么回事?”

撒旦说:“我们这里最近收了一个工程师,他把我们这里改进得比天国还舒服呢!”

上帝说:“不对呀,工程师都应该上天堂的,你们一定在手续上动了手脚,我劝你最好赶快把他送过来,不然我要找律师告你!”

撒旦听了,忽然大笑不已,上帝很纳闷,问撒旦:“你在笑什么?”

撒旦好不容易才停止大笑,说:“你以为律师都在哪里?”

posted @ 2007-09-07 06:58 CharlieShen| 编辑 收藏

歪猜正着

依以下提示,请猜一成语:

1、蓝色的刀和蓝色的枪;

2、身穿着金色衣服的人;

3、数字“3”在路上走呀走,翻了一个跟斗,又接着翻了一个;

4、一条狗过了独木桥之后就不叫了;

5、手机不可以掉到马桶里弄湿;

6、第十一本书;

7、一只蜜蜂停在日历上;

8、牛狗猪羊比赛赛跑,跑到终点后牛狗猪都喘得不得了,只有羊不喘气;

9、小玉的妈妈骂小玉的爸爸性无能;

10、用猪肝和熊胆作成的神奇肥皂;

  

答案:

1、刀枪不入(bulu)

2、一鸣惊人(一名金人)

3、三番两次

4、过目不忘(過木不。。。)

5、机不可失(机不可湿)

6、不可思议(book 11)

7、风和日丽(蜂和日历)

8、扬眉吐气(羊没吐气)

9、欲罢不能(玉爸不能)

10、肝胆相照(肝胆香皂)


posted @ 2007-09-07 06:58 CharlieShen| 编辑 收藏

二十分之一

牧师为教堂募捐:上主这样照顾你们(他提醒会友),所以你们都应该感恩图报,今天在这里的人,每个人都应该捐你们全部收的十分之一!

一个会友听了以后非常感动,说:十分之一太少了!(他高声说,全声屏息以待)每个人都应该捐二十分之一才行!!

会场响起热烈的掌声。

posted @ 2007-09-07 06:58 CharlieShen| 编辑 收藏

牧师的驴

从前有个牧师,想为自己的教堂筹款,听别人说赛马特别能嫌大钱。于是乎他就决定买匹马来试试赛如何。可是,当地拍卖场的马价实在是太高了,他口袋里的银子可不多,结果最后只买下了头驴。他心头核计了一下,心想这驴既然都已经买了,那好歹还是拿这头驴当马赛试试运气吧。谁想大大地出乎他的预料,这头驴居然跑了个第三名。第二天,赛马场的消息板大书:PREACHER'S ASS SHOWS!这牧师为这头驴非常高兴,于是他再一次拿它去参赛,这次可不得了,这头驴一下夺了个冠军。第二天,镇上的各大报竞相报道:PREACHER‘S ASS OUT IN FRONT!

这事儿让本教区的红衣主教听说了,主教非常担心牧师这样的抛头露面会给教堂乃至整个教区带来无数的负面影响。所以,主教下令让这个牧师别再拿这头驴赛马。哪这回报纸上却又说:

BISHOP SCRATCHESTHE PREACHER’S ASS!主教一看,更是吓坏了。这还得了!于是主教下令,干脆让这个牧师把这头驴拿去处理算了,省得日后添乱。牧师出于无奈,只好把这头驴送给了附近修道院的修女们。

没想到,第二天镇上各报在头版头条,争相报道:NUN HAS BEST ASS IN TOWN!主教听说,吓得心脏病发着,昏了过去。救活过来后,主教告诉修道院的修女,无论如何得把这头惹事儿的驴给扔了。修女没有办法,碰巧有个农夫正想买头驴,就花了十块钱将它从修女那里买走了。这还没完,报子这回就声称:NUN PEDDLES ASS FOR 10 BUCKS!结果次日,教区为红衣主教的仙逝发了一个沉痛讣告。

posted @ 2007-09-07 06:57 CharlieShen| 编辑 收藏

两个和尚跳墙

一天,两个和尚跳墙去吃肉.师兄先跳过去了,紧接着师弟也跳过去了,只听"匡昌当师弟就说:师兄,你在哪?

师兄很惨的说:师弟我在你的脚底下!

posted @ 2007-09-07 06:57 CharlieShen| 编辑 收藏

慈善舞会

校园帅哥之一的小杰,学校女孩都爱慕他。这天,学校举办慈善舞会,他在现场邀请了一位相貌“爱国”、身材“冬瓜”的女子小琪共舞。

小琪受宠若惊的问:“像,像你这样的帅哥为什么会请我跳舞呢?”

小杰似乎没有注意听,却见口中喃喃自语:“没关系,慈善舞会,这是慈善舞会!”


posted @ 2007-09-07 06:56 CharlieShen| 编辑 收藏

概率公式有问题

学生:“老师,我认为概率公式有问题!”

老师:“哦,说说你的理由?”

学生:“我们班有33名同学,根据计算,我被提问的概率是1/33,可今天这一节课,您几乎让我回答了所有的问题!”

posted @ 2007-09-07 06:55 CharlieShen| 编辑 收藏

考试魔鬼定律

本人考试时总喜欢左顾右盼,因而目睹作弊考生之种种惨死状。近年来回忆考场沧桑,总结了一些考试魔鬼定律。

一、递推定律:你偷看前面的人的考卷时,后面的人一定在偷看你的考卷。

二、莫非定律:你往往相信偷看来的答案是对的,可往往你自己的答案是正确的。

三、橡皮定律:捡掉在地上的橡皮时,你总有种做贼心虚的感觉。

四、不抬头定律:抄别人的答案时,千万别抬头。一抬头,老师就来了。

五、时间换算定律:考试前,一秒等于十分钟。考试时,十分钟等于一秒。

六、作弊者与监考老师定律:所有被抓住作弊的学生都说自己的行为是清白的,所有抓住作弊者的老师都说自己的判断是正确的。

七、矛盾定律:抄别人答案时,你总想让老师看不见你。别人抄答案时,你总想让老师看见他。

八、考场气氛定律:考场气氛永远不会活跃起来,除非老师突然离开一会儿。

九、战争定律:老师赢得了整个战争,却输掉了一场战斗。学生赢得了一场战斗,却输掉了整个战争。

十、时间价值定律:你唯一知道时间的宝贵是在考试结束铃响起的那一刻。

十一、附加题鸡形定律:老师把它当鸡肋骨,好学生把它当鸡大脯,差学生把它当鸡屁股。

十二、倒霉定律:仅仅为了一道一分的题,你作弊被发现了。就像你弯下腰去捡一毛钱,却掉了十块钱。

posted @ 2007-09-07 06:55 CharlieShen| 编辑 收藏

测谎

某大学举行期末考试,考过一门课后,有3个学生匆匆忙忙地跑进教室,才发现已来晚了。

他们3人懊恼不已,向教授解释道:“因为共坐的汽车的轮胎破了,所以才会迟到。请您无论如何,能允许我们补考。”

好心的教授答应一个星期后进行补考。3个学生非常高兴,回家以后拼命复习。

一个星期后,补考如期举行。试卷上只有一个题目:“请问,你们上星期坐的那辆汽车,哪个轮胎破了?”结果,3个学生的答案各不相同……


posted @ 2007-09-07 06:55 CharlieShen| 编辑 收藏

比窦娥还冤

一次古文课上,老师讲的是元曲的名篇《窦娥冤》。讲到高潮处,老师向同学提了个问题:“篇中到处引用善良被误解,忠臣总被害的典故,为何?”一同学主动起来回答了这一问提。自我感觉还可以,以为老师会赞扬他几句。不料,这老师泼然大怒,说她曲解了窦娥的冤情,还给她扣了平时分。这同学一时控制不了自己,便对老师说道:“老师,其实我比窦娥还冤。”
posted @ 2007-09-07 06:54 CharlieShen| 编辑 收藏

填空题

填空:绞尽——汁

学生们这样作答:

甲:绞尽墨汁。

乙:绞尽乳汁。

丙:绞尽果汁。

丁:绞尽汤汁。

老师批语:绞尽脑汁也没写出绞尽脑汁。


posted @ 2007-09-07 06:54 CharlieShen| 编辑 收藏

没有......

传说某校区曾经有一名女生因失恋吊死,变成了厉鬼,每当月黑风高之夜,就会出来作怪。一次,盯上了一个于午夜独自穿越操场的大一女生,遂跟在她身后发出凄厉的声音:“师妹,你回头看看我吧,我好惨啊,我没有手啊!”

岂料生来胆小的女生竟置若惘闻,低头继续走路。

女鬼便又说:“师妹,你回头看看我吧,我没有腿啊!”

女生还是不理,低头继续走路。

女鬼再来:“师妹,你回头看看我吧,我没有头啊!”

女生终于不耐烦了,回头一声断喝:“师姐,你烦不烦呀,你惨得过我?你倒是看看我,我没有胸啊!!”

posted @ 2007-09-07 06:54 CharlieShen| 编辑 收藏

逝去的光阴(二十五)

大一时,我们教官特逗,两个门牙全掉了,一次我们歌唱比赛,上面报幕,下一首:“哭沙”。教官嘟囔:“哭啥?”过一会又报幕:“同一首歌”。教官又不解:“还唱一遍?”
posted @ 2007-09-07 06:54 CharlieShen| 编辑 收藏

下载

一日,宿舍打扫卫生,彻底清扫,宿舍里几乎一尘不染,此时室长在鼠标垫上发现一根毛发,很粗,他大喊一句:“谁的毛?!”宿舍里一片安静,突然角落里传来一个低沉的声音:“室长,好像是你上三级网站下载的呀!”社长无言以对。
posted @ 2007-09-07 06:53 CharlieShen| 编辑 收藏

三句话

有一天,老师要小明班上的同学回家后收集三句话。

小明回家后,去找妈妈,妈妈正在煮菜:“滚开啦!我很忙。”

小明去找姐姐,姐姐在听随身听,唱到:“只要是我喜欢有什么不可以。”

小明去找弟弟,弟弟在看电视:“无敌铁金刚。”

第二天,老师问小明他的三句話。

小明:“滚开啦!我很忙。”

老师:“怎么可以这样跟老师说话?”

小明:“只要是我喜欢有什么不可以。”

老师:“你是什么东西啊?”

小明:“无敌铁金刚。”

posted @ 2007-09-07 06:53 CharlieShen| 编辑 收藏

哲学教授

牛津大学的一位哲学教授正在给高年级学生讲“不论对什么事情,聪明的人都会思考再三,只有笨蛋才会急于下结论。”

“您确信是这样吗?”

“我确信如此,”教授肯定地回答道。

posted @ 2007-09-07 06:53 CharlieShen| 编辑 收藏

回眸一校2

历史小考结束了,成绩出来了。Miss王拿着成绩表做考后总结。

说了一番话后又感叹的总结:“有些同学啊,这次考试不但没有后退,反而进步了。”

posted @ 2007-09-07 06:53 CharlieShen| 编辑 收藏

都回话了

一哥们儿第一次上OICQ,因为打字太慢,MM们都不理她了,让我帮他。我接了过去,一会儿说:“好了,马上就都理你了。”果然,霎时间滴滴声大作。 哥们儿问我:“你打的什么啊?这么快就都回话了?” 我回答:“就说了一个字:猪。”
posted @ 2007-09-07 06:53 CharlieShen| 编辑 收藏

穷酸学生

某大学组织本校美术系的学生到边远山区去写生。该系的学生穿着较另类和前卫,男生把崭新的牛仔裤上不是搞的都是洞,就是搞的都是缝。一天学生们写完生,到一家农家饭店去吃饭,导师为了省钱就对店主说“这帮都是穷学生,没什么钱,饭钱是否能便宜点”。店主说“我早就看出来了,这帮娃娃一定很穷,像他们都穿带洞的裤子连我们这儿都不再有人穿了”。
posted @ 2007-09-07 06:52 CharlieShen| 编辑 收藏

Job Description:

Key responsibilities may include:

Performing application design and architecture components
Performing process and functional design activities
Creating functional requirements as an input to application design
Developing and testing detailed functional designs for business solution components and prototypes
Performing application build, test, and deploy activities
Planning and executing data conversion activities
Driving test planning and execution

Professional Skill Requirements
University education background, bachelor degree above
Proven success in contributing to a team-oriented environment
Proven ability to work creatively and analytically in a problem-solving environment
Desire to work in an information systems environment
Excellent communication (written and oral) and interpersonal skills both in English and Chinese.
2 to 10 years implementation experience in SAP FI/CO/MM/SD/PP/BW/HR/PS/PM/CS/BASIS
Welcome to online apply our position via www.accenture.com.cn or send your CV to lu.you@accenture.com directly

  • 地  址:上海市淮海中路381号中环广场30楼
  • 电子邮件:lu.you@accenture.com
    公司地址:上海市淮海中路381号中环广场30楼
  • posted @ 2007-09-07 06:51 CharlieShen| 编辑 收藏

    Job Description:

    Key responsibilities may include:

    Performing application design and architecture components
    Performing process and functional design activities
    Creating functional requirements as an input to application design
    Developing and testing detailed functional designs for business solution components and prototypes
    Performing application build, test, and deploy activities
    Planning and executing data conversion activities
    Driving test planning and execution

    Professional Skill Requirements
    University education background, bachelor degree above
    Proven success in contributing to a team-oriented environment
    Proven ability to work creatively and analytically in a problem-solving environment
    Desire to work in an information systems environment
    Excellent communication (written and oral) and interpersonal skills both in English and Chinese.
    2 to 10 years implementation experience in SAP FI/CO/MM/SD/PP/BW/HR/PS/PM/CS/BASIS
    Welcome to online apply our position via www.accenture.com.cn or send your CV to lu.you@accenture.com directly

  • 地  址:上海市淮海中路381号中环广场30楼
    公司地址:上海市淮海中路381号中环广场30楼
  • posted @ 2007-09-07 06:51 CharlieShen| 编辑 收藏

    SAP董事会主席哈索-普拉特纳周四表示,公司对美国科技企业的收购持开放态度,他说:“只有三个潜在的买家:IBM、微软和Google。我没看到别的可能性。如果股东们认为合并而不是独立会更好,那就合并吧。”

      普拉特纳是SAP监督委员会主席,是公司四名创始人中唯一一位还在公司担任职务的人,目前持有12%的SAP股份,他表示:“我将为所有股东谋取利益,不是我自己,必须不动感情。”

      对于与IBM有关的并购可能,普拉特纳说:“我不希望制造谣言,因为现在没有并购谈判。我不能说对IBM的厌恶达到了不能进行并购谈判的地步。”但是他表示,难以想象会与甲骨文进行并购谈判。

      对于绝大多数企业,收购SAP的难度都很大,因为其市值超过了500亿欧元(640亿美元),而且还在有机增长的过程中。两年前,微软试图收购SAP让观察家们吃惊,欧盟的长期调查让并购谈判早早结束。

      普拉特纳表示,欧洲IT企业以前无法与美国对手竞争,因为他们关注的是国内市场,法国的Bull和意大利的Olivetti都曾经是国内第一,但是最终被美国企业超过了。

      SAP监督委员会计划给予数百员工3亿欧元的奖励,只要SAP能够在2010年实现股价翻番,其中有三分之一将给予首席执行官和六名执行经理。现任首席执行官孔瀚宁将在2007年表态是否愿意续约,很可能会在明年春天宣布结果。德国目前正在争论管理人员究竟是应该签署三年还是五年的协议。普拉特纳认为,这一奖励将能够使SAP在未来五年实现收入增长一倍的目标。

    posted @ 2007-09-07 06:48 CharlieShen| 编辑 收藏

    埃森哲 招聘20名 SAP Consultant 北京、上海

    SAP Project Manager PM/EAM consultant SAP FICO consultant SAP HR consultant SAP PS consultant SAP BW consultant BPR consultant

    请将简历发至我油箱:sunny.zhu@referbar.com
    msn:hunting910@hotmail.com

    posted @ 2007-09-07 06:47 CharlieShen| 编辑 收藏

    发信人: flyingsinger (flyingsinger), 信区: Career_POST
    标  题: 埃森哲,SAP,微软,Google和路透招聘技术和金融人才。
    发信站: 水木社区 (Mon Aug 13 10:08:37 2007), 站内

    目前共有两类人才需求:

    1,技术人才(For HP,Microsoft,Reuters)
    要求:要至少3年工作经验,英文好,通晓C,C++,java,oracle其中一种就可以,懂得越多越好。

    2,金融人才(For Accenture,SAP,Reuters)
    要求:要至少3年工作经验,熟悉银行业务,了解银行系统,最好做过银行相关的开发或售前售后项目。技术类和非技术类的都可以。职位有Businss Analyst,Consultant和Project Manager
    posted @ 2007-09-07 06:46 CharlieShen| 编辑 收藏

    拓扑网代埃森哲招聘SAP开发人员
    sap abap开发人员 zJHo[\Aa0R  
    要求:精通abap开发,有项目经验   
    待遇:1.2~1.5万 m 
    工作地点:上海

    埃森哲是全球领先的管理咨询、技术服务和外包机构,名列《财富》杂志2006年全球500强第379位。通过不断地开拓创新,埃森哲帮助企业和政府创造价值,实现卓越。埃森哲在全球49个国家设有分公司,员工逾146,000名。2006年8月31日结束的财政年度净收入为166.5亿美元。目前埃森哲在大中华区已开设了6家分公司(北京,上海,大连,广州,香港和台北),拥有超过2500名专业人员。 简历发送:topichzw@gmail.com
    posted @ 2007-09-07 06:46 CharlieShen| 编辑 收藏

    发信人: flyingsinger (flyingsinger), 信区: Career_POST
    标  题: 埃森哲,SAP,微软,Google和路透招聘技术和金融人才。
    发信站: 水木社区 (Mon Aug 13 10:08:37 2007), 站内

    目前共有两类人才需求:

    1,技术人才(For HP,Microsoft,Reuters)
    要求:要至少3年工作经验,英文好,通晓C,C++,java,oracle其中一种就可以,懂得越多越好。

    2,金融人才(For Accenture,SAP,Reuters)
    要求:要至少3年工作经验,熟悉银行业务,了解银行系统,最好做过银行相关的开发或售前售后项目。技术类和非技术类的都可以。职位有Businss Analyst,Consultant和Project Manager。

    Please feel free to send your CV (English and Chinese) to:

    peter.zhang@manpower.com.cn

    I'll provide the most appropriate position to you. We’ll discuss in details right after I have received your resume.
    posted @ 2007-09-07 06:45 CharlieShen| 编辑 收藏

    发信人: flyingsinger (flyingsinger), 信区: Career_POST
    标  题: 埃森哲,SAP,微软,Google和路透招聘技术和金融人才。
    发信站: 水木社区 (Mon Aug 13 10:08:37 2007), 站内

    目前共有两类人才需求:

    1,技术人才(For HP,Microsoft,Reuters)
    要求:要至少3年工作经验,英文好,通晓C,C++,java,oracle其中一种就可以,懂得越多越好。

    2,金融人才(For Accenture,SAP,Reuters)
    要求:要至少3年工作经验,熟悉银行业务,了解银行系统,最好做过银行相关的开发或售前售后项目。技术类和非技术类的都可以。职位有Businss Analyst,Consultant和Project Manager。

    Please feel free to send your CV (English and Chinese) to:

    peter.zhang@manpower.com.cn

    I'll provide the most appropriate position to you. We’ll discuss in details right after I have received your resume.
    posted @ 2007-09-07 06:45 CharlieShen| 编辑 收藏

    Andrew Nelson是SAP的附属公司TomorrowNow的CEO,他和本站记者谈到公司的一些策略性问题,例如扩展了其支持维护选择,从而包括了Siebel系统的客户。他在2006年SAP用户会议上对本站记者谈到,TomorrowNow去年被SAP公司收购,它从2002年就开始向PeopleSoft用户出售支持维护服务。SAP公司利用TomorrowNow通过其“安全通道”计划,与Oracle公司进行客户竞争。“安全通道”计划向PeopleSoft, JD Edwards, Retek都提供了激励措施,现在Siebel的用户也开始从Oracle转向SAP。在这次的采访中,Nelson还提及了最近来自Quest国际用户团体成员的一些评论,他们认为TomorrowNow已经不能提供独立的技术支持和维护。今年二月,Quest驱逐了TomorrowNow在该组织中的会员资格,并拒绝其参加Quest年度会议。

      评述:就SAP联盟受到评论,TomorrowNow总裁给予回应

      对于TomorrowNow总裁Andrew Nelson的采访原文可以在此下载。Nelson还谈论了TomorrowNow是否对于维护人员进行外部采办措施,以及作为SAP的附属公司,它增加了对于Siebel用户的维护服务,那么是否需要增加一定的员工支持。

      新闻集锦:

      (1:19)TomorrowNow开始支持Siebel的用户,那么它将发生那些内部变化呢?

      (3:52)TomorrowNow如何直接向Siebel用户提供支持?

      (4:44)TomorrowNow与SAP的合并引起了与Quest国际用户团体成员之间的一些问题。

      (7:02)自从你们被SAP收购,有多少决定不转向SAP新的用户最终改变了想法?

      (9:00)只利用TomorrowNow的维护,你是否能够满足用户的需求?

      (10:06)某些独立的第三方的维护厂家说,它们可以提供与TomorrowNow相同的服务,或者更低的费用,并且还不需要强迫转向SAP。你的反应是什么呢?

      (11:35)从某种观点来说,当Oracle的Fusion工程完成时,你们的策略是否应该进行相应的改变?

      (13:27)针对Siebel的一项布告说,Siebel的用户可以节省50%的支持维护费用。你们是如何得到这个数字的?

      (14:50)你们的维护中心在什么地方?

      (15:18)你是否对任何的员工都采用外部采办呢?

      (16:38)对于你们争取的那些新的用户,有多少是通过“安全通道”计划所完成的呢?

      (18:19)自从被收购以来,是否大部分的新用户都来自德国呢?

      (21:16)当你们发布对于JD Edwards的支持时,最初的挑战是什么呢?它们将如何与附加的Siebel的支持相共处?

      (21:50)通过这次的行动,TomorrowNow是否能够使得SAP获利呢?

      项目链接:

    •   SAP扩展CRM支持,兼容Siebel应用软件:通过其附属的TomorrowNow,SAP公司期望通过扩展其“安全通道”计划从Oracle那里吸引更多的用户,该扩展计划主要是包含了对Siebel用户的第三方的支持。
    •   SAP收购PeopleSoft的维护厂家:SAP收购了对于PeopleSoft以及JD Edwards用户提供维护服务的一家第三方的维护厂家,期望从Oracle公司争取更多的用户。
    •   SAP发布新的支持维护选择:SAP新的额外水平维护填补了其标准型维护及其高端服务之间的空白。
    •   SAP招募新员工,以扩展其维护计划:SAP的行政者周二说,他们将进行一轮新的员工招募工作,以对其新的维护包裹进行支持。
    •   房地产公司签署SAP“安全通道”项目:美国Cleveland市的一家房地产管理公司正是通过转向“安全通道”项目转向SAP,加入了该项目的30家公司的行列。
    •   SAP为零售商扩展其“安全通道”:SAP扩展了它的“安全通道”项目,主要针对运行Retek软件的零售商用户。Oracle公司开始将其新收购的Retek技术整合进它的商务套装系统。
    •   Oracle通过Fusion工程进逼SAP:Oracle公司总裁Larry Ellison宣布了Fusion工程,这个应用软件整合系统合并了Oracle以及 PeopleSoft的产品。
    •   SearchSAP.com编辑部Blog:在这里你可以针对最近的一些事件、新闻故事以及发生在SAP世界里的所有事情进行评述和讨论。
    posted @ 2007-09-07 06:44 CharlieShen| 编辑 收藏

    发信人: flyingsinger (flyingsinger), 信区: Career_POST
    标  题: 埃森哲,SAP,微软,Google和路透招聘技术和金融人才。
    发信站: 水木社区 (Mon Aug 13 10:08:37 2007), 站内

    目前共有两类人才需求:

    1,技术人才(For HP,Microsoft,Reuters)
    要求:要至少3年工作经验,英文好,通晓C,C++,java,oracle其中一种就可以,懂得越多越好。

    2,金融人才(For Accenture,SAP,Reuters)
    要求:要至少3年工作经验,熟悉银行业务,了解银行系统,最好做过银行相关的开发或售前售后项目。技术类和非技术类的都可以。职位有Businss Analyst,Consultant和Project Manager。

    Please feel free to send your CV (English and Chinese) to:

    peter.zhang@manpower.com.cn

    I'll provide the most appropriate position to you. We’ll discuss in details right after I have received your resume.
    posted @ 2007-09-07 06:44 CharlieShen| 编辑 收藏

    IBM招聘SAP Consultant (Beijing)

    •Excellent Communication skills both written and oral
    •SAP business object experience, especially experience on HR with more than 3 years experience
    •Will participate in the design, development, unit test, and support of Human Resource industry offerings.

    Qualifications(Education/Major/Certificates)

    - Master degree in Computer Science is preferred
    - Good communication skill
    - Excellent written/spoken English
    - Quick learner
    - Self-motivated to solve problems
    - Good team player and high responsibility

    posted @ 2007-09-07 06:43 CharlieShen| 编辑 收藏

    IBM招聘SAP Consultant (Beijing)

    •Excellent Communication skills both written and oral
    •SAP business object experience, especially experience on HR with more than 3 years experience
    •Will participate in the design, development, unit test, and support of Human Resource industry offerings.

    Qualifications(Education/Major/Certificates)

    - Master degree in Computer Science is preferred
    - Good communication skill
    - Excellent written/spoken English
    - Quick learner
    - Self-motivated to solve problems
    - Good team player and high responsibility

    Interested candidates please send your resume to
    rosemary365@163.com
    or
    rosemary365@hotmail.com

    posted @ 2007-09-07 06:42 CharlieShen| 编辑 收藏

    Andrew Nelson是SAP的附属公司TomorrowNow的CEO,他和本站记者谈到公司的一些策略性问题,例如扩展了其支持维护选择,从而包括了Siebel系统的客户。他在2006年SAP用户会议上对本站记者谈到,TomorrowNow去年被SAP公司收购,它从2002年就开始向PeopleSoft用户出售支持维护服务。SAP公司利用TomorrowNow通过其“安全通道”计划,与Oracle公司进行客户竞争。“安全通道”计划向PeopleSoft, JD Edwards, Retek都提供了激励措施,现在Siebel的用户也开始从Oracle转向SAP。在这次的采访中,Nelson还提及了最近来自Quest国际用户团体成员的一些评论,他们认为TomorrowNow已经不能提供独立的技术支持和维护。今年二月,Quest驱逐了TomorrowNow在该组织中的会员资格,并拒绝其参加Quest年度会议。

      评述:就SAP联盟受到评论,TomorrowNow总裁给予回应

      对于TomorrowNow总裁Andrew Nelson的采访原文可以在此下载。Nelson还谈论了TomorrowNow是否对于维护人员进行外部采办措施,以及作为SAP的附属公司,它增加了对于Siebel用户的维护服务,那么是否需要增加一定的员工支持。

      新闻集锦:

      (1:19)TomorrowNow开始支持Siebel的用户,那么它将发生那些内部变化呢?

      (3:52)TomorrowNow如何直接向Siebel用户提供支持?

      (4:44)TomorrowNow与SAP的合并引起了与Quest国际用户团体成员之间的一些问题。

      (7:02)自从你们被SAP收购,有多少决定不转向SAP新的用户最终改变了想法?

      (9:00)只利用TomorrowNow的维护,你是否能够满足用户的需求?

      (10:06)某些独立的第三方的维护厂家说,它们可以提供与TomorrowNow相同的服务,或者更低的费用,并且还不需要强迫转向SAP。你的反应是什么呢?

      (11:35)从某种观点来说,当Oracle的Fusion工程完成时,你们的策略是否应该进行相应的改变?

      (13:27)针对Siebel的一项布告说,Siebel的用户可以节省50%的支持维护费用。你们是如何得到这个数字的?

      (14:50)你们的维护中心在什么地方?

      (15:18)你是否对任何的员工都采用外部采办呢?

      (16:38)对于你们争取的那些新的用户,有多少是通过“安全通道”计划所完成的呢?

      (18:19)自从被收购以来,是否大部分的新用户都来自德国呢?

      (21:16)当你们发布对于JD Edwards的支持时,最初的挑战是什么呢?它们将如何与附加的Siebel的支持相共处?

      (21:50)通过这次的行动,TomorrowNow是否能够使得SAP获利呢?

      项目链接:

    •   SAP扩展CRM支持,兼容Siebel应用软件:通过其附属的TomorrowNow,SAP公司期望通过扩展其“安全通道”计划从Oracle那里吸引更多的用户,该扩展计划主要是包含了对Siebel用户的第三方的支持。
    •   SAP收购PeopleSoft的维护厂家:SAP收购了对于PeopleSoft以及JD Edwards用户提供维护服务的一家第三方的维护厂家,期望从Oracle公司争取更多的用户。
    •   SAP发布新的支持维护选择:SAP新的额外水平维护填补了其标准型维护及其高端服务之间的空白。
    •   SAP招募新员工,以扩展其维护计划:SAP的行政者周二说,他们将进行一轮新的员工招募工作,以对其新的维护包裹进行支持。
    •   房地产公司签署SAP“安全通道”项目:美国Cleveland市的一家房地产管理公司正是通过转向“安全通道”项目转向SAP,加入了该项目的30家公司的行列。
    •   SAP为零售商扩展其“安全通道”:SAP扩展了它的“安全通道”项目,主要针对运行Retek软件的零售商用户。Oracle公司开始将其新收购的Retek技术整合进它的商务套装系统。
    •   Oracle通过Fusion工程进逼SAP:Oracle公司总裁Larry Ellison宣布了Fusion工程,这个应用软件整合系统合并了Oracle以及 PeopleSoft的产品。
    •   SearchSAP.com编辑部Blog:在这里你可以针对最近的一些事件、新闻故事以及发生在SAP世界里的所有事情进行评述和讨论。
    posted @ 2007-09-07 06:41 CharlieShen| 编辑 收藏

    Andrew Nelson是SAP的附属公司TomorrowNow的CEO,他和本站记者谈到公司的一些策略性问题,例如扩展了其支持维护选择,从而包括了Siebel系统的客户。他在2006年SAP用户会议上对本站记者谈到,TomorrowNow去年被SAP公司收购,它从2002年就开始向PeopleSoft用户出售支持维护服务。SAP公司利用TomorrowNow通过其“安全通道”计划,与Oracle公司进行客户竞争。“安全通道”计划向PeopleSoft, JD Edwards, Retek都提供了激励措施,现在Siebel的用户也开始从Oracle转向SAP。在这次的采访中,Nelson还提及了最近来自Quest国际用户团体成员的一些评论,他们认为TomorrowNow已经不能提供独立的技术支持和维护。今年二月,Quest驱逐了TomorrowNow在该组织中的会员资格,并拒绝其参加Quest年度会议。

      评述:就SAP联盟受到评论,TomorrowNow总裁给予回应

      对于TomorrowNow总裁Andrew Nelson的采访原文可以在此下载。Nelson还谈论了TomorrowNow是否对于维护人员进行外部采办措施,以及作为SAP的附属公司,它增加了对于Siebel用户的维护服务,那么是否需要增加一定的员工支持。

      新闻集锦:

      (1:19)TomorrowNow开始支持Siebel的用户,那么它将发生那些内部变化呢?

      (3:52)TomorrowNow如何直接向Siebel用户提供支持?

      (4:44)TomorrowNow与SAP的合并引起了与Quest国际用户团体成员之间的一些问题。

      (7:02)自从你们被SAP收购,有多少决定不转向SAP新的用户最终改变了想法?

      (9:00)只利用TomorrowNow的维护,你是否能够满足用户的需求?

      (10:06)某些独立的第三方的维护厂家说,它们可以提供与TomorrowNow相同的服务,或者更低的费用,并且还不需要强迫转向SAP。你的反应是什么呢?

      (11:35)从某种观点来说,当Oracle的Fusion工程完成时,你们的策略是否应该进行相应的改变?

      (13:27)针对Siebel的一项布告说,Siebel的用户可以节省50%的支持维护费用。你们是如何得到这个数字的?

      (14:50)你们的维护中心在什么地方?

      (15:18)你是否对任何的员工都采用外部采办呢?

      (16:38)对于你们争取的那些新的用户,有多少是通过“安全通道”计划所完成的呢?

      (18:19)自从被收购以来,是否大部分的新用户都来自德国呢?

      (21:16)当你们发布对于JD Edwards的支持时,最初的挑战是什么呢?它们将如何与附加的Siebel的支持相共处?

      (21:50)通过这次的行动,TomorrowNow是否能够使得SAP获利呢?

      项目链接:

    •   SAP扩展CRM支持,兼容Siebel应用软件:通过其附属的TomorrowNow,SAP公司期望通过扩展其“安全通道”计划从Oracle那里吸引更多的用户,该扩展计划主要是包含了对Siebel用户的第三方的支持。
    •   SAP收购PeopleSoft的维护厂家:SAP收购了对于PeopleSoft以及JD Edwards用户提供维护服务的一家第三方的维护厂家,期望从Oracle公司争取更多的用户。
    •   SAP发布新的支持维护选择:SAP新的额外水平维护填补了其标准型维护及其高端服务之间的空白。
    •   SAP招募新员工,以扩展其维护计划:SAP的行政者周二说,他们将进行一轮新的员工招募工作,以对其新的维护包裹进行支持。
    •   房地产公司签署SAP“安全通道”项目:美国Cleveland市的一家房地产管理公司正是通过转向“安全通道”项目转向SAP,加入了该项目的30家公司的行列。
    •   SAP为零售商扩展其“安全通道”:SAP扩展了它的“安全通道”项目,主要针对运行Retek软件的零售商用户。Oracle公司开始将其新收购的Retek技术整合进它的商务套装系统。
    •   Oracle通过Fusion工程进逼SAP:Oracle公司总裁Larry Ellison宣布了Fusion工程,这个应用软件整合系统合并了Oracle以及 PeopleSoft的产品。
    •   SearchSAP.com编辑部Blog:在这里你可以针对最近的一些事件、新闻故事以及发生在SAP世界里的所有事情进行评述和讨论。
    posted @ 2007-09-07 06:40 CharlieShen| 编辑 收藏

    Andrew Nelson是SAP的附属公司TomorrowNow的CEO,他和本站记者谈到公司的一些策略性问题,例如扩展了其支持维护选择,从而包括了Siebel系统的客户。他在2006年SAP用户会议上对本站记者谈到,TomorrowNow去年被SAP公司收购,它从2002年就开始向PeopleSoft用户出售支持维护服务。SAP公司利用TomorrowNow通过其“安全通道”计划,与Oracle公司进行客户竞争。“安全通道”计划向PeopleSoft, JD Edwards, Retek都提供了激励措施,现在Siebel的用户也开始从Oracle转向SAP。在这次的采访中,Nelson还提及了最近来自Quest国际用户团体成员的一些评论,他们认为TomorrowNow已经不能提供独立的技术支持和维护。今年二月,Quest驱逐了TomorrowNow在该组织中的会员资格,并拒绝其参加Quest年度会议。

      评述:就SAP联盟受到评论,TomorrowNow总裁给予回应

      对于TomorrowNow总裁Andrew Nelson的采访原文可以在此下载。Nelson还谈论了TomorrowNow是否对于维护人员进行外部采办措施,以及作为SAP的附属公司,它增加了对于Siebel用户的维护服务,那么是否需要增加一定的员工支持。

      新闻集锦:

      (1:19)TomorrowNow开始支持Siebel的用户,那么它将发生那些内部变化呢?

      (3:52)TomorrowNow如何直接向Siebel用户提供支持?

      (4:44)TomorrowNow与SAP的合并引起了与Quest国际用户团体成员之间的一些问题。

      (7:02)自从你们被SAP收购,有多少决定不转向SAP新的用户最终改变了想法?

      (9:00)只利用TomorrowNow的维护,你是否能够满足用户的需求?

      (10:06)某些独立的第三方的维护厂家说,它们可以提供与TomorrowNow相同的服务,或者更低的费用,并且还不需要强迫转向SAP。你的反应是什么呢?

      (11:35)从某种观点来说,当Oracle的Fusion工程完成时,你们的策略是否应该进行相应的改变?

      (13:27)针对Siebel的一项布告说,Siebel的用户可以节省50%的支持维护费用。你们是如何得到这个数字的?

      (14:50)你们的维护中心在什么地方?

      (15:18)你是否对任何的员工都采用外部采办呢?

      (16:38)对于你们争取的那些新的用户,有多少是通过“安全通道”计划所完成的呢?

      (18:19)自从被收购以来,是否大部分的新用户都来自德国呢?

      (21:16)当你们发布对于JD Edwards的支持时,最初的挑战是什么呢?它们将如何与附加的Siebel的支持相共处?

      (21:50)通过这次的行动,TomorrowNow是否能够使得SAP获利呢?

      项目链接:

    •   SAP扩展CRM支持,兼容Siebel应用软件:通过其附属的TomorrowNow,SAP公司期望通过扩展其“安全通道”计划从Oracle那里吸引更多的用户,该扩展计划主要是包含了对Siebel用户的第三方的支持。
    •   SAP收购PeopleSoft的维护厂家:SAP收购了对于PeopleSoft以及JD Edwards用户提供维护服务的一家第三方的维护厂家,期望从Oracle公司争取更多的用户。
    •   SAP发布新的支持维护选择:SAP新的额外水平维护填补了其标准型维护及其高端服务之间的空白。
    •   SAP招募新员工,以扩展其维护计划:SAP的行政者周二说,他们将进行一轮新的员工招募工作,以对其新的维护包裹进行支持。
    •   房地产公司签署SAP“安全通道”项目:美国Cleveland市的一家房地产管理公司正是通过转向“安全通道”项目转向SAP,加入了该项目的30家公司的行列。
    •   SAP为零售商扩展其“安全通道”:SAP扩展了它的“安全通道”项目,主要针对运行Retek软件的零售商用户。Oracle公司开始将其新收购的Retek技术整合进它的商务套装系统。
    •   Oracle通过Fusion工程进逼SAP:Oracle公司总裁Larry Ellison宣布了Fusion工程,这个应用软件整合系统合并了Oracle以及 PeopleSoft的产品。
    •   SearchSAP.com编辑部Blog:在这里你可以针对最近的一些事件、新闻故事以及发生在SAP世界里的所有事情进行评述和讨论。
    posted @ 2007-09-07 06:39 CharlieShen| 编辑 收藏

    Andrew Nelson是SAP的附属公司TomorrowNow的CEO,他和本站记者谈到公司的一些策略性问题,例如扩展了其支持维护选择,从而包括了Siebel系统的客户。他在2006年SAP用户会议上对本站记者谈到,TomorrowNow去年被SAP公司收购,它从2002年就开始向PeopleSoft用户出售支持维护服务。SAP公司利用TomorrowNow通过其“安全通道”计划,与Oracle公司进行客户竞争。“安全通道”计划向PeopleSoft, JD Edwards, Retek都提供了激励措施,现在Siebel的用户也开始从Oracle转向SAP。在这次的采访中,Nelson还提及了最近来自Quest国际用户团体成员的一些评论,他们认为TomorrowNow已经不能提供独立的技术支持和维护。今年二月,Quest驱逐了TomorrowNow在该组织中的会员资格,并拒绝其参加Quest年度会议。

      评述:就SAP联盟受到评论,TomorrowNow总裁给予回应

      对于TomorrowNow总裁Andrew Nelson的采访原文可以在此下载。Nelson还谈论了TomorrowNow是否对于维护人员进行外部采办措施,以及作为SAP的附属公司,它增加了对于Siebel用户的维护服务,那么是否需要增加一定的员工支持。

      新闻集锦:

      (1:19)TomorrowNow开始支持Siebel的用户,那么它将发生那些内部变化呢?

      (3:52)TomorrowNow如何直接向Siebel用户提供支持?

      (4:44)TomorrowNow与SAP的合并引起了与Quest国际用户团体成员之间的一些问题。

      (7:02)自从你们被SAP收购,有多少决定不转向SAP新的用户最终改变了想法?

      (9:00)只利用TomorrowNow的维护,你是否能够满足用户的需求?

      (10:06)某些独立的第三方的维护厂家说,它们可以提供与TomorrowNow相同的服务,或者更低的费用,并且还不需要强迫转向SAP。你的反应是什么呢?

      (11:35)从某种观点来说,当Oracle的Fusion工程完成时,你们的策略是否应该进行相应的改变?

      (13:27)针对Siebel的一项布告说,Siebel的用户可以节省50%的支持维护费用。你们是如何得到这个数字的?

      (14:50)你们的维护中心在什么地方?

      (15:18)你是否对任何的员工都采用外部采办呢?

      (16:38)对于你们争取的那些新的用户,有多少是通过“安全通道”计划所完成的呢?

      (18:19)自从被收购以来,是否大部分的新用户都来自德国呢?

      (21:16)当你们发布对于JD Edwards的支持时,最初的挑战是什么呢?它们将如何与附加的Siebel的支持相共处?

      (21:50)通过这次的行动,TomorrowNow是否能够使得SAP获利呢?

      项目链接:

    •   SAP扩展CRM支持,兼容Siebel应用软件:通过其附属的TomorrowNow,SAP公司期望通过扩展其“安全通道”计划从Oracle那里吸引更多的用户,该扩展计划主要是包含了对Siebel用户的第三方的支持。
    •   SAP收购PeopleSoft的维护厂家:SAP收购了对于PeopleSoft以及JD Edwards用户提供维护服务的一家第三方的维护厂家,期望从Oracle公司争取更多的用户。
    •   SAP发布新的支持维护选择:SAP新的额外水平维护填补了其标准型维护及其高端服务之间的空白。
    •   SAP招募新员工,以扩展其维护计划:SAP的行政者周二说,他们将进行一轮新的员工招募工作,以对其新的维护包裹进行支持。
    •   房地产公司签署SAP“安全通道”项目:美国Cleveland市的一家房地产管理公司正是通过转向“安全通道”项目转向SAP,加入了该项目的30家公司的行列。
    •   SAP为零售商扩展其“安全通道”:SAP扩展了它的“安全通道”项目,主要针对运行Retek软件的零售商用户。Oracle公司开始将其新收购的Retek技术整合进它的商务套装系统。
    •   Oracle通过Fusion工程进逼SAP:Oracle公司总裁Larry Ellison宣布了Fusion工程,这个应用软件整合系统合并了Oracle以及 PeopleSoft的产品。
    •   SearchSAP.com编辑部Blog:在这里你可以针对最近的一些事件、新闻故事以及发生在SAP世界里的所有事情进行评述和讨论。
    posted @ 2007-09-07 06:39 CharlieShen| 编辑 收藏

    Andrew Nelson是SAP的附属公司TomorrowNow的CEO,他和本站记者谈到公司的一些策略性问题,例如扩展了其支持维护选择,从而包括了Siebel系统的客户。他在2006年SAP用户会议上对本站记者谈到,TomorrowNow去年被SAP公司收购,它从2002年就开始向PeopleSoft用户出售支持维护服务。SAP公司利用TomorrowNow通过其“安全通道”计划,与Oracle公司进行客户竞争。“安全通道”计划向PeopleSoft, JD Edwards, Retek都提供了激励措施,现在Siebel的用户也开始从Oracle转向SAP。在这次的采访中,Nelson还提及了最近来自Quest国际用户团体成员的一些评论,他们认为TomorrowNow已经不能提供独立的技术支持和维护。今年二月,Quest驱逐了TomorrowNow在该组织中的会员资格,并拒绝其参加Quest年度会议。

      评述:就SAP联盟受到评论,TomorrowNow总裁给予回应

      对于TomorrowNow总裁Andrew Nelson的采访原文可以在此下载。Nelson还谈论了TomorrowNow是否对于维护人员进行外部采办措施,以及作为SAP的附属公司,它增加了对于Siebel用户的维护服务,那么是否需要增加一定的员工支持。

      新闻集锦:

      (1:19)TomorrowNow开始支持Siebel的用户,那么它将发生那些内部变化呢?

      (3:52)TomorrowNow如何直接向Siebel用户提供支持?

      (4:44)TomorrowNow与SAP的合并引起了与Quest国际用户团体成员之间的一些问题。

      (7:02)自从你们被SAP收购,有多少决定不转向SAP新的用户最终改变了想法?

      (9:00)只利用TomorrowNow的维护,你是否能够满足用户的需求?

      (10:06)某些独立的第三方的维护厂家说,它们可以提供与TomorrowNow相同的服务,或者更低的费用,并且还不需要强迫转向SAP。你的反应是什么呢?

      (11:35)从某种观点来说,当Oracle的Fusion工程完成时,你们的策略是否应该进行相应的改变?

      (13:27)针对Siebel的一项布告说,Siebel的用户可以节省50%的支持维护费用。你们是如何得到这个数字的?

      (14:50)你们的维护中心在什么地方?

      (15:18)你是否对任何的员工都采用外部采办呢?

      (16:38)对于你们争取的那些新的用户,有多少是通过“安全通道”计划所完成的呢?

      (18:19)自从被收购以来,是否大部分的新用户都来自德国呢?

      (21:16)当你们发布对于JD Edwards的支持时,最初的挑战是什么呢?它们将如何与附加的Siebel的支持相共处?

      (21:50)通过这次的行动,TomorrowNow是否能够使得SAP获利呢?

      项目链接:

    •   SAP扩展CRM支持,兼容Siebel应用软件:通过其附属的TomorrowNow,SAP公司期望通过扩展其“安全通道”计划从Oracle那里吸引更多的用户,该扩展计划主要是包含了对Siebel用户的第三方的支持。
    •   SAP收购PeopleSoft的维护厂家:SAP收购了对于PeopleSoft以及JD Edwards用户提供维护服务的一家第三方的维护厂家,期望从Oracle公司争取更多的用户。
    •   SAP发布新的支持维护选择:SAP新的额外水平维护填补了其标准型维护及其高端服务之间的空白。
    •   SAP招募新员工,以扩展其维护计划:SAP的行政者周二说,他们将进行一轮新的员工招募工作,以对其新的维护包裹进行支持。
    •   房地产公司签署SAP“安全通道”项目:美国Cleveland市的一家房地产管理公司正是通过转向“安全通道”项目转向SAP,加入了该项目的30家公司的行列。
    •   SAP为零售商扩展其“安全通道”:SAP扩展了它的“安全通道”项目,主要针对运行Retek软件的零售商用户。Oracle公司开始将其新收购的Retek技术整合进它的商务套装系统。
    •   Oracle通过Fusion工程进逼SAP:Oracle公司总裁Larry Ellison宣布了Fusion工程,这个应用软件整合系统合并了Oracle以及 PeopleSoft的产品。
    •   SearchSAP.com编辑部Blog:在这里你可以针对最近的一些事件、新闻故事以及发生在SAP世界里的所有事情进行评述和讨论。
    posted @ 2007-09-07 06:39 CharlieShen| 编辑 收藏

    Andrew Nelson是SAP的附属公司TomorrowNow的CEO,他和本站记者谈到公司的一些策略性问题,例如扩展了其支持维护选择,从而包括了Siebel系统的客户。他在2006年SAP用户会议上对本站记者谈到,TomorrowNow去年被SAP公司收购,它从2002年就开始向PeopleSoft用户出售支持维护服务。SAP公司利用TomorrowNow通过其“安全通道”计划,与Oracle公司进行客户竞争。“安全通道”计划向PeopleSoft, JD Edwards, Retek都提供了激励措施,现在Siebel的用户也开始从Oracle转向SAP。在这次的采访中,Nelson还提及了最近来自Quest国际用户团体成员的一些评论,他们认为TomorrowNow已经不能提供独立的技术支持和维护。今年二月,Quest驱逐了TomorrowNow在该组织中的会员资格,并拒绝其参加Quest年度会议。

      评述:就SAP联盟受到评论,TomorrowNow总裁给予回应

      对于TomorrowNow总裁Andrew Nelson的采访原文可以在此下载。Nelson还谈论了TomorrowNow是否对于维护人员进行外部采办措施,以及作为SAP的附属公司,它增加了对于Siebel用户的维护服务,那么是否需要增加一定的员工支持。

      新闻集锦:

      (1:19)TomorrowNow开始支持Siebel的用户,那么它将发生那些内部变化呢?

      (3:52)TomorrowNow如何直接向Siebel用户提供支持?

      (4:44)TomorrowNow与SAP的合并引起了与Quest国际用户团体成员之间的一些问题。

      (7:02)自从你们被SAP收购,有多少决定不转向SAP新的用户最终改变了想法?

      (9:00)只利用TomorrowNow的维护,你是否能够满足用户的需求?

      (10:06)某些独立的第三方的维护厂家说,它们可以提供与TomorrowNow相同的服务,或者更低的费用,并且还不需要强迫转向SAP。你的反应是什么呢?

      (11:35)从某种观点来说,当Oracle的Fusion工程完成时,你们的策略是否应该进行相应的改变?

      (13:27)针对Siebel的一项布告说,Siebel的用户可以节省50%的支持维护费用。你们是如何得到这个数字的?

      (14:50)你们的维护中心在什么地方?

      (15:18)你是否对任何的员工都采用外部采办呢?

      (16:38)对于你们争取的那些新的用户,有多少是通过“安全通道”计划所完成的呢?

      (18:19)自从被收购以来,是否大部分的新用户都来自德国呢?

      (21:16)当你们发布对于JD Edwards的支持时,最初的挑战是什么呢?它们将如何与附加的Siebel的支持相共处?

      (21:50)通过这次的行动,TomorrowNow是否能够使得SAP获利呢?

      项目链接:

    •   SAP扩展CRM支持,兼容Siebel应用软件:通过其附属的TomorrowNow,SAP公司期望通过扩展其“安全通道”计划从Oracle那里吸引更多的用户,该扩展计划主要是包含了对Siebel用户的第三方的支持。
    •   SAP收购PeopleSoft的维护厂家:SAP收购了对于PeopleSoft以及JD Edwards用户提供维护服务的一家第三方的维护厂家,期望从Oracle公司争取更多的用户。
    •   SAP发布新的支持维护选择:SAP新的额外水平维护填补了其标准型维护及其高端服务之间的空白。
    •   SAP招募新员工,以扩展其维护计划:SAP的行政者周二说,他们将进行一轮新的员工招募工作,以对其新的维护包裹进行支持。
    •   房地产公司签署SAP“安全通道”项目:美国Cleveland市的一家房地产管理公司正是通过转向“安全通道”项目转向SAP,加入了该项目的30家公司的行列。
    •   SAP为零售商扩展其“安全通道”:SAP扩展了它的“安全通道”项目,主要针对运行Retek软件的零售商用户。Oracle公司开始将其新收购的Retek技术整合进它的商务套装系统。
    •   Oracle通过Fusion工程进逼SAP:Oracle公司总裁Larry Ellison宣布了Fusion工程,这个应用软件整合系统合并了Oracle以及 PeopleSoft的产品。
    •   SearchSAP.com编辑部Blog:在这里你可以针对最近的一些事件、新闻故事以及发生在SAP世界里的所有事情进行评述和讨论。
    posted @ 2007-09-07 06:38 CharlieShen| 编辑 收藏

    时下坊间盛传IBM有可能收购SAP,不禁令人想起两年前也曾向SAP频频抛出橄榄枝的微软。同样被追捧的都是德国软件巨擎SAP,不同的示爱者分别是实力雄厚的美国IT双雄微软和IBM,那么静观其变,IBM是否会像微软一样无疾而终呢?

      时下坊间盛传IBM有可能收购SAP,不禁令人想起两年前也曾向SAP频频抛出橄榄枝的微软。同样被追捧的都是德国软件巨擎SAP,不同的示爱者分别是实力雄厚的美国IT双雄微软和IBM,那么静观其变,IBM是否会像微软一样无疾而终呢?

      起因:开源阵营的躁动

      当IBM和SAP处于风头浪尖时,传言的始作俑者却是甲骨文CEO拉里-艾里森,而追根溯源,扇动蝴蝶翅膀的又是来自开源阵营Red Hat。

      4月初,Red Hat宣布以3.5亿美元收购JBoss公司,前者是开源操作系统Linux的最大销售商,后者是迅速成长的开源中间件厂商,两者联姻可谓优势互补,Red Hat也借此延伸其产品增值空间。然而,这一切似乎是甲骨文不愿看到的。尽管甲骨文与Red Hat有着长期良好的合作关系,而Red Hat收购JBoss势必影响到甲骨文的中间件产品,为两者将来的合作蒙上一层阴影。随后,艾里森宣布旨在“完整套装软件”(Complete Software Stack)的Linux策略调整,即希望销售包括操作系统与应用软件在内的全线产品系列,而做为Red Hat的替代者,甲骨文则考虑收购另一家Linux销售大厂Novell。事实上,激愤难抑的艾里森也是对Red Hat的反戈敲山震虎,而其一言即出,Red Hat的股价于次日应声回落。

      一场较量本应就此结束,然而,语不惊人死不休的艾里森仍不忘扯出IBM与其“同仇敌忾”,他向《金融时报》透露:“我们不得不重新审视与Red Hat的关系,IBM也同样如此。” 于是一石激起千层浪,甲骨文的收购逻辑被转移到本是旁观者的IBM,而各种版本的猜测中,被坊间认为“最符合逻辑”的就是德国的SAP公司。

      反思整个事件的来龙去脉,可以发现开源阵营的一举一动越来越引起软件巨头们的关注。在数据库、中间件、应用软件和操作系统几大类软件市场中,唯独微软的Windows操作系统的霸主地位是其它厂商无法逾越的障碍,然而来自开源阵营的Linux操作系统使他们看到了希望;首先,开源软件成为他们吸引许多国家政府机构和中小企业的重要策略,因为包括Linux等开源软件可以做为低成本的替代软件;其次,对已经使用Windows的用户,联合开源阵营的力量开发跨平台的中间件可以帮助他们绕开微软的制约;最后,以占领中间件为契机,参与到未来各项IT技术标准的制定,帮助他们争夺更多市场话语权。

      猜测:IBM可以说不

      从Red Hat到甲骨文再到IBM,收购SAP的传闻究竟逻辑何在呢?这种可能性又有多大呢?对比甲骨文和IBM不同的思维逻辑和行为模式也许能帮助我们找到答案,前者的关键词是收购和产品,而后者则是合作和方案。

      回顾甲骨文近年来的数次收购,发家自数据库产品的甲骨文,通过收购仁科等多家应用软件厂商、联合Linux操作系统销售商以及开发中间件产品,正试图打造完整的产品链。这种以资产为纽带的“疯狂”扩张模式成为甲骨文的思维定势,而整合这些并购企业带来的成本、渠道以及产品优势也迅速巩固了甲骨文在软件市场的强势地位。

      反观IBM,除了服务器硬件产品外,其5大软件产品线包括Lotus、DB2、Tivoli、Rational、WebSphere,主要集中在中间件市场并且处于领先地位,而在操作系统领域,与Windows苦撑20多年后,Os/2宣告寿终正寝而替代以Linux,因此按照甲骨文的逻辑,IBM的短板无疑是企业应用软件,而能与之匹配的非SAP莫属。

      然而,早已长袖善舞的大象却有着不同的思维逻辑。从出售PC业务而剥离硬件业务到全面撤守OS/2而专注中间件,随需应变的IBM实现了从产品销售到解决方案的转型。IBM的逻辑是相比按产品采购的模式而言,客户更愿意按自身的需求来采购,采购方式正由产品式向方案式转变。因此,IBM一方面将软件业务定位与中间件,为企业搭建起完整的应用基础设施平台,即“平台标准化”;另一方面,与本土市场的ISV合作,利用本土优势打通渠道,即“应用本地化”。如果说甲骨文的逻辑是“合纵”,IBM则更青睐“连横”,这种良性合作关系即避免了和众多本土ISV的直接竞争,使双方专注自身核心业务,又可以吸引部分ISV转向IBM的技术轨道,例如DB2、Lotus等,最终IBM可以同时获得ISV支付软件的许可费用和最终用户为解决方案和咨询服务支付的费用,何乐而不为呢?。

      IBM与SAP的合作也同样如此,孔翰宁认为尽管两家公司有95%的业务是互补的,但双方的合作正处于最好的时期,没有必要进行任何改变,他还说:“收购是第二好的战略选择,最好的战略是有机增长,我们奉行有机增长的战略不是因为别无选择。”这番言论既是对甲骨文逻辑的冷嘲热讽,更是对IBM逻辑的强烈认同。因此,从当事人双方看,与其斗个你死我活,不如与竞争者合作,共同获得更大的利益。

      假设:4-1<3的博弈

      尽管只是传言,两者联姻仍给业内人士留下无限遐想空间。假如有朝一日“IBM收购SAP”的新闻登上媒体头条,甲骨文的“完整套装软件”将因此显得苍白无力,甚至微软在操作系统的霸主地位也将岌岌可危。然而,最大的赢家可能不是IBM,却恰恰是此次传言的始作俑者甲骨文。

      在目前以微软、甲骨文、SAP和IBM的四强赛中,甲骨文的合纵策略使其逐渐被孤立,无论是与SAP的数次并购之争还是“脱离SAP计划”,都坚定了SAP以合作联盟来抗衡的决心。“敌人的敌人就是朋友”,对此微软和IBM也似乎与SAP形成了默契,一方面,微软与SAP相继推出了Mendocino和Duet合作计划,另一方面,IBM与SAP在数据库方面的合作更抢夺了不少甲骨文的客户。因此,处于孤军奋战的甲骨文在其他三家合力之下显得力单势薄,正如一些分析师认为:““甲骨文最好学会如何像他的主要对手们那样合作,否则最后会成为企业应用软件舞场中的‘墙花’(无舞伴而独坐一隅的人)。”

      假设IBM与SAP合并,“新三甲”之间的关系将发生微妙的转变。毫无疑问,合并后IBM-SAP将登上霸主地位,而甲骨文也将因此掩盖其锋芒,最大的可能就是与微软联合共同迎敌。换句话说,合并的结果将为甲骨文重新找到“舞伴”。

      这有点类似“三个快枪手”的博弈故事,当甲、乙、丙三个枪法依次由强到弱的西部牛仔进行生死决斗,当三者同时开枪最有可能存活的往往是枪法最弱的丙,而最先中弹的却可能是枪法百发百中的甲,因为无论乙还是丙都相信把甲留到下一轮对射,自己将必死无疑。当IBM与SAP合并成为甲之后,甲骨文便能巧妙的把自己伪装成丙了,也许结局不会你死我活,但至少甲骨文扭转处处竖敌的被动,进而与微软化敌为友。因此,整个IT产业将划分为IBM-SAP和甲骨文-微软两大阵营,而在操作系统方面的对抗势必引发两者火星撞地球式的碰撞,无论是两败俱伤还是形成软件行业的垄断都是他们所不愿看到的。

      值得一提的是,正是这种假设造成的严重后果,也极有可能使两者合并引发新一轮的反垄断诉讼。因此,正如微软收购SAP以失败告终,尽管微软曾表示“手续复杂”是其放弃收购SAP的原因,但更多的考虑可能同样来自各方势力的平衡以及反垄断诉讼的制约。

      结束语

      在IBM、SAP以及微软和甲骨文的多方博弈中,一方能否获胜,不仅仅取决于其自身实力,更取决于实力对比造成的复杂关系,相信IBM会坚持“两情若在久长时,又岂在朝朝暮暮。”

    posted @ 2007-09-07 06:37 CharlieShen| 编辑 收藏

    I am looking for a good career in SAP SCM. I am a mechanical engineer and have a total of 3.5 years of work experience in the aerospace domain. I have working knowledge in SCM (outsourcing, purchase, inventory control and logistics). Also, I have IT knowledge in C++, Unix, PL/SQL and Oracle.

    Currently I am working on a project in PL/SQL. Can I get a job in SAP SCM with my total experience? Would I have to take any certification classes related to SAP SCM to benefit the job search?


    >
    EXPERT RESPONSE
    There are different careers that you could pursue in SCM. Among the common jobs, you could work for a consulting organization as an SAP SCM functional consultant or in an end user environment as a user of SAP SCM solution.

    The hurdles getting into SAP SCM are two-fold – SCM knowledge and SAP knowledge. If you have strong experience in even one of this it becomes easier.

    Saying that, if you have a general interest in the field it would be worthwhile to get into an end user position in an organization using SAP SCM. Your work experience in the SCM areas you have mentioned should be helpful in getting this start.

    A good starting step would be a general SCM certification in the form of CPIM ("Certified in Production and Inventory Management"). This is offered by the APICS, the American Association for Operations Management. You can find more details at http://www.apics.org/.

    You can also pursue the SAP SCM certification that is offered by SAP Education. You can find more information relevant to the country you are in at the SAP education Web site. In order to be successfully certified you might need to undergo some training courses and have hands on experience.

    Also, be aware that a certification may not necessarily open doors into the consulting world. Clients expect expertise in implementing projects. However, some consulting organizations do hire at the junior level and offer training in implementing.

    Given your background in various IT languages you should also consider SAP ABAP (programming language) and related technology areas as another possible career. This gives you a foothold into the SAP world and you have the chance to steer yourself into the SAP SCM world after that with relative ease.

    posted @ 2007-09-07 06:28 CharlieShen| 编辑 收藏

    This is a terrific question. You have hit on two of the most important things people ask me about. One is: should you take a job in an area of SAP you might not prefer because that is where the opportunity is? The other is: can you get "trapped" in ABAP?

    Let's look at the first part of the question: ordinarily, when you can find a company to train you in SAP, that is a pretty good deal. Even for promising young college grads, it can be hard to find a job that trains in SAP. In these kinds of situations, it all depends on what other job offers you have in your hand. In your case, so far, you only have one. What I would do is to postpone accepting this first job offer as long as you reasonably can without losing the opportunity. In the meantime, apply for some other kinds of SAP positions and also some non-SAP positions in Java and C++. See what kinds of job offers you get, and then choose the best one. Let's assume just for the sake of your question that you only end up with this one offer: is it smart to take an ABAP job, or are you really "trapped in ABAP?"

    I don't believe you are trapped in ABAP, and here's why: SAP has built support for ABAP into its NetWeaver architecture (consider the NetWeaver Application Server with ABAP, for example. SAP even has it own version of Web Dynpro for ABAP. But most NetWeaver components are "wrapped" in layers of open standard languages such as Java and XML. So this means that an ABAP person on a NetWeaver project should also be able to get exposure to web-based languages and integration tools. As long as you can find your way into these kinds of forward-thinking projects, you shouldn't get "trapped" in ABAP. On the other hand, I do think that ABAP is subject to more pressure from global offshoring than other areas of SAP. This means more competition for openings and lower rates.

    On the other hand, many Java and C++ programmers are in the same boat. I think you could say that all kinds of programmers face similar challenges from offshoring, so those issues are not unique to ABAP. ABAP is not the most marketable area in SAP, but there are definitely some ABAP programmers doing very well right now while maintaining exposure to Java-related technologies. I write a lot about the challenges facing ABAP programmers in this column, so keep reading.

    posted @ 2007-09-07 06:26 CharlieShen| 编辑 收藏

    QUESTION POSED ON: 23 July 2007
    Currently I hold a bachelor's degree in information technology. Should I get certified in SAP ABAP from Siemens Informations Systems LTD? Keep in mind that Siemens is very expensive and holds a lot of weight in the final decision.

    If you do not think I should pursue a career in ABAP, which technical field should I choose in SAP?


    >
    EXPERT RESPONSE
    ABAP is not a bad area of technical fundamentals for you in SAP, but remember that the programming side of SAP generally has lower rates and a higher level of competition from project offshoring. You might find that getting a NetWeaver type of certification, or even a BW/BI certification, is ultimately more marketable. I don't know a lot about the Siemens SAP certification, but Siemens is very well respected in the SAP field so it might add some credibility to your resume. Having said that, I will tell you that I rarely encourage SAP certification for those who are tight on costs. I feel that in many ways, a better use of time is to focus on marketing your existing skills to customers running on SAP and break into SAP from the inside. Remember that SAP consulting is really not a certification driven market the way that some other software and hardware markets are.

    Project experience is the key, and investing time in books and research into companies running SAP in your field could be a better option. I'm not saying don't get certified in SAP, just be realistic that it may not be the key to landing an SAP position. I think knowing how to make your current skills appealing to SAP customers and their IT departments may be more important. One good exercise is to review current SAP jobs on sites like SearchSAP.com and see what kinds of skills are required. See how often certification is listed as required or preferred, and what other skills are needed. This will not only give you a better idea of what skills are truly hot, it will also help you to see how important certification really is (or isn't). I think you'll be surprised at how few SAP jobs actually require certification in order to apply.

    The key to breaking into SAP remains hard work, good overall technical and business skills, and savvy self-marketing. Certification can help too, but the other areas I just listed are more important in most cases.

    posted @ 2007-09-07 06:24 CharlieShen| 编辑 收藏

    By Matt Danielsson, Editor
    13 Oct 2006 | SearchSAP.com
    Where will Basis people go in the new NetWeaver world? Is there room for classic ABAP developers? What consulting skills will be in demand in the years ahead? We interviewed career expert Jon Reed to get his take on where the new sweet spots will be.

    Those who attended TechEd this year will remember that SAP executive Shai Agassi talked about four new distinct SAP jobs in his keynote. Meanwhile, developers are pinched between offshore outsouring and model-driven development tools, Basis professionals see the familiar SAP framework getting fuzzy as everything becomes Web-enabled, and consultants face a pit of uncertainty about what'll put food on the table down the road.

    Pulling your hair out isn't the solution, Reed said. Instead, see it as an opportunity. Look at your current skills and map them to future demands. Be the first to master the new technologies in your field, and your odds of making a good living in the new SAP world increases exponentially.

    Consolidators
    Basis people should take a close look at the role of the consolidator. Consolidators look at the entire landscape of all the applications and technologies a company has and map it to core (what helps drive differentiation with the company) and context (what you do to support existing commitments.) Once there, they start looking for ways to consolidate everything.

    "Classic Basis system admin people are well-positioned to evolve into this field," said Reed. "Basis folks are often used to straddling the fence with architecture elements, and you can't really identify redundancies without a good grasp of the current processes in use."

    Just like having security skills boosts the value of that person, the consolidation skills may become a vital edge for SAP professionals looking to move up the ranks in coming years.

    "It never ends; it's an ongoing project," said Ori Inbar, Sr. vice president, solution marketing, SAP NetWeaver. "Every time there's a new acquisition, there's a slew of new systems entering the ecosystem. Somebody has to be there to keep things streamlined."
    Read more about how to get into the consolidator role here.

    Repository keepers
    MDM/BW workers, some developers and people already involved in the creation and management of Web services are well-positioned to capitalize on the growing need for master data and metadata management.

    "SAP is really emphasizing master data and metadata as a way to make sure data is structured consistently in the company," Reed said. "That idea is a core aspect of NetWeaver."

    A good repository keeper must have very deep understanding of the meta data and must also have a firm grip on exactly how the applications are being used across multiple departments throughout the company. Simply put, you need to be intimately familiar with both the business processes and the technology architecture to excel in this role. That's a tricky balancing act, but those who can pull it off will be very valuable players on the IT team.
    Read more about repository keepers here.

    Composers
    The confusion between "developer" and "composer" as an SAP role is understandable. The developer is your classic ABAP/Java programmer with varying business skills; the composer is a business process expert first and techie second. Their main function is to make business process innovation happen in real-time.

    Needless to say, this trend has caused some concern in developer circles. So what can today's ABAP developer do to avoid getting pinched between outsourcing on one hand and model-driven, do-it-yourself business people on the other?

    "You can't do everything with models," Inbar said. "There's going to be plenty of room for skilled programmers for areas like Java and creation of new services."

    Inbar suggests familiarizing oneself with the model-driven tools, tapping into the BPX-community and looking for ways to leverage superior technical skills to "move up the stack." For those who work closer to the User Interface, embrace the modeling tools and start building the next generation of UI building blocks -- dedicated, highly interactive components that require advanced technical skills.

    "Still, the key question for many is: will these tools decrease the opportunities for classic ABAPers? The honest answer is probably yes," Reed said. "Having said that, I think many developers can and should get on board with the modeling movement. SAP wants it to seem like a functional expert in a particular area can come in and just design all this stuff. It's not that easy; they can do a lot, but they'll still need considerable support from technical people."
    Learn more about how to acquire the right composition skills here.

    Disruptive innovators
    The disruptive innovator is something of a maverick, looking across the entire company for areas with opportunities for disruptive innovation. It can be a new product, a new business process, or whatever it takes to move the company to the next level.

    "The disruptive innovator has to be a hunter," Inbar said. "While consolidators have the luxury of tending to their niche of expertise, the disruptive innovator must be constantly on the move, looking for the next big thing."

    A Project Manager with good overall knowledge of how the technology supports the business side would make a good candidate. But all things considered, it doesn't really matter whether that person came from a technical or functional career path prior to shouldering this new role; all that really matters is the current understanding of both sides of the fence, Reed said.

    "The other new roles seem to be more hands-on, but I see the disruptive innovator as a manager or Team Lead," Reed said. "You need a broader view as well as organizational leverage, ie. decent corporate status, in order to make things happen."
    Get more information about disruptive innovation here.

    Of course, there are plenty of niche-opportunities that remain or will be created as the new technologies are rolled out. Be sure to check into the SAP Jobs Info Center for the latest articles, tips and expert advice on how to get ahead in the SAP world.

    posted @ 2007-09-07 06:22 CharlieShen| 编辑 收藏

    By Matt Danielsson, Editor
    13 Oct 2006 | SearchSAP.com
    Where will Basis people go in the new NetWeaver world? Is there room for classic ABAP developers? What consulting skills will be in demand in the years ahead? We interviewed career expert Jon Reed to get his take on where the new sweet spots will be.

    Those who attended TechEd this year will remember that SAP executive Shai Agassi talked about four new distinct SAP jobs in his keynote. Meanwhile, developers are pinched between offshore outsouring and model-driven development tools, Basis professionals see the familiar SAP framework getting fuzzy as everything becomes Web-enabled, and consultants face a pit of uncertainty about what'll put food on the table down the road.

    Pulling your hair out isn't the solution, Reed said. Instead, see it as an opportunity. Look at your current skills and map them to future demands. Be the first to master the new technologies in your field, and your odds of making a good living in the new SAP world increases exponentially.

    Consolidators
    Basis people should take a close look at the role of the consolidator. Consolidators look at the entire landscape of all the applications and technologies a company has and map it to core (what helps drive differentiation with the company) and context (what you do to support existing commitments.) Once there, they start looking for ways to consolidate everything.

    "Classic Basis system admin people are well-positioned to evolve into this field," said Reed. "Basis folks are often used to straddling the fence with architecture elements, and you can't really identify redundancies without a good grasp of the current processes in use."

    Just like having security skills boosts the value of that person, the consolidation skills may become a vital edge for SAP professionals looking to move up the ranks in coming years.

    "It never ends; it's an ongoing project," said Ori Inbar, Sr. vice president, solution marketing, SAP NetWeaver. "Every time there's a new acquisition, there's a slew of new systems entering the ecosystem. Somebody has to be there to keep things streamlined."
    Read more about how to get into the consolidator role here.

    Repository keepers
    MDM/BW workers, some developers and people already involved in the creation and management of Web services are well-positioned to capitalize on the growing need for master data and metadata management.

    "SAP is really emphasizing master data and metadata as a way to make sure data is structured consistently in the company," Reed said. "That idea is a core aspect of NetWeaver."

    A good repository keeper must have very deep understanding of the meta data and must also have a firm grip on exactly how the applications are being used across multiple departments throughout the company. Simply put, you need to be intimately familiar with both the business processes and the technology architecture to excel in this role. That's a tricky balancing act, but those who can pull it off will be very valuable players on the IT team.
    Read more about repository keepers here.

    Composers
    The confusion between "developer" and "composer" as an SAP role is understandable. The developer is your classic ABAP/Java programmer with varying business skills; the composer is a business process expert first and techie second. Their main function is to make business process innovation happen in real-time.

    Needless to say, this trend has caused some concern in developer circles. So what can today's ABAP developer do to avoid getting pinched between outsourcing on one hand and model-driven, do-it-yourself business people on the other?

    "You can't do everything with models," Inbar said. "There's going to be plenty of room for skilled programmers for areas like Java and creation of new services."

    Inbar suggests familiarizing oneself with the model-driven tools, tapping into the BPX-community and looking for ways to leverage superior technical skills to "move up the stack." For those who work closer to the User Interface, embrace the modeling tools and start building the next generation of UI building blocks -- dedicated, highly interactive components that require advanced technical skills.

    "Still, the key question for many is: will these tools decrease the opportunities for classic ABAPers? The honest answer is probably yes," Reed said. "Having said that, I think many developers can and should get on board with the modeling movement. SAP wants it to seem like a functional expert in a particular area can come in and just design all this stuff. It's not that easy; they can do a lot, but they'll still need considerable support from technical people."
    Learn more about how to acquire the right composition skills here.

    Disruptive innovators
    The disruptive innovator is something of a maverick, looking across the entire company for areas with opportunities for disruptive innovation. It can be a new product, a new business process, or whatever it takes to move the company to the next level.

    "The disruptive innovator has to be a hunter," Inbar said. "While consolidators have the luxury of tending to their niche of expertise, the disruptive innovator must be constantly on the move, looking for the next big thing."

    A Project Manager with good overall knowledge of how the technology supports the business side would make a good candidate. But all things considered, it doesn't really matter whether that person came from a technical or functional career path prior to shouldering this new role; all that really matters is the current understanding of both sides of the fence, Reed said.

    "The other new roles seem to be more hands-on, but I see the disruptive innovator as a manager or Team Lead," Reed said. "You need a broader view as well as organizational leverage, ie. decent corporate status, in order to make things happen."
    Get more information about disruptive innovation here.

    Of course, there are plenty of niche-opportunities that remain or will be created as the new technologies are rolled out. Be sure to check into the SAP Jobs Info Center for the latest articles, tips and expert advice on how to get ahead in the SAP world.

    posted @ 2007-09-07 06:22 CharlieShen| 编辑 收藏

    QUESTION POSED ON: 12 January 2007
    Is it mandatory that, in order to learn SAP BW (Business Warehousing), we should have basic or good knowledge of ABAP?

    >
    EXPERT RESPONSE
    It is not mandatory to have ABAP knowledge to learn BW but it definitely helps. ABAP knowledge always will be a strength regardless of the modules you work on, if your intention is to be an SAP consultant.
    posted @ 2007-09-07 06:21 CharlieShen| 编辑 收藏

    QUESTION POSED ON: 17 June 2006
    I'm a mainframe programmer with about two years of work experience in COBOl, JCL, DB2, IMS, IDMS, FOCUS etc. I have an opportunity to transition into SAP ABAP or BASIS in our organization. Could you please let me know whether I should go into Basis or take up ABAP? I've heard that ABAP jobs are being outsourced, but Basis jobs are stable. Also, which one of these would help me get into Netweaver for the future?

    >
    EXPERT RESPONSE
    Good question on ABAP versus Basis. I don't know if I would say that the Basis market is stable, but it's a lot less prone to outsourcing than ABAP. For that reason alone, I would definitely pursue Basis over ABAP.

    One of the reasons that the Basis job market is not that stable is because more and more SAP customers are making a technical transition to NetWeaver. Technically speaking, there is no "Basis specialist" in a NetWeaver environment. Some of the skills and concepts are similar, but it's a different architecture that involves a much greater knowledge of web-based integration processes and protocols, as well as core technologies like the Web application server. In terms of how ABAP and Basis tie into NetWeaver, in reality, both do. Companies can do ABAP development in a NetWeaver environment, and many aspects of system administration in a NetWeaver environment (such as security roles and profiles) are things that the Basis consultant can transition into without too much of a problem.

    Having said that, figuring out the area you want to move into is only half the decision. You also have to consider what your current skills are and how they relate to the area you are targeting. Your background is primarily in mainframe development. So, when you talk about moving to SAP Basis work, you are really talking about several skills transitions at once: from mainframe development to client-server development, from development to system administration, and from non-SAP to SAP. That's a lot of skills transitions to make at once. It make take you several years and a couple of job changes to get there. There are some excellent books on SAP NetWeaver already available. I would start by studying that architecture and then mapping back to the skills you have now. I've said it before, but it bears repeating: it's always better, when you're trying to break into SAP, to try to go where SAP is headed than to catch SAP from behind. Perhaps you will skip ABAP and Basis entirely and try to move into some aspect of NetWeaver systems admin or development. Learn all you can about web services and web servers and remember that this a major skills shift for you, so you'll need to be patient as you make several key changes.

    posted @ 2007-09-07 06:20 CharlieShen| 编辑 收藏

    Getting the most out of ABAP requires more than just a familiarity with programming languages and an ABAP certification, according to one expert. It requires overcoming some common problems that tend to plague the ABAP developer community.

    ABAP today is more powerful than ever before, but SAP application developers still tend to find themselves stumped when it comes to optimizing the performance of ABAP programs, conducting ABAP upgrades, and gaining the necessary experience to debug the programs, according to Rehan Zaidi, senior SAP technical consultant at Siemens Pakistan and an ABAP expert.

    The main thing the ABAPer should know is how to handle problems, the practical problems that occur in your working life.
    Rehan Zaidi
    senior SAP technical consultant, Siemens Pakistan
    "Users are our first [priority]," he said. "You have to mold and adapt the system in order to suit your users' requirements."

    SAP's ABAP programming language was first introduced in 1992 to help developers create programs for the client-server R/3 platform. SAP currently positions the technology as the key business applications programming language for its Web Applications Server, which is a major component of NetWeaver 7.0.

    For ABAP beginners, understanding SAP ERP is key

    Developers getting started with ABAP tend to be adept with multiple programming languages, and that's all well and good, according to Zaidi. But getting to know SAP ERP is equally, if not more, important.

    "Most people that I train are VB programmers or Java programmers; 80% are not ERP programmers," he said. "So the basic difficulty is that we have to first tell them the architecture of SAP, which is based on the three-tier design."

    The three-tier client/server design is the combination of the database, the applications and presentation logic. This architecture is commonly run on three separate physical computers that work together to bring the user a desired result.

    Under the three-tier design, the database and the applications communicate to extract and push data through the presentation logic tier, which is essential to providing accessible information to the end user.

    The next step

    Once developers familiarize themselves with SAP ERP, the next and most common task to focus on is generating reports in ABAP. And that means gaining an understanding of the ABAP dictionary, Zaidi said.

    click to enlarge
    The ABAP dictionary is responsible for managing the system data. It is an interfaced part of the ABAP Development Workbench and supports the definitions of user-defined types (data elements, structures and table types), Zaidi explained. The ABAP dictionary is at the core of an ABAP developer's career because almost all data is filtered through it.

    "[Developers] must have knowledge of the ABAP dictionary because [it] shows all the tables … we fetch data from," he said. "If you don't have knowledge of the dictionary, then [you're of] no use as an ABAP editor."

    ABAP performance and upgrades

    Developers must also be proficient in performance optimization and upgrades, Zaidi said. Both are integral to an ABAPer's career.

    "One important thing that has always been troublesome for ABAPers is the program running slow, or the program losing its performance through the passage of time," Zaidi said.

    The best way to fix performance issues and seamlessly integrate upgrades is to debug errors, but finding where errors exist can be problematic, he said. An error can generally reside on any program in any server at any given time, and the ability to debug these errors quickly and efficiently comes only with years of technical experience.

    ABAP certification not enough

    An ABAP certification is a nice thing to have, but it's no substitute for hands-on experience in the workplace, according to Zaidi.

    Besides, he added, the Siemens ABAP certification class in Pakistan has some notable weaknesses.

    For example, the 25-day course doesn't leave the ABAP beginner with enough knowledge of technical work, he said, and typical scenarios for extracting data and troubleshooting are not covered across the various SAP modules.

    "I don't agree with [the course's] outline," Zaidi said. "The main thing the ABAPer should know is how to handle problems, the practical problems that occur in your working life."

    posted @ 2007-09-07 06:19 CharlieShen| 编辑 收藏

    妈妈的洗衣机

    一次,IBM电信部总监石君先生作讲演。

    为了使大家都能听见,工作人员特意给他装上无线的麦克风,

    可是他不愿戴上,于是开始讲演:

    现在的设备真先进。我以前给我妈妈买了一台全自动洗衣机,

    可是她总是不用。。。。。

    一会儿,工作人员发现麦克风并没有起作用,检查后发现,

    原来开关没开,于是石君先生笑道:

    我知道我妈妈为什么不用洗衣机了,她不会开关!


    posted @ 2007-09-07 06:09 CharlieShen| 编辑 收藏

    网虫丈夫的一封信

    亲爱的大伟:

    我们的电脑买了一年多了,我也没有怎么摆弄它,今天趁着你和儿子出去了,我把心里想说的话敲在上面,希望你看了之后,能给我一个答复。

    我首先忠告你的是:晚上睡觉时,手指最好老实一点,别一个劲地在我身上乱点,我的身子不是键盘,我的鼻子也不是鼠标。再这样,可别怪我某一晚把你的手指咬下半截。

    你爱Internet,我不反对。你可以跟你那些最知心的“峨眉大侠”、“白毛女”侃个不停,但我们3岁的儿子哭着叫你揩一下屁股时,你不能够随手抓起打印机的纸对付我们的未来。你的厚脸皮经受得起打印纸的磨擦,我们儿子柔嫩的屁股可吃不消。

    你的腰越来越粗,腿越来越细,你感觉不到吗?我真想不通,厕所离你的电脑椅才几步远?你硬是坐下就不想动,还想把电脑椅改成便捷式马桶。你怎么就不动脑筋,多挣点钱把家改装一下,最好把我这丑婆娘也改装一下,省得我为你操心。

    昨天坐你的车,前面一大堆乱石头,你不刹车,还一个劲喊:“Back?后退?键哪里去了!老兄,要不是我眼明脚快,帮你踩住刹车,也许现在敲盘劝你的人就不是我了。

    大伟,我仍爱你,但你总不能连吃饭也要我通过E-mail来叫你吧?我们应明白我们彼此的责任和对我们未来的爱心,难道虚幻的电脑世界比我和独生子跟你在一起的世界更精彩?

    好了,我就敲到这里,再敲下去,我怕我会让它永远死机。

    顺祝:回头是乐!

    posted @ 2007-09-07 06:09 CharlieShen| 编辑 收藏

    网络恋爱准则

    第一次上网,要象春天般温暖地找妹妹;

    第二次上网,要象夏天般火热地对妹妹献殷勤;

    第三次上网,要象秋风扫落叶一样,趁妹妹还在客气,要来电话约见面;

    第四次上网,要象严冬一样,换个名字不再认识那个恐龙;

    posted @ 2007-09-07 06:09 CharlieShen| 编辑 收藏

    现代英语

    PCMCIA:People Can’t Memorize Computer Industry Acronyms(人们不能记住电脑产业)

    ISDN:It Still does Nothing(它还什么都没做)

    APPLE:Arrogance Produces Profit-Losing Entity(傲慢出废品)

    SCSI:System Can’t See It(系统不能发现它)

    DOS:Defunct Operating System(不存在的操作系统)

    BASIC:Bill’s Attempt to Seize Industry Control(比尔抓取企业控制杆的企图)

    IBM:I’ll Bounce Microsoft(我要撵走微软)

    DEC:Dot’t expect Cuts(别指望降价)

    CD-ROM:Consumer Device, Rendered Obsolete in Months(消费型设备,被宣布在数月内废止)

    OS/2:Obsolete Soon, too(也将很快废止)

    WWW:World Wild Waite(全球等)

    MACINTOSH:ost Applications Crash; If Not, The Operating System Hangs(大多数应用程序瘫痪,要不然就是系统挂起)

    posted @ 2007-09-07 06:08 CharlieShen| 编辑 收藏

    Internet问与答

    Q:Internet存在中心吗?

    A:虽然有时类似Microsoft和Netscape这样的公司认为自己是Internet的中心,

    但就像宇宙没有中心一样,Internet也不存在着一个中心。因为每一台计算机都

    连接着其它计算机,没有人扮演CPU的角色,这也就是为什么Internet这样酷。

    Q:Internet和WWW之间有什么区别?

    A:你只需知道WWW就是有图形和超文本的Internet。

    Q:谁发明了Internet?

    A:美国军队需要一种将计算机网络连接起来的方法,所以Internet就出世了。

    可以说Internet是冷战中出生的婴儿。

    Q:为什么他们说“URL”,而不直接说“地址”?

    A:因为“URL”比“地址”显得更深奥,而且“URL”包含了更多信息,它可以

    告诉浏览器连接的资源是http、ftp、gopher、news......

    posted @ 2007-09-07 06:08 CharlieShen| 编辑 收藏

    学电脑

    我的一个朋友是一个真正的电脑盲,心血来潮想学电脑来我这里借有关电脑的书籍。我开机为他演示了一通,他看的兴趣盎然,就站起身为他找书,他盯着电脑屏幕目不转睛的看着,发现屏幕上有一处污点,便伸出手去抹,不想屏幕突然一黑,(屏幕保护程序启动,我设置的是黑屏)他吓了一跳,忙摊开双手对我说:“我什么也没动,没动!”

    我淡淡的扫了他一眼说:“我知道你没动,要不怎么会黑屏呢?”

    他疑为反话,声音提高一个八度:“真的,我只是看见屏幕上有一块脏,想给你抹干净,还没碰着呢,就坏了,真的没碰着,这不,这儿有块脏,我想给你擦了!!”

    说着他就用手指在屏幕上寻找那块污点,不想臂肘碰到了鼠标,屏幕一亮画面显出,他又吓了一跳,非常奇怪的看着屏幕,不知所措,忽然他好象明白了什么,伸出手指向屏幕一个劲的点,居然没反应,他缓缓放下手,茫然的看着我:“我,我不学电脑了!”


    posted @ 2007-09-07 06:08 CharlieShen| 编辑 收藏

    一则chat时之笑话

    A: 聊的真愉快.....

    B: 是ㄚ....

    A: 对了, 你都是在那里连上网路的呀 ?

    B: 我在家里呀!!

    A: oh...? 家里也可以连 ??

    B: 我用 modem 呀!

    A: oh.....modem 牌电脑可以上网路呀??

    B: .........

    A: 怎麽没反应??

    B: sorry....我刚刚在地上打滚.....

    posted @ 2007-09-07 06:07 CharlieShen| 编辑 收藏

    流浪汉

    前些时,据闻比尔.盖茨在大街上遇一流浪汉.

    该人向比尔.盖茨请求施舍,在一番软磨硬泡之下,比尔.盖茨向他抻出了援手.该流浪汉感激之余给比尔.盖茨留下了他的E-MAIL.

    比尔.盖茨几欲昏倒在地,后经调查方知此E-MAIL乃收容所给流浪汉们配备的新式武器


    posted @ 2007-09-07 06:07 CharlieShen| 编辑 收藏

    设定密码

    一位女性电脑顾问正在帮助一位男士设定他的电脑:“你想用什么英文单字当成登入系统的密码?”

    这位男士有意要她难堪,于是告诉她:“PENIS!”

    只见她不发一语,直接就输入这字当成密码,结果电脑的回应是:“PASSWORD REJECTED. NOT LONG ENOUGH!”


    posted @ 2007-09-07 06:06 CharlieShen| 编辑 收藏

    阿褥多罗三藐三菩提

    某日,信手翻阅佛经,忽发奇想,遂取昵称为“阿褥多罗三藐三菩提”,

    (为大智慧,至高境界之意),自觉此举既显博学,又无重复之虞,甚为得意。

    晚饭时分,退出BBS,照例收到“情书”一封。忽闻身边有人抑扬顿挫念道:

    “亲爱的、阿伦,直到今天,你才终于肯让我称呼你为···,为···为

    阿···阿···阿褥多···阿褥多罗三藐三菩提?!···嘿!这是什么玩艺儿

    管理员,出乱码啦!···”举座愕然,片刻间,众皆绝倒,喷饭声此起彼伏


    posted @ 2007-09-07 06:06 CharlieShen| 编辑 收藏

    再见OICQ

    我再也不用OICQ了,放心,绝对不是开玩笑。再次请你放心,我也不是罢网,我现在身心都十分健康,不会做傻事的。原因:

    1、OICQ服务器太差,我总是连不上线,看着那晃来晃去的小企鹅,我心里烦,总是怀疑是不是自己机器出毛病了,无形中增加了我的心理负担。

    2、网恋受挫,没脸再去见OICQ上面的父老。想当初我是如何嘲笑他们如何如何失恋的,就可以准确的预测到他们将会如何如何嘲笑我如今的悲惨遭遇。太人性了,我现在需要的是安慰,不是打击。

    3、网恋受挫,不愿意在去OICQ那块伤心地。曾经花前月下,只差洞房花烛;而今两两相对却形如路人。让我忘记它吧,让我忘记她吧!

    4、发现一MM居然为一DD假扮,而我曾经和他在OICQ上面海誓山盟,想起恶心,干脆不用了。象这种典型的变态型白痴活跃在网络的任何一个角落,稍不注意就被他们玩弄,自己的感情受骗,人格受辱,财产受损,明天我也改行干这个算了。

    5、OICQ好友名单内人数已达三位数,我不堪重负,如果我没有定期删除没什么共同语言的“好友”的习惯,这名单早就突破四位数大关了。

    6、马上要念书了,OICQ只能分我的心,如果没能把我要学的学好,我将面临下课,我害怕。

    7、我的号码里面没有吉利数字:221602、265460。。。我喜欢3、4、7、8、9,正好一个都没有!

    8、我的一个朋友在用ICQ,比我的OICQ高级,因此他还在大庭广众之下大声笑话我。

    9、每月网费太高,为缩减开支,我需要减少在网上的活动,OICQ就是第一个遭打击整改的项目。不过很多人都知道,我的网费和电话都不用我出,可这看着公司从电信局用钞票换回来的发票,我都有点不好意思了。

    10、在最新版的OICQ里面,我还是找不到自己的照片,上面的那些已有的头像都不象我,我不知道选什么好,实在是反差太大,我怕别人看了OICQ上面的头像再见我人,会说我是个骗子,装天真。

    11、OICQ上面有个人骂我是白痴,我也骂还了他,不过我好象骂不过他,他打字速度比我快。

    12、OICQ公共聊天室有管理员,而且他不准我讨论黄色话题,而且我申请不到管理权。

    13、OICQ总是给我“执行非法操作”,我的IE就不会出现这种情况,IE要死就直接死掉,然后重新启动就是。

    14、在OICQ上对我说话的人有一半以上我不认识,更可气的是,那个不认识的人对我说了一句话,我问他:“你是哪里爬出来的?”然后把他加进好友名单,从此,他又再也不和我说上半个字,甚至再也看不见他上线。

    15、。。。

    以上原因任何一条都有可能是导致我不再使用OICQ的原因(多选题),任何一条也都足以让我这样性格的人再也不能委屈自己去用OICQ,反正我是不用了,我烦它,因为它总是烦我。

    posted @ 2007-09-07 06:05 CharlieShen| 编辑 收藏

    为什么不买电脑

    员工们向公司提议购买电脑,以增加工作效率。但老总却坚决不同意,他是这样跟园工解释的: 首先,我们必须承认电脑是一样好东西,但是它的危害也是极大的,这主要表现在以下几个方面:   

    第一、电脑中有一种非常厉害的“千年虫”,这虫子神通广大,有七十三变,比孙猴子还多了一变。它有一千年的历史都已经成精了,你们想想看,它可有多厉害,打个比方说,如果我们将一百万元存入银行,这虫子来了,会把账本偷走,那么我们的钞票就打水漂了。

    第二、电脑中有一支非常凶猛的“雅虎”,是一个叫杨致远的台湾佬养的,这家伙不安好心,经常牵着这只猛虎招摇过市,吓唬群众。有一天晚上,他利用这只真的吃人的老虎恐吓了一个大款,结果诈出了一亿多美元,乖乖真的不得了。

    第三、电脑中有很多很多的病毒,像什么美丽杀手啊,切诺贝利啦,这些病毒传播速度快,感染能力强,万一不小心,传染到了我们身上,岂非大大的不妙。

    第四、买电脑还要买“猫”,再加上什么“鸡”呀,“鼠”呀,这么多乱七八糟的动物,都挤在办公桌上,吵闹不说,拉的屎谁来清理。

    第五、电脑上还有一张很大的网,东到老美,西到老英。而我们公司不过是网中的一条小鱼,中国有一句俗话,叫做“鱼死网破”,反过来讲,万一这张大网一不小心,被谁捅了一个窟窿,那么我们的企业不也就完蛋了吗,所以我们坚决杜绝这类事件的发生。

    第六、美国有个恐怖的“KKK”党,而网上经常会出现“www”党的踪影,这个党也肯定很可怕,为了保护我们自身的安全,我们要坚决远离它。

    第七、电脑上有一大堆骗子,明明和你聊天的是一个老太婆,她偏要冒充是个小姑娘,岂有此理。第八、电脑的脾气很大,动不动就给你来一张黑脸,人怎么可以受机器的气呢!

    第九、电脑非常地娇嫩,你对它稍微使点性子,它就死掉了。

    第十、电脑中的怪物实在是太多了,像什么“网络蚂蚁”、“吸血鬼”、“老鸟菜鸟”、“网虫大虾”、“笨头鸡”、“屎打猫”。。。这些怪物我们简直是闻所未闻,听名字都不是什么好东西,因此我们也要避而远之。   

    就讲这十点,希望大家能够牢牢记住。电脑这鬼东西我们是坚决不买。

    posted @ 2007-09-07 06:05 CharlieShen| 编辑 收藏

    IT产业笑谈录

    1、AMD:它的CPU极大带动了原本濒临灭绝的CPU风扇产业,同时也帮助贫穷国家普及空调定了一个极好的理由。

    2、Seagate:它的硬盘发热量之高,噪声之大,不仅开发出了硬盘风扇这个特殊产业,更是为家用隔音器材开辟了新的消费群体。

    3、3dfx:坚持收购STB而放弃了巨大的显卡市场盟友(Creative、Diamond),等于自废武功,成就nVIDIA霸主地位,实乃助人为乐好企业。

    4、VIA:芯片组磁盘性能差,但价格便宜,在扩大自身市场份额的同时帮助Hot Point和Promise开发出了IDE接口卡的新市场。

    5、AMD:没错,又是AMD,它的CPU功率巨大,耗电量非其他同级别CPU可比,帮助电源生产企业共同开发电源市场。

    6、INTEL:大好形势下突然脑袋发晕,自己给自己套上一个RDRAM的紧箍咒,不过也算帮助RAMBUS公司扩大了市场份额,延长了生存时间。

    7、ALi、SiS:虽然VIA的芯片组性能很差,但由于有这两家垫底,故而还算中等水平,它们的确功不可没啊!

    8、Aureal:3dfx的翻版,真不知道它们的总裁是不是同一个人,估计共同点就是喜欢助人为乐。

    9、Microsoft:随着Windows版本的提升,系统对硬件的要求越来越高,对CPU和内存产业的帮助尤为重大,绝对是INTEL和现代等公司所顶礼膜拜的对象。

    10、中国内地各大品牌电脑公司:垃圾硬件集散地,绝对是帮助垃圾硬件生产商生存的顶梁柱。

    posted @ 2007-09-07 06:05 CharlieShen| 编辑 收藏

    杀毒

    我负责单位的计算机房,经常同事的计算机有问题来向我讨教。一次孟老师见到我说:“大强,我的机子染上病毒了,你能不能帮我杀一下?”我说没问题。这时张老师推门进来,一听说忙道:“先帮我杀一下吧!”孟老师说:“我的机子就在这儿,先杀我的。”张老师说不行。我忙劝道:“大家别急,先杀孟老师的,张老师你别急杀完他后马上就杀你,都要杀的!”
    posted @ 2007-09-07 06:05 CharlieShen| 编辑 收藏

    HTML

    A:你知道HTML是什么吗?

    B:当然,笨蛋!就是“How to make love?”

    posted @ 2007-09-07 06:04 CharlieShen| 编辑 收藏

    解决CPU散热的最佳方案

    1、对电脑室内墙面及地面做防水处理(防止影响左右邻居和下层住户)。

    2、在适当位置安装100mm口径进排水管各两根。

    3、向屋内放水,至水面与电脑桌面平齐,水温控制在20度以下。

    4、开机,待CPU释放热量使水温升高至25度,开启排水管,流速控制在0.5米/秒。

    5、三分钟后打开进水阀,流速与排水管相当。

    适用范围:有CPU N块的超级发烧友或大型游戏房。

    最大优点:经济环保节省资源,又可使操作者享受温水浴,保持头脑清醒并可减肥瘦身。


    posted @ 2007-09-07 06:03 CharlieShen| 编辑 收藏

    其实每个爱情都危险

    "其实每个爱情都危险,每次开始都非常缠绵, 也能相安无事几个春天, 害怕只是它一点点在改变。" 辛晓琪这首歌从来也没有像今天听来这样入心入肺。 因为突然听到一个朋友已经离了婚的讯息,事前看不 到什么迹象,甚至连最 "八卦" 的那位 "百事通" 也 嗅不出一点气息。也许离了就离了,没有什么大不了 的。

    这位朋友与丈夫结婚十多年了,也有过如胶似漆 的日子。记得有一次她生日聚会时,花店的伙计给她送来了一束玫瑰花,在一片哗笑声中,她坦然是她在外地做生意的丈夫特意让人送来的。看她一脸幸福的样子,大家都很羡慕。

    可是岁月让爱情慢慢地一点点风化了,对离婚的人来说,相信两人关系恶化并非一朝一夕的事。而任何一对恩爱夫妻其实都有对对方的不满和抱怨。有这样一个真实的故事: 一位结婚十年的妻子早就注意到了丈夫挤牙膏时总是随意性很大, 挤完后牙膏留下不少凹痕。她是一个凡事一板一眼的人,有一天早上 她终于忍不住了,冲着丈夫嚷道: " 你能不能每次挤 牙膏时都规规矩地从后半部开始挤,我最讨厌你大大 咧咧瞎挤的样子。" 此话一开口,丈夫立即反驳说: " 那好,我也说一下你身上的讨厌之处。" 他一口气 举出了太太很多不是。结果,两人大吵一架。 这些本来都是一些微不足道、无伤大雅的事,但发生多了,就会不断地伤害夫妻关系。

    有一位离婚不久的女人回家收拾东西,见前夫和一个女人在一起,嫉妒之情油然而生,她有点不甘心 地把前夫拉到一边问: " 你还爱我吗?" 前夫反问: " 你先问问自己,你还爱我吗? " 她想一想,似乎自己真的不爱他了。 岁月在不知不觉中已经吞噬着爱情,让对方在你的心中变得无足轻重了。 

    与其让爱情慢性 "自杀", 倒不如使爱情积极变化、生长。有位幽默作家因此提出了一个婚姻期限的 办法: 每宗婚姻签约五年,过期无效,可以续约。为 的是让婚姻更有活力,避免因婚姻生活遥遥无期而产 生的倦怠感和不思进取的惰性。当然这只是调侃之言, 不可能做到, 但它的意念颇有启发性, 如果夫妻因 为相处时间有限, 而倍加珍惜, 爱情会更为绚丽。 当然有时候离婚并不是爱情真正走到尽头的结果, 而是出于一时意气用事。 有一对夫妻第一次去街道 协议离婚,工作人员不在; 第二次去时工作人员也不 在; 第三次他们懒得去了。 后来他们的日子过得好 好的, 夫妻感情笃深, 这时他们才后怕, 要是那 两次街道的工作人员在呢? 结果就是另外一个样子了。

    其实,只要有两个人相处着, 理性而积极地改善关系,说不定就会柳暗花明转危为机的时候。 而且, 在危险的爱情边缘走过一遭的人, 会对婚姻更有深刻的领悟,善待对方,白头偕老。 

    posted @ 2007-09-07 06:02 CharlieShen| 编辑 收藏

    升华感情密切关系——亲热称呼法

    称呼,常常是两人感情的传导器,每对恋人都希望从对方那里听到对自己的爱称、昵称或其他亲热的称呼。
      简单的一句称呼,它是度量人际关系远近的一把尺子。异性间的爱情关系是人类最自然、最密切的关系。恋人间的称呼能反映出两人世界的微妙关系。
      首先,称呼的变化标志着“爱情浓度”的变化。青年男女由相识到相知,进而发展到相亲相爱,是有其自然的发展过程的。这种发展过程不仅可以从双方眼神的飞顾流盼的暗示中看出,而且双方的称呼的变化也会将爱情的秘密泄露出来.
      比方说有一个姑娘爱上一个叫王志平的小伙子。一开始她随大家叫他叫“王志平”,直呼其名,看不出多少感情色彩。随着双方感情的加深,她当众叫他“志平”,省去姓氏,就显出他们的关系非同一般。再发展一步,她只喊一声“平”,就叫小伙子心旌摇了。这几次称呼的变化,都意味着爱情的升华,显示出恋人间的心理距离在不断缩短。 因主演电视连续剧而风靡全国的青年演员林芳兵,她的恋爱、婚姻颇富戏剧性
    。她曾戏称自己的丈夫--原沈阳音乐学院指挥作曲系才子李凌是“第三者”。
      八十年代初,林芳兵去长影拍《幽谷恋歌》邂逅李凌。以后李凌常去电影学院找校友--林芳兵师姐亚威的名义来找林芳兵,而林芳兵对李凌总存有某种戒备。
      后来,两人分别都到了北京。李凌常去电影学院找芳兵,芳兵也有时来李凌家“礼节性回访”。一来二去,芳兵对李凌产生一种亲切感,将“李凌同志”改称“李凌大哥”。几年后,两人终成眷属,“第三者”成了“第二者”。
    而最能显示情人间的浓厚感情和亲密关系的,就是恋人之间的呢称了。恋人间的呢称千姿百态,因人而异,但是它们又有很高的隐蔽性,一般在私下场合才用。如英语里的Hney(甜心)、Darling(亲爱的)、中国的“我的心肝”、“宝贝”等,这些昵称已成为恋人们的“专利品”,只有他们才会体味到这一声声昵称里包含了多少蜜意柔情。
      恋人、夫妻间适当的昵称,实在可以使彼此增加几许柔情蜜意,切不可因一时的疏忽,而错过了表达自己深情的机会。
      一名男子出差办完了事,买好回家的飞机票后,就到邮局给妻子发电报。他拟好电文,交给女职员后,说:“请算算要多少钱?”对方讲了钱数,他点了点自己的钱,发现不够。“把‘亲爱的’这几个字从电文中去掉吧。”他说,“这样钱就够了。”“别这样。”那姑娘说,同时打开自己的手提包,掏出钱来,说:“我来为‘亲爱的’这几个字付钱好了,做妻子的极想从丈夫那儿得到这几个字眼儿呢!”
      可我们有些青年人没有注意这点。他对心上人的称呼越来越简短,初交时叫“王小丽同志”,成为熟人时叫“王小丽”,成朋友了叫“小丽”,热恋时叫“丽”,可一结婚,就干脆把这个字也免了。“哎,你来一下”,“哎,......”叫人听了真不舒服,显然将影响两个人的关系。 

    posted @ 2007-09-07 06:02 CharlieShen| 编辑 收藏

    心的出轨与身的出轨,你更在意哪个?

       他说---两者都很难接受。但若是轻微的精神出轨,还能接受。其实,很多时候我们看到很有吸引力的异性,很难让自己不在精神上出轨,这类的出轨,我称为轻微的精神出轨。至于肉体的出轨,我很难很难想像。
      她说---男人要变了心,八百头老牛也拉不回来,不是有个作家说,世界上有几样东西是失去了就永远也回不来的,比如过去了的时光,掉落的头发,割掉的器官……还有一样就是变了心的情人。如果只是肉体出轨,还可能是一时冲动或者一时糊涂,还有挽救的余地。

      他说---留得住人留不住心有什么意思?我觉得精神出轨是比肉体出轨更可怕的一件事。我不愿意跟一个躯壳生活在一起,维持徒有其表的婚姻形式。

      她说---两者都一样是死,只是怎么死的问题……若真的得选择,更不能忍受肉体出轨吧。因为对我来说有感情才会有SEX,她如果把自己身子都交出去了,心也早交出去了。

      他说---夫妻之间强求100%的爱没有必要,也不大可能。我太太只要有70%或者80%爱我,我觉得就可以了。同样的道理,我也只能用自己的70%或者80%来爱她。如果她除了我以外,情感生活是一片空白,那么,我可能会有点轻视她,至少,我觉得她不够丰富。

      她说---Falling in love比较容易原谅。我们生活的每一天,都会遇到很多attractive的人;而人,一般都欣赏漂亮美丽的人,所以physical attraction而导致精神上的出轨,还OK。但,千万不能有肉体上的出轨,即使没有爱也不行!如果我知道他在肉体上出轨,他一定会死得很惨!

      他说---精神出轨在每个人身上随时随地都可能发生。你敢保证你太太心中除了你以外,再没有欣赏和喜爱的异性吗?你敢保证你自己心中除了太太以外,再没有欣赏和喜爱的异性吗?我相信无论男女都会被不止一个异性吸引,而你最终只能跟一个人结婚。

      她说---我有一个女友,丈夫很会赚钱,就是老不在家。她出去跳舞,有意跟别的男人结识,然后有过一夜情。她对这事完全无所谓,嘻嘻哈哈讲给我们几个好朋友听,对丈夫也没有内疚感,因为她爱的还是她丈夫,跟那人只是单纯的性,没有爱的。她把性和爱分得清清楚楚。所以,她也不介意她丈夫肉体上的出轨,只要她能确信她丈夫最爱的还是她。

      他说---我跟我妻子说,我在外面做事,诱惑非常多,有时候还真怕自己把握不住自己。如果我真做了什么错事,希望她能拉我一把,原谅我一次,别让这个家轻易散了。作为交换,我也可以原谅她一次。她同意了。

      她说---精神上的出轨比较难以接受,若我很爱他,他不再爱我了,我会很受不了的。肉体上的出轨,还可以原谅。

      他说---我希望我的妻子出一次轨,精神上、肉体上都行。她好歹也是一大学毕业生,不知现在怎么就成了这样。不看书、不学习、对新鲜事物不感兴趣。每天除了烧饭、买菜、看电视、带孩子就没别的了。看到电视上的第三者就骂人家贱。你要想跟她谈点什么,感情生活上提点要求,保不准就翻脸说你心思活泛了,也想当"第三者"了。简直是封闭保守,一潭死水。我想着她要真出一次轨,也许还能把她这潭水搅搅活。

    posted @ 2007-09-07 06:01 CharlieShen| 编辑 收藏

    聪明的爱人不说永远

      你约会迟到,大概要迟15分钟,那么,你用电话通知对方时,倒不如说:"我也许要迟30分钟。"假如你老实的说:"我要迟到15分钟。"那么,即使你只是迟了14分钟,对方也会觉得已经等你很久了。可是,你说是30分钟,却只是迟了15分钟,他会觉得你早到了,非常高兴看见你。你已经早到了15分钟,他还怎么好意思责怪你?

      你本来要30分钟才赶到,但你在15分钟之内已经到达,可见你多么重视这个约会。如果他要怪你,便是他不近人情了。你唯一要冒的险,便是对方在电话那一头听到你说要迟30分钟时,他也许会不满地说:"还要30分钟?"

      不要给对方太大的期望,也不要许诺一些什么。当你让他失望,却又很快给他一个惊喜,这样,他会心悦诚服。

      即使你没有,你也要设法让他感到你努力不让他失望。

      所以,聪明的人不会说"我永远爱你"。他们只会说:"我不知道可不可以,但我会努力。"

      那么,即使他后来变心了,你也会原谅他,因为你相信他曾经付出最大的努力。如是他一开始便说永远爱你,后来却做不到,你会认为他根本没有努力地去做。

    posted @ 2007-09-07 06:01 CharlieShen| 编辑 收藏

    男人本色.女人风韵

    男人恋爱时用眼,女人恋爱时用心。
    男人的眼睛靠辐射,而女人的心靠传导。
    男人追求女人,是迅猛出击,但结果往往雨过天晴,女人追求男人,则缓慢渗透,却可以滴水穿石。
    男人考验女人的办法是远走高飞,女人考验男人的办法是约会迟到。
    男人喜欢放出诱饵垂钓爱情,女人喜欢不惜血本守望爱情。
    男人恋爱后变得可怜巴巴,女人恋爱后变得神经兮兮。
    女人恋爱期间渴望对方裸露心灵,男人恋爱期间渴望对方裸露身体。
    女人美丽的面容,是使男人拜倒的“迷魂汤”,男人的甜言蜜语,是使女人投入怀抱的“杀手锏”。
    男人恋爱希望把复杂的过程弄简单,女人恋爱喜欢将简单的事情弄复杂。
    男人无情地把初恋情人当做一次性饮料,满足渴望后毫不吝啬地扔掉,女人深情地把初恋情人当做哺育成人的乳汁,一辈子品尝他的回味。
    男人选择女人,目光瞄准脸蛋,女人选择男人,心思放在钱包。
    男人恋爱是因为无事可做,女人恋爱是因为好奇心驱使。结果是男人烦恼女人失望。
    男人希望女友经历越少越好,女人却希望男友经历越多越好。
    男人希望做女人的初恋情人,女人却想成为男人的最后情人。
    男人像陈酿老酒,随时间推移越发珍贵,而女人像鲜嫩的牛奶,保值期很短。男人越老越可爱,女人珠黄无风采。
    太美丽的女人让男人失去欲望,而太有钱的男人让女人缺乏安全感。
    女人失去了爱情会觉得很空,男人获取了爱情却觉得很累。
    男人怕别人说小,女人怕别人说老。
    女人用耐心化装来掩饰自己的面容,男人用故作深沉来掩饰自己的内容。
    女人的青春标志一种价值,而男人的青春表示一种肤浅。
    男人吻女人是一种回收的贷款,女人吻男人是一笔放出去的投资。
    女人的温柔是一个陷阱,男人的深沉是一座空房。
    男人喜欢夸耀他的勇敢追求,女人喜欢夸耀她的理智回绝。
    男人流泪人们会认为软弱,女人流泪人们会产生怜悯。
    男人的多情是一种乐趣,女人的多情是一种堕落。
    男人渴望向女人倾诉苦衷,女人却愿意听男人炫耀成功。
    在语言上,女人像个漏斗,男人像个容器。在生活上,男人却像个漏斗,女人像个容器。
    男人的爱像洒下的露珠,每一颗都是完整的存在,又都不是存在的全部,经不起阳光的照耀,而女人的爱却像碎了瓶的啤酒,倾撒在地上,月光下发出持久的麦香。
    女人对男人的期望比物价涨得还快,男人对女人的感情比股市变得还勤。
    男人是女人的价格,女人是男人的商标。
    男人的通行证是能力,女人的通行证是面容。
    女人希望恋爱总在路上,男人希望恋爱一步到家。
    男人恋爱会变得坚强,女人恋爱会变得更娇弱。
    男人恋爱是因为轻率出击,女人恋爱是因为躲闪不及。
    男人恋爱容易远视,女人恋爱容易近视。
    恋爱中女人学会了说梦话,男人改掉了说脏话。
    恋爱中男人什么诺都敢许,女人什么东西都敢要。
    恋爱中男人是女人的整个世界,女人是男人的一个月亮。
    恋爱中的男人的个性是多余的,女人的头脑是多余的。
    恋爱中男人是女人的钱包,女人是男人的影子。
    恋爱中男人忘我的投入,女人投入得忘我。
    恋爱中男人在花开时就盼着结果,女人却在花季里想到落叶。
    恋爱中女人常在建筑了高楼后才发现没有基石,男人常在拧开了龙头,才发现没有水流。
    女人失恋后留下的时伤口,而男人失恋后留下的是老茧。
    男人追求女人结果在一刻,女人追求男人结果在一生。
    女人意识到自己的美丽时男人的悲哀,男人意识到自己的才能时女人的幸福。
    女人温柔时充满幻想,男人温柔时充满渴望。
    男人恋爱意味着丰富并走向成熟,女人恋爱时意味着单纯并滑向深渊。
    女人恋爱像走进大自然,男人恋爱像走入地下室。
    男人的爱情像闲暇时的散步,女人的爱情像丢失钥匙后的寻找。
    男人恋爱时对对方无所祈求,女人恋爱时对对方无所不求。 

    posted @ 2007-09-07 06:01 CharlieShen| 编辑 收藏

    恋爱中的女人没有错

      一个女孩打电话给我,向我谈起这样一件事:她的男友在大庭广众之下吻了她一下,使她很失面子。她曾反复告诫男友,可男友就是“恶习”不改。她一怒之下就打了男友一记耳光,闹得两人非常尴尬,彼此冷淡了一个多月,谁都没向谁认错道歉。可她从心里又觉得男友英俊潇洒、学业事业都很成功,只是有些浪漫而已,本想教训她一番,不是真心想放弃这份“恋情”。她问我:“该如何处理这份感情?”我略微思考了一会儿,就对她说:“男友吻你,这没有错,只是吻的场合不太合适;你打了男友一记耳光,这也没有错,只是打得不是时候,如果周围没有第三者,你打他一两下,他会很‘皮实’的。恋爱中的人之间因情吵架都没有错,关键是要处理得适当适度,给对方留有回旋余地。你最好找一位知己,将自己的想法转告给你的男友,如果你的男友是一个宽宏大量的人,他不会记恨你的‘一掌’之仇的。千万别因‘爱’而‘恨’啊!”她听了我的话后欢喜地笑起来,连说“谢谢”。

      静静地坐下来,想一想这件事,觉得现在的年轻男女谈起恋爱来,真是花样繁多,情趣盎然,令人琢磨不定。每个年轻人都生活在各自独特的文化氛围和环境中,所以说每个人的性格、修养、气质各有自身的优势和不足。自己能接受的恋爱方式和示爱举动,也要先为对方考虑一下,看对方能否接受和满意,要不,真会闹出误会和不快的事。

      恋爱中女人常犯的错误

    一、投入得太快

      当你与他相识之后,不要期望每个周末都与他共度,或是坚持要替他重新布置他的家居。一定不要心急哟!

    二、太早接纳对方

      想与男朋友分手的最快捷的方法是告诉他:你爱他,要为他生一个孩子。他的反应多半是逃得无影无踪。

    三、自欺欺人

      你是否清楚他的每一项表现背后的动机?他是否同时与别的女孩约会?你们多长一段时间联络一次?你真的认定他是托付终身的对象?你以为他那暴戾的脾气不是什么严重的毛病? 

    四、打扮过分夸张

      你应该表现的是自信、大方、得体,吸引力并不在于过分卖弄性感。男性会认为天然的吸此力胜过人为的加工。

    五、说话太多

      即使你们都很渴望互相了解,也用不着在最初几次约会里就将一生的经历如数家珍般道出。沉默往往是女性的魅力之一。

    六、太在乎他的钱

      如果你点了一份龙虾晚餐,并且告诉他你最喜欢的饰物是钻石的话,那就请尽快地享受这顿吧。你将不会再见到他。男人喜欢有见识的女人,而不是那些一心找寻长期饭票的人。

    七、过早邀请他回家

      有些男人以为你邀请他回家就是邀请他上床,因此最好多等一段时间。待你们有了进一步了解之后,就不会产生类似的尴尬场面。

    八、取悦对方太卖劲

      你以为替他洗衣服、做饭及料理家务,他就会更喜欢你吗?请再仔细想想看,如果你甘愿做他的“保姆”他就会毫不客气地录“少爷”。(恋爱中女人常犯的错误:投入得太快)

    posted @ 2007-09-07 06:00 CharlieShen| 编辑 收藏


    坏男人和坏女人

    再坏的男人,也有女人爱上他,再坏的女人,也有男人爱上她,只因为---女人想改变坏男人,男人想征服坏女人。女人坏是男人把她教坏;男人坏,是女人把他宠坏。 

      坏男人可以激发女人的母性和野性。 

      男人越坏,女人越觉得他缺乏爱,于是用爱去感化他。每个女人,是自以为唯有自己才可以改变一个坏男人。他越不合作,她越不肯罢休。他赶走她,她偏偏不走,她以为坏男人一旦失去了她,便会变得很可怜。她并不知道,在别人眼里,她最可怜。 

      坏男人离经叛道、不依常规、风流不羁,一个平凡的女人遇上他,才发现世界的阴暗面,原来爱情可以暴戾、蛮横、色欲、互欧、出卖、背叛,实在太好玩。坏男人是她的兴奋剂,她渐渐分不出好坏,只求片刻欢娱。 

      坏女人可以满足男人的大男子主义和英雄感。 

      男人都想做训兽师,收服野性难驯的女人。女人之坏,是奸诈、阴险、弄权、放荡。男人要收服她,一是比她更奸诈、阴险,令她甘拜下风。一是善良、老实、疼爱、原谅,使她相形见绌,明白世上还有好男人。 

      男人也想做大英雄,坏女人往往使人联想到SAX,她非常随便,很多男人都想和她MAKE LOVE。 英雄便要拯救这一朵欲海奇花,用爱感动她,用性征服她,使她从今后单单为一个男人忠贞。 

      有了爱,坏女人会变乖,坏男人却会变得更坏,只因为----男人的爱是驾驭,女人的爱是纵容。

    posted @ 2007-09-07 05:58 CharlieShen| 编辑 收藏

    恋爱要决

         大学校园真是一个谈恋爱的好场所。看看周围,一对对小情侣亲亲热热、甜甜蜜蜜的。而他们以前可能根本就不认 识,不知道哪一天两人之间忽然有了感情,于是就大谈特谈 起来,想想这也是一个不可思议、十分神秘的事情。于是众 多男孩女孩纷纷坠入爱河,不能也不愿自拔,上演了多少人 间悲喜剧。 不过校园里女少男多,真正能谈上恋爱的男孩恐怕只在 少数。于是就有了男孩追女孩一说。至于如何追法,则是人 言人殊,没有定论。相信这也是众多男孩十分关心的问题。 这里我提一点建议供大家参考。
        未到火候,千万别说。有些男孩才跟人家约过几次, 就提出要建立“更进一步”的关系,这十有八九要坏汤。爱 情上的事妙就妙在一切尽在不言中。说清楚了,话挑明了, 反而不美。本来人家肯单独出来跟你说话,这说明女孩对你 不无好感。但是这种好感有时连她们自己都说不清,你却急 于挑明,破坏了这种朦胧美,那就别怪人家敬而远之以致退 避三舍了。看看周围那些还没开始就夭折的爱情,许多都是 由男孩没有掌握好火候造成的。
        收起拳头是为了更好的出击。被女孩拒绝了怎么办呢? 有人说应该穷追猛打、坚持不懈。其实不然。除非你是一个 啥也不在乎的人,否则你很难承受女孩的白眼和同伴们嘲弄 的目光。倒不如偃旗息鼓、暂时撤退。这不仅保护了你的尊 严而且还留了条后路,从而为日后反攻创造机会。就让她在 人群里闯荡。等她碰得头破血流时,你再去找她,她才能认 识到原来你才是最爱她的人。即使实在割舍不下,要去找她, 也应注意方式方法。千万别让她觉得你讨厌。而这一点往往 是很难做到的。
        不要太露骨。要学会不声不响地关心她,用你的诚实 和善意对待她。只有这样你才能在一大帮围着她呱呱乱叫的 男孩当中引起她的注意。记住,只有特别的你才会引起她特 别的关注。
        非请勿入。一个老是往女孩寝室跑的男孩是不会引起 女孩太多的好感的。有些学生会干部借口工作常往女生寝室 跑,去了后就老赖在那不走,结果给人家带来了诸多不便, 效果只会适得其反。产生这种结果的根本原因还是因为太露骨。
        战略上藐视...,战术上重视...。有时你喜爱的女孩 会和你有些接触,比如谈谈话、聊聊天、一起工作等等。你 最好能以平常的心态看待这些事情,不要背上包袱、患得患 失。例如不要太在意她无意中说的话,有些男孩容易自作多 情,源出于此。但对每一次这样的机会则应引起足够的重视, 例如初次谈话要注意掌握好分寸,最好不要涉及情爱范畴, 不妨说说小时候的事。你如果只奔主体那就要糟!女孩非得 象警惕狼一样地警惕你。
        马屁最好少拍。你夸她长得漂亮,如果她真的漂亮, 那么你不过是第七百个夸她漂亮的人,而她映象最深的恐怕 是第一个这样夸她的人;如果她相貌普通,你这样夸她能产 生什么样的结果谁也说不准。要是让她发现你言不由衷,那 你就死定了。记住,哄女孩只有在女孩成为你的女朋友之后才能哄,还没追到手就开始哄是没有掌握好火候的表现。
        少来点大男子主义。有个男孩好不容易请得他倾慕已 久的女孩去吃饭,花了他半个月生活费。后来他去付账时发 现女孩已经替他付了,他就要还她钱。女孩不愿意。他觉得 女孩剥了他的面子,大为光火。女孩气得哭了。本来女孩替 他付账这说明她对他有好感,他不思讨好反而发脾气,如此就难怪他要打光棍了。几乎没有一个女孩会对那些不尊重女 性的男孩有好感,切记!切记!。
        团结大多数。几乎每个女孩都有一两个最知心的女友, 当其他道路都不通时,她们是你通往胜利的成功之路。你可 以通过她们了解女孩到底对你有没有意思,还可以通过她们 传达你的意思。这比你直接说要好得多。可千万别忽视这一 支生力军,我不止一次地看到男孩通过这个方法大功告成的。

    posted @ 2007-09-07 05:56 CharlieShen| 编辑 收藏