Passing Time Parameter to a SQL Script
I am trying to create an SSIS package that will extract data from a non BPC database to load into BPC. I am calling the package from DM prompting for the time parameter. However, I am having problems passing the parameter to the SQL script. I am using OLEDB Data source task using the SQL command - Using the following scrip where the '?'' is the prompt for the BPC time parameter. Any suggestions on how to resolve would be greatly appreciated.
SELECT
CASE
WHEN LEN(GLAccountNumber)=10
THEN LEFT(GLAccountNumber,6)
ELSE GLAccountNumber
END AS ACCOUNT ,
'F_CLO' AS ACCTDETAIL ,
'ACTUAL' AS CATEGORY ,
RTRIM(CompanyCode) AS COMPANY ,
RTRIM(CompanyDepartment) AS COSTCENTER ,
'FM' AS DATASRC ,
'NON_INTERCO' AS INTERCO ,
'NOMAT' AS MATERIALS ,
'NOPC' AS PROFITCTR ,
'LC' AS RPTCURRENCY ,
CAST(YearNumber AS CHAR(4)) + '.' + MonthAbbreviation AS [TIME] ,
SUM(TransactionAmount) AS SIGNEDDAA
FROM dbo.GLTransactionDimension a WITH (nolock)
JOIN dbo.GLTransactionFacts b WITH (nolock)
ON a.GLTransactionDimensionKey = b.GLTransactionDimensionKey
JOIN dbo.DateDimension c WITH (nolock)
ON b.EntryDateDimensionKey = c.DateDimensionKey
WHERE EntryDateDimensionKey LIKE
CASE
WHEN RIGHT(?,3)='APR' THEN '200904%'
WHEN RIGHT(?,3)='MAY' THEN '200905%'
END
AND RowType = 'T'
GROUP BY CompanyCode ,
DepartmentCode ,
CompanyDepartment ,
GLAccountNumber ,
YearNumber ,
MonthAbbreviation
ORDER BY CompanyCode ,
DepartmentCode ,
GLAccountNumber ,
YearNumber ,
MonthAbbreviation
Hi Steven,
Use SQL task without parameter
Into DM package into Modify script Build a variable where you will build the entire sql string and of course you will be able to pass also the variable.
After that you will call into Modify scrip something like:
TASK( Yourtask, SQL, "the entire SQL with parameter")
Regards
Sorin
Similar Messages
-
How do I Pass a parameter to a SQL Component Task where the source SQL statement is also a variable
Hi,
I have been tasked with making a complex package more generic.
To achieve this I need to pass a parameter to a SQL Component Task where the source SQL statement is also a variable.
So to help articulate my question further I have create a package and database as follows; -
USE [KWPlay]
GO
/****** Object: Table [dbo].[tblTest] Script Date: 05/14/2014 17:08:02 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[tblTest](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[Description] [nvarchar](50) NULL,
CONSTRAINT [PK_tblTest] PRIMARY KEY CLUSTERED
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
I populated this table with a single record.
I unit tested the SQL within SSMS as follows;
SELECT * FROM dbo.tblTest
Result; -
ID
Description
1
Happy
DECLARE @myParam NVARCHAR(100)
SET @myParam = 'Sad'
UPDATE dbo.tblTest SET [Description] = @myParam FROM dbo.tblTest WHERE ID = 1
SELECT * FROM dbo.tblTest
Result; -
ID
Description
1
Sad
Within the package I created two variables as follows; -
Name: strSQL
Scope: Package
Data Type: String
Value: UPDATE dbo.tblTest SET [Description] = @myParam FROM dbo.tblTest WHERE ID = 1
Name: strStatus
Scope: Package
Data Type: String
Value: Happy
I then created a single ‘Execute SQL Task’ component within the control flow as follows; -
However when I run the above package I get the following error; -
SSIS package "Package.dtsx" starting.
Error: 0xC002F210 at Execute SQL Task, Execute SQL Task: Executing the query "UPDATE dbo.tblTest SET [Description] = @myParam FR..." failed with the following error:
"Parameter name is unrecognized.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
Task failed: Execute SQL Task
Warning: 0x80019002 at Package: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED.
The Execution method succeeded, but the number of errors raised (1) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the
errors.
SSIS package "Package.dtsx" finished: Failure.
I also tried; -
Name: strSQL
Scope: Package
Data Type: String
Value: UPDATE dbo.tblTest SET [Description] = ? FROM dbo.tblTest WHERE ID = 1
However I received the error; -
SSIS package "Package.dtsx" starting.
Error: 0xC002F210 at Execute SQL Task, Execute SQL Task: Executing the query "UPDATE dbo.tblTest SET [Description] = ? FROM dbo...." failed with the following error: "Parameter name is unrecognized.". Possible failure reasons: Problems with
the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
Task failed: Execute SQL Task
Warning: 0x80019002 at Package: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. The Execution method succeeded, but the number of errors raised (1) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches
the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.
SSIS package "Package.dtsx" finished: Failure.
Kind Regards,
Kieran.
Kieran Patrick Wood http://www.innovativebusinessintelligence.com http://uk.linkedin.com/in/kieranpatrickwood http://kieranwood.wordpress.com/Tried; -
Name: strSQL
Scope: Package
Data Type: String
Value: UPDATE dbo.tblTest SET [Description] = ? FROM dbo.tblTest WHERE ID = 1
and; -
Result; -
SSIS package "Package.dtsx" starting.
SSIS package "Package.dtsx" finished: Success.
Therefore the answer was to put the parameter number rather than the parameter name under the parameter mapping tab-> parameter name column.
Kieran Patrick Wood http://www.innovativebusinessintelligence.com http://uk.linkedin.com/in/kieranpatrickwood http://kieranwood.wordpress.com/ -
Passing a parameter to a shell script through concurrent program
Hi All,
I am trying to pass a runtime parameter from oracle application to a shell script which inturn calls a sql script. The parameter iam passing has a space for example. iam passing something like "Customer 1" so how does the shell script interpret this parameter. Any ideas are appreciated.
Thanks,You may need to read the input parameters first, e.g.:
set file [lindex $argv 0]
Then: send "put $file\r"
There is a good example at http://en.wikipedia.org/wiki/Expect -
How to pass a parameter into execute sql task and later use it into dataflow task?
i am in a situation, where i have a logging table in which i have a primary key called ETL_log_ID which is an identity column and acts as a foreign key for various fact table and dimension tables which are populated using SSIS packages. Now i wanna use the
ETL_log_ID as a parameter in the execute sql task which populates the log table and pass the same value in the data flow task which populates the facts and dimension. Can you let me know how to pass the parameter in a step by step procedure.
Thanks,
Nikhil
Nikhil,
You can check the following :
http://www.programmersedge.com/post/2013/03/05/ssis-execute-sql-task-mapping-parameters-and-result-sets.aspx
http://stackoverflow.com/questions/7610491/how-to-pass-variable-as-a-parameter-in-execute-sql-task-ssis
Regarding the usage in Dataflow task, Can you elaborate on that a little?
Thanks,
Jay
<If the post was helpful mark as 'Helpful' and if the post answered your query, mark as 'Answered'> -
How to pass a parameter into a sql expression?
How to pass a report parameter into a sql expression?
Hi Donald,
The functionality of using a parameter in a function is only available in the formula editor and not in SQL Expression. Parameters cannot be passed to the SQL Expression, the main purpose of the SQL Expression is to make use of Database functions to make calculations at the database level but the current functionality of the product only allows you to use Database fields.
There is an article that talks on SQL Expressions and can be useful http://technicalsupport.businessobjects.com/KanisaSupportSite/search.do?cmd=displayKC&docType=kc&externalId=c2016184&sliceId=&dialogID=6018612&stateId=1%200%206020316
Regards,
Vinay -
Pass customer parameter to oem_exec_template.sql
Hello
i have created on process flow using OWB9.2.0.8. This process flow is having an external activity that calls one MS-Dos batch file for the renaming of flat files
i am passing the SYDATE to this process flow so that the batch file receives this value and renames the files accordingly.
i have set a parameter at START and bind that parameter with the External activity.
When i execute this process flow using deployment manager i can see the prompt window for that parameter. Passing the parameter value is working perfectly fine.
but how can i pass the value to this process flow when i register this process flow through OEM.
i am passing the following parameters for scheduling thorough OEM to oem_exec_template.sql
RUNTIME_REP WF_LOC PROCESS SAMPLE_PF param1 ,I can see the topic is raised here, but......what's the answer? ( I have the same problem )
I have a mapping input parameter, use the oem_exec_template.sql to run the mapping, but fail to see where to enter the mapping input parameter. The documentation I read through doesn't refer to this possibility whatsoever.
Anyone? :-) -
Passing a parameter to an 'Expect' script
Hi,
Does anyone know how to pass a parameter from a regular Linux shell script to an expect script.
I'm using the standard $1 but the expect script gives me an error.
How does Expect want us to pass parameters to it?
My call to the script and the script are below.
expect -f /home/fhs_clientdata/ftpget/fhs_ftpput_exehfc_expect.sh $FILE_NAME_SOURCEthe Expect script:
spawn sftp [email protected]
set PASSWORD "AbCd46%Z"
expect "password:"
send "$PASSWORD\n"
expect "sftp>" {
send "cd inbound\n"
expect "sftp>"
send "put $1\n"
expect "sftp>"
send "bye\n"
send_user "Done\n"
exit
} "Permission denied, please try again." {
send_user "There was error with th permissions"
exit
}You may need to read the input parameters first, e.g.:
set file [lindex $argv 0]
Then: send "put $file\r"
There is a good example at http://en.wikipedia.org/wiki/Expect -
Passing int[] parameter to PL/SQL stored proc via SQLJ
This should be easy. I want to pass an array of Java integers i.e. int[] as an IN parameter to a PL/SQL stored procedure that expects a TABLE OF INTEGER.
But SQLJ keeps giving me an error when I try to call the procedure, saying that int[] is an unsupported Java type.
Is this true? Is it really impossible to pass a simple int array into a PL/SQL procedure via SQLJ?
All help will be gratefully received.
ChrisYes, you cannot pass int[], since index-by-tables are not supported by either JDBC or by SQLJ.
(Well, I lied just a little bit: if you use an 8.1.7 or later JDBC-OCI driver, then there is some support for scalar index-by-tables. But not with thin, kprb drivers, or with SQLJ.)
null -
Passing user parameter into your sql query
I've created two user parameters...'Order_date_from' and 'Order_date_to'
I've written a simple query to list the total order amount, order number, party name and ordered date
Select sum ((unit_selling_price)*(ordered_quantity)), count(line_number), oe_order_headers_all.order_number, hz_parties.party_name, oe_order_headers_all.ordered_date
from oe_order_lines_all,
oe_order_headers_all,
hz_parties,
hz_cust_accounts
where oe_order_lines_all.header_id=oe_order_headers_all.header_id
and oe_order_headers_all.sold_to_org_id = hz_cust_accounts.cust_account_id
and hz_cust_accounts.party_id = hz_parties.party_id
group by order_number, party_name, ordered_date;
I want to know how I can pass the value for the above mentioned parameters into my sql query so that it reflects as the 'ordered_date' in the report and only shows the data for the dates that the user inputs.
Any feedback would be appreciated. Thanks.I want to know how I can pass the value for the above
mentioned parameters into my sql query so that it
reflects as the 'ordered_date' in the report and only
shows the data for the dates that the user inputs.
Any feedback would be appreciated. Thanks.And how does the "user" input these dates? -
Can't pass a parameter to an SQL Query
I've looked for about an hour or more now on the web, java.sun.com, but can't find what I need:
I have a page called display.jsp, and I call it from the browser
http://localhost/display.jsp?libnum=1
In the page I have the following code:
<sql:query var="profileQuery" dataSource="${profileDS}">
SELECT * FROM singles.profile where libnum=?
<sql:param value="${libnum}"/>
</sql:query>
However, the database sees the query as
" SELECT * FROM singles.profile where libnum=null"
So, my question is how do I make this line work ? :
" <sql:param value="${libnum}"/> "
can you help ?
thanks !
DennisDude .....
Here's my code now -- solved it... phew..
Just to think of it ... what a difference between "libnum" and "param.libnum". That was like 3-4, if not 5 hour difference for me.
<sql:query var="profileQuery" dataSource="${profileDS}">
SELECT * FROM singles.profile where libnum=?
<sql:param value="${param.libnum}"/>
</sql:query>
Dennis -
Retrieve alert values for use as parameter in corrective action sql script
I am trying to write a corrective action sql script to kill a session that is blocking other sessions. I have the "blocking session count" metric set and the alert is firing correctly.
Is there any way to retrieve the sid and serial number from the alert generated and use it in a corrective action sql script?
Here is the alert generated:
Target Name=myproddb.world
Target Type=Database Instance
Host=myprodserver
Metric=Blocking Session Count
Blocking Session ID=SID: 522 Serial#: 5228
Timestamp=Mar 4, 2008 5:57:12 PM EST
Severity=Warning
Message=Session 522 is blocking 1 other sessions
Notification Rule Name=Testing Corrective actions
Notification Rule Owner=sysman
Clearly the sid, and serial # is contained within the alert Message field
what I want to write for the sql script is :
alter system kill session '%sid%,%serial_no%' immediate;
and have GC pass in the sid and serial_no to the script.
The "Target Properties" listed on the right of the Edit Corrective Action screen lists minimal details pertaining to the alert and certainly not the session sid, serial no.
Generically, is there any way to retrieve the values from an alert and use them in a corrective action script or job?
I've looked into getting the values from the mgmt$alert_history table, but I'm hoping that GC can pass the values to the sql script.
thanks in advance for your help.Hi
You can implementing a procedure like this.
1. When a block session count alarms occurs, there is a column in the v$lock that you can examine.
#!/bin/ksh
#kill_block_session.sh
#first export your variables
export ORACLE_HOME=/oracle/product/10.2.0.3
export ORACLE_SID=SIDNAME
$ORACLE_HOME/bin/sqlplus "/ as sysdba" << EOF
execute immediate killed_blocks;
EOF
# end
The killed_blocks is a procedure:
create procedure
declare
v_sid varchar2(15);
v_serial varchar2(15);
-- now a sql query that retrieve the sid and serial
-- you can obtain these values from v$session and v$lock
select vs.sid,vs.serial into v_sid,v_serial
from v$session vs,v$lock vl
where vs.sid=vl.sid
and vl.block >0
-- After this, you execute a dbms_put line with these
-- values
But you understant that this response action is very dangerous, because its possible that you kill sessions that the blocking are transitient.
You must examine your enviroment and your application and establish the metric like UDM and not for only session blocking count.
You must to see:
- The type of block
- The ctime time in the v$lock for to understatn the amount of time to determine that the block is need killed.
- In my opinion you need a special UDM and deactivate the blocking sesion count
If you want help to create this UDM send me a mail to [email protected]
Regards
Robert -
Passing concurrent parameter to OS script
I have a printer driver that calls an OS script and I want to pass a parameter value to that script from a concurrent program that uses that driver via a specific style.
Is there anyway to reference the concurrent parameter? I'm already passing the filename to the script via $PROFILES$.FILENAME. Is there a similar reference to a parameter value that I could use?
Any help would be much appreciated.
Thanks,
ToddHi Todd
I thinh this will only get the concurrent request id what he wants is to send the send the parameter to it.. Will it work.. I am not sure.. Just put my views thats all..
Sunil -
Error while passing parameter(quoted string parameter ) to sql script
Hi all,
I have a master script insert_attribute_single.sql which takes 6 parameter. when i am using in sql prompt
SQL>@@INSERT_ATTRIBUTE_SINGLE.SQL 'LEED PROJECT START DATE' 7 'N' 27265185 '7'22'008' NULL;
then it is giving error for the 5th parameter. and i need to pass 5th parameter '7'22'008' in this.
in the master script it is giving error - ORA-06550 here.
dbms_output.put_line('Processing attribute : &1 Project : &4 Char value : &5 Numeric Value : &6 ' ) ;
can you please help me to resolve this with single quotes in string.
Thanks in advance.
regards
shyam~Here is my sql file:
declare
a_Var VARCHAR2(10) := '&1';
begin
dbms_output.put_line(a_var||','||'&2');
end;
/Here is how I am calling the sql file with parameter values containing quotes in itself:
SQL> @@d:\a.sql '12''''23''''23' '123'
old 2: a_Var VARCHAR2(10) := '&1';
new 2: a_Var VARCHAR2(10) := '12''23''23';
old 4: dbms_output.put_line(a_var||','||'&2');
new 4: dbms_output.put_line(a_var||','||'123');
12'23'23,123
PL/SQL procedure successfully completed.
SQL> -
Passing Multiple Parameters to SQL Script from a Shell Script
Hi Friends,
I have SQL script which accepts 6 parameters.
I am calling this from a shell script as shown below:
sqlplus -s ${ORACLE_ID} @${SQLPATH}KORONT_041.sql ${USER_ID} ${PDC} ${item_number} ${KORDC} ${PDCSET} ${last_Updated_in_hours} Out of the six parameters, item_number is not a mandatory parameter.
When i pass all six parameters, there is no issue.
But when i leave item_number blank, i am getting the below error
Enter value for 6:
User requested Interrupt or EOF detected.Based on the error, it seems that the NULL values for item_number is ignored and SQL*PLUS is waiting for one more input from user.
How can i overcome this issue?
Regards,
SreekanthHi,
I am calling the shell script from concurrent program and below is the log file of the concurrent program.
Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
KORONT_041_SH module: KORONT - Daily Item Master Update
+---------------------------------------------------------------------------+
Current system time is 29-JUN-2011 10:09:35
+---------------------------------------------------------------------------+
REQUEST_ID: 68510795
USER_ID: 4219
PDC: 85
Item Number:
KORDC: 124
PDCSET: 1100000003
last_updated_in_hours: 24
EMAIL_ID: [email protected],[email protected]
SQLPATH: /e381/oracle/asodev01appl/custom/motont/1.0.0/sql/
RPTDIR: /e381/oracle/asodev01comn/admin/out/ASODEV01_asoprdb2
RPTFILE: o68510795.out
Table truncated.
*Enter value for 6: User requested Interrupt or EOF detected.*
Table truncated.
old 15: AND ic.organization_id = &&4
new 15: AND ic.organization_id = 1100000003
0 rows created.
Input truncated to 9 characters
old 8: AND organization_id = &&4
new 8: AND organization_id = 1100000003
0 rows created.
End of SQL
No record.
+---------------------------------------------------------------------------+
Executing request completion options...
+------------- 1) PRINT -------------+
Printing output file.
Request ID : 68510795
Number of copies : 0
Printer : noprint
+--------------------------------------+
Finished executing request completion options.
+---------------------------------------------------------------------------+
Concurrent request completed successfully
Current system time is 29-JUN-2011 10:09:38
+---------------------------------------------------------------------------+Regards,
Sreekanth -
How pass a parameter with forward slash to plsql script
Hi,
I am trying pass a parameter to plsql script from command line using sqlplus, and the parameter is a file directory and has '/'. Seems the system couldn't recognize the value.
here is my code in DECLARE:
l_FileDir VARCHAR2(200) := &&FileDir ;
I pass value '/usr/tmp' (with the single quote in the string)
Can someone tell me how I do it?
Thanks,
Kate
Edited by: user12100435 on Feb 25, 2010 8:31 AMuser12100435 wrote:
I think you are right. The issue is not file-separator character issue. because the exact same script run in another envoironment. And it's not file directory or permission issue because if I use hardcoded value, the code works fine.
The error message is invalid File directory.
Here is the related part of the code.
-- open file handler
IF UTL_FILE.IS_OPEN(l_FileHandler) THEN
UTL_FILE.FCLOSE(l_FileHandler);
ELSE
l_FileHandler := UTL_FILE.FOPEN ( location => l_FileDir,
filename => l_FileName,
open_mode => 'W',
max_linesize => 32767 );
END IF;Ok, based on your input so far, I have cooked up a simple testcase.
Make sure you are doing something similar to this -
test@XE>
test@XE> -- show the contents of the anonymous PL/SQL script
test@XE> -- You are probably passing two parameters - the file location and the file name
test@XE> --
test@XE> ! cat test5.sql
DECLARE
l_FileHandler UTL_FILE.FILE_TYPE;
l_FileDir VARCHAR2(200) := '&1' ;
l_FileName VARCHAR2(200) := '&2' ;
BEGIN
-- open file handler
IF UTL_FILE.IS_OPEN(l_FileHandler) THEN
UTL_FILE.FCLOSE(l_FileHandler);
ELSE
l_FileHandler := UTL_FILE.FOPEN ( location => l_FileDir,
filename => l_FileName,
open_mode => 'W',
max_linesize => 32767 );
UTL_FILE.PUT_LINE(file => l_FileHandler, buffer => 'Hello, World!');
UTL_FILE.FCLOSE(file => l_FileHandler);
END IF;
END;
test@XE>
test@XE> -- execute it
test@XE> @test5.sql '/usr/tmp' 'first.txt'
old 3: l_FileDir VARCHAR2(200) := '&1' ;
new 3: l_FileDir VARCHAR2(200) := '/usr/tmp' ;
old 4: l_FileName VARCHAR2(200) := '&2' ;
new 4: l_FileName VARCHAR2(200) := 'first.txt' ;
DECLARE
ERROR at line 1:
ORA-29280: invalid directory path
ORA-06512: at "SYS.UTL_FILE", line 33
ORA-06512: at "SYS.UTL_FILE", line 436
ORA-06512: at line 10
test@XE>
test@XE> -- Create a directory object that points to "/usr/tmp"
test@XE> create directory log_dir as '/usr/tmp';
Directory created.
test@XE>
test@XE> -- now invoke the script
test@XE> -- Note - I pass the value "LOG_DIR" in uppercase. That's the name of my directory object.
test@XE> --
test@XE> @test5.sql 'LOG_DIR' 'first.txt'
old 3: l_FileDir VARCHAR2(200) := '&1' ;
new 3: l_FileDir VARCHAR2(200) := 'LOG_DIR' ;
old 4: l_FileName VARCHAR2(200) := '&2' ;
new 4: l_FileName VARCHAR2(200) := 'first.txt' ;
PL/SQL procedure successfully completed.
test@XE>
test@XE> -- Since my Oracle client is on the same machine as the Oracle server, I can check
test@XE> -- this file "/usr/tmp/first.txt" quite easily
test@XE>
test@XE> ! cat /usr/tmp/first.txt
Hello, World!
test@XE>
test@XE> isotope
Maybe you are looking for
-
Why does iTunes 11 keep reopening after I quit?
This is moving from the bizarre to the absurd. I recently updated to iTunes 11 on my MacBook Pro (OSX 10.7.5), and now iTunes keeps reopening after I quit. I have checked the support forum for similar issues from previous versions. I do not have "
-
I updated to ios 8.0.2 around 2 weeks ago and bam! the next day I wake up and use my ipod (I usually leave it on during the night, and battery is still good) and it's down to 50%, then to 20% later! And now the battery is terrible! it goes down much
-
Missing IDoc - config question
I need to send SHPORD.DELVRY03 IDocs from SAP and convert it in XI to a file. The outgoing IDoc in the SAP system has status "03 - Data passed to port OK" "The IDoc was sent to an R/3 System or an external program via a transactional RFC. The TID is
-
New install crashes at "initailizing files"
I have a new computer (Acer w/ Vista) that refuses to run Dreamweaver. I initially installed the CS3 Suite - all programs ran just fine except Dreamweaver. It would begin, but crash at "initailizing files". It did this from the very first time I trie
-
Visual Studio Pro 2014 w/Update 4
I have an active Action Pack subscription as Application Design and Development. With the subscription I am entitled download of VS Pro 2013. I have an active sign in to the MS Partner Site and related Action Pack software downloads. I am also act