ODI Declare variable - sql

I have ODI ( Oracle Data Integrator)scenario in which I need to give some input parameters when the ODI scenario is executed. For this I have created the declared variable and used the same in one of the interface but when I ran the scenario input parameters are prompted as desired given the necessary value, the scenario is successful but I see no value under variable and interface loaded with zero records. Please share your thoughts.
Declared variable text data type as I am passing string value.

Related

Can I get pipeline parameters in Synapse Studio Notebook dynamically without predefining parameter names in parameter cell?

In the Pipeline that triggers the Notebook, I'm passing some base parameters in, as below.
Right now, all the materials I read instructed me to declare variables inside the Notebook parameter cell with the same names, as below.
Is there a way that I can get the Pipeline parameters dynamically without pre-defining the variables? (Similar mechanism with sys.argv, in which a list of args are returned without the need of predefined variables)
To be able to pass parameters, you should have them declared in the synapse notebooks so that the values can be received and used as per requirement.
The closest functionality similar to sys.argv you can get is to just declare one parameter in the parameter cell.
Now, concatenate all the values separated by a delimiter like space or ,. So that, you can just use split and use the values same as sys.argv. So, instead of creating new parameters each time, you can just concatenate the value to this parameter itself.
#{pipeline().parameters.a} #{pipeline().parameters.b} #{pipeline().parameters.c}
When I run this, the values would be passed as shown below. You can use split on args variable and then use the values accordingly.

Can't understand this data type definition

I'm currently reading the book atomic kotlin where the definition says Kotlin, A data type provides a set of values from which an expression may take its values and I counter to that saying isn't it the variable of data type which provides the value ? I don't know can anybody please explain ?
A data type provides a set of values from which an expression may take its values
What the sentence is telling you is that a type is a set of values, and when you evaluate an expression of this type, the (single) value of that expression is one value of that set.
isn't it the variable of data type which provides the value ?
A variable of a given data type provides one value when it's read. This is one particular kind of expression of this type. More complex expressions also have a type, and provide one value of that type when evaluated.
The important bit here is that one expression evaluates to one value, while the type is the set of all possible values for expressions of such type.
For example, as mentioned by #Ruthvik, the Int type is the set of all possible integer values between Int.MIN_VALUE and Int.MAX_VALUE.

Mosaic-Decisions: different types of parameters

What different types of parameters do mosaic decision provide?What is the difference between input, calculated, sql and global variables?
Mosaic has two types of parameters:
1. System Parameters - These parameters are auto-generated by the mosaic and are passed to hooks and schedule for further use. User cannot edit the values of these parameters. Following are the available system parameters:
a. lastSuccessfulRunDate
b. lastRunDate
c. instanceId
d. current Time
e. object Name
f. Username
g. User-defined Parameters
2. User Parameter - These parameters are defined by an user during the configuration of a flow and can be used in flows as per defined or calculated values. User-defined parameters include:
a. Input
b. Calculated
c. SQL
d. Global
Difference between Input, Calculated, SQL and Global -
1. Input Parameter - The Input parameter are the parameters that can be used in any flow nodes, hooks, scheduler and can be edited and deleted as and when required.
2. Calculated Parameter - The calculated parameters are the parameters whose values are calculated based on the expression user define.
3. SQL Parameter - These parameters are used when there is a need to fetch values from records using SQL queries. Mosaic supports Databases like Oracle, SQL, Snowflake, Postgres and SQL Server
4. Global Parameter - These parameters are just as input parameters but these parameters unlike input parameters can be used across the platform. These parameters are defined at Manager Persona and can be added into the flow just like other parameters.
Note - Global Parameters cannot be edited through flows. User will have to edit it through Mosaic Manager and the updated value will get reflected in all the flows the parameter is used.
For more details please refer below link to Mosaic User Help Document -
https://mosaic.ga.lti-mosaic.com/usermanual/parameter.html
Hope this is helpful :)

SSIS Package Variables

I have a bunch of different variables, most are strings, however I have one which is an integer. I need to grab this int from a table (where it is also of type INT). My problem is with setting the parameter for this variable. All my other variables (which are strings) i can use parameters like {0}, {1}, {2}..etc however Int32 Variables will not let me give it a value which is a parameter, how do I handle this?
We store variables in a configuration table and that way they are set at run-time from the configuration for that server. We also sometimes run parent child pacakgae so the varaible can be differnt for differnt clients running the same process. Then the varaible is passed to the child paackge from the parent package in a parant package varaible.
Alternatively, you can run an execute SQL task at the start of the process to grab the value from the table and set it to the int variable in the result set. This is often the best way if the variable will change over time and thus you don't want it to be part of the configuration.

SSIS - How do I see/set the field types in a Recordset?

I'm looking at an inherited SSIS package, and a stored procedure is sending records to a recordset called USER:NEW_RECORDS. It's of type Object, and the value is System.Object. It is then used for inputting that data to a SQL table. We're getting an error, because it seems that the numeric results of the stored procedure are being put in a DT_WSTR field, and then failing when it is then put into a decimal field in the database.
Most of the records are working, but one, which happens to have a longer number of decimal digits, is failing.
I want to see exactly what my SSIS recordset field types are, and probably change them, so I can force the data to be truncated properly and copied. Or, perhaps, I'm not even looking at this correctly. The data is put into the recordset using a SQL Task that executes the stored procedure.
Edit: It appears that this particular recordset is used twice, and this is the second use of it. I'm thinking that perhaps it has the data types of the first use. But I can't put a Data Viewer on a SQL Task, can I?
I am having the same trouble, so I directed the flow behind the record set into a flat file.
I did make a new recordset to use, so that the other one was not used. And while I never did figure out how to see the data, I could change the data types of the types in the parameter mapping, which was apparently what was needed. I changed a type from NUMERIC to FLOAT, and it quit complaining about some of the data.
This question may be too specific to my own problem to be of use to others. I may delete it.