INCLUDE - Statement is not accessible.  URGENT.

II am making change to user exit in INCLUDE MV45AFZZ.
I just put an if condition in the INCLUDE ztest_so.
It is giving following ERROR (RED) when I check the syntax.
Include ZTEST_SO
Statement is not accessible.
FORM userexit_move_field_to_vbak.
Include ztest_so
Endform.
*&  Include           ZTEST_SO
if sy-uname eq 'TRAIN014'             
endif.
Please help.

You created the include alright. But there is no call to the include (Perform statement) from any program, hence include cannot be accessed.
MV45AFZZ is standard SAP User Exit where all Forms are being called at specified points in standard SAP code.
Iam not sure/not tried but if you create your new Form you will have to modify SAP code to make a call to this FORM, which is not recommended.
The best solution is to use the available Forms and put your code in the one that is being called at the right place for you to be able to use it.

Similar Messages

  • Statement is not accessible in Exit include

    Hi,
    I have added code in the exit V05EZZWE (in system ECC 6). When i try to check it, it gives an Error saying "Statement is not accessible" at the beginning of the code. I tried going through some of the related links in the forum, but it is not clear to me why this is happening. Nonetheless, I can still activate the include and the main program.
    Can anyone explain this error?
    Thanks a lot,
    Shivali

    Did you already check this SDN - thread?
    It looks very similar to your problem.
    Re: Statement not accessible

  • Compile Error Statement is not accessible

    Hi All,
    I have report in SAP 4.7 . when i do syntax check on it it give a warning -"statement is not accessible."
    But same thing when we compile we are getting as Syntax error in ECC 6.0 .
    when I compile it, it prompts
    <i><b>Include ZHRIPENR
    Statement is not accessible.</b></i>
    <i><b>My REPORT program -</b></i>
    REPORT ZHRIBANK  NO STANDARD PAGE HEADING
                     LINE-SIZE  80
                     LINE-COUNT 65.
    START-OF-SELECTION.
    INCLUDE ZHRIPENR.
    END-OF-SELECTION.
    <i><b>My INCLUDE program -</b></i>
    *INCLUDE ZHRIPENR.
    PERFORM BATCH_INIT.
    FORM BATCH_INIT.
    ENDFORM.                               " (BATCH_INIT)
    when I compile it, it prompts
    <i><b>Include ZHRIPENR
    Statement is not accessible.</b></i>
    Please let me know how can i proceed .
    Cheers,
    Reddy

    Hi ..
    The Reason may be bcoz you are Placing the FORM statements inside the Include.
    Just Remove the FORMS from the Include and Place the in ur Main program in the Last.
    Note: Subroutine definitions has to be in the end of the code.
    REWARD IF HELPFUL.

  • Statement is not accessible

    Hi Anybody ,
    i am getting an error 'Statement is not accessible'
    REPORT  ZZDEMO_EXPORT.
    TABLEs : NAST.
    DATA : i_vbeln  TYPE VBAK-VBELN.
    DATA:  lf_fm_name            TYPE rs38l_fnam.
    DATA:  lf_formname           TYPE tdsfname.
    DATA:  XSCREEN(1) TYPE C.
    DATA:  RETCODE   LIKE SY-SUBRC.
    FORM entry USING return_code us_screen.
      DATA: lf_retcode TYPE sy-subrc.
      CLEAR retcode.
      xscreen = us_screen.
      PERFORM processing USING us_screen
                         CHANGING lf_retcode.
      IF lf_retcode NE 0.
        return_code = 1.
      ELSE.
        return_code = 0.
      ENDIF.
    ENDFORM.                    "ENTRY
    data: GT_LINES like tline OCCURS 0 WITH HEADER LINE.
    CALL FUNCTION 'READ_TEXT'
      EXPORTING
        ID                            = 'ZPRI'(002)
        LANGUAGE                      = 'B'
        NAME                          = '123456'
        OBJECT                        = 'VBBK'
      TABLES
        LINES                         =  GT_LINES
    EXCEPTIONS
       ID                            = 1
       LANGUAGE                      = 2
       NAME                          = 3
       NOT_FOUND                     = 4
       OBJECT                        = 5
       REFERENCE_CHECK               = 6
       WRONG_ACCESS_TO_ARCHIVE       = 7
       OTHERS                        = 8
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    FORM processing USING proc_screen
                    CHANGING cf_retcode.
    i_vbeln = NAST-OBJKY.
    LF_FORMNAME = 'ZCFR_EXPORT_RAJIVPLASTIC2'(001).
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
       EXPORTING
              FORMNAME           = lf_formname
       IMPORTING
              FM_NAME            = LF_FM_NAME
       EXCEPTIONS NO_FORM        = 1
              NO_FUNCTION_MODULE = 2
              OTHERS             = 3.
    CALL FUNCTION LF_FM_NAME
      EXPORTING
        i_vbeln                   = i_vbeln.
    ENDFORM.                    "PROCESSING
    How can I solve that problem ?
    Thanks & Regards
    Ambrish Dwivedi

    Hi,
    I have changed the source code , please check it.It is working fine.
    TABLEs : NAST.
    DATA : i_vbeln TYPE VBAK-VBELN.
    DATA: lf_fm_name TYPE rs38l_fnam.
    DATA: lf_formname TYPE tdsfname.
    DATA: XSCREEN(1) TYPE C.
    DATA: RETCODE LIKE SY-SUBRC.
    data: GT_LINES like tline OCCURS 0 WITH HEADER LINE.
    CALL FUNCTION 'READ_TEXT'
    EXPORTING
    ID = 'ZPRI'(002)
    LANGUAGE = 'B'
    NAME = '123456'
    OBJECT = 'VBBK'
    TABLES
    LINES = GT_LINES
    EXCEPTIONS
    ID = 1
    LANGUAGE = 2
    NAME = 3
    NOT_FOUND = 4
    OBJECT = 5
    REFERENCE_CHECK = 6
    WRONG_ACCESS_TO_ARCHIVE = 7
    OTHERS = 8
    IF SY-SUBRC NE 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    FORM entry USING return_code us_screen.
    DATA: lf_retcode TYPE sy-subrc.
    CLEAR retcode.
    xscreen = us_screen.
    PERFORM processing USING us_screen
    CHANGING lf_retcode.
    IF lf_retcode NE 0.
    return_code = 1.
    ELSE.
    return_code = 0.
    ENDIF.
    ENDFORM. "ENTRY
    FORM processing USING proc_screen
    CHANGING cf_retcode.
    i_vbeln = NAST-OBJKY.
    LF_FORMNAME = 'ZCFR_EXPORT_RAJIVPLASTIC2'(001).
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
    FORMNAME = lf_formname
    IMPORTING
    FM_NAME = LF_FM_NAME
    EXCEPTIONS NO_FORM = 1
    NO_FUNCTION_MODULE = 2
    OTHERS = 3.
    CALL FUNCTION LF_FM_NAME
    EXPORTING
    i_vbeln = i_vbeln.
    ENDFORM. "PROCESSING
    Regrads,
    Suvajit

  • "Statement is not accessible." - Error

    Hi,
    am working for an ECC upgradation project and am getting the above error "Statement is not accessible." at the below coding.
    WS_VBELN = XLIPS-VBELN.
    Kindly get me a solution <removed by moderator>
    Thanks in adv,
    Siva
    Edited by: Mike Pokraka on Sep 5, 2008 12:26 PM

    Hi all,
    Pls check the code below :
    DATA: WS_SPLITTOR(3)  TYPE C,
          WS_SPLIT(1)     TYPE C,
          WS_SPLIT1(1)    TYPE C,
          WS_SPLIT2(1)    TYPE C,
          WS_SPLIT3(1)    TYPE C,
          WS_VBELN        TYPE LIPS-VBELN,
          WS_POSNR        TYPE LIPS-POSNR,
          WS_NO_OF_LOOP(1) TYPE C,
          WS_NO_OF_ITEM(1) TYPE C,
          WS_BAL(1)        TYPE C,
          WS_MODNO(10)     TYPE C,
          PAR_ID(20) TYPE C.
    DECLARATION OF INTERNAL TABLE
    DATA: INT_XLIPS  LIKE XLIPS OCCURS 0 WITH HEADER LINE,
          INT_XLIPS2 LIKE XLIPS OCCURS 0 WITH HEADER LINE.
          WS_VBELN = XLIPS-VBELN.
          WS_POSNR = XLIPS-POSNR.
    MOVE SY-MODNO TO WS_MODNO.
    CONCATENATE 'SPLIT' WS_MODNO INTO PAR_ID.
    Regs,
    Siva

  • Enhancement in Module getting the message 'Statement is not accessible.'

    Hi All,
    I have a requirement in ME11/12/13 Info record. I have to put a check on 'Minimum order quantity' field and throw a message if it is blank. So i tried to create the Implicit enahncement in program SAPMM06I and screen number 102 inside MODULE CHECK_MANDATORY_FIELDS. After endmodule there is a place where we can do the implicit enahcement. i tried to create the same but will activating i am getting an error 'Statement is not accessible.'
    Is it because i am writing the implicit enhancement in module pool??? please help me out because i have to display the message at eine-minbm field 'Minimum Quantity'.
    thanks in advance
    Rahul

    I think a module should be placed in the enhancement and called elsewhere.
    Rob

  • "Create Object " statement gives error: statement is not accessible

    Hi All
    U must b doing good.
    I am new in ABAP Objects.
    I have writeen a simple Class definition n Implimentasion code.
    but whenever i write statement "Create object", it gives error.
    'm working on SAP Dev 4.7.
    the code was like this:-
    class counter definition.
      public section.
        METHODS: set IMPORTING VALUE(set_value) TYPE i,
                 increment,
                 get EXPORTING VALUE(get_value) TYPE i.
       private section.
       DATA count TYPE i.
    ENDCLASS.
    CLASS counter IMPLEMENTATION.
      METHOD set.
        count = set_value.
      ENDMETHOD.
      METHOD increment.
        count = count + 1.
      ENDMETHOD.
      METHOD get.
        get_value = count.
      ENDMETHOD.
    ENDCLASS.
    DATA: cnt_1 TYPE REF TO counter.
    DATA number TYPE I VALUE 5.
    CREATE OBJECT cnt_1 .
    CALL METHOD cnt_1->set
      EXPORTING set_value = number.
    DO 3 TIMES.
       CALL METHOD cnt_1->increment.
    ENDDO.
    CALL METHOD cnt_1->get
      IMPORTING get_value = number.
    write: number.
    its giving error like:-"Statement is not accessible."
    plz tell me the way to resolve this error.
    thanx n regards
    Prashant tiwari

    hi prashant....
      this is the link to post your therads for abap objects:
      [ABAP Objects;.
      if you want to reward, on the left of every reply ther would be some radio buttons like answere, helpful answer,... so on. click the radio button which suits you. answered closes the thread and other points are displayed there itself.
    ---regards,
       alex b justin

  • Update statement is not working(urgent)

    Hi,
    when i use below code it gives me dump when reocrds arem ore.
    loop at itab.
      update de1000 SET vrprs = itab-rfwrt
      where kaufn = itab-vbelv
      and mtpos IN  soption and perio =  perio and VRPRS <> 0.
    endloop.
    the structure of itab and de11000 is not same.
    please suggest me alternative.
    thanks
    jack

    I believe you can not use update statement with in loop & endloop. it will dump.
    Here is further info. Create another internal table with
    the same structure of de1000 and update the table with required values. finally use the following state
    update de1000 from table t_de1000(internal table)(check syntex)
    Reward if useful
    Message was edited by:
            Nallasamy Ponnusamy

  • Statement not accessible error

    Hi, we have upgraded the project from 46c to ecc version.
    In one standard include MV45AFZZ , one statement is added  IMPORT itab1chk FROM MEMORY.
    In MV45AFZB , the value for itab1chk is getting exported.
    In 46c , we r not getting any error when we run the VA01 transaction.
    But in ECC, this transaction going for Dump giving error 'The statement is not accessible ' referring to the statement IMPORT itab1chk FROM MEMORY which is in MV45AFZZ include.
    I tried by adding ID <KEY> to the IMPORT AND EXPORT statement. But still getting same error.
    Can any one please suggest the solution.
    Thanks,
    laks.

    Hi,
    You get this Error normally when you are doing a syntax check on the Includes in which the code lines are not between FORM and ENDFORM.
    I dont think this is a serious error atleast till 4.7 as the system will allow you to activate the Include. May be the ECC is a bit more stringent on this issue.
    I think your problem will be solved if you try to include all the code lines only in the FORM and ENDFORM.
    regards,
    Mahesh

  • Statement not accessible in include called in a user-exit

    I am working on an upgrade project, and we receive an error 'Statement not accessible.
    In the following user exit:
    FUNCTION EXIT_SAPLZLWB_002.
    INCLUDE ZZLWBU02 .
    ENDFUNCTION.
    If I go to the include, I get an the error 'statement not accessible'.
    I tried to put all the code in the include between a form...endform statement,
    but then I get an incorrect nesting error because the form...endform is between a function...endfunction.
    How can I solve this?
    Thx!
    Edited by: christophe latinne on Jan 9, 2009 4:31 PM

    this seems to be a clone of a standard SAP function group, and thats why you can;t access the exits here.
    EXIT_SAPLZLWB_002
    you can create the exits starting with Z* in order to access those at runtime.

  • Statement not accessible error in Implicit Enhancement of  SAPMPE03

    ENDMODULE.
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$\SE:(1 ) Include MPMKMO00, End                                                                                S
    *$*$-Start: (1)---------------------------------------------------------------------------------$*$*
    ENHANCEMENT 1 ZENH_PE03.
    MESSAGE 'hi' TYPE 'I'.
    ENDENHANCEMENT.
    *$*$-End:   (1)
    As shown above i added a line MESSAGE 'Hi' Type 'I' in the implicit enhancement portion. But it gives me error "Statement not accessible"
    Thanks

    Hi Amber,
    just in case you have to do something similar again: ABAP Code must always be between MODULE ... ENDMODULE or FORM ... ENDFORM. In the example in this post the statement
    MESSAGE 'hi' TYPE 'I'.
    is just after an ENDMODULE. statement and so this code can never be reached (or is not accessible ). The implicit enhancement option outside the existing modularization units is used to define completely new MODULEs or FORMs.
    Hope this helps!
    Regards
    Oliver

  • Statement not accessible - Syntax error

    Hi all,
    There is a form within a standard include. The form has an include within it. Its a custom include. So its an exit i suppose. Now i have a problem in the custom include. There is "statement not accessible" error. Find below the code in the custom include.
    *&  Include           ZZIMOVEKVGR4                                     *
    DATA: r_vkorg TYPE RANGE OF vkorg.
    CONSTANTS: c_z_salesorg_zzkvgr4 TYPE rvari_vnam VALUE
                                                    'Z_SALESORG_ZZKVGR4'.
    * Get the values from variant Z_SALESORG_ZZKVGR4 of TVARVC tavle
    CALL FUNCTION 'Z_FILL_RANGE_TABLE_FROM_TVARV'
    EXPORTING
    name                 = c_z_salesorg_zzkvgr4
    *   INITLINE             = ' '
    *   LINE_SEPARATOR       = ','
    TABLES
    rngtab               = r_vkorg.
    * Check for the sales orgranisation in TVARVC table
    IF vbrk-vkorg IN r_vkorg.
    * Move field Customer group 4 to KOMPCV structure
      MOVE vbrp
    ENDIF.
    Please help me understand how to overcome the same. The function module called has a select query. Does it have something to do.
    Pasting here the form that calls this include.
    FORM USEREXIT_ACCOUNT_PREP_KOMPCV.
    *  KOMPCV-zzfield = xxxx-zzfield2.
    *{   INSERT         TSTK9B000H                                        1
    * TSTK9A05ZS-Begin of changes For scr 7060
    * Only for the sale organisation S096
        INCLUDE ZZIMOVEKVGR4.                                "TSTK9A05ZS
    * TSTK9A05ZS-End of changes
    *}   INSERT
    ENDFORM.
    Thanks & Regards,
    Selvakumar M.

    Hi,
    this form in RV60AFZZ is to modify KOMPCV fields.
    I can't see any attempts to change those fields in your include.
    You can either move your code directly into form routine USEREXIT_ACCOUNT_PREP_KOMPCV, or correct your code in your include to make it work (as Sudhi told before).
    Regards.
    Klaus

  • Statement not accessible error - Any ideas please.

    Hello all:
              We were using macro from TRMAC table in 4.6C version and it used to give a warning but after upgrading to ECC6.0 it is syntax error! Please look at the code below:
    *SELECTION SCREN / PARAMETERS                                          *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-s01.
    PARAMETERS: p_mode(1) TYPE c DEFAULT 'N' OBLIGATORY,
                p_grp     LIKE apqi-groupid DEFAULT 'SKF_POST' OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN SKIP 1.
    unix_pc_path text-001 text-002 text-003.
    *Intialization                                                         *
    *INITIALIZATION.
    *At selection screen                                                   *
    AT SELECTION-SCREEN OUTPUT.
      PERFORM format_unixpath(yunixctrl) USING 'YHOME_UX' yhome_ux.
    AT SELECTION-SCREEN.
      IF ( rdb_pc = 'X' AND yhome_pc IS INITIAL ) OR
         ( rdb_ux = 'X' AND yname_ux IS INITIAL ).
        MESSAGE e000 WITH 'A filename is required'.
      ENDIF.
    AT USER-COMMAND                                                      *
    AT USER-COMMAND.
    *Start-of-selection                                                    *
    START-OF-SELECTION.
      IF NOT rdb_ux IS INITIAL.
        unix_getname yhome_ux yname_ux v_file_in.
        PERFORM upload_parse_unix_file.
      ELSEIF NOT rdb_pc IS INITIAL.
        v_file_in = yhome_pc.
        PERFORM upload_parse_pc_file.
      ENDIF.
      PERFORM skf_posting.
    *End-of-selection                                                      *
    END-OF-SELECTION.
    The program does not like the line "unix_pc_path text-001 text-002 text-003." and gives an error "Statement not accessible". I went through some discussion forums on this here but nothing related to macro. Could anyone please give me an idea how I could resolve this? All the answers will be rewarded.
    Thanks.
    Mithun

    You cannot put it in START-OF-SELECTION a you need the unix path in the
    AT SELECTION-SCREEN FOR OUTPUT event.. move the statement from the selection-screen block to the INITIALIZATION event.
    ~Suresh

  • "Statement not accessible" error in Implicit enhancement - SAPMF05A

    Hi,
      I am trying to implement Implicit Enhancement in program SAPMF05A, in module transaktions_init. When I click on Edit -> Enhancement Option -> Show implicit enhancement, it displays implicit enhancement at end of module ( after ENDMODULE) statement. When I click " Enhancement" icon, write code and it gives error statement not accessible.
    Please suggest.
    Regards,
    Priya

    You will have to put the code in a module and then call that module.
    Rob

  • " Statement not accessible"

    Hi all
    there is an error  for the below statemnt
    APPEND 'Techn.Platz' TO it_fieldnames.
    " Statement not accessible"
    Thanks
    Protyusha

    Hi Protyusha,
    It seems that you are trying to append the complete line of a tabel with this 'Techn.Platz' . Instead you provide the field name that you are trying to append
    For ex:   it_fieldnames-fieldname.
    If still you are not clear then send me the complete code I will explain you in detail.
    Regards,
    Md Ziauddin

Maybe you are looking for