Cuma, Kasım 12, 2010

Insert Record Set

public ItemId insertVariableValuesTable(map _mapGroupVariablesValues,AGC_VariableGroup localAGC_VariableGroup,AGC_VariableLinksGroup localAGC_VariableLinksGroup )
{

;
recordInsertList = new RecordInsertList(tablenum(AGC_VariableValues));
mi = new MapIterator(_mapGroupVariablesValues);
if (!mi.more())
{
throw error(strfmt('@AGC73'));
}
NumberSeqItemId = NumberSeq::newGetNumFromCode(localAGC_VariableGroup.AGC_ReferenceNumber);
itemId = NumberSeqItemId.num();
InventTable = inventTable::find(itemId);
if(InventTable.RecId)
{
throw error(strfmt('@AGC74',itemId));
}

else
{
do
{
//bu stok kartı daha onceden yaratılmamıssa:
if (localAGC_VariableLinksGroup.AGC_VariableMandatory)//acilan alan zorunlu olan bir alansa ve bos gecilmisse
{
if ( mi.value() == "")
throw error(strfmt('@AGC70',mi.key()));

}
if ((localAGC_VariableLinksGroup.AGC_VariableMandatory && mi.value()!="")|| (localAGC_VariableLinksGroup.AGC_VariableMandatory == false) )
{
if (localAGC_VariableLinksGroup.AGC_VariableUnique)//Uniq bir alansa
{
while select AGC_VariableValues where AGC_VariableValues.ItemId == itemId
{
if (AGC_VariableValues.AGC_VariableValue == variableValue)
{
throw error(strfmt('@AGC72',AGC_VariableValues.AGC_ItemVariableID));
}
}
}

ttsbegin;
AGC_VariableValues.ItemId = ItemId;
AGC_VariableValues.AGC_VariableGroupID = localAGC_VariableGroup.AGC_VariableGroupID;
AGC_VariableValues.AGC_ItemVariableID = mi.key();
AGC_VariableValues.AGC_VariableValue = mi.value();
AGC_VariableValues.AGC_Description = localAGC_VariableLinksGroup.AGC_Description;
recordInsertList.add(AGC_VariableValues);


}
mi.next();
}while(mi.more());
}
recordInsertList.insertDatabase();
ttscommit;
return itemId;
}

Hiç yorum yok:

Yorum Gönder