【SAP】如何创建一张标准的销售订单?

事务码:VA01
订单类型选择“OR(标准销售订单)”
在这里插入图片描述
录入受达方,点击回车,自动带出送达方。
在这里插入图片描述
在明细处输入物料名称和数量,点击回车。
在这里插入图片描述
选中相关的明细行,点击图示的“条件”,进行价格维护。
在这里插入图片描述
如果有PR00不存在的提醒,手动添加PR00,并录入价格即可。
在这里插入图片描述
此时点击保存,会报出“销售订单不完全”的错误,点击“取消”。
在这里插入图片描述查看销售订单不完全的log:
在这里插入图片描述
可以看到图示部分的信息不完整:
在这里插入图片描述
然后去维护物料。
(1)使用事务码MM02维护毛重、净重和发运工厂。
在这里插入图片描述
在这里插入图片描述

(2)用XD02维护国际贸易条款。

在这里插入图片描述
点击保存。
在这里插入图片描述
用VA05查询新创建的标准销售订单:
在这里插入图片描述
在这里插入图片描述

<think>好的,用户想了解如何在SAP系统中创建销售订单,特别是教程或API相关的内容。我需要先回忆一下相关的SAP知识,尤其是关于创建销售订单的方法。根据用户提供的引用,特别是引用[1]和[2],里面提到了BAPI_SALESORDER_CREATEFROMDAT2这个BAPI,还有VA01的事务代码。这两个应该是关键点。 首先,用户可能想知道创建销售订单的常用方法,比如通过事务代码VA01手动创建,或者通过BAPI编程实现。需要分步骤解释这两种方式。手动创建的话,步骤可能包括进入事务代码、输入订单类型、销售组织、分销渠道等,这些是基本字段。然后添加行项目,保存生成订单号。 接下来是编程方式,使用BAPI。引用[1]详细说明了BAPI_SALESORDER_CREATEFROMDAT2的使用,所以需要重点介绍这个BAPI的参数,比如订单类型、销售组织、物料号等。可能还需要提到调用BAPI后需要检查返回消息,并提交事务,比如使用BAPI_TRANSACTION_COMMIT。 然后,用户可能关心示例代码,这里需要提供ABAP的代码片段,展示如何填充结构体,调用BAPI,处理返回结果。此外,还要提到相关的注意事项,比如授权检查、字段校验,以及可能用到的其他BAPI,比如交货单创建或开票,如引用[2]中的BAPI_BILLINGDOC_CREATEMULTIPLE。 另外,用户提供的引用[3]和[4]涉及到C4C系统中的OData服务和HTTP API接口。虽然用户的问题主要是关于SAP ERP的销售订单创建,但可能需要简要提及其他系统的集成方法,比如C4C中使用OData服务获取数据,或者通过SICF发布HTTP API,如引用[4]所述。这可能扩展用户的思路,但需要明确区分不同系统(如ERP和C4C)的不同方法。 在生成相关问题的时候,需要围绕用户的问题延伸,比如性能优化、错误处理、权限设置、与其他模块的集成,以及与其他系统如C4C的交互方式。这样能帮助用户全面了解相关知识点。 需要注意的是,用户可能作为开发者或SAP顾问,希望了解自动化创建订单的方法,因此重点应放在BAPI的使用和编程步骤上。同时,要确保回答结构清晰,分步骤说明,并引用提供的参考资料来支持回答的准确性,比如引用[1]和[2]中的BAPI名称和用途。 最后,检查是否符合系统级指令:数学公式是否正确使用(这里可能用不上),代码块使用正确的格式,中文回答,生成相关问题,引用标注正确。确保没有使用Markdown格式,语言口语化,自然分段。</think>在SAP系统中创建销售订单主要有两种方式:通过事务代码手动操作和调用BAPI编程实现。以下是详细说明: ### 一、手动创建销售订单VA01) 1. **输入事务代码** 在SAP命令框输入`VA01`,回车进入销售订单创建界面 2. **填写订单类型** 选择标准订单类型`OR`(可根据业务需求选择其他类型如退货订单等) 3. **维护组织结构** 输入销售组织(如`1000`)、分销渠道(如`10`)、产品组(如`00`) 4. **添加行项目** 在物料字段输入产品编码(如`MAT-001`),指定数量(如`100 PC`) 5. **保存生成订单号** 按`Ctrl+S`保存,系统将生成以`0000`开头的10位数字订单号[^1] ### 二、编程方式创建销售订单(BAPI) ```abap DATA: ls_header TYPE bapisdhd1, lt_item TYPE TABLE OF bapisditm, lt_return TYPE TABLE OF bapiret2. " 1. 填充订单头数据 ls_header-doc_type = 'OR' " 订单类型 ls_header-sales_org = '1000' " 销售组织 ls_header-distr_chan = '10' " 分销渠道 ls_header-division = '00' " 产品组 " 2. 填充行项目数据 APPEND VALUE #( material = 'MAT-001' plant = '1000' req_qty = 100 itm_number = '000010' ) TO lt_item. " 3. 调用BAPI CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2' EXPORTING order_header_in = ls_header TABLES return = lt_return order_items_in = lt_item. " 4. 检查错误并提交 IF line_exists( lt_return[ type = 'E' ] ). ROLLBACK WORK. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'. ENDIF. ``` [^1] ### 三、关键注意事项 1. **必填字段验证** 需要确保物料主数据、客户主数据、价格条件等主数据已维护完整 2. **增强检查** 可通过用户出口(User Exit)`USEREXIT_SAVE_DOCUMENT`添加自定义校验逻辑 3. **批量处理优化** 建议使用`BAPI_SALESORDER_CREATEFROMDAT2`的批量处理模式,减少数据库交互次数 4. **集成场景** 创建订单后可通过`BAPI_OUTB_DELIVERY_CREATE_SLS`创建交货单[^2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值