Embedded assignment statements help
Hello, can someone add an embedded assignment statement to this program as I have been trying different things but was not realy sure I was doing the right thing. Also if you can identify the change int he for loop please.
cheers
John
*Modify the CommandLine application to use embedded assignment
*statements (see lecture slides). Compile and run the application.
*Observe the output. What needs to be changed in the for loop
*declaration?
public class CommandLine
public static void main(String[] argStrings)
for (int i = 0; i < argStrings.length; i++)
System.out.println(argStrings);
Would this be right? Although im not sure how it works.
cheers anyone
public class CommandLine
public static void main(String[] argStrings)
for (int i = 0; i < argStrings.length;)
System.out.println(argStrings[i++]);
}
Similar Messages
-
PRO*C에서 EMBEDDED SQL STATEMENTS를 사용해서 LOB DATATYPES에 접근하는 예제
제품 : PRECOMPILERS
작성날짜 : 2001-07-12
PRO*C에서 EMBEDDED SQL STATEMENTS를 사용해서 LOB DATATYPES에 접근하는 예제
==========================================================================
Pro*C에서 LOB를 사용하는 방법에는 다음 3가지가 있습니다.
(1) PL/SQL blocks에서 DBMS_LOB package를 이용하는 방법
(2) OCI function을 이용하는 방법
(3) Embedded SQL statements을 이용하는 방법
다음은 (3)번째 방법에 대한 pro*c에서 지원하는 명령어들입니다.
o APPEND: Appends lob value at the end of another LOB.
EXEC SQL LOB APPEND :src TO :dst;
o ASSIGN: Assigns LOB or BFILE locator to another.
EXEC SQL LOB ASSIGN :src TO :dst;
o CLOSE: Close LOB or BFILE.
EXEC SQL LOB CLOSE :src;
o COPY: Copy all or part of LOB value into another LOB.
EXEC SQL LOB COPY :amt FROM :src [AT :src_offset] TO :dst [AT dst_offset];
o CREATE TEMPORARY: Creates a temporary LOB.
EXEC SQL LOB CREATE TEMPORARY :src;
o ERASE: Erase the given amount of LOB data starting from a given offset.
EXEC SQL LOB ERASE :amt FROM :src [AT :src_offset];
o FILE CLOSE ALL: Closes all the BFILES open in the current session.
EXEC SQL LOB FILE CLOSE ALL;
o FILE SET: Set DIRECTORY alias and FILENAME in a BFILE locator.
EXEC SQL LOB FILE SET :file DIRECTORY = :alias, FILENAME = :filename;
o FREE TEMPORARY: Free the temporary space for the LOB locator.
EXEC SQL LOB FREE TEMPORARY :src
o LOAD FROM FILE: Copy all or part of BFIL into an internal LOB.
EXEC SQL LOB LOAD :amt FROM FILE :file [AT :src_offset]
INTO :dst [AT :dst_offset];
o OPEN: Open a LOB or BFILE for read or read/write.
EXEC SQL LOB OPEN :src [ READ ONLY | READ WRITE ];
o READ: Reads all or part of LOB or BFILE into a buffer.
EXEC SQL LOB READ :amt FROM :src [AT :src_offset]
INTO :buffer [WITH LENGTH :buffer];
o TRIM: Truncates the LOB vlaue.
EXEC SQL LOB TRIM :src to :newlen;
o WRITE: Writes contents of the buffer to a LOB.
EXEC SQL LOB WRITE [APPEND] [FIRST | NEXT | LAST | ONE ]
:amt FROM :buffer [WITH LENGTH :buflen] INTO :dst [AT :dst_offset];
o DESCRIBE: Retrieves the attributes from a LOB.
EXEC SQL LOB DESCRIBE :src GET attribute1 [{, attributeN}]
INTO :hv1 [[INDICATOR] :hv_ind1] [{, :hvN [[INDICATOR] :hv_indN] }];
Attributes can be any of the following:
CHUNKSIZE: chunk size used to store the LOB value
DIRECTORY: name of the DIRECTORY alias for BFILE
FILEEXISTS: whether BFILE exists or not
FILENAME: BFILE name
ISOPEN: whether BFILE with this locate is OPEN or not
ISTEMPORARY: whether specified LOB is temporary or not
LENGTH: Length of BLOBs and BFILE in bytes, CLOBs and NCLOBs
in characters.
다음은 LOB를 사용하는 sample을 실행하는 방법입니다.
1. 먼저 scott user에서 다음을 실행합니다. (create directory를 할 수 있는 권한이
있어야 하며, directory는 사용하시는 환경에 맞도록 수정해 주십시요.)
drop table lob_table;
create table lob_table (key number, a_blob BLOB, a_clob CLOB);
drop table lobdemo;
create table lobdemo (key number, a_blob BLOB, a_bfile BFILE);
drop directory dir_alias;
create directory dir_alias as '/users/app/oracle/product/8.1.7/precomp/demo/proc';
insert into lob_table values(1, utl_raw.cast_to_raw('1111111111'), 'aaaaaaaa');
commit;
2. 다음 코드는 out.gif 파일을 위에서 지정한 directory에 만들고 lob_table의
내용에 들어있는 BLOB의 내용을 저장하는 sample입니다.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sqlda.h>
#include <sqlcpr.h>
/* Define constants for VARCHAR lengths. */
#define UNAME_LEN 20
#define PWD_LEN 40
/* Declare variables. No declare section is
needed if MODE=ORACLE. */
VARCHAR username[UNAME_LEN]; /* VARCHAR is an Oracle-supplied struct */
varchar password[PWD_LEN]; /* varchar can be in lower case also. */
/* The following 3 lines avoid inclusion of oci.h during precompilation
oci.h is needed only during compilation to resolve calls generated by
the precompiler
#ifndef ORA_PROC
#include <oci.h>
#endif
#include <sqlca.h>
OCIBlobLocator *blob;
OCIClobLocator *clob;
FILE *fp;
unsigned int amt, offset = 1;
#define MAXBUFLEN 5000
unsigned char buffer[MAXBUFLEN];
EXEC SQL VAR buffer IS RAW(MAXBUFLEN);
/* Declare error handling function. */
void sql_error(msg)
char *msg;
char err_msg[128];
size_t buf_len, msg_len;
EXEC SQL WHENEVER SQLERROR CONTINUE;
printf("\n%s\n", msg);
buf_len = sizeof (err_msg);
sqlglm(err_msg, &buf_len, &msg_len);
printf("%.*s\n", msg_len, err_msg);
EXEC SQL ROLLBACK RELEASE;
exit(EXIT_FAILURE);
void main()
/* Connect to ORACLE--
* Copy the username into the VARCHAR.
strncpy((char *) username.arr, "SCOTT", UNAME_LEN);
/* Set the length component of the VARCHAR. */
username.len =
(unsigned short) strlen((char *) username.arr);
/* Copy the password. */
strncpy((char *) password.arr, "TIGER", PWD_LEN);
password.len =
(unsigned short) strlen((char *) password.arr);
/* Register sql_error() as the error handler. */
EXEC SQL WHENEVER SQLERROR DO sql_error("ORACLE error--\n");
/* Connect to ORACLE. Program will call sql_error()
* if an error occurs when connecting to the default database.
EXEC SQL CONNECT :username IDENTIFIED BY :password;
printf("\nConnected to ORACLE as user: %s\n", username.arr);
/* Allocate the LOB host variables and select the BLOB value */
EXEC SQL ALLOCATE :blob;
EXEC SQL ALLOCATE :clob;
EXEC SQL SELECT a_blob INTO :blob FROM lob_table WHERE key=1;
/* Open external file to which BLOB value should be written */
fp = fopen("out.gif", "w");
EXEC SQL WHENEVER NOT FOUND GOTO end_of_lob;
amt = 5000;
EXEC SQL LOB READ :amt FROM :blob AT :offset INTO :buffer;
fwrite(buffer, MAXBUFLEN, 1, fp);
EXEC SQL WHENEVER NOT FOUND DO break;
/* Use polling method to continue reading the next pieces */
while (TRUE)
EXEC SQL LOB READ :amt FROM :blob INTO :buffer;
fwrite(buffer, MAXBUFLEN, 1, fp);
end_of_lob:
fwrite(buffer, amt, 1, fp);
printf("\nG'day.\n\n\n");
/* Disconnect from ORACLE. */
EXEC SQL ROLLBACK WORK RELEASE;
exit(EXIT_SUCCESS);
3. 다음 코드는 위에서 만든 out.gif file을 lobdemo에 저장하는 sample입니다.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sqlda.h>
#include <sqlcpr.h>
/* Define constants for VARCHAR lengths. */
#define UNAME_LEN 20
#define PWD_LEN 40
/* Declare variables. No declare section is
needed if MODE=ORACLE. */
VARCHAR username[UNAME_LEN]; /* VARCHAR is an Oracle-supplied struct */
varchar password[PWD_LEN]; /* varchar can be in lower case also. */
/* The following 3 lines avoid inclusion of oci.h during precompilation
oci.h is needed only during compilation to resolve call generated by
the precompiler
#ifndef ORA_PROC
#include <oci.h>
#endif
#include <sqlca.h>
OCIBlobLocator *blob;
OCIBFileLocator *bfile;
char *alias = "DIR_ALIAS";
char *filename = "out.gif";
unsigned int amt = 50;
unsigned int filelen;
/* Declare error handling function. */
void sql_error(msg)
char *msg;
char err_msg[128];
size_t buf_len, msg_len;
EXEC SQL WHENEVER SQLERROR CONTINUE;
printf("\n%s\n", msg);
buf_len = sizeof (err_msg);
sqlglm(err_msg, &buf_len, &msg_len);
printf("%.*s\n", msg_len, err_msg);
EXEC SQL ROLLBACK RELEASE;
exit(EXIT_FAILURE);
void main()
/* Connect to ORACLE--
* Copy the username into the VARCHAR.
strncpy((char *) username.arr, "SCOTT", UNAME_LEN);
/* Set the length component of the VARCHAR. */
username.len =
(unsigned short) strlen((char *) username.arr);
/* Copy the password. */
strncpy((char *) password.arr, "TIGER", PWD_LEN);
password.len =
(unsigned short) strlen((char *) password.arr);
/* Register sql_error() as the error handler. */
EXEC SQL WHENEVER SQLERROR DO sql_error("ORACLE error--\n");
/* Connect to ORACLE. Program will call sql_error()
* if an error occurs when connecting to the default database.
EXEC SQL CONNECT :username IDENTIFIED BY :password;
printf("\nConnected to ORACLE as user: %s\n", username.arr);
/* Allocate the LOB locator */
EXEC SQL ALLOCATE :blob;
EXEC SQL ALLOCATE :bfile;
/* Initialize the DIRECTORY alias of the BFILE and FILENAME */
EXEC SQL LOB FILE SET :bfile
DIRECTORY = :alias, FILENAME = :filename;
EXEC SQL INSERT INTO lobdemo values (1, EMPTY_BLOB(), :bfile);
EXEC SQL SELECT a_blob, a_bfile INTO :blob, :bfile FROM lobdemo
WHERE key = 1;
EXEC SQL LOB OPEN :bfile;
/* Get the BFILE length */
EXEC SQL LOB DESCRIBE :bfile
GET LENGTH INTO :filelen;
printf("File length is: %d\n", filelen);
amt = filelen;
/* Read BFILE and write to BLOB */
EXEC SQL LOB LOAD :amt FROM FILE :bfile INTO :blob;
EXEC SQL LOB CLOSE :bfile;
printf("\nG'day.\n\n\n");
/* Disconnect from ORACLE. */
EXEC SQL COMMIT WORK RELEASE;
exit(EXIT_SUCCESS);
4. 다음은 실행한 결과 입니다.
첫번째 sample :
Connected to ORACLE as user: SCOTT
G'day.
두번째 sample :
Connected to ORACLE as user: SCOTT
File length is: 10
G'day. -
What is the difference between Move & assign statement?
Hi,
MOVE:
For eg,
I_MARA is the internal table which has 1 record,
TYPES: BEGIN OF STRUCT_MARA,
MATNR TYPE MATNR,
MTART TYPE MTART,
MEINS TYPE MEINS,
END OF STRUCT_MARA.
DATA: I_MARA TYPE STANDARD TABLE OF STRUCT_MARA WITH HEADER LINE.
data: v_matnr type matnr.
(if V_MATNR is a variable of type matnr (V_MATNR TYPE MATNR)).
Then,
The data has to be moved into V_MATNR,
ie,
MOVE: I_MARA-MATNR TO V_MATNR.
Note: MOVE can be used for tranfering data between two variables of same type also.
ASSIGN:
I_MARA is the internal table which has 1 record,
TYPES: BEGIN OF STRUCT_MARA,
MATNR TYPE MATNR,
MTART TYPE MTART,
MEINS TYPE MEINS,
END OF STRUCT_MARA.
DATA: I_MARA TYPE STANDARD TABLE OF STRUCT_MARA WITH HEADER LINE.
data: <f1> type any.
(if <f1>is a field-symbol of type any (<f1> type any)).
Then,
ASSIGN I_MARA-MATNR TO <f1>.
The field-symbol <f1> will point the address of the I_MARA-MATNR
Note: ASSIGN i s only used for field-symbols and it is used by the field-symbols to point the address of a field used in ASSIGN syntax.
hope this helps. -
Embedded select statements 8.04
this is a tricky one to explain, I have sql statements that were written in oracle 8i and works, unfortunately it is now being run on oracle 8.04 and fails, we have tested out that field names are correct, and that all the functions like decode, avg, stddev etc all existed in version 7.0 (the oldest manual we have).
The only message we are get using sql worksheet and having the sql statement in a text file, is missing expression after the third embedded sql statement (there is then another) so my first questions is does this older version of oracle have a limit on statement sizes, no of times sql select statements can be embedded. Any help would be greatly appreciated as though I know SQL i know little about Oracle.the code is roughly as follows(cut down a bit) , we cant use procedures, so have to send whole code through vb to oracle, using an account with read only access , where it says Select Sum (( sql worksheet reports an error of missing expression on this select:
SELECT 0 AS Record_Type_Id,
'INCLUDE' AS EXCLUDE_STATUS,
Chrt.Chart_Number,
Cpsl.scale,
Othv.Chart_Version,
Chrt.W_Dimension
FROM
Chart Chrt,
Other_Version Othv,
(( SELECT chart_number, scale
FROM chart_panel
WHERE UPPER(panel_main_title) = 'MAIN PANEL'
UNION
SELECT chart_number,
(SELECT SUM((
SELECT Decode(STDDEV(CpnI.SCALE),0, AVG(CpnI.scale) / count(CpnI.scale),0)
FROM Chart_Panel CpnI
WHERE CpnI.Chart_Number = CpnO.Chart_Number
GROUP BY CpnI.Chart_Number))/count(cpno.chart_number) as AVGScale
FROM Chart_panel CpnO
WHERE Cpno.chart_number = Cpn2.Chart_number
GROUP BY CpnO.chart_number) AS Scale
FROM chart_panel Cpn2
WHERE UPPER(panel_main_title) <> 'MAIN PANEL'
AND Cpn2.chart_number NOT IN (SELECT Chart_number
FROM Chart_panel
WHERE UPPER(Panel_main_title) = 'MAIN PANEL'))
UNION
SELECT
CHART_NUMBER AS Chart_Number, 0
FROM
CH[i]Long postings are being truncated to ~1 kB at this time. -
Assign statement - Assign program field to field symbol
Hi,
System R/3 470
I have used the Assign statement to read variables from another program, in the current system. and everything works as expected.
I now want to read a button that is pressed from the Workflow inbox.
However when I try and read the value from the calling program SAPLSIW1 field L_FUNCTION, I get an error field symbols is not assigned
ASSIGN '(SAPLSIW1)l_function' TO <fs_func_gl>.
ASSIGN (<fs_func_gl>) TO <fs_func_lc>.
IF <fs_func_lc> IS ASSIGNED.
lwa_func = <fs_func_lc>.
ENDIF.
I can see all the programs in the call stacks and if I navigate to the program I can see the value fro field l_fucntion
Any help will be appreciated
Thanks
J-JHello,
1. From your code snippet i understand that you've not use ALL CAPS in your ASSIGN command
ASSIGN '(SAPLSIW1)L_FUNCTION' TO <fs_func_gl>.
2. As mentioned by Naimesh check the "Call Stack" in debugger & see what are the fields available. If the particular field is not in the "Call Stack" you can't ASSIGN it!
BR,
Suhas -
Hi
I am getting dump in following assign statement
assign src+fields_int-offset_src(fields_int-length_src)
to <f> type fields_int-type .
Error description:
The field symbol is no longer assigned because there was an attempt
makde previously in a Unicode program to set the field symbol using
ASSIGN with offset and/or length specification. Here, the memory
addressed by the offset/length specification was not within the
allowed area.
Please helpAlso the dump desc is
GETWA_NOT_ASSIGNED_RANGE -
Dynamic Assign Statement is not working in 4.6C
Hi Team,
I have done the following coding to get teh dynamic value sof a field but the assign statement is failing... Its returing the sy-subrc as 4.
LOOP AT <t_tab> INTO <s_tab>.
LOOP AT t_flds.
CONCATENATE '<s_tab>-' t_flds-fieldname INTO v_fldval.
ASSIGN (v_fldval) TO <fldval>.
endloop
endloop.
Appericiate your suggestions.
Thnx,
Ankur..Hi Ankur,
I am facing the same problem.........wit no solution in hand, cud u plz let me knw if u have got some solution over this.....
The problem occurs, maybe because the internal table field symbol <t_tab> (and hence <s_tab>) does not contain the fieldname for which u r tryin to get the value in <v_fldval>
Is there a way to chk if a particular fieldname exists in the <t_tab>, so tht if v dont get it, we wud avoid the ASSIGN statement, so tht v dont get a dump
Appreciate ur inputs.....
Regards,
Aparna. -
ASSIGN_REFERENCE_EXPECTED error in assign statement.
hi all,
Iam upgrading the system from ecc4.6c to 6.0
igot a dump in the assign statement.
this is the statement:
assign src+fields_int-offset_src(fields_int-length_src)
to <f> type fields_int-type
decimals fields_int-decimals.
it is giving the error at this statament.
error analysis is :
The first operand specified with ASSIGN has type "14" and is therefore
no data reference.
will anyone solve this problem.hi,
increase the field length of fields_int-type or make use of a different field which has length greater tha or equal to fields_int-length_src field length.
Regards,
Santosh -
How to assign search help using ovs for select options for ALV in web dynpr
how to assign search help using ovs for select options for ALV in web dynpro
Hi,
refer http://wiki.sdn.sap.com/wiki/display/WDABAP/InputhelpofObjectValueSelectioninWDABAP
http://www.****************/Tutorials/WebDynproABAP/OVS/page1.htm
and http://wiki.sdn.sap.com/wiki/display/Snippets/WebDynproAbap-OVSsearch+help
Thanks,
Chandra -
Assign search help for a screen field in standard program?
Hi All,
Is there any other way to assign search help to a standard SAP screen field? (to be precise i want to assign search help to Recipient field in table control of components tab in transaction IW32/IW31)
I know we can do this by assigning search help through screen painter (by changing standard program, which is my last option).
Any advice/help will be greatly appreciated.Hi,
I think you will find solution in below <b>threads</b>:
Re: Search Help for standard field
How to assign a search help
Search help for Standard SAP field
<b>Reward if helpful</b>
Rgds, -
How to assign search help for an input field by fetchign values from an int
i have an input field ,
i want to assign search help for the same by fetching values from a table.
how to achieve this ?Using the below ways you can assign search help to a field.
1) [OVS Search Help|http://wiki.sdn.sap.com/wiki/display/Snippets/OVSsearchhelp]
2) [Freely Programmed Search Help|http://wiki.sdn.sap.com/wiki/display/WDABAP/Freelyprogrammedinput+help]
3) Dictonary Help - Use the Data element for that purpose. -
Assigning search help (F4 functionality ) for recipient field in IW32
Hi,
my requirement is to assign search help (F4 functionality) for recipient field in components tab of IW32. anybody help me to assign search help for it. same way i need to assign that in MIGO, MB21, MB1A goods recipient field.hi,
refer to the following link:
http://www.saptechies.com/how-to-add-f4-help-to-a-field-on-screen-module-pool/
i hope it helps
regards -
Assign Search help in report program
Dear All,
I facing problem to assign search help in report program.
I crated one elementary search help in which three fields i include
-carrid
-carrier name
-booking
all three fields having import and export parameter in search help.
while executing this search help in se11 it gives proper output.
but while assigning this search help in report program it only fetch one carried.
my report is also having three parameter
-carrid
-carrier name
-booking
i assign search help like
PARAMETER : p_carrid TYPE scarr-carrid
MATCHCODE OBJECT z01_carrid,
with all three field but it fetch only carrid ...Hi Chintan,
For such types of requirements you can use this Function Module:
F4IF_INT_TABLE_VALUE_REQUEST.
Use this functiom modue under AT SELECTION-SCREEN ON HELP-REQUEST FOR P_CARRID.
With this function module, you can fill your remainng parameters : P_carriername and booking also.
Sample Code:
DATA : TMP_RETURN_TAB LIKE TABLE OF DDSHRETVAL, TMP_RETURN LIKE DDSHRETVAL,
TMP_FIELD TYPE DFIES-FIELDNAME.
CASE AKIND.
WHEN '1'.
TMP_FIELD = 'AENNR'.
WHEN '2'.
TMP_FIELD = 'VBELN'.
WHEN '3'.
TMP_FIELD = 'ZZTEHAI'.
ENDCASE.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = TMP_FIELD
WINDOW_TITLE = ATITEL
VALUE_ORG = 'S'
TABLES
VALUE_TAB = ATABLES
RETURN_TAB = TMP_RETURN_TAB
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
IF SY-SUBRC = 0.
READ TABLE TMP_RETURN_TAB INDEX 1 INTO TMP_RETUN.
AVALUE = TMP_RETURN-FIELDVAL.
ENDIF.
Jus analyze this code, you can get ur requirement done.
Regards
Sandeep Reddy -
im looping through databases on a server & building a connection string to each database.
$SQLConn.ConnectionString = "Server=$SrvName; Database=$DBName; User ID =DBLogin; Password=myPassword;"
The problem is i get this error:
Only variable names (i.e.: $variable) may be used as the target of an assignment statement
I can put the code into an Inlinescript, but then I lose the ability to perform paralellism. Is there any way to construct the connection string in PS Workflow without using an Inlinescript?Hi Winston,
Why not just wrap the InlineScript blocks in a Parallel block, to cause them to execute in parallel?
For example:
workflow foo {
parallel {
inlinescript {
start-sleep -Seconds (Get-Random -Minimum 1 -maximum 5)
"a"
inlinescript {
start-sleep -Seconds (Get-Random -Minimum 1 -maximum 5)
"b"
Sometimes outputs "a b" and sometimes outputs "b a" -
Hi masters,
i need to create a help search F4 for a standard field in tx ME51N. The field is AFNAM, it is located in the table MEREQ3211GRID. I created the search throught tx SE11 (zhelp_soli) and it works well.
Now, how can i assign that help search to element AFNAM? I can't modify the standard table, because it asks me for a code. Do i need to get the permission from SAP to add that help to that field?
I thought that i must be done without asking for the code to modify standard tables in SAP.
Thanks..Hello Miguel
Structure MEREQ3211GRID is used only within a very few program objects. I had a look into function group MEGUI and there is apparently no exit to modify fieldcatalog properties.
Therefore, the easiest solution should be to modify the structure. For this you need the modification key for object R3TR TABL MEREQ3211GRID.
Then you can add the search help field to the structure field MEREQ3211GRID-AFNAM.
Regards
Uwe
Maybe you are looking for
-
Original iMac will not boot from new disk
I am having considerable difficulty getting a new disk to boot in an original 'Bondi blue' iMac. I think I have researched this issue reasonably well and found a few references to it but no solution. I have more resources than most and have tried eve
-
Data is entered in columns A,B,C of excel. Suddenly its all in column A
My labview application sends my data of force, distance and time to columns a,b and c of excel. Suddenly it is showing up only in column a seperated by comas. How can I fix this?
-
error occurred on my shared photo of adobe photo shop album starter edition 3.2
-
Button "change" disappers in BSP degree audit
Hi, I find the following strange behaviour in BSP degree audit, when I want to change an existing but not released degree audit run. 1. When I select the student in the BSP application and list the audit runs for a study program, the application show
-
Why won't any of my apps open after software update?
I recently updated my iphone 4 and after all the apps 'restored' to my devide they just flash when I click them and won't open. Why is this? Do i need to delete them all and re-install them?