根据采购订单IDN进行MIGO过账的BAPI逻辑
客户需求:根据ALV上的采购订单IDN进行过账,如果有IDN,就根据IDN过账,如果没有,就根据采购订单过账。
BAPI ITEM数据填充如下:
DATA:ls_goodsmvt_item TYPE bapi2017_gm_item_create,l_line TYPE char6,l_str TYPE string,lt_return LIKE bapiret2 OCCURS 0,lv_ebeln TYPE ekpo-ebeln,lv_ebelp TYPE ekpo-ebelp,lv_smbln TYPE matdoc-smbln,lv_smblp TYPE matdoc-smblp,lv_sgtxt TYPE matdoc-sgtxt,ls_lips TYPE lips.l_line = pv_tabix.
* 抬头IF p_budat IS NOT INITIAL.ps_goodsmvt_header-pstng_date = p_budat.ELSE.ps_goodsmvt_header-pstng_date = sy-datum.ENDIF.ps_goodsmvt_header-doc_date = sy-datum.
* 明细
* ls_goodsmvt_item-line_id = 1.ls_goodsmvt_item-line_id = l_line.ls_goodsmvt_item-plant = ps_alv-werks."委托工厂ls_goodsmvt_item-material = ps_alv-matnr."物料ls_goodsmvt_item-entry_qnt = ps_alv-menge."数量ls_goodsmvt_item-batch = ps_alv-charg."批次ls_goodsmvt_item-entry_uom = ps_alv-meins.ls_goodsmvt_item-entry_uom_iso = ps_alv-meins.CONCATENATE 'ZPP104A:' ps_alv-mblnr '/' ps_alv-zeileINTO ls_goodsmvt_item-item_text.CASE ps_alv-zdoctyp.WHEN TEXT-006.
* 事务代码ls_goodsmvt_item-move_type = '101'."移动类型
* 委托方采购订单IDN过账IF ps_alv-vbeln_idn IS NOT INITIAL.ps_goodsmvt_code-gm_code = '01'. "MIGOls_goodsmvt_item-deliv_numb_to_search = ps_alv-vbeln_idn.ls_goodsmvt_item-deliv_item_to_search = ps_alv-vbelp_idn.
* ls_goodsmvt_item-po_number = ps_alv-ebeln.
* ls_goodsmvt_item-po_item = ps_alv-ebelp.ls_goodsmvt_item-prod_date = sy-datum."生产日期ls_goodsmvt_item-mvt_ind = 'B'. "移动标识SELECT SINGLE *FROM lipsINTO ls_lipsWHERE vbeln = ps_alv-vbeln_idnAND posnr = ps_alv-vbelp_idn.IF ls_lips-lgort IS NOT INITIAL.ls_goodsmvt_item-stge_loc = ls_lips-lgort.ENDIF.IF ls_lips-charg IS NOT INITIAL.ls_goodsmvt_item-batch = ls_lips-charg.ENDIF.
* 委托方采购订单过账ELSE.ps_goodsmvt_code-gm_code = '01'. "MIGOSELECT SINGLE*FROM ekpoWHERE ebeln = @ps_alv-ebelnAND ebelp = @ps_alv-ebelpINTO @DATA(ls_ekpo).ls_goodsmvt_item-stge_loc = ls_ekpo-lgort."地点ls_goodsmvt_item-po_number = ps_alv-ebeln.ls_goodsmvt_item-po_item = ps_alv-ebelp.ls_goodsmvt_item-prod_date = sy-datum."生产日期ls_goodsmvt_item-mvt_ind = 'B'. "移动标识ENDIF.WHEN TEXT-007.
* 事务代码ps_goodsmvt_code-gm_code = '03'. "MIGOls_goodsmvt_item-xstob = 'X'.
* ls_goodsmvt_item-move_type = ps_alv-bwart."移动类型
* ls_goodsmvt_item-move_reas = 0001."移动原因SELECT SINGLE smbln smblpFROM matdocINTO ( lv_smbln, lv_smblp )WHERE mblnr = ps_alv-mblnrAND zeile = ps_alv-zeile.CONCATENATE 'ZPP104A:' lv_smbln '/' lv_smblpINTO lv_sgtxt.SELECT SINGLE mblnr zeileFROM matdocINTO ( ls_goodsmvt_item-ref_doc,ls_goodsmvt_item-ref_doc_it )WHERE sgtxt = lv_sgtxt.ls_goodsmvt_item-ref_doc_yr = '2019'.ENDCASE.APPEND ls_goodsmvt_item TO pt_goodsmvt_item.CLEAR ls_goodsmvt_item.
根据采购订单IDN进行MIGO过账的BAPI逻辑相关推荐
- SAP WM 针对采购订单收货时候不能自动获取物料主数据里的Special Movement Indicator?
SAP WM 针对采购订单收货时候不能自动获取物料主数据里的Special Movement Indicator? SAP WM模块里有一个标记叫做Special Movement Indicator ...
- SAP已发票校验采购订单退货 - 特殊业务
采购业务过程中,偶尔出现外购物料质量问题或采购订单价格输入错误等原因,需要在系统中做收货的冲销. 外购物料退回给供应商在不同的业务场景中,可能出现的移动类型有102.122.162甚至是601等. 1 ...
- SAP MM 有了采购订单历史的PO行项目里的采购附加费不允许再改了?
SAP MM 有了采购订单历史的PO行项目里的采购附加费不允许再改了? 正确答案是: 不允许,这是SAP标准逻辑. 那么问题来了!今日收到业务人员报说采购订单4300013979,完成了收货和IV, ...
- SAP S4HANA如何取到采购订单ITEM里的'条件'选项卡里的条件类型值?
SAP S4HANA如何取到采购订单ITEM里的'条件'选项卡里的条件类型值? 最近在准备一个采购订单行项目的增强的function spec.其中有一段逻辑是取到采购订单行项目条件里某个指定的条件类 ...
- SAP QM 采购订单收货时没有Vendor CoA就不让收货过账的实现
SAP QM 采购订单收货时没有Vendor CoA就不让收货过账的实现 物料号757, 指派了QM Control Key 0005, Certificate Type Z01,没有激活检验类型. ...
- SAP中MIGO收货时分清采购订单和订单收货的区别
在应用中偶然会遇到用户反映在做收货处理时,输入采购订单号后,无法代出采购订单中对应的收货项目:检查发现用户在操作MIGO时的选择了不正确造成的(如下图).这里的R08在MIGO界面中没有非常明确的指向 ...
- BAPI_GOODSMVT_CREATE MIGO采购订单IQC质检退回到供应商 124 实例
移动标识:MVT_IND 货物移动事务代码:GM_CODE 01 MB01 按采购订单的货物移动 02 MB31 按生产订单的货物移动 03 MB1A 货物提取(工单退料) 04 MB1B 转移过帐 ...
- SAP MM 移动平均价的商品发票价格和采购订单价格差异的处理
SAP MM 移动平均价的商品发票价格和采购订单价格差异的处理 SAP系统中,如果某个商品采用移动平均价,则一般而言,采购订单和发票上的价格差异,不会计入价差科目里,当然前提是库存数量大于发票上的数量 ...
- SAP RETAIL 我的第一个寄售类型的跨公司采购订单
SAP RETAIL 我的第一个寄售类型的跨公司采购订单 笔者所关注的一个零售行业项目里,存在总公司进口商品后,转给国内的销售公司,然后再由销售公司的门店销售给客户的场景.这是典型的跨公司采购,或者说 ...
最新文章
- 剑指offer 28:字符串的排列
- Atitit.木马病毒自动启动-------------win7计划任务的管理
- 【Luogu4512】多项式除法(FFT)
- js 区分 safari chrome iso
- 使用LWA和Lync模拟外部测试无边缘单前端环境
- 【企业管理】人力资源是CEO的第一工程
- 反思赚钱:一定要动脑子 一定找发财点
- vim 常用快捷键总结
- latex ht在下一页_告诉我们在下一本出色的领导力著作中要包括的内容
- 和当前时间比较_货币的时间价值
- rx java定时循环_Rxjava定时器异常循环
- word20161205
- unity 贴图设置
- 刷机工具-fastboot
- linux 网卡队列深度,linux 磁盘队列深度nr_requests 和 queue_depth
- pycharm更改运行环境
- 分析PS中的3D功能
- 初学SDRAM笔记2--SDRAM的信号线及结构图
- 1.2样本空间和随机事件
- python基础实例教程 微课版-Python爬虫开发实战教程(微课版)
热门文章
- xampp、lamp、lampp
- zabbix接入百度告警详细攻略
- MobaXterm使sftp目录与terminal目录同步
- Java的try/catch/finally/final
- 学校为什么要单位接收函_单位接收函必须要开吗
- 第三代半导体将写入“十四五规划”,这些公司有涉及
- JSP六个动作详解...
- 新浪微博推出大数据营销产品
- 电力行业海量数据处理如何做?看中节能、上海电气案例分享
- java condition原理_java中Condition接口原理及实现