ABAP-创建物料主数据

CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'

*&---------------------------------------------------------------------*
*& Report  ZMMPL001
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ZMMPL001.

DATA: pr_unit TYPE meins,"基本计量单位
bapi_exe_result(1) TYPE c."bapi执行结果标识

*原材料
DATA: BEGIN OF wa_y_material,
marc_plant TYPE werks_d, "工厂
mard_stge_loc TYPE lgort_d,"库存地点
mvke_sales_org TYPE vkorg,"销售组织
mvke_distr_chan TYPE vtweg,"分销渠道
head_material TYPE matnr,"物料号
head_ind_sector TYPE mbrsh,"行业领域
head_matl_type TYPE mtart,"物料类型
t_makt_matl_desc TYPE maktx,"物料描述
mara_base_uom TYPE meins,"基本计量单位
mara_matl_group TYPE matkl,"物料组
mara_extmatlgrp TYPE extwg,"外部物料组
mara_item_cat TYPE mtpos_mara,"普通项目组类别
t_marm_gross_wt TYPE brgew,"毛重
t_marm_unit_of_wt TYPE gewei,"重量单位
mara_net_weight TYPE ntgew,"净重
t_marm_volume TYPE volum,"标准箱
t_marm_volumeunit TYPE voleh,"体积单位
mvke_sales_unit TYPE vrkme,"销售单位
t_mlan_taxclass1 TYPE taxkm, "税分类1
t_mlan_taxclass2 TYPE taxkm, "税分类2
mvke_matl_stats TYPE stgma,"物料统计组
mvke_acct_assgt TYPE ktgrm,"科目设置组
mvke_item_cat TYPE mtpos,"来自物料主文件的项目主类别
marc_availcheck TYPE mtvfp,"可用性检查
mara_trans_grp TYPE tragr,"运输组
marc_loadinggrp TYPE ladgr,"装载组
marc_pur_group TYPE ekgrp,"采购组
marc_batch_mgmt TYPE xchpf,"批次管理标示
marc_auto_p_ord TYPE kautb,"自动采购订单
marc_ind_post_to_insp_stock TYPE insmk_mat,"过账到检验库存
marc_quotausage TYPE usequ,"配额安排
marc_sourcelist TYPE kordb,"源清单
marc_mrp_group TYPE disgr,"MRP组
marc_mrp_type TYPE dismm,""MRP类型
marc_mrp_ctrler TYPE dispo,"MRP控制者
marc_lotsizekey TYPE disls,"批量
marc_minlotsize TYPE bstmi,"最小批量
marc_maxlotsize TYPE bstma,"最大批量
marc_round_val TYPE bstrf,"舍入值
marc_proc_type TYPE beskz,"采购类型
marc_backflush TYPE rgekm,"反冲
marc_plnd_delry TYPE plifz,"计划交货时间
marc_gr_pr_time TYPE webaz,"收货处理时间
marc_safety_stk TYPE eisbe,"安全库存
marc_sm_key TYPE fhori," 计划边际码
marc_plan_strgp TYPE strgp,"策略组
marc_alt_bom_id TYPE altsl,"选择方法
stge_loc TYPE lgort_d,"库存地点,占位,不用取出赋值,同上边库存地点
mbew_val_class TYPE bklas,"评估类
mbew_price_ctrl TYPE vprsv,"价格控制
mbew_price_unit TYPE peinh,"价格单位
mbew_moving_pr TYPE verpr_bapi,"移动平均价
mbew_std_price TYPE stprs_bapi,"标准价格
mbew_qty_struct TYPE ck_ekalrel,"用QS的成本估算
mbew_o
### 回答1: 首先,您可以使用ABAP语言来编写一个程序,用于将物料数据批量导入系统。具体步骤如下: 1. 创建一个程序,设置输入和输出参数,并确定相应的数据结构。 2. 创建一个SQL语句,从Excel文件中读取物料数据,并将其转换为ABAP内部表。 3. 使用ABAP指令将物料数据从内部表中读取,并将其存储在系统中。 4. 使用ABAP指令检查物料数据的正确性。 5. 将物料数据成功导入系统后,使用ABAP指令将其保存到相应的文件中。 ### 回答2: 使用ABAP语言编写物料数据批量导入程序可以使用SAP内置的功能模块和数据对象来实现。 首先,我们可以创建一个ABAP报表程序,在其中定义所需的变量和数据对象。例如,我们可以使用内置的数据对象LFA1来表示供应商数据,以及信息记录对象MAKT来表示物料描述。 接下来,我们可以使用内置的功能模块如BDC_OPEN_GROUP和BDC_INSERT来打开一个BDC(事务数据转换)会话组,并插入事务数据。 在导入过程中,我们可以使用内置的函数模块如LSMW_OBJECT_READ、LSMW_DATA_READ和LSMW_DATA_WRITE来读取、处理和写入数据。 对于物料数据批量导入,我们可以先使用每个物料的一般信息(如物料号、物料类型、基本计量单位等)创建一个转换对象。然后,通过设置字段映射和转换规则来映射输入数据和SAP系统中物料数据字段之间的关系。最后,将导入的数据写入SAP系统中。 在整个导入过程中,我们可以使用内置的函数模块如BDC_CLOSE_GROUP来关闭BDC会话组,并提交数据。 另外,我们还可以使用BAPI_MATERIAL_SAVEDATA或BAPI_MATERIAL_MAINTAINDATA等内置的BAPI(业务应用编程接口)函数模块来实现物料数据的批量导入。这些函数模块可以通过传递参数和结构体来实现物料数据创建、修改和删除等操作。 总之,通过使用ABAP语言编写物料数据批量导入程序,我们可以利用SAP内置的功能模块和数据对象来实现高效、可靠和准确的物料数据导入。 ### 回答3: ABAP语言可以用来写一个物料数据批量导入的程序。 首先,我们可以利用ABAP数据导入技术,使用OPEN DATASET语句打开一个文本文件。然后,通过读取该文本文件的每一行,我们可以逐行解析物料数据的信息。在解析过程中,我们可以使用字符串操作函数和正则表达式来提取需要的字段,如物料编码、物料描述、价格等。 接下来,我们可以使用INSERT语句将解析到的物料数据插入到物料数据表中。在插入之前,我们可以使用SELECT语句检查物料数据表中是否已存在相同的物料编码,以避免重复插入。 除了插入物料数据,我们还可以在导入过程中进行一些额外的逻辑处理。例如,我们可以使用条件语句判断物料数据是否符合一些特定条件,如价格是否大于一定阈值、描述是否包含特定关键词等。根据判断的结果,我们可以选择不插入或者标记异常的物料数据。 在导入完成后,我们可以关闭文本文件,并进行一些后续处理。例如,我们可以输出导入结果的日志信息,统计成功和失败的记录数等数据。此外,我们还可以将导入结果保存到一个报表或者发送邮件给相关人员。 综上所述,使用ABAP语言编写一个物料数据批量导入的程序可通过数据导入、解析、插入和逻辑处理等步骤完成,同时可以进行后续处理和结果输出。这样的程序可以大大提高物料数据导入的效率和准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值