20170320 分包逻辑
一、确定分包的条目,进行分包,


*&---------------------------------------------------------------------* *& Report YTST_2017014 *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT YTST_2017014. TABLES:MKPF. DATA:L_LINE TYPE SY-TABIX, L_FLAG TYPE C. DATA:L_XBLNR TYPE XBLNR. DATA:L_DIV TYPE SY-TABIX, L_MOD TYPE SY-TABIX. DATA:L_PACK TYPE SY-TABIX. RANGES:R_XBLNR FOR MKPF-XBLNR. PARAMETER:P_COUNT TYPE SY-TABIX DEFAULT 3, P_LINE TYPE SY-TABIX. *L_CHU = P_LINE / P_COUNT. L_DIV = P_LINE DIV P_COUNT. L_MOD = P_LINE MOD P_COUNT. IF L_MOD > 0. L_PACK = L_DIV + 1. ELSE. L_PACK = L_DIV . ENDIF. DO L_PACK TIMES. R_XBLNR(3) = 'IEQ'. R_XBLNR-LOW = ( SY-INDEX - 1 ) * P_COUNT + 1. R_XBLNR-HIGH = SY-INDEX * P_COUNT . APPEND R_XBLNR. ENDDO. LOOP AT R_XBLNR. WRITE:/ R_XBLNR-LOW, SPACE, R_XBLNR-HIGH. ENDLOOP.
二、内表中通过条目数直接分包;
得到创建凭证的抬头:

DATA: L_TABIX TYPE SY-TABIX. DATA:L_DIV TYPE SY-TABIX, L_MOD TYPE SY-TABIX. DATA:L_PACK TYPE SY-TABIX.
PARAMETERS:P_COUNT TYPE SY-TABIX DEFAULT 3. LOOP AT LT_ALV INTO WA_ALV WHERE MESG EQ SPACE. L_TABIX = SY-TABIX. IF L_TABIX <= P_COUNT. WA_ALV-XBLNR = P_COUNT. ELSE. L_DIV = L_TABIX DIV P_COUNT. L_MOD = L_TABIX MOD P_COUNT. IF L_MOD > 0. WA_ALV-XBLNR = ( L_DIV + 1 ) * P_COUNT . ELSE. WA_ALV-XBLNR = L_DIV * P_COUNT . ENDIF. ENDIF. WA_MKPF-XBLNR = WA_ALV-XBLNR. WA_MKPF-BUDAT = WA_ALV-BUDAT. COLLECT WA_MKPF INTO LT_MKPF. CLEAR WA_MKPF. MODIFY LT_ALV FROM WA_ALV INDEX L_TABIX. CLEAR WA_ALV. ENDLOOP.
本人常年接收SAP运维和远程项目,ECC,S/4HANA,CRM,WDA.
远程人天可谈,终身售后,有活请联系V信:18925782767(问问题免费,欢迎交流!)
!!请关注本人技术分享公众号:SAP翔子(可扫头像二维码)
每天分享新知识,博客文章也会陆续整理并迁移至公众号,与您一起共同学习

浙公网安备 33010602011771号