of_deletedetailrows


pfcdwsrv.pbl   >   pfc_n_cst_dwsrv_linkage   >   of_deletedetailrows   

Full name pfc_n_cst_dwsrv_linkage.of_deletedetailrows
Access public
Extend of integer
Return value integer
Prototype public function integer of_deletedetailrows()

Name Datatype
No Data

Name Datatype
li_detail integer
li_numdetails integer
li_rc integer
ll_deletedcount long
ls_reset string[]

public function integer of_deletedetailrows ();//////////////////////////////////////////////////////////////////////////////
//
//	Function:  		of_DeleteDetailRows
//
//	Access:    		public
//
//	Arguments:		None
//
//	Returns:   		Integer
//		The number of rows deleted/discarded.
//		-1 if an error occurs.
//
//	Description: 
//	Notification that a row has been deleted.
//
//	Note:
//	The pfc_predeleterow should have been called prior to the actual deletion.
// This function is not typically called by the developer.  
//
//////////////////////////////////////////////////////////////////////////////
//
//	Revision History
//
//	Version
//	6.0   Initial version
//
//////////////////////////////////////////////////////////////////////////////
//
//	Copyright © 1996-1997 Sybase, Inc. and its subsidiaries.  All rights reserved.
//	Any distribution of the PowerBuilder Foundation Classes (PFC)
//	source code by other than Sybase, Inc. and its subsidiaries is prohibited.
//
//////////////////////////////////////////////////////////////////////////////

long		ll_deletedcount
integer	li_numdetails
integer	li_detail
integer	li_rc
string	ls_reset[]

// Determine how many details are subordinate to the requestor.
li_numdetails = UpperBound ( idw_details ) 

// Loop through the valid details and Refresh each detail.
for li_detail = 1 to li_numdetails 
	If IsNull(idw_details[li_detail]) Or &
		Not IsValid (idw_details[li_detail]) Then Continue
	If IsNull(idw_details[li_detail].inv_Linkage) Or &
		Not IsValid (idw_details[li_detail].inv_Linkage) Then Return FAILURE

	CHOOSE CASE ii_deletestyle
		CASE DEFAULT
			// No Action.
			li_rc = 0

		CASE DELETE_ROWS
			// This will perform Deletes on all Detail rows for the deleted Master row.
			li_rc = idw_details[li_detail].inv_Linkage.of_DeleteRows &
						(True, is_keycols, is_keycolsvalue) 
			
		CASE DISCARD_ROWS
			// This will perform Discards on all Detail rows for the deleted Master row.			
			li_rc = idw_details[li_detail].inv_Linkage.of_DeleteRows &
						(False, is_keycols, is_keycolsvalue) 			
	END CHOOSE
	If li_rc < 0 Then Exit
	ll_deletedcount += li_rc
next

// Reset the key value information.
is_keycolsvalue = ls_reset

if li_rc <0 then 
	Return FAILURE
end if
Return ll_deletedcount
end function

     
Name Owner
pfc_n_cst_dwsrv_linkage.of_deleterows pfc_n_cst_dwsrv_linkage
pfc_n_cst_dwsrv_linkage.pfc_deleterow pfc_n_cst_dwsrv_linkage

     
Name Owner
systemfunctions.isnull systemfunctions
systemfunctions.isvalid systemfunctions
systemfunctions.upperbound systemfunctions
pfc_n_cst_dwsrv_linkage.of_deleterows pfc_n_cst_dwsrv_linkage

     
Full name
No Data

     
Name Scope
No Data