Global Variable Stack Management in Human Capital Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Human capital management (HCM) systems face runtime errors due to global variable overwriting when navigating between screens, as each tool overwrites the global variables associated with the previous tool, leading to loss of data and functionality issues.

Innovation Solution

Implementing a stack to temporarily store and manage global variables, ensuring that they are preserved and restored when transitioning between tools, using a method that involves pushing variables onto the stack when a new tool is activated and popping them back when control returns to the previous tool.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a second tool is called from a first tool in the HCM system, then the second tool can execute its functionality, but the global variables associated with the first tool are overwritten by the global variables associated with the second tool, causing runtime errors

Engineering Contradiction:
Improvetool functionalityVSAvoidglobal variable integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The global variable storage is segmented into separate contexts for each tool. When a tool is activated, its global variables are stored in a dedicated context or namespace, preventing interference with other tools' variables. This segmentation allows multiple tools to coexist with their own isolated variable environments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary mechanism (such as a context manager or variable isolation layer) is introduced between tool execution and global variable storage. This intermediary manages the creation, preservation, and restoration of variable contexts, ensuring that each tool operates with its own isolated set of global variables without affecting others.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If global variables are shared across multiple tools for efficiency, then memory usage is optimized, but data loss occurs when one tool overwrites variables needed by another tool

Engineering Contradiction:
Improvememory usageVSAvoidglobal variable data
Core Design Contradiction:
Quantity of substanceVSLoss of information

Solution Approach 1:

Instead of using a single shared global variable space, the system segments the variable storage into multiple isolated contexts. Each tool gets its own context, eliminating the overwriting problem while maintaining efficient memory usage through context reuse after tool completion.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

When a tool finishes execution, its global variable context is discarded and the memory is recovered for reuse by subsequent tools. This approach maintains low memory usage while preventing data loss, as each tool gets fresh variable space that doesn't contain remnants from previous tools.

Inventive Principle:
Principle #34Discarding and recovering

3Productivity

If control returns from a second tool to a first tool, then the first tool can resume execution, but runtime errors occur due to overwritten global variables

Engineering Contradiction:
Improvetool execution flowVSAvoidexecution correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Before the second tool executes, the system performs preliminary actions to preserve the first tool's global variable context. This context is saved to a stack or temporary storage, ensuring that when control returns, the original variables are restored and the first tool can resume correctly without runtime errors.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where the completion of the second tool triggers automatic restoration of the first tool's variable context. This feedback loop ensures that variable state management is handled automatically at the appropriate moment in the execution flow, maintaining reliability without burdening the programmer.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8484628B2System and method for providing global variables within a human capital management system
Publication Date: 2013.07.09 SAP SE
  • US8484628B2 patent drawing
  • US8484628B2 patent drawing
  • US8484628B2 patent drawing

AI summary

A system and method are provided for stacking global variables associated with a plurality of tools. The method includes loading a first tool global variable into a memory and executing a first tool of a computer application, the computer application configured to automate human resource processes. The method includes responsive to a call to execute a second tool of the computer application, pushing the first tool global variable onto a stack. The method includes loading a second tool global variable into the memory and executing the second tool. The method includes responsive to completing execution of the second tool, popping the first tool global variable off the stack and loading the first tool global variable back into the memory.