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. [KMP求最小循环节][HDU1358][Period]

    题意 求所有循环次数大于1的前缀 的最大循环次数和前缀位置 解法 直接用KMP求最小循环节 当满足i%(i-next[i])&&next[i]!=0 前缀循环次数大于1 最小循环节是i ...

  2. 第二章实例:Android窗口菜单显示

    package test.main.cls; import com.example.popupwindow.R; import android.app.Activity; import android ...

  3. C#常用的内置委托

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  4. 求1+2+3+...+n的值,要求不能使用乘除法,for、while、if、else、switch、case、等关键字及条件判断语句(JAVA)

    采用递归和三目表达式注意红色字体一定不能写成n-- 1 package com.hunag; public class Sum { static int sum; public static int ...

  5. 手工启动oracle EM

    在WINDOWS上安完ORACLE发现没有EM没有启动,在网上找了一个手工启动的方法,试了,在WIN下同样可用. 人家的原文如下: oracle@linux:~> sqlplus/ as sys ...

  6. VS2003,安装程序检测到另一个程序…

    昨天在安装Visual Studio .Net 2003时,出现一个对话框   "安装程序检测到另一个程序要求计算机重新启动.必须重新启动计算机后才能安装visual studio.net系 ...

  7. JavaScript面向对象,闭包内存图,闭包和作用域

    var i = 10; function test(){ var j; i=20; //未定义 function test(){ j='hello'; } console.log(test()); / ...

  8. 理解ThreadLocal(二)

    首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的.各 ...

  9. 安装4.x版本的express开发框架

    错误版本(未更新前的安装方法,更新后就不是这么安装了,好多网上的教程还是这种方法,所以这里先写明了,旧版这里是可以通过的,但是新版4.x就不行了,请用分割线下边的方法)   本文演示在Linux上安装 ...

  10. PHP多种序列化/反序列化的方法 (转载)

    1. serialize和unserialize函数 这两个是序列化和反序列化PHP中数据的常用函数. <?php $a = array('a' => 'Apple' ,'b' => ...