ABAP中(生产订单、销售订单、内部订单)各自编号的数据字段类型

本文介绍了SAP系统中透明表的编号规则,包括销售订单号(VBAK~VBELN)、生产订单号(AUFK~AUFNR)及内部订单号(COAS~AUFNR)的字段定义与存储方式。这些编号采用前导零填充以达到固定长度。

VBAK~VBELN    销售订单号  CHAR  长度10

AUFK~AUFNR   生产订单号  CHAR  长度12

COAS~AUFNR  内部订单号   CHAR  长度12

而且上述三个编号字段,全都是有前导零的。

也就是说如果一个销售订单的编号是900800 那实际在透明表中存储的是 0000900800 一共10位

现在自定义的透明表中对应上述三个字段的定义是:

ZVBELN  CHAR  10位

ZAUFNR  CHAR  12位

ZIAUFNR  CHAR  12位


本文转自:http://blog.youkuaiyun.com/charliefromkansas/article/details/53406593?locationNum=6&fps=1

<think>好的,用户的问题是如何在ABAP中将销售订单转换为生产订单。我需要先理解这个转换过程的基本逻辑和相关事务代码。 首先,销售订单生产订单属于不同的模块,销售订单在SD模块,生产订单在PP模块。转换过程可能需要读取销售订单的物料信息、数量、交货日期等,然后调用PP模块的BAPI来创建生产订单。 接下来,我需要回忆相关的BAPI。创建生产订单常用的BAPI是BAPI_PRODORD_CREATE。这个BAPI需要订单抬头信息、工序信息和组件清单。参考用户提供的引用[1],里面提到了ORDER_HEADER、ORDER_OPERATIONS和ORDER_COMPONENTS这些输入参数。可能需要从销售订单中获取这些数据。 另外,用户提到的引用[2]中提到了CSAP_ORD_BOM_CREATE函数需要注意数量单位的问题。这说明在传输数量时需要考虑单位的转换,比如销售订单可能使用PC,而生产订单可能使用其他单位,或者存在基本数量配置的问题。需要确保传入的数量正确,避免被放大或缩小。 然后,我需要考虑如何从销售订单中获取所需的数据销售订单数据存储在VBAK和VBAP表中,可能还需要读取VBEP中的计划行信息。比如,VBAP中的MATNR(物料号)、KWMENG(订单数量)等字段。 创建生产订单时,需要设置订单类型(如PP01)、工厂、物料号、数量、开始和结束日期等。可能还需要处理工艺路线和BOM,这涉及到工序和组件的信息。如果销售订单有特定的BOM版本或工艺路线,需要正确传递这些参数。 用户可能还需要考虑审批和保存生产订单的步骤,比如调用BAPI_PRODORD_CONFirm和BAPI_TRANSACTION_COMMIT。 需要注意的错误点包括单位转换、日期格式、物料状态是否允许生产,以及BOM是否存在。此外,测试环境与生产环境的配置差异可能导致问题,如引用[2]中的数量被扩大,因此需要在代码中处理数量单位,比如除以1000或调整小数位。 最后,应该建议用户先测试事务代码CO41或CO01手动转换,确保配置正确,再开发自动化程序。同时,参考SAP标准文档和配置指南,确保所有参数正确设置。</think>在ABAP中将销售订单转换为生产订单的实现方法可分为以下步骤: ### 一、数据准备阶 1. 通过销售订单号从表$VBAK/VBAP$获取关键信息: - 物料编号:`VBAP-MATNR` - 订单数量:`VBAP-KWMENG` - 工厂代码:`VBAP-WERKS` - 交货日期:`VBEP-EDATU` 2. 调用函数$CS_BOM_EXPL_MAT_V2$获取BOM结构[^1] ### 二、生产订单创建 ```abap CALL FUNCTION 'BAPI_PRODORD_CREATE' EXPORTING ORDER_HEADER = ls_header "订单类型PP01/生产版本等 SCHEDULE = ls_schedule "计划开始/结束时间 TABLES ORDER_OPERATIONS = lt_ops "工艺路线数据 ORDER_COMPONENTS = lt_comp "BOM组件 RETURN = lt_return. ``` ### 三、关键参数说明 | 参数类型 | 关键字段 | 数据来源 | |----------------|------------------------|---------------------------| | ORDER_HEADER | MATERIAL = VBAP-MATNR | 销售订单行项目 | | | TARGET_QTY = KWMENG | 需注意单位换算[^2] | | ORDER_COMPONENT| COMP_QTY = 组件需求量 | BOM展开结果*订单数量 | ### 四、常见问题处理 1. 数量异常放大:检查物料主数据$MARC-BSTME$基本计量单位设置,必要时在传入数量前做`/1000`处理[^2] 2. 工艺路线缺失:调用$COSS_ORDER_MAINTAIN$维护工艺路线 3. 生产版本选择:使用函数$MD_PRODUCTION_VERSION_GET$ ### 五、完整流程示例 1. 事务代码$VA03$获取销售订单 2. 事务代码$CO41$直接转换 3. 或通过增强在销售订单保存时自动触发生产订单创建
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值