Sap 输入有效的KUNR-SM30时自动填写名称_1
我已经创建了一个包含三个字段的表:KUNNR、NAME_1和Z_CLASS。KUNNR有KUNNR作为数据元素,NAME_1有NAME1_GP,Z_类有一个我用3个值(1、2或3)创建的数据元素。我制作了表格维护生成器,并用SM30输入了一些数据。现在,我需要在输入客户编号(KUNNR)并按enter键时自动显示客户的名称(name_1);并且需要确保Z_类已填充,而不是空白。我真的不知道如何搜索解决方案,因为我是SAP的新手。多谢各位Sap 输入有效的KUNR-SM30时自动填写名称_1,sap,Sap,我已经创建了一个包含三个字段的表:KUNNR、NAME_1和Z_CLASS。KUNNR有KUNNR作为数据元素,NAME_1有NAME1_GP,Z_类有一个我用3个值(1、2或3)创建的数据元素。我制作了表格维护生成器,并用SM30输入了一些数据。现在,我需要在输入客户编号(KUNNR)并按enter键时自动显示客户的名称(name_1);并且需要确保Z_类已填充,而不是空白。我真的不知道如何搜索解决方案,因为我是SAP的新手。多谢各位 PROCESS BEFORE OUTPUT. MODUL
PROCESS BEFORE OUTPUT.
MODULE LISTE_INITIALISIEREN.
LOOP AT EXTRACT WITH CONTROL
TCTRL_Z10FICLASSFICA CURSOR NEXTLINE.
MODULE LISTE_SHOW_LISTE.
ENDLOOP.
*
PROCESS AFTER INPUT.
MODULE LISTE_EXIT_COMMAND AT EXIT-COMMAND.
MODULE LISTE_BEFORE_LOOP.
LOOP AT EXTRACT.
MODULE LISTE_INIT_WORKAREA.
CHAIN.
FIELD Z10FICLASSFICA-KUNNR .
FIELD Z10FICLASSFICA-NAME1 .
FIELD Z10FICLASSFICA-Z_CLASS .
MODULE SET_UPDATE_FLAG ON CHAIN-REQUEST.
ENDCHAIN.
FIELD VIM_MARKED MODULE LISTE_MARK_CHECKBOX.
CHAIN.
FIELD Z10FICLASSFICA-KUNNR .
MODULE LISTE_UPDATE_LISTE.
ENDCHAIN.
ENDLOOP.
MODULE LISTE_AFTER_LOOP.
至于那名,不可存为流人的田地。定义外键关系,然后使用显示与客户编号对应的名称
对于必填字段检查,编辑生成的屏幕并检查是否填写了必填字段。也可以在屏幕字段选项中将字段设置为必填字段,但我不建议这样做,因为这样即使对于空行,字段也将显示为必填字段 我找到了这两个问题的答案。为了自动填充客户机的名称,我使用了一个带有事件“填充隐藏字段”(编号21)的表单例程。在生成的include中,我使用了以下代码:
FORM fill_hidden.
DATA: lc_name1 TYPE kna1-name1.
Data: lc_kunnr TYPE kna1-kunnr.
lc_kunnr = z10ficlassfica-kunnr.
SELECT SINGLE name1 INTO lc_name1 FROM kna1 WHERE kunnr = lc_kunnr.
z10ficlassfica-name1 = lc_name1.
endform.
对于必填字段,我进入维护屏幕、元素列表选项卡、特殊属性选项卡,并从条目列中的下拉菜单中选择“必填”。
工作得很有魅力。谢谢您的回答:)为什么要将NAME_1作为字段添加到表中?你是否“意外”地”对数据进行了非规范化处理,或者这背后有什么特殊原因?是的,我知道我不应该创建数据,但这是另一个人要求的。我找到了一个解决方案,可以在填写号码时获得姓名。现在我只需要知道如何让z_课成为必修课。有什么想法吗?我知道已经有答案了,但为了以后的参考,另一个问题是:对不起,你必须再解释一下。我将把cod添加到自动生成的表维护中(我想)。对于你所说的,我相信我必须在这里面做点什么。我必须深入到细节上有多远?我可以假设你知道什么模块和字段是广告,你知道什么链。。。ENDCHAIN block有吗?无需详细说明。我找到了解决方案,不需要编码。谢谢。那么您可以生成冗余而不是正确地规范化数据库结构了吗?无意冒犯,但这打破了SAP R/3系统的所有惯例,所以您应该在问题中说明这一点。