计算周包材,日包材用来发送给外围系统
文章目录
- 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效果更好。...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
