SAP Message AQV154 - Do all fields used have a name? (use help)

Diagnosis
This is only a warning. A generated version of the functional areais always provided.
When generating query reports for queries with this functional area,access to database and additional tables is optimized so that only thefields really needed are provided (GET or SELECT with field list). Thisgreatly improves performance over the technique in which all the fieldsof a table line are provided (GET without field list or SELECT *).
The current functional area might not contain all the information fordetermining the required fields. In query reports this could mean thatrequired fields only contain their initial value when the reports areprocessed.
You should therefore check if one of the cases described below istrue and correct your functional area accordingly.
To optimize access to the database and addditionyl tables, the fieldsneeded to generate a query report are determined when you generate afunctional area. These can be the following fields:

  • Fields inserted in functional groups

  • Fields used to formulate WHERE conditions in assigned tables

  • Fields addressed in the coding of additional fields

  • Fields addressed in the coding at timepoints GET / GET LATE or during
  • record processing
    The current functional area contains ABAP code for defining additionalfields or at timepoints GET / GET LATE or during record processing.Because ABAP language elements can be used freely, you can access thesefields within such codings without explicitly specifying them (fieldsymbols, external perform, DO ... VARYING, ADD ... THEN ... UNTIL,etc.).
    To ensure that you generate the query report without errors, you mustbe able to determine the fields accessed from each (!) piece of coding(additional field, GET / GET LATE / record processing). This requiresthat each field used is also specified in this piece of coding.

    Procedure
    If one of the pieces of coding contains ABAP statements that implicitlyaccess fields, use the FIELDS statement within the coding to ensurethat all the database, table and additional fields used are alsospecified explicitly.
    Example:
    Table KNC1 contains fields UM01U, UM02U and UM03U with the monthlybusiness volume for the first three months of a year. An additionalfield Q1 that should contain the business volume for the first quartercomputes the sum of these three fields using an external perform.
    PERFORM QUARTAL1(pppppppp) USING Q1.
    Fields KNC1-UM01U, KNC1-UM02U and KNC1-UM03U are accessed with thecommon storage area for table KNC1 in the query report and in thecalled program pppppppp. You cannot see in the given coding that thespecified fields are required. You therefore have to change this pieceof coding as follows:
    PERFORM QUARTAL1(pppppppp) USING Q1.
    FIELDS: KNC1-UM01U, KNC1-UM02U, KNC1-UM03U.
    Note that you must do this separately for each piece of coding since apiece of coding is only copied the query report if this is necessary.It therefore has to be determined separately for each piece of codingthat requires fields.
    Also note that only the fields used immediately have to be specified inthe coding.
    Example
    The additional fields F1 and F2 are defined with the following coding:
    F1: F1 = tab-field. " tab-field is a database field
    F2: F2 = F1 + 2.
    Although F2 indirectly accesses tab-field , you do not have to specifytab-field in the coding of F2 as a used field. Such indirect referencesare automatically resolved when you generate the functional area. Thecodings for both additional fields are correct in the present form.
    In exceptions, the statement
    FIELDS tab.
    can be used in coding, where tab is a database table or an additionaltable. This causes all fields of table tab to be provided in the queryreport. Note that in this case you switch off optimized access to tabletab and thus greatly reduce performance when processing queries.