search cancel

DQ801E after adding comments to DQBATCH SYSIN

book

Article ID: 190320

calendar_today

Updated On:

Products

Datacom Datacom/DB

Issue/Introduction

While trying to add a second query to my DQBATCH input with comments to separate and explain them, I received an error

 */ ------------------- THIS IS A COMMENT LINE -----------------/*
 OPTION QUERYLANG=SQL
DQ801E - THE FIRST COMMAND IN YOUR QUERY IS NOT RECOGNIZABLE TO DATAQUERY

Why is this error saying my command is wrong? Is there some problem with my comments, or how can I use comments here?

Environment

Component : CA Dataquery for CA Datacom

Resolution

The problem here involves the location of your comments.

The DQBATCH processor considers a comment to be part of the query text. In this situation, there is a comment entered, and then an OPTION statement following it. Since OPTION is a setup command and not a valid query function (like FIND or COUNT) Error DQ801E is produced. The documentation for CA Dataquery comments (*/ and /* - Begin and End Comments) indicates that a comment needs to be in proximity to the query text (which is defined as everything after the OPTION statements, and before the EXECUTE statement). In other words, you cannot place a comment as the first card in SYSIN (SIGN/ON must be the first card), nor before any OPTION commands. Following the OPTION QUERYLANG= as the last non-query command, you could enter comments, as long as they had a continuation in column 72. You can even enter a comment after the last line of the query and before the EXEC if the continuation marks were properly entered.

It is also possible to stack two separate queries in the input, using continuation as appropriate, but the comments need to be in the proper location. Here is a sample of stacked queries with lots of comments:

----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
//SYSIN    DD   *                                                         

SIGN/ON DATACOM-INSTALL PASSWORD NEWUSER                                
OPTION STATISTICS=ALL                                                    
OPTION QUERYLANG=DQL                                                    
*/  COMMENT 1   /*                                                   $
*/  COMMENT 2   /*                                                   $
FIND ALL PERSONNEL WITH STATE-ADDRESS = 'IL'                           $
*/  COMMENT 3   /*                                                   $
PRINT NUMBER, NAME, CITY-ADDRESS, STATE-ADDRESS, SOCIAL-SECURITY       $
*/  COMMENT 4   /*                                                      
EXEC                                                                      
OPTION QUERYLANG=SQL

*/  COMMENT 5   /*                                                   $
*/  COMMENT 6   /*                                                   $
SELECT NUMBER, NAME, CITY_ADDRESS, STATE_ADDRESS, SOCIAL_SECURITY      $
FROM SYSUSR.PERSONNEL WHERE STATE_ADDRESS = 'IL'                     $
*/  COMMENT 4   /*                                                     
EXEC                                                                      
/*                                                                      

All of the purple text above is associated with the first query, and all the green text is associated with the second query. 

The key things to remember are:
1. Comments are considered query text and can only be entered where actua query functions and statements are allowed.
2. All query text - comments, commands, statements - must have a continuation character, other than the last line.

Additional Information

As always, please contact Broadcom support for CA Datacom if you have further questions.