COBOL文件处理返回码判断
批处理程序判断命令返回结果

有时候我们会写一些批处理命令来辅助我们的工作,在批处理中要根据命令的返回值做一些判断,有分支的存在,这时候可以使用系统变量%errorlevel%,范例如下:@echo ondir c:\echo "返回0说明运行成功,返回1说明运行失败"set "err=%errorlevel%"if "%err%"=="0" (echo "sucess"echo “你成功了”) else(echo "fail"echo “你失败啊”)pause说明如下:@echo offdir z:IF ERRORLEVEL 1 goto 1IF ERRORLEVEL 0 goto 0goto C:0echo 命令执行成功!goto C:1echo 命令执行失败!goto C:Cecho 判断ERRORLEVEL返回号应该由高到低PAUSE或者@echo offdir c:set "err=%ERRORLEVEL%"IF "%err%"=="0" goto 0IF "%err%"=="1" goto 1goto C:0echo 命令执行成功!goto C:1echo 命令执行失败!goto C:Cecho 将ERRORLEVEL返回号定义到一个变量由if判断PAUSE补充回答:返回值是多少在程序执行完后用echo %ERRORLEVEL%来查看该值, 每个命令基本返回值0或1(0成功1失败)特别是内部命令,不能一概的说是系统规定的,而是命令所指定的,第三方命令(外部命令)会提供多个甚至几十个返回值但最多256±1 个返回值,各命令的返回值含义可能各不相同,其返回值含义及用法在此程序开发者原始自述文中有说明。
cobol的set语句

cobol的set语句Cobol是一种面向业务的编程语言,广泛用于处理企业级应用程序。
在Cobol中,set语句用于给变量赋值。
下面是一些使用Cobol的set语句的示例,以及它们的功能和用法。
1. 设置变量为固定值:```SET variable-name TO value.```这个语句将变量的值设置为固定的值。
例如:```SET count TO 0.```这将把变量count的值设置为0。
2. 设置变量为另一个变量的值:```SET variable-name-1 TO variable-name-2.```这个语句将变量variable-name-1的值设置为variable-name-2的值。
例如:```SET total TO count.```这将把变量total的值设置为变量count的值。
3. 设置变量为表达式的计算结果:```SET variable-name TO expression.```这个语句将变量的值设置为表达式的计算结果。
例如:```SET total TO count * price.```这将把变量total的值设置为变量count乘以变量price的结果。
4. 设置变量为当前日期或时间:```SET variable-name TO CURRENT-DATE.```这个语句将变量的值设置为当前日期或时间。
例如:```SET today TO CURRENT-DATE.```这将把变量today的值设置为当前的日期。
5. 设置变量为文件中的记录数:```SET variable-name TO NUMBER-OF-RECORDS.```这个语句将变量的值设置为文件中的记录数。
例如:```SET record-count TO NUMBER-OF-RECORDS.```这将把变量record-count的值设置为文件中的记录数。
6. 设置变量为字符串的值:```SET variable-name TO "string".```这个语句将变量的值设置为字符串的值。
文件字符流编码判断

⽂件字符流编码判断using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Web;namespace Wordsearch1{public class FileEncoding{public FileEncoding(){//// TODO: 在此处添加构造函数逻辑//}/// <summary>/// 取得⼀个⽂本⽂件的编码⽅式。
如果⽆法在⽂件头部找到有效的前导符,Encoding.Default将被返回。
/// </summary>/// <param name="fileName">⽂件名。
</param>/// <returns></returns>public static Encoding GetEncoding(string fileName){return GetEncoding(fileName, Encoding.Default);}/// <summary>/// 取得⼀个⽂本⽂件流的编码⽅式。
/// </summary>/// <param name="stream">⽂本⽂件流。
</param>/// <returns></returns>public static Encoding GetEncoding(FileStream stream){return GetEncoding(stream, Encoding.Default);}/// <summary>/// 取得⼀个⽂本⽂件的编码⽅式。
/// </summary>/// <param name="fileName">⽂件名。
COBOL 计算函数

MOD:参数1 根据参数2 整除REM:取余RANGE: 取参数差SUM: 取参数和NUMVAL,NUMVAL-C:从编辑型数字取数REVERSE: 字符传反向UPPER-CASE, LOWER-CASE: 大小写转换CURRENT-DATE, DATE-OF-INTEGER, DATE-TO-YYYYMMDD, DATEVAL, DAY-OF-INTEGER, DAY-TO-YYYYDDD, DISPLAY-OF,INTEGER-OF-DATE, INTEGER-OF-DAY, NATIONAL-OF,YEAR-TO-YYYY, YEARWINDOW:: 日期相关函数MEAN,MEDIAN, MIDRANGE:取中间值LENGTH:参数长度VARIANCE:参数差异度SIN, COS,TAN, ACOS, ASIN, ATAN,: 三角与反三角函数SQRT: 平方根STANDARD-DEVIATION: 标准差LOG, LOG10:对数ANNUITY: 算年金PRESENT-VALUE:现值FACTORIAL:阶乘INTEGER :下界整数INTEGER-PART:取整CHAR 转换成字符(ORD,ORD-MAX,ORD-MIN:字符转数字)MAX,MIN:返回参数中最大/小的WHEN-COMPILED:程序编译日期部分详细解释:/s/blog_78d05bb10100pffv.html1.FUNCTION 语句实现字符串中字母大小写的转换。
其关键之处是在该语句后加上LOWER-CASE,或者UPPER-CASE选项。
下面的代码使用LOWER-CASE选项,将字符串中的字母全部转换为小写格式。
DATA DIVISION.WORKING-STORAGE SECTION.01 SOURCE-STR PIC X(5).01 NEW-STR PIC X(5).*PROCEDURE DIVISION.MOVE 'AB-CDE' TO SOURCE-ATR.DISPLAY SOURCE-STR.DISPLAY FUNCTION LOWER-CASE(SOURCE-STR).MOVE 'Ab-Cde' TO SOURCE-STR.DISPLAY SOURCE-STR.DISPLAY FUNCTION LOWER-CASE(SOURCE-STR).MOVE FUNCTION LOWER-CASE(SOURCE-STR) TO NEW-STR.DISPLAY NEW-STR.DISPLAY SOURCE-STR.STOP RUN.执行后为:AB-CDEab-cdeAb-Cdeab-cdeAb-CdeLOWER-CASE 只将字符串中的大写字母转换为对应的小写形式。
COBOL整理 (修复済み)

二.COBOL程序的结构1.部2.节(SECTION)和段(PARAGRAPH)(1)部-节-段(2)标识部下面不设节,直接设段(3)过程部可以设节,下面再设段,也可以直接设段3.句子、语句和子句每一段由若干句子(Sentence)组成,一个句子以句号加上一个以上的空格来结束。
句子由语句(Statement)组成。
语句中又可以包含若干子句(clause),每一个子句也有一个动词(但这个动词往往是可以省略的),它指定某一方面的特定功能。
三.COBOL源程序的书写格式(1)①ANSI书写格式1.1-6列:标号区2.第7列:续行标志区(“-”为续行,“*”为注解)3.8-11列:A区(部头,节头,段头,层号01、77,文件描述符FD等)4.12-72列:B区(正文)5.73-80列:注释区②终端格式A)终端格式的每一行可以用到256列,即源程序每行最大长度为256个字符,在输入字符占满屏幕上的一行(80列)后不要按回车键,继续输入,直到输入完本行全部字符为止。
B)A区占1〜4列。
第一列可以作为续行标志区。
当第一列写上连接符“-”,这表示本行是上一行的续行,而当第一列写上“*”,表示此行是注释行。
需要说明的是,当第一列作为续行标志区时,A区将占用2〜5列,而B区相应为6〜256列。
C)B区占用第5〜256列。
(2).不区分大小写例:ABC 等同于 Abc(3).COBOL每个句子后要加句号“.”例:PERFORM 1000-INIT.※但在特殊的语句体里是不能写句号、包括:条件、循环、调用例:IF IN1-AREA = HIGH-VALUEMOVE FLG-ON TO FLG-ENDEND-IF.(4).运算符和等号左右两边留空格。
()左右两边留空格。
例:IF (IN1-AREA = HIGH-VALUE) OR (IN2-AREA = SPACE)……END-IF.(5) 数据名的命名规则(1)每个数据名的长度为1〜30个字符之间。
COBOL面试题黄金版

TSO1、什么是TSO?答:TSO(Time Sharing Option)一个模块,是MVS的基本组件、充当命令输入器。
提供主机用户(TSO ID)与系统之间的接口。
用户在TSO终端上,用命令形式操纵和管理计算机的资源和应用。
2、我们在配置PCOM时需要设置哪些参数?答:链路参数和会话参数3、TSO的签到方式?方法一:1、画面命令行输入‘TSO ’,‘确定’显示签到画面2、在签到画面Password栏位后输入用户密码方法二:1、画面输入‘TSO USERID’, ‘确定’显示签到画面2、在签到画面Password栏位后输入用户密码4、TSO的签退方式?方法一:1、在签到后的第一屏(标记有“ISPF Primary Option Menu ”的屏幕)输入‘X’,退出ISPF 2、画面出现READY,在下面输入LOGOFF方法二1、在签到第一屏,点击功能键'F3' ,2、如果系统画面出现READY ,在下面输入‘LOGOFF’3、如果系统画面出现'退出选项提示' 选择‘2’确定,来到READY 画面,之后输入LOGOFF5、以下账号有哪些权限?SYSUSER:具有对z/OS操作系统基本产品的操作功能DBAUSER:具有对z/OS操作系统基本产品和数据管理产品的操作功能TIVUSER:具有操作Tivoli产品的功能TSOUSER:具有存取TSO READY提示信息下的使用功能6、简述一下ISPF/PDF界面?ISPF/PDF:Interactive System Productivity Facility /Program Development Facility菜单(Panel)式的操作界面,为用户提供数据集管理、程序开发、作业(JOB)提交和监控等功能。
他的主要功能是使用菜单方式来使用TSO 命令。
7、ISPF界面分为哪几个功能区?Action Bar(行为菜单):提供了一些系统操作的选项,光标停留其上按确认键将跳出功能菜单可供选择。
xcode返回值判断语句
xcode返回值判断语句以下是为您生成的二十条“xcode 返回值判断语句”相关内容及示例:1. 你难道不想知道在 Xcode 里怎么通过返回值判断程序是否运行成功?就像你在黑暗中摸索,突然有了一盏明灯告诉你方向!比如说,你写了一个计算两数之和的函数,返回值为 0 表示计算出错,这不就像有个小裁判在告诉你对错吗?2. 难道你不觉得搞清楚 Xcode 返回值判断语句是提升编程能力的关键吗?这就好比在游戏中找到了通关秘籍!假设你在做一个登录功能,返回值为 1 表示登录成功,那这 1 不就是那把打开成功之门的钥匙?3. 你能想象如果不懂 Xcode 返回值判断语句会有多糟糕吗?就像在茫茫大海中没有指南针!比如在文件读写操作中,返回值 -1 表示读写失败,这难道不是在及时给你敲响警钟?4. 难道你还没意识到 Xcode 返回值判断语句的重要性?它就像战场上的情报员,给你关键信息!比如说,在网络请求中,返回值 200 代表请求成功,这不是很清晰明了吗?5. 你难道不渴望熟练运用 Xcode 返回值判断语句吗?那可是让你的代码变得聪明的魔法!假设你在做一个购物车结算功能,返回值为 true 表示结算成功,这不就像得到了一个肯定的答复?6. 难道你不想通过 Xcode 返回值判断语句让你的程序无懈可击?这就像给你的作品穿上了坚固的铠甲!比如在数据验证中,返回值为false 表示数据不符合要求,这难道不是在帮你把关?7. 你能不重视 Xcode 返回值判断语句吗?这可是决定你的程序命运的重要环节!想象一下,在图片加载中,返回值为空表示加载失败,这不是很让人着急?8. 难道你还不清楚 Xcode 返回值判断语句能带来多大的便利?它就像一个贴心的助手!比如说,在数据库操作中,返回值为行数表示操作影响的记录数量,这多直观啊!9. 你难道不想借助 Xcode 返回值判断语句让你的编程之路一帆风顺?这如同有了顺风的帆!假设在用户权限判断中,返回值为管理员表示拥有最高权限,这不就一目了然?10. 难道你不觉得掌握 Xcode 返回值判断语句是成为编程高手的必备技能吗?这就像拥有了绝世武功的秘籍!比如在订单处理中,返回值为已发货表示订单状态更新,是不是很清晰?11. 你能忽略Xcode 返回值判断语句的作用吗?那简直是自毁长城!就像做饭没有调料,能好吃吗?比如说,在验证码验证中,返回值错误表示验证码输入有误,这不是很关键?12. 难道你不想用 Xcode 返回值判断语句让你的程序更智能?这好比给程序装上了大脑!假设在视频播放中,返回值为缓冲完成表示可以流畅播放,多棒啊!13. 你难道不希望通过 Xcode 返回值判断语句避免程序出错?这就像提前避开陷阱!比如在文件删除操作中,返回值为成功表示文件已删除,多安心啊!14. 难道你还不明白 Xcode 返回值判断语句的神奇之处?它就像一个神奇的开关!比如说,在用户注册中,返回值为已存在表示用户名已被占用,这不就是在提醒你?15. 你能不依赖 Xcode 返回值判断语句来优化你的程序吗?这简直是痴人说梦!想象一下,在搜索功能中,返回值为搜索结果数量,这不是很有用?16. 难道你不想利用 Xcode 返回值判断语句提升用户体验?这就像给用户铺上了舒适的道路!假设在支付操作中,返回值为支付成功表示交易完成,用户多开心!17. 你难道不觉得 Xcode 返回值判断语句是程序的眼睛吗?它能让你看清一切!比如在数据更新中,返回值为更新成功表示数据已更新,这多重要!18. 难道你还没发现 Xcode 返回值判断语句的魅力?它就像一把万能钥匙!比如说,在页面跳转中,返回值为跳转成功表示页面切换正常,是不是很厉害?19. 你能不借助 Xcode 返回值判断语句让程序更高效吗?这根本不可能!假设在数据排序中,返回值为排序完成表示数据已按要求排序,多省事!20. 难道你不想通过 Xcode 返回值判断语句让你的代码更完美?这如同给作品镶嵌上璀璨的宝石!比如在消息推送中,返回值为推送成功表示消息已发送,多有成就感!。
COBOL面试题黄金版
TSO1、什么是TSO?答:TSO(Time Sharing Option)一个模块,是MVS的基本组件、充当命令输入器。
提供主机用户(TSO ID)与系统之间的接口。
用户在TSO终端上,用命令形式操纵和管理计算机的资源和应用。
2、我们在配置PCOM时需要设置哪些参数?答:链路参数和会话参数3、TSO的签到方式?方法一:1、画面命令行输入‘TSO ’,‘确定’显示签到画面2、在签到画面Password栏位后输入用户密码方法二:1、画面输入‘TSO USERID’, ‘确定’显示签到画面2、在签到画面Password栏位后输入用户密码4、TSO的签退方式?方法一:1、在签到后的第一屏(标记有“ISPF Primary Option Menu ”的屏幕)输入‘X’,退出ISPF 2、画面出现READY,在下面输入LOGOFF方法二1、在签到第一屏,点击功能键'F3' ,2、如果系统画面出现READY ,在下面输入‘LOGOFF’3、如果系统画面出现'退出选项提示' 选择‘2’确定,来到READY 画面,之后输入LOGOFF5、以下账号有哪些权限?SYSUSER:具有对z/OS操作系统基本产品的操作功能DBAUSER:具有对z/OS操作系统基本产品和数据管理产品的操作功能TIVUSER:具有操作Tivoli产品的功能TSOUSER:具有存取TSO READY提示信息下的使用功能6、简述一下ISPF/PDF界面?ISPF/PDF:Interactive System Productivity Facility /Program Development Facility菜单(Panel)式的操作界面,为用户提供数据集管理、程序开发、作业(JOB)提交和监控等功能。
他的主要功能是使用菜单方式来使用TSO 命令。
7、ISPF界面分为哪几个功能区?Action Bar(行为菜单):提供了一些系统操作的选项,光标停留其上按确认键将跳出功能菜单可供选择。
Cobol基本语法总结
コボル基本語法一、COBOL基本語法compla項目使用的Cobol是Micro Focus 公司生产的Cobol,采用在HP-UNIX上运行。
一、cobol的书写格式(每行)1、前6列为序号区(一般不编辑)2、第7列为标示列,仅可以写如下几个标示符。
a. “*”注释符(注释当前行的代码)b “/“注释符(注释当前行的代码,程序编译时,强制程序清单另起一页,不建议使用)c “-“字符串连接符d “D”DEBUG行标示符(程序为DEBUG模式时,标有该标示符的语句行代码执行,否则和注释行效果一样)3、第8列---11列为A区,包括以下内容。
a 部、节名。
b 层号014、第12列---72列为B区,过程部的程序必须写在B区中。
5、第72以后部分不能编辑。
二、cobol的语法结构(几大部分)1、标示部(IDENTIFICATION DIVISION):提供程序的一般性文档说明,本项目只保留程序名(PROGRAM-ID)一项。
2、环境部(ENVIRONMENT DIVISION): 提供程序外部有关的项目。
a.配置节(CONFIGURATION SECTION)①.指定源计算机(SOURCE-COMPUTE).②.目标计算机(OBJECT-COMPUTE).③.设置debug模式(SOURCE-COMPUTE H9000V WITH DEBUGGING MODE)④. 指定读环境变量设置.SPECIAL-NAMES.ENVIRONMENT-VALUE IS CNS-ENV-PARMENVIRONMENT-NAME IS CNS-ENV-NAME.b. 输入输出节(INPUT-OUTPUT SECTION).文件的物理路径的定义。
方法一:(写死文件路径)SELECT FILE-LOG ASSIGN"/usr3/WSI/commonlog/WSI1101.log"ORGANIZATION IS LINE SEQUENTIAL.方法二:(过程部中动态指定文件)SELECT FILE-LOG ASSIGN TO SELECT-FILEORGANIZATION IS LINE SEQUENTIAL.在数据部定义字符串变量SELECT-FILE,在文件FILE-LOG打开前动态指定文件路径。
cobol面试题
Q1) Name the divisions in a COBOL program ?.A1) IDENTIFICATION DIVISION, ENVIRONMENT DIVISION, DATA DIVISION, PROCEDURE DIVISION.Q:列举COBOL的DEVISIONA:标识部,环境部,数据部,过程部Q2) What are the different data types available in COBOL?A2) Alpha-numeric (X), alphabetic (A) and numeric (9).Q:COBOL有哪些可用的数据类型A:字符型(这里指的是包含字母和数字),字母型,数字型Q3) What does the INITIALIZE verb do? - GSA3) Alphabetic, Alphanumeric fields & alphanumeric edited items are set to SPACES. Numeric, Numeric edited items set to ZERO. FILLER , OCCURS DEPENDING ON items left untouched.Q:INITIALIZE这个词做了些什么A:将字母,字符,数字区域都置成空格(置空),将数字区置0, FILLER和OCCURS DEPENDING ON项不处理Q4) What is 77 level used for ?A4) Elementary level item. Cannot be subdivisions of other items (cannot be qualified), nor can they be subdivided themselves. Q:77层有什么作用A:基本层数据项,不能用做细分别的层,也不能被细分Q5) What is 88 level used for ?A5) For condition names.Q:88层有什么作用A:条件逻辑层Q6) What is level 66 used for ?A6) For RENAMES clause.Q:66层有什么作用A:重命名层Q7) What does the IS NUMERIC clause establish ?A7) IS NUMERIC can be used on alphanumeric items, signed numeric & packed decimal items and unsigned numeric & packed decimal items. IS NUMERIC returns TRUE if the item only consists of 0-9. However, if the item being tested is a signed item, then it maycontain 0-9, + and - .Q:IS NUMERIC这个子句怎么确定(也就是说确定句子的真值)A:IS NUMERIC用在字符项,带符号数字,浮点数,不带符号数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
COBOL文件处理返回码判断 The first character of the file-status-key is known as status-key-1; the second character is known as status-key-2. The combinations of possible values and their meanings are shown below.
Status 1 & 2 Description
00 Successful completion 02 Indexed files only. Possible causes: For a READ statement, the key value for the current key is equal to the value of that same key in the next record in the current key of reference. For a WRITE or REWRITE statement, the record just written created a duplicate key value for at least one alternate record key for which duplicates are allowed. 04 The length of the record being processed does not conform to the fixed file attributes for that file. 05 The referenced optional file is not present at the time the OPEN statement is executed. 06 Attempted to write to a file that has been opened for input. 07 Sequential files only. For an OPEN or CLOSE statement with the REEL/UNIT phrase the referenced file is a non-reel/unit medium. 08 Attempted to read from a file opened for output. 09 No room in directory or directory does not exist. 10 No next logical record exists. You have reached the end of the file. 12 Attempted to open a file that is already open. 13 File not found. 14 Relative files only. The number of significant digits in the relative record number is larger than the size of the relative key data item described for that file. Too many files open simultaneously (Micro Focus). 15 Too many indexed files open (Micro Focus). 16 Too many device files open (Micro Focus). 17 Record error: probably zero length (Micro Focus). 18 Read part record error: EOF before EOR or file open in wrong mode (Micro Focus). 19 Rewrite error: open mode or access mode wrong (Micro Focus). 20 Device or resource busy (Micro Focus). 21 Sequentially accessed files only. Indicates a sequence error. The ascending key requirements of successive record key values has been violated, or, the prime record key value has been changed by a COBOL program between successful execution of a READ statement and execution of the next REWRITE statement for that file. 22 Indexed and relative files only. Indicates a duplicate key condition. Attempt has been made to store a record that would create a duplicate key in the indexed or relative file OR a duplicate alternate record key that does not allow duplicates. 23 Indicates no record found. An attempt has been made to access a record, identified by a key, and that record does not exist in the file. Alternatively a START or READ operation has been tried on an optional input file that is not present. 24 Relative and indexed files only. Indicates a boundary violation. Possible causes: Attempting to write beyond the externally defined boundaries of a file Attempting a sequential WRITE operation has been tried on a relative file, but the number of significant digits in the relative record number is larger than the size of the relative key data item described for the file. 30 The I/O statement was unsuccessfully executed as the result of a boundary violation for a sequential file or as the result of an I/O error, such as a data check parity error, or a transmission error. 32 Too many Indexed files opened. This can also happen when a sequential file is open for input and an attempt is made to open the same file for output.(Run Time System (RTS) message by Micro Focus). 34 The I/O statement failed because of a boundary violation. This condition indicates that an attempt has been made to write beyond the externally defined boundaries of a sequential file. 35 An OPEN operation with the I-O, INPUT, or EXTEND phrases has been tried on a non-OPTIONAL file that is not present. Trying to open a file that does not exist. May need to map the COBOL file name to the physical file name. (Micro Focus, refer to the ASSIGN(EXTERNAL) directive) 37 An OPEN operation has been tried on a file which does not support the open mode specified in the OPEN statement. 38 An OPEN operation has been tried on a file previously closed with a lock. 39 A conflict has been detected between the actual file attributes and the attributes specified for the file in the program. This is usually caused by a conflict with record-length, key-length, key-position or file organization. Other possible causes are: 1. Alternate indexes are incorrectly defined (Key length or position, duplicates or sparse parameters). 2. The Recording Mode is Variable or Fixed or not defined the same as when the file was created.. 41 An OPEN operation has been tried on file already opened. 42 A CLOSE operation has been tried on file already closed. 43 Files in sequential access mode. The last I/O statement executed for the file, before the execution of a DELETE or REWRITE statement, was not a READ statement.