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 Dand

    Hi,
    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 Error

    Raghu,
    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
    thanks

    In 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 N

    Hello,
    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 help

    Basically, 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 AM

    Hi,
    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.

  • Extended program check error

    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 PM

    Hi,
    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 AM

    Since 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,
    Mayank

    well 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

  • Map ID customization

    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