计算周包材,日包材用来发送给外围系统
文章目录
- 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效果更好。...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
