标签:物料 matkl wgbez 处理 OPTIONAL t023t 接口 t023 TYPE
FUNCTION z_rfc_plm_009. *"---------------------------------------------------------------------- *"*"本地接口: *" IMPORTING *" VALUE(P_SYSTEM) TYPE CHAR4 DEFAULT 'PLM' *" VALUE(P_UNAME) TYPE UNAME DEFAULT SY-UNAME *" VALUE(P_NAME1) TYPE CHAR12 OPTIONAL *" VALUE(P_START) TYPE SYST_TABIX OPTIONAL *" VALUE(P_LIMIT) TYPE SYST_TABIX OPTIONAL *" VALUE(P_MATKL) TYPE MATKL OPTIONAL *" VALUE(P_WGBEZ) TYPE WGBEZ OPTIONAL *" VALUE(P_KONTSX) TYPE CHAR1 OPTIONAL *" EXPORTING *" VALUE(P_TOTAL) TYPE INT4 *" TABLES *" IT_T023T STRUCTURE ZRFCS_PLM009 OPTIONAL *" S_MATKL STRUCTURE ZRANGES_MATKL OPTIONAL *" S_WGBEZ STRUCTURE ZRANGES_WGBEZ OPTIONAL *"---------------------------------------------------------------------- DATA: lv_tabix TYPE sy-tabix. IF p_matkl IS NOT INITIAL. s_matkl-sign = 'I'. s_matkl-option = 'CP'. s_matkl-low = p_matkl. APPEND s_matkl. ENDIF. IF p_wgbez IS NOT INITIAL. s_wgbez-sign = 'I'. s_wgbez-option = 'CP'. s_wgbez-low = p_wgbez. APPEND s_wgbez. ENDIF. IF p_limit IS INITIAL OR p_kontsx IS NOT INITIAL. SELECT * INTO CORRESPONDING FIELDS OF TABLE @it_t023t FROM t023t WHERE spras EQ @sy-langu AND matkl IN @s_matkl AND wgbez IN @s_wgbez. p_total = lines( it_t023t[] ). ELSE. SELECT COUNT(*) INTO @p_total"TABLE @DATA(lt_t023t) FROM t023t WHERE spras EQ @sy-langu AND matkl IN @s_matkl AND wgbez IN @s_wgbez. SELECT FROM t023t FIELDS matkl,wgbez WHERE spras EQ @sy-langu AND matkl IN @s_matkl AND wgbez IN @s_wgbez ORDER BY matkl INTO CORRESPONDING FIELDS OF TABLE @it_t023t OFFSET @p_start UP TO @p_limit ROWS. * p_total = lines( lt_t023t[] ). ENDIF. IF it_t023t[] IS NOT INITIAL. SELECT t023~matkl, t023~bklas, t030~ktopl, t030~ktosl, t030~bwmod, t030~komok, t030~konts INTO TABLE @DATA(lt_t023) FROM t023 JOIN t030 ON t023~bklas EQ t030~bklas FOR ALL ENTRIES IN @it_t023t WHERE t023~matkl EQ @it_t023t-matkl AND t023~bklas NE '' AND t030~ktopl EQ 'HL00'. SORT lt_t023[] BY matkl. ENDIF. LOOP AT it_t023t ASSIGNING FIELD-SYMBOL(<ls_t023t>). READ TABLE lt_t023 INTO DATA(ls_t023) WITH KEY matkl = <ls_t023t>-matkl BINARY SEARCH. IF sy-subrc EQ 0. <ls_t023t>-konts = ls_t023-konts. ENDIF. ENDLOOP. IF p_kontsx IS NOT INITIAL. DELETE it_t023t[] WHERE konts EQ ''. p_total = lines( it_t023t[] ). SORT it_t023t[] BY matkl. IF p_limit IS NOT INITIAL. "分页操作 LOOP AT it_t023t ASSIGNING FIELD-SYMBOL(<ls_t023t2>). <ls_t023t2>-zindex = sy-tabix. ENDLOOP. lv_tabix = p_start + p_limit. DELETE it_t023t[] WHERE zindex > lv_tabix. DELETE it_t023t[] WHERE zindex < p_start. ENDIF. ENDIF. ENDFUNCTION.
标签:物料,matkl,wgbez,处理,OPTIONAL,t023t,接口,t023,TYPE 来源: https://www.cnblogs.com/chaguoguo/p/16304286.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。