project BLF > class BSODViolationRule1 > method CreateSODViolation1R
Description
Initialize a new record in class table tSODViolation1R.
Parameters
| ic_ParentRowid | input | character | = tSODViolation1R.tc_ParentRowid |
| BSODViolationRule1 | output | dataset | class dataset, containing only the newly initialized record |
| oiReturnStatus | output | integer | error status |
program code (program/bsodviolationrule1.p)
assign oiReturnStatus = -98.
empty temp-table t_sSODViolation1.
empty temp-table t_sSODViolation1R.
empty temp-table t_sCustomTable0.
empty temp-table t_sCustomTable1.
empty temp-table t_sCustomTable2.
find first tFcRowidConvert where
tFcRowidConvert.tcFcOldRowid = ic_ParentRowid and
tFcRowidConvert.tlFcOk no-error.
if available tFcRowidConvert
then assign ic_ParentRowid = tFcRowidConvert.tcFcNewRowid.
find tSODViolation1 where
tSODViolation1.tc_Rowid = ic_ParentRowid no-error.
if not available tSODViolation1
then do:
{ includes/bfcrun.i
&PROCEDURE = "SetMessage"
&PARAMETERS = "input 'Invalid parent ID':U,
input '',
input 'tSODViolation1.tc_Rowid':U,
input ic_ParentRowid,
input 'S':U,
input 3,
input ic_ParentRowid,
input '',
input '',
input '',
input '',
output oiReturnStatus" }
assign oiReturnStatus = -3.
return.
end.
create tSODViolation1R.
assign tSODViolation1R.tc_Rowid = dynamic-function("GetNumberForNew":U in {&TARGETPROCEDURE})
tSODViolation1R.tc_Status = "N":U.
{ includes/bfcrun.i
&procedure = "StartPersistence"
¶meters = "output vh_persistence,
output viFcReturnSuper" }
if viFcReturnSuper <> 0
then do:
assign oiReturnStatus = viFcReturnSuper.
return.
end.
assign tSODViolation1R.SODViolation1R_ID = dynamic-function ("GetNextValue":U in vh_persistence,"ObjectNumber":U).
assign tSODViolation1R.tc_ParentRowid = tSODViolation1.tc_Rowid
tSODViolation1R.SODViolation1_ID = tSODViolation1.SODViolation1_ID.
{ includes/bfcrun.i
&procedure = "InitialValues"
¶meters = "input 'SODViolation1R':U,
output oiReturnStatus" }
create t_sSODViolation1R.
raw-transfer tSODViolation1R to t_sSODViolation1R.
assign t_sSODViolation1R.tc_ParentRowid = ic_ParentRowid.