2020-08-18 10:23发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨!我有一个选择屏幕,插入到DB表中。 它有两个选项-输入带有开始时间的条目,然后输入带有结束时间的条目。 是否可以创建一种逻辑,当某人创建一个具有结束时间的条目时,它将插入到开始时间的同一表行中,而只是结束时间?我需要将其插入到最后一个输入X表中的y = y(两个条目中的一个字段都必须为eq)。然后定义要在何处插入哪些字段。
也许有人知道如何实现?
谢谢!
您好用户c
也许是这样吗?
参数:p_y 类型为char10强制性。 参数:p_start TYPE数据。 参数:p_end TYPE数据。 选择开始。 执行run_report。 提交工作并等待。 FORM run_report。 如果p_start是INITIAL并且p_end是INITIAL。 写:/'请提供开始或结束日期'。 返回。 " 没事做 万一。 选择 * 从ztable 哪里y = @p_y ORDER BY record_count DESC"我假设有一些记录计数列 INTO @DATA(ls_ztable) 最多1行。 如果sy-subrc = 0。 如果p_start不是INITIAL。 如果ls_ztable-end_date是INITIAL。 写:/"您应提供最后一条记录的结束日期"。 返回。 其他。 最后一条记录已关闭 使用ls_ztable-record_count执行create_record。 万一。 返回。 万一。 如果p_end不是INITIAL。 如果ls_ztable-end_date不是INITIAL。 写:/'上一个记录已关闭。 创建一个新的。 返回。 其他。 ls_ztable-end_date = p_end。 从ls_ztable修改ztable。 万一。 万一。 其他。 "找不到最后的记录 创建新的,但只有在提供开始日期的情况下 如果p_start不是INITIAL。 使用0执行PERFORM create_record。 其他。 写:/'没有找到最后的记录'。 万一。 万一。 ENDFORM。 使用iv_record_count类型TYPE FORM create_record。 数据: ls_ztable TYPE ztable。 检查p_start是否不初始化。 ls_ztable-y = p_y。 ls_ztable-record_count = iv_record_count + 1。 ls_ztable-start_date = p_start。 从ls_ztable插入到ztable中。 ENDFORM。
我的假设是表中有一些记录计数键列。
我可以是简单的整数列,数字或日期。 您必须先看一下并分别修改代码。
注意,
Mateusz
在关系数据库中没有顺序的概念。 因此,除非您将其内置,否则就没有"最后一个条目"。
从ABAP版本7.52开始(在S/4HANA OP 1709中也是如此),有一种非常简单的方法可以在单个OpenSQL语句中执行此操作。/p>
从7.50开始,您可以将子查询用作OpenSQL中INSERT语句的数据源: https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abennews-750-open_sql.htm#!ABAP_MODIFICATION_8 @ 8 @ 从7.52开始,您可以在子查询中使用ORDER BY子句和UP TO加法: https://help.sap.com/doc/abapdocu_752_index_htm/7.52/zh-CN/abennews-752-open_sql.htm #!ABAP_MODIFICATION_6 @ 6 @
这两项更改完全可以满足您的需求-无需将记录从数据库传输到应用程序服务器,也无需将记录传输回。
用户c ,
我可以理解,您正在尝试记录更改,但无法获得完整的业务要求,如果可以帮助我们举例说明, 会更好地提出解决方案。
非常感谢!
最多设置5个标签!
您好用户c
也许是这样吗?
我的假设是表中有一些记录计数键列。
我可以是简单的整数列,数字或日期。 您必须先看一下并分别修改代码。
注意,
Mateusz
在关系数据库中没有顺序的概念。 因此,除非您将其内置,否则就没有"最后一个条目"。
从ABAP版本7.52开始(在S/4HANA OP 1709中也是如此),有一种非常简单的方法可以在单个OpenSQL语句中执行此操作。/p>
从7.50开始,您可以将子查询用作OpenSQL中INSERT语句的数据源:
https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abennews-750-open_sql.htm#!ABAP_MODIFICATION_8 @ 8 @
从7.52开始,您可以在子查询中使用ORDER BY子句和UP TO加法: https://help.sap.com/doc/abapdocu_752_index_htm/7.52/zh-CN/abennews-752-open_sql.htm #!ABAP_MODIFICATION_6 @ 6 @
这两项更改完全可以满足您的需求-无需将记录从数据库传输到应用程序服务器,也无需将记录传输回。
用户c ,
我可以理解,您正在尝试记录更改,但无法获得完整的业务要求,如果可以帮助我们举例说明, 会更好地提出解决方案。
非常感谢!
谢谢!
一周热门 更多>