Troubleshooting NEOSYS Media System: Difference between revisions

From NEOSYS Technical Support Wiki
Jump to navigationJump to search
No edit summary
Line 37: Line 37:
Re-save the schedule(s) that show the problem. This is identical to CREATEADS but is much quicker and doesnt require all users to logoff. Of course if there are many errors then this isnt a practical solution.
Re-save the schedule(s) that show the problem. This is identical to CREATEADS but is much quicker and doesnt require all users to logoff. Of course if there are many errors then this isnt a practical solution.


===Using Selective CREATEADS===
===Recovery Method 4: Using Selective CREATEADS===


The following recovery methods can be followed when users are online. They are slower and take more time. Any schedule open by users is not affected by CREATEADS, but the ads get created anyway when the schedule is saved. Avoid starting long running selective CREATEADS on a busy system. The following methods will not fix damaged files or recreate indexes.
The following recovery methods can be followed when users are online. They are slower and take more time. Any schedule open by users is not affected by CREATEADS, but the ads get created anyway when the schedule is saved. Avoid starting long running selective CREATEADS on a busy system. The following methods will not fix damaged files or recreate indexes.


====Recovery Method 4: All schedules ====
====All schedules====


To run CREATEADS for all schedules while users are online, you can follow the procedure mentioned below:
To run CREATEADS for all schedules while users are online, you can follow the procedure mentioned below:
Line 48: Line 48:
  CREATEADS
  CREATEADS


====Recovery Method 5: Specific schedules only====
====Specific schedules only====


The following method can be used for selected schedules instead of re-saving them:
The following method can be used for selected schedules instead of re-saving them:
Line 55: Line 55:
  CREATEADS
  CREATEADS


====Recovery method 6: For selected years only ====
====For selected years only ====


The following method can be used to select schedules in selected years:
The following method can be used to select schedules in selected years:
Line 62: Line 62:
  CREATEADS
  CREATEADS


===Recovery method 7: Selective REINDEXADS using Selective CREATEADS===
===Recovery method 5: Selective REINDEXADS using Selective CREATEADS===


Selective CREATEADS alone does not do a selective REINDEX. But it can be forced to do so by initially deleting all the ads of a particular schedule. Selecting on SCHEDULE_NO0, as shown below, results in a slow but complete search of all ads without using the index on SCHEDULE_NO
Selective CREATEADS alone does not do a selective REINDEX. But it can be forced to do so by initially deleting all the ads of a particular schedule. Selecting on SCHEDULE_NO0, as shown below, results in a slow but complete search of all ads without using the index on SCHEDULE_NO

Revision as of 13:37, 25 July 2016

Run CREATEADS

CREATEADS can be implemented in several ways. Make sure after implementing CREATEADS, that it has successfully completed by

  1. Checking for a "CREATEADS finished" email
  2. Checking for an entry in the log which says "CREATEADS finished"

CREATEADS will completely rebuild !ADS index file so it is a solution for fixing damaged !ADS index file *but* REINDEXADS may be a better solution for this problem if there is a lot of data since it will not waste time recreating all the ads.

For NEOSYS versions before 15th May 2016, CREATEADS crashes during morning (recovery method 1 below) and even other times when handling large numbers of ads.

Recovery method 1: Media configuration file

Ads can be scheduled to recreate overnight in media configurations file. This setting in the configuration file runs CREATEADS overnight. CREATEADS will recreate ads from the current year plus the number of years prior to the current year.

E.g. If the current year is 2013 and you would like CREATEADS to recreate ads from 2012, configure number of years as 1. This means CREATEADS will recreate ads from 2012 to the current period.

Createads.jpg

After requesting this, the first NEOSYS process to startup before 7am on the next day will first perform CREATEADS before starting up the other processes. CREATEADS will run only on the LIVE database.

CREATEADS will not run unless system time is less than 7am. This is to ensure that CREATEADS is scheduled early and does not extend long enough to encroach on the users' working hours the next day.

Recovery method 2: Maintenance mode

This can take a long time on a large database and requires all users/NEOSYS processes for the same database to be shut down.

It will fix damaged ADS and !ADS files and recreate indexes.

F5
CREATEADS

Recovery method 3: Re-save schedules

It will not fix damaged files or recreate indexes.

Re-save the schedule(s) that show the problem. This is identical to CREATEADS but is much quicker and doesnt require all users to logoff. Of course if there are many errors then this isnt a practical solution.

Recovery Method 4: Using Selective CREATEADS

The following recovery methods can be followed when users are online. They are slower and take more time. Any schedule open by users is not affected by CREATEADS, but the ads get created anyway when the schedule is saved. Avoid starting long running selective CREATEADS on a busy system. The following methods will not fix damaged files or recreate indexes.

All schedules

To run CREATEADS for all schedules while users are online, you can follow the procedure mentioned below:

SELECT SCHEDULES
CREATEADS

Specific schedules only

The following method can be used for selected schedules instead of re-saving them:

SELECT SCHEDULES “XYZ1201R” “XYZ1201T”
CREATEADS

For selected years only

The following method can be used to select schedules in selected years:

SELECT SCHEDULES WITH YEAR_PERIOD STARTING '10.' '11.'
CREATEADS

Recovery method 5: Selective REINDEXADS using Selective CREATEADS

Selective CREATEADS alone does not do a selective REINDEX. But it can be forced to do so by initially deleting all the ads of a particular schedule. Selecting on SCHEDULE_NO0, as shown below, results in a slow but complete search of all ads without using the index on SCHEDULE_NO

SELECT ADS WITH SCHEDULE_NO0 "XYZ1234A"
DELETE ADS
SELECT SCHEDULES "XYZ1234A"
CREATEADS

PLAN.SUB UPD.ADS subject mails

System generated email with subject PLAN.SUB UPD.ADS XYZ (XYZ is the schedule number) contains the below message. This email is an indication that schedule XYZ is very big and if steps are not taken to control the size then schedule XYZ will eventually lead to B703 error. Solutions to handle this schedule are same as B703 Errors.

The key list has exceeded the maximum allowed length.	
The list will be truncated.	
Do you want to continue? [Y/N]

B703 Errors

The B703 error is usually always related to something too big for NEOSYS to handle. It occurs when the user puts in too many ads in one schedule without setting up the vehicle to allow the same.

e.g In digital or radio/tv media there are hundred thousand impressions and hundreds of ads to be placed by the Clients. If a user puts these many ads in the schedule without checking the "Bulk Ad" option in the vehicle/Schedule file or putting all ads in a package, B703 errors will occur in NEOSYS. In the old version of NEOSYS, certification option is present in the Vehicle file instead of "Bulk Ad". If Bulk Ad is not enabled then no user will be able to add unlimited ads for a vehicle.

An example of this error is as follows :

ERROR NO: B703 IN BOOKING.SUBS3 AT 1264
Variable exceeds maximum length.0

The two solutions are explained in detail below:

Solution 1

For mass advertising like Digital, Radio or any Media where you do not want to certify individual ads one by one

  1. Go to the respective vehicle file which has the too many Ads in the schedule and check the "Bulk Ad" option and save the file. You can also check "Bulk Ad" option using the schedule file
  2. Make sure Refresh the schedule screen to avoid getting cached old versions of the vehicle, either using the NEOSYS refresh button or reload the page
  3. Copy the schedule to a new schedule record (perhaps XXXB to keep the number where XXX is the previous schedule no)
  4. Delete the remainder of the ads (unbooked/uninvoiced) from the old schedule and delete the already booked and invoiced ads from the new one.
  5. Do not forget to check "Bulk Ad" on the new schedule if you are going to enable it using the schedule file.
  6. Save both the schedules.
  7. You might face problems and need NEOSYS Programmer's help to save the Old Schedule even after deleting a lot of things but deleting the old ads is less time critical perhaps (unless Client is invoicing them) than getting the new ads booked.
  8. Check that the new schedule has indeed switched to SUMMARY as follows:

In maintenance mode type

LIST SCHEDULES "16xxx" VEHICLE_CODE MASS_AD_FLAG

where 16xxx is the schedule code

and check that there is a 1 next to EVERY vehicle (not just the 1st few as in the following screenshot)

ScheduleAds.jpg

Advehicle.jpg

Solution 2

The package solution

This is the simplest solution. The idea is to put the ads as a package of ONE ad and put the gross unit price as the TOTAL price.
The ONE ad for many ads is great for packages

Impressions.jpg

There are other B703 messages which imply the same problem about too many ads, for eg:

"ERROR NO: B703 IN UPD.ADS" when saving schedules  
"ERROR NO: B703 IN PRINTPLANS" when creating invoices.
"ERROR NO: B703 IN PRINTPLANS6" when printing schedules.

Deleting Schedules using the Maintenance Window in NEOSYS

There can be a situation where Support may need to delete a Schedule via Maintenance with prior approval from the Client users. e.g. When users are not be able to access a schedule on NEOSYS and they want to delete it and create a new one. One reason for not being able to access a Schedule may be an Error saying Following Characters not allowed.If even after following the steps given in the link Support is not able to access the schedule, then follow the commands below to delete it.

Support MUST make sure before Deleting that no Ad is booked/certified/invoiced because in such cases there will be associated records saved in the database which also need to be removed, therefore Support MUST never go ahead with the steps below.


SELECT ADS WITH SCHEDULE_NO "XXXXXXXX"
DELETE ADS
FLUSH.INDEX
DELETE SCHEDULES "XXXXXXXX"

Support MUST run Media Diary Reports to make sure the Schedule and all its Ads are deleted.

╒═══════════════════════════════════TCL - 2══════════════════════════════════╕
│                                                                            │
│ :select ads with schedule_no "BCOCO0115K-PD9011ب-FB"                       │
│                                                                            │
╘════════════════════════════════════════════════════════════════════════════╛
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕
│                                                                            │
│ :delete ads                                                                │
│                                                                            │
╘════════════════════════════════════════════════════════════════════════════╛
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕
│                                                                            │
│ :FLUSH.INDEX                                                               │
│                                                                            │
╘════════════════════════════════════════════════════════════════════════════╛
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕
│                                                                            │
│ :delete schedules "BCOCO0115K-PD9011ب-FB"                                  │
│                                                                            │
╘════════════════════════════════════════════════════════════════════════════╛