Error on Tabstrip Creation in module pool.

Hi! I've created a Tabstrip control using dialog programming.My tabstrip has two tabs - One for Material and other for Vendor.
Screen has two buttons - Display and Exit.When I select Material Tab, it will show input fields like Client,Material,Created By etc for input.When I select Vendor Tab, it will show respective fields from KNA1 table for input.Selecting a particular tab and clicking display button will display the records from the respective table defined in the program.
Now my application is ready.After creating transaction for this dialog program and executing the transaction,system got dump giving an error message "Control Variable not found".Can anyone help me to solve this problem.

hi Sacheen,
Declare the control in ABAP program with the same name as in screen. For example: the screen name of your tabstrip control is "TAB1", then in the global declaration of ABAP program:
CONTROLS tab1 TYPE TABSTRIP.
Regards
Suresh

Similar Messages

  • How to insert tabstrip control in module pool screen painter

    Hi all!
    plz tell e how to use tabstrip control in module pool screen painter.Also plz give me an example program using tabstrip control.

    To insert tabstrip just open layout of screen and press on the tabstrip button there .
    Use this souce code further to activate it .
    CONTROLS tabstrip TYPE TABSTRIP.
    DATA: okcode TYPE sy-ucomm,
    dynnr TYPE sy-dynnr,
    flag type flag,
    active like tabstrip-activetab .
    call SCREEN 100.
    *& Module USER_COMMAND_0100 INPUT
    text
    MODULE USER_COMMAND_0100 INPUT.
    data: lv_okcode type syucomm.
    lv_okcode = okcode.
    clear okcode.
    case lv_okcode.
    WHEN 'TAB1'.
    dynnr = '0110'.
    WHEN 'TAB2'.
    dynnr = '0120'.
    WHEN 'TAB3'.
    dynnr = '0130'.
    WHEN 'TAB4'.
    dynnr = '0140'.
    WHEN 'TAB5'.
    "check authorization, if authorization fails
    flag = 'X'. "set the global flag
    active = 'TAB1'. "store active tab in global variable
    dynnr = '0110'. "set the screen number
    WHEN 'BACK' or 'EXIT'.
    leave program.
    ENDCASE.
    IF lv_okcode(3) = 'TAB'.
    tabstrip-activetab = lv_okcode.
    ENDIF.
    ENDMODULE. " USER_COMMAND_0100 INPUT
    *& Module STATUS_0100 OUTPUT
    text
    MODULE STATUS_0100 OUTPUT.
    SET PF-STATUS 'MAIN'.
    SET TITLEBAR 'xxx'.
    IF tabstrip-activetab IS INITIAL OR
    dynnr IS INITIAL.
    tabstrip-activetab = 'TAB1'.
    dynnr = '0110'.
    ENDIF.
    "set the activetab explicilty here
    if flag eq 'X'. "from authorization failure
    tabstrip-activetab = active. "'TAB1'
    clear flag.
    endif.
    ENDMODULE. " STATUS_0100 OUTPUT

  • How to create subscreens in tabstrip control using  module pool

    hai experts,
    can u plz give me step by step procedure to create subscreens in tabstrip control using  module pool,

    hi,
    You can check this program
    <b>  DEMO_DYNPRO_TABSTRIP_LOCAL </b>
    This will help you in understanding the concept and how to create subscreens.
    Regards
    Nishant

  • Error while transporting modification in module pool of a specific infotype

    HI experts,
    While transporting some modifications that have be done on the PAI of a module pool of a specific infotype, we have an error with code return = 8, the error is --> Original object R3TRPROGMP900730 must not be changed!!!
    Any suggestion .
    Tanhks a lot .

    Hi ,
    Nice to know that your problem is solved. If any of the replies were usefull please acknowledge their work.
    And it would be great if you can just put in your remarks about the best  solution you had in solving that problem.
    It might be useful to other users when they encoutner such problem.
    BR,
    Vijay.

  • Tabstrip control in Module pool program

    Hi All
    I am creating a Tab strip control in SE51 ( M - Type program ). In my screen i have 3 tabs . I want the second tab to be default tab in my screen . How to to work on this scenario.
      If i get a sample program it will be easy for me.

    Just go through this code.
    Here just check the bold fonts give the function code of the second tab here which is shown at initialization of the screen. Use the screen active field also.
    REPORT DEMO_DYNPRO_TABSTRIP_LOCAL.
    CONTROLS MYTABSTRIP TYPE TABSTRIP.
    DATA: OK_CODE TYPE SY-UCOMM,
          SAVE_OK TYPE SY-UCOMM.
    MYTABSTRIP-ACTIVETAB = 'PUSH2'.
    CALL SCREEN 100.
    MODULE STATUS_0100 OUTPUT.
      SET PF-STATUS 'SCREEN_100'.
    ENDMODULE.
    MODULE CANCEL INPUT.
      LEAVE PROGRAM.
    ENDMODULE.
    MODULE USER_COMMAND INPUT.
      SAVE_OK = OK_CODE.
      CLEAR OK_CODE.
      IF SAVE_OK = 'OK'.
        MESSAGE I888(SABAPDOCU) WITH 'MYTABSTRIP-ACTIVETAB ='
                                      MYTABSTRIP-ACTIVETAB.
      ENDIF.
    ENDMODULE.
    Thanks,
    Sakthi

  • Dynamic VO error while testing without Application Module Pooling

    Hi,
    I am using ADF11g 11.1.1.4
    I have a dynamic VO which is used to display data depending on user defined configuration .
    It works fine till I try to test the application for activation / passivation by disabling application Module
    The moment I do this the application starts throwing ArrayIndexOutOfBound exception with the following trace.
    oracle.jbo.JboException: JBO-29000: Uventet undtagelse fundet: java.lang.ArrayIndexOutOfBoundsException, msg=0
    at oracle.jbo.server.Serializer.passivate(Serializer.java:234)
    at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:290)
    at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:267)
    at oracle.jbo.server.ApplicationModuleImpl.passivateStateInternal(ApplicationModuleImpl.java:5913)
    at oracle.jbo.server.ApplicationModuleImpl.passivateState(ApplicationModuleImpl.java:5783)
    at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:381)
    at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:8933)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4496)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.doManagedCheckin(ApplicationPoolImpl.java:2742)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.releaseApplicationModule(ApplicationPoolImpl.java:1554)
    at oracle.jbo.common.ampool.SessionCookieImpl.releaseApplicationModule(SessionCookieImpl.java:729)
    at oracle.jbo.common.ampool.SessionCookieImpl.releaseApplicationModule(SessionCookieImpl.java:649)
    at oracle.adf.model.bc4j.DCJboDataControl.releaseApplicationModule(DCJboDataControl.java:2437)
    at oracle.adf.model.bc4j.DCJboDataControl.endRequest(DCJboDataControl.java:2130)
    at oracle.adf.model.dcframe.DataControlFrameImpl.endRequestInternal(DataControlFrameImpl.java:579)
    at oracle.adf.model.dcframe.DataControlFrameImpl.endRequest(DataControlFrameImpl.java:457)
    at oracle.adf.model.BindingContext.endRequest(BindingContext.java:1955)
    at oracle.adf.model.BindingRequestHandler.invokeEndRequest(BindingRequestHandler.java:406)
    at oracle.adf.model.BindingRequestHandler.endRequest(BindingRequestHandler.java:302)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:210)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
    at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
    at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:175)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
    Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
    at oracle.jbo.server.ViewRowStorage.getAttributeInternal(ViewRowStorage.java:1669)
    at oracle.jbo.server.ViewRowImpl.getAttributeValue(ViewRowImpl.java:1891)
    at oracle.jbo.server.ViewRowImpl.getAttributeInternal(ViewRowImpl.java:834)
    at oracle.jbo.server.ViewRowImpl.getKey(ViewRowImpl.java:645)
    at oracle.jbo.server.ViewObjectImpl.doPassivateSettings(ViewObjectImpl.java:19423)
    at oracle.jbo.server.ViewObjectImpl.doPassivateSettings(ViewObjectImpl.java:19127)
    at oracle.jbo.server.ApplicationModuleImpl.passivateVOs(ApplicationModuleImpl.java:7712)
    at oracle.jbo.server.ApplicationModuleImpl.doPassivateState(ApplicationModuleImpl.java:7522)
    at oracle.jbo.server.ApplicationModuleImpl.doPassivateAMState(ApplicationModuleImpl.java:7509)
    at oracle.jbo.server.Serializer.passivate(Serializer.java:213)
    ... 51 more
    Edited by: user3067156 on 2012-04-07 15:53

    Hi Frank,
    The view object is an Entity based view object with a very simple where clause
    We have a train flow and each stop is a jsf page which renders the dynamic VO
    Each pages have a simple iterator for View object related to the stop to create a form iterating over the View object attributes.
    We tried to investigate the problem by making a train for two stops with two dynamic VO, one on each stop , this was done as a train which had only one stop as dymanic VO worked fine.
    We found the problem to be that when passivation was being called on change of train stop1 to train stop 2,
    Application module was passivting all the view objects and it was trying to find attributes of view object2 , which is attached to train stop 2, while being at train stop 1 and it was not able to find the attribute definition on train stop 1.
    Strangely it was able to find the view object 2 definition but not the attributes of the view object 2, even when there was no binding in the page def for the view object Iterator 2.
    To solve , We created a iterators for view objects on both the pages and rendered the one not related to the stop be false and It then solved the problem
    But I am not very comfortable with the solution as I am not very sure how does an Iterator binding on the jsff page , set to rendered false help in passivation.

  • Module Pool (tabstrip control Error :  )

    I am trying to activate tabstrip control in module pool but error is coming like no sub screen is assigned to tabstrip pushbutton
    tab12.
    my main screen is : 0221
    flow logic for 0221 is below :
    PROCESS BEFORE OUTPUT.
    CALL SUBSCREEN SUB1 INCLUDING SY-REPID '0321'.
    CALL SUBSCREEN SUB2 INCLUDING SY-REPID '0322'.
    PROCESS AFTER INPUT.
    CALL SUBSCREEN SUB1.
    CALL SUBSCREEN SUB2.
    MODULE USER_COMMAND_0221.
    and 0321 and 0322 is subscreen and i also gave ref field sub1 and sub2 .
    can you plz help me to solve the problem ?

    Hi,
    yes i created sub screen. i am going to explain what i have done .
    step : i created screen 200 (i choose subscreen)and inside 200 i put  tabstripcontrol then in tab1 i gave ref field sub1 and tab2 i gave ref field sub2 and fatch code ic1 and ic2.
    and then i created screen 221 and 222.
    inside 200 flow logic i wrote below code but still its giving me same error.
    PROCESS BEFORE OUTPUT.
    CALL SUBSCREEN SUB1 INCLUDING SY-REPID '0221'.
    CALL SUBSCREEN SUB2 INCLUDING SY-REPID '0222'.
    PROCESS AFTER INPUT.
    CALL SUBSCREEN SUB1.
    CALL SUBSCREEN SUB2.
    MODULE USER_COMMAND_0221.
    i dont know is it required to make any normal screen .
    please try to give me ans as soon as possible.

  • How to write module pool program

    hai,
    what is the module -pool program ?
    what are the procedures to write the module-pool program.
    plz give the simple program for module-pool programs?
    regards
    surender

    Hi
    This component though is not attached to the screen painter, plays important role in transaction. Normally, for reports, on line executable programs are written but for transaction, Module Pool Programs are written. The module pool program contains only modules to handle various events associated with screen and data declaration statements.
    System divides the module pool program into several include program. These are global field, PBO modules, and PAI modules. It is entirely user’s decision whether to use these modules or write directly into main program.
    Creation of Module Pool Program
    You can create module pool program either through
    Object browser
    System automatically creates the module pool program and for these program which are created through object browser, system creates the include modules.
    Or
    ABAP/4 editor
    It is similar to normal program creation. Type of program should be given ‘M’ and is not created by system.
    Communication between Dynpro and Module Program
    For each screen, the system executes the flow logic, which contains corresponding events. The control is passed to Module Pool Program. Module Pool Program handles the code for these events and again passes back control to the flow logic and finally to screen. Unlike on line program, in this case, the control remains with flow logic. The switching of control between flow logic and module pool program and back is common process when user executes transaction.
    Creation of a Complete Transaction
    Steps involved to create a complete transaction
    •     Create module pool program.
    •     From screen painter create screens.
    •     Write flow logic for each screen.
    •     Write code for all the events in module pool program.
    •     Check for any error in screen and flow logic.
    •     Generate each and every component of screen i.e. flow logic and screen.
    •     Single screen can be tested using Screen Painter.
    •     Create transaction code through object browser.
    •     Generate the transaction code.
    •     User can execute the transaction by entering the transaction code in the command field.
    Handling Function Code
    The function code or OKCODE is the last field of Field list. Function code can be handled as follows:
    During the Designing of the screen, a function code is assigned to pushbutton.
    •     In field list, developer needs to specify OKCODE as last field.
    •     In module program it is a global field and can be evaluated in the PAI event.
    •     A function code is treated in the same way, regardless it comes from pushbutton, menu item or any other GUI element.
    When the user clicks on the Display button, you want to display details of sflight, with corresponding carrid and connid (which is entered by the user).
    Module pool program to handle this particular screen is as follows:
    Program YVTEST7.
    TABLES: SFLIGHT.
    DATA: OKCODE (4).
    MODULE INPUT1 INPUT,
    CASE OKCODE.
       WHEN ‘DISP’.
         SELECT * FROM SFLIGHT
                WHERE CARRID =  SFLIGHT – CARRID AND
                               CONNID = SFLIGHT – CONNID.
         ENDSELECT.
         LEAVE TO SCREEN 200.
       WHEN ‘EXIT’.  LEAVE TO SCREEN 0.
      ENDCASE.
    ENDMODULE.               “INPUT1 INPUT
    MODULE USER_COMMAND_0200 INPUT.
    CASE OKCODE.
    WHEN ‘BACK’. LEAVE TO SCREEN 100.
    ENDCASE.
    ENDMODULE.                    “USER_COMMAND_0200 INPUT
    When the user clicks on display, control is transferred to screen no. 200 on which you display sflight details & on the same screen, when user clicks on BACK button, he comes back to main screen.
    Flow logic for screen 100 is as follows:
    PROCESS AFTER INPUT.
    MODULE INPUT.
    Flow logic for screen 200
    PROCESS AFTER INPUT.
    USER_COMMAND_0200.
    MODULES: Modules are handled in module pool program.
    You need to write flow logic for screen 200 and design screen 200.
    In case of transaction transfer of data from program to screen is automatic i.e. you need not transfer the data from program to screen explicitly. The fields, which you define in the screen receives the data from program and displays the same.
    The Field Checks
    As already mentioned Transaction is the only method, which SAP recommends to update the database tables. Data entered in the database table should be valid and correct. Data entered is validated at each and every point. ABAP/4 offers various methods to validate data and those are as follows:
    •     Automatic field checks
    •     Checks performed in the flow logic
    •     Checks performed in the ABAP/4 module pool program
    Automatic Field Checks
    These checks are based on the field information stored in the dictionary. These checks are performed by the system automatically when the user enters the data for the screen field. System performs these checks before PAI event is triggered. Types of field checks performed by system are as follows:
    •     Required input
    While designing the screen, for particular screen field if you click the Req. Entry checkbox, the field becomes mandatory. When the transaction is executed if user leaves this particular field blank, the system displays error message. User cannot proceed until the user enters some data.
    •     Proper Data Format
    Each field has its own data format whether it is table field or screen field. Whenever data is entered, system checks for the proper format of the data. For example date. Each user has its own format for date, which is defined in the user master record. If the date defined in the user master record is in the format DD/MM/YYYY, if the user enters the date, say, in YY/DD/MM, the user displays the error message. System also checks for the value of month or days. For example if month entered is greater than twelve then the error message is displayed.
    •     Valid Value for the Field
    In data dictionary two tables are related by Primary key-Foreign key relationship.  Whenever the user enters the data, the system checks for the check table values.   Also in Domain, if you have fixed values, then the system checks for these values.
    Automatic field checks are repeated each time the user enters the data.
    About at Exit – Command
    Automatic field checks can be avoided by AT EXIT-COMMAND, which works exactly the same way as Cancel works on application tools bar. In the R/3 screen, if you want to quit the processing of that particular screen without entering the mandatory fields, user can click the Cancel button. Same functionality can be incorporated in the user-defined transaction by using AT EXIT-COMMAND. This module can be called before the system executes the automatic field checks and it goes without saying that before PAI event. Code for AT EXIT-COMMAND in flow logic and in module pool program can be written as follows:
    In Flow Logic
    Process After Input.
    Module exit AT EXIT-COMMAND.
             In module pool program.
    Module exit.
    Case okcode.
    When ‘Exit’.
    Leave to screen 0.
    To achieve this kind of functionality a pushbutton or menu item should be assigned a function type ‘E’. It tells the system to process this particular module before carrying out any field checks.
    Flow Logic Validations
    Consider the case where you want user to enter only ‘LH’ and ‘SQ’ for sflight-carrid. In this case, you are restricting value of a screen field. This cannot be achieved by automatic field check. Hence there is a need of additional validation. It can be done in flow logic by using following statement:
    Field -
    Values
    Syntax
    PAI.
    Field sflight-carrid values (‘LH’).
    For multiple values
    PAI.
    Field sflight-carrid values (‘LH’ ‘SQ’).
    Field sflight-price values (between 1000 and 2000).
    In this case when the user enters the value, PAI is triggered  and field is checked for  that particular value. If the value entered happens to be wrong, that field is enabled for user to enter. If you have multiple Field statements in your flow logic, it is sequential execution.
    Consider the following case:
    PAI.
    Module  assign.
    Field sflight-carrid values (‘LH’ ‘SQ’).
    In ABAP/4
    Module  assign.
    Data: carrid1 like sflight-carrid.
    Carrid1 = sflight-carrid.
    Endmodule.
    In this case, Sflight-carrid is used in the flow logic before the field statement. The system will give invalid value or some previous value as the field sflight-carrid is used in module before it is checked i.e., field statement is after the module in which sflight-carrid is being used. The field is not available to the system unless it executes the field statement. Field statement transfers the values to the program and is done only once. If you don’t have Field statement in your flow logic, transfer of values takes place in PAI event.
    Consider one more case where you have multiple field statement
    PAI.
    Field Sflight-carrid values (‘LH’).
    Field Sflight-connid values (‘0400’ ‘0500’).
    In this case if the user enters only carrid wrong, then this particular field is enabled and rest of the fields are disabled for user to input. Many times if the user enters wrong value for one field, then you might want to give option to user to enter all the fields, which is not possible by using Field statement only. This functionality can be achieved by CHAIN – ENDCHAIN.
    Syntax
    Chain.
    Field sflight-carrid value (‘LH’).
         Field sflight-connid values (between ‘200’ and ‘500’).
    Endchain.
    Field sflight-price values (‘100’ ‘1000’).
    In this case, if the user enters wrong value only for carrid, both the fields i.e. carrid and connid are enabled as they are grouped together in the Chain statement. The field price will be disabled for input. Usually, logically related fields are grouped together with Chain-Endchain statement.
    Module Pool Program Validations
    Checking fields ABAP/4 program includes
    •     Field statement in flow logic.
    •     Module statement in ABAP/4 module pool Program.
    Syntax
    PAI.
    Field sflight-carrid module <name>.
    This module can be handled in the main program i.e. module pool program.
    In ABAP/4 program
    Module Check.
    Select single * from sflight where carrid = sflight-carrid.
    If sy-subrc ne 0.
         Message e001.
    Endif.
    In this case, field sflight-carrid is checked in the table for its existence.
    Dynamically Calling the Screens
    About Displaying Next Screen
    Transaction is a sequence of screens, which are displayed one after the other. The next screen displayed depends upon the attributes of first screen. In attributes you need to give Next Screen number i.e. if next screen displayed should be 200 screen, then this number should be given in next Screen attributes. These are static attributes of the screen. By default, if nothing is specified in the program, the system branches out to the screen number, which is specified in the attribute screen.
    In this case, if user selects MARA pushbutton, then fields from Mara table are displayed. When the user clicks on the MARD, then the fields from MARD table are displayed. Depending upon users selection, the screen is branched out and this has to be done during runtime. This functionality can be achieved by dynamically calling the screen in module pool program.
    The screen can branch out to new screen depending upon user selection. Following command in module pool program can do this:
    •     SET SCREEM
    •     CALL SCREEN
    •     LEAVE TO SCREEN <NUMBER>
    All these commands override the specifications given in the attributes. This overriding is temporary. The values stored in the attribute are not changed.
    Set Screen
    Syntax
    Set screen <number>.
    In module pool program
    Case okcode.
         When  ‘DISP’.
              Set screen 200.
         When ‘LIST’.
              Set screen 300.
    Endcase.
    In this case, the entire processing of current screen takes place and then the system branches out to next screen. If you want to branch out to the next screen without processing the current screen, LEAVE SCREEN should be used along with the SET SCREEN.
    For Example:
    Case okcode..
         When  ‘DISP’.
              Set screen 200.
              Leave Screen.
         When ‘LIST’.
              Set screen 300.
              Leave Screen.
    Endcase.
    When SET SCREEN is used, control cannot be transferred to the main screen or previous screen, unless you write code for the same.
    Call Screen
    Usually used for pop up screens. Many times, there is a need for user to enter additional information or secondary information on another screen or pop up screen. Once the user enters the data, he should be able to go back to main screen or to the screen where he started. This is not possible by using SET SCREEN. CALL SCREEN achieves this functionality.
    Syntax
    Call Screen 200.
    Will simply call a screen number 200 from a main screen. Once the screen is displayed the user can enter all the data and return to the main screen by clicking BACK button.
    To call screen as pop up screen the syntax is
    Call screen starting at <col.no.> <line no>
                         Ending at <col no> <line no>.
    In this case window will be popped as window and user can close it by using BACK button.
    Leave to screen
    To SET a new screen without processing current screen, you need to use the following two statements together:
    SET SCREEN 200.
    LEAVE SCREEN.
    Or a Single statement
    LEAVE TO SCREEN 200.

  • Module pool. error while navigating between tabs in tabstrip

    Hi all,
    in the module pool program, when i navigate from one tab to another it is giving me an error saying "Illegal value when compressing the screen". what might be the reason?
    Thanks

    Hi,
    Check out the dimensions of the subscreen. May be its bigger than your subscreen area.
    Regards,
    Naga Sai Swapna

  • Getting error while calling a subscreen in  module pool program

    HI  ALL,
                         ACTUALLY I'M GETTING A SYNTAX ERROR WHILE I'M CALLING A SUBSCREEN
                       IN A MODULE POOL PROGRAM IN PAI MODULE
                       THE ERROR IS AS FOLLOW
                           "." or "ID ... FIELD ..." expected after "SUBSCREEN"
                        CAN ANYBODY PLS HELP ME.
    REGARDS
    ANDREWS

    HI MAX ,
                      THE CODE IS AS FOLLOWS:
    *& Report  ZTABSTRIP_PS
    REPORT  ZTABSTRIP_PS.
    type-pools : vrm.
    DATA:number1 type I,
         number2 type I,
         result  type I,
         ok_code like SY-UCOMM,
         employee1 type c,
         ABAP(19)    type c,
         SALES(19)  type c,
         HR(19)      type c,
         MM(19)     type  c,
    employee type c.
        emp type c.
    CONTROLS  tabstrip TYPE TABSTRIP.
    CALL SCREEN 100.
    call screen 110.
    call screen 130.
    call screen 120.
    call screen  140.
    *&      Module  STATUS_0100  OUTPUT
          text
    MODULE STATUS_0100 OUTPUT.
      SET PF-STATUS 'STATUS'.
      SET TITLEBAR 'TITLE'.
      CASE OK_CODE.
        WHEN 'BACK' or 'EXIT' or 'DELETE'.
         leave program.
         WHEN 'SAVE'.
           MESSAGE 'please choose a valid function' TYPE 'I'.
       WHEN 'BACK'.
        leave PROGRAM.
    when  'EXIT' or 'DELETE'.
        leave to screen 0.
        WHEN 'SAVE'.
          MESSAGE 'please choose a valid function' TYPE 'I'.
    endcase.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
          text
    MODULE USER_COMMAND_0100 INPUT.
    CASE OK_CODE.
      when 'TAB1'.
    tabstrip-activetab = 'TAB1'.
       when 'TAB2'.
    tabstrip-activetab = 'TAB2'.
    result = number1 + number2.
       when 'TAB3'.
      tabstrip-activetab = 'TAB3'.
    SET TITLEBAR 'TITLE1'.
      when 'TAB4'.
        tabstrip-activetab = 'TAB4'.
       if employee = 'NEERAJ'.
         ABAP = 'NEERAJ'.
       elseif employee = 'UMESH'.
         SALES = 'UMESH'.
       ELSEIF employee = 'RAM'.
         HR = 'RAM'.
       elseif employee = 'ANIL'.
         MM = 'ANIL'.
         endif.
       employee = employee.
    WHEN 'BACK'.
        leave PROGRAM.
    when  'EXIT' or 'DELETE'.
        leave to screen 0.
        WHEN 'SAVE'.
          MESSAGE 'please choose a valid function' TYPE 'I'.
    ENDCASE.
       WHEN 'BACK' or 'EXIT' or 'DELETE'.
         leave program .
         WHEN 'SAVE'.
           MESSAGE 'please choose a valid function' TYPE 'I'.
    endcase.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Module  STATUS_0110  OUTPUT
          text
    **MODULE STATUS_0110 OUTPUT.
    SET PF-STATUS 'STATUS1'.
    SET TITLEBAR 'xxx'.
    **case ok_code.
    **WHEN 'back' or 'exit' or 'delete'.
        leave PROGRAM.
        WHEN 'save'.
          MESSAGE 'please choose a valid function ' TYPE 'W'.
    ENDCASE.
    **ENDMODULE.                 " STATUS_0110  OUTPUT
    *&      Module  USER_COMMAND_0110  INPUT
          text
    MODULE USER_COMMAND_0110 INPUT.
      number1 = number1.
      number2 = number2.
    CLEAR NUMBER1.
    CLEAR NUMBER2.
    REFRESH NUMBER1.
    REFRESH NUMBER2.
    ENDMODULE.                 " USER_COMMAND_0110  INPUT
    *&      Module  STATUS_0130  OUTPUT
          text
    MODULE STATUS_0130 OUTPUT.
    SET PF-STATUS 'STATUS2'.
    SET TITLEBAR 'xxx'.
    RESULT = number1 + number2.
    *CLEAR RESULT.
    REFRESH RESULT.
    ENDMODULE.                 " STATUS_0130  OUTPUT
    *&      Module  STATUS_0120  OUTPUT
          text
    MODULE STATUS_0120 OUTPUT.
    SET PF-STATUS 'xxxxxxxx'.
    SET TITLEBAR 'xxx'.
    DATA:  l_name TYPE vrm_id,
            li_list TYPE vrm_values,
            l_value LIKE LINE OF li_list.
      l_value-key = '1'.
      l_value-text = 'ANIL'.
      APPEND l_value TO li_list.
      CLEAR l_value.
    CLEAR li_list.
      l_value-key = '2'.
      l_value-text = 'RAM'.
      APPEND l_value TO li_list.
      CLEAR l_value.
    CLEAR li_list.
      l_value-key = '3'.
      l_value-text = 'NEERAJ'.
      APPEND l_value TO li_list.
      CLEAR l_value.
    CLEAR li_list.
      l_value-key = '4'.
      l_value-text = 'UMESH'.
      APPEND l_value TO li_list.
      CLEAR l_value.
    CLEAR li_list.
    l_name =  'employee'.
      CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          ID                    =  l_name
          VALUES                =  li_list
       EXCEPTIONS
         ID_ILLEGAL_NAME       = 1
         OTHERS                = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CLEAR li_list.
    ENDMODULE.                 " STATUS_0120  OUTPUT
    *&      Module  USER_COMMAND_0120  INPUT
          text
    MODULE USER_COMMAND_0120 INPUT.
    INCLUDING sy-repid '140'.
    employee1 = employee.
    IF employee1 CS 'NEERAJ'.
      call SUBSCREEN    sub4  .
      ABAP = 'NEERAJ'.
      CLEAR ABAP.
    ELSEIF employee1 CS 'UMESH'.
       call SUBSCREEN  sub4  .
        SALES = 'UMESH'.
        CLEAR SALES.
    elseif employee1 CS 'RAM'.
      call SUBSCREEN sub4 .
       HR = 'RAM'.
       CLEAR  HR.
    ELSEIF employee1 CS 'ANIL'.
       call SUBSCREEN sub4 .
       MM = 'ANIL'.
       CLEAR MM.
       endif.
    ENDMODULE.                 " USER_COMMAND_0120  INPUT
    *&      Module  STATUS_0140  OUTPUT
          text
    MODULE STATUS_0140 OUTPUT.
    *CASE OK_CODE.
       WHEN employee1  'NEERAJ'.
         screen-active = 1.
         ABAP = 'NEERAJ'.
       WHEN employee1 = 'UMESH'.
         screen-active = 1.
         SALES = 'UMESH'.
       WHEN employee1 = 'RAM'.
         screen-active = 1.
         HR = 'RAM'.
       WHEN employee1 = 'ANIL'.
         screen-active = 1.
         MM = 'ANIL'.
         endif.
    *ENDCASE.
    ENDMODULE.                 " STATUS_0140  OUTPUT

  • Module pool program error

    hi expects,
       in this program in screen 100, i have provided select-options for material no,maximum qty,no. of kanban,no of unit per kanban in tabstrip and i am having 3 pushbuttons (create (screen110),change(screen 120),display(screen 130).but i am getting error in 100 & 110).in 110 , i should provide again select-options and table control.please help me to solve this problem.
    *& Module pool ZSAPMZPGM2 *
    PROGRAM ZSAPMZTECHANICALTESTPGM2 .
    TABLES : ZTECHANICALTEST2,MAKT.
    DATA : BEGIN OF ITAB OCCURS 0,
    ZMANDT LIKE ZTECHANICALTEST2-ZMANDT,
    ZMATNR LIKE ZTECHANICALTEST2-ZMATNR,
    ZMAXQTY LIKE ZTECHANICALTEST2-ZMAXQTY,
    ZNUMKB LIKE ZTECHANICALTEST2-ZNUMKB,
    ZBUNT LIKE ZTECHANICALTEST2-ZBUNT,
    ZCRTBY LIKE ZTECHANICALTEST2-ZCRTBY,
    ZCRTDT LIKE ZTECGHANICALTEST2-ZCRTDT,
    ZUPDBY LIKE ZTECHANICALTEST2-ZUPDBY,
    ZUPDDT LIKE ZTECHANICALTEST2-ZUPDDT,
    END OF ITAB.
    CONTROLS : VCONTROLS TYPE TABLEVIEW USING 120.
    CONTROLS : STRIP TYPE TABSTRIP.
    DATA : DYNNR LIKE SY-DYNNR VALUE 110
    *& Module USER_COMMAND_0100 INPUT
    text
    module USER_COMMAND_0100 input.
    CASE SY-UCOMM.
    WHEN 'DATA SELECTION'.
    DYNNR = 110.
    STRIP-ACTIVETAB = 'DATA SELECTION'.
    ENDCASE.
    endmodule. " USER_COMMAND_0100 INPUT
    *& Module USER_COMMAND_0110 INPUT
    text
    module USER_COMMAND_0110 input.
    CASE SY-UCOMM.
    WHEN 'CREATE SCREEN'.
    INSERT ZTECHANICALTEST2 FROM TABLE itab.
    SELECT * FROM ZTECHANICALTEST INTO ITAB.
    PROCESS BEFORE OUTPUT.
    *&SPWIZARD: PBO FLOW LOGIC FOR TABLECONTROL 'V_CONTROL'
      MODULE V_CONTROL_INIT.
    *&SPWIZARD: MODULE V_CONTROL_CHANGE_TC_ATTR.
    *&SPWIZARD: MODULE V_CONTROL_CHANGE_COL_ATTR.
      LOOP AT   G_V_CONTROL_ITAB
           INTO G_V_CONTROL_WA
           WITH CONTROL V_CONTROL
           CURSOR V_CONTROL-CURRENT_LINE.
    *&SPWIZARD:   MODULE V_CONTROL_CHANGE_FIELD_ATTR
        MODULE V_CONTROL_MOVE.
        MODULE V_CONTROL_GET_LINES.
      ENDLOOP.
    MODULE STATUS_0100.
    PROCESS AFTER INPUT.
    *&SPWIZARD: PAI FLOW LOGIC FOR TABLECONTROL 'V_CONTROL'
      LOOP AT G_V_CONTROL_ITAB.
        CHAIN.
          FIELD ZTECHANICALTEST2-ZMANDT.
          FIELD ZTECHANICALTEST2-ZMATNR.
          FIELD ZTECHANICALTEST2-ZMAXQTY.
          FIELD ZTECHANICALTEST2-ZNUMKB.
          FIELD ZTECHANICALTEST2-ZKBUNT.
          FIELD ZTECHANICALTEST2-ZCRTBY.
          FIELD ZTECHANICALTEST2-ZCRTDT.
          FIELD ZTECHANICALTEST2-ZUPDBY.
          FIELD ZTECHANICALTEST2-ZUPDDT.
          MODULE V_CONTROL_MODIFY ON CHAIN-REQUEST.
        ENDCHAIN.
      ENDLOOP.
      MODULE V_CONTROL_USER_COMMAND.
    *&SPWIZARD: MODULE V_CONTROL_CHANGE_TC_ATTR.
    *&SPWIZARD: MODULE V_CONTROL_CHANGE_COL_ATTR.
    MODULE USER_COMMAND_0100.
    IF SY-SUBRC = 0.
    MESSAGE I000(0) WITH 'CREATED'.
    ELSE.
    MESSAGE E001(0) WITH 'NOT CREATED'.
    ENDIF.
    WHEN OTHERS.
    CLEAR OK_CODE.
    SET SCREEN 120.
    LEAVE SCREEN.
    ENDCASE.
    ENDCASE.
    endmodule. " USER_COMMAND_0110 INPUT
    *& Module USER_COMMAND_0120 INPUT
    text
    module USER_COMMAND_0120 input.
    CASE SY-UCOMM.
    WHEN 'DISPLAY SCREEN'.
    INSERT ZTECHANICALTEST2 FROM TABLE itab.
    SELECT * FROM ZTECHANICALTEST2 INTO ITAB.
    IF SY-SUBRC = 0.
    MESSAGE I000(0) WITH 'DISPLAY'.
    ELSE.
    MESSAGE E001(0) WITH 'NOT DISPLAY'.
    ENDIF.
    WHEN 'DISPLAY SCREEN'.
    CLEAR OK_CODE.
    SET SCREEN 130.
    LEAVE SCREEN.
    ENDCASE.
    ENDCASE.
    endmodule. " USER_COMMAND_0120 INPUT
    *& Module USER_COMMAND_0130 INPUT
    text
    module USER_COMMAND_0130 input.
    CASE SY-UCOMM.
    WHEN 'CHANGE SCREEN'.
    CASE SY-UCOMM.
    MODIFY ZTECHANICALTEST2 FROM TABLE itab.
    PROCESS BEFORE OUTPUT.
    *&SPWIZARD: PBO FLOW LOGIC FOR TABLECONTROL 'V_CONTROL'
      MODULE V_CONTROL_INIT.
    *&SPWIZARD: MODULE V_CONTROL_CHANGE_TC_ATTR.
    *&SPWIZARD: MODULE V_CONTROL_CHANGE_COL_ATTR.
      LOOP AT   G_V_CONTROL_ITAB
           INTO G_V_CONTROL_WA
           WITH CONTROL V_CONTROL
           CURSOR V_CONTROL-CURRENT_LINE.
    *&SPWIZARD:   MODULE V_CONTROL_CHANGE_FIELD_ATTR
        MODULE V_CONTROL_MOVE.
        MODULE V_CONTROL_GET_LINES.
      ENDLOOP.
    MODULE STATUS_0100.
    PROCESS AFTER INPUT.
    *&SPWIZARD: PAI FLOW LOGIC FOR TABLECONTROL 'V_CONTROL'
      LOOP AT G_V_CONTROL_ITAB.
        CHAIN.
          FIELD ZTECHANICALTEST2-ZMANDT.
          FIELD ZTECHANICALTEST2-ZMATNR.
          FIELD ZTECHANICALTEST2-ZMAXQTY.
          FIELD ZTECHANICALTEST2-ZNUMKB.
          FIELD ZTECHANICALTEST2-ZKBUNT.
          FIELD ZTECHANICALTEST2-ZCRTBY.
          FIELD ZTECHANICALTEST2-ZCRTDT.
          FIELD ZTECHANICALTEST2-ZUPDBY.
          FIELD ZTECHANICALTEST2-ZUPDDT.
          MODULE V_CONTROL_MODIFY ON CHAIN-REQUEST.
        ENDCHAIN.
      ENDLOOP.
      MODULE V_CONTROL_USER_COMMAND.
    *&SPWIZARD: MODULE V_CONTROL_CHANGE_TC_ATTR.
    *&SPWIZARD: MODULE V_CONTROL_CHANGE_COL_ATTR.
    MODULE USER_COMMAND_0100.
    IF SY-SUBRC = 0.
    MESSAGE I000(0) WITH 'DISPLAY'.
    ELSE.
    MESSAGE E001(0) WITH 'NOT DIPLAY'.
    ENDIF.
    WHEN CHANGE SCREEN.
    LEAVE PROGRAM.
    ENDCASE.
    endmodule. " USER_COMMAND_0130 INPUT
    *& Module STATUS_0130 OUTPUT
    text
    module STATUS_0130 output.
    SET PF-STATUS 'xxxxxxxx'.
    SET TITLEBAR 'xxx'.
    LOOP AT CONTROL VCONTROL.
    MODIFY ZTECHANICALTEST2 FROM TABLE ITAB.
    PROCESS BEFORE OUTPUT.
    *&SPWIZARD: PBO FLOW LOGIC FOR TABLECONTROL 'V_CONTROL'
      MODULE V_CONTROL_INIT.
    *&SPWIZARD: MODULE V_CONTROL_CHANGE_TC_ATTR.
    *&SPWIZARD: MODULE V_CONTROL_CHANGE_COL_ATTR.
      LOOP AT   G_V_CONTROL_ITAB
           INTO G_V_CONTROL_WA
           WITH CONTROL V_CONTROL
           CURSOR V_CONTROL-CURRENT_LINE.
    *&SPWIZARD:   MODULE V_CONTROL_CHANGE_FIELD_ATTR
        MODULE V_CONTROL_MOVE.
        MODULE V_CONTROL_GET_LINES.
      ENDLOOP.
    MODULE STATUS_0100.
    PROCESS AFTER INPUT.
    *&SPWIZARD: PAI FLOW LOGIC FOR TABLECONTROL 'V_CONTROL'
      LOOP AT G_V_CONTROL_ITAB.
        CHAIN.
          FIELD ZTECHANICALTEST2-ZMANDT.
          FIELD ZTECHANICALTEST2-ZMATNR.
          FIELD ZTECHANICALTEST2-ZMAXQTY.
          FIELD ZTECHANICALTEST2-ZNUMKB.
          FIELD ZTECHANICALTEST2-ZKBUNT.
          FIELD ZTECHANICALTEST2-ZCRTBY.
          FIELD ZTECHANICALTEST2-ZCRTDT.
          FIELD ZTECHANICALTEST2-ZUPDBY.
          FIELD ZTECHANICALTEST2-ZUPDDT.
          MODULE V_CONTROL_MODIFY ON CHAIN-REQUEST.
        ENDCHAIN.
      ENDLOOP.
      MODULE V_CONTROL_USER_COMMAND.
    *&SPWIZARD: MODULE V_CONTROL_CHANGE_TC_ATTR.
    *&SPWIZARD: MODULE V_CONTROL_CHANGE_COL_ATTR.
    MODULE USER_COMMAND_0100.
    ENDLOOP.
    ENDLOOP.
    endmodule. " STATUS_0130 OUTPUT
    *& Module STATUS_0120 OUTPUT
    text
    module STATUS_0120 output.
    SET PF-STATUS 'xxxxxxxx'.
    SET TITLEBAR 'xxx'.
    LOOP AT CONNTROL VCONTROL..
    PROCESS BEFORE OUTPUT.
    *&SPWIZARD: PBO FLOW LOGIC FOR TABLECONTROL 'V_CONTROL'
      MODULE V_CONTROL_INIT.
    *&SPWIZARD: MODULE V_CONTROL_CHANGE_TC_ATTR.
    *&SPWIZARD: MODULE V_CONTROL_CHANGE_COL_ATTR.
      LOOP AT   G_V_CONTROL_ITAB
           INTO G_V_CONTROL_WA
           WITH CONTROL V_CONTROL
           CURSOR V_CONTROL-CURRENT_LINE.
    *&SPWIZARD:   MODULE V_CONTROL_CHANGE_FIELD_ATTR
        MODULE V_CONTROL_MOVE.
        MODULE V_CONTROL_GET_LINES.
      ENDLOOP.
    MODULE STATUS_0100.
    PROCESS AFTER INPUT.
    *&SPWIZARD: PAI FLOW LOGIC FOR TABLECONTROL 'V_CONTROL'
      LOOP AT G_V_CONTROL_ITAB.
        CHAIN.
          FIELD ZTECHANICALTEST2-ZMANDT.
          FIELD ZTECHANICALTEST2-ZMATNR.
          FIELD ZTECHANICALTEST2-ZMAXQTY.
          FIELD ZTECHANICALTEST2-ZNUMKB.
          FIELD ZTECHANICALTEST2-ZKBUNT.
          FIELD ZTECHANICALTEST2-ZCRTBY.
          FIELD ZTECHANICALTEST2-ZCRTDT.
          FIELD ZTECHANICALTEST2-ZUPDBY.
          FIELD ZTECHANICALTEST2-ZUPDDT.
          MODULE V_CONTROL_MODIFY ON CHAIN-REQUEST.
        ENDCHAIN.
      ENDLOOP.
      MODULE V_CONTROL_USER_COMMAND.
    *&SPWIZARD: MODULE V_CONTROL_CHANGE_TC_ATTR.
    *&SPWIZARD: MODULE V_CONTROL_CHANGE_COL_ATTR.
    MODULE USER_COMMAND_0100.
    endmodule. " STATUS_0120 OUTPUT
    *& Module STATUS_0110 OUTPUT
    text
    module STATUS_0110 output.
    SET PF-STATUS 'xxxxxxxx'.
    SET TITLEBAR 'xxx'.
    WHEN 'DELETE ROWS'.
    CASE SY-UCOMM.
    DELETE FROM ZTECHANICALTEST2
    WHERE MATERIAL = 'NY'.
    WHEN 'UNDELETE ROWS'.
    LEAVE SCREEN.
    WHEN 'SELECT ALL'.
    CASE SY-UCOMM.
    SELECT * FROM ZTECHANICALTEST2 INTO ITAB.
    WRITE :/ ITAB.
    ENDSELECT.
    ENDCASE.
    WHEN 'DESELECT ALL'.
    endmodule. " STATUS_0110 OUTPUT

    what error message you are getting?

  • How to set error message inside the loop...module pool

    Dear all,
         Am creating Table Control without wizard. In that i am looping the values, that is, Once if i entered 5 digit values means, 12345-08... the values should be stored in z-table like this 12345,12346,12347,12348 . That is 5-8 it as to update in z table. for this i createdloop at itab and inside that i written a code to count the value and all. and also its clearly updating the value in ztable too. now i want to know, if once again i entered the same value means, like 12345-08.. it as to show error messge.I dont know how to set the condition with error message inside the single loop .... Its all comes under module pool program.
    Thanks,
    Santhosh.R

    If i understood your doubt, here goes the answer.
    LOOP AT itab INTO wa_itab.  " This is your loop
      l_tabix = sy-tabix. "l_tabix receives the line of the loop
      READ TABLE itab WITH KEY itab = wa_itab.  "itab is the same tab of your loop
      IF sy-subrc EQ 0 AND l_tabix NE sy-tabix.    "Here the sy tabix have the value of the read table.
    *     Here you do your error treatment.
      ENDIF.
    ENDLOOP.
    Explanation: When you are looping your internal table, you use a READ TABLE to see the already recorded registers. If the read table finds one register (sy-subrc EQ 0) and the this register is not the one of the current line (l_tabix NE sy-tabix). It means you have a duplicated register.
    Maybe there is someway easier to do this, but this is what i thought now.
    I hope this was your doubt hehe.
    Thales Schmidt

  • Runtime errors in module pool programming

    HI all,
    I have done a module pool program for invoice tracking level wise.
    I am encountering a runtime error, LIST_TOO_MANY_LPROS, while execution ie., for two and more than two updations of the database.
    The error analysis says that "At present, the maximum permitted number of nested screen levels is restricted to 50".
    Short Text :- "No further list processing possible".
    Can anyone please come out with a solution for this problem.
    regards
    samarendra.
    Edited by: samarendra penugonda on Nov 5, 2008 5:03 AM

    Hi
    U should replace the comand CALL SCREEN with LEAVE TO SCREEN.
    The command CALL SCREEN create an internal mode to link the calling screen to called screen automatically: in this way when it needs to back to calling screen it doesn't need to specify the screen number but only to use:
    - LEAVE TO SCREEN 0.
    or
    - SET SCREEN 0. LEAVE SCREEN.
    Now if you use  LEAVE TO SCREEN, u need to indicate the screen when it needs to back to calling screen:
    - Go from 100 to 200
    LEAVE TO SCREEN 200. (Instead of CALL SCREEN 200)
    - Back to 100.
    LEAVE TO SCREEN 100. (Instead of LEAVE TO SCREEN 0)
    Max

  • Error message in Module Pool program

    Hi folks,
               I have developed a module pool program for a custom screen. while entering data on the screen,
    it throws a error message for a wrong data entry.But, even after cliking enter, the error message coming repeatedly and the screen is disabled.I havent inculded the screen fields in between CHAIN-ENDCHAIN.Is this the reason for the bug. If so, i have approximately 50 fields on my screen.Should i keep all those fields in between CHAIN-ENDCHAIN. Pls suggest me...
                  Thanks in advance,
                  Shyam.

    Hi Shyam,
    Please find the LInk below
    Hope this is help full
    [Error Message|Re: chain endchain]
    Thanks
    kalyan

  • Error handling in module pool program

    hi,
    in module pool program after enabling a field if the user enters an invalid value iam giving a error message.
    message 'something' type 's' display like 'E'.
    then again it should go to the previous screen where the user enters the value for that enabled filed.
    can u guys share some ideas.

    Hi ,
    if it is a ascreen field use the below syntax
    Field <fieldname> module <module_validate>.
    in the module validate write the validation and throw error message ,the screen will be in error position
    if the field is in Table control
    Loop at <table control>.
       chain.
          field <fieldnamemodule <module_validate>.
                                                    "in the module validate write the validation and throw error message ,the screen will be in error position
      endchain.
    Endloop.
    Prabhudas

Maybe you are looking for

  • Calling Java webdynpr application in ABAP webdynpro application

    Hi All, I have a requirement to call a Java webdynpro application from ABAP Webdynpro application. Is it possible? If any of you have done, please let me know how to do it. Regards, Basha.

  • Video Converter like Super for Linux?

    I use Super by erightsoft to convert avi files into MP4's to view on the N95. Am now considering moving from Windows to Linux. Does anyone have any experience of a Linux video converter program that works?

  • Counter Output as Sample Clock of Digital Signals

    I have a situation where I need to use a hardware counter as sample clock of digital output signals. How do you specify the "Counter Internal Output" signal as a sample clock of digital output? I want to do something like this:   // Create counter ta

  • Create sequence

    in create sequence statement what z the use of cache/nocache?please tell me briefly.

  • Removing .bak files after a certain time

    I am new to automator but was wondering if the following can be done... after saving a file in autocad it always creates a .bak file. now can automator for selected folders and after a time period of time after the .bak files has been crated, this au