SlideShare a Scribd company logo
Working With Record Groups
http://ebiztechnics.blogspot.com
Objectives
• Describe the record group object
• Use record groups
• Define record groups at design time
• Control record groups by using built-in functions
• Define query record groups programmatically
• Define nonquery record groups programmatically
• Manipulate record group rows
• Define lists of values (LOVs) programmatically
• Manipulate list items programmatically
• Implement dynamic list items
• Add values to combo boxes
http://ebiztechnics.blogspot.com
Types of Record Groups
Query Non Query Static
 Based on a
SELECT
Statement
 Design Time
 Run Time
 Not Based on a
SELECT
Statement
 Run Time
 Not Based on a
SELECT
Statement
 Design Time
http://ebiztechnics.blogspot.com
Record Groups and LOVs
Record groups and LOVs
• Forms implicitly creates query record groups.
• Use SET_LOV_PROPERTY to replace
default record group.
...
IF Get_LOV_Property(lov_id,GROUP_NAME) ='GROUP1'
THEN
Set_LOV_Property(lov_id,GROUP_NAME,'GROUP2');
END IF;
...
http://ebiztechnics.blogspot.com
Uses of Record Groups
• Constructing dynamic Queries
• Storing form-configuration information
• Communicating within a form
• Passing data to other forms
• Passing data to other Oracle products
– Reports
– Graphics
• Populating or storing list items
• Populating Hierarchical Tree items
http://ebiztechnics.blogspot.com
Defining Record Groups at Design Time
http://ebiztechnics.blogspot.com
Creating and Deleting Record Groups
CREATE_GROUP CREATE_GROUP_FROM_QUERY
Record
group ID
Record
group ID
ID Name
DELETE_GROUP
Name, QueryName
http://ebiztechnics.blogspot.com
Modifying the Structure
ADD_GROUP_ROW
DELETE_GROUP_ROW
Row No ID Dname Loc
1 10 Accounting
2
3 20 Sales
4 30 Finance
ADD_GROUP_COLUMN
SET_GROUP_CHAR_CELL
GET_GROUP_NUMBER_CELL
http://ebiztechnics.blogspot.com
Populating Query Record Groups
POPULATE_GROUP
(_WITH_QUERY)
SELECT deptno ID, dname
FROM dept
ID
10
20
30
40
Dname
ACCOUNTING
SALES
FINANCE
OPERATIONS
http://ebiztechnics.blogspot.com
Processing Record Group Rows
GET_GROUP_SELECTION_COUNT
SET_GROUP_SELECTION
GET_GROUP_SELECTION
Selection No Row No
1
1 2
3
2 4
ID Name
1 James
2 King
3 Allen
4 Smith
GET_GROUP_ROW_COUNT
http://ebiztechnics.blogspot.com
Defining Query Record Groups
Programmatically
Find Record Group
ID NULL ?
Create Group from Query
Populate Group
Yes
No
http://ebiztechnics.blogspot.com
Defining Nonquery Record Groups
Programmatically
Find Record Group
ID NULL ?
Create Group
Yes
No
Add Group Columns
Add Group Row
Set Group Cell Values
Delete Group Rows
Find Group Columns
http://ebiztechnics.blogspot.com
Manipulating Record Groups
Get number of group rows
For all
group
rows
Cell value=
given value
Yes No
Return row
number
Return NULL
http://ebiztechnics.blogspot.com
Manipulating Selected Record Group Rows
For all
group
rows
Get number of group rows
Row number
even?
Yes No
Mark row
as selected
http://ebiztechnics.blogspot.com
Defining Global Record Groups
• Record group visible to all forms in
an application
• “Scope” parameter
– FORM_SCOPE (default)
– GLOBAL_SCOPE
...CREATE_GROUP(‘emp_rg’, GLOBAL_SCOPE’);
...CREATE_GROUP_FROM_QUERY(‘emp_rg’,
‘SELECT empno FROM emp’, ‘GLOBAL_SCOPE’);
http://ebiztechnics.blogspot.com
Manipulating List Items Programmatically
• ADD_LIST_ELEMENT
• DELETE_LIST_ELEMENT
• CLEAR_LIST
• GET_LIST_ELEMENT_LABEL
• GET_LIST_ELEMENT_VALUE
• GET_LIST_ELEMENT_COUNT
• POPULATE_LIST
• RETRIEVE_LIST
http://ebiztechnics.blogspot.com
Using List Item with Record Groups
Record Group
POPULATE_LIST RETRIEVE_LIST
http://ebiztechnics.blogspot.com
Implementing Dynamic List Items
Find record group
Yes ID NULL? No
Create group from query
Populate group
Yes Success? No
Populate list
Display first list label
http://ebiztechnics.blogspot.com
Adding Values to Combo Boxes
Get number of list elements
For all
list
elements
Element value=
Item value?
Yes No
Return
Add list element with item value
http://ebiztechnics.blogspot.com
Summary
• Define design-time query and static record groups
• Define run time query and non-query record groups
• Use Built-in functions for populating record groups
• Define Global record groups
• Use record groups for:
– Constructing dynamic SELECT statements
– Storing or passing data
– Populating or storing list items
• Manipulate list items programmatically
– Built-in functions for list items
http://ebiztechnics.blogspot.com

More Related Content

What's hot

Oracle forms developer 10g vol1
Oracle forms developer 10g vol1Oracle forms developer 10g vol1
Oracle forms developer 10g vol1
abdull466
 

What's hot (20)

Oracle Forms : Reusable Components
Oracle Forms : Reusable ComponentsOracle Forms : Reusable Components
Oracle Forms : Reusable Components
 
Oracle Form material
Oracle Form materialOracle Form material
Oracle Form material
 
Oracle Forms: Introduction to multiple Forms
Oracle Forms: Introduction to multiple FormsOracle Forms: Introduction to multiple Forms
Oracle Forms: Introduction to multiple Forms
 
Oracle Forms- key triggers
Oracle Forms- key triggersOracle Forms- key triggers
Oracle Forms- key triggers
 
Oracle Forms Triggers
Oracle Forms TriggersOracle Forms Triggers
Oracle Forms Triggers
 
Oracle Forms: Data Blocks on Different Sources
Oracle Forms: Data Blocks on Different SourcesOracle Forms: Data Blocks on Different Sources
Oracle Forms: Data Blocks on Different Sources
 
Oracle Forms : Transnational Triggers
Oracle Forms : Transnational TriggersOracle Forms : Transnational Triggers
Oracle Forms : Transnational Triggers
 
Oracle Forms: Non input Items
Oracle Forms:  Non input ItemsOracle Forms:  Non input Items
Oracle Forms: Non input Items
 
Inventory in Oracle apps
Inventory in Oracle apps Inventory in Oracle apps
Inventory in Oracle apps
 
Oracle Personalization How To Restricting users from assigning items to diffe...
Oracle Personalization How To Restricting users from assigning items to diffe...Oracle Personalization How To Restricting users from assigning items to diffe...
Oracle Personalization How To Restricting users from assigning items to diffe...
 
Oracle forms developer 10g vol1
Oracle forms developer 10g vol1Oracle forms developer 10g vol1
Oracle forms developer 10g vol1
 
Oracle Forms Tutorial (www.aboutoracleapps.com)
Oracle Forms Tutorial (www.aboutoracleapps.com)Oracle Forms Tutorial (www.aboutoracleapps.com)
Oracle Forms Tutorial (www.aboutoracleapps.com)
 
Oracle Forms: Messages
Oracle Forms: MessagesOracle Forms: Messages
Oracle Forms: Messages
 
Oracle Forms Mouse triggers
Oracle Forms Mouse triggersOracle Forms Mouse triggers
Oracle Forms Mouse triggers
 
Oracle Forms: Master Detail form
Oracle Forms: Master Detail formOracle Forms: Master Detail form
Oracle Forms: Master Detail form
 
Oracle Forms-Canvas types
Oracle Forms-Canvas typesOracle Forms-Canvas types
Oracle Forms-Canvas types
 
Forms 6i guide
Forms 6i guideForms 6i guide
Forms 6i guide
 
Oracle WIP – Supply Types:
Oracle WIP – Supply Types:Oracle WIP – Supply Types:
Oracle WIP – Supply Types:
 
Oracle inventory R12 Setup Guide
Oracle inventory R12 Setup GuideOracle inventory R12 Setup Guide
Oracle inventory R12 Setup Guide
 
How to convert custom plsql to web services-Soap OR Rest
How to convert custom plsql to web services-Soap OR RestHow to convert custom plsql to web services-Soap OR Rest
How to convert custom plsql to web services-Soap OR Rest
 

Viewers also liked

Oracle 10g Forms Lesson 6
Oracle 10g Forms Lesson  6Oracle 10g Forms Lesson  6
Oracle 10g Forms Lesson 6
KAMA3
 
Oracle 10g Forms Lesson 7
Oracle 10g Forms Lesson  7Oracle 10g Forms Lesson  7
Oracle 10g Forms Lesson 7
KAMA3
 
Manual oracle forms 6i
Manual oracle forms 6iManual oracle forms 6i
Manual oracle forms 6i
UMSA
 
Oracle Applications R12 Architecture
Oracle Applications R12 ArchitectureOracle Applications R12 Architecture
Oracle Applications R12 Architecture
Viveka Solutions
 

Viewers also liked (18)

Oracle apps online training
Oracle apps online trainingOracle apps online training
Oracle apps online training
 
Oracle Forms : Timers
Oracle Forms : TimersOracle Forms : Timers
Oracle Forms : Timers
 
Oracle 10g Forms Lesson 12
Oracle 10g Forms Lesson 12Oracle 10g Forms Lesson 12
Oracle 10g Forms Lesson 12
 
Oracle Forms :Window and Canvases
Oracle Forms :Window and CanvasesOracle Forms :Window and Canvases
Oracle Forms :Window and Canvases
 
Oracle Applications R12 architecture
Oracle Applications R12 architectureOracle Applications R12 architecture
Oracle Applications R12 architecture
 
Introduction to Oracle ERP
Introduction to Oracle ERPIntroduction to Oracle ERP
Introduction to Oracle ERP
 
Oracle plsql and d2 k interview question1
Oracle plsql and d2 k interview question1Oracle plsql and d2 k interview question1
Oracle plsql and d2 k interview question1
 
Oracle 10g Forms Lesson 10
Oracle 10g Forms Lesson 10Oracle 10g Forms Lesson 10
Oracle 10g Forms Lesson 10
 
Oracle 10g Forms Lesson 11
Oracle 10g Forms Lesson 11Oracle 10g Forms Lesson 11
Oracle 10g Forms Lesson 11
 
Oracle 10g Forms Lesson 6
Oracle 10g Forms Lesson  6Oracle 10g Forms Lesson  6
Oracle 10g Forms Lesson 6
 
Oracle 10g Forms Lesson 8
Oracle 10g Forms Lesson 8Oracle 10g Forms Lesson 8
Oracle 10g Forms Lesson 8
 
Oracle forms Lesson 15 debuging triggers
Oracle forms Lesson 15  debuging triggersOracle forms Lesson 15  debuging triggers
Oracle forms Lesson 15 debuging triggers
 
Oracle 10g Forms Lesson 7
Oracle 10g Forms Lesson  7Oracle 10g Forms Lesson  7
Oracle 10g Forms Lesson 7
 
Oracle 10g Forms Lesson 9
Oracle 10g Forms Lesson 9Oracle 10g Forms Lesson 9
Oracle 10g Forms Lesson 9
 
Oracle BI Publsiher Using Data Template
Oracle BI Publsiher Using Data TemplateOracle BI Publsiher Using Data Template
Oracle BI Publsiher Using Data Template
 
Oracle Framework Personalization
Oracle Framework PersonalizationOracle Framework Personalization
Oracle Framework Personalization
 
Manual oracle forms 6i
Manual oracle forms 6iManual oracle forms 6i
Manual oracle forms 6i
 
Oracle Applications R12 Architecture
Oracle Applications R12 ArchitectureOracle Applications R12 Architecture
Oracle Applications R12 Architecture
 

Similar to Oracle Forms: Record Groups

DSpace 4.2 Transmission: Import/Export
DSpace 4.2 Transmission: Import/ExportDSpace 4.2 Transmission: Import/Export
DSpace 4.2 Transmission: Import/Export
DuraSpace
 
Stepping Into Custom Post Types
Stepping Into Custom Post TypesStepping Into Custom Post Types
Stepping Into Custom Post Types
K.Adam White
 
Shshsjsjsjs-4 - Copdjsjjsjsjsjakakakaaky.pptx
Shshsjsjsjs-4 - Copdjsjjsjsjsjakakakaaky.pptxShshsjsjsjs-4 - Copdjsjjsjsjsjakakakaaky.pptx
Shshsjsjsjs-4 - Copdjsjjsjsjsjakakakaaky.pptx
086ChintanPatel1
 
Wordpress search-elasticsearch
Wordpress search-elasticsearchWordpress search-elasticsearch
Wordpress search-elasticsearch
Taylor Lovett
 

Similar to Oracle Forms: Record Groups (20)

Mentor Your Indexes
Mentor Your IndexesMentor Your Indexes
Mentor Your Indexes
 
Record store
Record storeRecord store
Record store
 
Unit testing PHP apps with PHPUnit
Unit testing PHP apps with PHPUnitUnit testing PHP apps with PHPUnit
Unit testing PHP apps with PHPUnit
 
Full Text Search In PostgreSQL
Full Text Search In PostgreSQLFull Text Search In PostgreSQL
Full Text Search In PostgreSQL
 
.NET Fest 2018. Дмитрий Иванов. Иммутабельные структуры данных в .NET: зачем ...
.NET Fest 2018. Дмитрий Иванов. Иммутабельные структуры данных в .NET: зачем ....NET Fest 2018. Дмитрий Иванов. Иммутабельные структуры данных в .NET: зачем ...
.NET Fest 2018. Дмитрий Иванов. Иммутабельные структуры данных в .NET: зачем ...
 
Introduction to Drupal 7 - Taxonomy Categorization - Homework included
Introduction to Drupal 7 - Taxonomy Categorization - Homework includedIntroduction to Drupal 7 - Taxonomy Categorization - Homework included
Introduction to Drupal 7 - Taxonomy Categorization - Homework included
 
Taxonomy Everywhere
Taxonomy EverywhereTaxonomy Everywhere
Taxonomy Everywhere
 
Oracle ebs r12eam part2
Oracle ebs r12eam part2Oracle ebs r12eam part2
Oracle ebs r12eam part2
 
Property Based Testing in PHP
Property Based Testing in PHPProperty Based Testing in PHP
Property Based Testing in PHP
 
DSpace 4.2 Transmission: Import/Export
DSpace 4.2 Transmission: Import/ExportDSpace 4.2 Transmission: Import/Export
DSpace 4.2 Transmission: Import/Export
 
SQLGitHub - Access GitHub API with SQL-like syntaxes
SQLGitHub - Access GitHub API with SQL-like syntaxesSQLGitHub - Access GitHub API with SQL-like syntaxes
SQLGitHub - Access GitHub API with SQL-like syntaxes
 
SauceCon 2017: Using Design Patterns to Improve Automated Testing
SauceCon 2017: Using Design Patterns to Improve Automated TestingSauceCon 2017: Using Design Patterns to Improve Automated Testing
SauceCon 2017: Using Design Patterns to Improve Automated Testing
 
More on Fitnesse and Continuous Integration (Silicon Valley code camp 2012)
More on Fitnesse and Continuous Integration (Silicon Valley code camp 2012)More on Fitnesse and Continuous Integration (Silicon Valley code camp 2012)
More on Fitnesse and Continuous Integration (Silicon Valley code camp 2012)
 
9collection in c#
9collection in c#9collection in c#
9collection in c#
 
Stepping Into Custom Post Types
Stepping Into Custom Post TypesStepping Into Custom Post Types
Stepping Into Custom Post Types
 
Intro to WordPress theme development
Intro to WordPress theme developmentIntro to WordPress theme development
Intro to WordPress theme development
 
Bn1038 demo pega
Bn1038 demo  pegaBn1038 demo  pega
Bn1038 demo pega
 
Page Fragments как развитие идеи Page Object паттерна
Page Fragments как развитие идеи Page Object паттернаPage Fragments как развитие идеи Page Object паттерна
Page Fragments как развитие идеи Page Object паттерна
 
Shshsjsjsjs-4 - Copdjsjjsjsjsjakakakaaky.pptx
Shshsjsjsjs-4 - Copdjsjjsjsjsjakakakaaky.pptxShshsjsjsjs-4 - Copdjsjjsjsjsjakakakaaky.pptx
Shshsjsjsjs-4 - Copdjsjjsjsjsjakakakaaky.pptx
 
Wordpress search-elasticsearch
Wordpress search-elasticsearchWordpress search-elasticsearch
Wordpress search-elasticsearch
 

More from Sekhar Byna (8)

oracle APPS: Weekly Update
oracle APPS: Weekly Updateoracle APPS: Weekly Update
oracle APPS: Weekly Update
 
Oracle APPS :Receivables Auto Invoice
Oracle APPS :Receivables Auto InvoiceOracle APPS :Receivables Auto Invoice
Oracle APPS :Receivables Auto Invoice
 
Oracle Forms: Oracle Server features
Oracle Forms: Oracle Server featuresOracle Forms: Oracle Server features
Oracle Forms: Oracle Server features
 
Oracle Forms :Object Features In forms
Oracle Forms :Object Features In formsOracle Forms :Object Features In forms
Oracle Forms :Object Features In forms
 
Oracle Forms : Coding ..
Oracle Forms : Coding ..Oracle Forms : Coding ..
Oracle Forms : Coding ..
 
Oracle Forms Creation part 3
Oracle Forms Creation part 3Oracle Forms Creation part 3
Oracle Forms Creation part 3
 
Oracle Forms Creation
Oracle Forms CreationOracle Forms Creation
Oracle Forms Creation
 
Oracle Forms Introduction
Oracle Forms IntroductionOracle Forms Introduction
Oracle Forms Introduction
 

Recently uploaded

Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
mbmh111980
 

Recently uploaded (20)

Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
Benefits of Employee Monitoring Software
Benefits of  Employee Monitoring SoftwareBenefits of  Employee Monitoring Software
Benefits of Employee Monitoring Software
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with StrimziStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysis
 
How To Build a Successful SaaS Design.pdf
How To Build a Successful SaaS Design.pdfHow To Build a Successful SaaS Design.pdf
How To Build a Successful SaaS Design.pdf
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data Migration
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdf
 

Oracle Forms: Record Groups

  • 1. Working With Record Groups http://ebiztechnics.blogspot.com
  • 2. Objectives • Describe the record group object • Use record groups • Define record groups at design time • Control record groups by using built-in functions • Define query record groups programmatically • Define nonquery record groups programmatically • Manipulate record group rows • Define lists of values (LOVs) programmatically • Manipulate list items programmatically • Implement dynamic list items • Add values to combo boxes http://ebiztechnics.blogspot.com
  • 3. Types of Record Groups Query Non Query Static  Based on a SELECT Statement  Design Time  Run Time  Not Based on a SELECT Statement  Run Time  Not Based on a SELECT Statement  Design Time http://ebiztechnics.blogspot.com
  • 4. Record Groups and LOVs Record groups and LOVs • Forms implicitly creates query record groups. • Use SET_LOV_PROPERTY to replace default record group. ... IF Get_LOV_Property(lov_id,GROUP_NAME) ='GROUP1' THEN Set_LOV_Property(lov_id,GROUP_NAME,'GROUP2'); END IF; ... http://ebiztechnics.blogspot.com
  • 5. Uses of Record Groups • Constructing dynamic Queries • Storing form-configuration information • Communicating within a form • Passing data to other forms • Passing data to other Oracle products – Reports – Graphics • Populating or storing list items • Populating Hierarchical Tree items http://ebiztechnics.blogspot.com
  • 6. Defining Record Groups at Design Time http://ebiztechnics.blogspot.com
  • 7. Creating and Deleting Record Groups CREATE_GROUP CREATE_GROUP_FROM_QUERY Record group ID Record group ID ID Name DELETE_GROUP Name, QueryName http://ebiztechnics.blogspot.com
  • 8. Modifying the Structure ADD_GROUP_ROW DELETE_GROUP_ROW Row No ID Dname Loc 1 10 Accounting 2 3 20 Sales 4 30 Finance ADD_GROUP_COLUMN SET_GROUP_CHAR_CELL GET_GROUP_NUMBER_CELL http://ebiztechnics.blogspot.com
  • 9. Populating Query Record Groups POPULATE_GROUP (_WITH_QUERY) SELECT deptno ID, dname FROM dept ID 10 20 30 40 Dname ACCOUNTING SALES FINANCE OPERATIONS http://ebiztechnics.blogspot.com
  • 10. Processing Record Group Rows GET_GROUP_SELECTION_COUNT SET_GROUP_SELECTION GET_GROUP_SELECTION Selection No Row No 1 1 2 3 2 4 ID Name 1 James 2 King 3 Allen 4 Smith GET_GROUP_ROW_COUNT http://ebiztechnics.blogspot.com
  • 11. Defining Query Record Groups Programmatically Find Record Group ID NULL ? Create Group from Query Populate Group Yes No http://ebiztechnics.blogspot.com
  • 12. Defining Nonquery Record Groups Programmatically Find Record Group ID NULL ? Create Group Yes No Add Group Columns Add Group Row Set Group Cell Values Delete Group Rows Find Group Columns http://ebiztechnics.blogspot.com
  • 13. Manipulating Record Groups Get number of group rows For all group rows Cell value= given value Yes No Return row number Return NULL http://ebiztechnics.blogspot.com
  • 14. Manipulating Selected Record Group Rows For all group rows Get number of group rows Row number even? Yes No Mark row as selected http://ebiztechnics.blogspot.com
  • 15. Defining Global Record Groups • Record group visible to all forms in an application • “Scope” parameter – FORM_SCOPE (default) – GLOBAL_SCOPE ...CREATE_GROUP(‘emp_rg’, GLOBAL_SCOPE’); ...CREATE_GROUP_FROM_QUERY(‘emp_rg’, ‘SELECT empno FROM emp’, ‘GLOBAL_SCOPE’); http://ebiztechnics.blogspot.com
  • 16. Manipulating List Items Programmatically • ADD_LIST_ELEMENT • DELETE_LIST_ELEMENT • CLEAR_LIST • GET_LIST_ELEMENT_LABEL • GET_LIST_ELEMENT_VALUE • GET_LIST_ELEMENT_COUNT • POPULATE_LIST • RETRIEVE_LIST http://ebiztechnics.blogspot.com
  • 17. Using List Item with Record Groups Record Group POPULATE_LIST RETRIEVE_LIST http://ebiztechnics.blogspot.com
  • 18. Implementing Dynamic List Items Find record group Yes ID NULL? No Create group from query Populate group Yes Success? No Populate list Display first list label http://ebiztechnics.blogspot.com
  • 19. Adding Values to Combo Boxes Get number of list elements For all list elements Element value= Item value? Yes No Return Add list element with item value http://ebiztechnics.blogspot.com
  • 20. Summary • Define design-time query and static record groups • Define run time query and non-query record groups • Use Built-in functions for populating record groups • Define Global record groups • Use record groups for: – Constructing dynamic SELECT statements – Storing or passing data – Populating or storing list items • Manipulate list items programmatically – Built-in functions for list items http://ebiztechnics.blogspot.com

Editor's Notes

  1. Technical Note POPULATE_GROUP built-in function returns 0 when population succeeds And 1 if population does not succeed.
  2. Technical Note If a global record group is created from (or populated with) a query while Executing a form A. and the query string contains bind variable references That are local to A (:block.item or :PARAMETER.param), then when Form A Terminates execution, the global query record group is converted to a Global nonquery record group. The record group retains its data, but a Subsequent POPULATE_GROUP is considered an error.
  3. Technical Note Because a base table list item must specify a value for either the initial Property or the Mapping of Other Values property, the record group used to Dynamically populate a list item must also contain this value. Be sure the Record group query returns this value.