33%irm_session_prepare();
36%macro irmst_node_aggregate_from_rules(ds_in_dq_config =
37 , ds_in_agg_rules_config =
43 set &ds_in_dq_config.;
44 call symputx(
"gl_reconciliation_flg", gl_reconciliation_flg,
"L");
45 call symputx(
"portfolio_key", analysis_data_key,
"L");
46 call symputx(
"general_ledger_key", general_ledger_key,
"L");
49 %
if(%sysevalf(%superq(gl_reconciliation_flg) = Y,
boolean) and
50 %sysevalf(%superq(general_ledger_key) ne,
boolean)) %then %
do;
56 %let responseStatus =;
58 %irm_rgf_retrieve_analysis_data(key = &general_ledger_key.
60 , outds = WORK.TARGET_DATA
61 , outds_partition_list = partition_list
63 , outds_dataInfo = target_dataInfo
64 , outds_dataDef = target_dataDef
65 , host = &rgf_protocol.:
66 , server = &rgf_service.
69 , tgt_ticket = &tgt_ticket.
70 , outVarTicket = ticket
71 , outSuccess = httpSuccess
72 , outResponseStatus = responseStatus
78 set target_dataDef (obs=1);
79 call symputx(
"tgt_table_schema_nm", upcase(schemaName),
"L");
80 call symputx(
"tgt_table_schema_ver", upcase(schemaVersion),
"L");
88 %let responseStatus =;
90 %irm_rgf_retrieve_analysis_data(key = &portfolio_key.
92 , outds = WORK.SOURCE_DATA
93 , outds_partition_list = partition_list
95 , outds_dataInfo = source_dataInfo
96 , outds_dataDef = source_dataDef
97 , host = &rgf_protocol.:
98 , server = &rgf_service.
101 , tgt_ticket = &tgt_ticket.
102 , outVarTicket = ticket
103 , outSuccess = httpSuccess
104 , outResponseStatus = responseStatus
110 set source_dataDef (obs=1);
111 call symputx(
"src_table_schema_nm", upcase(schemaName),
"L");
112 call symputx(
"src_table_schema_ver", upcase(schemaVersion),
"L");
116 data WORK.AGGREGATION_RULES_CONFIG;
117 set &ds_in_agg_rules_config.;
118 tgt_table_schema_ver = resolve(tgt_table_schema_ver);
119 src_table_schema_ver = resolve(src_table_schema_ver);
120 if upcase(tgt_table_schema_nm) =
"&tgt_table_schema_nm." and
121 upcase(tgt_table_schema_ver) =
"&tgt_table_schema_ver." and
122 upcase(src_table_schema_nm) =
"&src_table_schema_nm." and
123 upcase(src_table_schema_ver) =
"&src_table_schema_ver.";
126 %
if %rsk_attrn(WORK.AGGREGATION_RULES_CONFIG, nlobs) > 0 %then %
do;
129 %irmst_aggregate_from_rules(ds_in_src_tbl = WORK.SOURCE_DATA
130 , ds_in_agg_rules_config = WORK.AGGREGATION_RULES_CONFIG
131 , out_ds = WORK.AGGREGATED_VALUES
135 %irmst_apply_agg(ds_in_agg = WORK.AGGREGATED_VALUES
136 , ds_in_tgt = &ds_out_base.
137 , ds_in_agg_rules_config = WORK.AGGREGATION_RULES_CONFIG
138 , ds_out = &ds_out_agg.
145 %
if(not %rsk_dsexist(&ds_out_base.) or not %rsk_dsexist(&ds_out_agg.)) %then %
do;
149 data &ds_out_base. &ds_out_agg.;
150 gl_reconciliation_flg =
"&gl_reconciliation_flg.";
151 general_ledger_key = &general_ledger_key.;
159%irmst_node_aggregate_from_rules(ds_in_dq_config = &ds_in_dq_config.
160 , ds_in_agg_rules_config = &ds_in_agg_rules_config.
161 , ds_out_base = &ds_out_base.
162 , ds_out_agg = &ds_out_agg.