Thank you so much, For anyone else needing to use this
/*
The below code is to be loaded against a URL Button
*/
"javascript:" &
"var F3= " & URLEncode([Record ID#]) & ";" &
"var F9= '" & [Number of Store Visits Required ? ] & "';" &
"var F72= '" & [Related Project] & "';" &
"var F77= '" & [Related Site] & "';" &
"var F98= '" & [Type of Scope] & "';" &
"var F84= '" & [Project - Related customer] & "';" &
"var F100= '" & [Date of Issue] & "';" &
"var F999= '" & "Installation" & "';" &
"var F21= '" & [Visit 1 Date] & "';" &
"var F22= '" & [Visit 1 Time] & "';" &
"var F23= '" & [Visit 1 Labour Qty] & "';" &
"var F25= '" & [Visit 2 Date] & "';" &
"var F26= '" & [Visit 2 Time] & "';" &
"var F27= '" & [Visit 2 Labour Qty] & "';" &
"var F29= '" & [Visit 3 Date] & "';" &
"var F30= '" & [Visit 3 Time] & "';" &
"var F31= '" & [Visit 3 Labour Qty] & "';" &
"var F33= '" & [Visit 4 Date] & "';" &
"var F34= '" & [Visit 4 Time] & "';" &
"var F35= '" & [Visit 4 Labour Qty] & "';" &
"var F37= '" & [Visit 5 Date] & "';" &
"var F38= '" & [Visit 5 Time] & "';" &
"var F39= '" & [Visit 5 Labour Qty] & "';" &
"var F41= '" & [Visit 6 Date] & "';" &
"var F42= '" & [Visit 6 Time] & "';" &
"var F43= '" & [Visit 6 Labour Qty] & "';" &
"var F45= '" & [Visit 7 Date] & "';" &
"var F46= '" & [Visit 7 Time] & "';" &
"var F47= '" & [Visit 7 Labour Qty] & "';" &
"var F49= '" & [Visit 8 Date] & "';" &
"var F50= '" & [Visit 8 Time] & "';" &
"var F51= '" & [Visit 8 Labour Qty] & "';" &
"var F53= '" & [Visit 9 Date] & "';" &
"var F54= '" & [Visit 9 Time] & "';" &
"var F55= '" & [Visit 9 Labour Qty] & "';" &
"var F57= '" & [Visit 10 Date] & "';" &
"var F58= '" & [Visit 10 Time] & "';" &
"var F59= '" & [Visit 10 Labour Qty] & "';" &
"$.getScript('" & URLRoot() & "db/[DBID]?act=dbpage&pagename=AddWR.js');void(0);"
/*
The below code is to be loaded onto .js codepage
*/
// Connecting to SOW Table:
var dbidSOW = "xxxxxxx";
// Connecting to Work Package Table:
var dbidWR = "xxxxxx";
// Providing the App Token below:
var apptoken = "xxxxxx";
// Set Variable for options no null
var options;
//Setting up an AJAX call to tell the script we are expecting to receive back XML later in the script
$.ajaxSetup({
data: {
apptoken: apptoken
}
});
// Setup the options, What fields for each option.
var optionsone = {
act: "API_AddRecord",
_fid_48: F72,
_fid_132: F77,
_fid_150: F98,
_fid_147: F84,
_fid_77: F100,
}
var optionstwo = {
_fid_137: F21,
_fid_251: F22,
_fid_442: F23,
_fid_164: F999
}
var optionsthree = {
_fid_137: F21,
_fid_251: F22,
_fid_442: F23,
_fid_164: F999,
_fid_138: F25,
_fid_252: F26,
_fid_443: F27,
_fid_165: F999
}
var optionsfour = {
_fid_137: F21,
_fid_251: F22,
_fid_442: F23,
_fid_164: F999,
_fid_138: F25,
_fid_252: F26,
_fid_443: F27,
_fid_165: F999,
_fid_139: F29,
_fid_253: F30,
_fid_444: F31,
_fid_166: F999
}
var optionsfive = {
_fid_137: F21,
_fid_251: F22,
_fid_442: F23,
_fid_164: F999,
_fid_138: F25,
_fid_252: F26,
_fid_443: F27,
_fid_165: F999,
_fid_139: F29,
_fid_253: F30,
_fid_444: F31,
_fid_166: F999,
_fid_140: F33,
_fid_254: F34,
_fid_445: F35,
_fid_167: F999
}
var optionssix = {
_fid_137: F21,
_fid_251: F22,
_fid_442: F23,
_fid_164: F999,
_fid_138: F25,
_fid_252: F26,
_fid_443: F27,
_fid_165: F999,
_fid_139: F29,
_fid_253: F30,
_fid_444: F31,
_fid_166: F999,
_fid_140: F33,
_fid_254: F34,
_fid_445: F35,
_fid_167: F999,
_fid_141: F37,
_fid_255: F38,
_fid_446: F39,
_fid_168: F999
}
var optionsseven = {
_fid_137: F21,
_fid_251: F22,
_fid_442: F23,
_fid_164: F999,
_fid_138: F25,
_fid_252: F26,
_fid_443: F27,
_fid_165: F999,
_fid_139: F29,
_fid_253: F30,
_fid_444: F31,
_fid_166: F999,
_fid_140: F33,
_fid_254: F34,
_fid_445: F35,
_fid_167: F999,
_fid_141: F37,
_fid_255: F38,
_fid_446: F39,
_fid_168: F999,
_fid_142: F41,
_fid_256: F42,
_fid_447: F43,
_fid_169: F999
}
var optionseight = {
_fid_137: F21,
_fid_251: F22,
_fid_442: F23,
_fid_164: F999,
_fid_138: F25,
_fid_252: F26,
_fid_443: F27,
_fid_165: F999,
_fid_139: F29,
_fid_253: F30,
_fid_444: F31,
_fid_166: F999,
_fid_140: F33,
_fid_254: F34,
_fid_445: F35,
_fid_167: F999,
_fid_141: F37,
_fid_255: F38,
_fid_446: F39,
_fid_168: F999,
_fid_142: F41,
_fid_256: F42,
_fid_447: F43,
_fid_169: F999,
_fid_143: F45,
_fid_257: F46,
_fid_448: F47,
_fid_170: F999
}
var optionsnine = {
_fid_137: F21,
_fid_251: F22,
_fid_442: F23,
_fid_164: F999,
_fid_138: F25,
_fid_252: F26,
_fid_443: F27,
_fid_165: F999,
_fid_139: F29,
_fid_253: F30,
_fid_444: F31,
_fid_166: F999,
_fid_140: F33,
_fid_254: F34,
_fid_445: F35,
_fid_167: F999,
_fid_141: F37,
_fid_255: F38,
_fid_446: F39,
_fid_168: F999,
_fid_142: F41,
_fid_256: F42,
_fid_447: F43,
_fid_169: F999,
_fid_143: F45,
_fid_257: F46,
_fid_448: F47,
_fid_170: F999,
_fid_144: F49,
_fid_258: F50,
_fid_449: F51,
_fid_171: F999
}
var optionsten = {
_fid_137: F21,
_fid_251: F22,
_fid_442: F23,
_fid_164: F999,
_fid_138: F25,
_fid_252: F26,
_fid_443: F27,
_fid_165: F999,
_fid_139: F29,
_fid_253: F30,
_fid_444: F31,
_fid_166: F999,
_fid_140: F33,
_fid_254: F34,
_fid_445: F35,
_fid_167: F999,
_fid_141: F37,
_fid_255: F38,
_fid_446: F39,
_fid_168: F999,
_fid_142: F41,
_fid_256: F42,
_fid_447: F43,
_fid_169: F999,
_fid_143: F45,
_fid_257: F46,
_fid_448: F47,
_fid_170: F999,
_fid_144: F49,
_fid_258: F50,
_fid_449: F51,
_fid_171: F999,
_fid_145: F53,
_fid_259: F54,
_fid_450: F55,
_fid_172: F999
}
var optionseleven = {
_fid_137: F21,
_fid_251: F22,
_fid_442: F23,
_fid_164: F999,
_fid_138: F25,
_fid_252: F26,
_fid_443: F27,
_fid_165: F999,
_fid_139: F29,
_fid_253: F30,
_fid_444: F31,
_fid_166: F999,
_fid_140: F33,
_fid_254: F34,
_fid_445: F35,
_fid_167: F999,
_fid_141: F37,
_fid_255: F38,
_fid_446: F39,
_fid_168: F999,
_fid_142: F41,
_fid_256: F42,
_fid_447: F43,
_fid_169: F999,
_fid_143: F45,
_fid_257: F46,
_fid_448: F47,
_fid_170: F999,
_fid_144: F49,
_fid_258: F50,
_fid_449: F51,
_fid_171: F999,
_fid_145: F53,
_fid_259: F54,
_fid_450: F55,
_fid_172: F999,
_fid_146: F57,
_fid_260: F58,
_fid_451: F59,
_fid_173: F999
}
// setup switch to assign options defined against an object under a case statement so only data relevant to the switch condition will be returned, Get function is called and new Work Package is created
switch (F9) {
case '1':
options = Object.assign({}, optionsone, optionstwo)
break;
case '2':
options = Object.assign({}, optionsone, optionsthree)
break;
case '3':
options = Object.assign({}, optionsone, optionsfour)
break;
case '4':
options = Object.assign({}, optionsone, optionsfive)
break;
case '5':
options = Object.assign({}, optionsone, optionssix)
break;
case '6':
options = Object.assign({}, optionsone, optionsseven)
break;
case '7':
options = Object.assign({}, optionsone, optionseight)
break;
case '8':
options = Object.assign({}, optionsone, optionsnine)
break;
case '9':
options = Object.assign({}, optionsone, optionsten)
break;
case '10':
options = Object.assign({}, optionsone, optionseleven)
break;
}
// Test to display XML returned from the above switch case and get call
console.log(JSON.stringify(options, null, " "));
// returns the Work Package Record ID from the newly created record above then pushes it to a Edit Record function against the SOW Table to input against the related SOW.
$.get(dbidWR, options).then(function(xml) {
console.dirxml(xml);
var WRrid = $("rid", xml).text();
console.log(WRrid);
// I'm using the URL Editrecord method below, could easily do a second AJAX call but no need with this use case
document.location.href = "https://[realm].quickbase.com/db/[dbidsow]?a=API_EditRecord&apptoken=[xxxxxxxxxxxxxxxxxxxxx]&...; + F3 + "&_fid_114=" + WRrid + "&disprec=13"
});