Major architectural changes:
- Convert Oracle IMPORT_PARTENERI.cauta_sau_creeaza_partener from FUNCTION to PROCEDURE with OUT parameter for VFP compatibility
- Add IS_PERSOANA_JURIDICA parameter to support individual vs company detection
- Implement sync-comenzi-web.prg orchestrator for generic web order processing with 5-minute timer automation
- Create ApplicationSetup class for proper object-oriented configuration management
- Add comprehensive Oracle connection and sync settings via settings.ini configuration system
- Implement generic web order processing functions (ProcessWebOrder, ValidateWebOrder, CleanWebText, ConvertWebDate)
- Add proper VFP-Oracle integration with correct procedure call syntax using OUT parameters
- Rename gomag-vending.prg to gomag-adapter.prg for clarity and platform-specific functionality
- Move CheckIniFile function to utils.prg for better code organization
- Add settings.ini.example template and update .gitignore to exclude actual settings files
- Implement comprehensive logging system with rotation and error handling
- Add connection validation and retry logic for robust Oracle integration
Technical improvements:
- Proper JSON processing integration with existing nfjson library
- Comprehensive error handling with categorized logging (INFO, ERROR, WARN)
- Timer-based automation with configurable intervals
- Settings validation and default value creation
- Generic function naming for multi-platform support
- Class-based setup system replacing procedural approach
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add p_is_persoana_juridica parameter to cauta_sau_creeaza_partener function
- Enable explicit person type detection from GoMag orders data
- Maintain backward compatibility with NULL default value
- Priority logic: explicit parameter > CNP auto-detection
- Improve accuracy when CNP is not available for individuals
- Support 1=persoana juridica, 0=persoana fizica, NULL=auto-detect
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Comment out non-critical pINFO calls to reduce I/O overhead
- Keep ERROR and WARNING logs for debugging critical issues
- Preserve logging for address creation warnings and validation errors
- Reduce procedure execution time by eliminating unnecessary log writes
- Maintain error tracking through g_last_error system
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Replace ÎNCEPUT → INCEPUT in log messages
- Replace SFÂRȘIT → SFARSIT in log messages
- Replace NEAȘTEPTAT → NEASTEPTAT in error messages
- Replace În → In in comments
- Ensure ASCII compatibility for Oracle database systems
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add g_last_error package variable matching PACK_JSON/PACK_IMPORT_COMENZI pattern
- Implement get_last_error() and clear_error() functions for VFP orchestrator integration
- Replace exceptions with error storage in validation and main functions
- Return -1 on errors instead of raising exceptions for deferred error handling
- Enable orchestrator to read errors before deciding when to log them
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Create PACK_JSON: Generic JSON parser for Oracle 10g/11g/12c compatibility
* Uses only standard Oracle functions (no dependencies)
* Functions: parse_array, get_string, get_number, get_boolean
* Built-in error tracking with g_last_error property
* Comprehensive test suite with 4 test functions
* Supports nested objects and complex JSON structures
- Refactor IMPORT_COMENZI to use PACK_JSON instead of manual parsing
* Clean separation of concerns - JSON parsing vs business logic
* Improved error handling and logging consistency
* Uses pINFO for consistent logging across packages
- Update IMPORT_PARTENERI logging to use pINFO consistently
* Remove custom log_operatie function
* Standardize logging format across all packages
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix pack_def procedure calls with correct parameter signatures
- Change from function calls to procedure calls with OUT parameters
- Remove diacritics from all Romanian text in package
- Simplify NULL comparisons to use IS NULL only
- Update logging to use INFO table instead of system_log
- Rename package to PACK_IMPORT_PARTENERI for consistency
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>