从SAP查询中获取数据

2020-08-12 17:18发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好大师,

 我正在尝试从SQ00中的SAP查询中获取数据。 并使用提交来发送参数。 我不确定在it_ascii表中如何获取数据,我也正在dev中编写代码,而我的查询是在qa中,因此在移动更改之前需要更加确定。


 *结构声明
 类型:开始于it_query,
 grpdesc TYPE zmodel1,
 matnr(18),
 query_date TYPE sy-datum,
 结束于it_query。
 数据:it_query的it_query类型标准表,
 wa_query TYPE it_query。

 *范围表的创建
 *数据:zprodgrp_prddes-variant的r_variant类型范围,"范围表
 * wa_variant与r_variant类似。  "范围表的工作区域
 清除:wa_variant,
 wa_query。
 刷新:it_listobj,
 it_ascii,
 r_variant,
 it_query。

 数据:sel_date TYPE好友,
 back_date TYPE好友。

 数据:r_date好友的TYPE RANGE,
 wa_date与r_date类似。

 sel_date = p_date。
 back_date = sel_date-180。

 wa_date-sign ='I'。
 wa_date-option ='BT'。
 wa_date-low = back_date。
 wa_date-high = sel_date。
 APPEND wa_date至r_date。

 循环到it_prddes并转到wa_prddes。

 wa_variant-sign ='I'。
 wa_variant-option ='EQ'。
 wa_variant-low = wa_prddes-variant。
 追加wa_variant至r_variant。
 清除:wa_prddes,
 wa_variant。

 结局。
 *致电报告
 提交!QOVSDREPNEW ==== STO_FAST_DISP =
 VSTEL = p_plant
 在r_date中使用LEDAT
 使用matnr IN r_variant
 将清单导出到内存并返回。

 通话功能" LIST_FROM_MEMORY"
 桌子
 listobject = it_listobj。

 通话功能" LIST_TO_ASCI"
 桌子
 listasci = it_ascii
 listobject = it_listobj
 例外情况
 empty_list = 1
 list_index_invalid = 2
 其他= 3。
 如果sy-subrc <> 0。
 消息:"转换为ASCII时出错"(027)类型'S'显示为'E'。
 万一。
 *这部分混淆了如何循环填充数据
 环聊it_ascii。
 IF sy-tabix GT 1。
 wa_query-matnr = it_ascii-line + 6(18)。
 wa_query- = it_ascii-line + 166(8)。
 将wa_query附加到it_query。
 清除:wa_query。
 万一。

 结局。
 

(110.7 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好大师,

 我正在尝试从SQ00中的SAP查询中获取数据。 并使用提交来发送参数。 我不确定在it_ascii表中如何获取数据,我也正在dev中编写代码,而我的查询是在qa中,因此在移动更改之前需要更加确定。


 *结构声明
 类型:开始于it_query,
 grpdesc TYPE zmodel1,
 matnr(18),
 query_date TYPE sy-datum,
 结束于it_query。
 数据:it_query的it_query类型标准表,
 wa_query TYPE it_query。

 *范围表的创建
 *数据:zprodgrp_prddes-variant的r_variant类型范围,"范围表
 * wa_variant与r_variant类似。  "范围表的工作区域
 清除:wa_variant,
 wa_query。
 刷新:it_listobj,
 it_ascii,
 r_variant,
 it_query。

 数据:sel_date TYPE好友,
 back_date TYPE好友。

 数据:r_date好友的TYPE RANGE,
 wa_date与r_date类似。

 sel_date = p_date。
 back_date = sel_date-180。

 wa_date-sign ='I'。
 wa_date-option ='BT'。
 wa_date-low = back_date。
 wa_date-high = sel_date。
 APPEND wa_date至r_date。

 循环到it_prddes并转到wa_prddes。

 wa_variant-sign ='I'。
 wa_variant-option ='EQ'。
 wa_variant-low = wa_prddes-variant。
 追加wa_variant至r_variant。
 清除:wa_prddes,
 wa_variant。

 结局。
 *致电报告
 提交!QOVSDREPNEW ==== STO_FAST_DISP =
 VSTEL = p_plant
 在r_date中使用LEDAT
 使用matnr IN r_variant
 将清单导出到内存并返回。

 通话功能" LIST_FROM_MEMORY"
 桌子
 listobject = it_listobj。

 通话功能" LIST_TO_ASCI"
 桌子
 listasci = it_ascii
 listobject = it_listobj
 例外情况
 empty_list = 1
 list_index_invalid = 2
 其他= 3。
 如果sy-subrc <> 0。
 消息:"转换为ASCII时出错"(027)类型'S'显示为'E'。
 万一。
 *这部分混淆了如何循环填充数据
 环聊it_ascii。
 IF sy-tabix GT 1。
 wa_query-matnr = it_ascii-line + 6(18)。
 wa_query- = it_ascii-line + 166(8)。
 将wa_query附加到it_query。
 清除:wa_query。
 万一。

 结局。
 

(110.7 kB)
付费偷看设置
发送
3条回答
1楼-- · 2020-08-12 17:43

您可以使用RSAQ_QUERY_CALL的以下参数代替我最初建议的CL_SALV_BS_RUNTIME_INFO来接收数据:DATA_TO_MEMORY ='X',并且REF_TO_LDATA将通过数据引用返回数据。

2楼-- · 2020-08-12 17:34

嗨,桑德拉,

感谢您的回复,这些更改的质量已经在您发表评论之前转移了。 现在,我得到了这个错误,我们也可以使用Submit调用程序,但是它显示未找到程序名称。 请帮助,这有点紧急。

3楼-- · 2020-08-12 17:46

您说"我们也可以使用Submit调用程序",但您不应该这样做 t。 功能模块RSAQ_QUERY_CALL是否足够?

一周热门 更多>