SAP BAPI BAPI_PO_CREATE1创建采购订单
使用BAPI: BAPI_PO_CREATE1创建采购订单,默认情况下行项目是自动编号的。
代码示例:
DATA:lt_poheader LIKE TABLE OF bapimepoheader WITH HEADER LINE,
lt_poheaderx LIKE TABLE OF bapimepoheaderx WITH HEADER LINE,"针对要增加的内容做一个标记,其实标记过了才可以被修改的
lt_poitem LIKE TABLE OF bapimepoitem WITH HEADER LINE, "po中item的内容,内表
lt_poitemx LIKE TABLE OF bapimepoitemx WITH HEADER LINE,."po中item增加内容的标记 内表
lt_poschedule LIKE TABLE OF bapimeposchedule WITH HEADER LINE,
lt_poschedulex LIKE TABLE OF bapimeposchedulx WITH HEADER LINE,
lt_poaccount LIKE TABLE OF bapimepoaccount WITH HEADER LINE,
lt_poaccountx LIKE TABLE OF bapimepoaccountx WITH HEADER LINE,
lt_pocond LIKE TABLE OF bapimepocond WITH HEADER LINE,
lt_pocondx LIKE TABLE OF bapimepocondx WITH HEADER LINE,
lt_potextitem LIKE TABLE OF bapimepotext WITH HEADER LINE,
lt_potext_header LIKE TABLE OF bapimepotextheader WITH HEADER LINE,
l_exppurchaseorder LIKE bapimepoheader-po_number,
gt_return LIKE TABLE OF bapiret2 WITH HEADER LINE, "消息返回, 内表
ls_return TYPE bapiret2. "消息 返回 ,工作区
lt_poaccount-po_item = it_body-ebelp.
lt_poaccount-quantity = it_body-menge.
lt_poaccount-gl_account = it_body_q-sakto. "总账科目
lt_poaccount-costcenter = it_body_q-kostl. "成本中心
lt_poaccount-asset_no = it_body_q-anln1. "资产号 20180316
IF lt_poaccount-costcenter IS NOT INITIAL .
lt_poitem-acctasscat = ‘K’.
ENDIF.
lt_poaccount-co_area = ‘SHGC’.
lt_poaccountx-po_item = it_body-ebelp.
lt_poaccountx-quantity = ‘X’.
lt_poaccountx-gl_account = ‘X’. "总账科目
lt_poaccountx-co_area = ‘X’.
lt_poaccountx-wbs_element = ‘X’.
lt_poaccountx-network = ‘X’.
lt_poaccountx-asset_no = ‘X’.
APPEND lt_poaccountx.
lt_poitem-trackingno = it_body-bednr.
lt_poitem-gr_basediv = ‘’.
"Insert by phmzhou on 20200528 begin
CLEAR : lt_poitemx.
lt_poitemx-po_item = it_body-ebelp.
lt_poitemx-acctasscat = 'X'.
lt_poitemx-item_cat = 'X'.
lt_poitemx-material = 'X'.
IF it_body-knttp = 'A'."如果是固定资产采购lt_poitemx-short_text = 'X'.lt_poitemx-gr_non_val = 'X'.
ENDIF.lt_poitemx-plant = 'X'.
lt_poitemx-quantity = 'X'.
lt_poitemx-po_unit = 'X'."采购订单单位
lt_poitemx-net_price = 'X'.
lt_poitemx-free_item = 'X'.
lt_poitemx-matl_group = 'X'.
lt_poitemx-price_unit = 'X'.
lt_poitemx-preq_name = 'X'.
lt_poitemx-funds_ctr = 'X'.
lt_poitemx-cmmt_item = 'X'.
lt_poitemx-preq_no = 'X'.
lt_poitemx-preq_item = 'X'.
lt_poitemx-tax_code = 'X'.
lt_poitemx-over_dlv_tol = 'X'.
lt_poitemx-unlimited_dlv ='X'.
lt_poitemx-under_dlv_tol = 'X'.
lt_poitemx-trackingno = 'X'.
lt_poitemx-vend_mat = 'X'.
lt_poitemx-preq_name = 'X'.
lt_poitemx-gr_basediv = 'X'.
APPEND lt_poitemx.
- 增加条件价格
CLEAR:lt_pocond.
lt_pocond-itm_number = it_body-ebelp.
lt_pocond-cond_type = ‘PBXX’.
lt_pocond-cond_value = ( it_body-netpr / 10 ). "价格 - if it_body-peinh is INITIAL or it_body-peinh = 0 or it_body-peinh = ‘’.
lt_pocond-cond_p_unt = ‘1’. - ENDIF.
lt_pocond-change_id = ‘U’.
APPEND lt_pocond.
CLEAR:lt_pocondx.
lt_pocondx-itm_number = it_body-ebelp.
lt_pocondx-itm_numberx = ‘X’.
lt_pocondx-cond_type = ‘X’.
lt_pocondx-cond_value = ‘X’. "价格
lt_pocondx-cond_p_unt = ‘X’.
lt_pocondx-change_id = ‘X’.
APPEND lt_pocondx.
lt_poitem-po_unit = it_body-meins."采购订单单位20180524
lt_poitem-net_price = it_body-netpr. "价格
IF lt_poitem-net_price = 0.lt_poitem-free_item = 'X'.
ENDIF.
lt_poitem-matl_group = it_body-matkl. "物料组
lt_poitem-price_unit = it_body-peinh.
lt_poitem-preq_name = it_body-afnam.
lt_poitem-funds_ctr = it_body-fistl."基金中心
lt_poitem-cmmt_item = it_body-fipos."承诺项目
lt_poitem-preq_no = it_body-banfn."采购申请
lt_poitem-preq_item = it_body-bnfpo.
lt_poitem-tax_code = it_body-mwskz. "税码
lt_poitem-over_dlv_tol = it_body-uebto.
lt_poitem-unlimited_dlv = it_body-uebtk.
lt_poitem-under_dlv_tol = it_body-untto.
lt_poitem-preq_name = it_body-afnam.
CALL FUNCTION
‘BAPI_PO_CREATE1’
EXPORTING
poheader = lt_poheader
poheaderx = lt_poheaderx
IMPORTING
exppurchaseorder = l_exppurchaseorder
TABLES
poitem = lt_poitem
poitemx = lt_poitemx
poschedule = lt_poschedule
poschedulex = lt_poschedulex
potextheader = lt_potext_header
potextitem = lt_potextitem "20191024新增 行项目文本
poaccount = lt_poaccount
poaccountx = lt_poaccountx
pocond = lt_pocond
pocondx = lt_pocondx
return = gt_return.
LOOP AT gt_return INTO ls_return WHERE type = ‘E’ OR type = ‘A’.
lv_flag = ‘X’.
lv_bapi_msg = lv_bapi_msg && ls_return-message.
ENDLOOP.
IF lv_flag = ‘X’.
CALL FUNCTION ‘BAPI_TRANSACTION_ROLLBACK’.
ls_return-type = ‘F’.
e_result = lv_bapi_msg.
CONCATENATE ‘{’ ‘“EBELN”:" "’ ‘,’ ‘“ZRES_SIGN”:“F”’ ‘,’ ‘“ZRES_MES”:’ ‘"‘e_result’"’ '}'INTO e_result.
ELSE.
IF status = ‘0’.
CALL FUNCTION ‘BAPI_TRANSACTION_ROLLBACK’.
lv_bapi_msg = ‘采购订单数据检查正确’.
CLEAR l_exppurchaseorder.
LV_BAPI_MSG = E_RESULT.
ELSE.
CALL FUNCTION ‘BAPI_TRANSACTION_COMMIT’
EXPORTING
wait = ‘X’.
CONCATENATE ‘物资采购订单:’ l_exppurchaseorder ‘创建成功’ ‘时间’ sy-datum ‘日期’ sy-uzeit INTO lv_bapi_msg.
CONCATENATE
‘{’ ‘“EBELN”:’ ‘"‘l_exppurchaseorder’"’ ‘,’ ‘“ZRES_SIGN”:“S”’ ‘,’ ‘“ZRES_MES”:’ ‘"‘lv_bapi_msg’"’ ‘}’
INTO e_result.
ENDIF.
SAP BAPI BAPI_PO_CREATE1创建采购订单相关推荐
- 根据BAPI_PO_CREATE1创建采购订单
REPORT z_create_po. DATA:BEGIN OF gt_data OCCURS 0, bsart TYPE string,"采购凭证类型 ...
- SAP MM ML81N为采购订单创建服务接收单,报错- No matching PO items selected -
SAP MM ML81N为采购订单创建服务接收单,报错- No matching PO items selected - SAP里的服务采购流程跟有形的实物采购流程并不相同.除了在采购单据上的差异以外 ...
- SAP RETAIL 基于分配表创建采购订单的时候按工厂拆分?
SAP RETAIL 基于分配表创建采购订单的时候按工厂拆分? 1, 使用事务代码WA01创建好了一个分配表13. 这个ITEM里的Z_NM_SITEGRP包含了三个门店(NM01/NM02/NM03 ...
- SAP收货时自动创建采购订单
在实际业务中,常常出现到货物料没有订单或订单未批准的现象,按照SAP的标准流程,应该拒绝收货.但在实际业务中,这些物料可能是紧急采购的急件,如不及时处理,将会影响生产计划的安排.对于这种特殊情 ...
- SAP License:MM根据收货自动创建采购订单
在实际业务中,常常出现到货物料没有订单或订单未批准的现象,按照SAP的标准流程,应该拒绝收货.但在实际业务中,这些物料可能是紧急采购的急件,如不及时处理,将会影响生产计划的安排.对于这种特殊情况,其实 ...
- SAP 必须参照采购申请创建采购订单的配置方法
有很多企业要求,采购订单必须参照采购申请来创建,这个配置的方法其实非常简单, 首先要创建一个采购员的功能权限. 后台路径:SPRO->IMG->物料管理->采购->权限管理-& ...
- SAP MM——采购业务模块流程 创建采购订单基础流程
在创建一个采购流程之前,我们首先需要创建物料主数据和供应商主数据,再由两者构成信息记录,这样在创建采购申请或者采购订单时,可以直接关联信息记录获取相关数据,例如自动带出条件记录.税率等信息.不同公司间 ...
- SAP创建采购订单流程
文章目录 1.生产订单创建 2. MRP跑出需求 3.创建采购订单. 4. 修改采购订单 4.1 事务代码: ME22N (单个采购订单,) 4.2事务代码: 事务代码: MEMASSPO (多个采购 ...
- SAP已发票校验采购订单退货 - 特殊业务
采购业务过程中,偶尔出现外购物料质量问题或采购订单价格输入错误等原因,需要在系统中做收货的冲销. 外购物料退回给供应商在不同的业务场景中,可能出现的移动类型有102.122.162甚至是601等. 1 ...
最新文章
- pexpect.spawn timeout 无限_【元气骑士最新无限钻石版】元气骑士游戏无限钻石版下载...
- python合并列表并按升序排序_在python中按升序合并两个排序的链接列表:单链接列表指针更新问题...
- idea怎么打包有依赖关系的项目_项目需求不明确,项目各模块逻辑关系不清晰,怎么排计划?...
- 在php中如何便利字符串,php字符串可以遍历嘛
- 软件设计原则(六)迪米特法则 -Law of Demeter
- 使用ASP.net 2.0 的一些新特性
- 25+ 个 jQuery 网页拖放操作的插件
- SQL Server里查看当前连接的在线用户数
- 支付宝上线“时间银行”:未来养老不用愁了
- linux上安装osg_ubuntu 环境 安装OSG
- qt checkbox 选中事件_Qt基础知识学习
- clclickhouse与bitmap的结合
- CVPR2018论文阅读-Faster MPN-COV:迭代计算矩阵平方根以快速训练全局协方差池化
- 您的Window许可证即将过期的一种解决办法
- 【Java 8 新特性】Java CompletableFuture applyToEither()
- InstallShield Premier,复杂的多服务器应用程序
- LeetCode455分发饼干
- 怎样黑进Microsoft:循序渐进指南 (转)
- 手机直播/PC直播/摄像头直播等流媒体直播系统中如何进行推流优化?
- 如何使用 Axios 中的请求拦截器 和响应拦截器
热门文章
- Python实现自定义竖线的线型
- C语言程序设计-餐厅点餐系统
- 肖秀荣:2022考研政治大纲解读及复习建议
- [SPOJ P104]HIGH - Highways(Matrix-Tree定理)
- 中国人数学能力很差?
- joystick遥杆(PS遥杆) 的使用方法
- 电视不正常Android镜像投屏,Mirror for Android TV(安卓电视投屏软件) V2.4 Mac版
- 无法与域“xxxx.com”的Active Directory域控制器(AD DC)连接 之DNS故障
- StringTokenizer是什么
- 2021年4月19日 深圳头条后台开发实习面试(一面)(含总结)