使用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

我是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.


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.