输入的字段太长-消息号 00092

2020-08-14 02:31发布

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

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


我正在尝试制作一个具有2个输入/输出字段和一个按钮的简单屏幕。 这是完整的代码:

 *&---------------------------------------------  ------------------------ *
 *&模块池ZABAP_PRACTICE2_MODULE
 *&
 *&------------------------------------------------  --------------------- *
 *&
 *&
 *&------------------------------------------------  --------------------- *

 程序zabap_practice2_module。
 *&------------------------------------------------  --------------------- *
 *&模块USER_COMMAND_0101输入
 *&------------------------------------------------  --------------------- *
 *文字
 * -------------------------------------------------  --------------------- *
 数据:v_matnr TYPE matnr,
        v_spras TYPE spras,
        v_maktx TYPE maktx。

 数据ok_code类型sy-ucomm。

 MODULE user_command_0101输入。
   情况为OK_CODE。
     当"提交"。
       清除ok_code。
       从makt到v_maktx中选择单个maktx,在其中matnr EQ v_matnr和spras EQ'E'。
   结束。
 ENDMODULE。  " USER_COMMAND_0101输入
 *&------------------------------------------------  --------------------- *
 *&模块STATUS_0101输出
 *&------------------------------------------------  --------------------- *
 *文字
 * -------------------------------------------------  --------------------- *
 模块状态为_0101的输出。
 *设置PF-STATUS'xxxxxxxx'。
 *设置标题栏" xxx"。

 ENDMODULE。  " STATUS_0101输出

当我尝试在输入100-100或100-600后按SUBMIT时,出现错误"输入字段太长"。 我不明白为什么要得到这个。 阅读某处必须创建新用户才能删除此错误的地方。 随附的屏幕截图。 1.jpg

1.jpg (52.4 kB)

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

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


我正在尝试制作一个具有2个输入/输出字段和一个按钮的简单屏幕。 这是完整的代码:

 *&---------------------------------------------  ------------------------ *
 *&模块池ZABAP_PRACTICE2_MODULE
 *&
 *&------------------------------------------------  --------------------- *
 *&
 *&
 *&------------------------------------------------  --------------------- *

 程序zabap_practice2_module。
 *&------------------------------------------------  --------------------- *
 *&模块USER_COMMAND_0101输入
 *&------------------------------------------------  --------------------- *
 *文字
 * -------------------------------------------------  --------------------- *
 数据:v_matnr TYPE matnr,
        v_spras TYPE spras,
        v_maktx TYPE maktx。

 数据ok_code类型sy-ucomm。

 MODULE user_command_0101输入。
   情况为OK_CODE。
     当"提交"。
       清除ok_code。
       从makt到v_maktx中选择单个maktx,在其中matnr EQ v_matnr和spras EQ'E'。
   结束。
 ENDMODULE。  " USER_COMMAND_0101输入
 *&------------------------------------------------  --------------------- *
 *&模块STATUS_0101输出
 *&------------------------------------------------  --------------------- *
 *文字
 * -------------------------------------------------  --------------------- *
 模块状态为_0101的输出。
 *设置PF-STATUS'xxxxxxxx'。
 *设置标题栏" xxx"。

 ENDMODULE。  " STATUS_0101输出

当我尝试在输入100-100或100-600后按SUBMIT时,出现错误"输入字段太长"。 我不明白为什么要得到这个。 阅读某处必须创建新用户才能删除此错误的地方。 随附的屏幕截图。 1.jpg

1.jpg (52.4 kB)
付费偷看设置
发送
5条回答
哎,真难
1楼 · 2020-08-14 03:01.采纳回答

你好 HS

我认为从MAKT表中获取的MATXT值的数据类型是问题 。 它实际上是表中的CHAR 40,但是对于V_MAKTX,您已经给定了25的长度,并且还没有链接到字典。

对于屏幕元素V_MAKTX,建议您使用工具提示从MAKT表中获取字段。 可以从数据库表中获取字段,或在属性部分中选中" FROM DICT"框,如下所示。

确保两个屏幕字段均与数据库一致。

致谢!

zhangjiyang1323
2楼-- · 2020-08-14 03:18

我选择了A-From程序,因为我想在输入框(MATNR)中显示自己的值。 无论哪种情况,我都担心MAKTX给出了上述错误。

My梦
3楼-- · 2020-08-14 03:21

如果程序的全局变量V_MATNR的值大于25个字符(如图所示),则调试程序。 在屏幕快照的" Def.Length"字段中,那么出现错误"该字段的输入项太长"是正常的!

CJones
4楼-- · 2020-08-14 03:15

我们不应该只谈论V_MAKTX ? 调试期间全局变量的值是多少,屏幕字段的定义长度是什么?

hengyuye
5楼-- · 2020-08-14 02:55

您好 HS

是的,该错误是正确的,因为数据字典中没有使用该名称的字段。 建议您按顺序执行以下步骤。

1)首先删除所有当前屏幕元素,然后按照以下说明重新创建整个屏幕。

2)到达 屏幕布局,请按照以下参考附件图像的相同顺序执行以下步骤。

a)单击"字典/程序字段"图标(在下面的红色标记)。

< p> b)现在输入表格字段名称为MAKT(在下面的橙色标记)

c)单击"从字典获取"选项(在下面的蓝色标记)

d) 最后,从左侧窗格中选择字段(在下面的绿色中标记)

3) 被选中,单击继续。 现在,您将在屏幕上放置字段。 之后,数据库中的所有属性都将直接分配给字段。

4)在程序中声明屏幕字段名称,并在各个字段之间使用它们。

希望它会有所帮助!

致谢!

一周热门 更多>