Goods movement with serial numbers
Hi,
1. Is there any report or table where I can see goods movement of material with their serial numbers?
2. Also in MMBE i can see 'On order stock'. I know this is PO open PO quantity.
Now this open PO qty will not be there against any storage location. I got some stock on this status in some storage location.
How I can move to 'unrestricted stock' status?
Please advice.
Hi
Check these tables,
SER00 General Header Table for Serial Number Management
SER01 Document Header for Serial Numbers for Delivery
SER02 Document Header for Serial Nos for Maint.Contract (SD Order)
SER03 Document Header for Serial Numbers for Goods Movements
SER04 Document Header for Serial Numbers for Inspection Lot
SER05 Document Header for Serial Numbers for PP Order
SER06 Document Header for Serial Numbers for Handling Unit-Content
SER07 Document Header for Serial Numbers in Physical Inventory
And in order to move On Order stock to Unrestricted you need to close those POs by doing GR.
Hope it helps
Rgds
ramesh
Similar Messages
-
Goods Receipt with serial numbers
Hello everyone
I'm having problems when i try to add a goods receipt with serial numbers
Code:
OReceipt = oCompany.GetBusinessObject(BoObjectTypes.oInventoryGenEntry)
OReceipt.Series = 18
OReceipt.DocDate = Date.Now
OReceipt.TaxDate = Date.Now
OReceipt.Lines.ItemCode = "MP.PP.241"
OReceipt.Lines.Quantity = 1
OReceipt.Lines.SerialNumbers.InternalSerialNumber = "SN-01"
OReceipt.Lines.SerialNumbers.ManufacturerSerialNumber = "SN-01"
OReceipt.Lines.AccountCode = "_SYS00000000109"
OReceipt.Lines.WarehouseCode = "MPfabrik"
OReceipt.Comments = ".NET"
res = OReceipt.Add()
Any help will be greatly appreciated!Hi Nestor
All forums on SCN contain a description of what the forums is for. This forum's Overview page:
Looking at the overview, I suspect you want to post your query elsewhere? Perhaps one of Microsoft's forums?
- Ludek
Senior Support Engineer AGS Product Support, Global Support Center Canada
Follow us on Twitter -
DTW General Entry (Goods Receipt) with Serial numbers
Hi all,
I want to import 540 items with serial numbers using the General Entry templates. Some items have as many as 200 serial numbers. Total number of serial numbers for 540 items are about 24,000.
In the Serial Numbers template, will I have to cover 24,000 rows? Is it possible to auto-create the serial numbers with DTW?
In which field should I put the serial numbers - Internal or System?
Thanks,
Ajay AudichHi Ajay Audich,
You may check this thread first:
Re: Upload inventory transfer trnsaction with DTW
Thanks,
Gordon -
Material movements with serial no.- Report
Experts,
Is there a standard SAP report that lists all movements with serial numbers associated with the movements? Similar to MB51 but with serial no.
I understand an ABAP report could be written but would like to avoid it. Any help will be rewarded with points.
Thanks
UVGo to SA38 and Execute Program "RIOBJK00"
Also you can write an ABAP Query using Table SER03 and MSEG instead of going for ABAP Report. -
Handling unit with serial numbers in return delivery
There is a handling unit (HU),whose system status is PSTD(goods issue posted). The delivery is posted. The billing document are issued. Handling unit was packed with materials with equipments and serial numbers.
Now I am creating another sales document(I want to return the good) and return delivery. No handling unit is attached to return delivery. (Why not? Returning original sales document is created with reference to original sales document)
Now I attach the serial numbers to the return delivery. (the same serial numbers which are included(packed) in the above mentioned HU). The return delivery is successfully posted. The status of equipment/serial numbers is on stock.
The problem is that this serial number with equipment is still packed in the original HU.
How can unpack the equipment from HU? I think the problem is the status of HU which is PSTD(goods issue posted).
Or alternative: can I move the HU unit from original delivery and attach it to return delivery?
The changing of the status of HU is not posssible because the original delivery is posted and I do not want to change this original documents anymore too.I am afraid you are right
- The return delivery was created without HU. ( i mean HU which was originally sold in original delivery. )
Do you think I should create HU for return delivery with the same/different ID? How can I transfer equipment from original delivery HU to return delivery and HU ?
The problem seem to be that the original delivery and HU is locked (sytem status= posted )after posting. If I cancel posting of return delivery then I can attach a new HU. But the equipment is still part of the original HU.
Can I move equipment/serial numbers from original to returned HU? Is that possible at all?
I am talking about phisical same HU, so I guess there should be not 2 different HUs in the SAP system created.
I am looking for the scenario to sell equipment in one HU and return it in the same HU with return delivery.
thank you for your effort and responses -
PO Goods Receipt with Serial / Batch number with DI API
I am creating PO Goods Receipt with DI API. This works fine. But when i have items with serial numbers and batch numbers in the same PO, then i am getting either of the following errors:
1. [OITM]Item has no serial number management
2. [OIBT] Invalid Item Code.
I debugged the code and the values i set seems to be correct. I am using VB.Net and SAP 2004 with Patch 23.
Thanks
AnandAnand,
When you are working with a Serialized item in the first scenario, have you tested working with the item in the Business One application itself? Have you tried to have the system assign a serial number for the item when issuing a Goods Receipt? Do you get the same issue through the Business One interface. With respect to working with Batches, have you setup the Batches for inventory items through the Business One interface yet? If you have not setup Batches, this would be why you would not have any data in the OIBT table.
HTH,
Eddy -
Physical Inventory with serial numbers
Hi friends,
we are trying to post physical inventory with materials having serial numbers.
However during post the system gives 2 errors.
1)
Stock data of serial number 2 not suitable for movement
Message no. IO231
"The current stock information for the serial number 2 contradicts the stock information of the movement to be posted... "
2)
Serial number 2 cannot be used here
Message no. IO201
"You have entered a serial number already present in the system..."
Let me try to explain the situation.
For example we have two storage locations.
A material, say SERIAL, have some stocks in one storage location, say 0001, with serial numbers.
Assume that in the system serial number 2 of the material SERIAL is in the storage location 0001.
However, when physically counted, this serial number 2 shows up in the storage location 0002.
Therefore we would like to enter count for the storage location 0002 to post the serial number 2.
Doing so, we get the errors above.
Is there any solution to that problem? Thanks in advance.
Best regards,
YusufThank you Lakshman,
yes the stock transfer between storage locations or removal first from storage location 0001 with pyhsical inverntory can be done in the system. However I wonder is there any better way to do this, without making any abap development.
I would like to make a count for the storage location 0002 as in our case (or this can be a customer consigment either in another case). Here I expect the serial number 2 will be removed from storage location 0001 and will be placed in sorage location 0002 at the same time. Do you know any way of doing this?
Best regards,
Yusuf -
Creation of sub item with serial numbers in outbound delivery
Hi All,
We need to create a sub item for an Outbound Delivery main item in change mode with serial numbers for sub item.
Process flow:
1. Sales order item created with main item
2. Outbound Delivery created with main item
3. Outbound Delivery interfaced to external logistics sytem
4. External logistics system pick the main item and a sub item (packaging) from warehosue and ship to customer
5. External logistics sytems send delivery pick confirmation interface with main item details and serial numbers for sub item
Now we have to create a sub item with serial numbers in the delivery referencing the same main item.
NB: Delivey can have multiple similar main items but there is only material number in SAP for sub item. Hence the requirement to identify relevant sub item serial numbers to each delivery main item.
Can you kindly tell me in what possible ways we can create sub item with serial numbers for a deliveyr main item in change mode.
Thanks in advance
Best Regards
VeerHi,
Does anybody have an answer?
Thanks in advance. -
Restrict Equipment Master (with serial numbers) creation
Hello All,
I am faced with an issue where the client will be using Serial Numbers for 2 sets of materials. I have assigned a Serial Number profile to these materials in Material Master.
I am able to create equipment master data for these materials with serial numbers without any issue.
However, I am also able to create equipment master data (with serial numbers) for materials to which I have not assigned a Serial Number profile.
Is there a way to restrict the creation of equipment master data (with serial numbers) to only those material that have a Serial Number profile assigned in material master data...?
Thanks
JensiThanks for the reply Amuthan.
Unlike what you wrote in the reply, the system does allow me to create/save a equipment number for those serial numbers that I assign to materials that do not have a serial number profile.
Is there any validation, any check or something of that sort that I can activate so that the system will prevent assignment of serial numbers (and in turn creation of equipment master data) for those materials which do not have a serial number profile assigned in the material master data?
Thanks
Jensi -
DIAPI posting Delivery Document with Serial Numbers SP1
Release 2005A, SP1 PL4 seems to have broken code that worked with SP00. When trying to create a Delivery Document that contains Serial Numbers, an error is generated: Error -1, General Error. When adding a delievery document which does not contain serial numbers, the document adds successfully.
The following code loops through a recordset to create documents, add expenses and add serial numbers when appropriate. Is this a new 'feature' or can we make a coding change to eliminate this error?
Sample code:
Try
oSalesOrder = oCompany(piCompany).GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders)
RecSet = oCompany(piCompany).GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
RecSet2 = oCompany(piCompany).GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
RecSet3 = oCompany(piCompany).GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
RecSet4 = oCompany(piCompany).GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
RecSet5 = oCompany(piCompany).GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
RecSet6 = oCompany(piCompany).GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
'-- Select Documents to process and loop through recordset
lsSQL = "SELECT DocEntry FROM DeliveryTable WHERE ProcessResult IS NULL Group by DocEntry"
RecSet.DoQuery(lsSQL)
While Not RecSet.EoF
oSalesOrder.GetByKey(RecSet.Fields.Item(0).Value)
If bDocuments(piCompany).DelDraft = False Then
oDelivery = oCompany(piCompany).GetBusinessObject(SAPbobsCOM.BoObjectTypes.oDeliveryNotes)
Else
oDelivery = oCompany(piCompany).GetBusinessObject(SAPbobsCOM.BoObjectTypes.oDrafts)
End If
oDelivery.CardCode = oSalesOrder.CardCode
oDelivery.Comments = "Based On Sales Order " & oSalesOrder.DocNum & "."
oDelivery.DocDate = Today
oDelivery.ContactPersonCode = oSalesOrder.ContactPersonCode
oDelivery.DocCurrency = oSalesOrder.DocCurrency
oDelivery.DocDueDate = Today
If bDocuments(piCompany).DelDraft = True Then
oDelivery.DocObjectCode = SAPbobsCOM.BoObjectTypes.oDeliveryNotes
End If
'-- Handle Expenses for Document
Dim ExpenseLoop As Integer
Dim ExpenseCount As Integer = 0
For ExpenseLoop = oSalesOrder.Expenses.Count - 1 To 0 Step -1
ExpenseCount += 1
'-- Create new Expense if needed
If ExpenseCount > oDelivery.Expenses.Count Then
oDelivery.Expenses.Add()
End If
oSalesOrder.Expenses.SetCurrentLine(ExpenseLoop)
'-- Copy all non-readonly properties
If oSalesOrder.Expenses.LineTotal > 0 Then
oDelivery.Expenses.BaseDocEntry = oSalesOrder.Expenses.BaseDocEntry
oDelivery.Expenses.BaseDocLine = oSalesOrder.Expenses.BaseDocLine
oDelivery.Expenses.BaseDocType = oSalesOrder.Expenses.BaseDocType
oDelivery.Expenses.DeductibleTaxSum = oSalesOrder.Expenses.DeductibleTaxSum
oDelivery.Expenses.DistributionMethod = oSalesOrder.Expenses.DistributionMethod
oDelivery.Expenses.ExpenseCode = oSalesOrder.Expenses.ExpenseCode
oDelivery.Expenses.LineTotal = oSalesOrder.Expenses.LineTotal
oDelivery.Expenses.Remarks = oSalesOrder.Expenses.Remarks
oDelivery.Expenses.TaxCode = oSalesOrder.Expenses.TaxCode
oDelivery.Expenses.VatGroup = oSalesOrder.Expenses.VatGroup
End If
Next ExpenseLoop
Dim i As Integer = 0
Dim liMinRef As Integer = -1
For x = 0 To oSalesOrder.Lines.Count - 1
lsSQL = "SELECT ISNULL(MIN(CAST(LineRef as int)),999999) as MinLineRef FROM DeliveryTable WHERE DocEntry = " & RecSet.Fields.Item(0).Value & " AND CAST(LineRef as int) > " & liMinRef
RecSet5.DoQuery(lsSQL)
If Not RecSet5.EoF Then
'-- It's possible that the DeliveryTable has less records then the RDR1 table - if that's the case
'-- we may be at the end, so set the liMinRef field to something out of range
liMinRef = RecSet5.Fields.Item(0).Value
End If
'-- get line items for each document
lsSQL = "Select * from DeliveryTable WHERE DocEntry = " & RecSet.Fields.Item(0).Value & " AND LineRef = " & x & " AND ProcessResult IS Null"
RecSet2.DoQuery(lsSQL)
RecSet2.MoveFirst()
While Not RecSet2.EoF
'-- We need to walk through the SO to find the item that we are receiving based on the LineNum
Dim liCurrentLine As Integer = x
Dim lbFound As Boolean = False
While liCurrentLine <= (oSalesOrder.Lines.Count - 1)
'-- We need to get the PO Line number (x is NOT the LineRef)
oSalesOrder.Lines.SetCurrentLine(liCurrentLine)
If oSalesOrder.Lines.LineNum = liMinRef Then
lbFound = True
Exit While
End If
liCurrentLine += 1
End While
If lbFound Then
i += 1
If i > oDelivery.Lines.Count Then
oDelivery.Lines.Add()
End If
oDelivery.Lines.BaseEntry = oSalesOrder.DocEntry
oDelivery.Lines.Quantity = RecSet2.Fields.Item(6).Value
oDelivery.Lines.BaseType = SAPbobsCOM.BoObjectTypes.oOrders
oDelivery.Lines.LineTotal = oSalesOrder.Lines.LineTotal * (oDelivery.Lines.Quantity / oSalesOrder.Lines.Quantity)
oDelivery.Lines.UserFields.Fields.Item("U_WhseLoc").Value = RecSet2.Fields.Item(8).Value
oDelivery.Lines.AccountCode = oSalesOrder.Lines.AccountCode
oDelivery.Lines.Address = oSalesOrder.Lines.Address
oDelivery.Lines.Currency = oSalesOrder.Lines.Currency
oDelivery.Lines.ItemCode = oSalesOrder.Lines.ItemCode
oDelivery.Lines.BaseLine = liMinRef
oDelivery.Lines.ItemDescription = oSalesOrder.Lines.ItemDescription
oDelivery.Lines.WarehouseCode = oSalesOrder.Lines.WarehouseCode
lsUserID = RecSet2.Fields.Item("UserID").Value
'-- manage serial numbers
j = -1
lsSQL = "Select * from DeliverySerial WHERE DocEntry = " & oDelivery.Lines.BaseEntry & " AND LineRef = " & liMinRef
lsSQL += " AND WIPLineRef = " & RecSet2.Fields.Item("WIPLineRef").Value
RecSet3.DoQuery(lsSQL)
While Not RecSet3.EoF
'-- get the next SystemSerialNumber for the Inventory Item
lsSQL = "EXEC " & gsDB(piCompany) & "xspGetSysSerial " & sparm(oDelivery.Lines.ItemCode) & ", " & sparm(RecSet3.Fields.Item("LotNo").Value)
lsSQL += ", " & sparm(RecSet3.Fields.Item("ManSerNo").Value) & ", " & sparm(RecSet3.Fields.Item("IntSerNo").Value)
lsSQL += ", " & RecSet3.Fields.Item("QTY").Value & ", " & sparm(oDelivery.Lines.WarehouseCode) & ", " & sparm(RecSet2.Fields.Item(8).Value)
RecSet4.DoQuery(lsSQL)
j += 1
If j + 1 > oDelivery.Lines.SerialNumbers.Count Then
oDelivery.Lines.SerialNumbers.Add()
End If
oDelivery.Lines.SerialNumbers.SetCurrentLine(j)
oDelivery.Lines.SerialNumbers.BatchID = RecSet3.Fields.Item("LotNo").Value
oDelivery.Lines.SerialNumbers.ManufacturerSerialNumber = RecSet3.Fields.Item("ManSerNo").Value
oDelivery.Lines.SerialNumbers.InternalSerialNumber = RecSet3.Fields.Item("IntSerNo").Value
oDelivery.Lines.SerialNumbers.SystemSerialNumber = RecSet4.Fields.Item(0).Value
oDelivery.Lines.SerialNumbers.BaseLineNumber = oDelivery.Lines.BaseLine
RecSet3.MoveNext()
End While
'-- 'end manage serial numbers
End If
RecSet2.MoveNext()
End While
Next x
'-- now add object to SAP
If 0 <> oDelivery.Add() Then
Dim liError As Long
Dim lsError As String
Call oCompany(piCompany).GetLastError(liError, lsError)
'-- write error code to table - Delivery document creation was unsuccessful
lsSQL = "Update DeliveryTable SET ProcessResult = " & liError & ", ProcessDate = GetDate() WHERE DocEntry = " & oSalesOrder.DocEntry & " AND ProcessResult Is Null"
RecSet2.DoQuery(lsSQL)
lsuWriteEvent("AR Delivery", bDocuments(piCompany).DelDraft, oSalesOrder.DocEntry, liError, lsError, piCompany)
Else
lsuWriteEvent("AR Delivery", bDocuments(piCompany).DelDraft, oSalesOrder.DocEntry, 0, "Success", piCompany)
End If
RecSet.MoveNext()
End While
Catch
LogErrorMessage(Err.Description)
Finally
If Not RecSet Is Nothing Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(RecSet)
End If
If Not RecSet2 Is Nothing Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(RecSet2)
End If
If Not RecSet3 Is Nothing Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(RecSet3)
End If
If Not RecSet4 Is Nothing Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(RecSet4)
End If
If Not RecSet5 Is Nothing Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(RecSet5)
End If
If Not RecSet6 Is Nothing Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(RecSet6)
End If
If Not oSalesOrder Is Nothing Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(oSalesOrder)
End If
If Not oDelivery Is Nothing Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(oDelivery)
End If
GC.WaitForPendingFinalizers()
End TryWe have narrowed down the issue to this:
If you are just adding a delivery document with serial numbers, the DIAPI works OK. If you are adding a delivery document which is based upon a sales order and add the 3 lines that reference it:
oDelivery.Lines.BaseEntry = oSalesOrder.DocEntry
oDelivery.Lines.BaseType = SAPbobsCOM.BoObjectTypes.oOrders
oDelivery.Lines.BaseLine = liMinRef
then you receive a error of -1, General error. This is functionality that did work in 2004 and 2005 SP00. I believe this is a bug. -
Group By reports with Serial Numbers
hi,
i am creating group by reports with serial numbers. i use the
following code to generate the serial numbers using a formula
column:
function SNOFormula return Number is
SNO NUMBER(5);
begin
SNO := :SNO + 1;
RETURN(SNO);
end;
I am able to acheive the required output with the above code in
the case of Normal Tablular reports. But in the case of Group by
reports, the output goes as follows:
for example:
sno,groupno,empno
1,g1,e1
e2
e3
4,g2,e5
e6
Any way out?. pls help.
Regards,
Prabhu Screate a summary column in the group . set the function to
count. set the source to the group name. set the reset at value
as report. create a field in the lay our editor left of the
group field. set the source as the summary column. you will see
the numbering.
Ex :
Query : Select * From Emp;
Group Field : Deptno
Summary Field : CS_Count
Properties of Cs_Count - Function => Count
Source => DEPTNO
Reset At => Report
Now create a field in the lay out editor left side of deptno
field lets say "SEQ", set the source to Cs_Count.
It will disply the serial number of the groups. -
Goods Movements with Handling Units
Hi:
Any one knows how can I get make Goods Movement with Handling Units inter plants?
I am trying by VLMOVE but this Tcode just has process for into a Plant not for Transfer posting plant to plant., so, I need give out for materials in Handling Units and Receive the sames in the Receptor Plant
Is there a special configuration for get this?
Thanks in advance.
Omar PereaHi Vishal:
You're right... I was missing the 301, 303 y 305, but with this operations I can try to resolve my Isuue.
Thanks
OP -
BAPI for Goods Movement with Movement Type 701
Hi,
I want to post a goods movement with movement type 701.
Is there any BAPI I can take?
I already tried the movement with 'BAPI_GOODSMVT_CREATE' but i got an error message that the movement ist not possible.
Can anyone help me?
Regards, Alexwhy dont you tell what message was issued?
-
Hi all, I DTW'd some stock in through the GRPO template. I then AP'd the invoice. Due to some administrative issues I had to credit the Invoice thus reversing the stock. So the Serial Numbers are all reflecting as unavailable.
I need to re-import the stock with the same serial numbers and different costs. The DTW is giving me an error "(Serial Number) for item (Item Code) in line 1 already exists (in unique field)/Application defined or object defined error65171"
I realise that these serial numbers are already in the system, but if I manually capture these on the GRPO the the application asks me to confirm this already exists. There are almost 2000 items to capture. Please could someone advise if there is possibly a field on the DTW template (purchase delivery) I could populate that overides this error"Are you using the oInventoryGenEntry templates? The serial numbers template I have contains 3 serial numbers - Internal, Manufacturer & System. The system serial number is the unique key and is system generated.
Try the following to get a list of on hand stock with serial numbers:
{SELECT T0.ItemCode, T0.ItemName,
T1.WhsCode, CASE WHEN ISNULL(T2.SysSerial,-1) = -1 THEN T1.OnHand ELSE 1 END [Quantity], T0.AvgPrice,
T2.SysSerial, T2.IntrSerial
FROM OITM T0
INNER JOIN OITW T1 ON T1.ItemCode = T0.ItemCode
LEFT OUTER JOIN OSRI T2 ON T2.ItemCode = T1.ItemCode AND T2.WhsCode = T1.WhsCode AND T2.[Status] = 0
WHERE T1.OnHand <> 0 and t0.ManSerNum = 'Y'
ORDER BY T0.ItemCode, T1.WhsCode, T2.SysSerial}
You may need to tweak it a bit for your eviironment. -
How to get item stock from bin location with serial numbers?
Dear experts
I want to write query for getting item stock from bin location with serial numbers..
Thank you
Santosh Dhere.Hi Santosh,
Try this:
SELECT T0.[ItemCode], T5.[DistNumber], T5.[MnfSerial], T5.[LotNumber], T3.[OnHandQty]
, T1.[BinCode], T1.[WhsCode]
FROM [dbo].[OIBQ] T0
INNER JOIN [dbo].[OBIN] T1 ON T0.[BinAbs] = T1.[AbsEntry] AND T0.[OnHandQty] <> 0
LEFT OUTER JOIN [dbo].[OBBQ] T2 ON T0.[BinAbs] = T2.[BinAbs] AND T0.[ItemCode] = T2.[ItemCode] AND T2.[OnHandQty] <> 0
LEFT OUTER JOIN [dbo].[OSBQ] T3 ON T0.[BinAbs] = T3.[BinAbs] AND T0.[ItemCode] = T3.[ItemCode] AND T3.[OnHandQty] <> 0
LEFT OUTER JOIN [dbo].[OBTN] T4 ON T2.[SnBMDAbs] = T4.[AbsEntry] AND T2.[ItemCode] = T4.[ItemCode]
LEFT OUTER JOIN [dbo].[OSRN] T5 ON T3.[SnBMDAbs] = T5.[AbsEntry] AND T3.[ItemCode] = T5.[ItemCode]
WHERE T1.[AbsEntry] >= (0) AND (T3.[AbsEntry] IS NOT NULL)
UNION ALL
SELECT T0.[ItemCode], T5.[DistNumber], T5.[MnfSerial], T5.[LotNumber], T0.[OnHandQty]
, T1.[BinCode], T1.[WhsCode]
FROM [dbo].[OIBQ] T0
INNER JOIN [dbo].[OBIN] T1 ON T0.[BinAbs] = T1.[AbsEntry] AND T0.[OnHandQty] <> 0
LEFT OUTER JOIN [dbo].[OBBQ] T2 ON T0.[BinAbs] = T2.[BinAbs] AND T0.[ItemCode] = T2.[ItemCode] AND T2.[OnHandQty] <> 0
LEFT OUTER JOIN [dbo].[OSBQ] T3 ON T0.[BinAbs] = T3.[BinAbs] AND T0.[ItemCode] = T3.[ItemCode] AND T3.[OnHandQty] <> 0
LEFT OUTER JOIN [dbo].[OBTN] T4 ON T2.[SnBMDAbs] = T4.[AbsEntry] AND T2.[ItemCode] = T4.[ItemCode]
LEFT OUTER JOIN [dbo].[OSRN] T5 ON T3.[SnBMDAbs] = T5.[AbsEntry] AND T3.[ItemCode] = T5.[ItemCode]
WHERE T1.[AbsEntry] >= (0) AND (T2.[AbsEntry] IS NULL AND T3.[AbsEntry] IS NULL)
UNION ALL
SELECT T0.[ItemCode], T0.[SRNDistNumber], T0.[SRNMnfSerial], T0.[SRNLotNumber], T0.[IBQOnhandQty] - T0.[OnHandQty]
, T0.[BinCode], T0.[WhsCode]
FROM (
SELECT T0.[BinAbs], T0.[ItemCode], MAX(T0.[OnHandQty]) AS 'IBQOnhandQty', SUM(T2.[OnHandQty]) AS 'OnHandQty', N'' AS 'BTNDistNumber', N'' AS 'BTNMnfSerial'
, N'' AS 'BTNLotNumber', N'' AS 'SRNDistNumber', N'' AS 'SRNMnfSerial', N'' AS 'SRNLotNumber', MIN(T5.[AbsEntry]) AS 'AbsEntry', MIN(T1.[BinCode]) AS 'BinCode'
, 10000044 AS 'SnbType', MIN(T5.[AbsEntry]) AS 'BTNAbsEntry', MIN(T5.[AbsEntry]) AS 'SRNAbsEntry', MIN(T1.[WhsCode]) AS 'WhsCode', MIN(T1.[SL1Code]) AS 'SL1Code'
, MIN(T1.[SL2Code]) AS 'SL2Code', MIN(T1.[SL3Code]) AS 'SL3Code', MIN(T1.[SL4Code]) AS 'SL4Code', MIN(T1.[SL1Abs]) AS 'SL1Abs'
, MIN(T1.[SL2Abs]) AS 'SL2Abs', MIN(T1.[SL3Abs]) AS 'SL3Abs', MIN(T1.[SL4Abs]) AS 'SL4Abs'
FROM [dbo].[OIBQ] T0
INNER JOIN [dbo].[OBIN] T1 ON T0.[BinAbs] = T1.[AbsEntry] AND T0.[OnHandQty] <> 0
LEFT OUTER JOIN [dbo].[OBBQ] T2 ON T0.[BinAbs] = T2.[BinAbs] AND T0.[ItemCode] = T2.[ItemCode] AND T2.[OnHandQty] <> 0
LEFT OUTER JOIN [dbo].[OSBQ] T3 ON T0.[BinAbs] = T3.[BinAbs] AND T0.[ItemCode] = T3.[ItemCode] AND T3.[OnHandQty] <> 0
LEFT OUTER JOIN [dbo].[OBTN] T4 ON T2.[SnBMDAbs] = T4.[AbsEntry] AND T2.[ItemCode] = T4.[ItemCode]
LEFT OUTER JOIN [dbo].[OSRN] T5 ON T3.[SnBMDAbs] = T5.[AbsEntry] AND T3.[ItemCode] = T5.[ItemCode]
WHERE T1.[AbsEntry] >= (0 ) AND (T2.[AbsEntry] IS NOT NULL)
GROUP BY T0.[BinAbs], T0.[ItemCode]
UNION ALL
SELECT T0.[BinAbs], T0.[ItemCode], MAX(T0.[OnHandQty]) AS 'IBQOnhandQty', SUM(T3.[OnHandQty]) AS 'OnHandQty', N'' AS 'BTNDistNumber', N'' AS 'BTNMnfSerial'
, N'' AS 'BTNLotNumber', N'' AS 'SRNDistNumber', N'' AS 'SRNMnfSerial', N'' AS 'SRNLotNumber', MIN(T4.[AbsEntry]) AS 'AbsEntry', MIN(T1.[BinCode]) AS 'BinCode'
, 10000045 AS 'SnbType', MIN(T4.[AbsEntry]) AS 'BTNAbsEntry', MIN(T4.[AbsEntry]) AS 'SRNAbsEntry', MIN(T1.[WhsCode]) AS 'WhsCode', MIN(T1.[SL1Code]) AS 'SL1Code'
, MIN(T1.[SL2Code]) AS 'SL2Code', MIN(T1.[SL3Code]) AS 'SL3Code', MIN(T1.[SL4Code]) AS 'SL4Code', MIN(T1.[SL1Abs]) AS 'SL1Abs'
, MIN(T1.[SL2Abs]) AS 'SL2Abs', MIN(T1.[SL3Abs]) AS 'SL3Abs', MIN(T1.[SL4Abs]) AS 'SL4Abs'
FROM [dbo].[OIBQ] T0
INNER JOIN [dbo].[OBIN] T1 ON T0.[BinAbs] = T1.[AbsEntry] AND T0.[OnHandQty] <> 0
LEFT OUTER JOIN [dbo].[OBBQ] T2 ON T0.[BinAbs] = T2.[BinAbs] AND T0.[ItemCode] = T2.[ItemCode] AND T2.[OnHandQty] <> 0
LEFT OUTER JOIN [dbo].[OSBQ] T3 ON T0.[BinAbs] = T3.[BinAbs] AND T0.[ItemCode] = T3.[ItemCode] AND T3.[OnHandQty] <> 0
LEFT OUTER JOIN [dbo].[OBTN] T4 ON T2.[SnBMDAbs] = T4.[AbsEntry] AND T2.[ItemCode] = T4.[ItemCode]
LEFT OUTER JOIN [dbo].[OSRN] T5 ON T3.[SnBMDAbs] = T5.[AbsEntry] AND T3.[ItemCode] = T5.[ItemCode]
WHERE T1.[AbsEntry] >= (0 ) AND (T3.[AbsEntry] IS NOT NULL)
GROUP BY T0.[BinAbs], T0.[ItemCode]
) T0
WHERE T0.[IBQOnhandQty] > T0.[OnHandQty]
Regards,
JC.
Maybe you are looking for
-
Adding drop-down list in a custom schema
Is it possible to create a field with a drop-down list of items in a Prelude custom schema? Or, perhaps the ability is provided in the styles: (Integer, Real, Text, Boolean) and I am just not selecting or using those properly. I notice it is done in
-
Why can I only write the samples to read during continuous acquisition?
I am acquiring analog voltage signals and attemting to write to a text file when condition is true, thus there is continuous acquisition. However, the written files only contain 100 samples (the size of my buffer).. I need my files to read samples un
-
Guidelines for using JPA from an Add-on?
Can somebody post the guidelines for using JPA from within an Add-on? We are facing issues using JPA (2.0) Thanks Pramod
-
How do I get my FaceTime working, my line is suspended at the moment but it hasn't worked from when I first baught it 5 weeks ago
-
Hello, after a new pacman upgrade (3.3.0) makepkg now stops building when the md5sums are missing. This is a bit annoying if you have PKGBUILD which is fetching the pkgver via some command, like in my chromium PKGBUILD: pkgname=chromium-snapshot _rea