i want to create a service order through service request i have a form "service request form" which has three data sources ServiceRequestTable,ServiceRequestLines,ServiceRequestQuotationLines. now similarly i also created a custom form call "serviceorder form"
which also has three data sources SalesOrderTable,SalesOrderLines,SalesOrderQuotationLines. now when i created a request for serviceOrder i want to create a service order through that request that is why i added custom button called " Create Service order" in action pane of a service request form now i want when i click that button it creates ServiceOrder and get all the data of a current Service Request. i tried the code below in class for creating the service order but it is not working.
class CreateServiceOrder
{
ServiceOrderRequestId serviceOrderRequestId;
ServiceOrderRequestId parmServiceOrderRequestId(ServiceOrderRequestId _serviceOrderRequestId = serviceOrderRequestId)
{
serviceOrderRequestId = _serviceOrderRequestId;
return serviceOrderRequestId;
}
void run()
{
//declaring variables
ServiceOrderTable serviceOrderTable;
ServiceOrderQuotationLines serviceOrderQuotationLines;
ServiceOrderLines serviceOrderLines;
ServiceRequestTable serviceRequestTable;
ServiceRequestLines serviceRequestLines;
ServiceRequestQuotationLines serviceRequestQuotationLines;
Args args;
FormRun formRun;
NumberSeq numberSeq;
ttsBegin;
//creating sales order header
//getting sales order id from number sequence
numberSeq = NumberSeq::newGetNum(SMAParameters::numRefServiceOrderId());
numberSeq.used();
serviceOrderTable.ServiceOrder = numberSeq.num();
serviceOrderTable.initValue();
serviceOrderTable.RequestId = serviceOrderRequestId;
serviceOrderTable.CustAccount = custAccount;
//////validate
if (!serviceOrderTable.validateWrite())
{
throw Exception::Error;
}
serviceOrderTable.insert();
//creating sales order line
serviceOrderLines.initValue();
serviceOrderLines.ItemId = serviceRequestLines.ItemId;
serviceOrderLines.Qty = serviceRequestLines.Qty;
serviceOrderLines.insert();
serviceOrderQuotationLines.initValue();
serviceOrderQuotationLines.SMATransactionType = serviceRequestQuotationLines.SMATransactionType;
serviceOrderQuotationLines.Worker = serviceRequestQuotationLines.Worker;
serviceOrderQuotationLines.insert();
ttsCommit;
}
}