Marco,
Here is the definitions of the actual type (distribution type itself is towards the end):
type distributionSumTable is table of c34_distribution_sum%rowtype index by binary_integer;
-- structure with account level values type distributionSumAccount is record
(
vestedPct number,
unwdContrValue number,
unwdPre87Value number,
totalValue number,
distrBasisValue number,
distrBasisUnwdContr number,
distrBasisUnwdPre87 number,
distrBasisEarnings number,
contribWDValue number,
pre87ContribWDValue number,
earningsWDValue number,
distributionValue number,
totalValue_postTrade number,
unwdContrValue_postTrade number,
unwdPre87Value_postTrade number,
distrBasisValue_postTrade number,
distrBasisUnwdContr_postTrade number,
distrBasisUnwdPre87_postTrade number,
distrBasisEarnings_postTrade number,
contribWDValue_postTrade number,
pre87ContribWDValue_postTrade number,
earningsWDValue_postTrade number
);
type distributionSumAccountDict is table of distributionSumAccount index by varchar2(10); -- index by acct_no
type distributionSumTotal is record
(
requestedValue number,
requestedPct number,
withdrawalAmt number,
ERStock_units number,
ERStock_pct number,
ERStockWD_units number
);
type participantInfo is record
(
age number,
dateOfBirth date,
dateOfDeath date,
participationStatus c32_participant_status.participation_status_id%type,
employmentStatus c30_employee_empt_status.int_empt_status_code_id%type,
terminationDate date,
taxationState c00_address.state%type,
taxationCountry c00_address.country_code_id%type,
ownerFlag c30_employee.owner_flag%type,
participationStartDate date,
participationEndDate date
);
type planInfo is record
(
planTypeId c25_plan.plan_type_id%type,
IRSNo c25_plan.irs_no%type,
QualifiedFlag c25_plan.qualified_flag%type
);
type withdrawalSequenceDetail is record
(
acctNo c25_benefit_account.acct_no%type,
balanceTypeId c62_acct_bal_wd_seq.balance_type_id%type,
benesPmtWdSeq c62_acct_bal_wd_seq.benes_pmt_wd_seq%type,
acctOrderNo c25_benefit_account.acct_order_no%type
);
type withdrawalSequence is table of withdrawalSequenceDetail index by binary_integer;
type custodians is table of c34_empl_custodian%rowtype index by binary_integer;
type disburseDetail is record
(
disb c34_benes_disb_details%rowtype,
r1099 c34_benes_1099r_details%rowType
);
type disburseDetails is table of disburseDetail index by binary_integer;
type distribution is record
(
processingDate date,
initiationDate date, modeling boolean,
tradingRequired boolean,
dryRun boolean,
balanceRequestNo number,
balanceRequestNo_postTrade number,
applyCertainty boolean,
useVestedOnly boolean,
computeTaxes boolean,
isReportable boolean,
payoffLoan boolean,
forfeitUnvested boolean,
elections c34_empl_benes_pmt%rowtype,
ds distributionSumTable,
dsAcct distributionSumAccountDict,
dsTotal distributionSumTotal,
tb c34_benes_tax_balance%rowtype,
ts c34_benes_tax_sum%rowtype,
cust custodians,
dd disburseDetails,
ppt participantInfo,
plan planInfo,
maxWithdrawalAmt number, -- (re)determined at start of calculations
WDSequence withdrawalSequence
);
A sample procedure would be:
procedure display( distr in p34_base.distribution );
(p34_base is where the records/types are defined)
Hope this helps