计算周包材,日包材用来发送给外围系统
文章目录
- 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效果更好。...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
