问题描述
我有一个关于XML Generate
在COBOL上的功能的案例。
我的本抄写本:
01 ABC.
02 a PIC X(02) VALUE SPACES.
02 b PIC X(02) VALUE SPACES.
02 c PIC X(02) VALUE SPACES.
结果:
<ABC><a>aa</a><b>bb</b><c>cc</c></ABC>
但是我输出的最大长度只有ZZ个字符。 因此,我想我必须在其中插入带有预期结果的“输入”字符:
<ABC><a>aa</a><b>bb</b>
<c>cc</c></ABC>
所以我试图编辑本抄写本,就像这样:
01 ABC.
02 a PIC X(02) VALUE SPACES.
02 b PIC X(02) VALUE SPACES.
02 FILLER PIC X VALUE IS X'7D'.
02 c PIC X(02) VALUE SPACES.
但是它不起作用。 关于这个案例有什么建议吗?
非常感谢
解决方法
amount_every_person_owes = total_spent / number_of_people
for person in group:
amount_this_person_owes = amount_every_person_owes - amount_this_person_spent
是对COBOL标准的常见扩展。它仅将输出格式指定为XML,并具有一组定义的规则,以哪种方式和格式包括哪些数据项。它不保证“打印格式”,并指定您需要目标足够大(有时是COBOL数据的5倍),以免出现异常。
给定实现的某些版本甚至可能输出“漂亮的字样”(元素之间有很多空格),而另一个版本则没有。
因此,您可以执行以下操作:
- 使用足够大的目标字段
- 然后通过
XML GENERATE
将目标字段拆分为请求的大小。
有关PERFORM
的更多信息,请参见IBM Documentation,Micro Focus docs和ACUCOBOL-GT docs。