我拿了一个很好的例子clientPrintDescription.py并从描述中创建了一个 HTML 表单,该表单与特定 RFC 函数的输入数据类型相匹配。
在 SAP 中,数据类型可以包含可以包含数据类型的数据类型,我想使用嵌套数据类型来测试我的 HTML 表单生成器。
当然,我可以创建自己的自定义数据类型,但如果我使用现有的(支持 rfc 的)数据类型,它的可重用性会更高。
SAP 中哪种数据类型包含大量嵌套数据类型?也许有很多不同的数据类型?
我不知道哪种结构最适合您的情况,但您可以DD03VV使用 transaction过滤视图(现在这是一个有意义的名称)se16h。如果你GROUP BY的列TABNAME和过滤器WHERE TABCLASS = 'INTTAB'的条目数是结构大小的一个指标。
您还可以聚合并在下一步过滤最大值DEPTH(如 SQL HAVING,它在 SAP R/3 中不存在)。在我的系统上,最大深度为 12。
编辑:如果您无法访问se16h,这里有一个解决办法:呼叫se37和执行 SE16N_START有I_HANA = 'X'。如果您无法访问se37使用sa38和调用RSFUNCTIONBUILDER(后面的报告se37)。
PS:请求DD03VV非常慢,可能是由于缺少对 ABAP 字典视图上的复杂请求的优化。
如果我只能给出一种 DDIC 结构,我会给出这个:
FDT_TEST_DDIC_BIND_DEEP_S
Run Code Online (Sandbox Code Playgroud)
它包含许多杂项类型的元素,包括嵌套元素,并且它存在于任何基于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
Run Code Online (Sandbox Code Playgroud)
某些结构在某些 ABAP 版本中可能无效。它们曾经存在于ABAP基础7.02和7.52中。