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
FormatGroup
4
Modules
5
Conditions
1
Max Depth
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 |