select A.pluno,A.pluname,A.qty,
CASE WHEN b.QTY IS NULL THEN 0 ELSE B.QTY   END  AS XSQTY ,
case when c.tgqty is null then 0 else c.tgqty end as TGQTY,
case when d.jhqty is null then 0 else d.jhqty end as JHQTY,
case when E.jhqty is null then 0 else d.jhqty end as TCQTY,
A.qty+case when d.jhqty is null then 0 else d.jhqty end
-CASE WHEN b.QTY IS NULL THEN 0 ELSE B.QTY  END
-case when c.tgqty is null then 0 else c.tgqty end
-case when E.jhqty is null then 0 else E.jhqty end
 AS 'SSKC'
--结存库存
from (select  pluno,pluname,sum(qty) qty from  getstock()
      group by pluno,pluname) A
--未审核POS销售
left join  (SELECT PLUNO=A.PLUNO,  QTY=SUM(A.QTY)
  FROM
  (select PLUNO=A.PLUNO, PLUNAME=A.PLUNAME, SPEC=A.SPEC, QTY=A.QTY, NET=A.NET, DISAMT=A.DISAMT,SLAMT=A.NET+A.DISAMT
   from (select A.PLUNO, A.PLUNAME, A.SPEC, D.QTY, D.NET, D.DISAMT, D.PLUID, A.OPTID, A.DPTID, A.BNDID
    from BASPLUCRTC A,
     (
      select B.PLUID, QTY=SUM(B.QTY), NET=SUM(B.AMT - B.DISAMT-ISNULL(B.DISC,0)), DISAMT=SUM(B.DISAMT+ISNULL(B.DISC,0))
      from POSSRLBF C(NOLOCK), POSSRLDT B(NOLOCK)
      where C.UID = B.UID and c.valid=0 and (C.FLAG = 1 or C.FLAG = 5) and B.ISDEL = 0
      group by B.PLUID
     ) D
    where A.PLUID = D.PLUID) A, BASPLUCRTC B, BASDEPT E
   where A.PLUID=B.PLUID AND B.DPTID=E.ID
   UNION ALL
   SELECT PLUNO=A.PLUNO, PLUNAME=MAX(A.PLUNAME), SPEC=MAX(A.SPEC), QTY=SUM(B.QTY), NET=SUM(B.SLNET), DISAMT=SUM(B.DISAMT),SLAMT=SUM(B.SLAMT)
   FROM DOC21BF C, DOC21DT B, BASPLUCRTC A, BASDEPT E
   WHERE C.DOCNO=B.DOCNO AND B.PLUID=A.PLUID AND A.DPTID=E.ID
          AND C.CTYP=1 AND ISNULL(C.RSV,0)=0 AND C.VALID=0
   GROUP BY A.PLUNO
  ) A
  GROUP BY A.PLUNO) b
on a.pluno=b.pluno
--未审核团购
left join (select c.pluno,c.pluname,sum(b.qty) tgqty
from doc21bf a,doc21dt b,basplumain c
where a.docno=b.docno and b.pluid=c.pluid and a.valid = '0'
group by c.pluno,c.pluname) c

on a.pluno=c.pluno
--未审核进货
left join (select c.pluno,c.pluname,sum(b.qty) jhqty from doc01bf a,doc01dt b,basplumain c
where a.docno=b.docno and b.pluid=c.pluid and a.valid='0' and (a.ctyp!='6')
group by  c.pluno,c.pluname) d
on a.pluno=d.pluno
--未审核调出
left join (select c.pluno,c.pluname,sum(b.qty) jhqty from doc01bf a,doc01dt b,basplumain c
where a.docno=b.docno and b.pluid=c.pluid and a.valid='0' and (a.ctyp='6')
group by  c.pluno,c.pluname) E
on a.pluno=E.pluno
where A.pluname not like '+%'

【视图】实时库存【SSKC】的更多相关文章

  1. OCEANIAERP对接-code盘点机并存储实时库存计划和方案的使用,实时库存,云清查方案

    1.     PDA手持设备按键说明 [Tab]键:使输入焦点在控件上切换. [ESC]键:弹出是否退出确认对话框,退出操作界面或程序. [OK]键:确认输入或选择,进入下一步操作. [C]键:删除键 ...

  2. SAP WM 有无保存WM Level历史库存的Table?

    SAP WM 有无保存WM Level历史库存的Table? 前日下班回家的路上,收到一个前客户内部顾问同行发过来的微信,问我在SAP系统里哪个表是用来存储WM Level历史库存的. 这个问题问住了 ...

  3. 转:oracle几组重要的常见视图-v$segstat,v$segment_statistics,v$filestat,v$rollstat

    v$segstat 本视图实时监控段级(segment-level)统计项,支持oracle9ir2及更高版本 V$SEGSTAT中的常用列 TS#:表空间标识 OBJ#:字典对象标识 DATAOBJ ...

  4. Vue 浅析与实践

    欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:曾柏羲 导语 入职接到的第一个需求是实现一个关于K歌实体售卖的ERP系统,管理系统过去做过不少,这次打算换个姿势,基于时下正热但早已不新 ...

  5. 安卓智能POS开单神器-成为零售批发商亲睐的生意帮手-pda销售扫描开单 现场结算打印凭据

    pda销售开单主要有盘点.出库.入库.销售等操作. 主要功能: 出库作业(销售开单.销售退货.销售赠品).入库作业(进货开单.进货退货.进货赠品).盘点作业(能盘盈盘亏)等操作,带蓝牙打印功能 3.仓 ...

  6. AnguarJS 第一天----Hello World

    AngularJS是什么? AngularJS是目前很火的前端JS框架之一, AngularJS的开发团队将其描述为一种构建动态Web应用的结构化框架.它是完全使用JavaScript编写的客户端技术 ...

  7. sap MD04中常用函数

    1. 需求溯源 : MD_PEGGING_NODIALOG 2. 实时库存 : MD_STOCK_REQUIREMENTS_LIST_API 这个函数中MDPSX 和 MDEZX 是通过 MDPS 的 ...

  8. 安卓微POS-PDA手持终端,支持离线在线联网销售开单;移动开单 盘点 功能

    采购单.采购退货单  销售单.销售退货单.收款.优惠.赠品等操作实现盘点作业(多台设备同时作业,相同商品,数量累计) 现场打印票据 实现采购订单.采购单.采购退货单.销售订单.销售单.销售退货单验货没 ...

  9. Eclipse_调试技巧

    一.使用Display视图实时计算变量结果(带智能提示)  windows-->show view-->display http://stackoverflow.com/questions ...

随机推荐

  1. 使用 React和webpack开发和打包发布

    建议在 React 中使用 CommonJS 模块系统,比如 browserify 或 webpack,本次使用 webpack. 第一步.安装全局包 $ npm install babel -g $ ...

  2. [有向图的强连通分量][Tarjan算法]

    https://www.byvoid.com/blog/scc-tarjan 主要思想 Tarjan算法是基于对图深度优先搜索的算法,每个强连通分量为搜索树中的一棵子树.搜索时,把当前搜索树中未处理的 ...

  3. linux下ACE使用epoll

    select和epoll的比较就不用多说了.ACE在linux下默认使用select来实现Reactor的.如何在linux下让ACE使用epoll. 1.加一个编译宏,告诉ACE不要使用默认的sel ...

  4. DevExpress中SearchLookUpEdit用法总结

    在前一个项目中用到了DevExpress,需要搜索某一个字段,来拉取出对应的相关信息,比来比去,发现SearchLookUpEdit的用户体验更好,但自己是个不折不扣的C#和DevExpress的初学 ...

  5. IOS中设置状态栏的状态

    IOS上 关于状态栏的相关设置(UIStatusBar) 知识普及 ios上状态栏 就是指的最上面的20像素高的部分 状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就是指的显示电池.时 ...

  6. zookeeper_01:zookeeper概述

    应对场景: 相对于开发在一台计算机上运行的单个程序,如何让一个应用中的多个独立的程序协同工作是一件非常困难的事情.开发这样的应用,很容易让很多开发人员陷入如何使多个程序协同工作的逻辑中,最后导致没有时 ...

  7. js 打开新页面 window.open()

    利用js打开一个新页面,而不是一个新窗口. 在网上各种东西啊,蛋疼了半天,还白疼了.. 后来看到a标签有target属性,然后又发现window.open()的第二个参数是target,然后我笑了(e ...

  8. Yii console 创建命令行应用

    大家都知道PHP的程序没有进程概念,而且生命周期极短,无法实现一些定时计划或者是计划任务,今天我们看看在YII框架中如何使用计划任务创建命令行应用. 1.在 console/controllers 文 ...

  9. MVC4 Win2008 aspnet_isapi配置问题

    win2008下配置共2步 1.先确保你的应该程序池选择了asp.net 4.0框架 2.添加脚本映射(解决URL不能重写) 3.添加通配符脚本映射(解决图片不能显示) IIS中的Web应用程序有两种 ...

  10. BootstrapTable+KnockoutJS实现增删改查解决方案

    BootstrapTable+KnockoutJS实现增删改查解决方案 前言:上篇介绍了下ko增删改查的封装,确实节省了大量的js代码.博主是一个喜欢偷懒的人,总觉得这些基础的增删改查效果能不能通过一 ...