计算周包材,日包材用来发送给外围系统
文章目录
- 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效果更好。...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
基于Java+VUE+MariaDB实现(Web)仿小米商城
仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意:运行前…...
解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道
文/法律实务观察组 在债务重组领域,专业机构的核心价值不仅在于减轻债务数字,更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明,合法债务优化需同步实现三重平衡: 法律刚性(债…...
内窥镜检查中基于提示的息肉分割|文献速递-深度学习医疗AI最新文献
Title 题目 Prompt-based polyp segmentation during endoscopy 内窥镜检查中基于提示的息肉分割 01 文献速递介绍 以下是对这段英文内容的中文翻译: ### 胃肠道癌症的发病率呈上升趋势,且有年轻化倾向(Bray等人,2018&#x…...
深入理解 C++ 左值右值、std::move 与函数重载中的参数传递
在 C 编程中,左值和右值的概念以及std::move的使用,常常让开发者感到困惑。特别是在函数重载场景下,如何合理利用这些特性来优化代码性能、确保语义正确,更是一个值得深入探讨的话题。 在开始之前,先提出几个问题&…...
第2课 SiC MOSFET与 Si IGBT 静态特性对比
2.1 输出特性对比 2.2 转移特性对比 2.1 输出特性对比 器件的输出特性描述了当温度和栅源电压(栅射电压)为某一具体数值时,漏极电流(集电极电流...
