Creditcard

DFA Analysis Dashboard

22
Total Modules
9.1%
High Complexity
0
Critical Issues
88
Patterns Detected
B
Quality 87.8/100

Complexity by Module Type

DocFormat
18
Modules
76
Conditions
5
Max Depth
Simple: 13 Medium: 3 High: 2
FormatGroup
4
Modules
5
Conditions
1
Max Depth
Simple: 3 Medium: 1

Architectural Insights

Variable Organization

Pattern Type Count
Business Data Variables 93
Configuration Variables 37
Multilingual Variables 9

Dependency Architecture

Dominant Coupling: LOW
Low: 11 modules Medium: 9 modules High: 2 modules

Module Directory

Module Type Complexity Quality Primary Function Key Risks Actions
DF_SPNN DocFormat Medium B Parse structured records containing financial instrument data, apply conditional filtering based on instrument type and torta flags, and populate aggregated arrays for reporting High Risk Hardcoded loop limit (98 iterations) may cause truncation if record count varies Details
DF_SP99 DocFormat Complex B Render structured financial reports with dynamic content based on instrument data arrays, conditional logic for chart variants, and scale-aware numeric formatting High Risk Hardcoded multilingual strings ('CASH VALUE', 'Subtotal') reduce localization flexibility Details
DF_CI00 DocFormat Simple B Declares a single fixed-length DATA field (8 bytes) within a DOCFORMAT structure for credit card processing No validation of data content or format Details
$_BEFOREDOC DocFormat Simple B Reset cumulative percentage counter and increment document count at start of each document processing Document count may be inaccurate if initialization fails silently Details
DF_DP DocFormat Simple B Conditional dispatch of record processing to either DF_DP (for header/trailer records '00' or '99') or DF_DPNN (for detail records) using record ID classification Missing validation of REC_ID_DP values could cause incorrect format routing Details
DF_HE DocFormat Simple B Parse fixed-width header records to extract date, branch, and account holder information; conditionally format multi-customer names and adjust address spacing High Risk Hardcoded delimiter ' E ' may fail if names contain this substring in non-delimiter contexts Details
$_BEFOREFIRSTDOC DocFormat Simple B Extracts filename from full input path, appends '.AFP' extension, and sets environment variable TIME1 for downstream formatting Filename extraction fails if input path has fewer than 5 backslash segments Details
DF_SP00 DocFormat Simple B Conditionally loads external formatting group TORTE based on STAMPATORTE environment variable, and decomposes date strings (DATA1, DATA2) into day/month/year components STAMPATORTE default assignment (1) may override environment value before conditional check, causing incorrect behavior Details
DF_CI99 DocFormat Simple B Establishes structural scaffolding with REPEAT 1 block and references external formatting rules via FORMATGROUP DETTAGLI Lack of business logic may cause misalignment if DETTAGLI is not properly maintained Details
DF_CINN DocFormat Simple B Process geographic area data to build pie chart segments using array-based aggregation and conditional rendering via CHARTDLL High Risk Hardcoded multilingual strings in SHADELIST may cause localization issues across regions Details
THE_MAIN DocFormat Simple B Define a document format structure that reads a 2-character record ID from position 1-2 of the input, skips back one record to reposition, then dynamically loads an external format referenced by 'df_' concatenated with the extracted ID Missing or invalid REC_ID_1 values could cause format resolution failures Details
DF_DPNN DocFormat Complex B Parse fixed-width financial records and conditionally format output for liquid assets vs securities, applying complex numeric formatting and sign handling High Risk Hardcoded field positions and layout dimensions reduce adaptability to regulatory or reporting changes Details
DF_DP99 DocFormat Medium B Render dynamic financial summary blocks with conditional formatting based on liquidation status (LIQ), document termination flag (FINE_DOCUMENTO), and quotation change settings (LIQSTAMP) High Risk Hardcoded zero-value string '000000000000000' may break if numeric format changes Details
DF_CI DocFormat Simple B Conditional routing of credit card records to DF_CI or DF_CINN formats based on REC_ID_CI value Missing handling for invalid REC_ID_CI values outside expected set Details
$_AFTERDOC DocFormat Simple B Assign the business data field INTESTATARI to configuration variable &PRIMO_NOMINATIVO when document count equals one If multiple documents exist, primary holder name is not captured, potentially causing missing data in reports Details
DF_TA DocFormat Simple B Encapsulates a single fixed-length record (REC_FINE) within a DOCFORMAT structure to standardize data layout for credit card fine processing Fixed-length field may truncate or misrepresent variable-length fine values Details
DF_DP00 DocFormat Medium B Render different visual layouts based on DP_COUNT, instrument type (LIQUIDITA vs other), and deposit holder presence using position-based layout primitives High Risk Hardcoded English text in warning notice may cause localization issues for international users Details
DF_SP DocFormat Simple B Conditional routing of credit card records using REC_ID_SP field to either DF_SPNN format or self-referential processing Missing handling for REC_ID_SP values other than '00' or '99' Details
BIANCA_FINE FormatGroup Simple A Declares a reusable FORMATGROUP (BIANCA_FINE) that specifies sheet dimensions, layering, and logical page definitions for front/back printing with footer content reuse High Risk Back page footer is hardcoded to output a space, potentially causing inconsistent spacing or print artifacts Details
TORTE FormatGroup Simple B Constructs footer elements including dynamic date formatting, page numbering (PAG/TOTPAG), multilingual title selection based on LIQ variable, and layered graphics overlays Missing DATA2_GG/MM/AA variable definitions in code despite being referenced Details
DETTAGLI FormatGroup Simple B Render structured output for portfolio statements with pagination, multilingual support (Italian/English), and conditional visual elements based on data flags Inconsistent address formatting if SALTO_RIGA_INDIRIZZO flag is incorrectly set Details
LETTERA FormatGroup Medium A Define layout and content structure for a two-page credit card statement letter using positional formatting directives High Risk Hardcoded English text limits multilingual support Details