SUBMIT的用法
创始人
2024-06-01 17:57:50
0

SUBMIT的用法

一、简介
  1. 系统MB52/MB51/MB5B等类似的报表 ,虽然数据很全面,执行效率也够快,但是经常会不满足用户需求(增添字段、添加查询条件等),很多ABAP 会选择去COPY出标准程序,然后去做修改,强烈不推荐此种方式,弊端太大,容易使标准程序出现问题,且效率低(特别涉及MSEG等数据库表)。

  2. 我们可以使用SUBMIT,此语法可将获取系统标准报表数据,然后你就可以自己去加一层壳来实现自己的定制。

  3. 语法:selscreen_options:主要是标准程序选择界面Field,通过F1去查看具体Field name。

    SUBMIT {rep|(name)} [selscreen_options]
    [list_options]
    [job_options]
    [AND RETURN].
    
二、Submit的使用方法和案例
  1. 下列案例是获取MB51的数据

  2. 有两个方法来建数据赋值

    • 方法一:获取ALV报表结果数据(不局限于严格意义上的ALV Grid、LIST报表也能获取到值),关键代码:

      *&---------------------------------------------------------------------*
      *&
      *& 获取MB5B数据 
      *&---------------------------------------------------------------------*
      DATA:lr_alv_data TYPE REF TO data. FIELD-SYMBOLS :  TYPE ANY TABLE .
      FIELD-SYMBOLS :  TYPE ANY. "LIKE LINE OF  it_tab . *&---------------------------------------------------------------------*
      *& "计算特殊库存E的期初期末
      *&---------------------------------------------------------------------*cl_salv_bs_runtime_info=>set( EXPORTING display  = abap_falsemetadata = abap_falsedata     = abap_true ).CLEAR lr_alv_data.UNASSIGN .SUBMIT rm07mlbd                                         "MB5B特殊库存及搜索条件WITH matnr IN so_matnrWITH werks IN so_werksWITH lgort EQ so_lgort-low "循环获取每个库存地点的期初期末WITH sobkz EQ 'E'WITH datum IN so_budat"库存类型-特殊库存WITH lgbst EQ spaceWITH bwbst EQ spaceWITH sbbst EQ 'X'"设置WITH xsum EQ spaceWITH pa_sumfl EQ 'X'WITH xchar EQ spaceWITH xnomchb EQ spaceWITH xnomchb EQ spaceWITH nosto EQ spaceWITH pa_dbstd EQ 'X'AND RETURN.TRY."关键代码cl_salv_bs_runtime_info=>get_data_ref( IMPORTING r_data = lr_alv_data ).ASSIGN lr_alv_data->* TO .CATCH cx_salv_bs_sc_runtime_info.MESSAGE 'Unable to retrieve ALV data! Please try other conditions.' TYPE 'E'.ENDTRY.cl_salv_bs_runtime_info=>clear_all( )."IF  IS ASSIGNED.UNASSIGN .LOOP AT  ASSIGNING ."即所需要内表数据ENDLOOP.ENDIF.
      
    • 将执行结果放入MEMORY(此法用于结果不是很明确的ALV结构),关键代码:

      *&---------------------------------------------------------------------*
      *& Report  ZTEST_CALL_MB51
      *&
      *&---------------------------------------------------------------------*
      *&
      *& 获取MB51数据
      *&---------------------------------------------------------------------*REPORT  ztest_call_mb51.TYPE-POOLS:abap.
      TABLES:mseg,mara,mard.DATA:flag(01)    TYPE  c VALUE 'X', "Name for compatibility with MB03 "MAA EhP4no_list(01) TYPE  c VALUE 'X'. "Do not show the list             "MAA EhP4DATA: BEGIN OF export_list OCCURS 0,matnr TYPE mseg-matnr,maktx TYPE makt-maktx,werks TYPE mseg-werks,name1 TYPE t001w-name1,lgort TYPE mseg-lgort,charg TYPE mseg-charg,                              "351455bwtar TYPE mseg-bwtar,                              "351455bwart TYPE mseg-bwart,sobkz TYPE mseg-sobkz,btext TYPE t156t-btext,mblnr TYPE mseg-mblnr,mjahr TYPE mseg-mjahr,zeile TYPE mseg-zeile,budat TYPE mkpf-budat,erfmg TYPE mseg-erfmg,erfme TYPE mseg-erfme,lifnr TYPE mseg-lifnr,vgart TYPE mkpf-vgart,END OF export_list.SELECTION-SCREEN: BEGIN OF BLOCK blk1 WITH FRAME TITLE text-t01.
      SELECT-OPTIONS:so_werks FOR mseg-werks OBLIGATORY,so_matnr FOR mseg-matnr,so_mtart FOR mara-mtart,so_matkl FOR mara-matkl,so_lgort FOR mard-lgort.
      SELECT-OPTIONS so_mtr_i FOR mseg-matnr NO-DISPLAY .
      SELECTION-SCREEN: END OF BLOCK blk1.START-OF-SELECTION.EXPORT flag TO MEMORY ID 'MB51_FLAG'.EXPORT no_list TO MEMORY ID 'MB51_NOLIST' .EXPORT export_list TO MEMORY ID 'MB51_EXPORT_LIST'.SUBMIT rm07docsWITH matnr IN so_matnrWITH werks IN so_werksWITH lgort IN so_lgortWITH database EQ abap_trueWITH pa_dbstd EQ abap_trueWITH mb51_flag EQ flagWITH mb51_nolist EQ no_listEXPORTING LIST TO MEMORY AND RETURN.IMPORT export_list FROM MEMORY ID 'MB51_EXPORT_LIST'."关键代码FREE MEMORY ID 'MB51_EXPORT_LIST'.LOOP AT export_list."export_list 为需要的内表数据ENDLOOP.
  3. 执行结果

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-my8VyMW4-1678545481098)(D:\学习计划笔记\问题解决办法\IMAGE\image-20220523091900701.png)]

相关内容

热门资讯

cmseasy oday-CM... 大家好,今天我要给大家爆个猛料!你们听说过CMSEasy吗?就是那个看起来挺靠谱的建站系统,最近居然...
番茄花园u盘装系统-番茄花园 ... 嘿,大家好!今天我要来聊聊那个让我爽到飞起的经历——用番茄花园U盘装系统!没错,就是那个传说中的神器...
windows81正式版密钥-... 哎呀,说到这个Windows8.1正式版密钥,我可是有一肚子的话要说啊!记得那会儿,我刚装上了这个新...
win10驱动开发-Win10... 哎呀,说到Win10驱动开发,我可真是有话要说!这可不是什么轻松的活儿,简直就像是在数字世界里打怪升...
什么是心悸-心悸:身体与情绪的... 心悸,这个词听起来就像是一首未完的旋律,总是在不经意间悄悄响起。它不是那种平淡无奇的感觉,而是让你的...
帝国cms 列表内容模板-帝国... 哎呀,说到帝国CMS的列表内容模板,我这心里真是五味杂陈啊!你知道吗,每次我打开后台,看到那些密密麻...
蛋白肺:默默无闻的健康守护者,... 在这个世界上,有一种东西,它默默无闻,却支撑着我们的每一次呼吸,那就是蛋白肺。听起来可能有点陌生,但...
河南省户籍管理规定-河南户口:... 哎呀,说到河南的户口,我这心里头就像打翻了五味瓶,酸甜苦辣全都有啊!你知道吗,在咱河南,户口这事儿可...
cad丢失msvcp140dl... 哎呀,真是气死我了!今天本来想好好画个图,结果一打开CAD,就弹出来一个什么“丢失msvcp140d...
arcscene中的三维符号-... 大家好!今天我要带你们一起跳进ArcScene这个神奇的世界,去看看那些让人眼花缭乱的三维符号!想象...
window mac主题-Wi... 嘿,朋友们,今天咱们来聊聊那些天天陪着我们的电脑小伙伴——Windows和Mac。你知道吗,每次我打...
全国查重名网站数据惊人,你的名... 哎呀,说到这个全国查重名网站,我这心里就五味杂陈的!你知道吗,现在想要一个独一无二的名字,比中彩票还...
server2024企业版is... 哎呀,说到这个Server2024企业版ISO,我这心里头的小激动真是按捺不住!你知道吗,这不仅仅是...
windows 2024 sp... 哎呀,说到这Windows2024SP1补丁啊,真是让人又爱又恨!你知道的,每次系统更新,心里总是七...
公安系统网站:信息全、办事便捷... 哎呀,说到公安系统的网站,那可是咱们老百姓的贴心小棉袄啊!每次有什么事情,比如身份证丢了,或者想知道...
狗狗肛门失禁怎么办?快来看看这... 哎呀,说到这个话题,我这心里就五味杂陈的。我家那小可爱,最近不知道怎么了,总是时不时地就“漏”了。你...
探索电控系统电路图:现代科技的... 大家好,我是电控系统电路图的狂热爱好者,今天我要和大家聊聊这些常常藏在机器背后的神秘图纸。你们知道吗...
浅表性胃炎用什么药-浅表性胃炎... 哎呀,说到浅表性胃炎,真是让人头疼啊!每次胃一疼,整个人都不好了。你知道吗,这浅表性胃炎,其实就是胃...
易分销21-易分销 21:销售... 在商海沉浮的日子里,每一次的销售都是一场心跳加速的冒险。今天,我要跟大家聊聊这颗新星——易分销21,...
高血脂的护理计划-高血脂别头疼... 哎呀,说到高血脂,我这心里就五味杂陈的。你知道吗,这胆固醇就像是个调皮的小鬼,悄悄地在我身体里捣乱,...