Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Procedure's Parameter is Record Type

CeritoNov 8 2017 — edited Nov 9 2017

I'm asking if you know how to pass a pl/sql record to a procedure.  And also how to get this parameter in SQL Developer's debugger as at the end of this post. The debugger informs Modify the code to initialize the variable  I have no idea how to get this done since it's a first for me.

In a packages spec a PL/SQL record type is defined as

    TYPE s_DateSpan is RECORD

    (number_key      NUMBER(12),  -- Key value

     eff_frm_dt      DATE,

     eff_to_dt       DATE);

In the package body a procedure  uses the record type as a parameter as:

PROCEDURE Check_Rate_Detail(RateId IN NUMBER,

                            ProductId IN NUMBER,

                            RAHInfo   IN s_DateSpan,

                           ZeroRateIndicator IN VARCHAR2,

                           Tier IN NUMBER,

                           EffDate IN DATE,

                           p_mode IN VARCHAR2) IS

When I use Sql Developers debugger I get:

DECLARE
RATEID
NUMBER;
PRODUCTID
NUMBER;
RAHINFO MKT
.PKGCLVALID.S_DATESPAN;
ZERORATEINDICATOR
VARCHAR2(200);
TIER
NUMBER;
EFFDATE
DATE;
P_MODE
VARCHAR2(200);

BEGIN
RATEID
:= NULL;
PRODUCTID
:= NULL;

-- Modify the code to initialize the variable

-- RAHINFO := NULL;
ZERORATEINDICATOR := NULL;
TIER
:= NULL;
EFFDATE
:= NULL;
P_MODE
:= NULL;


MKT
.PKGCLVALID.CHECK_RATE_DETAIL(

    RATEID => RATEID,

    PRODUCTID => PRODUCTID,

    RAHINFO => RAHINFO,

    ZERORATEINDICATOR => ZERORATEINDICATOR,

    TIER => TIER,

    EFFDATE => EFFDATE,

    P_MODE => P_MODE

);

END;

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 7 2017
Added on Nov 8 2017
8 comments
3,671 views