SO BAPI SD_SALESDOCUMENT_CREATE
DATA: E_ORDER_HEADER_IN LIKE BAPISDHD1 OCCURS 0 WITH HEADER LINE,
E_ORDER_PARTNERS LIKE BAPIPARNR OCCURS 0 WITH HEADER LINE,
E_ORDER_ITEMS_IN LIKE BAPISDITM OCCURS 0 WITH HEADER LINE,
E_ORDER_BAPISCHDL LIKE BAPISCHDL OCCURS 0 WITH HEADER LINE,
E_AUART LIKE VBAK-AUART ,
E_KUNNR LIKE VBAK-KUNNR,
CNT TYPE I,
E_MENGE TYPE DZMENG.
DATA: lt_order_text TYPE TABLE OF bapisdtext.
DATA: ls_order_conditions_in TYPE bapicond.
DATA lt_order_conditions_in TYPE TABLE OF bapicond.
DATA: e_order_text TYPE bapisdtext.
DATA : W_KNA1 LIKE KNA1 ,
W_ADR6 LIKE ADR6 .
data: ls_type type ZSCS004-PURAUDITFLAG.
data: ls_knumv type vbak-knumv.
DATA : W_NAME LIKE KNA1-NAME1.
data: ls_inco1 type KNVV-INCO1,
ls_zterm type KNVV-ZTERM.
data: it_konv like KONV OCCURS 0 WITH HEADER LINE. "选择条目
data: ls_konv type KONV.
DATA : I_BAPISDTEXT TYPE STANDARD TABLE OF BAPISDTEXT.
DATA : l_external TYPE BAPI2093_RES_KEY-RESERV_NO.
DATA : WA_BAPISDTEXT LIKE LINE OF I_BAPISDTEXT.
data:ls_sale type ZSD_SALE_TEST.
data: ls_first type KUNNR,
ls_last type KUNNR.
loop AT ZSD_SALE_TEST INTO ls_sale.
"add_text 抬头文本
e_order_text-doc_number = SALESDOCUMENT.
e_order_text-itm_number = '000000'.
e_order_text-text_id = '0001'.
e_order_text-langu = 1.
e_order_text-langu_iso = 'ZH'.
e_order_text-format_col = '*'.
e_order_text-text_line = ls_sale-text_line.
e_order_text-function = '005'.
APPEND e_order_text TO lt_order_text.
"add_text:
e_order_text-doc_number = SALESDOCUMENT.
e_order_text-itm_number = ls_sale-POSNR.
e_order_text-text_id = '0002'.
e_order_text-langu = 1.
e_order_text-langu_iso = 'ZH'.
e_order_text-format_col = '*'.
e_order_text-text_line = ls_sale-ARKTX.
e_order_text-function = '005'.
APPEND e_order_text TO lt_order_text.
clear e_order_text.
"add_partners 抬头文本
* "客户代码之前加1位
* CONCATENATE '1' ls_sale-FIRST_NAME into ls_first.
* CONCATENATE '1' ls_sale-LAST_NAME into ls_last.
ls_first = ls_sale-FIRST_NAME.
ls_last = ls_sale-LAST_NAME.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = ls_first
IMPORTING
OUTPUT = ls_first.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = ls_last
IMPORTING
OUTPUT = ls_last.
E_ORDER_PARTNERS-PARTN_ROLE = 'AG'. "售达方
E_ORDER_PARTNERS-PARTN_NUMB = ls_first. "售达方代码
APPEND E_ORDER_PARTNERS.
E_ORDER_PARTNERS-PARTN_ROLE = 'WE'. "送达方
E_ORDER_PARTNERS-PARTN_NUMB = ls_last. "送达方代码
APPEND E_ORDER_PARTNERS.
E_AUART = ls_sale-AUART.
E_ORDER_HEADER_IN-DOC_TYPE = E_AUART. "订单类型
E_ORDER_HEADER_IN-SALES_ORG = ls_sale-VKORG. "销售组织
E_ORDER_HEADER_IN-DISTR_CHAN = ls_sale-VTWEG. "分销渠道
E_ORDER_HEADER_IN-DIVISION = ls_sale-SPART. "产品组
E_ORDER_HEADER_IN-req_date_h = ls_sale-ETDAT. "请求交货日期
E_ORDER_HEADER_IN-ship_type = '01'. "装运类型
E_ORDER_HEADER_IN-ship_cond = ls_sale-VSBED. "装运条件
E_ORDER_HEADER_IN-PURCH_NO_C = ls_sale-BSTNK. "客户采购订单编号
E_ORDER_ITEMS_IN-item_categ = ls_sale-PSTYV. "项目类别
E_ORDER_ITEMS_IN-plant = ls_sale-WERKS. "工厂
E_ORDER_ITEMS_IN-store_loc = ls_sale-LGORT. "库存地点
E_ORDER_ITEMS_IN-MATERIAL = ls_sale-MABNR. "物料
* E_ORDER_ITEMS_IN-BATCH = ls_sale-CHARG. "批次
E_ORDER_ITEMS_IN-TARGET_QTY = ls_sale-KWMENG. "订单数量
E_ORDER_ITEMS_IN-sales_unit = ls_sale-VRKME. "单位
E_ORDER_ITEMS_IN-ITM_NUMBER = ls_sale-POSNR. "项目号
E_ORDER_ITEMS_IN-DLV_PRIO = ls_sale-REQUESTYPE. "交货优先权
* E_ORDER_ITEMS_IN-PMNTTRMS = '0001'.
select KNVV~INCO1 KNVV~ZTERM
INTO (ls_inco1,ls_zterm)
from KNVV
where KUNNR = ls_first and
VKORG = ls_sale-VKORG and
VTWEG = ls_sale-VTWEG and
SPART = ls_sale-SPART.
endselect.
E_ORDER_ITEMS_IN-PMNTTRMS = ls_zterm. "付款条件
E_ORDER_ITEMS_IN-INCOTERMS1 = ls_inco1. "国际贸易条件
E_ORDER_BAPISCHDL-REQ_QTY = ls_sale-KWMENG. "订单数量
E_ORDER_BAPISCHDL-ITM_NUMBER = ls_sale-POSNR. "项目号
* ** add_conditions:
ls_order_conditions_in-itm_number = ls_sale-POSNR.
ls_order_conditions_in-cond_type = 'ZPR2'. "定价条件
ls_order_conditions_in-cond_value = ls_sale-KBETR. "价格
ls_order_conditions_in-currency = 'RMB'. "货币或%
ls_order_conditions_in-cond_unit = ls_sale-VRKME. "条件单位
ls_order_conditions_in-cond_p_unt = ls_sale-KWMENG. "条件定价单位
* ls_order_conditions_in-cond_unit = 'Z37'.
* ls_order_conditions_in-itm_number = POSNR.
* ** IF ( t_create-auart = 'ZCR' ) OR ( t_create-auart = 'ZDR' ).
* ** ls_order_conditions_in-cond_type = 'ZPR2'.
* ** ELSE.
* ** ls_order_conditions_in-cond_type = 'ZPR1'.
* ** ENDIF.
* ls_order_conditions_in-cond_value = 10.
ls_order_conditions_in-cond_updat = 'X'. "价格更新标志
APPEND ls_order_conditions_in TO lt_order_conditions_in.
CLEAR WA_BAPISDTEXT.
REFRESH I_BAPISDTEXT.
* WA_BAPISDTEXT-TEXT_ID = '0001'.
* WA_BAPISDTEXT-LANGU = SY-LANGU.
* WA_BAPISDTEXT-TEXT_LINE = COMMENT.
* APPEND WA_BAPISDTEXT TO I_BAPISDTEXT.
APPEND E_ORDER_BAPISCHDL.
APPEND E_ORDER_ITEMS_IN.
* MODIFY zsd_sale_test from ls_sale.
clear ls_sale.
endloop.
****创建销售订单
* CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
* EXPORTING
* ORDER_HEADER_IN = E_ORDER_HEADER_IN
* IMPORTING
* SALESDOCUMENT = SALESDOCUMENT
* TABLES
* RETURN = RETURN
* ORDER_SCHEDULES_IN = E_ORDER_BAPISCHDL
* ORDER_ITEMS_IN = E_ORDER_ITEMS_IN
* ORDER_PARTNERS = E_ORDER_PARTNERS
* ORDER_CONDITIONS_IN = lt_order_conditions_in
* ORDER_TEXT = lt_order_text.
CALL FUNCTION 'SD_SALESDOCUMENT_CREATE'
EXPORTING
SALESDOCUMENT = SALESDOCUMENT
sales_header_in = E_ORDER_HEADER_IN
* logic_switch = lv_logic_switch
IMPORTING
SALESDOCUMENT_EX = SALESDOCUMENT
TABLES
return = RETURN
sales_items_in = E_ORDER_ITEMS_IN
sales_partners = E_ORDER_PARTNERS
sales_schedules_in = E_ORDER_BAPISCHDL
sales_conditions_in = lt_order_conditions_in
sales_text = lt_order_text.
SO BAPI SD_SALESDOCUMENT_CREATE的更多相关文章
- 创建SO bapi
转自http://blog.sina.com.cn/s/blog_1647b3eff0102wi32.html 1.创建销售订单使用的BAPI BAPI_SALESORDER_CREATEFROMDA ...
- BAPI
MM模块 1. BAPI_MATERIAL_SAVEDATA 创建物料主数据 注意参数EXTENSIONIN的使用,可以创建自定义字段 例如:WA_BAPI_TE_MARA-MATERIAL = IT ...
- BAPI LIST
[转自 http://blog.csdn.net/minsenwu/article/details/8432081] 库存管理BAPI 库存: 1. BAPI_MATERIAL_AVAILABILIT ...
- SAP 各模块常用的BAPI
MM模块 1. BAPI_MATERIAL_SAVEDATA 创建物料主数据 注意参数EXTENSIONIN的使用,可以创建自定义字段 例如:WA_BAPI_TE_MARA-MATERIAL = IT ...
- PP常用bapi
PPCO0012 co01/CO02/CO03屏幕bapi 生产订单:显示/更改订单抬头数据 PPCO0001 开发应用程序: PP订单 PPCO0007 保存生产订单时退出 PPCO0001 A ...
- BAPI 调用相当于BAPI_TRANSACTION_COMMIT 的方法
为什么.net调用SAP的BAPI接口需要调用BAPI_TRANSACTION_COMMIT呢?首先得明白BAPI_TRANSACTION_COMMIT这个BAPI的作用.它功劳很大,在SAP里面很多 ...
- idoc 和 bapi 和 rfc 之间的区别
se37 写出来的叫function,其中可以远程调用的叫rfc,remote-enabled function,abap语法和输入输出参数就会有一些限制.bapi是sap做好的实现特定业务操 ...
- 业务对象和BAPI
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- [SAP ABAP开发技术总结]BAPI调用
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
随机推荐
- Mac安装PHP(Homebrew/php弃用、其他第三方tap也已经弃用或者迁移后的安装配置方案)
一.前言 看网上很多资料,大多数都是 mac安装php,只需要: brew tap homebrew/php brew install phpXX 安装php扩展只需要: brew install p ...
- primer看完了
放假这将近十天吧,终于把C++ Primer中文版第五版大致看完了,然而第四部分(高级主题)还是没有看,感觉那是需要有足够的项目经验再看. 另外,看一遍肯定不够,忘得也会很快,我十分确认今后还会很多次 ...
- 《编译原理》-用例题理解-自底向上的语法分析,FIRSTVT,LASTVT集
<编译原理>-用例题理解-自底向上的语法分析,FIRSTVT,LASTVT集 上一篇:编译原理-用例题理解-自顶向下语法分析及 FIRST,FOLLOW,SELECT集,LL(1)文法 本 ...
- Java Pattern和Matcher字符匹配详解
http://tool.oschina.net/uploads/apidocs/jquery/regexp.html https://blog.csdn.net/rentian1/article/de ...
- Acwing-99-激光炸弹(二维前缀和)
链接: https://www.acwing.com/problem/content/101/ 题意: 一种新型的激光炸弹,可以摧毁一个边长为 R 的正方形内的所有的目标. 现在地图上有 N 个目标, ...
- 【leetcode】801. Minimum Swaps To Make Sequences Increasing
题目如下: We have two integer sequences A and B of the same non-zero length. We are allowed to swap elem ...
- python入门导读
很多培训机构宣称py是人工智能必备的编程语言,打着速成的旗号来引诱学者学习python.事实却并不是这样的,万丈高台平地起,不论你想从事怎样的编程工作,都是从最基本的编程技巧开始的:Python并不适 ...
- 通过喝水清晰简单了解I/O五大模型
一般单次I/O请求会分为两个阶段,每个阶段对于I/O的处理方式是不同的 I/O会经历一个等待资源的阶段 阻塞,指的是在数据不可用时,I/O请求会一直阻塞,直到数据返回 数据不可用时,立即返回,直到被通 ...
- js 创建节点 以及 节点属性 删除节点
case 'copy': var B1 = document.getElementById("B1"); //获得B1下的html文本 var copy_dom = documen ...
- 1、Qt应用程序
新建Qt Widgets Application,基类选择QWidget Qt项目特点(参考上图):头文件名与类名一样,成对出现 main.cpp代码解释如下 #include "mywid ...