计算周包材,日包材用来发送给外围系统
文章目录
- 1 Introduction
- 2 code
1 Introduction
In this example We get data from BOM and RESB . and calculate it .
2 code
TYPES: BEGIN OF TY_ZPPT_0015_W,AUFNR TYPE ZPPT_0015-AUFNR,ZXH TYPE ZPPT_0015-ZXH,ZZJHID TYPE ZPPT_0015-ZZJHID,ZRJHID TYPE ZPPT_0015-ZRJHID,MATNR TYPE ZPPT_0015-MATNR,ZND TYPE ZPPT_0015-ZND,ZYD TYPE ZPPT_0015-ZYD,ZZD TYPE ZPPT_0015-ZZD,MENGE TYPE ZPPT_0015-MENGE,MEINS TYPE ZPPT_0015-MEINS,ZSFSD TYPE ZPPT_0015-ZSFSD,GSTRP TYPE ZPPT_0015-GSTRP,GLTRP TYPE ZPPT_0015-GLTRP,ZCXBM TYPE ZPPT_0015-ZCXBM,ARBPL TYPE ZPPT_0015-ARBPL,DISPO TYPE ZPPT_0015-DISPO,ERNAM TYPE ZPPT_0015-ERNAM,ERSDA TYPE ZPPT_0015-ERSDA,ERFZEIT TYPE ZPPT_0015-ERFZEIT,ZZZZT TYPE ZPPT_0015-ZZZZT,ZSTATE1 TYPE ZPPT_0015-ZSTATE1,MATNR1 TYPE MSEG-MATNR , " 包材物料名称QUAN TYPE MSEG-MENGE, " 包材数量MIENS1 TYPE MSEG-MEINS, " 包材单位END OF TY_ZPPT_0015_W.TYPES: BEGIN OF TY_ZPPT_0015_cal,ZRJHID TYPE ZPPT_0015-ZRJHID,AUFNR TYPE ZPPT_0015-AUFNR,ZXH TYPE ZPPT_0015-ZXH,ZZJHID TYPE ZPPT_0015-ZZJHID,MATNR TYPE ZPPT_0015-MATNR,ZND TYPE ZPPT_0015-ZND,ZYD TYPE ZPPT_0015-ZYD,ZZD TYPE ZPPT_0015-ZZD,MENGE TYPE ZPPT_0015-MENGE,MEINS TYPE ZPPT_0015-MEINS,ZSFSD TYPE ZPPT_0015-ZSFSD,GSTRP TYPE ZPPT_0015-GSTRP,GLTRP TYPE ZPPT_0015-GLTRP,ZCXBM TYPE ZPPT_0015-ZCXBM,ARBPL TYPE ZPPT_0015-ARBPL,DISPO TYPE ZPPT_0015-DISPO,ERNAM TYPE ZPPT_0015-ERNAM,ERSDA TYPE ZPPT_0015-ERSDA,ERFZEIT TYPE ZPPT_0015-ERFZEIT,ZZZZT TYPE ZPPT_0015-ZZZZT,ZSTATE1 TYPE ZPPT_0015-ZSTATE1,MATNR1 TYPE MSEG-MATNR , " 包材物料名称QUAN TYPE MSEG-MENGE, " 包材数量MIENS1 TYPE MSEG-MEINS, " 包材单位END OF TY_ZPPT_0015_cal.data :LT_ZPPT_0015_CAL TYPE TABLE OF TY_ZPPT_0015_cal,LW_ZPPT_0015_CAL LIKE LINE OF LT_ZPPT_0015_CAL .DATA: LT_ZPPT_0015 LIKE TABLE OF ZPPT_0015,LW_ZPPT_0015 LIKE LINE OF LT_ZPPT_0015.DATA: LT_ZPPT_0015_Q LIKE TABLE OF ZPPT_0015 , " 已经取消的日计划数据LW_ZPPT_0015_Q LIKE LINE OF LT_ZPPT_0015_Q.DATA: LT_ZPPT_0015_SUM LIKE TABLE OF ZPPT_0015 , " 汇总的成品数据LW_ZPPT_0015_SUM LIKE LINE OF LT_ZPPT_0015_SUM.DATA: LT_ZPPT_0015_W TYPE TABLE OF TY_ZPPT_0015_W , " 未发布的日计划数据LW_ZPPT_0015_W LIKE LINE OF LT_ZPPT_0015_W.DATA: LT_ZPPT_0015_M TYPE TABLE OF TY_ZPPT_0015_W , " 安照每个生产订单行汇总LW_ZPPT_0015_M LIKE LINE OF LT_ZPPT_0015_M.DATA: LT_ZPPT_0015_DAY TYPE TABLE OF TY_ZPPT_0015_W , "包材数据LW_ZPPT_0015_DAY LIKE LINE OF LT_ZPPT_0015_DAY.DATA: LT_ZPPT_0014 LIKE TABLE OF ZPPT_0014,LW_ZPPT_0014 LIKE LINE OF LT_ZPPT_0014.DATA : LW_OTB_WEEK_HEAD TYPE ZSOTB_1477_HEAD,IT_OTB_WEEK_ITEM TYPE ZTOTB_1477_ITEM,LW_OTB_WEEK_ITEM TYPE ZSOTB_1477_ITEM,LV_MESSAGE TYPE STRING,LV_CODE TYPE STRING.DATA: IT_EWM_WEEK_ITEM TYPE ZTEWM0002_INPUT,IW_EWM_WEEK_ITEM TYPE ZSEWM0002_INPUT.DATA: LT_ZPPT_0014_SUM LIKE TABLE OF ZPPT_0014,LW_ZPPT_0014_SUM LIKE LINE OF LT_ZPPT_0014_SUM.DATA: LS_TOPMAT TYPE CSTMAT,LV_DSTST TYPE CSDATA-XFELD,LT_STB TYPE TABLE OF STPOX,LT_MATCAT TYPE TABLE OF CSCMAT.DATA : LT_ZPPT_0017 LIKE TABLE OF ZPPT_0017,LW_ZPPT_0017 LIKE LINE OF LT_ZPPT_0017.DATA : LT_ZPPT_0017_CON LIKE TABLE OF ZPPT_0017 , " 根据条件现在存表数LW_ZPPT_0017_CON LIKE LINE OF LT_ZPPT_0017_CON.DATA : LW_ZSEWM0002_ITEM TYPE ZSEWM0002_ITEM,LT_ZSEWM0002_ITEM TYPE ZTEWM0002_ITEM.DATA : ZSTATUS_EWM_WEEK TYPE STRING,ZMESSAGE_EWM_WEEK TYPE STRING.DATA: LT_RESB LIKE TABLE OF RESB,LW_RESB LIKE LINE OF LT_RESB.DATA: LT_RESB_LAST LIKE TABLE OF RESB, " 最后一条数据LW_RESB_LAST LIKE LINE OF LT_RESB_LAST.DATA : LW_OTB_DAY_HEAD TYPE ZSOTB_1445_HEAD .DATA : LV_MESSAGE_OTB_DAY TYPE STRING.DATA : LT_OTB_DAY_ITEM TYPE ZTOTB_1445_ITEM,LW_OTB_DAY_ITEM TYPE ZSOTB_1445_ITEM.DATA : LT_EWM_DAY_ITEM TYPE ZTEWM0001_INPUT,LW_EWM_DAY_ITEM TYPE ZSEWM0001_INPUT,L_ZSTATUS_EWM_DAY TYPE STRING,L_ZMESSAGE_EWM_DAY TYPE STRING,LW_EWM_DAY TYPE ZSEWM0001ITEM,LT_EWM_DAY TYPE ZTEWM0001ITEM.DATA : LW_MES_DAY_HEAD TYPE ZMESZHGCS009_HEAD,LT_MES_DAY_ITEM TYPE ZMESZHGCT009_ITEM,LW_MES_DAY_ITEM TYPE ZMESZHGCS009_ITEM,L_ES_RETURN_MES TYPE ZMESZHGCS009_RETURN.DATA: L_INDEX TYPE SY-TABIX.DATA: L_MENGE_B_SUM TYPE MSEG-MENGE , " 包材总量L_MENGE_C_SUM TYPE MSEG-MENGE , "成品总理L_MSEG_B_CAL_SUM TYPE MSEG-MENGE.DATA: L_ANDEC TYPE T006-ANDEC .DATA : L_MSG TYPE CHAR50. " 传递消息DATA: LT_ZPPT_0015_INT LIKE TABLE OF ZPPT_0015 , " 取订单消息LW_ZPPT_0015_INT LIKE LINE OF LT_ZPPT_0015_INT.DATA: LT_T024D LIKE TABLE OF T024D WITH HEADER LINE .DATA : L_MESNGE TYPE ZMM_BCBC-MESNGE .DATA:LV_MENGE TYPE EKPO-MENGE.TYPES : BEGIN OF TY_DAY_SUM,MATNR TYPE ZPPT_0015-MATNR,AUFNR TYPE ZPPT_0015-AUFNR,MENGE TYPE ZPPT_0015-MENGE,END OF TY_DAY_SUM.DATA: LT_DAY_SUM TYPE TABLE OF TY_DAY_SUM . " 汇总日包材数量DATA: LW_DAY_SUM LIKE LINE OF LT_DAY_SUM .DATA : LV_TOTAL TYPE I . " 定义内表行数DATA: LT_MARA LIKE TABLE OF MARA,LW_MARA LIKE LINE OF LT_MARA.DATA: LT_AUSP LIKE TABLE OF AUSP,LW_AUSP LIKE LINE OF LT_AUSP.* " 日包材数量定义.
* data : lt_resb like TABLE OF resb,
* lw_resb like LINE OF resb .*
* data : l_MENGE_sum type ZPPT_0015-MENGE . " 日包材汇总" 周计划数据SELECT *INTO CORRESPONDING FIELDS OF TABLE LT_ZPPT_0014FROM ZPPT_0014WHERE ( ZSFSD = '' OR ZSFSD = 2 ) .SORT LT_ZPPT_0014 BY ZZJHID ZZJHHH ERSDA ERFZEIT DESCENDING .LOOP AT LT_ZPPT_0014 INTO LW_ZPPT_0014 .LW_ZPPT_0014_SUM-ZZJHID = LW_ZPPT_0014-ZZJHID .LW_ZPPT_0014_SUM-ZZJHHH = LW_ZPPT_0014-ZZJHHH .LW_ZPPT_0014_SUM-MATNR = LW_ZPPT_0014-MATNR .LW_ZPPT_0014_SUM-MENGE = LW_ZPPT_0014-MENGE .COLLECT LW_ZPPT_0014_SUM INTO LT_ZPPT_0014_SUM .CLEAR:LW_ZPPT_0014,LW_ZPPT_0014_SUM .ENDLOOP .LOOP AT LT_ZPPT_0014_SUM INTO LW_ZPPT_0014_SUM.CALL FUNCTION 'MD_CONVERT_MATERIAL_UNIT'EXPORTINGI_MATNR = LW_ZPPT_0014_SUM-MATNRI_IN_ME = 'PC'I_OUT_ME = 'KG'I_MENGE = 1IMPORTINGE_MENGE = LV_MENGEEXCEPTIONSERROR_IN_APPLICATION = 1ERROR = 2OTHERS = 3.LW_ZPPT_0014_SUM-MENGE = LW_ZPPT_0014_SUM-MENGE * LV_MENGE.CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'EXPORTINGAUMGB = 'X'AUSKZ = 'X'CAPID = 'PP01'DATUV = SY-DATUMEHNDL = '1'MEHRS = 'X'MTNRV = LW_ZPPT_0014_SUM-MATNRWERKS = '1100'EMENG = LW_ZPPT_0014_SUM-MENGESTLAN = '1'
* STLAL = '01'TABLESSTB = LT_STBMATCAT = LT_MATCATEXCEPTIONSALT_NOT_FOUND = 1CALL_INVALID = 2MATERIAL_NOT_FOUND = 3MISSING_AUTHORIZATION = 4NO_BOM_FOUND = 5NO_PLANT_DATA = 6NO_SUITABLE_BOM_FOUND = 7CONVERSION_ERROR = 8OTHERS = 9.IF SY-SUBRC = 0.LOOP AT LT_STB INTO DATA(LS_STB) WHERE MTART <> 'A002'.LW_ZPPT_0017-ZZJHID = LW_ZPPT_0014_SUM-ZZJHID.LW_ZPPT_0017-ZZJHHH = LW_ZPPT_0014_SUM-ZZJHHH.LW_ZPPT_0017-MATNR1 = LS_STB-IDNRK.LW_ZPPT_0017-MATNR = LW_ZPPT_0014_SUM-MATNR .LW_ZPPT_0017-MENGE = LW_ZPPT_0014_SUM-MENGE.LW_ZPPT_0017-MENGE1 = LS_STB-MNGLG.LW_ZPPT_0017-MEINS1 = LS_STB-MEINS.APPEND LW_ZPPT_0017 TO LT_ZPPT_0017 .CLEAR: GS_DATA, LW_ZPPT_0017 .ENDLOOP.ENDIF.ENDLOOP." 限制取数逻辑IF LT_ZPPT_0017 IS NOT INITIAL .SELECT * INTO TABLE LT_MARAFROM MARAFOR ALL ENTRIES IN LT_ZPPT_0017WHERE MATNR = LT_ZPPT_0017-MATNR1 .ENDIF.SELECT * INTO TABLE LT_AUSPFROM AUSPWHERE OBJEK IN ('A101' , 'A103' , 'A104') AND ATINN = '0000000871'.LOOP AT LT_ZPPT_0017 INTO LW_ZPPT_0017 .READ TABLE LT_MARA INTO LW_MARA WITH KEY MATNR = LW_ZPPT_0017-MATNR1.IF SY-SUBRC = 0.READ TABLE LT_AUSP INTO LW_AUSP WITH KEY ATWRT = LW_MARA-MATKL .IF SY-SUBRC = 0 .MOVE-CORRESPONDING LW_ZPPT_0017 TO LW_ZPPT_0017_CON .APPEND LW_ZPPT_0017_CON TO LT_ZPPT_0017_CON .ENDIF.ENDIF.CLEAR:LW_ZPPT_0017, LW_MARA, LW_AUSP.ENDLOOP.CLEAR: LT_ZPPT_0017 , LT_MARA.LT_ZPPT_0017 = LT_ZPPT_0017_CON .IF LT_ZPPT_0017 IS NOT INITIAL .MODIFY ZPPT_0017 FROM TABLE LT_ZPPT_0017 .IF SY-SUBRC = 0.COMMIT WORK .ENDIF.ENDIF." 组装OTB周包材需求数据LOOP AT LT_ZPPT_0017 INTO LW_ZPPT_0017 .READ TABLE LT_ZPPT_0014 INTO LW_ZPPT_0014 WITH KEY ZZJHID = LW_ZPPT_0017-ZZJHID ZZJHHH = LW_ZPPT_0017-ZZJHHH .IF SY-SUBRC = 0.LW_OTB_WEEK_ITEM-MATNR = LW_ZPPT_0017-MATNR1 .LW_OTB_WEEK_ITEM-QUAN = LW_ZPPT_0017-MENGE1 .LW_OTB_WEEK_ITEM-UNIT = LW_ZPPT_0017-MEINS1 .SELECT SINGLE MESNGE INTO L_MESNGEFROM ZMM_BCBCWHERE MATNR = LW_ZPPT_0017-MATNR1 .IF L_MESNGE IS NOT INITIAL.LW_OTB_WEEK_ITEM-ZTS = LW_ZPPT_0017-MENGE / L_MESNGE .ENDIF.LW_OTB_WEEK_ITEM-VERSION = '' .APPEND LW_OTB_WEEK_ITEM TO IT_OTB_WEEK_ITEM .AT END OF ZZJHID .LW_OTB_WEEK_HEAD-ZYDJH = LW_ZPPT_0014-ZYJHID .LW_OTB_WEEK_HEAD-YEAR = LW_ZPPT_0014-ZND .LW_OTB_WEEK_HEAD-MONTH = LW_ZPPT_0014-ZYD .LW_OTB_WEEK_HEAD-AUFNR = '' .LW_OTB_WEEK_HEAD-WEEKID = LW_ZPPT_0014-ZZJHID .LW_OTB_WEEK_HEAD-WERKS = '1100' .LW_OTB_WEEK_HEAD-PLINE = LW_ZPPT_0014-DISPO .SELECT * INTO CORRESPONDING FIELDS OF TABLE LT_T024D FROM T024D WHERE DISPO = LW_ZPPT_0014-DISPO .READ TABLE LT_T024D INTO LT_T024D INDEX 1.LW_OTB_WEEK_HEAD-NAME = LT_T024D-DSNAM .LW_OTB_WEEK_HEAD-MATNR1 = LW_ZPPT_0014-MATNR .LW_OTB_WEEK_HEAD-QUAN1 = LW_ZPPT_0014-MENGE .LW_OTB_WEEK_HEAD-BEGINDATE = LW_ZPPT_0014-GSTRP .LW_OTB_WEEK_HEAD-ZXH = LW_ZPPT_0014-ZXH .LW_OTB_WEEK_HEAD-ENDDATE = LW_ZPPT_0014-GLTRP .LW_OTB_WEEK_HEAD-STATUS = LW_ZPPT_0014-ZSTATE1 .IF LW_ZPPT_0014-DISPO = 'Z01' OR LW_ZPPT_0014-DISPO ='Z02 ' OR LW_ZPPT_0014-DISPO = 'Z03' ORLW_ZPPT_0014-DISPO = 'Z04' OR LW_ZPPT_0014-DISPO = 'Z05' OR LW_ZPPT_0014-DISPO = 'Z06' .LW_OTB_WEEK_HEAD-LGORT = '2100' .ENDIF.LW_OTB_WEEK_HEAD-OWEEKID = LW_ZPPT_0014-ZYLID .CALL FUNCTION 'ZFM_OTB_0058'EXPORTINGIS_HEAD = LW_OTB_WEEK_HEADIMPORTINGEV_MESSAGE = LV_MESSAGETABLESIT_ITEM = IT_OTB_WEEK_ITEM.CLEAR: LW_OTB_WEEK_HEAD, IT_OTB_WEEK_ITEM.ENDAT .ENDIF.CLEAR:LW_ZPPT_0017 , LW_OTB_WEEK_ITEM ,LT_T024D .ENDLOOP." 组装EWM周计划数据LOOP AT LT_ZPPT_0017 INTO LW_ZPPT_0017 .READ TABLE LT_ZPPT_0014 INTO LW_ZPPT_0014 WITH KEY ZZJHID = LW_ZPPT_0017-ZZJHID ZZJHHH = LW_ZPPT_0017-ZZJHHH .IF SY-SUBRC = 0 .LW_ZSEWM0002_ITEM-MATNR = LW_ZPPT_0017-MATNR1 .LW_ZSEWM0002_ITEM-QUAN = LW_ZPPT_0017-MENGE1 .LW_ZSEWM0002_ITEM-UNIT = LW_ZPPT_0017-MEINS1 .SELECT SINGLE MESNGE INTO L_MESNGEFROM ZMM_BCBCWHERE MATNR = LW_ZPPT_0017-MATNR1 .IF L_MESNGE IS NOT INITIAL.LW_ZSEWM0002_ITEM-PALLET_QTY = LW_ZPPT_0017-MENGE / L_MESNGE .ENDIF.LW_ZSEWM0002_ITEM-VERSION = '' .APPEND LW_ZSEWM0002_ITEM TO LT_ZSEWM0002_ITEM .AT END OF ZZJHID .
* LW_ZSEWM0002_ITEM-MATNR = LW_ZPPT_0017-MATNR .
* LW_ZSEWM0002_ITEM-QUAN = LW_ZPPT_0017-MENGE .
* LW_ZSEWM0002_ITEM-UNIT = LW_ZPPT_0017-MEINS1 .
* SELECT SINGLE MESNGE INTO L_MESNGE
* FROM ZMM_BCBC
* WHERE MATNR = LW_ZPPT_0017-MATNR .
* IF L_MESNGE IS NOT INITIAL.
* LW_ZSEWM0002_ITEM-PALLET_QTY = LW_ZPPT_0017-MENGE / L_MESNGE .
* ENDIF.
* LW_ZSEWM0002_ITEM-VERSION = '' .
* APPEND LW_ZSEWM0002_ITEM TO LT_ZSEWM0002_ITEM .IW_EWM_WEEK_ITEM-YEAR = LW_ZPPT_0014-ZND .IW_EWM_WEEK_ITEM-MONTH = LW_ZPPT_0014-ZYD .IW_EWM_WEEK_ITEM-MONTH_ID = LW_ZPPT_0014-ZYJHID.IW_EWM_WEEK_ITEM-WEEK_ID = LW_ZPPT_0014-ZZJHID .IW_EWM_WEEK_ITEM-WEEK_NO = LW_ZPPT_0014-ZZJHHH .IW_EWM_WEEK_ITEM-OWEEK_ID = LW_ZPPT_0014-ZYLID .IW_EWM_WEEK_ITEM-PLINE = LW_ZPPT_0014-DISPO .SELECT * INTO CORRESPONDING FIELDS OF TABLE LT_T024D FROM T024D WHERE DISPO = LW_ZPPT_0014-DISPO .READ TABLE LT_T024D INTO LT_T024D INDEX 1.IW_EWM_WEEK_ITEM-NAME = LT_T024D-DSNAM .IW_EWM_WEEK_ITEM-WERKS = '1100' .IF LW_ZPPT_0014-DISPO = 'Z01' OR LW_ZPPT_0014-DISPO ='Z02 ' OR LW_ZPPT_0014-DISPO = 'Z03' ORLW_ZPPT_0014-DISPO = 'Z04' OR LW_ZPPT_0014-DISPO = 'Z05' OR LW_ZPPT_0014-DISPO = 'Z06' .IW_EWM_WEEK_ITEM-LGORT = '2100' .ENDIF.IW_EWM_WEEK_ITEM-AUFNR = ''.IW_EWM_WEEK_ITEM-MATNR = LW_ZPPT_0014-MATNR .IW_EWM_WEEK_ITEM-QUAN = LW_ZPPT_0014-MENGE .IW_EWM_WEEK_ITEM-UNIT = LW_ZPPT_0014-MEINS.IW_EWM_WEEK_ITEM-BEGIN_DATE = LW_ZPPT_0014-GSTRP .IW_EWM_WEEK_ITEM-END_DATE = LW_ZPPT_0014-GLTRP .IW_EWM_WEEK_ITEM-STATUS = LW_ZPPT_0014-ZSTATE1 .IW_EWM_WEEK_ITEM-ITEM = LT_ZSEWM0002_ITEM.APPEND IW_EWM_WEEK_ITEM TO IT_EWM_WEEK_ITEM .CALL FUNCTION 'ZEWMZHGC_FM_002'EXPORTINGIN_TAB = IT_EWM_WEEK_ITEMIMPORTINGEV_CODE = ZSTATUS_EWM_WEEKEV_MSG = ZMESSAGE_EWM_WEEK.CLEAR: IT_EWM_WEEK_ITEM[].ENDAT .ENDIF.CLEAR:LW_ZPPT_0014 , LW_ZPPT_0017 ,LT_T024D .ENDLOOP." 日计划数据SELECT *INTO CORRESPONDING FIELDS OF TABLE LT_ZPPT_0015FROM ZPPT_0015WHERE ( ZSFSD = '' OR ZSFSD = 2 )AND DISPO IN ( 'Z01','Z02' ,'Z03' ,'Z04' ,'Z05' ,'Z06' ) .LOOP AT LT_ZPPT_0015 INTO LW_ZPPT_0015 .IF LW_ZPPT_0015-ZSFSD = '2' .MOVE-CORRESPONDING LW_ZPPT_0015 TO LW_ZPPT_0015_Q.APPEND LW_ZPPT_0015_Q TO LT_ZPPT_0015_Q .ELSE .MOVE-CORRESPONDING LW_ZPPT_0015 TO LW_ZPPT_0015_W.APPEND LW_ZPPT_0015_W TO LT_ZPPT_0015_W .ENDIF.CLEAR:LW_ZPPT_0015,LW_ZPPT_0015_Q ,LW_ZPPT_0015_W.ENDLOOP.SORT LT_ZPPT_0015_W BY AUFNR MENGE DESCENDING.IF LT_ZPPT_0015_W IS NOT INITIAL.SELECT *INTO CORRESPONDING FIELDS OF TABLE LT_RESBFROM RESBINNER JOIN CAUFV ON RESB~RSNUM = CAUFV~RSNUMFOR ALL ENTRIES IN LT_ZPPT_0015_WWHERE RESB~AUFNR = LT_ZPPT_0015_W-AUFNR .ENDIF." 汇总成品数量LOOP AT LT_ZPPT_0015_W INTO LW_ZPPT_0015_W .LW_ZPPT_0015_SUM-AUFNR = LW_ZPPT_0015_W-AUFNR.LW_ZPPT_0015_SUM-MENGE = LW_ZPPT_0015_W-MENGE.COLLECT LW_ZPPT_0015_SUM INTO LT_ZPPT_0015_SUM .CLEAR:LW_ZPPT_0015_SUM,LW_ZPPT_0015_W .ENDLOOP." 计算日包材用量SORT LT_ZPPT_0015_W BY AUFNR MENGE .LOOP AT LT_ZPPT_0015_SUM INTO LW_ZPPT_0015_SUM .LOOP AT LT_ZPPT_0015_W INTO LW_ZPPT_0015_W WHERE AUFNR = LW_ZPPT_0015_SUM-AUFNR .MOVE-CORRESPONDING LW_ZPPT_0015_W TO LW_ZPPT_0015_M .APPEND LW_ZPPT_0015_M TO LT_ZPPT_0015_M .CLEAR: LW_ZPPT_0015_W, LW_ZPPT_0015_M.ENDLOOP .L_MENGE_B_SUM = LW_ZPPT_0015_SUM-MENGE.DESCRIBE TABLE LT_ZPPT_0015_M LINES LV_TOTAL.LOOP AT LT_ZPPT_0015_M INTO LW_ZPPT_0015_M .L_INDEX = SY-TABIX.IF L_INDEX < LV_TOTAL.LOOP AT LT_RESB INTO LW_RESB WHERE AUFNR = LW_ZPPT_0015_M-AUFNR.MOVE-CORRESPONDING LW_ZPPT_0015_M TO LW_ZPPT_0015_DAY .LW_ZPPT_0015_DAY-MATNR1 = LW_RESB-MATNR.LW_ZPPT_0015_DAY-MIENS1 = LW_RESB-MEINS.LW_ZPPT_0015_DAY-QUAN = LW_RESB-BDMNG * LW_ZPPT_0015_M-MENGE / L_MENGE_B_SUM .SELECT SINGLE ANDEC INTO L_ANDEC FROM T006 WHERE MSEHI = LW_RESB-MEINS.IF L_ANDEC IS NOT INITIAL.CALL FUNCTION 'ROUND'EXPORTINGDECIMALS = L_ANDEC " 保留多少位INPUT = LW_ZPPT_0015_DAY-QUANSIGN = '+' " + 向上取舍IMPORTINGOUTPUT = LW_ZPPT_0015_DAY-QUANEXCEPTIONSINPUT_INVALID = 1OVERFLOW = 2TYPE_INVALID = 3OTHERS = 4.ENDIF.LW_DAY_SUM-MATNR = LW_RESB-MATNR.LW_DAY_SUM-AUFNR = LW_RESB-AUFNR.LW_DAY_SUM-MENGE = LW_ZPPT_0015_DAY-QUAN.READ TABLE LT_DAY_SUM INTO LW_DAY_SUM WITH KEY MATNR = LW_RESB-MATNR AUFNR = LW_RESB-AUFNR .IF SY-SUBRC = 0 .LW_DAY_SUM-MENGE = LW_ZPPT_0015_DAY-QUAN + LW_DAY_SUM-MENGE.MODIFY LT_DAY_SUM FROM LW_DAY_SUM TRANSPORTING MENGE WHERE MATNR = LW_RESB-MATNR AND AUFNR = LW_RESB-AUFNR .ELSE .APPEND LW_DAY_SUM TO LT_DAY_SUM .ENDIF.APPEND LW_ZPPT_0015_DAY TO LT_ZPPT_0015_DAY .ENDLOOP.ELSE .LOOP AT LT_RESB INTO LW_RESB WHERE AUFNR = LW_ZPPT_0015_M-AUFNR.MOVE-CORRESPONDING LW_ZPPT_0015_M TO LW_ZPPT_0015_DAY .READ TABLE LT_DAY_SUM INTO LW_DAY_SUM WITH KEY AUFNR = LW_RESB-AUFNR MATNR = LW_RESB-MATNR.IF SY-SUBRC = 0 .LW_ZPPT_0015_DAY-MATNR1 = LW_RESB-MATNR.LW_ZPPT_0015_DAY-MIENS1 = LW_RESB-MEINS.LW_ZPPT_0015_DAY-QUAN = LW_RESB-BDMNG - LW_DAY_SUM-MENGE .ENDIF.SELECT SINGLE ANDEC INTO L_ANDEC FROM T006 WHERE MSEHI = LW_RESB-MEINS.IF L_ANDEC IS NOT INITIAL.CALL FUNCTION 'ROUND'EXPORTINGDECIMALS = L_ANDEC " 保留多少位INPUT = LW_ZPPT_0015_DAY-QUANSIGN = '+' " + 向上取舍IMPORTINGOUTPUT = LW_ZPPT_0015_DAY-QUANEXCEPTIONSINPUT_INVALID = 1OVERFLOW = 2TYPE_INVALID = 3OTHERS = 4.ENDIF.APPEND LW_ZPPT_0015_DAY TO LT_ZPPT_0015_DAY .ENDLOOP.ENDIF.CLEAR: L_INDEX .ENDLOOP.ENDLOOP.CLEAR: LT_ZPPT_0015_W.LT_ZPPT_0015_W = LT_ZPPT_0015_DAY .CLEAR: LT_ZPPT_0015_DAY." 限制取数逻辑IF LT_ZPPT_0015_W IS NOT INITIAL .SELECT * INTO TABLE LT_MARAFROM MARAFOR ALL ENTRIES IN LT_ZPPT_0015_WWHERE MATNR = LT_ZPPT_0015_W-MATNR1 .ENDIF.LOOP AT LT_ZPPT_0015_W INTO LW_ZPPT_0015_W .READ TABLE LT_MARA INTO LW_MARA WITH KEY MATNR = LW_ZPPT_0015_W-MATNR1.IF SY-SUBRC = 0.READ TABLE LT_AUSP INTO LW_AUSP WITH KEY ATWRT = LW_MARA-MATKL .IF SY-SUBRC = 0 .MOVE-CORRESPONDING LW_ZPPT_0015_W TO LW_ZPPT_0015_DAY .APPEND LW_ZPPT_0015_DAY TO LT_ZPPT_0015_DAY .ENDIF.ENDIF.CLEAR:LW_ZPPT_0015_W, LW_MARA, LW_AUSP.ENDLOOP.LT_ZPPT_0015_W = LT_ZPPT_0015_DAY .CLEAR: LT_ZPPT_0015_DAY." 组装OTB所需要数据
* SORT LT_ZPPT_0015_W BY ZRJHID.LOOP AT LT_ZPPT_0015_W INTO LW_ZPPT_0015_W.LW_OTB_DAY_ITEM-MATNR1 = LW_ZPPT_0015_W-MATNR1.LW_OTB_DAY_ITEM-QUAN = LW_ZPPT_0015_W-QUAN.LW_OTB_DAY_ITEM-MEINS = LW_ZPPT_0015_W-MIENS1 .SELECT SINGLE MESNGE INTO L_MESNGEFROM ZMM_BCBCWHERE MATNR = LW_ZPPT_0015_W-MATNR1 .IF L_MESNGE IS NOT INITIAL.LW_OTB_DAY_ITEM-ZTS = LW_ZPPT_0015_W-QUAN / L_MESNGE.ENDIF.LW_OTB_DAY_ITEM-VERSION = ''.LW_OTB_DAY_ITEM-OWEEKID = '' .APPEND LW_OTB_DAY_ITEM TO LT_OTB_DAY_ITEM .LW_OTB_DAY_HEAD-USER = SY-UNAME.LW_OTB_DAY_HEAD-CRDAT = SY-DATUM .LW_OTB_DAY_HEAD-CRDTM = SY-UZEIT .LW_OTB_DAY_HEAD-DAYID = LW_ZPPT_0015_W-ZRJHID .LW_OTB_DAY_HEAD-AUFNR = LW_ZPPT_0015_W-AUFNR .LW_OTB_DAY_HEAD-WEEKID = LW_ZPPT_0015_W-ZZJHID .LW_OTB_DAY_HEAD-DAYTYPE = '' .LW_OTB_DAY_HEAD-WERKS = '1100'.LW_OTB_DAY_HEAD-PLINE = LW_ZPPT_0015_W-ZCXBM .
* SELECT * INTO CORRESPONDING FIELDS OF TABLE LT_T024D FROM T024D WHERE DISPO = LW_ZPPT_0015_W-DISPO .LW_OTB_DAY_HEAD-NAME = LT_T024D-DSNAM .LW_OTB_DAY_HEAD-MATNR = LW_ZPPT_0015_W-MATNR .LW_OTB_DAY_HEAD-QUAN = LW_ZPPT_0015_W-MENGE .LW_OTB_DAY_HEAD-DATE = LW_ZPPT_0015_W-ERSDA .AT END OF ZRJHID.CALL FUNCTION 'ZFM_OTB_0057'EXPORTINGIS_HEAD = LW_OTB_DAY_HEADIMPORTINGEV_MESSAGE = LV_MESSAGE_OTB_DAYTABLESIT_ITEM = LT_OTB_DAY_ITEM.CLEAR:LW_OTB_DAY_HEAD, LT_OTB_DAY_ITEM.ENDAT.CLEAR: LW_ZPPT_0015_W .ENDLOOP." 组装EWM所需要数据.LOOP AT LT_ZPPT_0015_W INTO LW_ZPPT_0015_W.LW_EWM_DAY-MATNR = LW_ZPPT_0015_W-MATNR1.LW_EWM_DAY-QUAN = LW_ZPPT_0015_W-QUAN.LW_EWM_DAY-UNIT = LW_ZPPT_0015_W-MIENS1.LW_EWM_DAY-OWEEK_ID = '' .LW_EWM_DAY-PALLET_QTY = '' .APPEND LW_EWM_DAY TO LT_EWM_DAY .LW_EWM_DAY_ITEM-WEEK_ID = LW_ZPPT_0015_W-ZZJHID .LW_EWM_DAY_ITEM-DAY_ID = LW_ZPPT_0015_W-ZRJHID.LW_EWM_DAY_ITEM-DAY_TYPE = ''.LW_EWM_DAY_ITEM-WERKS = LW_ZPPT_0015_W-ZZD.LW_EWM_DAY_ITEM-PLINE = LW_ZPPT_0015_W-ZCXBM.
* SELECT * INTO CORRESPONDING FIELDS OF TABLE LT_T024D FROM T024D WHERE DISPO = LW_ZPPT_0015_W-DISPO .LW_EWM_DAY_ITEM-NAME = LT_T024D-DSNAM .LW_EWM_DAY_ITEM-AUFNR = LW_ZPPT_0015_W-AUFNR.LW_EWM_DAY_ITEM-MATNR = LW_ZPPT_0015_W-MATNR.LW_EWM_DAY_ITEM-QUAN = LW_ZPPT_0015_W-MENGE.LW_EWM_DAY_ITEM-UNIT = LW_ZPPT_0015_W-MEINS.LW_EWM_DAY_ITEM-PROD_DATE = LW_ZPPT_0015_W-ERSDA.LW_EWM_DAY_ITEM-STATUS = LW_ZPPT_0015_W-ZSTATE1.AT END OF ZRJHID .LW_EWM_DAY_ITEM-ITEM = LT_EWM_DAY.APPEND LW_EWM_DAY_ITEM TO LT_EWM_DAY_ITEM .CALL FUNCTION 'ZEWMZHGC_FM_003'EXPORTINGIN_TAB = LT_EWM_DAY_ITEMIMPORTINGEV_CODE = L_ZSTATUS_EWM_DAYEV_MSG = L_ZMESSAGE_EWM_DAY.CLEAR:LT_EWM_DAY_ITEM .ENDAT.CLEAR:LW_ZPPT_0015_W ,LW_EWM_DAY .ENDLOOP .* CONCATENATE L_MSG '日计划EWM'L_ZMESSAGE_EWM_DAY INTO L_MSG ." 组装日计划MES数据LOOP AT LT_ZPPT_0015_W INTO LW_ZPPT_0015_W.LW_MES_DAY_ITEM-MATNR1 = LW_ZPPT_0015_W-MATNR1.LW_MES_DAY_ITEM-QUAN = LW_ZPPT_0015_W-QUAN.LW_MES_DAY_ITEM-VERSION = '' .LW_MES_DAY_ITEM-OWEEKID = ''.LW_MES_DAY_ITEM-ZTS = ''.LW_MES_DAY_ITEM-STATUS = ''.APPEND LW_MES_DAY_ITEM TO LT_MES_DAY_ITEM .LW_MES_DAY_HEAD-WEEKID = LW_ZPPT_0015_W-ZZJHID .LW_MES_DAY_HEAD-DAYID = LW_ZPPT_0015_W-ZRJHID .LW_MES_DAY_HEAD-DAYTYPE = '' .LW_MES_DAY_HEAD-WERKS = LW_ZPPT_0015_W-ZZD .LW_MES_DAY_HEAD-PLINE = LW_ZPPT_0015_W-ZCXBM .LW_MES_DAY_HEAD-AUFNR = LW_ZPPT_0015_W-AUFNR .LW_MES_DAY_HEAD-MATNR = LW_ZPPT_0015_W-MATNR .LW_MES_DAY_HEAD-QUAN = LW_ZPPT_0015_W-MENGE .LW_MES_DAY_HEAD-DATE = LW_ZPPT_0015_W-ERSDA .AT END OF ZRJHID .CALL FUNCTION 'ZMESZHGC_FM_009'EXPORTINGIS_HEAD = LW_MES_DAY_HEADIT_ITEM = LT_MES_DAY_ITEMIMPORTINGES_RETURN = L_ES_RETURN_MES.
* ev_code = lv_code
* ev_msg = LV_MESSAGE . .CLEAR: LW_MES_DAY_HEAD, LT_MES_DAY_ITEM.ENDAT.ENDLOOP.
相关文章:
计算周包材,日包材用来发送给外围系统
文章目录 1 Introduction2 code 1 Introduction In this example We get data from BOM and RESB . and calculate it . 2 code TYPES: BEGIN OF TY_ZPPT_0015_W,AUFNR TYPE ZPPT_0015-AUFNR,ZXH TYPE ZPPT_0015-ZXH,ZZJHID TYPE ZPPT_0015-ZZJHID,ZRJHID TYPE Z…...

R语言柱状图直方图 histogram
柱状图简介 柱状图也叫直方图,是展示连续性数值的分布状况。在x轴上将连续型数值分为一定数量的组,y轴显示对应值的频数。 R基本的柱状图 hist 我们用R自带的Orange数据来画图。 > head(Orange)Tree age circumference(圆周长) 1 1 118 …...

Linux磁盘管理:最佳实践
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...

uni-app:通过三目运算动态增加样式效果(class)
效果 代码 第一条:当变量line的值等于abc时,class就等于yes,反之class等于no(显然等于abc,执行yes,前景色为红色) 第一条:当变量line1的值等于abc时,class就等于yes,反之class等于noÿ…...
API安全
1 API的简介 API代表应用程序编程接口,它由一组允许软件组件进行通信的定义和协议组成。作为软件系统之间的中介,API使软件应用程序或服务能够共享数据和功能。但是API不仅仅提供连接基础,它还管理软件应用程序如何被允许进行通信和交互。API控制程序之间交换请求的类型、请…...
手写一个翻页功能
最近在对接海康摄像头,需要写一个翻页得功能,于是乎就想到了手写,然后就记录一下。在vue项目里写的 <img:src"require()"alt""click"onNext(delete)"/><img:src"require()"alt""…...

element show-overflow-tooltip 复制
el-table-column的show-overflow-tooltip弹出的提示无法复制,官方也暂时不准备解决,可以自己模拟一个 <el-table-column label"支付单号" width"100"><template #default"{ row }"><el-tooltip :content&…...

【C语言】指针的进阶(三)—— 模拟实现qsort函数以及指针和数组的笔试题解析
目录 1、模拟实现qsort函数 1.1、qsort函数的回顾 1.2、模拟实现qsort函数 2、指针和数组笔试题解析 2.1、一维数组 2.2、字符数组 1、模拟实现qsort函数 1.1、qsort函数的回顾 要模拟实现qsort函数,就要了解清楚qsort函数的参数以及使用方式。 我们先回顾一…...

Python 图像处理库PIL ImageOps笔记
# 返回一个指定大小的裁剪过的图像。该图像被裁剪到指定的宽高比和尺寸。 # 变量size是要求的输出尺寸,以像素为单位,是一个(宽,高)元组 # bleed:允许用户去掉图像的边界(图像四个边界ÿ…...

全球南方《乡村振兴战略下传统村落文化旅游设计》许少辉八一新枝——2023学生开学季辉少许
全球南方《乡村振兴战略下传统村落文化旅游设计》许少辉八一新枝——2023学生开学季辉少许...

【C语言】指针的进阶(一)
目录 前言 1. 字符指针 2. 指针数组 3. 数组指针 3.1 数组指针的定义 3.2 &数组名VS数组名 3.3 数组指针的使用 4. 数组参数、指针参数 4.1 一维数组传参 4.2 二维数组传参 4.3 一级指针传参 4.4 二级指针传参 5. 函数指针 前言 指针在C语言中可谓是有着举足轻重的…...

Spring学习(三):MVC
一、什么是MVC MVC(Model-View-Controller)是一种软件设计模式,用于组织和管理应用程序的代码结构。它将应用程序分为三个主要部分,即模型(Model)、视图(View)和控制器(…...

排查disabled问题之谷歌新版本特性
问题复现 最近我突然接手一个后台的bug,这个后台很久没有迭代更新了,我也不熟悉业务,所以只能看一下源码,问题很快就复现,测试的修复操作也很正确,就是因为渲染的input标签中存在disableddisabled’属性导…...

三、开发工具
开发工具 开发工具1.1.熟悉IDEA1.2.下载IDEA1.3.IDEA中文插件1.4.IDEA输出中文乱码1.5.使用IDEA —————————————————————————————————————————————————— —————————————————————————————————…...
代码解读:y.view(y.size(0), -1)---tensor张量第一维保持不变,其余维度展平
y.view(y.size(0), -1)代码解读: 用于改变PyTorch张量(tensor)y的形状的。 y.size(0)返回y的第一维的大小。 -1表示让PyTorch自动计算该维度的大小,以确保新的张量与原始张量有相同的元素数量。 功能:将y的第一维保持…...

必示科技赋能广发证券运维数字化实践案例,入选信通院《中国AIOps现状调查报告(2023)》
近期,“必示科技赋能广发证券运维数字化实践,打造智能运维数据中台”合作案例被中国信息通信研究院作为优秀金融案例项目,收录在最新的《中国AIOps现状调查报告(2023)》(金融行业仅3家)。 以必…...

特斯拉Dojo超算:AI训练平台的自动驾驶与通用人工智能之关键
特斯拉公开Dojo超算架构细节,AI训练算力平台成为其自动驾驶与通用人工智能布局的关键一环 在近日举行的Hot Chips 34会议上,特斯拉披露了其自主研发的AI超算Dojo的详细信息。Dojo是一个可定制的超级计算机,从芯片到系统全部由特斯拉自主设计…...
Linux中的一些常用命令
1.查看Linux系统中自带的GLIBC版本 ldd --version2.Linux中删除文件的命令 在Linux中,删除文件的命令是 rm。 使用 rm 命令时,请小心使用,因为它将直接删除文件,而不会将其移动到回收站。 以下是 rm 命令的一些常用选项&#…...

VRTK4⭐二.VRTK4的项目基础配置
文章目录 🟥 硬件基本配置🟧 设置XR Plug-in Management🟨 添加项目Tilia🟩 配置项目Hierarchy 🟥 硬件基本配置 解决使用OpenXR,HTC头显正常追踪,但手柄无法使用的问题. 问题如下: 当我们按照官方的标准流程配置完Op…...

word-doc和docx区别
office从业者路过。 文件结构上doc文件数据是以二进制形式存放的。 docx是以xml文件形式存放的。 doc兼容较差,docx效果更好。...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...

DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案
在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。 一、系统核心功能架构&…...
FOPLP vs CoWoS
以下是 FOPLP(Fan-out panel-level packaging 扇出型面板级封装)与 CoWoS(Chip on Wafer on Substrate)两种先进封装技术的详细对比分析,涵盖技术原理、性能、成本、应用场景及市场趋势等维度: 一、技术原…...

JUC并发编程(二)Monitor/自旋/轻量级/锁膨胀/wait/notify/锁消除
目录 一 基础 1 概念 2 卖票问题 3 转账问题 二 锁机制与优化策略 0 Monitor 1 轻量级锁 2 锁膨胀 3 自旋 4 偏向锁 5 锁消除 6 wait /notify 7 sleep与wait的对比 8 join原理 一 基础 1 概念 临界区 一段代码块内如果存在对共享资源的多线程读写操作…...
Vuex:Vue.js 应用程序的状态管理模式
什么是Vuex? Vuex 是专门为 Vue.js 应用程序开发的状态管理模式 库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 在大型单页应用中,当多个组件共享状态时,简单的单向数据流…...
组合模式:构建树形结构的艺术
引言:处理复杂对象结构的挑战 在软件开发中,我们常遇到需要处理部分-整体层次结构的场景: 文件系统中的文件与文件夹GUI中的容器与组件组织结构中的部门与员工菜单系统中的子菜单与菜单项组合模式正是为解决这类问题而生的设计模式。它允许我们将对象组合成树形结构来表示&…...

【汇编逆向系列】四、函数调用包含单个参数之Double类型-mmword,movsd,mulsd,addsd指令,总结汇编的数据类型
一、汇编代码 上一节开始,讲到了很多debug编译独有的汇编方式,为了更好的区分release的编译器优化和debug的区别,从本章节开始将会提供debug和release的汇编用作对比 Debugb编译 single_double_param:00000000000000A0: F2 0F 11 44 24 08…...