有没有一种方法可以减少DB2中两个列标题之间的差距



我正在研究IBM I系列VR7,并使用CLLE运行SQL(DB2(。

我在TXT文件中有一个SQL过程,有下面的命令在QTEMP中创建一个表。

create table qtemp.FILE1 as (                                                  
select                                                                          
Field1,Field2,Field3,.....Field10 from FILE2 ) with data; 

我使用以下命令从CLLE调用上述过程。

RUNSQLSTM  SRCFILE(MyLib/MySrc) SRCMBR(Proc_txt) COMMIT(*NONE)

然后运行下面的命令生成假脱机。

RUNQRY     QRYFILE((FILE1)) OUTTYPE(*PRINTER) OUTFORM(*DETAIL) FORMSIZE(60 132) 
FORMTYPE(*STD) COPIES(1) LINESPACE(1)  

我面临的问题是,在使用create table命令创建表时,列之间会出现2空白。当使用上述RUNQRY命令将该表转换为假脱机文件时,右侧的字段会被截断,因为默认情况下我的报告宽度为132,并且我无法更改它。如果创建的表中的空白可以减少到1,我的问题就会得到解决。SQL我正在使用IBM I Series的默认值和DB2作为数据库。我对他们的版本不太了解。

第二版:我遇到的另一个问题是报告第二行有一个字段。实际上,根据要求,一个字段必须在另一个字段下的第二行。例如,我需要field5下面的field10。我也解决了,请阅读下面的答案。希望它能帮助有需要的人,但我真的很怀疑。

第1版:我已按要求更新了问题。任何帮助都将不胜感激。谢谢

简单的答案是,可以将报告定义为列之间有1个空格,但必须定义Query400对象才能做到这一点。不幸的是,这不是编写Query400教程的好地方。不过我可以帮你开始。

键入wrkqry,然后按enter键。

然后将光标放在查询名称字段上,然后按F4。您现在处于工具中。您需要创建一个新的查询,并在此工具中定义它的所有内容。玩一玩,看看这是否对你有帮助。

我能够得到我需要的东西。正如其他人所建议的,我最终使用WRKQRY来控制列间距。将列间距减小到1,并且能够获得132宽度所需的列。

我遇到的另一个问题是报告第二行有一个字段。实际上,根据要求,一个字段必须在另一个字段下的第二行。例如,我需要field5下面的field10。所以我所做的是,我使用了WRKQRY中提供的换行功能。

我是如何做到的:创建一个WRKQRY对象并选择所需的文件。

  1. 将第二行中所需的字段排序到底部
  2. 转到Select Output Type and Output Form,在换行字段中取Y。把换行宽度等于报表宽度。根据需要保留其他字段
  3. 这样,如果每条记录有数据,那么它在下一行中将有第10个字段。您可以添加为许多字段
  4. 为了正确对齐,您可能需要在字段中添加一些空格。我会的建议创建一个新字段,并使用WRKQRY中可用的concat(||(运算符

感谢大家的帮助。

相关内容

  • 没有找到相关文章

最新更新