5

我采用了很好的示例clientPrintDescription.py并根据与特定 RFC 函数的输入数据类型匹配的描述创建了一个 HTML 表单。

在 SAP 中,数据类型可以包含可以包含数据类型的数据类型,我想用一个非常嵌套的数据类型来测试我的 HTML 表单生成器。

当然,我可以创建自己的自定义数据类型,但如果我使用现有的(支持 rfc 的)数据类型,它会更可重用。

SAP 中哪种数据类型包含大量嵌套数据类型?也许有很多不同的数据类型?

4

5 回答 5

5

我无法判断哪种结构最适合您的情况,但您可以DD03VV使用 transaction 过滤视图(现在这是一个有意义的名称)se16h。如果您对条目数进行GROUP BYTABNAME和过滤,则可以指示结构的大小。WHERE TABCLASS = 'INTTAB'

您还可以聚合并在下一步中对最大值进行过滤DEPTH(如 SQL HAVING,在 SAP R/3 中不存在 afaik)。在我的系统上,最大深度是 12。

编辑:如果您无法访问se16h,这里有一个解决方法:调用se37SE16N_START使用I_HANA = 'X'. 如果您无法访问se37使用sa38和调用RSFUNCTIONBUILDER(后面的报告se37)。

PS:请求DD03VV非常慢,可能是由于 ABAP 字典视图上的复杂请求缺少优化。

于 2019-10-09T14:33:23.017 回答
3

如果我必须只给出一个 DDIC 结构,我会给出这个:

FDT_TEST_DDIC_BIND_DEEP_S

它包含许多杂项类型的元素,包括嵌套的元素,并且存在于任何基于 ABAP 的系统中(它属于“BASIS”层)。

由于它在子级别中包含一些在 RFC 中无效的数据和对象引用,因此您必须复制它并删除这些引用字段。

还有一些结构(列“TABNAME”)具有一些感兴趣的字段:

TABNAME               FIELDNAME      Description
--------------------  -------------  ------------------------------------------------
SFW_BF                FROM_RELEASE   elementary built-in type
SAUNIT_S_ALERT        WHEN           data element 
SAUNIT_S_ALERT        HEADER         structure 
SAUNIT_S_ALERT        TEXT_INFOS     table type
SAUNIT_PROG_INFO      .INCLUDE       include structure SAUNIT_S_TADIR_KEY
SKWF_IOFLD            .INCLU-FLD     include structure SKWF_IO
SWFEXPSTRU2           .INCLU--AP     append structure SWFEXPSTRU3
APPEND_BAPI0002_2_2   .APPEND_DU     append structure recursive (append of BAPI0002_2) (unique component of APPEND_BAPI0002_2_2)
SOADDRESS                            Structure with nested structures on 2 levels

某些结构在某些 ABAP 版本中可能无效。它们曾经存在于 ABAP 基础 7.02 和 7.52 中。

于 2019-10-04T12:20:01.643 回答
1

试试功能模块 RFC_METADATA_TEST... 它有一些深度嵌套的参数。

于 2020-02-11T14:53:24.800 回答
0

在Se80 的Enterpise 服务浏览器下,您会找到属于复杂DDIC 结构的Proxy 结构的示例。有许多不同的类型。

示例edo_tw_a0401request 随便浏览一下,你就会找到你喜欢的东西。

于 2019-10-10T00:21:49.513 回答
0

STFC_STRUCTUREPyRFC的 test_datatypes 的文档中找到了。

可以找到用于测试的工作,因为它已经在我的 SAP 系统中可用。我不需要一个虚拟的 rfc 来进行测试。好的。

于 2019-10-29T15:26:03.200 回答