Troubleshooting NEOSYS Media System: Difference between revisions

From NEOSYS Technical Support Wiki
Jump to navigationJump to search
 
(38 intermediate revisions by 6 users not shown)
Line 7: Line 7:


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.
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 ===
===Recovery method 1: Media configuration file ===
Line 33: Line 35:
It will not fix damaged files or recreate indexes.  
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.
Re-save the schedule(s) that show the problem. This is identical to CREATEADS but is much quicker and doesn't require all users to log off. Of course if there are many errors then this isn't 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 46: 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 53: 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 59: Line 61:
  SELECT SCHEDULES WITH YEAR_PERIOD STARTING '10.' '11.'
  SELECT SCHEDULES WITH YEAR_PERIOD STARTING '10.' '11.'
  CREATEADS
  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 [[Troubleshooting_NEOSYS_Media_System#B703_Errors | 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 ==
== B703 Errors ==


The B703 error is usually always related to something too big for NEOSYS to handle.  
The B703 error is often 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.
It occurs when the user puts in too many ads on 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 :
An example of this error is as follows :
Line 70: Line 90:
  Variable exceeds maximum length.0
  Variable exceeds maximum length.0


=== SOLUTION 1 ===
Support MUST respond to such errors in a firm and effective manner to prevent any individual client user from causing this error again as every time the client causes this error, there may be more damage done to the database, which in turn will cause more work for the client and NEOSYS.
 
Various 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'''
 
# 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 [http://userwiki.neosys.com/index.php/Schedule_file#Bulk_Ad check "Bulk Ad" option using the schedule file]
#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
#Copy the schedule to a new schedule record (perhaps XXXB to keep the number where XXX is the previous schedule no)
#Delete the remainder of the ads (unbooked/uninvoiced) from the old schedule and delete the already booked and invoiced ads from the new one.
#Do not forget to check "Bulk Ad" on the new schedule if you are going to enable it using the schedule file.
#Save both the schedules.
#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.
#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)
 
[[File:ScheduleAds.jpg]]
 
[[File:Advehicle.jpg]]
 
=== Solution 2 ===
 
'''The package solution'''


<b> The package solution </b> <br><br>
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.<br>
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.<br>
The ONE ad for many ads is great for packages
The ONE ad for many ads is great for packages


=== SOLUTION 2 ===
[[File:Impressions.jpg]]


<b> For mass advertising like online </b>
=== Solution 3 ===


# Go to the respective vehicle file, and change the “Certification” field to “Summary” and save the file. (Refer Screenshot below)
[http://userwiki.neosys.com/index.php/Media_FAQ#How_to_split_large_schedules.3F Split the Schedule] for below errors
# Now, Add a new line to the schedule as the changes made are ONLY reflected on a NEW line.  
# If the schedule was not invoiced, then you may delete the line that was entered earlier by clicking on the delete line button, else click the "CLEAR" button to remove the ads that were entered for that line in the schedule.
# Re-enter the details on the newly added line in the schedule. i.e. Vehicle code, Specification / loading, dates, etc.  
# Now book the ads on the schedule.


[[File:vehicle-certification1.jpg]]
"ERROR NO: B703 IN PRINTPLANS6" when printing schedules.
 
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 UPD.ADS" when saving schedules   


  "ERROR NO: B703 IN PRINTPLANS" when creating invoices.
  "ERROR NO: B703 IN PRINTPLANS" when creating invoices.
=== [[Troubleshooting_NEOSYS_Agency_System#Handling_B703_error_in_Index_files| Other B703 errors]] ===
=== Sample email to clients facing B703 error ===
<pre>Dear <XXXX>
Please either mark every vehicle line with the bulk option or split the schedule into two separate schedules.
B703 errors are related to something too big for NEOSYS to handle. A B703 error will happen when you try to print, book, certify or invoice a schedule with more than 10,000 ads in total. NEOSYS can't handle vehicles with too many ads unless the "Bulk Ads" option is used. For example, Digital/Radio/TV media where there are hundred thousand impressions or hundreds of ads to be placed.
* Solution 1 - Bulk Ads
For the current schedule file, check the "Bulk" option on all vehicle lines (1st screenshot).
To prevent this from happening in the future, enable the "Bulk ads" option in the vehicle file (2nd screenshot) and you won't have to do the above every time you use the vehicle when booking large numbers of ads.
* Solution 2 - Splitting schedules
Schedules can be split into smaller schedules to avoid B703 errors. Refer:  http://userwiki.neosys.com/index.php/Media_FAQ#How_to_split_large_schedules.3F
Split the schedule for below errors:


  "ERROR NO: B703 IN PRINTPLANS6" when printing schedules.
  "ERROR NO: B703 IN PRINTPLANS6" when printing schedules.
"ERROR NO: B703 IN UPD.ADS" when saving schedules
"ERROR NO: B703 IN PRINTPLANS" when creating invoices.
* Solution 3 - One package
Another simple solution is the package 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.
<screenshots of bulk option on schedule file and on vehicle file></pre>


== Deleting Schedules using the Maintenance Window in NEOSYS ==
== Deleting Schedules using the Maintenance Window in NEOSYS ==


There can be situations where Support may need to delete a Schedule via Maintenance with approval from the Client users. e.g Users are not be able to access a schedule on NEOSYS and they want to delete the schedule and create a new one. One reason for this may be an [[Troubleshooting_NEOSYS_Generally#Solving_.22Following_Characters_are_not_Allowed_here.22_while_opening_a_document_in_NEOSYS|Error saying Following Characters not allowed while opening a schedule]].
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 [http://userwiki.neosys.com/index.php/Troubleshooting_NEOSYS_Generally#Handling_Error_.22Following_Characters_are_not_Allowed_here.22_while_opening_a_document_in_NEOSYS 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.  
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.  


'''Before Deleting''' Support '''must''' make sure that Ads inside the schedule must not be 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.  
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.  




Line 110: Line 184:
  DELETE SCHEDULES "XXXXXXXX"
  DELETE SCHEDULES "XXXXXXXX"


Remember to delete the Ads first otherwise even after deleting the Schedule, the Ads will appear in Reports. You must run Media reports to make sure everything is deleted.
Support MUST run Media Diary Reports to make sure the Schedule and all its Ads are deleted.
 
<pre>
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕
│                                                                            │
│ :select ads with schedule_no "BCOCO0115K-PD9011ب-FB"                      │
│                                                                            │
╘════════════════════════════════════════════════════════════════════════════╛
</pre>
 
<pre>
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕
│                                                                            │
│ :delete ads                                                                │
│                                                                            │
╘════════════════════════════════════════════════════════════════════════════╛
</pre>
 
<pre>
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕
│                                                                            │
│ :FLUSH.INDEX                                                              │
│                                                                            │
╘════════════════════════════════════════════════════════════════════════════╛
</pre>
 
<pre>
╒═══════════════════════════════════TCL - 2══════════════════════════════════╕
│                                                                            │
│ :delete schedules "BCOCO0115K-PD9011ب-FB"                                  │
│                                                                            │
╘════════════════════════════════════════════════════════════════════════════╛
</pre>
 
== Deleting empty Booking Order using the Maintenance Window in NEOSYS ==
 
An empty booking order may appear in the list of booking orders if some error occurs when creating a booking order.
 
This empty order can be deleted in Maintenance mode as shown below.
 
In maintenance mode type
 
ED BOOKING.ORDERS <nowiki>''</nowiki> 1
 
This will open the problematic booking order file as below.
 
Pressing Alt+D twice on the order <nowiki>' '</nowiki>


[[File:Delete schedule.png]]
[[File:Boempty.jpg]]


[[File:Delete schedules1.png]]
Then press ESC on order 1


[[File:Delete schedule22.png]]
The problematic booking order will no longer appear in List of Booking Orders.

Latest revision as of 12:14, 1 August 2018

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 doesn't require all users to log off. Of course if there are many errors then this isn't 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 often 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

Support MUST respond to such errors in a firm and effective manner to prevent any individual client user from causing this error again as every time the client causes this error, there may be more damage done to the database, which in turn will cause more work for the client and NEOSYS.

Various 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

Solution 3

Split the Schedule for below errors

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

Other B703 errors

Sample email to clients facing B703 error

Dear <XXXX>

Please either mark every vehicle line with the bulk option or split the schedule into two separate schedules.

B703 errors are related to something too big for NEOSYS to handle. A B703 error will happen when you try to print, book, certify or invoice a schedule with more than 10,000 ads in total. NEOSYS can't handle vehicles with too many ads unless the "Bulk Ads" option is used. For example, Digital/Radio/TV media where there are hundred thousand impressions or hundreds of ads to be placed.

* Solution 1 - Bulk Ads

For the current schedule file, check the "Bulk" option on all vehicle lines (1st screenshot).

To prevent this from happening in the future, enable the "Bulk ads" option in the vehicle file (2nd screenshot) and you won't have to do the above every time you use the vehicle when booking large numbers of ads.

* Solution 2 - Splitting schedules

Schedules can be split into smaller schedules to avoid B703 errors. Refer:  http://userwiki.neosys.com/index.php/Media_FAQ#How_to_split_large_schedules.3F

Split the schedule for below errors:

 "ERROR NO: B703 IN PRINTPLANS6" when printing schedules.

 "ERROR NO: B703 IN UPD.ADS" when saving schedules

 "ERROR NO: B703 IN PRINTPLANS" when creating invoices.

* Solution 3 - One package

Another simple solution is the package 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.

<screenshots of bulk option on schedule file and on vehicle file>

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"                                  │
│                                                                            │
╘════════════════════════════════════════════════════════════════════════════╛

Deleting empty Booking Order using the Maintenance Window in NEOSYS

An empty booking order may appear in the list of booking orders if some error occurs when creating a booking order.

This empty order can be deleted in Maintenance mode as shown below.

In maintenance mode type

ED BOOKING.ORDERS '' 1

This will open the problematic booking order file as below.

Pressing Alt+D twice on the order ' '

Boempty.jpg

Then press ESC on order 1

The problematic booking order will no longer appear in List of Booking Orders.