Extended Program Check - Warning
Hi SDNers,
I did my program well. but when i am doing Extended program check it shows warning that 'do not use fields, field symbols (itab) globally'. This is the only warning i can not eliminate it. i dont want to hide using "#EC NEEDED.
I have searched almost all the sites, finally i posted here.
Right answers will be highly Appreciated.
Thanks & Regards,
Senthil kumar
Hi All,
I also facing the same problem when doing an EPC check for my program.How can I overcome it.
Please suggest me.
This is the message appeared for me after doing the EPC check.
Do not use fields, field symbols (OBJ_DATA) globally.
The related code to get the above warning is:
START-OF-SELECTION.
DATA:obj_data TYPE REF TO lcl_local.
CREATE OBJECT obj_data.
Thanks In Advance.
Regards,
Chakradhar.
Similar Messages
-
Extended Program Check Warning For Syntax Check
Warning:
Syntax Check Warning
This Warning only Displayed in SLIN
WHERE lgtyp IN S_LGTYP.
Messages :
In "SELECT SINGLE...", the where condition for the key field "LGTYP" does not test for equality .
There fore the single record yuor searching may not be unique.
IF NOT S_LGTYP[] IS INITIAL.
SELECT SINGLE * FROM T301
WHERE lgtyp IN S_LGTYP.----
>IT SHOWING THIS LINE
IF SY-SUBRC NE 0.
MESSAGE E005(Z01).
ENDIF.
ENDIF.Hi Raghu,
When you are using SELECT SINGLE, it is always better to use EQ in the condition than IN.
Instead of using select-options S_LGTYP, declare a parameter: P_LGTYP and if possible re-write the select query as below:
SELECT SINGLE * FROM T301 into lv_variable
WHERE lgtyp EQ P_LGTYP .
Regards
Deepa. -
Select query gives error in Code inspector and extended program check
Hi,
I have a query .
SELECT pernr
FROM pa9100
INTO TABLE t_nca_tab
WHERE endda EQ c_date AND
z_nca_required EQ c_yes.
This query gives me an error in Code inspector like :
Large table pa0001: No first field of table index in WHERE condition
I have one more query that gives error in extended program check
SELECT SINGLE stell ename
INTO (g_stell, g_name)
FROM pa0001
WHERE pernr EQ wa_nca_tab-pernr AND
endda EQ c_date.
The warning says:
*In "SELECT SINGLE ...", the WHERE condition for the key field "SEQNR" does not
test for equality. Therefore, the single record in question may not be unique.*
Its too urgent.
Please reply.
Regards,
Binay.The first field is PERNR .. so if UR not giving pernr it will fetch
all the data from the said table and between the given dates ..
Check if this is your requirement ...
write the select as ...
where r_pernr is a range ...
SELECT pernr
FROM pa9100
INTO TABLE t_nca_tab
WHERE pernr in r_pernr <----
endda EQ c_date AND
z_nca_required EQ c_yes.
As UR using select single it's expecting to use all the key
fields in the where condition ...
U can ignore this warning message -
Code Inspector and Extended program check in one program
Hello SAP gurus,
We have a requirement where we need to create one tool which will have both code inspector and extended program check functionality and report should display all error, warning messages which are found from these checks.
Can anyone provide some suggestions on this?
Thanks,
Khushboo DandHi,
Go to Se38 and check how code inpsector and extended syntax check. I dont remember the exact function module name but just debug a little u will be able to find it.
Nabheet -
Structure Enhancement Error Error in Extended Program Check in ECC 6.0
Hi Experts,
I am working on ECC 6.0 I am a structure like "BAPIACWT09" , "BAPIACCAIT" in my program when i run Extended Program Check i am getting an error
<b>
"BAPIACWT09" can be enhanced. After a structure enhancement, the semantics of the parameter transfer may change.</b>
How to eliminate this ErrorRaghu,
Every structure has to be created with an enhancement category.
In Transaction SE11, when you are creating a structure or a table , go to extras - enhancement category to see it.
I guess BAPIACWT09 has been defined with a category of can be enhanced, and SAP is warning you that if the enhancement is used in the future your program can have syntax errors.
There is nothing you can do about this. If you find out something, Please share. -
How to rectify Extended Syntax check warning , when object REF TO is used..
hi all,
when running "Extended program check " for the below , I am getting warning error when I delcare the below stmts.
DATA: go_alv TYPE REF TO cl_salv_table.
lo_selections TYPE REF TO cl_salv_selections,
lo_display_settings
TYPE REF TO cl_salv_display_settings,
lo_events TYPE REF TO cl_salv_events_table,
lo_content_top TYPE REF TO cl_salv_form_element,
THE MESSAGE ARE
Field GO_ALV is not referenced statically in the program
(The message can be hidden with "#EC *)
Program: ZJTEST Row: 69
Field LO_EVENTS is not referenced statically in the program
(The message can be hidden with "#EC *)
Program: ZJTEST Row: 74
Field LO_DISPLAY_SETTINGS is not referenced statically in the program
(The message can be hidden with "#EC *)
Program: ZJTEST Row: 76
Field LO_SELECTIONS is not referenced statically in the program
(The message can be hidden with "#EC *)
is there any way I can avoid this warning message apart using #EC ??? is there any way to avoid this ??/
kindly help
thanksIn Program
a)
DATA: lo_top_element TYPE REF TO cl_salv_form_layout_grid,
lo_grid TYPE REF TO cl_salv_form_layout_grid,
lo_header TYPE REF TO cl_salv_form_header_info,
lo_label TYPE REF TO cl_salv_form_label,
lo_text TYPE REF TO cl_salv_form_text,
lo_logo TYPE REF TO cl_salv_form_layout_logo,
lv_logo TYPE bds_typeid,
lv_title_h TYPE sytitle.
TYPES: ty_logo(70) TYPE c.
CONSTANTS:
lc_alv_logo TYPE ty_logo VALUE 'CE_NEW_LOGO'.
CREATE OBJECT lo_top_element
EXPORTING
columns = 3.
lo_grid = lo_top_element->create_grid( row = 3
column = 1 ).
CONCATENATE 'Header ' 'Information' INTO
lv_title_h SEPARATED BY space.
Row 1 header information is set
lo_header = lo_grid->create_header_information(
row = 1
column = 1
text = lv_title_h
tooltip = lv_title_h ).
lo_grid->add_row( ).
Row 2 Doc. date is set
lo_label = lo_grid->create_label(
row = 2
column = 1
text = text-b02
tooltip = text-b02 ).
lo_text = lo_grid->create_text(
row = 2
column = 2
text = s_docket-low
tooltip = s_docket-low ).
lo_text = lo_grid->create_text(
row = 2
column = 3
text = s_docket-high
tooltip = s_docket-high ).
lo_grid->add_row( ).
CREATE OBJECT lo_logo.
lo_logo->set_left_content( lo_grid ).
lv_logo = lc_alv_logo.
lo_logo->set_right_logo( lv_logo ).
pt_content_top = lo_logo.
Extended program check :
No read access to field LO_HEADER
(The message can be hidden with "#EC NEEDED)
No read access to field LO_LABEL
(The message can be hidden with "#EC NEEDED)
No read access to field LO_TEXT
(The message can be hidden with "#EC NEEDED)
Kindly giude -
Error while Extended Program Check
Dear All,
When I m cheking Extended Program Check for my program i m getting following warning error how can i clear it.
Not all supported date formats are handled
Check use of a generic service method or handle all formats
Regards
Balamurugan NHello,
Please check which date format is causing the Problem in your code and Try to use Standard function Modules like
CONVERT_DATE_FORMAT etc which suffice your Problem and later do check Extended Program check.
Please let us know, if you resolve by other ways.
Thanks ,
Sudheer. -
Extended program check error for cl_salv_table= factory
hi all,
when performing Extended Program check, I am getting some warning message
code
DATA: lc_msg TYPE REF TO cx_salv_msg.
*. Create Instance for ALV
TRY.
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = go_alv
CHANGING
t_table = ts_z3rl_docket.
CATCH cx_salv_msg INTO lc_msg .
ENDTRY.
Error message;
No Exception Handling After the CATCH Statement
(The message can be hidden with "#EC NO_HANDLER)
how to handle this message?? how to recitfy this?
kindly helpBasically, this message appears because, you are trying to CATCH the exception in the exception object, but you are not accessing this exception object. If you do want to give the message, if you catch some exception, you should do like this:
*. Create Instance for ALV
TRY.
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = go_alv
CHANGING
t_table = ts_z3rl_docket.
CATCH cx_salv_msg INTO lc_msg .
lv_string = lc_msg->get_text( ). " <
message lv_string type 'I'. "<
ENDTRY.
Or, if you don't want to handle the exception, you can do like this:
TRY.
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = go_alv
CHANGING
t_table = ts_z3rl_docket.
CATCH cx_salv_msg. "#EC NO_HANDLER
ENDTRY.
Regards,
Naimesh Patel -
Help me with extended program check
what is extended program check?
in one of my program im getting an warning message
field string x_sort is not statically referenced in the program
what does it mean by statically referenced?Extended Syntax Check -
Many checks are excluded from the standard syntax check for performance reasons. The extended program check performs a complete check that includes the interfaces of external procedures called from your program.
Errors in the extended program check cause exceptions, which in turn cause runtime errors when you run the program. You must correct them. The exception to this is coding that cannot be reached. However, you should delete this to minimize the size of your program and make the source code easier to understand.
Warnings in the extended program check should also be corrected. If your program contains statements that are definitely correct but still produce warnings in the extended program check, you can exclude them from the check using pseudocomments ( "#EC ).
You should always run the extended program check on a new program. You have not finished developing a new program until you can run the extended program check on it without any errors or warnings. Messages are permissible, since they are generally not critical.
The extended program check is also only a static check. It cannot eliminate all of the circumstances that could lead to exception situations or runtime errors. For example, any statements in which you specify arguments dynamically as the contents of fields, or in which you call procedures dynamically, cannot be checked statically.
Code Inspector -
The Code Inspector is a tool for checking Repository objects regarding performance, security, syntax, and adherence to name conventions.
Please have a look at below link for details of code inspector.
[Code Inspector|http://help.sap.com/saphelp_nw04/helpdata/en/56/fd3b87d203064aa925256ff88d931b/frameset.htm]
I hope it helps.
Thanks,
Vibha
Please mark useful answers -
Error in extended program check
Hi,
I m getting following error in Extended Program Check..
<b>The current ABAP command is obsolete
Tables with headers are no longer supported in the OO context.</b>
for the below declaration..
<b>data: I_fieldcatalog type slis_t_fieldcat_alv WITH HEADER LINE .</b>
could anyone help me.
Thanks in advance.Hi,
Use as follows
<b>DATA: I_fieldcatalog type slis_t_fieldcat_alv,
wa_fieldcaalog like line of I_fieldcatalog.</b>
When you use HEADERLINE you will get one WOrkarea and an intenral table with one declaration.
In your case I_fieldcatalog is a workarea and I_fieldcatalog[ ] is the table.
This usage is obsolete as it leads to confustion with CLEAR.
When you use CLEAR I_fieldcatalog you may assume that table is cleared but here only workarea is cleared.
So you need to use the above given declaration and change all your
APPEND I_fieldcatalog. to
APPEND wa_fieldcatalog toI_fieldcatalog.
simlarly for INSERT and MODIFY.
Regards,
Sesh. -
Extended Program check for internal table
TYPES:BEGIN OF TY_FINAL,
VBELN TYPE VBAP-VBELN,
VBELV TYPE VBAP-VBELV,
POSNV TYPE VBAP-POSNV,
WERKS TYPE VBAP-WERKS,
ZZ_MODEL_NO TYPE VBAP-ZZ_MODEL_NO,
VKORG TYPE VBAK-VKORG,
TEXT(70) TYPE C,
END OF TY_FINAL.
Declaration of Variables *
DATA: IT_VBAK TYPE STANDARD TABLE OF TY_VBAK ,
IT_VBAP TYPE STANDARD TABLE OF TY_VBAP ,
IT_FINAL TYPE STANDARD TABLE OF TY_FINAL WITH HEADER LINE.
DATA: W_VBAK TYPE TY_VBAK ,
W_VBAP TYPE TY_VBAP ,
W_FINAL TYPE TY_FINAL ,
W_LAYOUT TYPE SLIS_LAYOUT_ALV ,
W_VARIANT_SAVE TYPE C ,
W_REPID TYPE SY-REPID .
In the above code i have declared IT_FINAL TYPE STANDARD TABLE OF TY_FINAL WITH HEADER LINE. in extended program check iam getting error as( Tables with headers are no longer supported in the OO context.
can any one plz suggest me to avoid this error.
Thanks in Advance.
Moderator message - Duplicate post locked
Edited by: Rob Burbank on May 19, 2009 9:12 AMHi,
DATA: IT_VBAK TYPE STANDARD TABLE OF TY_VBAK ,
IT_VBAP TYPE STANDARD TABLE OF TY_VBAP ,
" If you declare the internal table with header line in OO context it wll give you error. As OO wil not
" support the header line concept. Declare Internal table without header line and create the work area
" for the internal table
IT_FINAL TYPE STANDARD TABLE OF TY_FINAL. " WITH HEADER LINE.
DATA: W_VBAK TYPE TY_VBAK ,
W_VBAP TYPE TY_VBAP ,
W_FINAL TYPE TY_FINAL , " Use this work area
W_LAYOUT TYPE SLIS_LAYOUT_ALV ,
W_VARIANT_SAVE TYPE C ,
W_REPID TYPE SY-REPID -
Extended program check ( sapslin prog)
Hi,
i have one requirement, in extended program check for checking the text elements,(chracter -strings).
There is a sap standard programavailabel. ( Code slin,function pool sapslin) , if i am checking EPC for my z program ,the sapling is not comparing the text elements and text literals character by character,It is checking whether the text element is created or not.(for example if i created a text literal as "cat" and for that if i created text element as "ca". ) then also the EPC (sapslin) is not identifying that error.
please guide me with the proper code.REPORT ZTEXT_ELEMENTS_CHECK .
include <icon>.
PARAMETERS : P_TEXT(40) TYPE C.
TYPES : BEGIN OF TY_RESULT,
id type c,
key(3) type c,
ENTRY TYPE STRING,
STATUS TYPE C,
END OF TY_RESULT.
DATA : LEN TYPE I,
POS TYPE I,
ACTLEN TYPE I,
COMPLEN TYPE I,
count type i,
STR TYPE STRING.
DATA : BEGIN OF TY_PROG.
INCLUDE STRUCTURE ABAPTEXT.
DATA : END OF TY_PROG.
data : i_data type table of abaptext with header line.
DATA : I_PROGRAM TYPE TABLE OF ABAPTEXT WITH HEADER LINE.
DATA : I_TEXTELEMENT TYPE TABLE OF TEXTPOOL WITH HEADER LINE.
DATA : I_RESULT TYPE TABLE OF TY_RESULT WITH HEADER LINE.
READ REPORT P_TEXT INTO I_data.
READ TEXTPOOL P_TEXT INTO I_TEXTELEMENT LANGUAGE SY-LANGU.
break-point.
loop at i_data.
if I_data-LINE cp '00'.
i_program-line = i_data-line.
append i_program.
endif.
endloop.
LOOP AT I_TEXTELEMENT.
LOOP AT I_PROGRAM.
SEARCH I_PROGRAM-LINE FOR I_TEXTELEMENT-ENTRY.
IF SY-SUBRC EQ 0.
LEN = STRLEN( I_TEXTELEMENT-ENTRY ) + 1.
POS = SY-FDPOS.
STR = I_PROGRAM+POS(LEN).
SHIFT STR RIGHT DELETING TRAILING ''''.
CONDENSE STR NO-GAPS.
ACTLEN = STRLEN( I_TEXTELEMENT-ENTRY ).
COMPLEN = STRLEN( STR ).
IF ACTLEN = COMPLEN.
I_RESULT-ENTRY = I_TEXTELEMENT-ENTRY.
I_RESULT-STATUS = 'T'.
APPEND I_RESULT.
ENDIF.
ENDIF.
ENDLOOP.
ENDLOOP.
loop at i_result.
loop at i_textelement where entry = i_result-entry or id = ''.
i_result-id = i_textelement-id.
i_result-key = i_textelement-key.
modify i_result from i_result.
endloop.
endloop.
loop at i_textelement where id = 'I'.
clear count.
loop at i_result where key = i_textelement-key.
count = 1.
endloop.
if count = 0.
i_result-id = i_textelement-id.
i_result-key = i_textelement-key.
i_result-entry = i_textelement-entry.
i_result-status = 'F'.
append i_result.
endif.
endloop.
LOOP AT I_RESULT.
if i_result-status = 'F'.
WRITE : /3 I_RESULT-id, 15 I_RESULT-key,
30 I_RESULT-ENTRY, 40 I_RESULT-STATUS,ICON_INCOMPLETE AS ICON
endif.
ENDLOOP.
Hope it is useful.
Please reward. -
Hi ,
I'm getting errors(Obsolete statements) when checking for extended program check for a report program.
When I'm going for "UCCHECK" i'm not getting any errors & in code inspector also it is not showing the errors.
Here what is the reason for this?why it showing error in one transaction & not showing the same in other transaction..
Here I'm pasting the code..
REPORT ZHCM_OBSOLETE.
infotypes : 0000.
DATA: BEGIN OF itab1 OCCURS 0,
col1 TYPE i,
col2 TYPE i,
col3 TYPE string,
END OF itab1 VALID BETWEEN col1 AND col2.
DATA: BEGIN OF itab2 OCCURS 0,
col1 TYPE i,
col2 TYPE i,
col3 TYPE string,
END OF itab2 VALID BETWEEN col1 AND col2.
itab1-col1 = 1.
itab1-col2 = 6.
itab1-col3 = 'Itab1 Int1'.
APPEND itab1 TO itab1.
itab1-col1 = 9.
itab1-col2 = 12.
itab1-col3 = 'Itab1 Int2'.
APPEND itab1 TO itab1.
itab2-col1 = 4.
itab2-col2 = 11.
itab2-col3 = 'Itab2 Int1'.
APPEND itab2 TO itab2.
provide col3 FROM itab1
col3 FROM itab2
BETWEEN 2 AND 14.
WRITE: / itab1-col1.
* \, itab1-col2, itab1-col3, itab1_valid.
WRITE: / itab2-col1.
* , itab2-col2, itab2-col3, itab2_valid.
SKIP.
ENDPROVIDE.
Thanks in advance..
Pradeepa
Code Formatted by: Alvaro Tejada Galindo on Jan 7, 2009 2:22 PMHi,
You are probably getting obsolete statements on the declaration of internal tables. Avoid using begin of itab occurs 0, this statement is not used as it automatically creates a header line. Use types statement to define a type and then use it to create an internal table and workarea, this will remove the obsolete statements in extended program check.
types : begin of t_itab,
col1 type i,
col2 type i,
col3 type string,
end of t_itab.
data itab type table of t_itab
data wa_type t_itab.
Use these to populate your internal table.
begin of itab occurs 0 was a statement which was used in prior versions (<4.0) and now are considered obsolete, but still functional due to backward compatibility.
Hope this helps you.
Regards,
Sachin Dargan.
Code Formatted by: Alvaro Tejada Galindo on Jan 7, 2009 2:22 PM -
Error at new statement on extended program check need help
Hi all ,
This is the code :
LOOP AT i_stocks INTO wa_stocks WHERE NOT pulkt IS INITIAL AND
NOT bstkt IS INITIAL AND
NOT fprctr IS INITIAL AND
( write_off_fix <> 0 OR
write_off_pup <> 0 ).
AT NEW fprctr.
CLEAR: l_prctrsum_fix, l_prctrsum_pup.
ENDAT.
IF wa_stocks-bukrs <> lastbukrs.
lastbukrs = wa_stocks-bukrs.
PERFORM document_header USING xreversal.
i_counter = 1.
CLEAR lastkostl.
ENDIF.
ADD wa_stocks-write_off_pup TO l_prctrsum_pup.
ENDLOOP
On Extended program check its says :
The LOOP statement processing will be limited
(FROM, TO and WHERE additions in LOOP)
Interaction with group change processing (AT NEW, ...) is undefined
(The message can be hidden with "#EC *)
It means at statement AT NEW fprctr .
Need help , How can i resolve this error ?
Regards .
Edited by: ujjwal dharmak on Feb 19, 2010 9:55 AM
Moderator message - Moved to the correct forum
Edited by: Rob Burbank on Feb 19, 2010 9:04 AMSince you are using where condition in loop statement and also using the control break statement thats why it is showing the error for you.
So if you want you can do like this
loop at itab into wa.
if not wa-f1 is initial ....<and other conditions>.
continue.
endif.
at new f1.
endat.
endloop.
It will resolve your problem but I am having the doubt how the at new will work properly...
Regards
Shiba Prasad Dutta -
Extended Program Check - Multiple Programs
Hi All,
I am looking for a program or utility, where I would be able to do EXTENDED PROGRAM CHECK with multiple programs at the same time.
Let me know if anybody has come across the same.
Thanks,
Mayankwell there is a way..
code inspector
goto SCI,
create a object, include all the programs you want to check.
now create an inspection, in SCI or SCII, give this object you have created and execute with SAP default check variant.
Maybe you are looking for
-
Grant Privilege to Role instead of Direct grant doesn't work
Hi all My scenario is sas follow: create user a identified by a; create user b identified by b; grant connect,resource to a ; grant connect,resource to b ; conn a/a create table tbl( c1 number(10)); conn system/sys create role roll; grant roll to b;
-
Arabic text in excel attachment in mail
my requirement is to mail the excel file so I used the internal table to create an excel and used FM SO_NEW_DOCUMENT_ATT_SEND_API1, While the excel file is created but however the arabic is not downloaded correctly. It is downloaded with junk charact
-
We have converted our help files to RoboHelp HTML. We have a huge application with several thousand fields that have F1 help topics. Our developer is in the process of trying to figure out how to create the links between the fields in the application
-
Parser Error Message: Unrecognized configuration section 'system.webServer'
at the time of rum show Error Configuration Error Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file approp
-
Skype 7.1 Crashes on Windows 8.1
When I'm trying to call or receive a call (video or audio), my Skype always stop working showing "Skype has stopped working". Tried re-installing it but didn't solve the problem. The Skype is the latest version (7.1.60.105) and the chat is working fi