在循环内选择查询

2020-08-23 22:52发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 我有一个要求,我必...

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

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


专家您好,

我有一个要求,我必须循环一个内部表(it_final),并使用将it_final的数据与我的 Ztable(zebeln_table)进行比较 选择查询

如果ztable(zebeln_table)中已经存在数据,则应该跳过它。 否则,我将对该数据进行一些操作。

我在循环内开发了 select查询,这是编码标准不接受的。

希望您能理解要求。

谢谢。

7条回答
骆驼绵羊
2020-08-23 23:26

专家您好,

这是我的代码。 我必须消除选择查询

在it_final处将LOOP循环到wa_final处,sel ='X'。
       如果wa_final-ebeln不是INITIAL。
             wa_ebeln-anln1 = wa_final-anln1。
             wa_ebeln-anln2 = wa_final-anln2。
             wa_ebeln-menge = wa_final-menge。
             wa_ebeln-ebeln = wa_final-ebeln。
             wa_ebeln-mblnr = wa_final-mblnr。
             wa_ebeln-meins = wa_final-meins。
             lv_total = lv_total + wa_ebeln-menge。
             将wa_ebeln附加到it_ebeln。
             清除:wa_ebeln。
       ELSEIF wa_final-belnr不是初始的。
             wa_belnr-anln1 = wa_final-anln1。
             wa_belnr-anln2 = wa_final-anln2。
             wa_belnr-menge = wa_final-menge1。
             wa_belnr-meins = wa_final-meins。
             wa_belnr-belnr = wa_final-belnr。
             lv_total1 = lv_total1 + wa_belnr-menge。
             将wa_belnr附加到it_belnr。
             清除:wa_belnr。
       万一。
       wa_menge-anln1 = wa_final-anln1。
       wa_menge-anln2 = wa_final-anln2。
       wa_menge-ebeln = wa_final-ebeln。
       wa_menge-meins = wa_final-meins。
       wa_menge-mblnr = wa_final-mblnr。
       wa_menge-belnr = wa_final-belnr。
       wa_menge-menge = lv_total + lv_total1。
       lv_final = wa_menge-menge。
       wa_menge-final = lv_final。
       附加wa_menge到it_menge。
 *调用方法以从Zfi_quantity表获取提示
       呼叫方法zcl_asset_barcode => asset_menge
         出口
           i_mandt = sy-mandt
           it_menge = it_menge
         输入
           it_check = it_check
           。
       清除:wa_menge。
       循环至it_check进入wa_check。
           lv_check = lv_check + wa_check-final。
           lv_prev_qty = wa_check-menge。
       结局。
 *从HANA调用方法来验证ebeln,mblnr和belnr的数据。
       呼叫方法zcl_asset_barcode => asset_valid
         出口
           i_mandt = sy-mandt
           it_menge = it_menge
         输入
           it_valid = it_valid
           。
       如果it_valid不是INITIAL。
         消息"条形码已经生成"(021)类型" I"。
       其他。
             环聊it_menge INTO wa_menge。
                   wa_zfi-anln1 = wa_menge-anln1。
                   wa_zfi-anln2 = wa_menge-anln2。
                   wa_zfi-belnr = wa_menge-belnr。
                   wa_zfi-ebeln = wa_menge-ebeln。
                   wa_zfi-mblnr = wa_menge-mblnr。
                   wa_zfi-menge = wa_menge-menge。
                   wa_zfi-meins = wa_menge-meins。
                   wa_zfi-final = wa_menge-final。
                   将wa_zfi附加到it_zfi。
                   从wa_zfi修改zfi_quantity。
                   提交工作。
                   lv_refresh = wa_zfi-final。
             结局。
             如果lv_check EQ 0。
                 lv_count = 1。
                 lv_print = lv_refresh。
             其他。
                 lv_count = lv_check + 1。
                 lv_print = lv_refresh。
             万一。
                 做lv_print时间。
                    wa_barcode-anln1 = wa_final-anln1。
                    wa_barcode-anln2 = wa_final-anln2。
                    连接wa_final-bukrs wa_final-anln1 wa_final-anln2 lv_count INTO wa_barcode-barcode。
                    将wa_barcode附加到it_barcode。
                    清除wa_barcode。
                    lv_count = lv_count + 1。
                 ENDDO。
                 执行条形码。
         万一。
           清除:lv_total,lv_total1,lv_count,lv_count1,lv_refresh,lv_check,lv_final。
           清除:it_check [],it_menge [],it_ebeln [],it_belnr [],it_valid []。
       结局。


 

一周热门 更多>