Ibm midrange 如何在as400中创建长度超过32000的未描述文件

Ibm midrange 如何在as400中创建长度超过32000的未描述文件,ibm-midrange,cobol,cl,Ibm Midrange,Cobol,Cl,实际上,我正在尝试创建长度超过32000的固定长度文件,如果没有,请帮助我创建如何创建该文件 请查看下面的系统消息 原因……:参数RCDLEN指定的数值,它是 在命令定义对象中定义为类型*INT2的无效。这个 参数类型及其允许值如下所示: INT2:值的范围是-32768到32767 INT4:值的范围是-2147483648到2147483647 UINT2:值的范围为0到65535 UINT4:值的范围为0到4294967295 DEC:此参数的值范围受其属性限制 定义长度 它在命令定义对

实际上,我正在尝试创建长度超过32000的固定长度文件,如果没有,请帮助我创建如何创建该文件

请查看下面的系统消息

原因……:参数RCDLEN指定的数值,它是 在命令定义对象中定义为类型*INT2的无效。这个 参数类型及其允许值如下所示:

  • INT2:值的范围是-32768到32767

  • INT4:值的范围是-2147483648到2147483647

  • UINT2:值的范围为0到65535

  • UINT4:值的范围为0到4294967295

  • DEC:此参数的值范围受其属性限制 定义长度

    它在命令定义对象中用LEN(*N)定义

    • --*N:此错误发生在数值超过15位有效数字的表达式中
++++++++++++++++++++++++++++++++++++++++++++++++

默认情况下,系统将采用*INT2作为数字类型(*上面提到的INT2范围)。
我确定*INT2的最大长度是32k。但是我们不能将数字类型修改为*UNT2,请告诉我如何在创建固定长度文件时将*UNT2(上述范围)更改为数字类型。
32766是操作系统对文件长度的限制。IFS文件没有限制。

您好,技术人员,非常感谢您的宝贵意见。*我与IBM论坛进行了联系,我们可以创建最大长度为32767的文件。请检查下面的链接**(www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_61/cl/)*…检查上面链接中的RCDLEN部分。

您可以使用SQL定义包含大型对象的表。对于单字节CCSID,CLOB字段可以高达2Gb,对于双字节CCSID,CLOB字段可以高达1Gb。您可以使用RPG中的变量直接寻址第一个16Mb。我不知道最长的COBOL变量是什么。如果需要超过最大可变长度,可以使用locaters和substring输出该值。

对于记录长度大于32k的文件,可能无法执行此操作。你为什么要这么做??我建议将记录拆分为单独的记录,并创建一个多记录文件。数组是一个很好的选择,为什么不为每个数组元素创建一个记录(如果足够大,您在问题中提到“*INT2”和“*UNT2”,但它们与RCDLEN()没有关系)创建未描述文件时的参数。这些可能是外部描述表的各个列的数据类型。无论如何,您不能创建固定宽度为32K或更大句点的物理表。(行可以大得多,但不是固定长度。)如果您需要该大小的未描述行宽度,请使用流文件。不要使用不合适的对象。这只说明了您的上一个问题。您能否将上一个问题的评论中的任何突出答案添加到此问题中?@BruceMartin列出了一个很好的解决方案。您可以通过CAL访问数据Led模块,因此您的程序“看到”完整记录,因为该模块将多条记录放在一起。每条记录32K可能不合适,其他长度可能更好(iSeries不知道)。请查看评论中的其他提示。您将无法按照自己的意愿直接执行此操作。正如前面和此处所述。您好,技术人员非常感谢您的宝贵评论。*我与IBM论坛进行了联系,我们可以创建最大长度为32767的文件。请查看下面的链接()…检查上述链接中的RCDLEN部分。由于无法创建此类文件,因此无法将数据放入此类文件中。如果您简单地告诉我们您试图解决的业务问题,可能会有更好的答案。您需要创建什么功能?您的目标是什么?该过程应该做什么?通过“文件长度”你是指记录长度?你能扩展到包括一个如何为COBOL程序定义IFS文件的简短示例吗?我没有COBOL mojo。{创建缓冲区,填充缓冲区,处理缓冲区}重复。哦..Danny很抱歉地提到,我实际上正在尝试用Cobol400创建文件。我没有使用RPGLE创建文件。我没有COBOL mojo.:(你能修复链接吗?请确认你已经创建了一个比你提供的链接中写入的最大值长一个字节的记录。鉴于我们知道你正在寻找约64000字节长的记录,请解释为什么你认为这是一个成功。