2020-09-04 05:32发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨
有人可以告诉我吗
1)什么是深层结构。
2)深度结构的优点是什么。
3)为什么以及何时在DDIC中创建它。
4)为什么以及何时在ABAP程序(报告,模块池程序等)中创建它
感谢
请尽快答复。
Shipra
嗨希普拉,
包含内部表作为组件或
包含结构作为组成部分的内部表称为深度内部表。
请检查此链接以了解更深的结构。
深层结构
示例:
TYPES:BEGIN OF TYPE_DEEP,
MATNR TYPE MATNR,
T_MARC类型MARC发生0,
TYPE_DEEP结束
数据:TYPE_DEEP的T_DEEP类型标准表。
数据:WA_DEEP TYPE TYPE_DEEP。
数据:MAR的T_MARC类型表。
数据:S_MARC TYPE MARC。
填充数据。
WA_DEEP-MATNR ='测试'。
S_MARC-MATNR ='测试'。
S_MARC-WERKS ='9090'。
APPEND S_MARC到T_MARC。
附加第二级内部表。
WA_DEEP-T_MARC [] = T_MARC []。
追加。
APPEND WA_DEEP到T_DEEP。
处理内部表。
在T_DEEP处进入WA_DEEP。
写:/WA_DEEP-MATNR。
处理第二层内部表。
在WA_DEEP-T_MARC进入S_MARC时循环播放。
写:S_MARC-WERKS。
ENDLOOP。
另请参阅以下链接中的结构信息...
http://help.sap.com/saphelp_nw04/ helpdata/zh-CN/fc/eb2fcc358411d1829f0000e829fbfe/content.htm
希望它能解决您的问题。
奖励积分(如果有用)。
感谢与问候
ilesh 24x7
HI
非常感谢。
结构是任何基本类型,引用类型或复杂数据类型的序列。
您可以使用ABAP程序中的结构对逻辑上属于同一工作区域进行分组。 由于结构的元素可以具有任何数据类型,因此结构可以具有广泛的用途。 例如,您可以使用具有基本数据类型的结构来显示程序中数据库表中的行。 您还可以使用包含聚合元素的结构来将屏幕或控件的所有属性包含在单个数据对象中。
在讨论结构时,以下术语很重要:
嵌套和非嵌套结构
嵌套结构是包含一个或多个其他结构作为组件的结构。 平面结构仅包含固定长度的基本数据类型(没有内部表,引用类型或字符串)。 不论结构是否嵌套,都可以使用术语"深层结构"。 嵌套结构是平坦的,只要任何嵌套级别中都不包含上述类型。
任何包含至少一个内部表,引用类型或字符串作为组件(与嵌套无关)的结构都是深层结构。 因此,内部表,引用和字符串也称为深度数据类型。 深层结构与其他所有结构之间的技术差异如下。 创建深层结构时,系统会在内存中创建一个指针,该指针指向实际字段内容或其他管理信息。 创建平面数据类型时,实际字段内容将与该类型一起存储在内存中。 由于在深层结构的情况下,字段内容不随字段描述一起存储,因此分配,偏移量和长度指定以及其他操作与平面结构的处理方式有所不同。
希望这会有所帮助。
谢谢
Srinivasa
hI
http://help.sap .com/saphelp_nw04/helpdata/zh-CN/fc/eb2fcc358411d1829f0000e829fbfe/content.htm
这是深层结构的简单示例。
TYPES:类型为ty_string,
string1(20)TYPE C,
string2(20)C型,
string3(20)TYPE C,
ty_string的结尾。
tt_tab类型ty_string类型表。
数据t_tab类型tt_tab。
类型:ty_mara的开始,
matnr TYPE matnr,
ersda TYPE ersda,
ty_mara结束,
ty_test开始,
text1 LIKE t_tab,
ty_test结束。
ty_string数据lt_test类型标准表。
数据测试,如lt_test。.
test-string1 ='ganesh'。
test-string2 ='古纳'。
test-string3 ='raj'。
将测试附加到lt_test。
*
数据:ty_mara的lt_mara类型标准表。
数据:ls_mara与lt_mara类似。
数据:ty_test的lt_marat类型标准表。
数据ls_marat与lt_marat类似。
从mara到表lt_mara最多10个行中选择matnr ersda。
在lt_mara INTO ls_mara中循环。
ls_marat-matnr = ls_mara-matnr。
ls_marat-ersda = ls_mara-ersda。
ls_marat-text1 = lt_test。
附加ls_marat到lt_marat。
BREAK-POINT。
string1(20)C型,
string3(20)C型,
类型tt_tab ty_string类型表。
TYPES:ty_mara的开始,
ty_test的开始
text1 LIKE t_tab
ty_string的数据lt_test类型标准表。
像lt_test之类的数据测试。
APPEND测试到lt_test。
DATA ls_marat与lt_marat类似。
在lt_mara INTO ls_mara中循环播放。
APPEND ls_marat到lt_marat。
最多设置5个标签!
嗨希普拉,
包含内部表作为组件或
的结构包含结构作为组成部分的内部表称为深度内部表。
请检查此链接以了解更深的结构。
深层结构
示例:
TYPES:BEGIN OF TYPE_DEEP,
MATNR TYPE MATNR,
T_MARC类型MARC发生0,
TYPE_DEEP结束
。数据:TYPE_DEEP的T_DEEP类型标准表。
数据:WA_DEEP TYPE TYPE_DEEP。
数据:MAR的T_MARC类型表。
数据:S_MARC TYPE MARC。
填充数据。
WA_DEEP-MATNR ='测试'。
S_MARC-MATNR ='测试'。
S_MARC-WERKS ='9090'。
APPEND S_MARC到T_MARC。
附加第二级内部表。
WA_DEEP-T_MARC [] = T_MARC []。
追加。
APPEND WA_DEEP到T_DEEP。
处理内部表。
在T_DEEP处进入WA_DEEP。
写:/WA_DEEP-MATNR。
处理第二层内部表。
在WA_DEEP-T_MARC进入S_MARC时循环播放。
写:S_MARC-WERKS。
ENDLOOP。
ENDLOOP。
另请参阅以下链接中的结构信息...
http://help.sap.com/saphelp_nw04/ helpdata/zh-CN/fc/eb2fcc358411d1829f0000e829fbfe/content.htm
希望它能解决您的问题。
奖励积分(如果有用)。
感谢与问候
ilesh 24x7
HI
非常感谢。
嗨希普拉,
结构是任何基本类型,引用类型或复杂数据类型的序列。
您可以使用ABAP程序中的结构对逻辑上属于同一工作区域进行分组。 由于结构的元素可以具有任何数据类型,因此结构可以具有广泛的用途。 例如,您可以使用具有基本数据类型的结构来显示程序中数据库表中的行。 您还可以使用包含聚合元素的结构来将屏幕或控件的所有属性包含在单个数据对象中。
在讨论结构时,以下术语很重要:
嵌套和非嵌套结构
深层结构
嵌套结构是包含一个或多个其他结构作为组件的结构。 平面结构仅包含固定长度的基本数据类型(没有内部表,引用类型或字符串)。 不论结构是否嵌套,都可以使用术语"深层结构"。 嵌套结构是平坦的,只要任何嵌套级别中都不包含上述类型。
任何包含至少一个内部表,引用类型或字符串作为组件(与嵌套无关)的结构都是深层结构。 因此,内部表,引用和字符串也称为深度数据类型。 深层结构与其他所有结构之间的技术差异如下。 创建深层结构时,系统会在内存中创建一个指针,该指针指向实际字段内容或其他管理信息。 创建平面数据类型时,实际字段内容将与该类型一起存储在内存中。 由于在深层结构的情况下,字段内容不随字段描述一起存储,因此分配,偏移量和长度指定以及其他操作与平面结构的处理方式有所不同。
希望这会有所帮助。
谢谢
Srinivasa
hI
包含内部表作为组件或
的结构包含结构作为组成部分的内部表称为深度内部表。
嵌套结构是包含一个或多个其他结构作为组件的结构。 平面结构仅包含固定长度的基本数据类型(没有内部表,引用类型或字符串)。 不论结构是否嵌套,都可以使用术语"深层结构"。 嵌套结构是平坦的,只要任何嵌套级别中都不包含上述类型。
任何包含至少一个内部表,引用类型或字符串作为组件(与嵌套无关)的结构都是深层结构。 因此,内部表,引用和字符串也称为深度数据类型。 深层结构与其他所有结构之间的技术差异如下。 创建深层结构时,系统会在内存中创建一个指针,该指针指向实际字段内容或其他管理信息。 创建平面数据类型时,实际字段内容将与该类型一起存储在内存中。 由于在深层结构的情况下,字段内容不随字段描述一起存储,因此分配,偏移量和长度指定以及其他操作与平面结构的处理方式有所不同。
http://help.sap .com/saphelp_nw04/helpdata/zh-CN/fc/eb2fcc358411d1829f0000e829fbfe/content.htm
请检查此链接以了解更深的结构。
深层结构
示例:
TYPES:BEGIN OF TYPE_DEEP,
MATNR TYPE MATNR,
T_MARC类型MARC发生0,
TYPE_DEEP结束
。数据:TYPE_DEEP的T_DEEP类型标准表。
数据:WA_DEEP TYPE TYPE_DEEP。
数据:MAR的T_MARC类型表。
数据:S_MARC TYPE MARC。
填充数据。
WA_DEEP-MATNR ='测试'。
S_MARC-MATNR ='测试'。
S_MARC-WERKS ='9090'。
APPEND S_MARC到T_MARC。
附加第二级内部表。
WA_DEEP-T_MARC [] = T_MARC []。
追加。
APPEND WA_DEEP到T_DEEP。
处理内部表。
在T_DEEP处进入WA_DEEP。
写:/WA_DEEP-MATNR。
处理第二层内部表。
在WA_DEEP-T_MARC进入S_MARC时循环播放。
写:S_MARC-WERKS。
ENDLOOP。
ENDLOOP。
这是深层结构的简单示例。
TYPES:类型为ty_string,
string1(20)TYPE C,
string2(20)C型,
string3(20)TYPE C,
ty_string的结尾。
tt_tab类型ty_string类型表。
数据t_tab类型tt_tab。
类型:ty_mara的开始,
matnr TYPE matnr,
ersda TYPE ersda,
ty_mara结束,
ty_test开始,
matnr TYPE matnr,
ersda TYPE ersda,
text1 LIKE t_tab,
ty_test结束。
ty_string数据lt_test类型标准表。
数据测试,如lt_test。.
test-string1 ='ganesh'。
test-string2 ='古纳'。
test-string3 ='raj'。
将测试附加到lt_test。
*
数据:ty_mara的lt_mara类型标准表。
数据:ls_mara与lt_mara类似。
数据:ty_test的lt_marat类型标准表。
数据ls_marat与lt_marat类似。
从mara到表lt_mara最多10个行中选择matnr ersda。
在lt_mara INTO ls_mara中循环。
ls_marat-matnr = ls_mara-matnr。
ls_marat-ersda = ls_mara-ersda。
ls_marat-text1 = lt_test。
附加ls_marat到lt_marat。
ENDLOOP。
BREAK-POINT。
这是深层结构的简单示例。
TYPES:类型为ty_string,
string1(20)C型,
string2(20)C型,
string3(20)C型,
ty_string的结尾。
类型tt_tab ty_string类型表。
数据t_tab类型tt_tab。
TYPES:ty_mara的开始,
matnr TYPE matnr,
ersda TYPE ersda,
ty_mara结束,
ty_test的开始
matnr TYPE matnr,
ersda TYPE ersda,
text1 LIKE t_tab
ty_test结束。
ty_string的数据lt_test类型标准表。
像lt_test之类的数据测试。
test-string1 ='ganesh'。
test-string2 ='古纳'。
test-string3 ='raj'。
APPEND测试到lt_test。
*
数据:ty_mara的lt_mara类型标准表。
数据:ls_mara与lt_mara类似。
数据:ty_test的lt_marat类型标准表。
DATA ls_marat与lt_marat类似。
从mara到表lt_mara最多10个行中选择matnr ersda。
在lt_mara INTO ls_mara中循环播放。
ls_marat-matnr = ls_mara-matnr。
ls_marat-ersda = ls_mara-ersda。
ls_marat-text1 = lt_test。
APPEND ls_marat到lt_marat。
ENDLOOP。
BREAK-POINT。
一周热门 更多>