记录一个PO增加最新采购价格和采购数量的需求
来源:互联网 发布:网站下载器 mac 编辑:程序博客网 时间:2024/05/18 04:58
目的对于同一物料下,需要获取相应供应商的最新采购价格和汇总采购数量
但有时会出现同一物料会从多个供应商去采购 ,所以会有多个供应商的最新价格
此时 考虑对于同一物料号的具有多个供应商时 将最新采购价格用" / “分开 作为一个最新价格展示
select ekko~ebeln ekpo~ebelp ekpo~matnr ekko~lifnr ekko~aedat ekpo~netpr ekpo~menge into corresponding fields of table lt_ebeln from ( ( ekpo inner join ztprice on ekpo~matnr = ztprice~matnr ) inner join ekes on ekpo~ebeln = ekes~ebeln and ekpo~ebelp = ekes~ebelp ) inner join ekko on ekpo~ebeln = ekko~ebeln where ztprice~matnr in s_matnr and ekes~erdat in s_podate and ekpo~loekz <> 'L' and ekpo~retpo <> 'X' and ( ekko~pro_status = 'G' or ekko~pro_status = 'H' or ekko~pro_status = 'I' or ekko~pro_status = 'J' or ekko~pro_status = 'K' ). sort lt_ebeln by ebeln ebelp. delete adjacent duplicates from lt_ebeln. loop at lt_ebeln into lw_ebeln. move-corresponding lw_ebeln to lw_ebeln_nm. append lw_ebeln_nm to lt_ebeln_nm. endloop.* lt_ebeln_pr = lt_ebeln.*根据日期降序取得最近日期的采购 再根据供应商排序*这样可以获取不同供应商之间的所有采购价 sort lt_ebeln_nm by matnr lifnr aedat descending.*排除同一物料号下 相同供应商的数据 以此取得 同一个物料号所对应不同供应商所对应最新日期的价格 LT_EBELN_PR2 lt_ebeln_pr2 = lt_ebeln_nm. delete adjacent duplicates from lt_ebeln_pr2 comparing matnr lifnr.*根据排除相同的供应商后的数据 再根据日期进行降序处理 得到不同供应商中找到最近最新日期的采购价格 sort lt_ebeln_pr2 by matnr aedat descending.
删除存在相同物料号的数据 根据该条数据作为主数据 去取存在多物料号对应不同供应商时的最新采购价格 放在主数据PO价里用‘/’拆分 lt_ebeln_pr3 = lt_ebeln_pr2. delete adjacent duplicates from lt_ebeln_pr3 comparing matnr. clear:lw_ebeln_pr2,lw_ebeln_pr3,lv_index2. loop at lt_ebeln_pr3 into lw_ebeln_pr3.* lv_index = sy-tabix.* CLEAR sy-tabix. loop at lt_ebeln_pr2 into lw_ebeln_pr2 where matnr = lw_ebeln_pr3-matnr. lv_index2 = lv_index2 + 1. if lv_index2 <> 1. lv_str2 = lw_ebeln_pr2-netpr. condense lv_str2 no-gaps. concatenate lv_str1 '/' lv_str2 into lv_string. condense lv_string no-gaps. lv_str1 = lv_string. elseif lv_index2 = 1.. lv_str1 = lw_ebeln_pr2-netpr. condense lv_str1 no-gaps. lv_string = lv_str1. endif. endloop. clear lv_index2. lw_ebeln_pr3-netpr = lv_string. modify lt_ebeln_pr3 from lw_ebeln_pr3. endloop. clear: lw_ebeln_pr3,lw_tab. sort lt_ebeln_pr3 by matnr. loop at gt_tab into lw_tab. read table lt_ebeln_pr3 into lw_ebeln_pr3 with key matnr = lw_tab-matnr binary search. if sy-subrc = 0. lw_tab-netpr = lw_ebeln_pr3-netpr. lw_tab-startdate = s_podate-low. lw_tab-enddate = s_podate-high. modify gt_tab from lw_tab. endif. endloop. clear: lw_ebeln_pr2,lw_tab,lv_menge. loop at gt_tab into lw_tab. loop at lt_ebeln_nm into lw_ebeln_nm where matnr = lw_tab-matnr. lv_menge = lv_menge + lw_ebeln_nm-menge. endloop. lw_tab-menge = lv_menge. clear lv_menge. modify gt_tab from lw_tab. endloop.
阅读全文
0 0
- 记录一个PO增加最新采购价格和采购数量的需求
- PO采购-采购申请单
- PO采购-采购订单
- 采购申请的评估价格的来源
- PO采购-表
- PO 采购订单类型
- EBS --PO采购订单
- 更改已经收货的采购订单价格
- 根据采购信息记录取得PO的含税单价(更改)
- 采购订单中的阶梯价格出问题,原因是采购信息的阶梯价格定义错误
- 采购订单价格只能从信息记录中带出
- BAPI_PO_CREATE1 批量创建采购订单(可一个PO采购多个材料)
- 采购需求计划报表
- ORACLE PO采购订单界面
- 医药采购之采购单模块需求
- 采购金额和采购成本
- SAP 采购订单PO基于采购金额的审批策略配置
- 采购订单价格绑定价目表
- GITLAB CI-RUNNER的分类
- CSS性能优化
- 其实我也可以更努力 我完全也可以更好
- 如何访问谷歌学术
- MS Project 组件Aspose.Tasks V17.11发布 | 支持免费下载
- 记录一个PO增加最新采购价格和采购数量的需求
- unity LOD
- RSA公钥和私钥的生成(PHP\Android\iOS),数据传输的安全性
- Android单元测试的利器:Juint(三):Juint的详细用法(上)
- AbstractQueuedSynchronizer(二)
- ABP官方文档(二十八)【审计日志】
- 通过获取鼠标位置实现自动寻路
- HTML5的特殊标签属性 积累
- JAVA常用工具类