SAP MM 创建物料主数据 BAPI_MATERIAL_SAVEDATA
本人诚心接ABAP远程开发任务,价格公道,有需要的联系我,欢迎个人,甲方爸爸,乙方私信联系。
创建物料主数据我是首先创建物料主数据基本视图,
然后扩充工厂试图和销售视图,扩充分类视图,因为是化工行业,还用了录屏创建危险品。
1.创建物料主数据 基本视图
DATA: GS_HEADER TYPE BAPIMATHEAD,GS_CLIENT TYPE BAPI_MARA,GS_CLIENTX TYPE BAPI_MARAX,GS_PLANT TYPE BAPI_MARC,GS_PLANTX TYPE BAPI_MARCX,GS_STORAGE TYPE BAPI_MARD,GS_STORAGEX TYPE BAPI_MARDX,GS_VALUATION TYPE BAPI_MBEW,GS_VALUATIONX TYPE BAPI_MBEWX,GS_SALE TYPE BAPI_MVKE,GS_SALEX TYPE BAPI_MVKEX,GT_MATERIAL_DESC TYPE TABLE OF BAPI_MAKT,GS_MATERIAL_DESC TYPE BAPI_MAKT,GT_UNIT TYPE TABLE OF BAPI_MARM,GS_UNIT TYPE BAPI_MARM,GT_UNITX TYPE TABLE OF BAPI_MARMX,GS_UNITX TYPE BAPI_MARMX,GS_BAPI_TE_MARA TYPE BAPI_TE_MARA,GS_BAPI_TE_MARAX TYPE BAPI_TE_MARAX,GT_REX TYPE TABLE OF BAPIPAREX,GS_REX TYPE BAPIPAREX,GT_REXX TYPE TABLE OF BAPIPAREXX,GS_REXX TYPE BAPIPAREXX,GV_VALUE_CHAR TYPE C LENGTH 240,GS_BAPIRETURN TYPE BAPIRET2.
DATA: GS_TAXCLASS TYPE BAPI_MLAN.
DATA: GT_TAXCLASS TYPE STANDARD TABLE OF BAPI_MLAN.
DATA: GT_RETURN_MATERIAL TYPE TABLE OF BAPI_MATRETURN2,GS_RETURN_MATERIAL TYPE BAPI_MATRETURN2.
DATA: GT_CLASS_RETURN TYPE STANDARD TABLE OF BAPIRET2,GS_CLASS_RETURN TYPE BAPIRET2.
DATA: GV_MESSAGE TYPE STRING .
DATA: GT_WERKS_LGORT TYPE STANDARD TABLE OF ZMMT_WERKS.
DATA: GT_SALES TYPE STANDARD TABLE OF ZMMT_WERKS.
DATA: GS_WERKS_LGORT TYPE ZMMT_WERKS.
DATA: GS_SALES TYPE ZMMT_WERKS.CLEAR: GS_HEADER,GS_CLIENT,GS_CLIENTX,GS_PLANT,GS_PLANTX,GS_STORAGE,GS_STORAGEX,GS_VALUATION,GS_VALUATIONX,GS_SALE,GS_SALEX,GT_MATERIAL_DESC,GS_MATERIAL_DESC,GT_UNIT,GS_UNIT,GT_UNITX,GS_UNITX,GS_BAPIRETURN,GS_BAPI_TE_MARA,GS_BAPI_TE_MARAX,GT_REX,GS_REX,GT_REXX,GS_REXX,GV_VALUE_CHAR,GS_RETURN,GT_RETURN_MATERIAL,GS_RETURN_MATERIAL,GV_MESSAGE,GS_TAXCLASS,GT_TAXCLASS.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTINGINPUT = GS_MAIN-MATNRIMPORTINGOUTPUT = GV_MATNR.
"SET_HEADERGS_HEADER-MATERIAL = GV_MATNR.GS_HEADER-MATL_TYPE = GS_MAIN-MTART. "物料类型GS_HEADER-BASIC_VIEW = 'X'.GS_HEADER-IND_SECTOR = 'C'. "行业领域"SET_CLIENT_DATAGS_CLIENT-DIVISION = '10'. "部门CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT' "基本计量单位EXPORTINGINPUT = GS_MAIN-MEINS
* LANGUAGE = SY-LANGUIMPORTINGOUTPUT = GS_CLIENT-BASE_UOM
* EXCEPTIONS
* UNIT_NOT_FOUND = 1
* OTHERS = 2.IF SY-SUBRC <> 0.
* Implement suitable error handling hereENDIF.GS_CLIENT-MATL_GROUP = GS_MAIN-MATKL. "物料组GS_CLIENT-DSN_OFFICE = GS_MAIN-LABOR. "实验室/设计室GS_CLIENT-EXTMATLGRP = GS_MAIN-EXTWG. "外部物料组CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT' "重量单位EXPORTINGINPUT = GS_MAIN-GEWEI
* LANGUAGE = SY-LANGUIMPORTINGOUTPUT = GS_CLIENT-UNIT_OF_WT
* EXCEPTIONS
* UNIT_NOT_FOUND = 1
* OTHERS = 2.IF SY-SUBRC <> 0.
* Implement suitable error handling hereENDIF.GS_CLIENT-NET_WEIGHT = GS_MAIN-NTGEW. "净重GS_CLIENT-SIZE_DIM = GS_MAIN-GROES. "大小/量纲"GS_CLIENT-MFR_NO = GS_MAIN-LIFNR. "制造商编号GS_CLIENT-TRANS_GRP = '0001'. "运输组GS_CLIENT-BATCH_MGMT = 'X'. "启用批次管理CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'EXPORTINGINPUT = GS_CLIENT-MFR_NOIMPORTINGOUTPUT = GS_CLIENT-MFR_NO.GS_CLIENT-TRANS_GRP = '0001'. "运输组GS_CLIENT-PERIOD_IND_EXPIRATION_DATE = ''. "货架寿命到期日的期间标识GS_CLIENT-BATCH_MGMT = 'X'. "批次管理需求的标识GS_CLIENTX-DIVISION = 'X'.GS_CLIENTX-BASE_UOM = 'X'.GS_CLIENTX-MATL_GROUP = 'X'.GS_CLIENTX-DSN_OFFICE = 'X'.GS_CLIENTX-EXTMATLGRP = 'X'.GS_CLIENTX-UNIT_OF_WT = 'X'.GS_CLIENTX-NET_WEIGHT = 'X'.GS_CLIENTX-SIZE_DIM = 'X'.GS_CLIENTX-MFR_NO = 'X'.GS_CLIENTX-TRANS_GRP = 'X'.GS_CLIENTX-PERIOD_IND_EXPIRATION_DATE = 'X'.GS_CLIENTX-BATCH_MGMT = 'X'."SET_MATERIAL_DESCGS_MATERIAL_DESC-LANGU = '1'.GS_MATERIAL_DESC-LANGU_ISO = 'ZH'.GS_MATERIAL_DESC-MATL_DESC = GS_MAIN-MAKTX.APPEND GS_MATERIAL_DESC TO GT_MATERIAL_DESC.GS_MATERIAL_DESC-LANGU = 'E'.GS_MATERIAL_DESC-LANGU_ISO = 'EN'.GS_MATERIAL_DESC-MATL_DESC = GS_MAIN-MAKTXE.APPEND GS_MATERIAL_DESC TO GT_MATERIAL_DESC."SET_UNIT
*第一行是1:1转换 即自己和自己转换CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT' ""帐面库存单位的可选计量单位EXPORTINGINPUT = GS_MAIN-MEINSLANGUAGE = SY-LANGUIMPORTINGOUTPUT = GS_UNIT-ALT_UNITEXCEPTIONSUNIT_NOT_FOUND = 1OTHERS = 2.GS_UNIT-GROSS_WT = GS_MAIN-BRGEW. "毛重GS_UNIT-VOLUME = GS_MAIN-VOLUM. "业务量CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT' ""体积单位EXPORTINGINPUT = GS_MAIN-VOLEHLANGUAGE = SY-LANGUIMPORTINGOUTPUT = GS_UNIT-VOLUMEUNITEXCEPTIONSUNIT_NOT_FOUND = 1OTHERS = 2.CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT' "重量单位EXPORTINGINPUT = GS_MAIN-GEWEILANGUAGE = SY-LANGUIMPORTINGOUTPUT = GS_UNIT-UNIT_OF_WTEXCEPTIONSUNIT_NOT_FOUND = 1OTHERS = 2.GS_UNIT-DENOMINATR = '1'. "转换为基本计量单位的分母GS_UNIT-NUMERATOR = '1'. "基本计量单位转换分子APPEND GS_UNIT TO GT_UNIT.GS_UNITX-ALT_UNIT = GS_UNIT-ALT_UNIT.GS_UNITX-GROSS_WT = 'X'.GS_UNITX-VOLUME = 'X'.GS_UNITX-DENOMINATR = 'X'.GS_UNITX-NUMERATOR = 'X'.GS_UNITX-UNIT_OF_WT = 'X'.GS_UNITX-VOLUMEUNIT = 'X'.APPEND GS_UNITX TO GT_UNITX.CLEAR: GS_UNIT, GS_UNITX.
*第二行是EA 和 基本计量单位转换IF GS_MAIN-LRMEI IS NOT INITIAL.CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT' ""帐面库存单位的可选计量单位EXPORTINGINPUT = GS_MAIN-LRMEILANGUAGE = SY-LANGUIMPORTINGOUTPUT = GS_UNIT-ALT_UNITEXCEPTIONSUNIT_NOT_FOUND = 1OTHERS = 2.GS_UNIT-DENOMINATR = GS_MAIN-UMREN. "转换为基本计量单位的分母GS_UNIT-NUMERATOR = GS_MAIN-UMREZ. "基本计量单位转换分子APPEND GS_UNIT TO GT_UNIT.GS_UNITX-ALT_UNIT = GS_UNIT-ALT_UNIT.GS_UNITX-DENOMINATR = 'X'.GS_UNITX-NUMERATOR = 'X'.APPEND GS_UNITX TO GT_UNITX.CLEAR: GS_UNIT, GS_UNITX.ENDIF.IF GS_MAIN-MSEHT1 IS NOT INITIAL .
*第三行是 包装和基本计量单位转换CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT' ""帐面库存单位的可选计量单位EXPORTINGINPUT = GS_MAIN-MSEHT1LANGUAGE = SY-LANGUIMPORTINGOUTPUT = GS_UNIT-ALT_UNITEXCEPTIONSUNIT_NOT_FOUND = 1OTHERS = 2.GS_UNIT-ALT_UNIT = GS_MAIN-MSEHT1.GS_UNIT-DENOMINATR = GS_MAIN-UMREN1.GS_UNIT-NUMERATOR = GS_MAIN-UMREZ1.APPEND GS_UNIT TO GT_UNIT.GS_UNITX-ALT_UNIT = GS_UNIT-ALT_UNIT.GS_UNITX-DENOMINATR = 'X'.GS_UNITX-NUMERATOR = 'X'.APPEND GS_UNITX TO GT_UNITX.ENDIF."SET_CUSTOMIZED_DATAGS_BAPI_TE_MARA-MATERIAL = GV_MATNR.GS_BAPI_TE_MARA-KPPM1 = GS_MAIN-KPPM1. "开票品名GS_BAPI_TE_MARA-KPGG1 = GS_MAIN-KPGG1. "开票规格GS_BAPI_TE_MARA-TCGNO = GS_MAIN-TCGNO. "税收分类编码GS_BAPI_TE_MARA-GDSNO = GS_MAIN-GDSNO. "商品编码GS_BAPI_TE_MARA-GSSZH = GS_MAIN-GSSZH. "关税税则号GS_BAPI_TE_MARA-GSSL = GS_MAIN-GSSL. "关税税率GS_BAPI_TE_MARA-XFSSL = GS_MAIN-XFSSL. "消费税率GS_BAPI_TE_MARA-JJFS = GS_MAIN-JJFS. "消费税计价方式GS_BAPI_TE_MARA-BGZWM = GS_MAIN-BGZWM. "报关中文名GS_BAPI_TE_MARA-LIFNR = GS_MAIN-LIFNR. "供应商GS_BAPI_TE_MARA-BZLEV = GS_MAIN-BZLEV. "包装级别GS_REX-STRUCTURE = 'BAPI_TE_MARA'.GS_REX-VALUEPART1 = GS_BAPI_TE_MARA.APPEND GS_REX TO GT_REX.GS_BAPI_TE_MARAX-MATERIAL = GV_MATNR.GS_BAPI_TE_MARAX-KPPM1 = 'X'.GS_BAPI_TE_MARAX-KPGG1 = 'X'.GS_BAPI_TE_MARAX-TCGNO = 'X'.GS_BAPI_TE_MARAX-GDSNO = 'X'.GS_BAPI_TE_MARAX-GSSZH = 'X'.GS_BAPI_TE_MARAX-GSSL = 'X'.GS_BAPI_TE_MARAX-XFSSL = 'X'.GS_BAPI_TE_MARAX-JJFS = 'X'.GS_BAPI_TE_MARAX-BGZWM = 'X'.GS_BAPI_TE_MARAX-LIFNR = 'X'.GS_BAPI_TE_MARAX-BZLEV = 'X'.GS_REXX-STRUCTURE = 'BAPI_TE_MARAX'.GS_REXX-VALUEPART1 = GS_BAPI_TE_MARAX.APPEND GS_REXX TO GT_REXX.CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'EXPORTINGHEADDATA = GS_HEADERCLIENTDATA = GS_CLIENTCLIENTDATAX = GS_CLIENTX
* PLANTDATA = GS_PLANT
* PLANTDATAX = GS_PLANTX
* FORECASTPARAMETERS =
* FORECASTPARAMETERSX =
* PLANNINGDATA =
* PLANNINGDATAX =
* STORAGELOCATIONDATA = GS_STORAGE
* STORAGELOCATIONDATAX = GS_STORAGEX
* VALUATIONDATA = GS_VALUATION
* VALUATIONDATAX = GS_VALUATIONX
* WAREHOUSENUMBERDATA =
* WAREHOUSENUMBERDATAX =
* SALESDATA = GS_SALE
* SALESDATAX = GS_SALEX
* STORAGETYPEDATA =
* STORAGETYPEDATAX =
* FLAG_ONLINE = ' '
* FLAG_CAD_CALL = ' '
* NO_DEQUEUE = ' '
* NO_ROLLBACK_WORK = ' 'IMPORTINGRETURN = GS_BAPIRETURNTABLESMATERIALDESCRIPTION = GT_MATERIAL_DESCUNITSOFMEASURE = GT_UNITUNITSOFMEASUREX = GT_UNITX
* INTERNATIONALARTNOS =
* MATERIALLONGTEXT =
* TAXCLASSIFICATIONS = GT_TAXCLASS
* RETURNMESSAGES =
* PRTDATA =
* PRTDATAX =RETURNMESSAGES = GT_RETURN_MATERIALEXTENSIONIN = GT_REXEXTENSIONINX = GT_REXX.LOOP AT GT_RETURN_MATERIAL INTO GS_RETURN_MATERIAL WHERE TYPE CA 'EAX'.CALL FUNCTION 'MESSAGE_TEXT_BUILD'EXPORTINGMSGID = GS_RETURN_MATERIAL-IDMSGNR = GS_RETURN_MATERIAL-NUMBERMSGV1 = GS_RETURN_MATERIAL-MESSAGE_V1MSGV2 = GS_RETURN_MATERIAL-MESSAGE_V2MSGV3 = GS_RETURN_MATERIAL-MESSAGE_V3MSGV4 = GS_RETURN_MATERIAL-MESSAGE_V4IMPORTINGMESSAGE_TEXT_OUTPUT = GV_MESSAGE.CONCATENATE LV_ALL_MESSAGE GV_MESSAGE INTO LV_ALL_MESSAGE .ENDLOOP.
扩充物料主数据工厂和销售视图
CLEAR: GS_HEADER,GS_CLIENT,GS_CLIENTX,GS_PLANT,GS_PLANTX,GS_STORAGE,GS_STORAGEX,GS_VALUATION,GS_VALUATIONX,GS_SALE,GS_SALEX,GT_MATERIAL_DESC,GS_MATERIAL_DESC,GT_UNIT,GS_UNIT,GT_UNITX,GS_UNITX,GS_BAPIRETURN,GS_BAPI_TE_MARA,GS_BAPI_TE_MARAX,GT_REX,GS_REX,GT_REXX,GS_REXX,GV_VALUE_CHAR,GS_RETURN,GT_RETURN_MATERIAL,GS_RETURN_MATERIAL,GV_MESSAGE,GS_TAXCLASS,GT_TAXCLASS.GS_HEADER-MATERIAL = GV_MATNR.GS_HEADER-MATL_TYPE = IS_MAIN-MTART. "物料类型GS_HEADER-SALES_VIEW = 'X'.GS_HEADER-STORAGE_VIEW = 'X'.GS_HEADER-MRP_VIEW = 'X'."当MARA-MTART=Z002或者Z003时,增加工作计划视图IF GS_MAIN-MTART = 'Z002' OR GS_MAIN-MTART = 'Z003'.GS_HEADER-WORK_SCHED_VIEW = 'X'.ENDIF.GS_HEADER-PURCHASE_VIEW = 'X'.GS_HEADER-ACCOUNT_VIEW = 'X'.GS_HEADER-COST_VIEW = 'X'."SET_TAXCLASS_DATAGS_TAXCLASS-DEPCOUNTRY = 'CN'.GS_TAXCLASS-DEPCOUNTRY_ISO = 'CN'.GS_TAXCLASS-TAX_TYPE_1 = 'MWST'.GS_TAXCLASS-TAXCLASS_1 = GS_MAIN-MWSKZ.APPEND GS_TAXCLASS TO GT_TAXCLASS."SET_CLIENT_DATAGS_CLIENT-DIVISION = '10'. "部门CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT' "基本计量单位EXPORTINGINPUT = GS_MAIN-MEINS
* LANGUAGE = SY-LANGUIMPORTINGOUTPUT = GS_CLIENT-BASE_UOM
* EXCEPTIONS
* UNIT_NOT_FOUND = 1
* OTHERS = 2.IF SY-SUBRC <> 0.
* Implement suitable error handling hereENDIF.GS_CLIENT-MATL_GROUP = GS_MAIN-MATKL. "物料组GS_CLIENT-DSN_OFFICE = GS_MAIN-LABOR. "实验室/设计室GS_CLIENT-EXTMATLGRP = GS_MAIN-EXTWG. "外部物料组CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT' "重量单位EXPORTINGINPUT = GS_MAIN-GEWEI
* LANGUAGE = SY-LANGUIMPORTINGOUTPUT = GS_CLIENT-UNIT_OF_WT
* EXCEPTIONS
* UNIT_NOT_FOUND = 1
* OTHERS = 2.IF SY-SUBRC <> 0.
* Implement suitable error handling hereENDIF.GS_CLIENT-NET_WEIGHT = GS_MAIN-NTGEW. "净重GS_CLIENT-SIZE_DIM = GS_MAIN-GROES. "大小/量纲"GS_CLIENT-MFR_NO = GS_MAIN-LIFNR. "制造商编号GS_CLIENT-TRANS_GRP = '0001'. "运输组GS_CLIENT-BATCH_MGMT = 'X'. "启用批次管理CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'EXPORTINGINPUT = GS_CLIENT-MFR_NOIMPORTINGOUTPUT = GS_CLIENT-MFR_NO.GS_CLIENT-TRANS_GRP = '0001'. "运输组GS_CLIENT-PERIOD_IND_EXPIRATION_DATE = ''. "货架寿命到期日的期间标识GS_CLIENT-BATCH_MGMT = 'X'. "批次管理需求的标识GS_CLIENTX-DIVISION = 'X'.GS_CLIENTX-BASE_UOM = 'X'.GS_CLIENTX-MATL_GROUP = 'X'.GS_CLIENTX-DSN_OFFICE = 'X'.GS_CLIENTX-EXTMATLGRP = 'X'.GS_CLIENTX-UNIT_OF_WT = 'X'.GS_CLIENTX-NET_WEIGHT = 'X'.GS_CLIENTX-SIZE_DIM = 'X'.GS_CLIENTX-MFR_NO = 'X'.GS_CLIENTX-TRANS_GRP = 'X'.GS_CLIENTX-PERIOD_IND_EXPIRATION_DATE = 'X'.GS_CLIENTX-BATCH_MGMT = 'X'."SET_PLANT_DATAGS_PLANT-PLANT = IV_WERKS.IF GS_MAIN-PRCTR IS NOT INITIAL . "利润中心CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTINGINPUT = GS_MAIN-PRCTRIMPORTINGOUTPUT = GS_PLANT-PROFIT_CTR.ENDIF.GS_PLANT-SAFETY_STK = GS_MAIN-EISBE. "安全库存GS_PLANT-INHSEPRODT = GS_MAIN-DZEIT. "厂内生产时间GS_PLANT-PLND_DELRY = GS_MAIN-PLIFZ. "计划的天数内交货GS_PLANT-GR_PR_TIME = GS_MAIN-WEBAZ. "以天计的收货处理时间GS_PLANT-AVAILCHECK = '02'. "可用性检查的检查组"GS_PLANT-MATFRGTGRP = '0001'. "运输组GS_PLANT-LOADINGGRP = '0001'. "装载组"采购类型 原料选F 半成品/成品选XIF GS_MAIN-MTART = 'Z001'.GS_PLANT-PROC_TYPE = 'F'. "采购类型ELSE.GS_PLANT-PROC_TYPE = 'X'. "采购类型ENDIF.GS_PLANT-MRP_TYPE = 'PD'. "物料需求计划类型GS_PLANT-LOTSIZEKEY = 'EX'. "批量 (物料计划)GS_PLANT-PERIOD_IND = 'M'. "期间标识GS_PLANT-CONSUMMODE = '2'. "消耗模式GS_PLANT-FWD_CONS = '999'. "消耗时期-向前GS_PLANT-BWD_CONS = '999'. "消耗期间:逆向GS_PLANT-LOT_SIZE = '1'. "批量产品成本核算GS_PLANT-PLAN_STRGP = '40'. "计划策略组GS_PLANT-MRP_CTRLER = IV_DISPO. "MRP 控制者(物料计划人)GS_PLANT-SM_KEY = '000'. "浮动的计划边际码GS_PLANTX-PLANT = IV_WERKS.GS_PLANTX-PROFIT_CTR = 'X'.GS_PLANTX-SAFETY_STK = 'X'.GS_PLANTX-INHSEPRODT = 'X'.GS_PLANTX-PLND_DELRY = 'X'.GS_PLANTX-GR_PR_TIME = 'X'.GS_PLANTX-AVAILCHECK = 'X'."GS_PLANTX-MATFRGTGRP = 'X'.GS_PLANTX-LOADINGGRP = 'X'.GS_PLANTX-PROC_TYPE = 'X'.GS_PLANTX-MRP_TYPE = 'X'.GS_PLANTX-LOTSIZEKEY = 'X'.GS_PLANTX-PERIOD_IND = 'X'.GS_PLANTX-CONSUMMODE = 'X'.GS_PLANTX-FWD_CONS = 'X'.GS_PLANTX-BWD_CONS = 'X'.GS_PLANTX-LOT_SIZE = 'X'.GS_PLANTX-PLAN_STRGP = 'X'.GS_PLANTX-MRP_CTRLER = 'X'.GS_PLANTX-SM_KEY = 'X'."SET_STORAGE_DATADATA: LV_WAERS TYPE WAERS.DATA: LV_BUKRS TYPE BUKRS.SELECT SINGLE T001~WAERS INTO LV_WAERS FROM T001WINNER JOIN T001K ON T001W~BWKEY = T001K~BWKEYINNER JOIN T001 ON T001K~BUKRS = T001~BUKRSWHERE T001W~WERKS = IV_WERKS.IF LV_WAERS NE 'CNY' .CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'EXPORTINGDATE = SY-DATUMFOREIGN_AMOUNT = GS_MAIN-VERPRFOREIGN_CURRENCY = 'CNY'LOCAL_CURRENCY = LV_WAERSTYPE_OF_RATE = 'M'READ_TCURR = 'X'IMPORTINGLOCAL_AMOUNT = GS_MAIN-VERPREXCEPTIONSNO_RATE_FOUND = 1OVERFLOW = 2NO_FACTORS_FOUND = 3NO_SPREAD_FOUND = 4DERIVED_2_TIMES = 5OTHERS = 6.ENDIF.GS_VALUATION-VAL_AREA = IV_WERKS.GS_VALUATION-PRICE_UNIT = '1'. "价格单位IF GS_MAIN-MTART = 'Z001'.GS_VALUATION-MOVING_PR = GS_MAIN-VERPR. "移动平均价格/周期单价GS_VALUATION-VAL_CLASS = '3000'. "评估类GS_VALUATION-PRICE_CTRL = 'V'. "价格控制指示符IF IV_WERKS = '5001'.GS_VALUATION-ML_SETTLE = '2'. "价格确定GS_VALUATION-ML_ACTIVE = 'X'. "物料帐簿在物料层被激活 即ML作业GS_VALUATIONX-ML_SETTLE = 'X'.GS_VALUATIONX-ML_ACTIVE = 'X'.ENDIF.IF GS_MAIN-VERPR IS NOT INITIAL .GS_VALUATIONX-MOVING_PR = 'X'.ENDIF.ENDIF.*如果MTART=Z002,评估类BKLAS取7900,价格控制VPRSV取值S,标准价格STPRS从OA传入,价格确定MLAST取3,ML作业MLMAA打勾;
*如果MTART=Z003,评估类BKLAS取7920,价格控制VPRSV取值S,标准价格STPRS从OA传入,价格确定MLAST取3,ML作业MLMAA打勾;IF GS_MAIN-MTART = 'Z002' OR GS_MAIN-MTART = 'Z003'.IF GS_MAIN-MTART = 'Z002'.GS_VALUATION-VAL_CLASS = '7900'. "评估类ELSE.GS_VALUATION-VAL_CLASS = '7920'. "评估类ENDIF.GS_VALUATION-STD_PRICE = GS_MAIN-VERPR. "标准价格GS_VALUATION-PRICE_CTRL = 'S'. "价格控制指示符GS_VALUATION-ML_SETTLE = '3'. "价格确定GS_VALUATION-ML_ACTIVE = 'X'. "物料帐簿在物料层被激活 即ML作业GS_VALUATIONX-ML_SETTLE = 'X'.GS_VALUATIONX-ML_ACTIVE = 'X'.IF GS_MAIN-VERPR IS NOT INITIAL .GS_VALUATIONX-STD_PRICE = 'X'.ENDIF.ENDIF." Z001为原材料 Z002为半成品,Z003为成品 都需要进行成本核算GS_VALUATION-QTY_STRUCT = 'X'. "物料根据数量结构进行成本核算GS_VALUATIONX-QTY_STRUCT = 'X'."物料来源 不区分物料类型了,不管是原料还是半成品/成品,全勾选吧GS_VALUATION-ORIG_MAT = 'X'. "物料来源GS_VALUATIONX-ORIG_MAT = 'X'. "物料来源GS_VALUATIONX-VAL_AREA = IV_WERKS.GS_VALUATIONX-VAL_CLASS = 'X'.GS_VALUATIONX-PRICE_CTRL = 'X'.GS_VALUATIONX-PRICE_UNIT = 'X'."SET_SALE_DATAGS_SALE-SALES_ORG = IV_VKORG. "销售机构GS_SALE-DISTR_CHAN = IV_VTWEG. "分销渠道GS_SALE-DELYG_PLNT = IV_WEKRS. "交货工厂GS_SALE-ACCT_ASSGT = '01'. "科目设置组GS_SALE-ITEM_CAT = 'NORM'. "项目类别组GS_SALE-CASH_DISC = 'X'. "现金折扣标志GS_SALEX-SALES_ORG = IV_VKORG.GS_SALEX-DISTR_CHAN = IV_VTWEG.GS_SALEX-DELYG_PLNT = 'X'.GS_SALEX-ACCT_ASSGT = 'X'.GS_SALEX-ITEM_CAT = 'X'.GS_SALEX-CASH_DISC = 'X'.CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'EXPORTINGHEADDATA = GS_HEADERCLIENTDATA = GS_CLIENTCLIENTDATAX = GS_CLIENTXPLANTDATA = GS_PLANTPLANTDATAX = GS_PLANTX
* FORECASTPARAMETERS =
* FORECASTPARAMETERSX =
* PLANNINGDATA =
* PLANNINGDATAX =STORAGELOCATIONDATA = GS_STORAGESTORAGELOCATIONDATAX = GS_STORAGEXVALUATIONDATA = GS_VALUATIONVALUATIONDATAX = GS_VALUATIONX
* WAREHOUSENUMBERDATA =
* WAREHOUSENUMBERDATAX =SALESDATA = GS_SALESALESDATAX = GS_SALEX
* STORAGETYPEDATA =
* STORAGETYPEDATAX =
* FLAG_ONLINE = ' '
* FLAG_CAD_CALL = ' '
* NO_DEQUEUE = ' '
* NO_ROLLBACK_WORK = ' 'IMPORTINGRETURN = GS_BAPIRETURNTABLES
* MATERIALDESCRIPTION = GT_MATERIAL_DESC
* UNITSOFMEASURE = GT_UNIT
* UNITSOFMEASUREX = GT_UNITX
* INTERNATIONALARTNOS =
* MATERIALLONGTEXT =TAXCLASSIFICATIONS = GT_TAXCLASS
* RETURNMESSAGES =
* PRTDATA =
* PRTDATAX =RETURNMESSAGES = GT_RETURN_MATERIALEXTENSIONIN = GT_REXEXTENSIONINX = GT_REXX.LOOP AT GT_RETURN_MATERIAL INTO GS_RETURN_MATERIAL WHERE TYPE CA 'EAX'.CALL FUNCTION 'MESSAGE_TEXT_BUILD'EXPORTINGMSGID = GS_RETURN_MATERIAL-IDMSGNR = GS_RETURN_MATERIAL-NUMBERMSGV1 = GS_RETURN_MATERIAL-MESSAGE_V1MSGV2 = GS_RETURN_MATERIAL-MESSAGE_V2MSGV3 = GS_RETURN_MATERIAL-MESSAGE_V3MSGV4 = GS_RETURN_MATERIAL-MESSAGE_V4IMPORTINGMESSAGE_TEXT_OUTPUT = GV_MESSAGE.CONCATENATE EV_MESSAGE GV_MESSAGE INTO EV_MESSAGE .ENDLOOP.IF EV_MESSAGE IS INITIAL .CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'EXPORTINGWAIT = 'X'.ELSE.CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.ENDIF.
物料扩充分类视图
首先判断物料是否扩充了分类视图,如果有就不扩充,无则扩充
CALL FUNCTION 'BAPI_OBJCL_GETCLASSES'EXPORTINGOBJECTKEY_IMP = LV_OBJECTKEYNEWOBJECTTABLE_IMP = 'MARA'CLASSTYPE_IMP = '023'
* READ_VALUATIONS =
* KEYDATE = SY-DATUM
* LANGUAGE = SY-LANGUTABLESALLOCLIST = LT_ALLOC_LIST
* ALLOCVALUESCHAR =
* ALLOCVALUESCURR =
* ALLOCVALUESNUM =RETURN = LT_CLASS.READ TABLE LT_CLASS INTO LS_CLASS WITH KEY TYPE = 'S'.IF SY-SUBRC = 0.ELSE.CALL FUNCTION 'BAPI_OBJCL_CREATE'EXPORTINGOBJECTKEYNEW = LV_OBJECTKEYNEWOBJECTTABLENEW = 'MARA'CLASSNUMNEW = 'ZBATCH'CLASSTYPENEW = '023'
* STATUS = '1'
* STANDARDCLASS =
* CHANGENUMBER =
* KEYDATE = SY-DATUM
* NO_DEFAULT_VALUES = ' '
* OBJECTKEYNEW_LONG =
* IMPORTING
* CLASSIF_STATUS =TABLES
* ALLOCVALUESNUM =
* ALLOCVALUESCHAR =
* ALLOCVALUESCURR =RETURN = GT_CLASS_RETURN.LOOP AT GT_CLASS_RETURN INTO GS_CLASS_RETURN WHERE TYPE CA 'EAX'.CONCATENATE EV_MESSAGE GS_CLASS_RETURN-MESSAGE INTO EV_MESSAGE.ENDLOOP.IF EV_MESSAGE IS INITIAL.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
* EXPORTING
* WAIT =
* IMPORTING
* RETURN =.ENDIF.ENDIF.
SAP MM 创建物料主数据 BAPI_MATERIAL_SAVEDATA相关推荐
- SAP MM01 创建物料主数据 [关注公众号后回复MM01获取更多资料]
操作内容 物料主数据,适用于所有有物料编码物料相关信息的系统维护 业务流程 新项目设计冻结后-M公司 PD用-物料编码申请表D-BOM Material Number Application部门内部 ...
- SAP MM MM17物料主数据批量扩充视图
MM17一般用来批量维护物料主数据的某些字段,还有一个特别简单好用的功能,就是批量扩充物料视图,对于只需要简单扩充视图的情况特别方便,比如扩充物料的仓库号.库存地点.之前扩充物料的仓库号时,用的是录屏 ...
- SAP 零售 FMS 物料主数据(一)
SAP 零售 FMS 物料主数据(一) SAP 对于鞋服行业最新的解决方案-FMS(相当于原来的AFS+Retail):更偏向与零售: 商品主数据与原来的AFS大不相同,取消了原来的Grid的网格概念 ...
- 「SAP技术」SAP MM MPN物料的采购初探
「SAP技术」SAP MM MPN物料的采购初探 1, MPN物料号与我方正常使用料号物料主数据之间的LINK关系维护 MPN料号14000005, 我方料号11000250, 2,采购信息记录的维护 ...
- 「SAP技术」 SAP MM MPN物料的采购初探
「SAP技术」 SAP MM MPN物料的采购初探 1, MPN物料号与我方正常使用料号物料主数据之间的LINK关系维护 MPN料号 14000005 , 我方料号11000250 , 2,采购信息记 ...
- SAP MM 创建退货类型的公司间STO,报错 -No delivery type for returns processing assigned to item 00010-
SAP MM 创建退货类型的公司间STO,报错 -No delivery type for returns processing assigned to item 00010- 执行事务代码ME21N ...
- SAP MM 影响Vendor主数据维护界面的字段选择的四大因素?
SAP MM 影响Vendor主数据维护界面的字段选择的四大因素? 1 Account Group 2 Transaction 3 Company Code 4 Purchasing Organiza ...
- SAP LSMW 导入物料主数据报错 - You have not fully maintained the descriptions - 之分析
SAP LSMW 导入物料主数据报错 - You have not fully maintained the descriptions - 之分析 近日,笔者忙于在D项目上的主数据导入.这是D项目上的 ...
- BDC创建物料主数据各个视图
BDC创建物料主数据各个视图 SET PARAMETER ID 'MXX' FIELD 'B'. " B = Accounting view A Work schedu ...
最新文章
- SQL Server 性能基线和监控
- SpringCloud Config简介
- Linux时间date与timedatectl
- 基础表比商户对账和汇总多了一笔退款数据
- 英语学习笔记2019-11-22
- 卷积和池化后特征图的大小~
- java编程获取屏幕分辨率_Java编程获取当前屏幕分辨率的方法示例
- 带音效的计算机软件,普通电脑WIN7上安装杜比音效增强软件Dolby Home TheaterV4教程...
- java制作qq机器人(脚本实现和调用QQ官方api实现)
- 启动Hadoop都哪些进程?它们的作用是什么
- iPhone X 为啥弃 TouchID?
- 唯美首页纯静态html引导页
- 嵌入式调试神器-虚拟示波器之JScope
- 2018第二十二届软博会将于6月在京拉开帷幕
- win10修改用户名导致问题及解决
- 谢孟军:中国 Go 语言领军人创业第五年
- selenium爬虫浏览器驱动怎么安装,找不到urs/local/bin文件夹
- easyui Grid 的列合计
- 了解Fidder工具及使用方法
- 华硕的笔记本为什么按Fn+F9禁用触摸板不起作用了?