# ucwebex.awk #---------------------------------------------------------- # main BEGIN { dbid0 = start_database("catcom") #print "dbid0 = " dbid0 print "nodename=[" nodename "]" print "ccmloglevel=[" ccmloglevel "]" print "ccmextnalterlist=[" ccmextnalterlist "]" #UC_SITE = "UCP" UC_SITE = get_UC_SITE(nodename) print "UC_SITE=[" UC_SITE "]" # for data in the import file # use these values to set telmax21 directory # dircttemplate node (general1) # dircttemplate node (general2) DTNODE = nodename DTDEVICE = "WEBEX" # webex/ParticipantsReport.csv #Meeting ID,Conference Name,Username,Joining Time,Leaving Time,Duration,Platform / Browser,Client IP Address,Datacenter,Session Start Time,Session End Time,Type of Session,Session Duration,Phone Number,Tel. Server #10346,Test Webex,Nigel Bout (host),02 02 2015 14:49:02 GMT+10:00,02 02 2015 14:51:32 GMT+10:00,3,WINDOWS/NETSCAPE,10.3.8.68,,02 02 2015 14:49:04 GMT+10:00,02 02 2015 14:51:32 GMT+10:00, MP Video,3, , fldexpected_arr["Meeting ID"] = 1 fldexpected_arr["Conference Name"] = 1 fldexpected_arr["Username"] = 1 fldexpected_arr["Joining Time"] = 1 fldexpected_arr["Leaving Time"] = 1 fldexpected_arr["Type of Session"] = 1 fldexpected_arr["Phone Number"] = 1 setup_extnalter() #load_Bundle() load_PhoneType() load_TEC() load_RSC() load_SFC() #load_ucdevinfo("(TODAY - 15)", "(TODAY - 1)", nodename) ##load_Directory_UCP_data(nodename) #load_Directory_UCP_data(DTNODE,DTDEVICE) load_Directory_UCP_data() # # pre-clear UC info in directory # system("clrucdir " DTNODE " " DTDEVICE ) print "" ld_MeetingReportfile(infile2) #print "" #ld_ParticipantsReportfile(infile2) print "" print "end BEGIN section" print "" } #---------------------------------------------------------- function ld_MeetingReportfile(MeetingReportfile) { printf("ld_MeetingReportfile(%s)\n", MeetingReportfile) # MeetingReport.csv #MeetingId,Meeting Number,Subject,HostName,Start Time,Duration,Number of Participants,Status,Number of Call-In Audio Minutes,Number of Call-Back Audio Minutes,Number of VoIP Minutes,Number of Video Minutes,Number of Recording Minutes,Recording Interval ,Number of WebSharing Minutes,Participants,Host Platform / Browser,Host IP Address,Personal Conferencing host access code,Personal Conferencing attendee access code,TrackingCodes #10346,999224355,Test Webex,Nigel Bout,02 02 2015 14:49:02 GMT+10:00,3,2,Good,0,0,0,4,0,-,6,Nigel Bout-nigel.bout@victrack.com.au;David Wells-david.wells@victrack.com.au,"WINDOWS,NETSCAPE",10.3.8.68,,, # to remove field quotes and strip MeetingReportfilecmd = "dquote <\"" MeetingReportfile "\" | tr -d \"\032\015\"" recs = 0 while ( (MeetingReportfilecmd | getline aline) > 0 ) { split(aline, a_arr, ",") #printf("aline=%s\n", aline) if ( ++recs == 1 ) # skip header continue f = 0 MeetingId = trim(a_arr[++f]) Meeting_Number = trim(a_arr[++f]) Subject = trim(a_arr[++f]) HostName = trim(a_arr[++f]) Start_Time = trim(a_arr[++f]) Duration = trim(a_arr[++f]) Number_of_Participants = trim(a_arr[++f]) Status = trim(a_arr[++f]) Number_of_Call_In_Audio_Minutes = trim(a_arr[++f]) Number_of_Call_Back_Audio_Minutes = trim(a_arr[++f]) Number_of_VoIP_Minutes = trim(a_arr[++f]) Number_of_Video_Minutes = trim(a_arr[++f]) Number_of_Recording_Minutes = trim(a_arr[++f]) Recording_Interval = trim(a_arr[++f]) Number_of_WebSharing_Minutes = trim(a_arr[++f]) Participants = trim(a_arr[++f]) Host_Platform_Browser = trim(a_arr[++f]) Host_IP_Address = trim(a_arr[++f]) Personal_Conferencing_host_access_code = trim(a_arr[++f]) Personal_Conferencing_attendee_access_code = trim(a_arr[++f]) TrackingCodes = trim(a_arr[++f]) MeetingId_to_Meeting_Number_arr[MeetingId] = Meeting_Number MeetingId_to_Subject_arr[MeetingId] = Subject MeetingId_to_HostName_arr[MeetingId] = HostName MeetingId_to_Start_Time_arr[MeetingId] = Start_Time MeetingId_to_Duration_arr[MeetingId] = Duration MeetingId_to_Number_of_Participants_arr[MeetingId] = Number_of_Participants MeetingId_to_Participants_arr[MeetingId] = Participants print "MeetingId_to_HostName_arr[" MeetingId "]=[" MeetingId_to_HostName_arr[MeetingId] "]" print "MeetingId_to_Participants_arr[" MeetingId "]=[" MeetingId_to_Participants_arr[MeetingId] "]" } close(MeetingReportfilecmd) } function ld_ParticipantsReportfile(ParticipantsReportfile) { printf("ld_ParticipantsReportfile(%s)\n", ParticipantsReportfile) # ParticipantsReport.csv #Meeting ID,Conference Name,Username,Joining Time,Leaving Time,Duration,Platform / Browser,Client IP Address,Datacenter,Session Start Time,Session End Time,Type of Session,Session Duration,Phone Number,Tel. Server #10346,Test Webex,Nigel Bout (host),02 02 2015 14:49:02 GMT+10:00,02 02 2015 14:51:32 GMT+10:00,3,WINDOWS/NETSCAPE,10.3.8.68,,02 02 2015 14:49:04 GMT+10:00,02 02 2015 14:51:32 GMT+10:00, MP Video,3, , # to remove field quotes and strip ParticipantsReportfilecmd = "dquote <\"" ParticipantsReportfile "\" | tr -d \"\032\015\"" recs = 0 while ( (ParticipantsReportfilecmd | getline aline) > 0 ) { split(aline, a_arr, ",") #printf("aline=%s\n", aline) if ( ++recs == 1 ) # skip header continue f = 0 MeetingID = trim(a_arr[++f]) Conference_Name = trim(a_arr[++f]) Username = trim(a_arr[++f]) Joining_Time = trim(a_arr[++f]) Leaving_Time = trim(a_arr[++f]) Duration = trim(a_arr[++f]) Platform_Browser = trim(a_arr[++f]) Client_IP_Address = trim(a_arr[++f]) Datacenter = trim(a_arr[++f]) Session_Start_Time = trim(a_arr[++f]) Session_End_Time = trim(a_arr[++f]) Type_of_Session = trim(a_arr[++f]) Session_Duration = trim(a_arr[++f]) Phone_Number = trim(a_arr[++f]) Tel_Server = trim(a_arr[++f]) #MeetingID_Username_to_XXX_arr[MeetingId] = XXX } close(ParticipantsReportfilecmd) } #---------------------------------------------------------- # process input { print "-----------------------------------" print "NR=" NR " NF=" NF " : " $0 # process header if ( NR == 1 ) { # store name for each field for ( fld = 1; fld <= NF; ++ fld ) { fldname = trim($fld) fldname_arr[fld] = fldname fldexists_arr[fldname] = fld #print "fldname_arr[" fld "] = [" fldname_arr[fld] "]" } maxfld = NF # check we have the required fields print "" for ( fldname in fldexpected_arr ) { printf("Check for fldname[" fldname "]... ") if ( fldexpected_arr[fldname] == 2 ) { # field is optional printf("OPTIONAL\n") continue } if ( fldexists_arr[fldname] == 0 ) { print "ERROR: missing input fldname=[" fldname "]" my_exit(1); } fld = fldexists_arr[fldname] printf("(fld %d) OK\n", fld) } print "" next } # process data record for ( fld = 1; fld <= maxfld; ++fld ) { fldname = fldname_arr[fld] fldvalue = cleanvalue(trim($fld)) fldvalue_arr[fldname] = fldvalue XLcol = colnum_to_XL(fld) if ( fld == 1 ) print "NR=" NR print " fldname_arr[" fld "(" XLcol ")] = [" fldname_arr[fld] "] val=[" fldvalue_arr[fldname_arr[fld]] "]" } print " +++++++++++++++++++++++++++++++++++++++++++" if ( fldvalue_arr["Type of Session"] != "CALLBACK-INTL" ) { print "SKIPPING: Type of Session=[" fldvalue_arr["Type of Session"] "]" print " (not CALLBACK-INTL)" print "" next } #------------------------------------------------------------ print "DO Participant Rec..." MeetingID = fldvalue_arr["Meeting ID"] print " lookup MeetingReport data for MeetingID=[" MeetingID "]" Meeting_Number = MeetingId_to_Meeting_Number_arr[MeetingID] Subject = MeetingId_to_Subject_arr[MeetingID] HostName = MeetingId_to_HostName_arr[MeetingID] Start_Time = MeetingId_to_Start_Time_arr[MeetingID] Duration = MeetingId_to_Duration_arr[MeetingID] Number_of_Participants = MeetingId_to_Number_of_Participants_arr[MeetingID] Participants = MeetingId_to_Participants_arr[MeetingID] print " Meeting_Number=[" Meeting_Number "]" print " Subject=[" Subject "]" print " HostName=[" HostName "]" print " Start_Time=[" Start_Time "]" print " Duration=[" Duration "]" print " Number_of_Participants=[" Number_of_Participants "]" print " Participants=[" Participants "]" print "searching Participants for Hosts email address" len_Participants_arr1 = split(Participants,Participants_arr1, ";") print " len_Participants_arr1=[" len_Participants_arr1 "]" host_emailaddress = "" for ( p=1; p <= len_Participants_arr1; ++p ) { print " Participants_arr1[" p "]=[" Participants_arr1[p] "]" split(Participants_arr1[p], Participants_arr2, "-") print " Participants_arr2[1]=[" Participants_arr2[1] "]" print " Participants_arr2[2]=[" Participants_arr2[2] "]" if ( Participants_arr2[1] == HostName ) { print " Found HostName=[" HostName "]" host_emailaddress = Participants_arr2[2] break } } if ( host_emailaddress == "" ) { print "ERROR: host email address not found" next } print "Found host_emailaddress=[" host_emailaddress "]" " for HostName=[" HostName "]" lower_host_emailaddress = tolower(host_emailaddress) print " Lookup extn in t21 directory for lower_host_emailaddress=[" lower_host_emailaddress "]" extn = t21dir_email_to_extn_arr[lower_host_emailaddress] if ( extn != "" ) { print "Found extn=[" extn "]" " from lower_host_emailaddress" print "" } else { upper_HOSTNAME = toupper(HostName) print " Lookup extn in t21 directory for upper_HOSTNAME=[" upper_HOSTNAME "]" extn = t21dir_FIRSTNAME_LASTNAME_to_extn_arr[upper_HOSTNAME] if ( extn == "" ) { print "ERROR: extn not found in Telmax21 Directory for upper_HOSTNAME=[" upper_HOSTNAME "]" next } print " Found extn=[" extn "]" " from upper_HOSTNAME" } Joining_Time = fldvalue_arr["Joining Time"] Leaving_Time = fldvalue_arr["Leaving Time"] print "Calc. duration from Pasrticipants" print " Joining_Time=[" Joining_Time "]" print " Leaving_Time=[" Leaving_Time "]" print "... TBD" # Joining_Time=[02 03 2015 09:00:15 GMT+10:00] # Leaving_Time=[02 03 2015 09:01:16 GMT+10:00] # format session leave as CLU format call exnddatetime DDMMYYhhmmss dtstr = Leaving_Time session_leave_clu_end_datetime = substr(dtstr,4,2) substr(dtstr,1,2) substr(dtstr,9,2) substr(dtstr,12,2) substr(dtstr,15,2) substr(dtstr,18,2) print " session_leave_clu_end_datetime=[" session_leave_clu_end_datetime "]" # format joind and leave as YYYYMMDDhhmmss to do duration calculation dtstr = Joining_Time join_dt = substr(dtstr,7,4) + substr(dtstr,1,2) + substr(dtstr,4,2) + (substr(dtstr,12,2) * 3600) + (substr(dtstr,15,2) * 60) + substr(dtstr,18,2) dtstr = Leaving_Time leave_dt = substr(dtstr,7,4) + substr(dtstr,1,2) + substr(dtstr,4,2) + (substr(dtstr,12,2) * 3600) + (substr(dtstr,15,2) * 60) + substr(dtstr,18,2) session_duration = leave_dt - join_dt print " session_duration=[" session_duration "]" #ZZZZZZ next #partynumber = handle_partynumber(HuntPilot) #print " HuntPilot=[" HuntPilot "]" " partynumber=[" partynumber "]" if ( HuntPilot == "" ) { print " skipping blank HuntPilot Number" next } if ( partynumber == "" ) { print "WARNING: partynumber number not set from HuntPilot=[" HuntPilot "]" next } if ( have_pn_arr[partynumber] <= 0 ) { have_pn_arr[partynumber] = 1 print " new partynumber=[" partynumber "]" # init pn arrays pn_DeviceType_arr[partynumber] = "" pn_PhoneType_arr[partynumber] = "" pn_Subscription_arr[partynumber] = "" pn_tec_arr[partynumber] = "" pn_rsc_arr[partynumber] = "" pn_sfc_arr[partynumber] = "" pn_Description_arr[partynumber] = "" pn_HuntList1_arr[partynumber] = "" pn_AletingName_arr[partynumber] = "" pn_CallPickupGroup1_arr[partynumber] = "" } else { print " have seen partunumber=[" partynumber "] " have_pn_ar[partynumber] " times before." ++have_pn_arr[partynumber] } ipphone = partynumber # hard code DeviceType DeviceType = "Hunt Pilot" ## hard code phone type for TEC lookup #PhoneType = "None" #print " HARD CODED PhoneType=[" PhoneType "]" # lookup PhoneType from DeviceType print "Devicetype set [" DeviceType "] - lookup PhoneType" PhoneType = getPhoneType(DeviceType) print "PhoneType=[" PhoneType "]" # hard code bundle for TEC/SFC lookup Bundle = "5 year bundle" print " HARD CODED Bundle for TEC/SFC lookup=[" Bundle "]" tec = "" tecDesc = "" #------------------ # set TEC # if we have PhoneType - lookup TEC if ( PhoneType != "" ) { # lookup up TEC Code and Desc print "PhoneType and Bundle set - lookup TEC" tec = getTEC(PhoneType,Bundle) tecDesc = tec_to_ecDesc_arr[tec] print "tec=[" tec "] tecDesc=[" tecDesc "]" } else { print "WARNING: PhoneType not set - can't get TEC" } #------------------ # set RSC # hard code ccs1 for RSC lookup css1 = "CSS-EM-Logged-Off" print " HARD CODED css1=[" css1 "]" rsc = "" if ( css1 != "" ) { rsc = getRSC(css1) print "RCS lookup for css1= [" css1 "]" print " rsc=[" rsc "]" } else { print "WARNING: CSS1 not set - can't get RSC" } #------------------ # set SFC # hard coded values for SFC lookup BasicPhone = "H" VoiceMail = "N" OnTheMove = "N" ConnectedAndAccessible = "N" print " HARD CODED values for SFC lookup..." print " BasicPhone=[" BasicPhone "]" print " VoiceMail=[" VoiceMail "]" print " OnTheMove=[" OnTheMove "]" print " ConnectedAndAccessible=[" ConnectedAndAccessible "]" print " Bundle=[" Bundle "]" sfc = "" sfcDesc = "" # lookup SFC and Desc (Subscription) sfc = getSFC(BasicPhone,VoiceMail,OnTheMove,ConnectedAndAccessible,Bundle) sfcDesc = sfc_to_sfcDesc_arr[sfc] ## HARD CODED #sfc = "63" #sfcDesc = "Hunt Pilot" " " Bundle #print "HARD CODED values for SFC" print "sfc=[" sfc "] sfcDesc=[" sfcDesc "]" Subscription = sfcDesc print "Subscription=[" Subscription "]" #--------------- Description = "" if ( fldexists_arr["DESCRIPTION"] ) { Description = fldvalue_arr["DESCRIPTION"] } print " Description=[" Description "]" HuntList1 = "" if ( fldexists_arr["HUNT LIST 1"] ) { HuntList1 = fldvalue_arr["HUNT LIST 1"] } print " HuntList1=[" HuntList1 "]" AletingName = "" if ( fldexists_arr["ASCII ALERTING NAME"] ) { AlertingName = fldvalue_arr["ASCII ALERTING NAME"] } print " AlertingName=[" AlertingName "]" CallPickupGroup1 = "" if ( fldexists_arr["CALL PICKUP GROUP 1"] ) { CallPickupGroup1 = fldvalue_arr["CALL PICKUP GROUP 1"] } print " CallPickupGroup1=[" CallPickupGroup1 "]" #------------------------------- # store info for processing at end if ( Description != "" ) { if ( pn_Description_arr[partynumber] != "" ) { # add if not already there if ( index(pn_Description_arr[partynumber], Description) <= 0 ) { pn_Description_arr[partynumber] = pn_Description_arr[partynumber] "+" pn_Description_arr[partynumber] = pn_Description_arr[partynumber] Description } } else { pn_Description_arr[partynumber] = Description } } print "pn_Description_arr[" partynumber "]=[" pn_Description_arr[partynumber] "]" if ( DeviceType != "" ) { pn_DeviceType_arr[partynumber] = DeviceType } if ( PhoneType != "" ) { pn_PhoneType_arr[partynumber] = PhoneType } if ( Bundle != "" ) { pn_Bundle_arr[partynumber] = Bundle } if ( BasicPhone != "" ) { pn_BasicPhone_arr[partynumber] = BasicPhone } if ( VoiceMail != "" ) { pn_VoiceMail_arr[partynumber] = VoiceMail } if ( OnTheMove != "" ) { pn_OnTheMove_arr[partynumber] = OnTheMove } if ( ConnectedAndAccessible != "" ) { pn_ConnectedAndAccessible_arr[partynumber] = ConnectedAndAccessible } if ( tec != "" ) { pn_tec_arr[partynumber] = tec } if ( rsc != "" ) { pn_rsc_arr[partynumber] = rsc } if ( sfc != "" ) { pn_sfc_arr[partynumber] = sfc } if ( Subscription != "" ) { pn_Subscription_arr[partynumber] = Subscription } if ( HuntList1 != "" ) { pn_HuntList1_arr[partynumber] = HuntList1 } if ( AlertingName != "" ) { pn_AlertingName_arr[partynumber] = AlertingName } if ( CallPickupGroup1 != "" ) { pn_CallPickupGroup1_arr[partynumber] = CallPickupGroup1 } } #----------------------------------------------------------------------- END { #ZZZZZZ exit print "END: ====================================================" for ( partynumber in have_pn_arr ) { Bundle = pn_Bundle_arr[partynumber] BasicPhone = pn_BasicPhone_arr[partynumber] VoiceMail = pn_VoiceMail_arr[partynumber] OnTheMove = pn_OnTheMove_arr[partynumber] ConnectedAndAccessible = pn_ConnectedAndAccessible_arr[partynumber] tec = pn_tec_arr[partynumber] rsc = pn_rsc_arr[partynumber] sfc = pn_sfc_arr[partynumber] Subscription = pn_Subscription_arr[partynumber] Description = pn_Description_arr[partynumber] HuntList1 = pn_HuntList1_arr[partynumber] AlertingName = pn_AlertingName_arr[partynumber] CallPickupGroup1 = pn_CallPickupGroup1_arr[partynumber] last_of_partynumber = substr(partynumber,2) extn = partynumber #------------------------------------------------------ # store XX if value not found if ( trim(tec) == "" ) { tec = "XX" print "WARNING: set tec to XX" } if ( trim(rsc) == "" ) { rsc = "XX" print "WARNING: set rsc to XX" } if ( trim(sfc) == "" ) { sfc = "XX" print "WARNING: set sfc to XX" } TEC = sprintf("T%2.2sR%2.2sS%2.2s", tec, rsc, sfc) new_TEC_arr[partynumber] = TEC new_Description_arr[partynumber] = Description #------------------------------------------------------ print "partynumber = [" partynumber "]" print " DTNODE=[" DTNODE "]" print " DTDEVICE=[" DTDEVICE "]" print " DeviceType=[" DeviceType"]" print " PhoneType=[" PhoneType "]" print " Bundle=[" Bundle "]" print " tec=[" tec "]" print " rsc=[" rsc "]" #print " BasicPhone=[" BasicPhone "]" #print " VoiceMail=[" VoiceMail "]" #print " OnTheMove=[" OnTheMove "]" #print " ConnectedAndAccessible=[" ConnectedAndAccessible "]" print " sfc=[" sfc "]" print " Subscription=[" Subscription "]" print " Description=[" Description "]" print " HuntList1=[" HuntList1 "]" print " AlertingName=[" AlertingName "]" print " CallPickupGroup1=[" CallPickupGroup1 "]" print " (dt.firstinit) TEC=[" TEC "]" Msg5 = "(C) " Description Msg6 = "(AJ) " AlertingName Msg7 = "(AL) " HuntList1 Msg8 = "(AW) " CallPickupGroup1 if ( have_pn_arr[partynumber] > 1 ) Msg9 = "*** x" last_of_partynumber " appears " have_pn_arr[partynumber] " times ***" else Msg9 = "" print " - - - - - - - - - - - - - - - - - - - - - - " # update Directory dtselsql = "" dtselsql = dtselsql "select recordno" dtselsql = dtselsql " from directtemplate" # rjs 14/11/2014 dtselsql = dtselsql " where directtemplate.extension = " extn #dtselsql = dtselsql " and site = '" UC_SITE "'" dtselsql = dtselsql " and directtemplate.site in (" UC_SITE ")" print " dtselsql = [" dtselsql "]" dtselsqlid = execute_sql(dbid0,dtselsql) dtselsql_nrows = result_arr[dtselsqlid "|" "nrows"] if ( dtselsql_nrows < 1 ) { print "WARNING: No Rows found in directory to update" } for ( i = 1; i <= dtselsql_nrows; ++i ) { dtselsql_row = result_arr[dtselsqlid "|" i] split(dtselsql_row, dtselsql_arr, "|") f = 0 recordno = trim(dtselsql_arr[++f]) print "UPDATE recordno = " recordno dtupdsql = "" dtupdsql = dtupdsql "update directtemplate" dtupdsql = dtupdsql " set" dtupdsql = dtupdsql " general1 = '" DTNODE "'," dtupdsql = dtupdsql " general2 = '" DTDEVICE "'," dtupdsql = dtupdsql " firstinit = '" TEC "'" dtupdsql = dtupdsql " where recordno = " recordno dcupdsql = "" dcupdsql = dcupdsql "update directcustom" dcupdsql = dcupdsql " set " dcupdsql = dcupdsql " SubscriptionDesc = '" Subscription "'," dcupdsql = dcupdsql " DeviceType = '" DeviceType "'," dcupdsql = dcupdsql " PhoneType = '" PhoneType "'" dcupdsql = dcupdsql " where recordno = " recordno dmupdsql = "" dmupdsql = dmupdsql "update dirmesg" dmupdsql = dmupdsql " set " dmupdsql = dmupdsql " msg5 = '" Msg5 "'" if ( Msg6 != "" ) dmupdsql = dmupdsql ", msg6 = '" Msg6 "'" if ( Msg7 != "" ) dmupdsql = dmupdsql ", msg7 = '" Msg7 "'" if ( Msg8 != "" ) dmupdsql = dmupdsql ", msg8 = '" Msg8 "'" if ( Msg9 != "" ) dmupdsql = dmupdsql ", msg9 = '" Msg9 "'" dmupdsql = dmupdsql " where recordno = " recordno dmaddsql = "" dmaddsql = dmaddsql "insert into dirmesg" dmaddsql = dmaddsql " VALUES (" recordno dmaddsql = dmaddsql ", '" Msg1 "'" dmaddsql = dmaddsql ", '" Msg2 "'" dmaddsql = dmaddsql ", '" Msg3 "'" dmaddsql = dmaddsql ", '" Msg4 "'" dmaddsql = dmaddsql ", '" Msg5 "'" dmaddsql = dmaddsql ", '" Msg6 "'" dmaddsql = dmaddsql ", '" Msg7 "'" dmaddsql = dmaddsql ", '" Msg8 "'" dmaddsql = dmaddsql ", '" Msg9 "'" dmaddsql = dmaddsql ")" print" dtupdsql = [" dtupdsql "]" dtupdsqlid = execute_sql(dbid0,dtupdsql) dtupdsql_nrows = result_arr[dtupdsqlid "|" "nrows"] print "dtupdsql_nrows=[" dtupdsql_nrows "]" if ( dtupdsql_nrows != 1 ) { print "ERROR: dtupdsql failed." } print" dcupdsql = [" dcupdsql "]" dcupdsqlid = execute_sql(dbid0,dcupdsql) dcupdsql_nrows = result_arr[dcupdsqlid "|" "nrows"] print "dcupdsql_nrows=[" dcupdsql_nrows "]" if ( dcupdsql_nrows != 1 ) { print "ERROR: dcupdsql failed." } print" dmupdsql = [" dmupdsql "]" dmupdsqlid = execute_sql(dbid0,dmupdsql) dmupdsql_nrows = result_arr[dmupdsqlid "|" "nrows"] print "dmupdsql_nrows=[" dmupdsql_nrows "]" if ( dmupdsql_nrows != 1 ) { print "WARNING: dmupdsql failed." print "Adding new dirmesg row." print" dmaddsql = [" dmaddsql "]" dmaddsqlid = execute_sql(dbid0,dmaddsql) dmaddsql_nrows = result_arr[dmaddsqlid "|" "nrows"] print "dmaddsql_nrows=[" dmaddsql_nrows "]" if ( dmaddsql_nrows != 1 ) { print "ERROR: dmaddsql failed." } } print "" } print " ------------------------------------------------" } # run config conflict and update reports config_reports() my_exit(0) }