weixin_43157152 2024-01-10 16:31 采纳率: 25%
浏览 49
已结题

sap程序开发一直查不到数据,用se16n直接查表就有数据(相关搜索:程序开发)

img


总揽

img


这块是数据定义

img


这块是屏幕

img

这块是逻辑,就最基本的查询

img

如果用se16n查就有

img

img


帮忙看下哪里出问题了

  • 写回答

9条回答 默认 最新

  • GISer Liu 2024-01-10 16:59
    关注

    该回答引用自GPT-4,由博主GIS_Liu编写:

    根据您提供的ABAP代码截图,我注意到几个可能的问题所在,这些问题可能导致程序无法检索到数据:

    1. 选择屏幕参数:在选择屏幕 (ZYCOR025_SCREEN) 的代码片段中,您定义了一个选择选项 s_matnr 以及几个参数 s_BWKEY, s_BDATJ, 和 s_POPER。如果您在执行报告时没有填写正确的选择参数或者填写的参数在数据库中没有匹配的数据,那么程序可能无法检索到任何数据。

    2. 数据选择逻辑:在表单 frm_get_data 中,您使用了一个SELECT语句从 CKMLHD 表中检索数据。如果 s_matnr 变量没有正确传递到该表单中,或者传递的值在 CKMLHD 表中找不到匹配的记录,那么 ty_result 内表将会是初始状态。

    3. SE16N 和 ABAP 程序的区别:使用SE16N事务码直接查询数据时,SAP系统后台会自动处理很多事情,例如权限校验、缓存数据等。但是在自己开发的ABAP程序中,这些处理需要您自己来实现。如果程序中缺少了某些处理,可能会导致数据检索不一致。

    4. 调试和验证:您需要在ABAP调试器中逐步执行 frm_get_data 表单,并检查 s_matnr 变量在执行时是否有值,以及该值是否能够在 CKMLHD 表中检索到数据。此外,确认您的SELECT语句是否真的执行了,并且 ty_result 是否被正确填充。

    建议的下一步操作:

    • 确认选择屏幕的参数是否被正确填写,并且这些参数是否与数据库中的数据相匹配。
    • frm_get_data 表单中设置断点,调试SELECT语句,确保其能够正确执行并返回数据。
    • 如果 frm_get_data 逻辑正确无误,但仍然检索不到数据,请检查用户权限设置,确保您的用户有权限从 CKMLHD 表中读取数据。
    • 使用SE16N查询时,尝试与ABAP程序中使用的相同的选择参数,看看是否能获取到结果。

    解决ABAP程序数据检索问题通常涉及到多方面的检查和调试,上述建议可能需要您根据具体情况进行适当调整。如果在调试过程中遇到困难,考虑寻求同事或者SAP社区的帮助也是一个好方法。

    如果该回答解决了您的问题,请采纳!如果没有,请详述问题所在!

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月11日
  • 赞助了问题酬金15元 1月10日
  • 创建了问题 1月10日

悬赏问题

  • ¥50 如何进行点云姿态调整优化
  • ¥20 关于c++的问题 如何用qt完成
  • ¥15 台达变频器MS300与伺服驱动器B3系列的抱闸与电路设计如何实现
  • ¥20 C++通过HICON获取argb像素数组
  • ¥15 如何利用支持向量机提高分类器正确率和筛选理想分类器
  • ¥15 Pygame坦克大战游戏开发实验报告
  • ¥15 用vmmare虚拟机用sentaurus仿真的时候,调用terminal程序,输入swb指令弹出这个,打不开workbench,桌面上面的sentaurus workbench也打不开
  • ¥75 使用winspool.drv的SetPrinter设置打印机失败
  • ¥15 simulink 硬件在环路仿真
  • ¥15 python动态规划:N根火柴摆出的最大数字