内部表中字段的大小

2020-08-18 17:28发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

关于声明内部表和插入/追加数据,我有两个基本问题。

假设我使用标准内容,并且具有类型0FISCPER的变量。 我声明了两个表,每个表一列,一个标准,一个排序:

 TYPES:BEGIN OF z_s_fiscper,
         FISCPER TYPE/BI0/OIFISCPER,
        z_s_fiscper的结尾。

 数据:/BI0/OIFISCPER的l_t_fiscper类型表,
       l_t_tfiscper带有唯一键FISCPER的z_s_fiscper的类型排序表,
       l_v_fiscper类型/BI0/OIFISCPER。

 l_v_fiscper ='2020001'。

 附录l_v_fiscper至l_t_fiscper。
 "将l_v_fiscper插入表l_t_tfiscper。

让我感到惊讶的第一件事是标准表中字段的大小是不固定数据类型的两倍:

单个表列(看起来)长14位([1x1(14)],而内容(会计期间)只有7位长。无法理解它的含义。

另一个麻烦是,尽管将行添加到标准表中仍能正常工作,但是尝试将行插入具有相同大小和结构的排序表中会导致编译时错误 L_V_FISCPER和行类型为" L_T_FISCPER "是不兼容的。

这很奇怪,因为排序表的结构看起来几乎相同:

我确信答案很简单,并且已经在"产品帮助"中的某些地方包含了,但是我目前无法弄清楚。

谢谢

Val

tablefieldsize.jpg (39.6 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

关于声明内部表和插入/追加数据,我有两个基本问题。

假设我使用标准内容,并且具有类型0FISCPER的变量。 我声明了两个表,每个表一列,一个标准,一个排序:

 TYPES:BEGIN OF z_s_fiscper,
         FISCPER TYPE/BI0/OIFISCPER,
        z_s_fiscper的结尾。

 数据:/BI0/OIFISCPER的l_t_fiscper类型表,
       l_t_tfiscper带有唯一键FISCPER的z_s_fiscper的类型排序表,
       l_v_fiscper类型/BI0/OIFISCPER。

 l_v_fiscper ='2020001'。

 附录l_v_fiscper至l_t_fiscper。
 "将l_v_fiscper插入表l_t_tfiscper。

让我感到惊讶的第一件事是标准表中字段的大小是不固定数据类型的两倍:

单个表列(看起来)长14位([1x1(14)],而内容(会计期间)只有7位长。无法理解它的含义。

另一个麻烦是,尽管将行添加到标准表中仍能正常工作,但是尝试将行插入具有相同大小和结构的排序表中会导致编译时错误 L_V_FISCPER和行类型为" L_T_FISCPER "是不兼容的。

这很奇怪,因为排序表的结构看起来几乎相同:

我确信答案很简单,并且已经在"产品帮助"中的某些地方包含了,但是我目前无法弄清楚。

谢谢

Val

tablefieldsize.jpg (39.6 kB)
付费偷看设置
发送
3条回答
闻人可可
1楼 · 2020-08-18 17:49.采纳回答

您好 Val Teem

表中的字段为7位数字。

但该字段的长度为14个字节。 由于表行中只有一个字段,因此整行长14个字节。

关于第二个问题。

您的标准表未分配任何结构(是数据元素记录的表)。

其中排序表具有结构(是结构化记录的排序表)。

这就是为什么您可以将L_V_FISCPER变量添加到标准表中,而不是已排序的原因。

要添加一个 记录到排序后,您需要创建一个结构类型为Z_S_FISCPER的变量并添加该变量(使用INSERT INTO TABLE语句,因为该表已排序)。

问候

Mateusz

小熊yu生菜
2楼-- · 2020-08-18 17:56

做得好!

Mateusz

3楼-- · 2020-08-18 18:05

关于您的第一个问题:

  • 7个字符= 14字节 因为您的ABAP系统是Unicode,即每个字符2个字节。
  • 从ABAP 7.50开始,所有ABAP系统都是Unicode。
  • 非Unicode ABAP系统每个字符只有1个字节。
  • li>

必须有一些解释 在ABAP文档中。

一周热门 更多>