block

Detail block of data

...

Syntax:

block Name [ AcceptsObjidList ] [ RequiredComponent ] {
[ Filters ] [ Parameters ] [ CursorDefinition ] [ BlockDefinition ] Attributes [ Entities ] [ Aggregates ] PropertyArray
}

Name

Name of the block

Syntax:

<Identifier>

Restrictions:

AcceptsObjidList

Syntax:

#AcceptsObjidList

RequiredComponent

Name of a required component

When a required component is used, the report block will not be executed unless the component is installed in the database.

Syntax:

requires <UppercaseIdentifier>

block Scene requires FILMDB {
   attributes {
      attribute SceneIndex  Integer;
      attribute Duration    Number;
      attribute Content     Text(2000);
   }
   entities {
   }
}

Note:   This functionality uses PL/SQL conditional compilation. When the required component gets installed, compilation errors can occur for the part of PL/SQL code that gets active.

Restrictions:

Filters

List of block filters

Syntax:

filter on BlockFilter ( ,BlockFilter )* ;

filter on Genre;

Parameters

List of block parameters

Syntax:

bindings {
( BlockParameter )+
}

block Biography {
   bindings {
      parameter ActorId Number;
   }

CursorDefinition

SQL select statement to retrieve data

Syntax:

SQL-Statement
<SqlStatement> ;

To make use of binding parameters, the statement must contain references to them in it's WHERE-clause

filter on Genre;
PL/SQL-Block {
   BEGIN
      :ActorBiography := (:ActorCount > 0);
   END;
}
attributes {
   attribute ActorCount  Number;
}
aggregates {
   aggregate ActorData[] Biography() conditionally ActorBiography;
}
}

block Biography {
bindings {
   parameter ActorId Number;
}
SQL-Statement
SELECT * 

When filters are used, the statement will gen a dynamically prepared WHERE-clause that is formatted according to the actual filter values.

Note:   Must begin with the word 'SELECT' or 'CURSOR' and end with ';'.

BlockDefinition

For-each-row PL/SQL execution block

An optional PL/SQL block that is executed for each fetched row.

Syntax:

PL/SQL-Block{
<PlsqlStatement>
}

PL/SQL-Block {
   BEGIN
      :ActorBiography := (:ActorCount > 0);
   END;
}

Both conditions and attributes can be referenced in the PL/SQL code as bind variables. Also, attribute values can be set by the code.

Note:   Must begin with the word 'DEFINE' or 'BEGIN' and end with 'END;'.

Attributes

List of block attributes

Syntax:

attributes {
( Attribute )*
}

Entities

List of entity connections

Syntax:

entities {
( Rowkey )*
}

Aggregates

List of aggregated detail blocks

Syntax:

aggregates {
( Aggregate )+
}


This page is generated from IFS Developer Studio at 2021-08-13 08:48.