本文主要是介绍SAP BOM反查,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
正文部分
TCODE::CS15
或者函数::CS_WHERE_USED_MAT
tables : stpo,stas,mara,makt.data : begin of itab occurs 200,matnr like mast-matnr,menge like stpo-menge,end of itab.data : begin of alttab occurs 200,matnr like mast-matnr,menge like stpo-menge,end of alttab.data : begin of top_code occurs 100,matnr(18),maktx(40),meins(3),menge like stpo-menge,matkl(9),wrkst(14),end of top_code.data : begin of makr occurs 10,maker(7),idnlf(22),end of makr.data : begin of usedtab occurs 100.include structure stpov. data : end of usedtab.data : begin of equicat occurs 100.include structure cscequi. data : end of equicat.data : begin of kndcat occurs 100.include structure cscknd. data : end of kndcat.data : begin of matcat occurs 100.include structure cscmat. data : end of matcat.data : begin of stdcat occurs 100.include structure cscstd. data : end of stdcat.data : begin of tplcat occurs 100.include structure csctpl. data : end of tplcat.data : top_cnt(5) type n,m_cnt(5) type n,lin(5) type n,line_cnt(5) type n.selection-screen begin of block blk1 with frame. selection-screen : comment 1(60) text-001,skip. parameters : matnr like marc-matnr obligatory,werks like marc-werks obligatory default 'PQ50'. select-options : bdate for sy-datum default sy-datum to sy-datumno-extension obligatory. selection-screen end of block blk1.start-of-selection.itab-matnr = matnr.itab-menge = 1.append itab.clear itab.perform get_top_code.************************************ *&---------------------------------------------------------------------* *& Form GET_TOP_CODE *&---------------------------------------------------------------------* form get_top_code.clear lin.describe table itab lines lin.if lin = 0.exit.endif.loop at itab.call function 'CS_WHERE_USED_MAT'exportingdatub = bdate-highdatuv = bdate-lowmatnr = itab-matnrwerks = werkstableswultb = usedtabequicat = equicatkndcat = kndcatmatcat = matcatstdcat = stdcattplcat = tplcatexceptionscall_invalid = 1material_not_found = 2no_where_used_rec_found = 3no_where_used_rec_selected = 4no_where_used_rec_valid = 5others = 6.clear line_cnt.describe table usedtab lines line_cnt.if line_cnt = 0. move itab-matnr to top_code-matnr.top_code-menge = itab-menge.collect top_code.clear top_code.else.loop at usedtab where postp ne 'F' and datuv le bdate-highand ( sumfg = ' ' or sumfg = 'x' ).select single lkenz into stas-lkenz from staswhere stlty = 'M'and stlnr = usedtab-stlnrand stlal = '01'and stlkn = usedtab-stlknand datuv le bdate-lowand lkenz = 'X'.if sy-subrc ne 0.move usedtab-matnr to alttab-matnr.alttab-menge = usedtab-menge * itab-menge.collect alttab.endif.clear alttab.endloop.endif.refresh : usedtab,equicat,kndcat,matcat,stdcat,tplcat.endloop.refresh itab.itab[] = alttab[].refresh alttab.perform get_top_code.endform. " GET_TOP_CODE
点击进入:SAP BOM反查
我在公众号里写了很多SAP 的文章
有兴趣可以关注一下
这篇关于SAP BOM反查的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!