Jiri...
The stored procedure below will work fine if you change the two fields, PS_RAIL_ACCOUTREMENT_V_OUT, and PS_RAIL_ACCOUTREMENT_V_OR_OUT, back to
their original names of PS_RAIL_ACCOUTREMENT_MODIFIERS_OUT, and PS_RAIL_ACCOUTREMENT_MODIFIERS_OR_OUT.
However, with the original names, the Firebird Provider yields an error that the columns cannot be found.
Steve Naidamast
>>>
CREATE PROCEDURE SP_GET_EQUIP_EELSA_REC_KEY(
PI_KEY_IN INTEGER NOT NULL)
RETURNS(
PI_KEY_OUT INTEGER,
PI_EQUIPMENT_KEY_OUT INTEGER,
PS_WEAPON_TYPE_OUT VARCHAR(30),
PCHR_WEIGHT_MSMT_OUT CHAR(2),
PDBL_WEIGHT_OUT DOUBLE PRECISION,
PDBL_WEIGHT_OR_OUT DOUBLE PRECISION,
PCHR_CALIBER_MSMT_OUT CHAR(2),
PDBL_CALIBER_OUT DOUBLE PRECISION,
PDBL_CALIBER_OR_OUT DOUBLE PRECISION,
PCHR_BARREL_LENGTH_MSMT_OUT CHAR(2),
PDBL_BARREL_LENGTH_OUT DOUBLE PRECISION,
PDBL_BARREL_LENGTH_OR_OUT DOUBLE PRECISION,
PS_RIFLING_TWIST_RATE_OUT VARCHAR(10),
PS_RIFLING_TWIST_RATE_OR_OUT VARCHAR(10),
PS_ACTION_TYPE_OUT VARCHAR(30),
PS_FEED_SYSTEM_OUT VARCHAR(20),
PS_FIRE_MODE_OUT VARCHAR(30),
PI_RELOAD_TIME_IN_SECS_OUT INTEGER,
PI_RELOAD_TIME_IN_SECS_OR_OUT INTEGER,
PI_MAGAZINE_CAPACITY_OUT INTEGER,
PI_MAGAZINE_CAPACITY_OR_OUT INTEGER,
PDBL_RATE_OF_FIRE_RPM_OUT DOUBLE PRECISION,
PDBL_RATE_OF_FIRE_RPM_OR_OUT DOUBLE PRECISION,
PCHR_MUZZLE_VELOCITY_MSMT_OUT CHAR(2),
PDBL_MUZZLE_VELOCITY_OUT DOUBLE PRECISION,
PDBL_MUZZLE_VELOCITY_OR_OUT DOUBLE PRECISION,
PCHR_EFF_FIRE_RANGE_MSMT_OUT CHAR(2),
PDBL_EFF_FIRE_RANGE_OUT DOUBLE PRECISION,
PDBL_EFF_FIRE_RANGE_OR_OUT DOUBLE PRECISION,
PDBL_EFF_FIRE_MAX_RANGE_OUT DOUBLE PRECISION,
PDBL_EFF_FIRE_MAX_RANGE_OR_OUT DOUBLE PRECISION,
PDBL_RELIABLE_FIRING_PCT_OUT DOUBLE PRECISION,
PDBL_RELIABLE_FIRING_PCT_OR_OUT DOUBLE PRECISION,
PI_ROUNDS_BEFORE_FAILURE_OUT INTEGER,
PI_ROUNDS_BEFORE_FAILURE_OR_OUT INTEGER,
PS_SIGHT_TYPE_OUT VARCHAR(20),
PBOOL_HAS_RAIL_SYSTEM_OUT BOOLEAN,
PS_RAIL_ACCOUTREMENTS_OUT VARCHAR(300),
PS_RAIL_ACCOUTREMENT_V_OUT VARCHAR(300),
PS_RAIL_ACCOUTREMENT_V_OR_OUT VARCHAR(300),
PI_INITIAL_TOTAL_AMMO_OUT INTEGER,
PI_INITIAL_TOTAL_AMMO_OR_OUT INTEGER)
AS
BEGIN
FOR
SELECT EELSA_KEY,
EELSA_EQUIPMENT_KEY,
EELSA_WEAPON_TYPE,
EELSA_WEIGHT_MSMT,
EELSA_WEIGHT,
EELSA_WEIGHT_OR,
EELSA_CALIBER_MSMT,
EELSA_CALIBER,
EELSA_CALIBER_OR,
EELSA_BARREL_LENGTH_MSMT,
EELSA_BARREL_LENGTH,
EELSA_BARREL_LENGTH_OR,
EELSA_RIFLING_TWIST_RATE,
EELSA_RIFLING_TWIST_RATE_OR,
EELSA_ACTION_TYPE,
EELSA_FEED_SYSTEM,
EELSA_FIRE_MODE,
EELSA_RELOAD_TIME_IN_SECS,
EELSA_RELOAD_TIME_IN_SECS_OR,
EELSA_MAGAZINE_CAPACITY,
EELSA_MAGAZINE_CAPACITY_OR,
EELSA_RATE_OF_FIRE_RPM,
EELSA_RATE_OF_FIRE_RPM_OR,
EELSA_MUZZLE_VELOCITY_MSMT,
EELSA_MUZZLE_VELOCITY,
EELSA_MUZZLE_VELOCITY_OR,
EELSA_EFF_FIRE_RANGE_MSMT,
EELSA_EFF_FIRE_RANGE,
EELSA_EFF_FIRE_RANGE_OR,
EELSA_EFF_FIRE_MAX_RANGE,
EELSA_EFF_FIRE_MAX_RANGE_OR,
EELSA_RELIABLE_FIRING_PCT,
EELSA_RELIABLE_FIRING_PCT_OR,
EELSA_ROUNDS_BEFORE_FAILURE,
EELSA_ROUNDS_BEFORE_FAILURE_OR,
EELSA_SIGHT_TYPE,
EELSA_HAS_RAIL_SYSTEM,
EELSA_RAIL_ACCOUTREMENTS,
EELSA_RAIL_ACCOUTREMENT_MODIFIERS,
EELSA_RAIL_ACCOUTREMENT_MODIFIERS_OR,
EELSA_INITIAL_TOTAL_AMMO,
EELSA_INITIAL_TOTAL_AMMO_OR
FROM EQUIPMENT_EL_SMALL_ARMS
WHERE :PI_KEY_IN = EELSA_KEY
INTO :PI_KEY_OUT,
:PI_EQUIPMENT_KEY_OUT,
:PS_WEAPON_TYPE_OUT,
:PCHR_WEIGHT_MSMT_OUT,
:PDBL_WEIGHT_OUT,
:PDBL_WEIGHT_OR_OUT,
:PCHR_CALIBER_MSMT_OUT,
:PDBL_CALIBER_OUT,
:PDBL_CALIBER_OR_OUT,
:PCHR_BARREL_LENGTH_MSMT_OUT,
:PDBL_BARREL_LENGTH_OUT,
:PDBL_BARREL_LENGTH_OR_OUT,
:PS_RIFLING_TWIST_RATE_OUT,
:PS_RIFLING_TWIST_RATE_OR_OUT,
:PS_ACTION_TYPE_OUT,
:PS_FEED_SYSTEM_OUT,
:PS_FIRE_MODE_OUT,
:PI_RELOAD_TIME_IN_SECS_OUT,
:PI_RELOAD_TIME_IN_SECS_OR_OUT,
:PI_MAGAZINE_CAPACITY_OUT,
:PI_MAGAZINE_CAPACITY_OR_OUT,
:PDBL_RATE_OF_FIRE_RPM_OUT,
:PDBL_RATE_OF_FIRE_RPM_OR_OUT,
:PCHR_MUZZLE_VELOCITY_MSMT_OUT,
:PDBL_MUZZLE_VELOCITY_OUT,
:PDBL_MUZZLE_VELOCITY_OR_OUT,
:PCHR_EFF_FIRE_RANGE_MSMT_OUT,
:PDBL_EFF_FIRE_RANGE_OUT,
:PDBL_EFF_FIRE_RANGE_OR_OUT,
:PDBL_EFF_FIRE_MAX_RANGE_OUT,
:PDBL_EFF_FIRE_MAX_RANGE_OR_OUT,
:PDBL_RELIABLE_FIRING_PCT_OUT,
:PDBL_RELIABLE_FIRING_PCT_OR_OUT,
:PI_ROUNDS_BEFORE_FAILURE_OUT,
:PI_ROUNDS_BEFORE_FAILURE_OR_OUT,
:PS_SIGHT_TYPE_OUT,
:PBOOL_HAS_RAIL_SYSTEM_OUT,
:PS_RAIL_ACCOUTREMENTS_OUT,
:PS_RAIL_ACCOUTREMENT_V_OUT,
:PS_RAIL_ACCOUTREMENT_V_OR_OUT,
:PI_INITIAL_TOTAL_AMMO_OUT,
:PI_INITIAL_TOTAL_AMMO_OR_OUT
DO
SUSPEND;
END;
<<<