0

我采用了很好的示例clientPrintDescription.py并将其修改为返回 HTML。

现在我看到了:

截图-uc_length-is-16

由于参数类型是RFCTYPE_TABLE我认为 nuc_length 和 uc_length 不起作用。我是对的,还是两个值(这里是 16)如果有任何意义RFCTYPE_TABLE

4

2 回答 2

1

一个字符串,一个字节串,一个内部表,一个引用或一个装箱组件的变量,基本上是一个在内存中静态占用8个字节的指针,并指向扩展内存中的另一个位置。

对于这些类型,“nuc_length”和“uc_length”始终具有相同的值。只有包含字符的变量具有不同的“nuc_length”和“uc_length”值。

我不明白为什么 python为内部表显示16 个字节,它应该是 8 个字节。

于 2019-10-02T13:15:38.267 回答
1

我对 Python 不熟悉,但我查看了原始程序(https://wiki.scn.sap.com/wiki/x/zz27Gg的 samples.zip 中的 printDescription.c ),以及该程序的作用,解释它:

对于每个功能模块参数,它会打印到该参数(一行)的总“宽度”。(这基本上是其所有字段的宽度加上一些填充的总和。)

因此,在您的情况下:“IV_DYNAMIC_PARAMETER_LIST”是一个表,其行类型是具有两个字段的结构:STRING 类型的“KEY”和 STRING 类型的“VALUE”。正如 Sandra 上面已经提到的,包括 STRING 类型在内的可变 ABAP 类型是通过指针机制实现的,因此宽度为 8。

两个宽度为 8 的字段,不需要填充,导致该表格行类型的总宽度为 16。

于 2020-02-11T14:16:35.383 回答