使用ABAP创建选择
我是ABAP的新手。我希望我的代码创建一个选择,在这里我可以输入一个数字,它会显示我以前创建的客户列表 代码如下:使用ABAP创建选择,abap,netweaver,Abap,Netweaver,我是ABAP的新手。我希望我的代码创建一个选择,在这里我可以输入一个数字,它会显示我以前创建的客户列表 代码如下: REPORT ZBSP_CODING. DATA: ls_ZBSPCUSTOMERS TYPE ZBSPCUSTOMERS, lt_ZBSPCUSTOMERS TYPE TABLE OF ZBSPCUSTOMERS, lv_KUNNR TYPE KUNNR. SELECT-OPTIONS p_KUNNR FOR lv_KUNNR NO INTERVALS. SEL
REPORT ZBSP_CODING.
DATA: ls_ZBSPCUSTOMERS TYPE ZBSPCUSTOMERS,
lt_ZBSPCUSTOMERS TYPE TABLE OF ZBSPCUSTOMERS,
lv_KUNNR TYPE KUNNR.
SELECT-OPTIONS p_KUNNR FOR lv_KUNNR NO INTERVALS.
SELECT * FROM ZBSPCUSTOMERS INTO ls_ZBSPCUSTOMERS WHERE KUNNR IN p_KUNNR.
WRITE: / ls_ZBSPCUSTOMERS-KUNNR,
/ ls_ZBSPCUSTOMERS-NAME_FIRST, ls_ZBSPCUSTOMERS-NAME_LAST,
/ ls_ZBSPCUSTOMERS-STREET, ls_ZBSPCUSTOMERS-HOUSE_NUM1,
/ ls_ZBSPCUSTOMERS-POST_CODE1, ls_ZBSPCUSTOMERS-CITY1.
ENDSELECT.
问题是,它不会让我看到任何顾客。我做错了什么?会有两种情况-
ZBSPCUSTOMERS
表中没有任何数据
KUNNR
字段的数据值中的前导0
的数据不匹配。那么,添加这些行-
转换\退出\阿尔法\输入功能模块将前导0的值相加。例如,如果DE size是10位数字,而不是输入102,那么它将从102转换为0000000 102。谢谢大家,因为@divScorp提到了它,F8按钮而不是回车键表中有数据吗?是否有与您在程序中使用的选择相同的数据(p_kunnr)?您可以签入事务SE16(或SE16N)。是的,我在前面添加了数据。确定,然后检查表ZBSPCusters中的字段KUNNR是否有任何转换?此字段后面的数据元素/域是什么?如何将数据保存到表中?p_kunnr被键入为kunnr(通过lv_kunnr),因此转换由系统自动执行,无需调用转换FM(并且不会更改任何内容)。感谢您的回答,但不幸的是,它没有起作用。当我按下回车键时,什么也没有发生。也许我完全错了。@JozsefSzikszai你是对的。但在某些系统中,它失败了。因为对于BU_PARTNER DE,它在我的系统中失败。所以,我更喜欢检查它。@Cesc在回车键上不会发生任何事情。试着执行(按F8)。LOL是的,它只是F8按钮。。。谢谢大家的帮助!
SELECT-OPTIONS p_KUNNR FOR lv_KUNNR NO INTERVALS.
"-------add below lines-----
LOOP AT p_KUNNR.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = p_KUNNR-low
IMPORTING
output = p_KUNNR-low.
MODIFY p_KUNNR.
ENDLOOP.
"-------End of addition-------------
SELECT * FROM ZBSPCUSTOMERS INTO ls_ZBSPCUSTOMERS WHERE KUNNR IN p_KUNNR.
WRITE: / ls_ZBSPCUSTOMERS-KUNNR,
/ ls_ZBSPCUSTOMERS-NAME_FIRST, ls_ZBSPCUSTOMERS-NAME_LAST,
/ ls_ZBSPCUSTOMERS-STREET, ls_ZBSPCUSTOMERS-HOUSE_NUM1,
/ ls_ZBSPCUSTOMERS-POST_CODE1, ls_ZBSPCUSTOMERS-CITY1.
ENDSELECT.