function sch_updateaccontngperiod()
{
var salesorderSearch = nlapiSearchRecord("salesorder",null,
[
["type","anyof","SalesOrd"],
"AND",
["postingperiod","rel","LP"],
"AND",
["status","anyof","SalesOrd:D","SalesOrd:A","SalesOrd:E","SalesOrd:B"],
"AND",
["mainline","is","F"],
"AND",
["item.type","anyof","Assembly"],
"AND",
["applyingtransaction.type","anyof","WorkOrd"],
"AND",
["applyingtransaction.status","anyof","WorkOrd:D","WorkOrd:G"]
],
[
new nlobjSearchColumn("trandate").setSort(false),
new nlobjSearchColumn("postingperiod"),
new nlobjSearchColumn("type"),
new nlobjSearchColumn("internalid"),
new nlobjSearchColumn("item"),
new nlobjSearchColumn("statusref"),
new nlobjSearchColumn("applyinglinktype"),
new nlobjSearchColumn("applyingtransaction"),
new nlobjSearchColumn("statusref","applyingTransaction",null)
]
);
if (_logValidation(salesorderSearch))
{
for (var i = 0; i < salesorderSearch.length; i++)
{
var createdfrom = salesorderSearch[i].getValue('applyingtransaction');
nlapiLogExecution('DEBUG', 'schedule_assemblybuild', 'createdfrom =' + createdfrom);
assemblybldsperiod(createdfrom);
}
}
}
function assemblybldsperiod(createdfrom)
{
var assemblybuildSearch = nlapiSearchRecord("assemblybuild",null,
[
["type","anyof","Build"],
"AND",
["mainline","is","T"],
"AND",
["createdfrom.internalid","anyof","91866"]
],
[
new nlobjSearchColumn("internalid"),
new nlobjSearchColumn("internalid","createdFrom",null),
new nlobjSearchColumn("tranid","createdFrom",null),
new nlobjSearchColumn("trandate").setSort(false),
new nlobjSearchColumn("postingperiod")
]
);
for (var j = 0; j < assemblybuildSearch.length; j++)
{
var assmbuildId = assemblybuildSearch[j].getValue('internalid');
nlapiLogExecution('DEBUG', 'assemblybldsperiod', 'assmbuildId =' + assmbuildId);
var asmbuilddate = assemblybuildSearch[j].getValue('trandate');
nlapiLogExecution('DEBUG', 'assemblybldsperiod', 'asmbuilddate =' + asmbuilddate);
var asmbuildperiod = assemblybuildSearch[j].getValue('postingperiod');
nlapiLogExecution('DEBUG', 'assemblybldsperiod', 'asmbuildperiod =' + asmbuildperiod);
var today = new Date();
//var dd = today.getDate();
var todaymm = today.getMonth()+1;
nlapiLogExecution('DEBUG', 'assemblybldsperiod', 'todaymm =' + todaymm);
var tDate = nlapiStringToDate(asmbuilddate);
var transactionmonth = tDate.getMonth()+1;
nlapiLogExecution('DEBUG', 'assemblybldsperiod', 'transactionmonth =' + transactionmonth);
if(transactionmonth < tDate)
{
var assmbuildnewdate = nlapiAddMonths(tDate, 1);
nlapiLogExecution('DEBUG', 'assemblybldsperiod', 'assmbuildnewdate =' + assmbuildnewdate);
var postDate = nlapiDateToString(assmbuildnewdate);
var assmrecordobj = nlapiLoadRecord('assemblybuild', assmbuildId);
nlapiLogExecution('DEBUG', 'assemblybldsperiod', 'assmrecordobj =' + assmrecordobj);
assmrecordobj.setFieldValue('trandate',postDate);
var id = nlapiSubmitRecord(assmrecordobj, true);
}
}
}
function _logValidation(value)
{
if (value != 'null' && value != null && value != null && value != '' && value != undefined && value != undefined && value != 'undefined' && value != 'undefined' && value != 'NaN' && value != NaN)
{
return true;
} else
{
return false;
}
}