第一篇:《程序员岗前培训手册》
程序员岗前培训手册
北京应用技术大学
目录(CONTENTS)
前言
面试是双向选择
软件公司研发技术岗位扫描与岗位职责
如何快速融入技术团队(程序员入岗的注意事项)优秀程序员应具有的品质与习惯 谈谈学习方法
外包软件、商品软件、项目软件简介
前言
同学们经过在北京应用技术大学两年的学习,都满怀憧憬地向往程序人生的开始,也对即将走上的工作岗位和环境充满了期待,期待通过程序来证明自我的价值。程序员,相信在很多同学眼中是一个有趣、特别、高薪、充满艰辛而又非常神秘的职业,因为手下那一行行跳动的代码不仅实现了生动的功能,同时也表达着程序员对人生的理解和追求。当程序员实现了一个独到的创意之后准备熄灯休息时,天已蒙蒙亮…..当程序员看着用户熟练地操作自己的软件解决一个个复杂事件时,脸上那写满成就的微笑…..的确在这个行业里出现了太多的英雄人物和企业,而每一个英雄的事迹和成就都足以让我们热血沸腾、摩拳擦掌……
在同学们即将步入程序员岗位之前,需要对软件研发相关职位的职责范围与工作特点有所了解,掌握一些入职的基本技巧和注意事项,检查自己的技能与行为习惯,有的放矢,提高面试和就业的成功率。入职后能尽快地融入到技术团队,近而快速成长,成为团队技术骨干和最优秀的职员。在工作中养成积极而良好的行为习惯和职业素养,为自己的职业发展创造一个良好的开端。
本手册从面试、技术岗位职责、如何快速融入技术团队、优秀程序员的品质与习惯、学习方法、外包软件/商业软件/项目软件简介等几个方面阐述了同学们在踏入工作岗位之前应该了解的知识和注意事项。
面试是双向选择
一般同学都会误认为面试时应聘者处于弱势,要接受招聘者的挑选,从而从心理上承受很大的压力,而影响自己正常的发挥和才能展示。其实大可不必,因为面试是双向的,选人和择业是平等的。况且现在市面上的用人单位或招聘岗位也是良莠不齐,甚至还有一些骗子公司,这就要求同学们在应聘时擦亮眼睛,注意分辨。当然大多数公司都是良性的,他们要么是已具规模,各部门及岗位功能分工很明确,他们会根据业务的发展或作为人才储备而有针对性的招聘相关技术人员,而有的公司可能是刚刚成立,业务与核心技术还未形成,他们需要招聘到能为他们提供解决方案或创意的技术人员,所以对于这些类型的公司,他们对人才的渴求也都不亚于同学们对工作岗位的渴求,若是聘到一个优秀的技术人员对业务或项目的推进将会使公司获得更大的利益,或者使公司的发展少走弯路甚至能改变一个公司的命运。相反,如果招不到合适的人才或者使用一个较差的技术人才,不但不能推进项目的进展,还要花费几个月的培养时间和费用,甚至阻碍业务开拓甚至项目搁浅。所以当同学们想得到一个工作岗位的同时,也要看到企业更需要一个优秀的员工,二者是平等的。在面试时,同学们在一种非常平和的心态下,充分发挥,尽可能地展示自己已经掌握的技能,展示学习能力和发展潜能;另一方面也要尽可能地提前了解公司的背景和业务以及应聘岗位的职能,从而加以辨别和选择。一旦本次面试不能成功,表明要么岗位不适合你,要么你不适合岗位,或者因为你本次的表现不佳,这都是很正常的,一定不要有挫败感,要及时总结面试时的表现方式以及沟通技巧,若感觉自己的确能够胜任该岗位,只是因为自己的临场发挥不佳而没有展示出自己的实际水平,也可及时和招聘公司联系,经询问确认对方没有找到合适人选的情况下,表明诚意,请求复试机会。总之,若本次失败,一定不要影响下一次的面试,要积极总结,为一下次面试作准备。
正常运营的公司因业务的不断发展,人才需要不断的更新、补充和储备,所以他们一直都需要人才,况且公司每次组织招聘都会花费一大笔费用,也希望能够找到合适的人才,所以公司面试时一般不会出太吊钻的问题来为难你,同学们也不要过分担心。
另一方面,同学们在坚信“天生我才必有用”的同时,也要正确看待现在的就业形势,对第一份工作也不要过于理想化,要摆正心态,坚持从基层做起,先就业再择业,职场上“骑驴找马”也未必不是一种现实的理性选择。
总之,面试是双向性的,是招聘单位与同学们相互展示、相互认识、互相挑选的一次沟通过程。同学们 在求职的过程中,要正确看待面试,放下思想包袱,充分重视,充分准备,从容应对。
软件公司研发技术岗位扫描与岗位职责
一般中小型软件公司设置的技术岗位有:研发总监、项目经理、需求分析人员、系统架构与分析人员、数据库设计人员、程序员、项目助理与文档专员、测试人员、技术支持(售前/售后)、美工或网站前台人员等,这些职位的工作联系非常密切,根据公司规模的大小,以上职位可由一人或多人兼任,比如一个小型的软件公司可能只有一个人完成软件的总体设计、架构、编码、测试、文档等工作。这些岗位的职责范围大致是:
研发总监:全面负责研发及技术部门的整体工作。
项目经理:在整个项目开发过程中组织项目所需的各项资源,对项目的范围、项目的质量、项目时间以及项目成本进行管理与控制。根据项目范围、质量、时间与成本的综合因素的考虑,进行项目的总体规划与阶段计划,保证项目组目标明确且理解一致;在项目生命周期的各个阶段,跟踪、检查项目组成员的工作质量;保证项目在预算成本范围内按规定的质量和进度达到项目目标。
需求分析人员:项目前期与客户方打交道最多的人,对于客户来说,他可以代表整个项目组,对于项目组成员来说他的意见可以代表客户方的意见,项目组内所有与客户需求相关的事情必需得到他的认可。他的工作主要是:
1、在项目前期根据《需求调研计划》对客户进行需求调研。
2、收集整理客户需求,负责编写《用户需求说明书》。
3、代表项目组与用户沟通与项目需求有关的所有事项。
4、代表客户与项目组成员沟通项目需求有关的所有事项。
5、负责《用户需求说明书》得到用户的认可与签字。
6、负责将完成的项目模块给客户做演示,并收集对完成模块的意见。
7、完成《需求变更说明书》,并得到用户的认可与签字。
8、协助项目组有关人员对需求进行理解。
系统架构与分析人员:是项目的总体设计师,组织构建新产品的开发与集成、新技术体系等,也可以理解为技术总监。是在技术上对所有重要事情做出决定的人。系统架构在整个软件开发过程中都起着非常重要的作用,并随着开发进程的推进而其职责或关注点不断地变化。
1、在需求阶段,负责理解和管理非功能性系统需求,比如软件的可维护性、性能、复用性、可靠性、有效性和可测试性等。审查客户和市场人员所提出的需求,确认开发团队所提出的设计;组织开发团队成员和开发过程的定义;协助需求分析师完成《用户需求说明书》、《需求变更说明书》等。
2、在设计阶段,负责对整个软件架构、关键模块、接口的设计。对系统进行分析与建模,完成《系统架构说明书》、《系统概要设计说明书》、《系统详细设计说明书》。
3、编码阶段,成为程序员的顾问,负责重点代码检查,并且经常性地要举行一些技术研讨会、技术培训班等;
4、测试及实施阶段,随着软件开始测试、集成和交付,集成和测试支持将成为工作重点;
数据库设计人员:根据《系统架构说明书》负责进行数据库选型与建模。由于数据库是整个系统运行的核心,数据库设计的好差直接影响着整个系统的开发效率和系统运行的优劣。他是项目组中唯一能对数据库进行直接操作的人,对数据库结构的每一次改动都要得到他的认可。主要职责:
1、根据数据库建模结果,绘制数据库关系图。进行数据库建库以及数据库进行初始化操作。
2、对数据库进行维护、备份、恢复、同步。
3、负责客户数据的导入导出。
4、根据《系统详细设计说明书》编写对应的视图、存储过程、函数、触发器等。
5、对项目组其它成员进行SQL方面的指导。
6、为测试建立相关测试数据。
程序员:负责系统的最终代码实现。主要职责:
1、参与需求调研、项目可行性分析、技术可行性分析和需求分析。
2、协助完成《系统详细设计说明书》,并根据《系统详细设计说明书》进行编码实现;
3、对自己代码进行复查,并进行简单的测试。
4、撰写相关技术实现或功能描述文档。
5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。
6、参与软件开发和维护过程中重大技术问题的解决。
项目助理或文档专员:协助项目经理在项目日常管理和数据分析方面的工作,进行与项目有关的协调工作,编写项目进度报表,参与组织项目协调会,组织项目非技术文档的编写、传递与归档,以及与市场人员或其他部门的日常沟通,协助项目资源协调工作。跟踪项目进展。项目或软件包的打包、发布以及授权锁的制作等工作。
测试员:负责实施软件测试。测试是整个项目系统中非常重要的一个环节,项目质量的保证,他的主要工作就是找到项目中存在的不合理、不合格的部份,并要求项目其它成员按其给定的项目质量完成项目。保证了系统功能实现是否与功能设计和需求定义一致。主要职责:
1、根据软件项目规范编写测试计划,设计测试数据和测试用例。
2、采用合适的测试方法实施软件测试,形成各阶段的测试报告,并对软件问题进行跟踪分析和反馈,推动测试中发现问题及时合理地解决。
3、完成对产品的集成测试与系统测试,对产品的功能、性能及其他方面的测试负责。
4、协助程序员进行软件代码检查,提出对软件的进一步改进的要求。
技术支持人员:主要负责软件产品或项目在技术层面上与客户的交流,根据工作重点分为售前支持和售后支持。
售前支持:是销售人员和开发人员的桥梁,协调销售人员、用户、开发人员的关系,制作产品功能演示PPT文档或多媒体资料,将公司的技术实力向用户展示,技术标书的撰写,定期采集、分析和整理用户的需求,配合销售制订产品销售策略,从技术上支持市场销售业务等。
售后支持:负责编写《用户手册》、《操作手册》,制作系统操作视频教程等多媒体培训教材;负责系统实施(包括系统安装、用户培训、系统试运行等),协助用户进行“用户确认测试”和编写《确认测试报告》;通过电话、网络、及时通讯等多种渠道解答用户在使用中的问题,提供售后服务。收集、整理用户的建议等。
美工或网站前台人员:负责完成软件设计师安排的功能界面设计和简单网站的设计。
1、负责对项目整体色彩的调配。
2、向系统分析师提出项目美化的建议。
3、为BS 项目提供一套或几套CSS样式表及HTML结构表
4、为CS项目提供符合项目内容的静态、动态图片。
5、并为程序员提供界面指导。
如何快速融入技术团队
——程序员入岗的注意事项
同学们刚刚结束学校的集体生活,面对新的工作环境、新领导、新同事、新任务、新的制度、新的生活节奏,很多的变化需要你尽快适应,很多的事情需要你独挡一面,而又有许多事情需要你与同事通力协作来完成…… 以下是新程序员入职后尽快融入技术团队应注意的事项:
1、认真学习公司的发展背景与历程、主营业务以及规章制度。
进入公司前可能对公司已经有了一些了解,入职后,相关人力资源管理部门会组织培训,解读公司文化,介绍公司发展背景、主要职能部门以及主要业务特点,学习公司考勤、人事、办公等管理规定和规章制度。有些新入职的程序员或技术人员,认为这些不含技术成分没有必要花精力去学习,其实这种认识是错误的,公司文化及各种制度是整个公司的灵魂,是公司正常经营活动保障和员工行为的一种约定,新职员只有对公司的发展背景和经营状态有充分的了解,接受公司文化,高度认同公司的核心价值观,严格遵守各种规章制度,才能自觉地规范自己的行为习惯,在工作学习中才有主动性,遇到工作压力时也能坦然地接受,不会有抵触心理,从而能更快地推动自己的工作。
2、积极学习业务知识、类库及现有程序资源,把握学习的技术方向。
程序员入职后,若有一个成熟的开发团队,一般都会有一个老职员来带领学习,这一阶段主要有三个方面的学习任务,第一是公司业务知识,因为程序员只有对业务知识熟悉了,才能更好的理解和把握功能需求,比如做通信方面的软件,你要学习一些通信行业知识;若做财务软件,你要了解一些财务知识。第二,现有的类库是公司开发部门积累的程序资源,学习和使用它可以规范统一程序的风格,提高开发的速度,掌握并能使用这些资源,可使你尽快与老职员有程序上的共同语言。第三,学习并加强在此领域的编程技能,因为在学校学习的是通用的知识,掌握的是一种知识导入与学习的方法,那么在公司应用方面也许要求你某一个方面很精通,比如网站的前台、数据库、图形处理、多媒体、网络编程等某些方面的技能需要强化。案例:
小张(男)和小胡(女)是同一个大学毕业的应届生,在2005年4月份同时进入公司做技术支持,当时两人的工资都是每月1500元,而两年后的今天小胡已是研发部的一个程序员,工资是每月4300元,而且是公司重点培养的对象之一。小张现在还是在做技术支持,工资是每月2600元,他们两人可以说是起点相同,但两年的发展却让他们有了明显的差距,小胡比较爱学习,工作非常踏实,对业务知识也掌握得非常精通,而且在做技术支持工作的时候,业余时间学习编程,由于做技术支持与程序员交流比较多,小胡抓住了这个学习编程的机会,但她从不在公司上班时间学习程序,在做技术支持工作时,她上班时间钻研业务知识、软件需求、学习程序实现的思想,业余时间练习代码。在做技术支持一年后,她通过了研发部的考核,进入研发部开始做编程。而小张与她对比就不同了,他只是做好本质工作,没有潜心学习,对业务知识、软件知识只是一般了解,工作上很业绩平平,总体上不出色也没出大的差错。工资涨得当然也慢,小张和小胡的起点相同,但小胡比较主动学习,很明显他们两个在职场上的差距就拉开了。
3、展示进步,创新思考,体现价值。
入职之初,通过积极的学习与适应,应该说进步是非常快的,要及时的总结,并把工作学习的总结和进步程度及时向主管汇报(口头、邮件、书面),阶段工作总结应包括以下几点:已经完成的工作、技术上的进步、业务上的进步、从学生到职员心态上的转变、八小时之外的学习状态等。这样一方面可以疏理一下知识结构,把握自己的学习阶段,一方面让主管根据你的知识结构和技能状态有针对性地给你分配合适的任务。
另外在工作当中也要注重思考,对工作进行适当的改进,并提出改进意见,这样能更快是体现出你的进步和工作价值。
4、积极参加团队活动,适应团队文化,创造与团队成员友好而积极的协作氛围。
能尽快适应团队文化,与同事友好沟通是任何岗位都需要的职业素质,只是在研发团队里要显得尤为重要,由于研发工作的重要与特殊性,若在软件商品化和产品化的开发阶段,不良的沟通协作可能导致项目的流产。另外,部分程序员写程序久了都会很注重与机器或代码交流,有的不容易与新职员交流,有的他们因有大量的工作任务而顾不上,有的是因为他们有太多的思想与创意,和一个新来的职员没有共同语言,有的是人为设置“技术壁垒”(因担心新职员威胁到自己的岗位,而不愿传授一些知识)。那么新职员一定不要因为他们没有主动与你交流而放弃交流,或者认为自己被冷落而与逐渐远离团队,而是要在适当的时间与他们主动交流,主动向他们请教,积极参加团队的集体活动,创造与同事交流合作的良好氛围。要尽可能地为团队多做贡献,不要因为多干一些工作或多加一点班,就有不良的情绪,从而影响正常的沟通与交流。另外,在研发团队里的沟通与协作,还体现在代码上,自己设计的功能模块是否能为别人提供良好的说明和程序接口。总之,与同事友好愉快的协作,尽快融入研发团队,是新入职的程序员技术快速进步和稳定职位的重要因素。
5、正确面对工作压力,学会释放“厌职”情绪。
许多同学进入一个新的工作环境,面对的是很多新事物,感觉工作节奏太快,工作压力太大。其实新职员有工作压力也是正常的,从职业生涯发展的角度来看,这种工作压力是非常必要的。同学们在进入公司后,要勇于接受工作压力,把这种压力作为进入初职锻炼的良好机会,树立良好的心态,不要逃避,更不要产生“厌职”情绪,公司还正在培养你,你却选择退缩而自炒“鱿鱼”。工作中要学会积极与同学沟通,注意工作方法,释放和减轻压力。其实我发现一些新职员说工作压力大,做事不顺心,仔细分析之后可以发现他们感觉的工作压力大与“不合群”有很大的关系。有些同学到公司后,一坐下就是八小时,语言和行为与同事格格不入导致他不敢言语不敢行动,下班时间到了,其实他不是工作学习本身的累,他们感到更累的是“心”。这些新职员在工作中总是希望别人主动接近自己,自己却不会主动与人交流,时间长了,同事觉得他“不爱说话”,也就逐渐放弃了与他的交往,这时他又会感到被排挤,感到孤独,心理压力就会增大。另外技术上单打独斗,不能利用别人的资源,因此完成相同的工作,付出的努力和压力就要比其他同事大得多。所以新职员在入职之初,一定要正确看待工作上正常的工作压力,学会与团队成员友好相处,创造一种“如鱼得水”的工作氛围,那么真正技术上的压力都不会成为问题的。
如果公司还没有成熟的开发团队,需要你一个人承担开发项目,着手组建开发团队,那么就要求你充分一切时间,利用网络资源,有技术难点及时到网络上寻求帮助,同时与相关部门人员密切合作,保持动态及时的沟通,及时报告工作进度,争取尽快拟出解决方案或产品。
优秀程序员应具有的品质与习惯
善于理解与把握需求
程序员的劳动成果就是满足需求的程序,那么在动手写代码之前,只有完整地理解一个模块的需求才能做出好的程序,优秀的程序员在分析需求的基础上,应该能抓住问题的关键技术,从而能够建立合适的数据模型,尽量在代码中少走“弯路”。 善于学习与总结
当然善于学习,是对任何行业任何职业的最根本的要求,对于程序员,这种要求就更加高了。其实研发部门招聘程序员,其实并不一定注重你现在能做什么,而更注重的是你的学习能力、你的编程潜力,因为程序员是很容易被淘汰,很容易落伍的职业,一种技术可能仅仅在三两年内具有领先性,若你不能跟进新的技术,不学习新的技能,那么不断出现的新技术会使你显得非常笨拙。善于总结,也是学习能力的一种体现,每次完成一个研发任务,完成一段代码,都应当有目的的跟踪该程序的应用状况和用户反馈,随时总结,找到自己的不足,这样逐步提高,才能成长起来。
规范化的编码习惯
养成良好的编码习惯,比如:变量命名清晰,语句嵌套明确,函数具有独立功能,适当注释等等,因为这些不但有助于代码的移植和纠错,也有助于不同人员之间的协作。 良好的文档习惯
良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要高很多。缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。 代码复用性,模块化思维能力
复用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作,如果一个软件研发单位和工作组能够在每一次研发过程中都考虑到这些问题,那么程序员就不会在重复性的工作中耽误太多时间,就会有更多时间和精力投入到创新的代码工作中去。 团队精神与沟通协作能力
这是程序员应该具备的最基本的,也是最重要的安身立命之本。软件或项目的各模块功能需求的理解准确,一个功能实现的修定,是否会影响其他模块等,没有充分及时的协作对一个项目来说几乎是不可想象的。我做了几年开发,感觉沟通真的太重要了,其实软件研发过程中最重要的不是技术问题,而是管理中的沟通问题,比如初级程序员或许是碍于面子或其他原因,不懂的问题也不想问,总是把问题掖着藏着,而高级程序员又不理解初级程序员的开发任务总是完不成,其实可能是高级程序员不了解初级程序员的真正困难,或者没有把要实现的逻辑和思路讲解清楚。合作起来总会有一些不透彻,要么一个问题讨论多次依然是问题没有结果,要么是有些问题根本不反映,大家都掖着藏着,报喜不报忧,待到问题暴露已无法挽回,严重的阻碍了项目的进度。所以我最好的建议就是,高级程序员应该把问题讲到明白为止,初级程序员应该把问题问到明白为止,并且不仅仅是口头上讲明白、听明白,还一定要形成文字,现在网络非常方便,公司都会有企业邮箱,把问题的讨论过程通过mail的形式记录保存,明确确认,这样障碍才能去除,项目才能得以顺利进展。
案例1:
陈某是北京某重点大学自动化专业的毕业生,编程基础知识非常扎实,在学校学习期间也有许多代码积累,从技术上说应该是很有潜力的,但他性格有点孤僻,不太容易与同事沟通,当时录用他时公司是看在他的编程基础很好,以为在研发部大家多带动他,应该会好些的。进公司有两个多月了,一次在做某油田项目中负责其中一个小模块的开发,在开发过程中我经常询问他有没什么问题,他每次都有些含糊地说没有。可当项目交付的时候,发现他做的某一功能与当初功能定义不符,客户就抓住这一点说与合同中需求描述不符,由此延期支付28万的余款,使该项目后期维护起来非常被动。而导致这一结果就是陈某在做程序时有问题自己绕过去了,没有及时与项目组成员交流,而独自采用了他熟悉的一种解决办法。项目汇报会刚结束,人事部门就通知陈某交接工作,到财务结算工资…..文摘:下面这故事《请按一下九层》我一直和我的同事们分享。是《读者》中的一篇文章: 这是全市最忙的一部电梯,上下班高峰时期,和公共汽车差不多,人挨着人。上电梯前和公司的人力资源总监相遇,说笑间,电梯来了,我们随人群一拥而进。每个人转转身子,做一小小的调整,找到了一种相对融洽的关系。这时,一只胳膊从人逢中穿过来,出现在我的鼻子前头。我扭头望去,一个小伙子隔着好几个人,伸手企图按电钮。他够得很辛苦,好几个人刚刚站踏实的身子不得不前挺后撅,发生了一阵小小的骚动。
那个人力资源总监问道:“你要去哪一层?”“九层。”有人抬起一个手指头立刻帮他按好了。没有谢谢。
下午在楼道里又碰到那个人力资源总监。“还记得早上电梯里那个要去九层的小伙子吗?”她问我。
“记得呀,是来应聘的吧?”九层,人力资源部所在地。“没错,挺好的小伙子,可我没要他。”“为什么?”
“缺少合作精神。”她露出一副专业HR的神情,“开口请求正当的帮助对他来说是件很困难的事情,得到帮助也不懂得感激。这种人很难让别人与他合作。”
我点头称是。如果那个小伙子坦然而自信地说一句“请按一下九层”,结果会怎样呢?大家不但不会反感他的打扰,而且帮助他的人还会心生助人的快乐,最后他也能得到想要的工作。
这个故事表明,良好沟通不仅仅体现在礼貌地说声“请”、“谢谢”,而是一个职员能够创造愉快、高效、和谐工作氛围的素质和习惯。
时刻修定自己的认识和行为与公司的核心价值观(短期目标、长期目标)保持一致
公司或研发团队在什么时段做什么样的项目,或者根据项目进度的计划,在什么时间做什么功能模块,作为程序员要高度地与这些目标保持一致,不要在关键时刻“掉链子”,这是最重要的。
案例:
小张是公司里的转正不久的程序员,很聪明,对新技术接受很快,缺点就是非常的贪玩,对项目组的事缺乏主动性和责任心,平时的工作中主管已经提醒过他多次要注意工作的责任心,但他都不太放在心上,对事依然是敷衍。一次在做上海铁通的项目中,小张负责项目中的一个模块,当软件架构出来以后,需要出差上海为客户现场演示和进一步确认需求,由于合同还没有正式签下来,所以此行的技术交流对公司能不能签下这个项目至关重要,公司派由我和小张在内的项目组4人出差上海,临行前我们多次开会研究方案,确保拿下这个项目,下午到了上海之后约好第二天上午与客户见面,正当大家为第二天的交流捏一把汗,积极准备的时候,小张却说是第一次到上海,要求先去外滩看夜景,在得到项目组的否定之后,小张竟一个人偷偷到外滩看夜景至到深夜才回到宾馆。第二天的技术交流会上,小张负责的模块问题最多,虽然最后整个项目的交流还算成功,公司总算签下了这个项目,但小张也被辞退了。原因很简单,小张一直没有把公司的事放在心上,项目组出差第一目标是与客户交流好,拿下项目,而小张出差上海的第一目标是看一下外滩。所以象小张这样的技术上不管有多么出色,但总在公司的关键时刻“掉链子”,被公司辞退也是早晚的事。就在写此案例的前几天,在地铁上我偶遇小张,谈话中得知他被辞退后半年内又经历了一家公司。而此刻他又在匆匆地找工作。
谈谈学习方法
说起学习的方法,其实每个人都有自己的学习方法,也许这种方法对我来说有用,但不见得就对所有的人有用。所以,不要盲目的跟着别人的学习方法学习,要思考属于自己的学习方法。但以下几个原则是要遵守的: 坚持学习。首先要有毅力,对编程的狂热也可以在一定程度上起到帮助。学习编程应该说要经历好奇——困难——容易——郁闷——成就感——困惑——轻松的几个阶段的循回,不管哪个阶段都需要天天学习,坚持每天都要进步,不能半途而废,培养一种坚持克服困难的毅力。案例: 记得开发团队里有一个基础不是太好的程序员,刚入职两个多月,表现一般,有一天早上他眉飞色舞地在讲述昨天电视中的一个情节,我听到后就说了一句:“你还好意思说你看电视?”。他立刻明白了,就没说什么。从此他的进步是可以说是突飞猛进的,代码的质量和工作效率明显上了一个台阶,对项目的推动也是有目共睹的。几个月后的一次公司庆典上,他被评为“进步最快员工奖”,奖金3000元。奖后在他给我的Mail中发现了这句话:“你说我看电视的那句话改变了我的学习状态….我现在是马桶上、公交车上都在看书或笔记。”
坚持实践。当你学到了一种新的技术或知识时,多实践是巩固学习的一种最好最有效的方法。这个实践不是照著书上的例子做一遍,而是根据自己的能力,给自己出题,然后去完成它。只有这样,你才能发现自己的不足,同时又增加了编程经验。要成为合格的程序员,光会写代码是远远不够的,更重要的是在实践中思考创新。实践的多少决定着“高手”和一般程序员界线,高手们并不是天才,他们是在无数个日日夜夜中磨炼出来的。成功能给我们带来无比的喜悦,但实践的过程却是无比的枯燥乏味。
掌握编程思想。学一门语言,不能仅仅是语言,还要注重语言背后的思想方法,获得提出问题,分析问题,解决问题的能力,不是为编程而学习,因为编程语言和我们日常所说的语言一样,日常所说的语言是一种思想的表达,而编程语言是一种功能的实现。要学习它是如何来解决某一问题的,为什么要这样去做,他总是要符合客观事实的,存在某种逻辑,数据的组织,信息的传递,然后看该怎么样用编程语言来表达自己的想法。
多问、多总结、多记笔记。“三人行必有我师”,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。著名的交换苹果理论说的是:“你有一个苹果,我有一个苹果,当我们互相交换苹果后,我们仍然互得一个苹果;你有一个想法,我有一个想法,当我们互相交换想法,我们则互得两个想法”。遇到问题,上网查看一些技术论坛,看看别人对同一问题的看法,会给你很大的启发。在这个网络时代,资料到处都有,无论什么先进的技术,你可以问身边的高手,问网上的同仁,只要查到资料,快的学上几天慢的一两个月也能学会,学会后总结出技术要点记下来,可写在本子上也可写在Blog上,编程技能的提高靠的是代码的积累,把所有自己的代码保存起来,并附有适当的笔记,这样,到用到时才能信手拈来,才能获得踏踏实实的进步。所以现在已没有写不出的程序了,写不出不是因为不够聪明,而是因为你没有耐心和找 BUG 的细心。
不钻“牛角尖”,只抓主要问题,一些不影响工作的难点只要会用就行,这也体现了OOP的思想,你只要知道一个技术能完成什么功能就可以,至于它是如何实现的可暂时放一放,有时回过头来再看就不是什么难点了。当你遇到技术障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。
外包软件、商品软件、项目软件的操作模式简介
软件外包
就是一些发达国家的软件公司将他们的一些非核心的软件项目通过外包的形式交给人力资源成本相对较低的国家的公司开发,以达到降低软件开发成本的目的。因为软件开发的成本中70%是人力资源成本,所以,降低人力资源成本将有效地降低软件开发的成本。软件外包已经成为发达国家的软件公司降低成本的一种重要的手段。软件外包的大幅度增长为人力资源成本相对较低的印度和中国带来了新的发展机会。企业与企业之间的外包就是:企业(A)为了专注核心竞争力业务和降低软件项目成本,将软件项目中的全部或部分工作发包给提供企业(B)完成; 商业软件 商业软件(又叫“商品软件”)就是由商业公司在调研大多数行业用户的需求上开发的软件,该软件基本上能满足这些用户的需求,而且它的功能不会因个别或少数用户的要求而改动。随着互联网的兴起和软件授权销售方式的普及,商品软件的销售可软件公司直销、代理销售、专业下载网站销售等多种渠道,软件授权许可的销售模式往往是根据使用商品软件的用户数和安装该软件的计算机数来收取许可费用。项目软件 就是软件公司专门为某个客户开发的软件系统,该系统由委托开发的客户配合调研需求,“量体裁衣”,在关键阶段双方可派技术人员互相“渗透”,密切合作,共同完成系统的开发和实施以及运行。项目软件与外包软件的操作模式有相同性也有不同性。产品经理与项目经理
简单地说,产品经理是做正确的事,其所领导的产品是否符合市场的需求,是否能给公司带来利润的。而项目经理是把事情做正确,把事情作得完美,在时间,成本和资源约束的条件下完成目标。项目经理要对某个产品进行开发的管理,负责开发的进度,开发过程中的协调等有关开发方面的问题,他最大的目标是时间第一、立项目标达成第一。并不会很尊重产品本身的市场需求以及业务逻辑的问题。
而产品经理是横向管理的,也就是说他将负责某个产品或者某个产品线从商业计划市场竞争开发需求推广方案渠道策略等各个方面。产品经理一个产品线从头到尾的重要参与人。
第二篇:采购人员岗前培训手册(定稿)
采购人员岗前培训手册.txt9母爱是一滴甘露,亲吻干涸的泥土,它用细雨的温情,用钻石的坚毅,期待着闪着碎光的泥土的肥沃;母爱不是人生中的一个凝固点,而是一条流动的河,这条河造就了我们生命中美丽的情感之景。第一节 采购人员应该做什么
(一)采购人员岗前培训手册
一,分析采购需求
(一)采购市场调查
1,根据需求情况,制定市场调查方案,调查工作包括资源市场调查,企业外部环境调查,企业内部条件调查,供应市场调查。
2,针对物料,供应市场的情况,分别设计市场调查问卷。
3,收回市场调查问卷,将其进行整理,统计,分析,制作调查记录卡,厂商资料卡,材料比价单等表单。
4,制定分析竞争对手的框架,选择分析竞争对手的方法,对竞争对手进行分析。
5,制定预测的步骤,选择预测的方法,对价格变化进行预测。
6,了解市场行情分析的内容,设置分析市场行情的指标,对市场行情的变动程度,运行的趋势进行分析。
7,针对以上的调查分析撰写调查报告。
(二)确定采购需求
1,根据生产计划表,采购通知单,销售预测表等资料,分析生产计划和销售计划。
2,明确物料需求计划的含义以及物料需求计划与其他计划之间的关系,分析物料需求,分析制造资源计划。
3,分析经营计划,消耗定额,需求报表,根据分析情况制定准购单。
4,根据企业内部环境,生产计划以及销售预测等的变化,预测中长期需求变化,进而修订采购计划。
二,制定采购计划
(一)编制采购规划 1,了解原材料采购的特征,规划原材料采购流程,制定原材料采购计划。
2,明确零部件的范围,规划零部件采购流程,制定零部件采购计划。
3,了解设备采购的特征,规划设备采购流程,制订设备采购计划。
4,根据商品准购单,制订商品采购计划和采购计划表。
5,根据以上采购计划的内容,编制采购计划和采购计划表。
6,结合企业内外部环境变化,制定采购商品结构优化方案。
7,明确经济订购批量的基本原理,掌握经济订购批量的计算公式,确定采购经济批量。
8,分析采购成本及影响采购成本的主要因素,掌握采购成本的控制策略。选择采购成本控制的方法,分析预算,编制采购预算。
9,明确决定自制/外包的步骤,确定业务外包的方案,制订公司外包单。
10,了解采购手册的基本内容与架构,确定编写采购手册的程序,编制采购手册。
(二)分解与调整采购计划
1,根据计划,编制分期采购计划,确定月度采购计划制订的程序,制订月度采购计划表。
2,根据月度采购计划表,编制采购计划明细表。
3,制定采购月报表,采购进度控制表,根据情况调整采购计划。
三,采购洽谈
(一)选择供应商
1,确定采购信息的内容,选择发布采购信息的方式,发布采购信息。
2,收集供应商的信息,索取供应商的资料,对供应商进行调查,制订征求建议书。
3,确定供应商评价的标准,对供应商进行评审;确定评价和选择供应商的步骤,提供供应商选择方案。
4,搜集采购洽谈的资料,对资料进行分析,制定采购订单。
(二)商务洽谈
1,制定谈判框架,计划,确定洽谈方案。
2,了解,选择,确定采购方式。
3,制定实施招标采购的流程,制定无聊投标须知及标单,发布资格预审通告,准备招标文件,发布招标通告。
4,了解订货会流程,组织国内外订货会。
5,掌握国际商务谈判的基本形式,准备国际商务谈判,确定洽谈的内容,程序,进行国际采购洽谈。
6,了解期货采购,期货交易的程序,制定期货交易方案。
7,确定评估的内容,制定供应商评估矩阵,对洽谈进行评估。
(三)签订采购合同
1,编写采购合同,制定采购订单合同模板。
2,审查采购合同,对合同进行管理。
3,了解进出口贸易的基本业务程序,签订进出口合同。
4,明确采购协议的内容,了解签订采购合同的原则,掌握采购协议签订要点,签订合同。
四,履行采购合同
(一)订单管理
确认采购订单,制定产品采购记录,对国外物料的采购状况进行控制,对采购订单进行传递和归档。
(二)进货验收
1,明确运输要求,选择承运人,制定运输战略的决策框架和运输方案。
2,了解降低采购费用的途径,了解控制采购费用的方法,制定采购费用审批程序,控制采购费用。3,接收物料,制定收货单,对物料进行检验;制定进料验收单,检验报告单,来料检验月报表。
(三)货款支付
明确采购请付款流程,制定采购付款申请模板,进行付款操作。
(四)违约处理
在采购合同履行的过程中,处理由于市场,供应商生产能力等方面的原因出现的各种供应商拒绝交货,不适当交货以及拒绝或迟交单证及资料等违约情况。
五,管理供应商
(一)供应商关系管理
1,确定审查供应商提供的资料和信息的内容,对资料进行审查,制定供应商资料表。
2,确定创建供应商档案的流程,建立供应商关系管理档案,掌握供应商关系策略。
3,确定评审,考核供应商的流程,建立供应商等级系统,对供应商进行分级管理。
4,了解采购违约的种类,形式以及免责事由,确定采购违约的处理措施,制定纠纷处理方案。
5,区分索赔与理赔的含义,明确采购方向供应商索赔的事由和供应商向采购方理赔的方式,制定供应商经济补偿方案。
(二)供应商绩效评估
1,制定价格,质量,交货,服务等供应商绩效指标。
2,明确供应商绩效管理的内容,制定并实施供应商绩效管理方案。
六,采购控制管理
(一)采购质量控制
1,明确采购商品质量与控制的依据,确定采购商品质量管理与控制的方法,货物检查的一般程序,进口物资的商检与索赔程序。2,制定商品检验说明书,商品检验委托单,填写商品送检单。
3,了解统计质量缺陷的过程,制定破损报告单,材料报损单,采购损失报告。
4,明确不合格品的质量责任,对不合格品进行处理,制定损失索赔通知卡。
5,制定退货申请书,退货单,办理退货事宜。
(二)采购价格控制
1,准备价格调查资料,实施采购价格调查。
2,分析供应商材料成本,掌握供应商定价策略。
3,搜集企业产品资料,确定商品的采购底价。
(三)采购交期控制
1,规划购运时间,确定交货期限,明确交期违约责任。
2,及时掌握备货进度,消除进度落后现象。
3,通过分析交期延误原因,处理交期延误事宜,进行交期延误管理。
(四)采购成本控制
1,节约采购需求调查成本,降低采购计划制定成本。
2,通过实施采购程序化控制,降低供应商管理成本和积极进行损失的索赔,缩减采购流程成本支出。
3,熟悉各种降低采购成本策略,明确招标采购,联合规模采购,集中买断采购,电子商务采购等各种采购方式的适用范围与优缺点,有效降低采购成本。
4,明晰采购人员权责,强化采购人员日常管理工作,杜绝业务的违规运作。
七,管理采购信息
(一)评估采购管理信息化方案
1,明确采购作业电子化的含义,根据采购部门的具体情况编制采购信息分析报告。2,收集信息,数据,对采购管理信息化方案进行论证。
(二)建立采购管理信息系统
1,根据具体情况,确定采购信息系统的构成,电子采购系统的架构,制定采购管理信息系统建设规划。
2,确定建立采购管理信息系统的步骤以及具体操作,建设采购管理信息系统。
3,发现现有系统的不足并加以改进。
八,电子商务与国际采购管理
(一)电子商务采购管理
1,了解电子商务采购的模式,根据具体采购工作的需要选择合适的采购模式。
2,确定电子商务采购的流程,标准,根据电子商务采购流程进行电子商务采购。
(二)国际采购管理
1,了解国际采购的模式,根据具体采购工作的实际需要选择合适的采购方式。
2,确定国际采购的流程与标准,制定国际采购,保险,报关等相关工作规范,根据国际采购流程开展国际采购工作。
第二节 采购人员应具备的知识
(二)采购人员岗前培训手册 一,采购知识
采购是指在市场经济条件下企业为获取商品或服务而对获取对象的渠道,方式,质量,价格,时机等进行选择,并把货币资金转化为标的物的交易过程。
(一)采购类型与方式
1,采购的类型
采购活动多种多样,可以从采购对象,采购主体和采购技术等不同角度进行归类,具体如下所示。
A,按采购对象划分
a,有形物品采购
1,机器设备采购
机器设备属于在企业生产经营过程中长期,反复使用而基本保持原本实物形态的劳动工具。其采购则具体表现为生产和运营所需的各类设备的购买,特点是金额大,技术性和专业性强,往往需要采用招标,租赁,委托与调拨等采购方式灵活进行。
2,原材料采购
原材料是构成产品实体的基本部分,他在声场过程中要改变物理和化学特性,并有较大消耗。企业采购中原材料采购的比重大,频率高。同时,原材料存在不同种类,可依其功能,质地,产业类别,形态和产地做出多种划分,其品种,形式,等级和特性往往有很大差异,采购过程也比较复杂。
3,零部件采购
在加工装配产业,零部件是最基本的生产资料,随着产业分工的日益深化,企业所用的大多数零部件需要外购。零部件种类繁多,规格,型号复杂,技术性强,生产过程中又需频繁供应,因此,其采购具有较强的专业性。
4,MRO采购
原材料,零部件以外的用于维护,修理及运营的杂项物件和设备的采购,MRO物料通常都是低值物品,品种繁多,不同行业的MRO物料需求差异极大,而且单项商品采购规模一般也较小,但对生产经营的正常运行意义重大。
b,无形服务采购
1,按标的物不同
分为常规品采购,紧缺品采购,生鲜品采购,数字品采购,时令品采购,珍稀品采购等无形服务采购。
2,技术采购
一般包括专利,商标,版权和专业技术诀窍的获取。技术采购的最主要特点是大多采取许可贸易的方式进行,往往是使用权而不是所有权的转让。
3,服务采购
1)售前服务的提供,即卖方在交易前提供的诸如产品说明,操作示范,制作规范或材料规范说明等产品信息,这些信息可增加采购人员的产品知识,利于采购决策。
2)售后服务的提供,即卖方提供的关于设备或产品的安装,维护,操作或使用方法的培训,运送及退换等服务
3)专业服务的提供,即由律师,管理顾问,会计师,建筑师,电气技师,广告设计师和程序设计人员等所提供的特殊服务。
4)物流和勤务服务的提供,主要涉及物流,信息,通信,餐饮,清洁,警卫等方面的服务。
4,工程发包
包括厂房,办公楼等的建设与修缮以及配管工程,机械储槽架设工程,空调或保温工程,动力或网络的综合配线和仪表安装等。
B,按采购主体划分
a,个人采购
个人或家庭通过各种市场渠道进行的旨在满足消费需要的购买行为。
b,企业采购
企业为满足生产经营,需要进行的购买行为。
c,团体采购
政府以外的非营利组织进行的各种采购活动。
d,政府采购
又称统一采购或公共采购,指各级政府及其所属实体为了开展日常的政务活动和为公众提供社会公共产品或公共服务的需要,在财政部门的监督下,以法定的方式,方法和程序从国内外市场为政府部门及其所属公共部门购买所需货物,工程和服务的行为。
C,按采购技术划分
a,传统采购
每月末,企业各单位!部门把下个月采购的申请计划报到采购部门,采购部门把采购申请汇总,形成统一的采购计划,采购部门根据采购计划,分别派人找各个供应商订货,然后策划组织运输,将所采购的物资运输回来并验收入库,存放于企业的仓库中,满足下个月的物资需要。这种采购以各个单位的采购申请计划为依据,以填充库存为目的,管理比较简单,粗糙,市场响应不灵敏,库存量大,资金积压多,库存风险大。
b,现代采购
1)定量订货法采购
预先确定一个订货点和一个订货批量,然后随时检查库存,当库存下降到订货点时,就发出订货,订货批量的大小每次都相同,都等于规定的订货批量。
2)MRP采购
企业采购人员采用MRP(物料需求计划)软件制定采购计划。
3)JIT采购
需方根据需要对供应商下达订货指令,供应商在指定的时间将指定商品按品种,数量要求送到指定的地点。
4)供应链采购
在供应链机制下,采购不仅由采购人员操作,供应商操作的力量也在加大,形成供应商管理用户库存(VMI)在VMI模式下,只需要把需求信息向供应商连续,及时地传递,由供应商根据需求信息预测用户未来的需求量,并根据这个预测需求量制订生产计划和送货计划,主动小批量,多频次向用户补充货物库存,用户库存量的大小由供应商自主决定。这种方法既能保证满足用户需要,又使货品库存量最小,浪费最少。
5)电子商务采购
即网上采购,是在电子商务环境下的采购模式,采购人员在网上寻找供应商和所需品种,并在网上洽谈贸易,订货甚至支付货款,然后经过送货,送货环节完成全部采购活动。
2,采购的方式
采购方式是采购主体获取资源(物品),工程,服务的途径,形式与方法。当采购战略及计划确定以后,采购方式的选择就显得格外重要。它是决定企业能否有效的组织,控制物品资源以保证其正常生产和经营以及获取较大利润空间的关键。采购方式的选择主要取决于企业制度,资源状况,环境优劣,专业水准,资金状况和储运水平等。
A,按货物需求期限划分
a,现货采购:
方式说明与优缺点:指商品交换中即期实现货币转化为商品的购买行为。
优点:即时交割,责任明确,无信誉风险,灵活方便,手续简单,易于组织管理等
缺点:对市场的依赖性大
适用范围:1)企业生产和经营临时需要的物资 2)企业新产品开发或研制所需要的物资 3)设备维护,保养,修理或更新改造所需要的物资 4)企业生产需要的通用,标准,易损件,普通原材料及辅料,工具,夹具和低值易耗品等
b,远期合同采购
方式说明与优缺点:指供需双方为稳定供需关系,实现商品购销而签订远期合同的采购方式。通过合同约定,实现商品的供应和资金的结算,并通过法律和供需双方信誉与能力来保证预定交割的实现
适用范围:1)企业生产和经营长期需要的物资,以主料和关键件为主 2)科技开发和产品开发进入稳定成长期后的物资 3)国家战略收购,大宗农副产品收购,国防需要的物资等
c,期货采购
方式说明与优缺点:采购者在交易所买入标准化的,受法律约束的期货合约,在未来的某时间,某地点按规定购入货物的采购方式,是一种进化了的远期合同采购形式
适用范围:能进行期货交易的物品
B,按采购权限划分
a,集中采购
方式说明与优缺点:企业在核心管理层建立专门的采购机构,统一组织实施企业所需物品的采购进货业务
优点:是经营主体赢得市场,控制节奏,保护产权,技术和商业秘密,取得最大利益的战略方法
适用范围:1)大宗或批量物品,价值高或总价高的物品 2)关键零部件,原材料或其他战略资源,保密程度高,产权约束多的物品 3)易出问题或以出问题的物品 4)最好是定期采购的物品,以免影响决策者的正常工作
b分散采购
方式说明与优缺点:将企业或企业集团的采购权限分散到下属各需求单位,各需求单位根据自身生产经营需要自行组织实施采购的方式
适用范围:1)小批量,单件,价值低,总支出在产品经营费用中所占比重小的物品 2)分散采购优于集中采购的物品 3)市场资源有保证,易于送达,支付较少物流费用的物品分散后各基层有采购与检测这方面能力的物品
C,按采购主体完成采购任务的途径划分
a,直接采购
b,间接采购)4
第三篇:RPG AS400程序员培训手册6
CL、CMD
其实有关这一章,以及屏幕文件的,在网上已经有很多人写过了,想了想,还是说一下吧。
5.1 CL 程序
5.1.1 基本认识
简单的理解,CL 程序就是和RPG 相对应的,是控制语言(Control Language)。类型为
CLP、CLLE 的源代码编译出来的程序,都属于CL 程序。
可能还是不够直观,这么说吧,我们在交互式命令行上输入的命令,用程序的方式来执
行,这个执行的程序,就是CL 程序。
学过UNIX 的会比较好懂,CL 程序有点类似于SHELL,不过SHELL 是可以直接执行的,而且不用编译;CL 程序需要编译,而且要用CALL 的方式来执行。不过原理是接近的,都是在程序中直接调用命令行的语句。
所以说,CL 程序其实很好写,只要会输入命令,就可以写CL 程序了。在编辑CL 程
序时,也可以用“命令 + F4”的方式来写,不需要老老实实的整行输入。
CL 程序不像RPGLE 程序,在编写时,可以使用自由格式书写;一行的内容如果太长
要,在最末尾处用“+”表示换行
举个最简单的例子,比如说新建个名为FHS01CL 的CLP 源程序,代码如下:
PGM
WRKACTJOB
ENDPGM
编译此程序,然后CALL 之,系统就会执行命令WRKACTJOB,查看当前的活动作业,效果与在交互式命令行下输入WRKACTJOB 是一样的。
当我们输入F12,退出WRKACTJOB 时,系统就会继续向下执行,发现是ENDPGM,表示程序结束了,于是判定执行完毕,退出至交互式画面。
5.1.2 CL 程序的常用语法及命令:
一、程序的开始与结束:
PGM PARM(&A &B)/* 开始CL 程序 */
ENDPGM /* 结束CL 程序 */
CL 程序,和RPGLE 程序一样,也可以有程序的入口参数,而且程序的入口参数
都是可传递的(也就是输入的参数如果在程序中被修改过,那么原调用的程序中的相应
参数也会进行变化。不过CL 的入口参数只能为字符型,或数字型的单个字段,不能象
RPGLE 程序中那么多样化(字段、结构、数组、指针)。
如果CL 程序没有入口参数时,那么就可以不需要后面的PARM 语句,直接写成PGM
即可。
写CL 程序时,不妨多使用F4,看看系统的帮助,这样就不用记那么多命令的参
数名。
二、变量及其定义
CL程序中的所有变量,都使用&做为前缀,这一点与RPGLE 程序不同。比如说
PGM PARM(&A &B)
就表示入口参数为A、B 这两个变量
在CL 程序中使用到的变量,都必须使用DCL 语句来定义:
DCL VAR(&FLD01)TYPE(*CHAR)LEN(10)
DCL VAR(&FLD02)TYPE(*DEC)LEN(10 2)
上述语句表示:
定义变量FLD01,10 位长的字符型变量
定义变量FLD02,10 长,其中2 位小数的数字型变量
除了字符、数字之外,CL 程序还可以定义逻辑变量(*LGL),逻辑变量允许的值只
能为’1’或’0’。不过通常有字符与数字也就够了。CL 程序的主要功能在于进行命令处理,而不是处理字符串以及数据库
三、CL 常用命令:
CHGVAR--变量赋值
CHGVAR VAR(&FLD01)VALUE(‘ABCD’)
即是将变量FLD01 赋值成为’ABCD’(左对齐),同理,VALUE 的括号中也可
以填写一个变量,即表示将此变量的值赋值到变量FLD01 中。
数字型变量的赋值同样也是使用CHGVAR 语句。
当变量中只包含数字时(0—9),数字型变量与字符型变量可以使用CHGVAR
语句进行转换,这一点与RPGLE 中的MOVE 语句比较类似。
IF--条件判断语句
IF COND(&FLD01 *EQ '1')THEN(CHGVAR VAR(&FLD02)+
VALUE('0'))
当变量FLD01 等于’1’时,将变量FLD02 中的值更改为’0’
THEN 后面,即是当符合条件时,要执行的命令。写起来其实没有看上去那么
复杂,多用F4 就会发现CL 程序写简单。
就比如上例,先写IF,然后按F4,在Condition 处填写条件语句,然后在
Command 处填上CHGVAR,再按F4,再去填相应的处理语句,这样写,就比直
接把整句抄下来就简单多了。
上面这种写法,只能在符合条件时,执行一条CL 语句;如果要执行多条,就
必须写做:
IF COND(&FLD01 *EQ '1')THEN(DO)
CHGVAR VAR(&FLD02)VALUE(‘0’)
其它执行语句
ENDDO 也就是THEN 后面,用DO,表示接下来的语句都是在这个IF 条件成立时才
执行(DO)的。
然后结束处用ENDDO,必须要有。ENDDO 在这里和循环没有任何关系,表
示的是ENDIF 的意思,但是CL 语句里没有ENDIF,只有ENDDO。
IF 语句中,表示判断的关键字与RPGLE 中的Ifxx 操作码类似,有
*EQ *GT *LT *GE *LE *NE
用来表示逻辑关系的关键字有
*AND, *OR, *NOT
GOTO--跳转语句
GOTO 语句与RPGLE 中的GOTO 是一样的,都是跳转的意思。
FHSTAG:
GOTO CMDLBL(FHSTAG)
注意,这里定义标签是用“:” 冒号
MONMSG--监控错误信息
我们使用CL 语句时,执行的命令可能会报出一些异常错误,从而导致整个程
序中断,需要手工干预。MONMSG 命令可以监控我们预定的错误信息,使CL 程
序正常的向下运行。举例而言,如果CL 程序中有如下语句:
CALL PGM(FHS01R)
MONMSG MSGID(CPF4131)
则表示当系统调用程序FHS01R 时,如果发现有CPF4131(声明的文件重新编
译过,但程序未重新编译)的错,那么CL 程序将不会异常中断,仅仅只是不运行
程序FHS01R,然后继续向下执行CL 程序
MONMSG 还可以用于在监控到错误信息之后,进行处理,如下:
CALL PGM(FHS01R)MONMSG MSGID(CPF4131)EXEC(CHGVAR VAR(&FLD01)+
VALUE('0'))
这句话就表示当发现有CPF4131 的错误之时,将变量FLD01 赋值成为’0’
如果要执行多句的话,和IF 语句的方法类似,也是使用DO 与ENDDO
MONMSG MSGID(CPF4131)EXEC(DO)
CHGVAR VAR(&FLD01)VALUE(‘0’)
其它处理语句
ENDDO
5.1.3 不常用的语法
%SST--取字符串
CHGVAR VAR(&FLD01)VALUE(%SST(&FLD02 3 1))
表示将字符变量FLD02,从第3 位开始,取1 位,左对齐赋值到变量FLD01 中。
%SST 的括号的参数中,第一个参数必须为字符型变量,第二个参数表示起始位,第三个参数表示要截取的长度。
*CAT--拼字符串
DCL VAR(&FLD01)TYPE(*CHAR)LEN(10)
CHGVAR VAR(&FLD01)VALUE('A' *CAT 'B')
即表示将10 位长的字符型变量赋值成为’AB ‘
‘A’,‘B’,也可以使用变量,如
CHGVAR VAR(&FLD01)VALUE(&FLD02 *CAT &FLD03)
要注意,*CAT 不能去掉字符串末尾的空,从效果上来看,有点类似于RPGLE 中的EVAL 操作码,而不是CAT 操作码
+、-、*、/--数学运算
数字型变量,可以进行数学运算 CHGVAR VAR(&FLD01)VALUE(&FLD01 + &FLD02)
即等同于RPGLE 程序中的 EVAL FLD01 = FLD01 + FLD0
2同理,-、*、/ 分别对应减、乘、除
不过数学运行常用于RPGLE 程序中,较少用在CL 控制里面,这里只是介绍一下。
读取文件:(From Cuer:P1421)
DCL VAR(&FLD01)TYPE(*CHAR)LEN(2)
DCLF FILE(FHSLIB/PFFHS)
RCVF
CHGVAR VAR(&FLD01)VALUE(&FHS01)
以上这段CL 的意思,就是在CL 程序中读取PFFHS 文件,然后将读到的第一条记
录赋值到CL 的临时变量FLD01 中。
如果要将一个文件从头读到尾,则可以用如下语句来实现:
DCLF FILE(FHSLIB/PFFHS)
LOOP:
RCVF
MONMSG MSGID(CPF0864)EXEC(GOTO CMDLBL(EXIT))
读取到每条记录后的处理语句
GOTO CMDLBL(LOOP)
EXIT:
也就是说,信息CPF0864,即表示未读取到记录。
在CL 程序中声明文件使用DCLF 语句,一个CL 文件中只能声明一个文件,声明
语句必须在CL 控制语句之前。
使用声明的文件中的字段,同样需要在字段名前加上“&” ;
CL 程序中,无法控制游标,无法对记录进行定位操作。所以CL 程序对文件的操 作是比较弱的,通常我最多只用来读取某些只含少量记录的参数文件。
5.2 CMD
CMD 是用来生成命令的,执行后可以像其它系统命令一样,直接输入命令,或是F4,不需要像CLP 一样,要CALL 一下。
其实CMD 本质上也是执行CLP 或RPGLE(在编译时指定),用起来,无非就是好看点,直接一些,除此之外的意义,似乎也就没什么了。
举个例子,比如我们查看一个文件中的内容时,可以使用SQL 来查看,也可以使用命
令RUNQRY 命令来实现(RUNQRY QRYFILE(文件名))。但在我们要频繁查看文件
时,这两种方式似乎都不是很爽,也就是说要输入的内容都不是最少的,那我们可以设计一
个CMD,譬如说叫SEE,希望实现的最终效果,是在命令行输入“SEE 文件名”,就
可以查看PF 文件中的记录。那么,我们按如下步骤来实现:
1.建立一个CLP 程序,比如叫SEECLP,代码如下
PGM PARM(&FILENAME)
RUNQRY QRYFILE(&FILENAME)
ENDPGM
2.编译此程序
3.建立一个CMD 程序(即源代码的属性为CMD),代码如下:
CMD PROMPT(' 显示文件记录 ')
PARM KWD(NAME)TYPE(*CHAR)LEN(10)MIN(1)+
CHOICE(' 显示文件记录内容 ')+
PROMPT('Display file record')
4.编译此CMD,用F4,可见如下画面:
Create Command(CRTCMD)
Type choices, press Enter.Command............> SEE Name
Library...........> FHSLIB Name, *CURLIB
Program to process command...> SEE Name, *REXX
Library...........> *LIBL Name, *LIBL, *CURLIB
Source file..........> FHSFILE Name
Library...........> FHSLIB Name, *LIBL, *CURLIB
Source member.........> SEE Name, *CMD
Threadsafe...........*NO *YES, *NO, *COND
其中,蓝色字体显示的,就是我们需要输入这个CMD 要调用的程序名(默认值与
CMD同名),这里我们将此项内容填为SEECLP,表示SEE 这个CMD,调用的是SEECLP
这个程序
5.编译成功之后,我们在命令行执行“SEE 文件名”,就可以看到指定文件的记录。也可以用SEE + F4 的方式来使用
6.要注意,CMD 中,PARM 表示的就是CMD 命令的参数,参数的个数、类型、长
度都必须与其调用的程序相匹配,但名称可以与其调用的程序中的参数名称不一
样,而且名称前面不能有“&”字符。
7.在PARM 参数中,MIN(1),表示该项参数必须有值(即最小的有效长度为1),当
参数无值时,将会自动出现SEE + F4 的效果,同时该项参数高亮显示。试一试
就知道了
第四篇:RPG AS400程序员培训手册
2.8.4.4 O--R
ON-ERROR(On-Error)
没用过
OPEN {(E)}(Open File for Processing)打开文件
Factory 1 Operation Factory 2 Result HI LO EQ
OPEN 文件名
OPEN 后面的目标,必须是在当前程序中已声明的文件名(不是文件的记录格式名),而且在OPEN 操作之后,在程序结束之前之前,必须有对应的CLOSE 操作。
使用OPEN 操作,文件在声明时,必须使用USROPN 关键字(详见D 行说明)。
ORxx(Or)逻辑判断—或
Factory 1 Operation Factory 2 Result HI LO EQ
FLD01 IFGT FLD0
3FLD01 OREQ FLD0
2等价于
IF FLD01>FLD03 OR FLD01=FLD02
与IF、IFxx,AND、ANDxx 类似,RPGLE 的写法OR,比RPG 的写法ORxx 要灵活,而且可以用来表达一些复杂的逻辑关系。有鉴于此,所以通常IF 语句中,我会以OR 为主,基本不用ORxx。如果在编程序方面,公司/项目组无硬性要求,那我觉得还是少用ORxx 吧,总觉得这种写法的逻辑关系看起来不直接,尤其是有很复杂的AND,OR 时。
OTHER(Otherwise Select)分支语句的判断
与分支语句SELECT 一起使用,表示不符合上述所有条件时的操作,如下:
Factory 1 Operation Factory 2 Result HI LO EQ
SELECT
WHEN 条件判断1 处理语句1
WHEN 条件判断
2处理语句2
OTHER
处理语句
3ENDSL
在这个例子中,当满足条件判断1 时,运行处理语句1,运行结束后跳至ENDSL 处;
如果不满足条件判断1,则程序继续向下执行,判断是否满足条件判断2。当满足条件判断2 时,运行处理语句2,跳至ENDSL;当不满足
当不满足条件判断2 时,程序继续向下执下,当读到OTHER 操作码时,无条件运
行处理语句3(即当程序当前不满足以上所以条件判断时,则执行OTHER 之后的语句。
处理语句允许有很多句;
条件判断可以写得很复杂,也允许对不同的字段进行判断;比如说C 语言也有分支语
句switch,但是这个语句只能对一个字段进行分支判断,ILE 语言与它不同,允许对不同的字段进行判断
就我目前掌握的测试情况,上述的SELECT—WHEN--OTHER—ENDSL,其实也可以
写做:
IF 条件判断
1处理语句1
ELSEIF 条件判断2
处理语句2
ELSE
处理语句3
ENDIF 即WHEN 与ELSEIF 是类似的,这样说,应该可以明白了吧。
总之,SELECT—ENDSL 是一个很好用的语法,尤其是在表示很多不同的分支处理时。
OUT {(E)}(Write a Data Area)
没用过,讲数据域的。
PARM(Identify Parameters)定义入口参数
Factory 1 Operation Factory 2 Result HI LO EQR
*ENTRY PLIST
PARM FLD01
关于具体内容讲解,详见前面所说“入口参数”一章。
允许做为入口参数的有:普通变量、结构变量、数组变量
关于PARM、PLIST,还有一种在Factory 1,Factory 2 也填写变量或指示器的用
法,不过我不知道它具体表示什么意思,也不知道该怎么用。请用过的来补充。PLIST(Identify a Parameter List)同上
POST {(E)}(Post)
没用过
READ {(N | E)}(Read a Record)读取记录
1.基本语法:
Factory 1 Operation Factory 2 Result HI LO EQ
READ 文件记录格式名 45 46
READ后面跟的,必须是声明的文件记录格式名;
LO 指示器表示锁表指示器,当在指定的时间(CHGPF,WAITRCD 项可看到),需要读取的记录仍被锁,将会打开LO 指示器,即*IN45=’1’;
EQ指示器为是否读到指示器。当未读到仸何记录时,打开EQ 指示器,即*IN46=’1’
2.当文件在程序中,是用只读的方式声明时,READ 操作并不会造成锁表; 如果文件在程序中是用修改的方式声明,READ 操作成功后,该记录被锁;直到执
行解锁操作(UNLOCK,或UPDATE),或READ 该文件的其它记录,才会解锁
如果文件是用修改的方式声明,但希望READ 操作不锁表时,那么就用READ(N),即
Factory 1 Operation Factory 2 Result HI LO EQ
READ(N)文件记录格式名 45 46
这样读文件,就不会锁记录,但是同时也不能修改记录。如果需要修改记录,那么 在修改之前(包括对文件字段赋值之前),还必须再对该记录进行一次定位操作(比如
CHAIN、READ 语句均可)。也就是说,如果要修改记录,必须先锁住当前记录(很合理吧)
3.当执行READ 操作时,程序是根据游标当前在文件中所指向的位置,顺序读取下
一条记录。关于游标是如何指向,还不是一个很简单的问题,所以将会在下一章“数
据库相关知识”中具体讲解。
4.执行READ 操作时,允许声明的文件没有键值。(即PF 文件)
READC {(E)}(Read Next Changed Record)
没用过,读下一次修改过的记录?
READE {(N | E)}(Read Equal Key)读取键值相等的记录
语法与READ 操作码大致一样,这里不再重复,只说不同的:
假设程序中已声明逻辑文件PFFHSL3(键值为FHS01+FHS02)
Factory 1 Operation Factory 2 Result HI LO EQ
FHSKEY KLIST
KFLD FLD0
1KFLD FLD02
FHSKEY SETLL FMTFHS DOW 1=1
FHSKEY READE FMTFHS 1
5IF *IN15=’1’
LEAVE
ENDIF
ENDDO
这段话的意思,就是定义组合键值FHSKEY,然后根据这个FHSKEY 在逻辑文件
PFFHSL3 中去定位,循环读取PFFHSL3 中,FHS01、FHS03 与FLD01、FLD02 相等的记
录。当读取记录结束,或键值不等时,退出循环(*IN15 是EQ 指示器)。如果将READE 操
作码换成READ 操作码的话(当然,Factory 1 处也就不能有值),就没有“键值不等时退出
循环”这一层意思,只是读不到记录时就退出循环,但有时我们使用逻辑文件,仅仅是需要
它的排序,而不需要读不到键值相等的记录就退出循环。所以说,使用READ 操作码,还
是READE 操作码,需要根据实际的要求来决定。
以上的Factory 1 处填写值的系统处理,当READE 操作码在Factory 1 处未填写值时,系统实际上是将当前的值与读到的上一条记录的关键字进行比较,而不是与SETLL 时的键
值做比较(读第一条记录不做比较!),如果键值不等时,置EQ 指示器为1。也就是说,如果没有与FHSKEY 键值相同的录,那么系统并不是直接找开EQ 指示器,而是会一直保
持正常地往下读,直到找到与读到的第一条记录关键字不同的记录,才会打开EQ 指示器,所以要注意。
READP {(N | E)}(Read Prior Record)读取记录—游标上移
简单来说,READ、READE 操作时,游标在数据文件中,是下移的;即读完第一条记
录,游标指向第二条记录;读完第二条记录,游标指向第三条记录,依此类推,直至最后一 条记录。但READP 则正好相反,游标是上移的,即读完第三条记录后,游标指向第二条记
录;读完第二条记录后,游标指向第一条记录,直至读完第一条记录。一般来说,用READ、READE 的概率会比READP、READPE 的概率高得多,不过在某些情况下,使用READP 操作,又的确会很省事,这个一时间想不起例子来,大家可在编
程序时多实践。
READPE {(N | E)}(Read Prior Equal)
虽然我没用过,但猜想它应该就是指游标上移,按键值去读取文件。与READP 的关系,就类似于READE 与READ 的关系。
REALLOC {(E)}(Re-allocate Storage)
没用过
REL {(E)}(Release)
没用过
RESET {(E)}(Reset)
将数据结构赋值成为初始值。
注意是初始值,不是清空。如定义结构:
D FHSDS DS
D FHS01 10 INZ(’ABCD’)
D FHS02 5 INZ(’EFGH’)
那么,不管对该结构如何赋值,当执行语句: C RESET FHSDS
之后,FHS01 将会变成’ABCD,FHS02 将会变成’EFGH’,即恢复成为初始值。
RETURN {(H | M | R)}(Return to Caller)
RETURN 是程序结束。
在前面,“简单的程序流程”中,我们讲过,“SETON LR” 与RETURN 这两句话一
起,做为程序的结束。这里,再详细解释一下两者之间的区别,以及关系: 如果不写RETURN,只写“SETON LR”,程序执行完最后一句之后,将会再从第一
句开始执行,造成死循环。在简单的程序流程这个例子中,程序原来只想修改读到的第一条 记录,而如果没有RETURN 的话,将会把所有的记录都修改掉,直到最后找不到可修改的记录,然后系统报错,异常中断。(这种离奇的现象现在又测试不到了,可能是当时写错程 序了?把F 写成了P?不管它,当是我写错了,总之RETURN 是表示程序结束,没有
RETURN,主程序无可执行的语句时,它也会结束;如果RETURN 出现在主程序的中间,那么RETURN 后面的语句将不会执行)
如果只写RETURN,不打开指示器*INLR,根据blogliou 所说 “程序不会强制将内存
中的数据写到磁盘中。400 缺省的是BLOCK 输出,即数据记录满一个BLOCK 块时才会将
这一组记录写到磁盘上。那么如果这时BLOCK 没满,数据信息不会立刻写到磁盘上。之后 有其它作业用到该文件,读取的数据就不完整。”
但如果文件有唯一键字,或记录日志,必须同步写时,其实BLOCK 实际被忽略,也就 是此时不会有错。目前我们用的是MIMIX 备份,客户实际上将所有的文件都列入日志,这
时不写也不会出现上述错误。但为避免一些潜在的问题,养成良好的编程风格,建议将 SETON LR 与RETURN 一同,做为程序结束的标志。当然,如果某个程序频繁被调用,且 不涉及文 操作时,可考虑不打开指示器*INLR,仅用RETURN 作为结束,这样程序不
会被PURGE 出内存,可提高调用效率。
如果没写RETURN,也没有打开指示器*INLR,在编译时,系统将会报40 级错,说找
不到程序结束的语句,所以大可放心。ROLBK {(E)}(Roll Back)
1.基本语法
Factory 1 Operation Factory 2 Result
ROLBK
2.该操作码无其它参数,就是指对事务处理进行回滚操作。3.ILE 程序中,ROLBK 操作可随时进行,也允许在没有声明COMMIT 类型的文件的情况下,仍进行ROLBK 操作(对该进程这前的事务进行确认处理)f
4.关于日志的确认回滚操作,在后面会另设专门章节讲述。
2.8.4.5 S--Z SCAN {(E)}(Scan Character String)扫描字符串
扫描字符或字符串Factory 1 在目标字符串Factory 2 中是否存在Factory 1 Operation Factory 2 Result HI LO EQ
FLD01 SCAN FLD02 N 26
FLD01 可以是字符,也可以是字符变量;可以是一位长,也可以是多位长。
当FLD01 在FLD02 中存在时,EQ 指示器打开,即*IN26=’1’,同时将FLD02 中的起始
位置,赋值给N;
当FLD01 在FLD02 中不存在时,EQ 指示器保持关闭状态,即*IN26=’0’,同时N=0
允许从FLD02 中的指定位置开始检查:
FLD01 SCAN FLD02:2 N 26
如上句,即表示从FLD02 的第2 位,开始扫描。
在实际使用中,比如说我们判断某个字符是否为数字,就可以先定义一个0—9 的常量,然后将要判断的字符去SCAN 一下这个常量
SELECT(Begin a Select Group)分支语句
在操作码“OTHER”中讲过,为方便读者,列出简单语法如下:
Factory 1 Operation Factory 2 Result HI LO EQ
SELECT
WHEN 条件判断
1处理语句1
WHEN 条件判断2 处理语句
2OTHER
处理语句
3ENDSL
要注意,SELECT 操作码,必须有对应的ENDSL 操作码,否则编译无法通过。
SETGT {(E)}(Set Greater Than)定位操作—大于
举个例子吧,假设文件中有一个字段,是标识顺序号的,1、2、3、4。即该字段为1,表示第一条记录,该字段为2,表示第2 条记录。那么: Factory 1 Operation Factory 2 Result HI LO EQSETGT 文件记录格式名
READ 文件记录格式名
这个READ 操作,READ 到的,是第3 条记录。也就是说,SETGT 操作码,会将游标
定位到大于键值的第一条记录前。
在实际使用中,如果我们是按逻辑文件读取,而且读了一条记录之后,对其键值相同的 记录都不需要再读取时,就可以用SETGT,不过需要注意,Factory 1 项,需要是与键值相
同的变量,即如果文件是使用多个字段做为键值,那么我们也需要先定义一个组合键值的变
量,然后Factory 1 处填写这个组合键值的变量名。
当声明文件的键值有多项时,Factory 1 项的键值,允许小于文件的键值,但顺序必须
一致。即声明的文件如果键值为:FHS01、FHS02、FHS03,那么我们在程序中定义三个类
型与之相同的变量FLD01、FLD02、FLD03,以下写法都是有效的FLDKEY KLIST
KFLD FLD0
1KFLD FLD0
2KFLD FLD03 FLDKEY SETGT 文件记录格式名
FLDKEY KLIST
KFLD FLD01
KFLD FLD02
FLDKEY SETGT 文件记录格式名
FLD01 SETLL 文件记录格式名
SETLL {(E)}(Set Lower Limit)定位操作—小于
语法与SETGT 相同,含义与SETGT 不同。SETLL 操作码,会将游标定位到与键值相
等的第一条记录之前,仍是上例,如果是 2 SETLL 文件记录格式名
READ 文件记录格式名
那么READ 操作码读到的记录,就是第2 条记录,看到了吧,和SETGT 不同。
SETLL 操作码还可以用来简单判断当前键值是否存在有记录,以PFFHSL3 为例(键值
为FHS01、FHS02)
Factory 1 Operation Factory 2 Result HI LO EQ
FHSKEY KLIST
KFLD FLD0
1KFLD FLD0
2EVAL FLD01=’01’
EVAL FLD02=’02’
FHSKEY SETLL 文件记录格式名 44
当文件中有相应记录时,EQ 指示器打开,即*IN44=’1’
当文件中无相应记录时,EQ 指示器关闭,即*IN44=’0’(与CHAIN 正好相反,要注意)
而在这种用法中,SETLL 与CHAIN 的区别在于,CHAIN 是定位读取了记录,而SETLL 仅仅只是判断该记录是否存在。所以用SETLL 操作,不能修改记录,也无法取出记录的值。
只能判断记录是否存在。如果要修改记录,或取出记录的值,还需要有一个读取定位的操作,如READ,或READE、READP 等(最常用的,应该就是READ 操作)
SETOFF(Set Indicator Off)关闭指示器
Factory 1 Operation Factory 2 Result HI LO EQ
SETOFF 10 11 1
2等价于
EVAL *IN10=’0’
EVAL *IN11=’0’
EVAL *IN12=’0’
在SETOFF 这个操作码中,指示器填在HI、LO、EQ 哪里都没关系,都是表示要被关
闭的指示器
SETON(Set Indicator On)打开指示器
Factory 1 Operation Factory 2 Result HI LO EQ
SETOFF 10 11 1
2等价于
EVAL *IN10=’1’
EVAL *IN11=’1’
EVAL *IN12=’1’
在SETON 这个操作码中,指示器填在HI、LO、EQ 哪里都没关系,都是表示要被关闭的指示器
SHTDN(Shut Down)
没用过
SORTA(Sort an Array)没用过
SQRT {(H)}(Square Root)开方
Factory 1 Operation Factory 2 Result HI LO EQSQRT 3 N
这时,N=3(因为3 的平方为9)9、3 都可以是数字型变量,或者直接是数字 SUB {(H)}(Subtract)减法操作
Factory 1 Operation Factory 2 Result HI LO EQ
FLD01 SUB FLD02 FLD0
3SUB FLD02 FLD03
看过前面的ADD、MULT 操作码,这里不用解释也应该明白是什么意思了吧。那就不
多说了。
SUBDUR {(E)}(Subtract Duration)日期相减
1.减日期
Factory 1 Operation Factory 2 Result HI LO EQ
FLD01 SUBDUR N:*Y FLD02
表示将日期型变量FLD01 减去N 年,赋值到日期型变量FLD02 中;
N 可以是一个数字型变量,也可以就是一个数字,N 允许为负数 *Y,*M,*D(还有其它的参数值,可见ADDDUR,其中有详细解释)
2.判断两个日期型变量之间的天/月/年数
Factory 1 Operation Factory 2 Result HI LO EQ
FLD01 SUBDUR FLD02 N:*D
这时,N 做为一结果变量,表示日期型变量FLD01 与FLD02 之间的天数
SUBST {(P | E)}(Substring)取字符/字符串 Factory 1 Operation Factory 2 Result HI LO EQSUBST FLD01:3 FLD02
表示从字段FLD01 的第3 位开始,取2 位,左对齐赋值到字段FLD02 中。
要求字段FLD01 的长度必须大于或等于3+2 位,否则程序会报错。
可以尝试用%SUBST 语句,也是等价的,如下
EVAL FLD02=%SUBST(FLD01:3:2)
表示的是同样的意思。
起始位数3,取的长度2,在两种写法之下,都可以使用数字型变量来表达。
相比较之下,%SUBST 还有一种用法,就是对字符的指定位置赋值,这个就厉害了:
EVAL %SUBST(FLD02:3:2)=’01’
看到了吧,这句话就是说,使字段FLD02 的第3、4 位(即从第三位开始,两位长)等
于“01”
TAG(Tag)定义标签,与GOTO 同用
Factory 1 Operation Factory 2 Result HI LO EQ
FHSTAG TAG
TEST {(D | T | Z | E)}(Test Date/Time/Timestamp)
没用过
TESTB(Test Bit)
没用过
TESTN(Test Numeric)
没用过
TESTZ(Test Zone)
没用过
TIME(Time of Day)--取当前系统时间 Factory 1 Operation Factory 2 Result HI LO EQ
TIME FLD01
FLD01 可以是时间型或数字型变量
UNLOCK {(E)}(Unlock a Data Area or Release a Record)解锁
Factory 1 Operation Factory 2 Result HI LO EQ
UNLOCK 文件记录格式名
UNLOCK 是解锁操作,在某种程度上,可以将UNLOCK 视为ROLBK,将UPDATE
视为COMMIT。即如果锁定某条记录,并对其字段进行赋值之后,使用UPDATE 语句,将
会把修改后的结果保存下来,即修改文件,而UNLOCK 语句则不会修改文件,即否认了之 前对文件字段做的赋值修改。
从程序的执行效率上来讲,UNLOCK 的执行效率是高于UPDATE 的,因为UPDATE
操作时,系统需要对文件的每一个字段进行确认处理(DEBUG 时可以看到),而UNLOCK 就
是简单的解锁而已。
UPDATE(Modify Existing Record)修改记录
语法与UNLOCK 一样。
这里需要说明一下,在执行UPDATE 的时候,必须先使用READ、CHAIN 等操作码锁
定一条记录。如果未锁住记录,UPDATE 操作码将会报错。当执行了UNLOCK、UPDATE、以及ROLBK 语句时,等于是解锁,此时再执行UPDATE 操作码之前,必须再次锁住记录
操作;
WHEN {(M | R)}(When)分支判断语句中的条件判断
在操作码“OTHER”,“SELECT”中都讲过,仍列出简单语法如下:
Factory 1 Operation Factory 2 Result HI LO EQ
SELECT
WHEN 条件判断1 处理语句1
WHEN 条件判断
2处理语句2
OTHER
处理语句
3ENDSL
WHENxx(When True Then Select)
上面的语法,是RPGLE 的语法,WHENxx 是RPG 的语法,也就是
SELECT
FLD01 WHENEQ FLD02
处理语句
1……..这样的语法,在表达复杂的逻辑关系时,必须与ANDxx,ORxx 一起使用,所以我不
使用WHENxx 这个操作码。
WRITE(Create New Records)写记录
常用的方式:
Factory 1 Operation Factory 2 Result HI LO EQ
CLEAR 文件记录格式名
EVAL 文件字段1=xxxx
EVAL 文件字段2=xxxx
WRITE 文件记录格式名
表示在文件中写入一条新记录。文件需要声明为可写的。
通常会在给文件字段赋值之前,作一次CLEAR 操作来进行初始化,以避免不必要的麻烦。XFOOT {(H)}(Sum the Elements of an Array)
没用过,看帮助,是表示对数组字段的累加统计。
假设DIMDATA 定义为一个数字型的数组变量,FHS01 为一个足够大的数字型变量
Factory 1 Operation Factory 2 Result HI LO EQ
XFOOT DIMDATA FHS01
就表示将数组DIMDATA 中的所有记录的值都取出来,汇总相加,赋值到数字变量
FHS01 中
XLATE {(P | E)}(Translate)
将一个字符串中指定的字符,更换成另外的字符。
举例:如MYCHAR1,MYCHAR2 都是两个20 位长的字符型变量
C MOVEL 'ABCAAAC123' MYCHAR1
C 'A':'9' XLATE MYCHAR1 MYCHAR2
执行过这个语句之后,MYCHAR2 就等于”9BC999C123’,即将字符串MYCHAR1 中所
有的“A”都变成了“9”;
XLATE 也可能指定起始位置。如上句更改为:
C 'A':'9' XLATE MYCHAR1:4 MYCHAR2
则MYCHAR2 等于“ABC999C123”,指从第4 位开始(含第4 位),将“A”变成“9”
赋值。
Z-ADD {(H)}(Zero and Add)向数字型变量赋值
Factory 1 Operation Factory 2 Result HI LO EQ
Z-ADD FLD01 FLD02
将数字型变量FLD01,赋值到数字型变量FLD02 中。
Z-ADD、MOVE 虽然同是赋值操作码,但Z-ADD 的用法就远没有MOVE 那么变化多
端,只能在数字型变量之间赋值。所以也没有什么可说的了。zero 如果要对数字型变量赋初值,使用*ZERO
Z-ADD *ZERO FLD02
Z-SUB {(H)}(Zero and Subtract)用0 减
Factory 1 Operation Factory 2 Result HI LO EQ
Z-SUB FLD01 FLD02
等价于
0 SUB FLD01 FLD02
等价于
EVAL FLD02=FLD01*(-1)
*ALL
*ALL 是个很有意义的变量,举例:
EVAL FLD01=*ALL’0’
表示将字符型变量FLD01 赋值为全’0’
而
CLOSE *ALL
就表示关闭所有文件,意义与上面是不同的%LEN
取字符串的长度,举例:
(MYLEN 为数字型变量,FLD01 为字符型变量)
EVAL MYLEN = %LEN(FLD01)
这句话的意思,是指取字符串FLD01 的长度,不过通常这样用是没意义的,因为直接
用%LEN 操作码,取到的是字符串的总长度,不是有效字符的长度,也就是说FLD01 长度
为2,那么MYLEN 就恒等于2,不会变。就算变量FLD01 中没有值,取出的MYLEN 也等
于2.。所以,%LEN 通常会与%TRIM 或是%TRIMR 一起使用,语法在下面介绍。
%TRIM,%TRIMR
都是去字符串变量中的空字符意思,%TRIM 是去字符串左边的空字符;%TRIMR 是去
字符串右边的空格。
通常我们在写程序中,都是默认字符串变量左对齐,所以我们使用%TRIMR 操作码的概率应该高一点。举例:
EVAL MYLEN = %LEN(%TRIMR(FLD01))
这时的MYLEN,就是指变量FLD01 中的有效长度(前提条件是FLD01 中如果有值,是左对齐)。如果FLD01 为空,那么MYFLEN 为0;如果FLD01 首位有值,第二位为空,那么MYLEN 为1;如果FLD01 两位都不为空,那么MYLEN 就等于2。
如果字符串左对齐,那么就使用%TRIMR
还有一种用法,假设字符串FLD04 为4 位长的字符,FLD01,FLD02 都是2 位长的字
符,且FLD01 等于“A ”,FLD02 等于“BC”,那我们执行:
EVAL FLD04 = FLD01 + FLD01 + FLD02
FLD04 就等于“A A ”,也就是第二位与第四位都是空的,最后加的FLD02 其实无
效。
而如果执行
EVAL FLD04 = %TRIMR(FLD01)+ %TRIMR(FLD01)+ FLD02
则FLD04 就等于“AABC”,也就是说,在这里,%TRIMR(FLD01),是等价于单字符
“A”的MONITOR
监控程序信息。据说是可以屏蔽掉出错信息,避免程序异常中断,未经测试。
第五篇:公司保安岗前培训手册
公司保安岗前培训手册
根据公司实际情况,针对全体保安员对业务技能和个人素质,进行全方位的军体素质、治安管理、消防知识等培训。全面提高全体保安员综合服务素质,以体现我公司服务宗旨,塑造良好的企业形象。
培训内容
1、保安管理制度
(1)保安员纪律、职责权限、职业道德规范、礼仪规定 ;(2)行为规范;(3)对讲机使用规定;(4)岗位职责。
2、紧急事件处理程序
(1)火警处理程序;
(2)殴打暴力事件处理程序 ;(3)盗窃等破坏事件的处理程序。
3、消防知识
(1)消防安全知识 ;(2)火警报警程序;
(3)灭火器使用及灭火方法。
4、军体素质 仪态举止规范
保安员纪律
1.廉洁奉公,遵纪守法,敢于同违法犯罪(分子)行为作斗争;
2.坚守岗位,忠于职守,服从管理,听从指挥;
3.按时交接班,不得迟到、早退,更不准脱岗、误班;
4.按规定着装,做到仪容整洁,语言亲切,服务微笑,文明礼貌;
5.值班时禁止喝酒、吸烟、吃东西;不准嬉笑、打闹;不准看书报、听收(录)音机、打瞌睡;不准做其他与值班执勤无关的事;
6.值班期间禁止向外打私人电话,接听私人电话时间不超过一分钟。
7.不准在岗位上会友聊天,未当班人员不得在岗位上逗留,接待游客时不得闲聊与工作无关的话题;
8.不准包庇坏人,禁止利用工作之便敲诈勒索,收受贿赂; 9.不准擅自带人留宿,亲友如有特殊情况需临时留宿的,须上报领导批准方可。不准让公司辞退、离职人员在员工生活区逗留;
10.不准在宿舍区域内打麻将,不准利用娱乐之便进行赌博或变相赌博; 11.爱护各种器械装备,不得丢失、损坏、转借或随意携带外出;12.严格请、销假制度,外出必须请假。
保安员权限
1.在执行任务时,对杀人、放火、抢劫、盗窃、强奸等现行违法犯罪分子,有权抓获并扭送公安机关,但无实施扣留、关押、审讯、没收财产和罚款和权利;
2.对发生在园区的刑事案件或治安案件,有权保护现场、保护证据,维护秩序以及提供情况,但无勘察现场的权利;
3.按照规定,制止未经许可的人员、车辆进入园区;
4.对出入园区的可疑人员、车辆及其所携带和装载的物品,按规定进行验证、检查;
5.按照公司规定进行安全防范检查。在执行保安服务过程中,如遇违法分子不服制止,甚至行凶报复,可采取正当防卫措施;
6.宣传法制,做好“四防”工作,落实各项安全防范措施,发现不安全因素及时向上级报告;
7.对携带匕首、三棱刀等管制刀具和自制火枪及其它形迹可疑的人员有权进行盘查监视,并报当地公安机关;
8.对违反《治安管理处罚条例》的人,有权劝阻、制止和批评教育,但无处罚的权利; 9.对有违法犯罪行为的嫌疑分子,可以进行监视、检举、报告、但无权侦察、扣押、搜查;
10.如有损坏公物的情况发生,必须责令责任人照价赔偿或报告领导,但无扣押证照、物品或处以罚款的权力。
保安员的职业道德规范
1.热爱本职,忠于职守
保安员担负着协助公安机关维护社会治安秩序,保障外来游客生命和财产安全的责任。因此,保安员必须树立起主人翁的责任感和自豪感,把搞好本职工作与实现社会安全的大目标联系起来,以高度的敬业精神,满腔热情地投入工作,认真履行职责,兢兢业业,任劳任怨,出色地完成任务。
2.遵纪守法,勇于护法
保安员必须模范地学法、守法、用法、护法,确保外来游客的安全,通过提供优质的安全服务,赢得外来游客的信任和社会的认可。
3.不计得失,勇于奉献
保安员是公司和游客正当利益的忠诚卫士,在任何时候、任何情况下,都应当将公司和游客的正当利益摆在第一位,为了维护公司利益和游客的生命财产安全,不惜牺牲一切。
4.文明执勤,礼貌待人
热爱人民,关心人民,全心全意为人民服务,这是社会主义职业道德的核心。文明执勤、礼貌待人是保安人员精神风貌的具体表现,也是贯彻“顾客至上、服务第一”的企业宗旨的具体体现。
5.廉洁奉公,不谋私利
安全服务与游客有着广泛的联系。有些人为谋取私利,会通过各种途径对保安员进行收买拉拢,为其实施违章违法行为打开方便之门。因此,保安员必须廉洁自律,坚持原则,照章办事,不以工作之便索取或收受甲方(住户)的任何礼品礼金,不给违法违纪分子以任何可乘之机
保安员仪容仪表规定
1.着装规定:
(1)统一着装,佩戴工牌,服装整齐干净,要求举止文明、大方、得体、精神抖擞;
(2)不得戴饰物,口袋里不宜装过多物品;
(3)禁止披衣、敞怀、挽袖、卷裤腿、戴歪帽、穿拖鞋或赤脚。
2.形象规定:
(1)经常注意检查和保持仪表整洁,但不得当众整理个人衣物;
(2)头发要整洁,不准留长发,前额头发不得遮盖眼眉,鬓角发不得超过耳屏,脑后发不得触及衣领;胡须、指甲外露指尖长均不得超过1毫米,鼻毛不得长出鼻孔;
(3)精神振作、姿态良好、抬头挺胸、不准弯腰、驼背、东倒西歪、前倾后靠伸懒腰;值勤中不准吸烟、吃零食,不勾肩搭背,做到站如松,坐如钟、动如风;
(4)执勤时不准啍歌、吹口哨、玩手机、听收(录)音机、看书报;
(5)不准随地吐痰、乱丢杂物;
(6)对待游客友善、热诚,严格遵守公司规定的文明礼貌用语。3.列队规定:
(1)在集体活动时,如训练、紧急集合、外出交流学习、比赛等,要穿戴整齐统一,必须整队集合。保安员动作迅速,跑步入队。集合完毕指挥员检查队容仪表,下达整理服装的口令,凡未达到要求,精神不振者不能参加集体活动;
(2)在值勤巡逻中,要求两人并列行走,三人成行走;要求执勤人员精神饱满,保持高度的警惕性;
(3)在队列训练和巡逻中,保安员必须保持步伐一致,口令、口号雄壮有力,指挥员的口令要清楚、洪亮,富有号召力。
保安员的行为规范
保安员的行为举止体现的是保安的精神风貌和素质修养,也是保安人员职业道德规范的具体要求: 1.值勤中与人交谈时,态度要和善,语气要亲切,言辞要得体,给人以礼貌表示;
2.坐姿大方,在执勤中,坐姿要舒展、自然大方;
3.站姿端正,站立值勤时,应收腹、直腰、挺胸、双肩稍后放平,双肩自然下垂,保持身体端正,给人一种轻松自然的感觉,体现出保安的雄姿;
4.行走稳健,行走时,身体要直立,抬头挺胸,平视前方,两腿有节奏地交替向前迈进,步伐应自然稳健;
5.谈话自然,保安员无论在任何场合谈话中,态度要诚恳大方,亲切自然,语辞平和,问候用礼貌语言。
对讲机使用管理制度
1.对讲机是供保安人员执行任务使用的专用通讯工具,属公司财产,每个保安员都有责任、有义务保管好,不得遗失或损坏;
2.对讲机只供保安人员执勤时使用,严禁用作其他用途,特殊情 况报主管领导同意方可;
3.严禁将对机讲转借他人,严禁个人携带外出,如确有需要,须报主管领导批准;
4.使用对讲机应严格按规定正确操作,严禁保安员私自 乱拆、乱拧或乱调频率,否则按违纪处理,若有损坏或丢失,视情节赔偿; 5.保安人员交接班时,应做好对讲机交接验收工作,并签字予以确认,以免出现问题时互相推诿;
6.对讲机、充电器由领用人妥善保管,正确使用。
保安部队长职责 直接上级:公司总经理 主要职责
1.参加公司会议,主持本部门例会,贯彻落实公司领导的指示;
2.制定本部门的年、月、周工作计划和各项保安活动方案,并负责组织实施。确保部门保安员都能有效履行各自的工作职能,并对其表现负责;
3.会同人力资源,安排和履行部门人力资源各项职能,包括招募、培训等;
4.组织对公司保安员的安全培训,为可能发生的各种安全事故建立处理程序,并组织演练,确保每一位保安员都清楚各种安全事故发生时应采取的正确方法和程序;
5.组织抓好保安员队伍的思想、作风、纪律建设和保安骨干队伍建设,确保保安员具有良好的对客服务意识和能力;
6.负责监督、检查、指导各项目的保安工作,发现问题及时组织调查处理,重大问题及时向公司领导汇报,并迅速采取有效预防措施,预防系统性风险的发生; 7.负责做好保安、消防用品的采购、验证、监督管理并对需要维修和购买的物品提出申请;
8.配合有关执法机关对违法犯罪、涉外、治安、火灾事故进行调查取证;
9.检查队员的工作情况,汇集报表并及时向上级报告工作情况;
10.协助处理执勤期间发生的安全问题,处理、协调队员的一般问题;
11.负责保安队宿舍的日常管理工作,以及队员餐费、做饭、餐厅的管理;
12.负责保安队员的岗位排班、调配工作,汇总所管项目的考勤;
13.对保安员进行严格的督导,负责对保安员进行培训、训练、考核工作;
14.巡视所管项目值勤工作正常进行,了解队员的思想情况,妥善解决队员之间的矛盾。
保安班长岗位职责
直接上级:保安部队长
工作概要:负责当班保安员的工作情况。主要职责:
1、听从保安队长的工作安排并及时报告有关工作,在做好本职工作的同时,负责本班保安员的管理工作;
2、上岗前应先进行自我检查,做到按规定着装,佩带工号牌,个人仪容仪表端庄整洁。对当班的工作任务和要求,做到心中有数;布臵工作时,做到具体、明确;
3、坚守岗位,严格执行值勤管理制度,保持园区的正常秩序,发现问题及时协调解决。监督保安员按操作程序和要求做好保安工作,对本班保安工作负责。负责对保安各种用品和器具的保管工作。遇到不能解决的问题及时向保安队长汇报。当班工作有记录,换岗交接清楚、及时、无误;
4、负责对本班保安员的工作表现进行考核,并向保安队长报告。
火警事件的处理程序
(1)如发现火情,保安员应迅速赶到现场,立即报告消防控制中心,保安员组织人员扑救,同时根据火灾现场情况,拨打报警电话,并立即报告上级领导;
(2)迅速封闭现场,尽快疏散游客和公司员工;
(3)如有发现罪犯要奋力擒拿。尽可能利用一切消防设备控制灾情直到扑灭;
(4)为警察和消防车辆安排好进出口路线,登记抵达时间、人员、数量、灭火时间;
(5)火灾扑灭后,要继续保护现场,劝说周围群众离开现场;
(6)尽可能地阻止记者拍摄有损园区声誉的照片或录像;(7)事后应协助公司及有关部门查找火灾的原因。
盗窃等破坏事件的处理程序
(1)巡查发现或接报园区内有人盗窃,应马上抓获现场嫌疑人。如力量不够,用对讲机、消防电话或其他方式尽快报告区域保安中心,简单说明现场情况,并监视现场等待保安中心的指令;
(2)保安中心接报后,应迅速派适当数量的保安人员到场制止,设法抓获肇事者,带往保安中心调查处理;
(3)事件中如有财产或人员受到损害,应拍照或录像,并保护现场,留下目击者,做详细调查,以明确责任、落实赔偿;
(4)如涉及刑事责任,应交派出所立案处理。
殴打暴力事件的处理程序
(1)处理斗殴等暴力事件应保持客观、克制的态度,除非正当防卫,一般情况下应尽量避免与人发生武力冲突或争吵;
(2)巡查发现或接报有斗殴等暴力事件,应马上用对讲机、消防电话或其他最快的方式报告区域保安中心,简要说明现场的情况(地点、人数、斗殴程度、有无使用武器等)。如能处理的,即时处理;否则监视现场,等待保安中心的指令;
(3)保安中心接报后视情况派适当数量的保安员立即到场制止,将肇事者带往保安中心接受调查。如场面无法控制,应尽快报派出所;
(4)斗殴事件中如区域的财产或人员受到损害,应拍照、保护现场,并留下目击者、扣下肇事者,作详细调查以明确责任和落实赔偿;
(5)如涉及刑事责任,应交派出所立案处理;
(6)事件中如有人员受伤要及时组织抢救,并尽快送往医院。
消防培训
1.消防工作的意义
消防工作是人类在与火灾作斗争的过程中逐步形成和发展起来的一项专门工作。他具有保障安全的性质。是保卫社会主义现代化建设、保护公共财产安全和公民生命财产安全的一项重要措施。
2.消防工作方针
贯彻“预防为主,防消结合”的消防工作方针 3.消防工作任务 就是坚决贯彻“预防为主,防消结合”的消防工作方针。严格消防监督管理,加强消防队伍建设和义务建设。防止火灾的发生,减少火灾的损失。以保卫社会主义现代化建设,保护公共财产和公民生命财产的安全。
1.初期火灾报警的重要意义以及发生火灾的一些必要情况
(1)火灾初起时,一般燃烧面积较少,火势教弱,此时是扑灭火灾的有利时机;
(2)一般在起火5—7分钟能否将火扑灭,这是个关键,因为发生火灾后,火势蔓延的速度是相当快的;
(3)把握初期火灾的关键:①利用灭火器材扑救 ②同时报警
2.报警时的注意事项
(1)报警时应沉着冷静,必须准确讲清楚起火所在地区、道路(街道)、起火单位、着火物资、火势大小、报警人姓名及所用报警的电话号码等;
(2)同时,派人到路口迎接和引导消防车进入火场; 3.结合现场情况当火灾发生后,应当采取以下应急措施(1)一旦发生火警,应保持沉着冷静,切勿惊慌失措;
(2)义务消防队员迅速在本工作范围内寻找火点的来源,同时切断火灾周围的一切电源;(3)做好个人防护措施(如:消防服)和确保自身安全的情况下,利用附近的灭火器材,进行扑救初起火灾;
(4)迅速报警,立即派人打电话或直接派人通知领导及公安消防队,便于增加灭火力量,与扑救是同时进行的行为;
(5)为防止火势蔓延和由火灾所造成带来的危险因素,如爆炸、有毒气体、烟雾等,应迅速组织引导游客及公司员工走出安全出口、防火门、疏散通道等撤到安全地点。并对人员进行清查,做到全部安全撤离;
(6)在疏散过程中切勿乘坐电梯;
(7)本工作范围内没发生火灾的,但同区内其他地方发生火灾时,义务消防队员除引导疏散本区的人员撤至安全地点外,应迅速再赶往火场,听从火场指挥员的安排参加扑救;
(8)注意事项:除火场扑救人员外,其他任何人员都不得在火灾现场周围逗留和观看。
常见几种灭火剂、灭火器的性能及适应扑救哪几种类型的火灾
1、常见几种灭火剂
如:水、泡沫、二氧化碳、1211、1301、干粉、烟雾、惰性气体等。
2、常见几种灭火器及性能(1)泡沫灭火器 主要扑救一般物质或油类等可燃液体和易燃液体的初起火灾;和水一起使用不宜扑救醇类、酮类、醚类等水溶性液体火灾和气体火灾;
(2)二氧化碳灭火器
一般用于扑救600伏以下的带电设备火灾、精密仪器、图书和档案火灾,以及范围不大的油类、气体和一些不能用水扑救的物质火灾。不能扑救金属、钾、钠、镁、铝合金属氢化物等物质的火灾;
(3)卤代烷灭火器(即1211、1301灭火器)适用于扑救贵重物资仓库、配电室,实验室电子计算中心,通讯中心,档案馆,宾馆,饭店等单位或车船上的火灾,也能扑救油类、电器仪表,有机溶剂,天然气等火灾。不宜扑救轻金属火灾;
(4)干粉灭火器 主要适应扑救石油气物品,易燃气体,可燃气体,电气设备火灾,也能扑救木材,纸张,橡胶,棉签,纤维等可燃固体物质火灾。
a.按移动方式分为手提式,携车式,背负式三种干粉灭火器。b.按气体的贮存位臵分贮气瓶式和贮压式干粉灭火器 c.按灭火器内冲装的干粉灭火剂不同可分为:ABC、BC、ABCD三类。
灭火器类型的选择 1.扑救A类火灾:指固体物质火灾,如:木材,纺织品,纸张,塑料,橡胶等。可选用水型,泡沫,卤代烷,干粉(ABC)等灭火器;
2.扑救B类火灾:指液体火灾和可熔化的固体物质火灾,如:油类,甲醇,酒精,沥青,石蜡等,可选用泡沫,卤代烷,二氧化碳,干粉灭火器等;
3.扑救C类火灾:气体火灾,如:煤气,不燃气,氢气,甲烷,乙炔等。可选用卤代烷,干粉等灭火器;
4.扑救D类火灾:金属火灾,如:钾,钠,镁,钛,铝镁合金等金属燃烧产生的火灾。必须使用特殊的适用D类火灾的灭火器。如:ABCB干粉灭火器;
5.扑救第5类火灾:带电火灾应选用卤代烷,二氧化碳,干粉等灭火器。
火器的设臵要求
1.应设臵在明显的,便于取用的地点,且不影响安全疏散;
2.应设臵稳固,其铭牌必须朝外;
3.手提式灭火器宜设在挂钩托架上,或灭火器箱内,其顶部离地面高度应小于1.5M,底部离地面不宜小于0.15M; 4.灭火器不应设臵在潮湿或强腐蚀性的地点,如必须设臵时,应有相应的保护措施,设臵在室外的应有保护措施;
灭火器使用温度范围—5℃~~+45℃,沫灭火器的使用温度范围4℃~~45℃。卤代烷灭火器的使用温度范围—20℃~~+55℃。
灭火器的基本方法
1.冷却灭火法:用水进行冷却灭火,使温度降低,从而使燃烧停止。
2.隔离灭火法:将燃烧物体与附近的可燃物隔离或疏散开,从而使火停止。适用于扑救各种固体、液体和气体的火灾。
3.窒息灭火法:主要是采取措施防止空气流入燃烧区,或者用惰性气体稀释空气中氧气而熄灭。适用于扑救封闭的房间和工艺装臵或船舱内的火灾。
4.抑制灭火法:就是使灭火剂参与燃烧的连锁反应,抑制燃烧的化学反应过程,使燃烧中止,达到灭火的目的。采用这种方法可使用的灭火剂有:干粉、1211、1301。
常见的消防设备
1.消防水源分为天然和人工水源
(1)人工水源包括:消防栓、消防水池
(2)天然水源包括:江、河、海、池塘等
(3)消防栓:分为室外消防栓和室内消防栓 a.室外消防栓:室外消火栓主要是城镇公用的,按其安装形成分为地上、地下消火栓两种,一般有三个出水口,其中口径100毫米出水口一个用来连接消防车吸水管,口径65毫米出水口两个供连接水带; b.室内消防栓:室内消火栓是设在公共建筑物、厂房、仓库、轮船等室内的消防供水设备,一般用来扑救室内初起火灾,口径一般为50毫米、65毫米两种。使用室内消火栓时,先将水枪、水带与消火栓出水口连接好,然后按逆时针方向转动消火栓手轮,即可出水灭火。
2.常见的消防设备
(1)消防车、灭火器、防毒面具、消防服。
(2)水带:口径一般为50、65、80、90、毫米等几种,其长度规定为20米。
(3)水枪:消防水枪有直流水枪、开花直流水枪、喷雾水枪和带架水枪等。水枪喷嘴口径有13、16、19、22、25毫米等几种。
3.消防水栓射流形式
(1)密集射流(2)开花射流(3)雾状射流
备注:当水枪射流与地面成30~32度地上倾角时,其射程最远;水枪射流与水平面垂直时,其射流最高。
火灾一般分为三种
1、一般火灾:损失五万元以下,死亡三人以下或受灾三十户以下。
2、重大火灾:损失五万元以上,死亡三人或死伤十人以上。
3、特大火灾:死亡十人以上或死伤二十人以上,损失五十万元以上。
扑救火灾的一般原则
1、报警早、损失小
2、边报警、边扑救
3、先控制、后灭火
4、先救人、后救物
5、防中毒、防窒息
6、听指挥、莫惊慌
6、安全的定义
安全是一种意识,一种工作态度,安全是每个人的责任
仪态举止规范
1.站姿规范
(1)职岗站姿:两脚跟靠紧,脚掌分开呈“v”字形,两腿并拢立直,身体重心落在两腿之间; 脊背直立,挺胸收腹,两肩平齐,稍向后张;两臂自然下垂,手指并拢,自然微屈,拇指指尖贴于食指的第二节,中指贴于裤缝; 头正、颈直,两眼平时,双唇微闭,下颌微收,面部端庄;
(2)与客交谈站姿与客户保持1米左右距离;在标准站立规范的基础上,上体稍前倾;面带微笑、礼貌问候;双目目视客户,注意聆听,不左顾右盼;
(3)跨立:左脚向左跨出与肩同宽距离,两腿挺直,上体保持立正姿式,身体中心落于两脚之间;两手后背,左手握右手腕,拇指根部与外腰带下沿(内腰带上沿)同高。右手指并拢自然弯曲手心。
4.敬礼规范,上体正直;右手迅速抬起,五指并拢、自然伸直;中指微接近帽檐右角,手心向下微向外张;手腕平直,右大臂略平,与两肩成一条直线;行礼的同时,要注视受礼者。
2.走姿规范
(1)基本步
上体正直,微向前倾。手指轻轻握拢,拇指贴于食指第二关节;两臂自然摆动。向前摆动时肘部弯曲,小臂自然向里合,手心向内且稍向下,拇指根部对正衣扣。并与最下方衣扣同高,离身体约25厘米;行进速度约每分钟116-122步。行进步幅约75厘米;两人以上人员行走时,需列队行走;与客户同方向行走时,不得抢道并行或抢先经过,如遇紧急情况需超越客户时,要首先道歉、示意客户,待客户让路后,要表示感谢,侧身经过;手拿大件及易碎物品在狭窄通道与客户同方向行走时,无论什么情况下都不可超越客户。(2)跑步
跑动前两手握拳提到腰际,约与腰带同高,拳心向内,肘部稍向里合,上体微向前倾,两腿弯曲;跑动时前脚掌要先着地,重心前移,两臂自然摆动。向前摆时不露肘,小臂略平,稍向里合,两拳不得超过衣扣线;向后摆时,不露手;跑动步幅约80厘米。
卡姆拉文化创意有限公司 2015 7 6