Venice
SOrderDet::SeekByOpenCst
 
Seeks an open Sales Order Detail line by its customer number.
 
VARIANT_BOOL SeekByOpenCst (
    enum eSeekMode eSeekMode,
    LONG lCstNum,
    LONG lCstSubNum,
    BSTR bsBook,
    LONG lDocNum,
    SHORT sLineNum
)
 
Key information
This method uses key number 3 (See SwapKey).
This is a unique key.
This is a null key, only the records where pIsOpen is true are in the index.
 
Key segment information
Segment NameTypeOrderCollation
pCstNumLONG (unsigned)Ascending-
pCstSubNumLONG (unsigned)Ascending-
pBookBSTRAscendingCase insensitive
pDocNumLONG (unsigned)Ascending-
pLineNumSHORT (unsigned)Ascending-
pIsOpenVARIANT_BOOLAscending-
 
Parameters
eSeekMode
[in] A value of the 'eSeekMode' enumeration.
lCstNum
[in] The customer number of the Sales Order of which you want to seek a detail line.
lCstSubNum
[in] The customer subnumber of the Sales Order of which you want to seek a detail line.
bsBook
[in] The book code of the Sales Order of which you want to seek a detail line.
lDocNum
[in] The document number of the Sales Order of which you want to seek a detail line.
sLineNum
[in] The line number of the Sales Order Detail line you want to seek.
 
Remarks
This number is a 0-based index, i.e. it starts from 0. Therefore the value of this parameter is 1 less than the numbers shown in the Venice grids and 1 less than the value returned by the property vLine (see properties)!
 
Return value
True if the record with the given properties was found, otherwise false.
 
See Also
CreateSOrderDet
GetDBStatus
GetNext
 
Samples
 
C++
 
// Seek the data of all open detail lines of all sales orders for the customer with number 25/0
long lCstNum = 25, lSubNum = 0;
pSOrderDet->SeekByOpenCst (smGreaterOrEqual, lCstNum, lSubNum, "", 0, 0);
while (pSOrderDet->GetDBStatus () == 0 && (long)pSOrderDet->pCstNum == lCstNum && (long)pSOrderDet->pCstSubNum == lSubNum)
{
    // Process record data
    
    pSOrderDet->GetNext ();
}

C#
 
// Seek the data of all open detail lines of all sales orders for the customer with number 25/0
int iCstNum = 25, iSubNum = 0;
oSOrderDet.SeekByOpenCst (eSeekMode.smGreaterOrEqual, iCstNum, iSubNum, "", 0, 0);
while (oSOrderDet.GetDBStatus () == 0 && (int)oSOrderDet.pCstNum == iCstNum && (int)oSOrderDet.pCstSubNum == iSubNum)
{
    // Process record data
    
    oSOrderDet.GetNext ();
}

VBS
 
' Seek the data of all open detail lines of all sales orders for the customer with number 25/0
Dim iCstNum, iSubNum
iCstNum = 25
iSubNum = 0
Call oSOrderDet.SeekByOpenCst(smGreaterOrEqual, iCstNum, iSubNum, "", 0, 0)
While oSOrderDet.GetDBStatus() = 0 And oSOrderDet.pCstNum = iCstNum And oSOrderDet.pCstSubNum = iSubNum
    ' Process record data

    Call oSOrderDet.GetNext()
Wend

VB.NET
 
' Seek the data of all open detail lines of all sales orders for the customer with number 25/0
Dim iCstNum, iSubNum As Integer
iCstNum = 25
iSubNum = 0
oSOrderDet.SeekByOpenCst(eSeekMode.smGreaterOrEqual, iCstNum, iSubNum, "", 0, 0)
While oSOrderDet.GetDBStatus() = 0 And oSOrderDet.pCstNum = iCstNum And oSOrderDet.pCstSubNum = iSubNum
    ' Process record data

    oSOrderDet.GetNext()
End While