P
US7975232B2ExpiredUtilityPatentIndex 61

Systems and methods for extensible document generation

Assignee: SAP AGPriority: Oct 31, 2005Filed: Oct 31, 2005Granted: Jul 5, 2011
Est. expiryOct 31, 2025(expired)· nominal 20-yr term from priority
Inventors:BOHLE HOLGER
G06F 40/174G06F 40/186
61
PatentIndex Score
2
Cited by
16
References
6
Claims

Abstract

A method of document generation includes, in response to a call from an application, getting an interface and interface description of a template used to create a document, determining whether a method exists for filling all elements of the interface, making a dynamic call to invoke the method for filling all elements of the interface if the method exists, decomposing the interface into further elements if a method does not exist for filling all elements of the interface, repeating the steps of determining whether a method exists, making a dynamic call and decomposing the interface, until all elements of the interface are accounted for.

Claims

exact text as granted — not AI-modified
1. A method of document generation comprising:
 in response to a call from an application, making a call from a dynamic template component system to a template to get a template interface and interface description of the template, the template including elements that are filled by different data providers; 
 determining whether a method exists for filling all elements of the template; 
 in response to a determination that a method exists for filling all elements of the template, making dynamic calls from the dynamic template component system to get appropriate data provider interfaces capable of filling all elements of the template interface; 
 in response to a determination that multiple methods are needed for filling all elements of the template, decomposing the elements of the template into respective data structures containing a portion of the elements included in the template; 
 making dynamic calls from the dynamic template component system directly to each of the appropriate data providers for each element of the template interface so that all elements of the template can be filled by either a method that fills all elements of the template interface or multiple methods that fill respective elements of the template interface; 
 in response to an indication that a method is unavailable to fill the respective data structure, decomposing the data structure into single data fields; and 
 assigning the single data fields to a data provider. 
 
     
     
       2. The method for document generation as recited in  claim 1 , wherein the elements of the interface comprise at least one of an attribute, a complex structure and a field. 
     
     
       3. A programmable computer system for document generation, said programmable computer system comprising:
 a data storage device; and 
 a processor, the processor configured to: 
 in response to a call from an application, make a call from a dynamic component system to a template to get a template interface and interface description of the template, the template including elements that are filled by different data providers; 
 determine whether a method exists for filling all elements of the template; 
 in response to a determination that a single method exists for filling all elements of the template, make dynamic calls from the dynamic template component system to get appropriate data provider interfaces capable of filling all elements of the template interface; 
 in response to a determination that multiple methods are needed for filling all elements of the template, decompose the elements of the template into respective data structures containing a portion of the elements included in the template; and 
 make dynamic calls from the dynamic template component system to each of the appropriate data providers for each element of the template interface so that all elements of the template can be filled by a method that fills respective elements of the template interface; 
 in response to an indication that a method is unavailable to fill the respective data structure, decompose the data structure into single data fields; and 
 assign the single data fields to a data provider. 
 
     
     
       4. The programmable computer system for document generation as recited in  claim 3 , wherein the elements of the interface comprise at least one of an attribute, a complex structure and a field. 
     
     
       5. A machine readable storage device including computer executable code for causing a computer processor to perform a method for document generation, the method comprising:
 in response to a call from an application, making a call from a dynamic template component system to a template to get a template interface and interface description of the template, the template including elements that are filled by different data providers; 
 determining whether a method exists for filling all elements of the template; 
 in response to a determination that a single method exists for filling all elements of the template, making dynamic calls from the dynamic template component system to get appropriate data provider interfaces capable of filling all elements of the template interface; 
 in response to a determination that multiple methods are needed for filling all elements of the template, decomposing the elements of the template into respective data structures containing a portion of the elements included in the template; and 
 making dynamic calls from the dynamic template component system directly to each of the appropriate data providers for each element of the template interface so that all elements of the template can be filled; 
 in response to an indication that a method is unavailable to fill the respective data structure, decomposing the data structure into single data fields; and 
 assigning the single data fields to a data provider. 
 
     
     
       6. The machine readable storage device for document generation as recited in  claim 5 , wherein the elements of the interface comprise at least one of an attribute, a complex structure and a field.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.