VA21 创建报价单
1、前台
报价是提供给客户交付货物或服务的一份文件,客户想要知道产品价格以及装运时间。
事务代码VA21
输入报价单类型和销售组织、分销渠道、产品组

输入售达方和行项目的物料信息,订购数量等信息

输入条件,金额

2、源代码
"--------------------@斌将军--------------------
DATA: lv_vbeln TYPE bapivbeln-vbeln, "询报价单
ls_head_in TYPE bapisdhd1, "抬头
ls_head_inx TYPE bapisdhd1x,
ls_logic_switch TYPE bapisdls, "执行新的定价标记
lt_item_in TYPE TABLE OF bapisditm WITH HEADER LINE, "行项目
lt_item_inx TYPE TABLE OF bapisditmx WITH HEADER LINE,
lt_partner_in TYPE TABLE OF bapiparnr WITH HEADER LINE, "合作伙伴
lt_schdl_in TYPE TABLE OF bapischdl WITH HEADER LINE, "计划行
lt_schdl_inx TYPE TABLE OF bapischdlx WITH HEADER LINE,
lt_cond_in TYPE TABLE OF bapicond WITH HEADER LINE, "定价
lt_cond_inx TYPE TABLE OF bapicondx WITH HEADER LINE,
lt_return TYPE TABLE OF bapiret2 WITH HEADER LINE. "返回消息 DATA:lv_check TYPE char1,
lv_message TYPE char200. "询报价单抬头
* ls_head_in-purch_no_c = '111'."客户参考PO
ls_head_in-purch_date = '20230508'."客户参考日期
ls_head_in-doc_type = 'Z000'. "销售订单类型
ls_head_in-sales_org = '1050'. "销售组织
ls_head_in-distr_chan = '00'."分销渠道
ls_head_in-division = '00'."产品组
ls_head_in-qt_valid_f = '20230508'."询报价单有效开始日期
ls_head_in-qt_valid_t = '20230531'."询报价单有效截止日期 ls_head_inx-updateflag = 'I'.
ls_head_inx-purch_no_c = 'X'."客户参考PO
ls_head_inx-purch_date = 'X'."客户参考日期
ls_head_inx-doc_type = 'X'. "销售订单类型
ls_head_inx-sales_org = 'X'. "销售组织
ls_head_inx-distr_chan = 'X'."分销渠道
ls_head_inx-division = 'X'."产品组
ls_head_inx-qt_valid_f = 'X'."询报价单有效开始日期
ls_head_inx-qt_valid_t = 'X'."询报价单有效截止日期 "合作伙伴 lt_partner_in-partn_role = 'AG'. "售达方
lt_partner_in-partn_numb = '0001003763'."售达方
APPEND lt_partner_in.
CLEAR:lt_partner_in. ls_logic_switch-pricing = 'G'."重新定价 lt_item_in-itm_number = '000010'."销售分销行项目
lt_item_in-material = '000000000000000999'.
lt_item_in-target_qty = '10'."数量
lt_item_in-target_qu = 'H'."单位
lt_item_in-plant = '1050'."订货工厂
* lt_item_in-tax_class1 = ."物料税分类 lt_item_inx-updateflag = 'I'.
lt_item_inx-itm_number = '000010'."销售分销行项目
lt_item_inx-material = 'X'."物料编码
lt_item_inx-target_qty = 'X'."数量
lt_item_inx-target_qu = 'X'."单位
lt_item_inx-plant = 'X'."订货工厂
* lt_item_inx-tax_class1 = 'X'."物料税分类
APPEND: lt_item_in,lt_item_inx.
CLEAR:lt_item_in,lt_item_inx. "计划行项目
lt_schdl_in-itm_number = '000010'."销售分销行项目
lt_schdl_in-req_qty = '10'."数量 lt_schdl_inx-updateflag = 'I'.
lt_schdl_inx-itm_number = 'X'.
lt_schdl_inx-req_qty = 'X'.
APPEND:lt_schdl_in,lt_schdl_inx.
CLEAR:lt_schdl_in,lt_schdl_inx.
"定价
lt_cond_in-itm_number = '000010'."销售分销行项目
lt_cond_in-cond_type = 'ZP00'. "条件类型
lt_cond_in-cond_value = 10. "定价值
lt_cond_in-currency = 'CNY'. "货币码
lt_cond_in-cond_unit = 'H'. "定价单位
* lt_cond_in-cond_p_unt = t_item-kpein. lt_cond_inx-updateflag = 'I'.
lt_cond_inx-itm_number = '000010'."销售分销行项目
lt_cond_inx-cond_type = 'ZP00'. "条件类型
lt_cond_inx-cond_value = 'X'. "定价值
lt_cond_inx-currency = 'X'. "货币码
lt_cond_inx-cond_unit = 'X'. "定价单位
* lt_cond_inx-cond_p_unt = 'X'.
APPEND:lt_cond_in,lt_cond_inx.
CLEAR:lt_cond_in,lt_cond_inx. CALL FUNCTION 'BAPI_QUOTATION_CREATEFROMDATA2'
EXPORTING
* SALESDOCUMENTIN =
quotation_header_in = ls_head_in
quotation_header_inx = ls_head_inx
logic_switch = ls_logic_switch
IMPORTING
salesdocument = lv_vbeln
TABLES
return = lt_return
quotation_items_in = lt_item_in
quotation_items_inx = lt_item_inx
quotation_partners = lt_partner_in
quotation_schedules_in = lt_schdl_in
quotation_schedules_inx = lt_schdl_inx
quotation_conditions_in = lt_cond_in
quotation_conditions_inx = lt_cond_inx. CLEAR:lv_check,lv_message.
LOOP AT lt_return WHERE type CA 'EAX'.
lv_message = lv_message && lt_return-message.
lv_check = 'E'.
ENDLOOP. IF lv_check = 'E'.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDIF.
"--------------------@斌将军--------------------
定期更文,欢迎关注

VA21 创建报价单的更多相关文章
- crm操作报价单实体
using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using Microsoft ...
- (转载整理)SAP ERP常用T-CODE
其实最讨厌做ERP的项目了.不过,身不由己的嘛! 网上资料加一些整理. 与客户相关 VD01 建立客户 Create customerVD02 更改客户 Change customerVD03 显示 ...
- BAPI 使用
BAPI_ACC_DOCUMENT_POST *---BAPI_ACC_DOCUMENT_POST 所需要的参数 DATA: OBJ_TYPE LIKE BAPIACHE09-OBJ_TYPE, ...
- IDMC制造业ERP业务场景测试之一——硅钢片制造业务流程测试
一.测试地址 硅钢片业务测试数据库地址为:http://www.bonawifi.com,测试数据库名字为SiliconSteelSheet,测试账号:用户名demo ,密码demo 二.业务说明 根 ...
- 7款开源ERP系统比较
[网络转载] 现在有许多企业将ERP项目,在企 业中没有实施好,都归咎于软件产品不好.其实,这只是你们的借口.若想要将ERP软件真正与企业融合一体,首先得考虑企业的自身情况,再去选择适合的 ERP软件 ...
- [转载]7款开源ERP系统比较
现在有许多企业将ERP项目,在企 业中没有实施好,都归咎于软件产品不好.其实,这只是你们的借口.若想要将ERP软件真正与企业融合一体,首先得考虑企业的自身情况,再去选择适合的 ERP软件. 如果你的企 ...
- Quote Helper
using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using Microsoft.Xrm.Sdk.Que ...
- MM/PP/SD/FICO 模块常用事物码(T-code)、SAP快捷键
MM/PP/SD/FICO MM常用T-CODE MM01 创建一般物料 Create Material – GeneralMM02 修改一般物料 Change MaterialMM03 显示一般物料 ...
- 金庸和古龙,Netweaver和微服务,以及SAP Hybris Revenue Cloud
这周Jerry在长沙客户现场待了几天,感谢易总和彩亮的款待.终于有机会和关注这个公众号的一些CRM顾问们进行线下互动,感觉很不错.得知公众号里某些文章帮助顾问们解决了一些工作中的实际问题,我很高兴.感 ...
- Odoo,快速上手Odoo,来了解Odoo几个标准模块
odoo通过Apps和Connector扩展和集成数以万计的应用和服务,odoo目前有超过12500个Apps可选用.它囊括了项目管理,生产.财务.记账和销售管理,仓储管理,人力资源管理,等等项目.本 ...
随机推荐
- L2-030 冰岛人
需要注意的地方: 我们只记录维京人的祖先,除了维京人的其他人不能记录它的祖先 #include <bits/stdc++.h> using namespace std; struct pe ...
- (Good topic)快慢指针:链表的中间结点 (3.23leetcode每日打卡)
给定一个带有头结点 head 的非空单链表,返回链表的中间结点. 如果有两个中间结点,则返回第二个中间结点. 示例 1: 输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3, ...
- 30. 干货系列从零用Rust编写正反向代理,HTTP的组装之旅(中间件)
wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代 ...
- games101-2 透视深度插值矫正与抗锯齿分析
透视深度插值矫正与抗锯齿分析 深度插值的差错原因 透视深度插值公式推导 games101中的错误 msaa与ssaa简要定义 games101中ssaa的实现 games101中msaa的实现 深度插 ...
- 给 Web 前端工程师看的用 Rust 开发 wasm 组件实战
什么是wasm组件? wasm 全称 WebAssembly,是通过虚拟机的方式,可以在服务端.客户端如浏览器等环境执行的二进制程序.他有速度快.效率高.可移植的特点. 对我们 Web 前端工程最大的 ...
- 编辑linux服务启动命令(app-script.sh命令编写)
#!/bin/sh# 注:这里可替换为你自己的执行程序,其他代码无需更改APP_NAME=app-biz.jar #使用说明,用来提示输入参数usage() { echo "Usage: s ...
- Oracle数据库卸载器 - 开源研究系列文章
今天无事,把网上搜到的Oracle数据库卸载器的软件更新到C#的Winform界面的操作上. 1. 程序目录: 与笔者的其它软件类似,目录如下: 2. 使用的类: 这里主要使用了一个处理函数: 3. ...
- Kernel Memory 入门系列: Embedding 简介
Kernel Memory 入门系列: Embedding 简介 在 RAG模式 其实留了一个问题. 我们对于的用户问题的理解和文档的检索并没有提供合适的方法. 当然我们可以通过相对比较传统的方法. ...
- JavaFx之使用高版本JDK(二十八)
JavaFx之使用高版本JDK(二十八) 如何使用高版本的jfx? 根据官网的需要手动引入jfx模块(运行参数:–module-path) 要知道高版本jfx已经集成了丰富的主流功能,例如视频编码,大 ...
- JavaFx之WebView(二十五)
JavaFx之WebView(二十五) jfx的web引擎已经几百年没更新,早就放弃了,写写demo还是不错.jdk8u202还能跑vue 3.0项目 import javafx.applicatio ...