Hi friends i have doubt in dialog programming.

i am desiging the screen using table control. which is suppose to accept unit of measure as 'car' means carton, kg, and so on. so if i enter numerics it should not accept. can anybody tell me how  can i restrict the user to enter only alphanumerics. thanks in advance.

Hello,
U can use the system table field ABCDE for checking if it has only alphabets.
system field == SY-ABCDE
Regards
Anurag

Similar Messages

  • Hi friends i have doubt on set cursor.

    i am using dialog programming. here in the first text field i am auto generating the number, so user should only suppose to enter the values for other repective fields only.but in execution the cursor is positioning at the first field. it should start from the second and so on.
    i tried using SET CURSOR FIELD F2. but tbe result is same. please provide me guidence on this.

    Hi,
    In the PBO of the dialog module,write the following code :
    SET CURSOR FIELD `FIELD2`.
    Remember the FIELD2 is the name assigned to the textbox of the screen.
    Best regards,
    Prashant
    PS : Please reward all helpful answers

  • Hi friends plz help me with dialog programming

    hi,
    i have developed a screen with flow logic.it has few mandatory fields , radiobuttons,check boxes and pushbuttons such as Create,Save,Display,Back. after entering the values and save i have no problem but when taking back or display it is asking for mandatory field i need not give values for those field to take back.plz provide me with very quick response.
    and how do i save data from selected checkboxes or from radiobuttons to ztables and how do i retrieve data back to radiobutton in selected format .
    kindly help rewarded for answers.

    Hi Sirisha,
    Goto menu painter and give given status for ur program-> go to standard tool bar and double click on BACK and select Function type = E.
    or
    double click on ur PF status  and do the same.
    once you give function type E, write one module under PAI like below.
    PROCESS AFTER INPUT.
    MODULE BACK AT EXIT-COMMAND.
    code for Module BACK
    IF ok_code = 'BACK' OR ok_code = 'EXIT'.
        CLEAR: ok_code.
        LEAVE TO SCREEN 100." This is the screen where u want to come back
      ENDIF.
    ENDMODULE.
    This module BACK is executed wherever u write under PAI when Function type E is defined for Screen Element.
    for more details on this topic. please have a look.
    [http://help.sap.com/saphelp_nw70/helpdata/en/9f/dbaa9535c111d1829f0000e829fbfe/content.htm|http://help.sap.com/saphelp_nw70/helpdata/en/9f/dbaa9535c111d1829f0000e829fbfe/content.htm]
    I hope that it helps you ..
    Regards,
    Venkat.O

  • Hi friends i have doubt on select statement

    hi friends, i am using one ztable which contains around 60 fields. i would like to consider in to itab around 52 fields. for this i am using "select * from ztable into itab....". can u please suggest me how can i improve by selecting all the fields and without reducing performance.

    Declare as below:
    Select-options: s_matnr FOR mara-matnr.
    Data: Begin of itab.
      INCLUDE STRUCTURE mara.
    Data: End of itab.
    Clear itab.
    Refresh itab.
    Select * from mara
             into table itab
             where matnr = s_matnr.
    if sy-subrc = 0.
    SORT itab.
    endif.
    OR if you are selecting based on some internal table then use
    FO ALL ENTRIES IN itab1.
    Hope this helps you, it will also improve your performance.
    Reward points and close the thread else revert back.

  • Hi friends i have doubt on collect statement.

    i have some problem with matnr which is repeating no.of times. so i tried using collect and selected some of the fields to collect. Now i need to collect those collected elements in to internal table and need to display those fields in an ouput. for example.
    loop at sumtab.
    matnr type s886-matnr,
    avg1 type p decimals 3,
    total type p decimals 3,
    endloop.
    and now using loop  i am collecting. these fields using my itab.
    loop at itab.
    move-corresponding itab to sumtab.
    collect sumtab.
    clear sumtab.
    endloop.
    ***here itab contains no.of other fields like qty,stock etc.
    so after here i am using ALV to display the itab.
    my problem is how to make SUMTAB fields tobe moved in itab.

    Hi Kalyan,
       The collect statement works like this . (ex)
    data: begin of itab occurs 0,
          name(10) type c,
          value(4) type n,
          end of itab.
    itab-name = 'JACK'.
    itab-value = 100.
    append itab.
    itab-name = 'PAT'.
    itab-value = 200.
    append itab.
    itab-name = 'JACK'.
    itab-value = 200.
    append itab.
    sort itab.
    loop itab.
    collect itab.
    write: / itab-name, itab-value.
    endloop.
    <b>o/p:</b>
    JACK 300
    PAT  200

  • Reg- Selection screen in Dialog Programing

    Dear Friends,
                      I have developed one Dialog program. In that i have to select profit center like from and to option. Apart from i want to select more profit ceneter also. Now my problem s i designed form,to and more fielsd also. If i enter more filds it s not coming in to from to option.
    Tell any gud function modulr for selectiong from,to and more fields.
    Thanks & regards
    Prabu K

    Hi,
    See below report it might help you.
    REPORT selectoptionsrestrict.
    Include type pool SSCR
    TYPE-POOLS sscr.
    TABLES :
      marc.
    defining the selection-screen
    select-options :
      s_matnr for marc-matnr,
      s_werks for marc-werks.
    Define the object to be passed to the RESTRICTION parameter
    DATA restrict TYPE sscr_restrict.
    Auxiliary objects for filling RESTRICT
    DATA : optlist TYPE sscr_opt_list,
               *** type sscr_***.
    INITIALIZATION.
    Restricting the MATNR selection to only EQ and 'BT'.
      optlist-name = 'OBJECTKEY1'.
      optlist-options-eq = 'X'.
      optlist-options-bt = 'X'.
      APPEND optlist TO restrict-opt_list_tab.
      ***-kind = 'S'.
      ***-name = 'S_MATNR'.
      ***-sg_main = 'I'.
      ***-sg_addy = space.
      ***-op_main = 'OBJECTKEY1'.
      APPEND *** TO restrict-***_tab.
    Restricting the WERKS selection to CP, GE, LT, NE.
      optlist-name = 'OBJECTKEY2'.
      optlist-options-cp = 'X'.
      optlist-options-ge = 'X'.
      optlist-options-lt = 'X'.
      optlist-options-ne = 'X'.
      APPEND optlist TO restrict-opt_list_tab.
      ***-kind = 'S'.
      ***-name = 'S_WERKS'.
      ***-sg_main = 'I'.
      ***-sg_addy = space.
      ***-op_main = 'OBJECTKEY2'.
      APPEND *** TO restrict-***_tab.
      CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'
       EXPORTING
        restriction                  = restrict
       EXCEPTIONS
         TOO_LATE                     = 1
         REPEATED                     = 2
         SELOPT_WITHOUT_OPTIONS       = 3
         SELOPT_WITHOUT_SIGNS         = 4
         INVALID_SIGN                 = 5
         EMPTY_OPTION_LIST            = 6
         INVALID_KIND                 = 7
         REPEATED_KIND_A              = 8
         OTHERS                       = 9
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Thanks
    Mohit

  • User Authorisations in Dialog Programming.

    Hi Friends,
    I have a small requirement, I want to create user authorisations in dialog programming.
    Actually client requirement is he want to enter absence details of each and every branch.
    For that i have created a cusom table and i  also i have developed a dialog program inorder to update the details
    and to retrive all the data i have created a report program also.
    Now the client requirement is he want user authorisations while updating the data through dialog programming, that means if a user loging in that particular branch he want to enter the absence details pertaining to that branch only, when he tries to enter the details of other employee pertaining to another branch an error should be raised.
    Actually in the client place they are using authrisation object as 'Z_WERKS'.  The basis person has created this and provided for me.
    Actually i have created an Authority check in module pool program.Here iam attaching my prog,
    Pls provide me the sample code if at all available.
    *& Include ZEMPTOP                                           Module pool
    PROGRAM  ZEMP.
    TABLES : ZABS,PA0001.
    DATA : WA_PA0001 LIKE PA0001,
           V_ANS.
    DATA: BEGIN OF Z_WERKS OCCURS 0,
            PERSA LIKE T500P-PERSA,
            NAME1 LIKE T500P-NAME1,
          END OF Z_WERKS.
    *&  Include           ZEMPI01
    *&      Module  USER_COMMAND_0100  INPUT
          text
    MODULE USER_COMMAND_0100 INPUT.
    CASE SY-UCOMM.
    WHEN 'DISP'.
    SELECT SINGLE * FROM ZABS WHERE PERNR = ZABS-PERNR.
    IF SY-DBCNT <> 0.
    *MESSAGE I000(Z00) WITH 'Details of' ZABS-PERNR .
    else.
    MESSAGE I000(Z00) WITH 'No Details Available to Display'.
    ENDIF.
    WHEN 'EXIT'.
    LEAVE PROGRAM.
    WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
    LEAVE TO SCREEN 0.
    WHEN 'CLS'.
    CLEAR ZABS.
    WHEN 'INS'.
    INSERT ZABS .
    ZABS-ABWTG = ZABS-ENDDA - ZABS-BEGDA + 1.
    IF SY-DBCNT <> 0.
    MESSAGE I000(Z00) WITH 'Personnel No' ZABS-PERNR
    'inserted successfully'.
    ENDIF.
    CLEAR ZABS.
    WHEN 'MOD'.
    UPDATE ZABS.
    ZABS-ABWTG = ZABS-ENDDA - ZABS-BEGDA + 1.
    IF SY-DBCNT <> 0.
    MESSAGE I000(Z00) WITH 'Personnel No' ZABS-PERNR
    'Modified Successfully'.
    ENDIF.
    CLEAR ZABS.
    *WHEN 'DEL'.
    *CALL FUNCTION 'POPUP_TO_CONFIRM_LOSS_OF_DATA'
    EXPORTING
       TEXTLINE1           = 'ARE YOU SURE'
       TEXTLINE2           = 'YOU WANT TO DELETE'
       TITEL               = 'CONFIRMATION'
       START_COLUMN        = 25
       START_ROW           = 6
       DEFAULTOPTION       = 'N'
    IMPORTING
       ANSWER              = V_ANS.
    *IF V_ANS = 'J'.
    *DELETE ZABS.
    *IF SY-DBCNT <> 0.
    *MESSAGE I000(Z00) WITH 'Personnel No' ZABS-PERNR
    *'Deleted Successuflly'.
    *ELSE.
    *MESSAGE I000(Z00) with 'No Record to Delete'.
    ENDIF.
    *ENDIF.
    ENDCASE.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Module  GET_REC  INPUT
          text
    MODULE GET_REC INPUT.
    SELECT SINGLE * FROM PA0001 INTO WA_PA0001
             WHERE PERNR = ZABS-PERNR.
    MOVE: WA_PA0001-PERNR TO ZABS-PERNR,
          WA_PA0001-ENAME TO ZABS-ENAME,
          WA_PA0001-GSBER TO ZABS-GSBER,
          WA_PA0001-WERKS TO ZABS-WERKS.
    ZABS-ABWTG = ZABS-ENDDA - ZABS-BEGDA + 1.
    ENDMODULE.                 " GET_REC  INPUT
    *&      Module  CHECK_AUTH_WERKS  INPUT
          text
    MODULE CHECK_AUTH_WERKS INPUT.
    *SELECT PERSA INTO TABLE _WERKS FROM T500P
            WHERE  PERSA = ZABS-WERKS.
    AUTHORITY-CHECK OBJECT 'Z_WERKS'
    ID 'PERSA' FIELD Z_WERKS-PERSA.

    You need to test the sy-subrc after the authority check - that will indicate whether the user has the authorisation or not.. you also often include the activity being tested e.g. generally 03 = Display, 02 = Update etc
    AUTHORITY-CHECK OBJECT 'S_TRVL_BKS'
      ID 'ACTVT'    FIELD '03'
      ID 'CUSTTYPE' FIELD 'B'.
    IF not SY-SUBRC is initial.
      MESSAGE E...   "put your exception here...
    ENDIF.
    see [Programming Authorization Checks  |http://help.sap.com/saphelp_nw04/helpdata/en/52/6712ac439b11d1896f0000e8322d00/content.htm] for more info.
    Jonathan

  • Dialog programming (non-web based)

    We have been running SAP for a number of years and have a number of custom tables and custom ABAP report programs.  At this point we use spreadsheet uploads and sm30 to maintain our custom tables.  We are now looking at getting into Dialog programming, we will be running these dialog programs with in the SAP GUI not over the internet. 
    Most of the web sites I have found for dialog programming in ABAP are talking about Web dynpro.  Can anyone tell me if there is a difference between Web dynpro and non-web dialog programming?
    Thanks,
    Jerry

    Thanks for the replies this is what I thought. 
    It is being suggested that we can write a dialog using Web dynpro and have it display and act exactly the same over the internet and within the GUI.  So that the user experience is the same no matter which method they use.
    This sounds logical to me.
    When I read the link I clicked on the dynpro link and then went to up 2 levels to the u2018SAP GUI Technologyu2019 page and found the following:
    Although screen programming permits, in principle, the use of the model-view-controller approach, this is not explicitly supported by the Framework or the existing tools. There is therefore a significant mixing of presentation and application logic within a program in most screen-based applications. To achieve better maintainability, you should therefore structure the user interfaces of new ABAP-based applications with  Web << OLE Object: Picture (Metafile) >> Dynpro ABAP, even if no use of the Internet is currently intended.
    This would imply that that using web dynpro you can create a dialog that looks and acts the same over the internet and within the GUI.
    We found a Blog with the title Web Dynpro: Running Web Dynpro Applications over SAPGUI that makes reference to the function module WDY_EXECUTE_IN_PLACE, with a parameter INTERNALMODE = u2018Xu2019 that will allow the screen to be displayed in the SAP GUI.
    Then I was directed to SAP NOTE 1098009 which says:
    · No SAP GUI support
    The use of Web Dynpro ABAP applications inside SAP GUI is not supported due to technical restrictions which may inhibit the correct behavior of applications under some circumstances.
    · No support for SAP GUI dynpros
    Note that in an input help which is called by Web Dynpro ABAP classic SAP GUI based dynpros are not supported. From NetWeaver 7.0 SP12 onwards there is no longer a program dump, but a message is displayed accordingly, so that the application can be continued.
    There seems to be conflicting information out there.  Does anyone have any experience with this?  Can you please point me to some documentation that will explain if this is possible or not.
    Thanks,
    Jerry

  • I have a 3 year old MacBook Pro with MAC OSX 10.6.8, iPhoto '09 version 8.1.2 and have downloaded two software programs: one is Aperture 3.2 and the other is Photoshop Elements 9 (which I got from a friend who didn't need it). I am totally happy with the

    I have a 3 year old MacBook Pro with MAC OSX 10.6.8, iPhoto ’09 version 8.1.2 and have downloaded two software programs: one is Aperture 3.2 and the other is Photoshop Elements 9 (which I got from a friend who didn’t need it).
    I am totally happy with the way iPhoto organizes my photos and how I can work with iMovie to create slide shows with music from iTunes, etc.
    I have been shooting mostly high resolution jpegs and I continue to learn more and more about photography, post processing etc. I realize that the small adjustments I can make in iPhoto are good, and are adequate most of the time. However, a have started to experiment with shooting RAW images and would like to go the next step, ie. post processing.I am totally technically challenged and need SIMPLE, INTUITIVE programs and am certainly NOT anywhere ready for Photoshop CS whatever!
    After having these programs sit on my computer, I decided to try to see if I could figure them out. When I opened Aperture, this is what first comes up.
    “Welcome to Aperture 3.2
    Your library needs to be upgraded to work with this version of Aperture. Once upgraded, you will not be able to use this library with previous versions of Aperture.
    Upgrading a library from previous versions of Aperture 3 generally takes a few minutes or less, though larger libraries will take longer. After that, Aperture 3.2 will upgrade your library's thumbnails, but you can use the application during that time.
    Tip: To open a different library, quit Aperture and hold the Option key down while starting Aperture
    Current Library Location:
    Jadzia (home)   -----Pictures------Aperture Library
                                                      QUIT             UPGRADE”
    I have heard horror stories  about moving your entire library to Aperture, ending up with 2 libraries, etc. etc. hence my previous reluctance in attempting Aperture. In addition, many of my photography friends are saying: Go with Lightroom 3.....you’ll love it!
    So here is my dilemma.  I don’t want to mess around with my iPhoto library. All I want to be able to do, is to isolate a few photos, export them to Aperture, Elements, and work on them there, then bring them back into iPhoto.
    Can I do this? Should I forget about Aperture and Elements and look at purchasing yet another program like Lightroom?

    Export those few photos via the File ➙ Export ➙ File Export menu option with Kind = Original to the Desktop.  Then import them into the Aperture library. That would keep one copy in your iPhoto library and another in your Aperture library to edit, etc.
    You can use Photoshop Elements 9 from within iPhoto as your editor of choice. However, if you edit a raw file in iPhoto with PSE9 the resulting edited version must be saved outside the iPhoto Library and imported back in as a new file.  For editing jpegs just do a Save (not a Save As) and it all will be kept within iPhoto. 
    Using Photoshop or Photoshop Elements as Your Editor of Choice in iPhoto.
    1 - select Photoshop or Photoshop Elememts as your editor of choice in iPhoto's General Preference Section's under the "Edit photo:" menu.
    2 - double click on the thumbnail in iPhoto to open it in Photoshop.  When you're finished editing click on the Save button. If you immediately get the JPEG Options window make your selection (Baseline standard seems to be the most compatible jpeg format) and click on the OK button. Your done. 
    3 - however, if you get the navigation window
    that indicates that  PS wants to save it as a PS formatted file.  You'll need to either select JPEG from the menu and save (top image) or click on the desktop in the Navigation window (bottom image) and save it to the desktop for importing as a new photo.
    This method will let iPhoto know that the photo has been editied and will update the thumbnail file to reflect the edit..
    NOTE: With Photoshop Elements  the Saving File preferences should be configured as shown:
    I also suggest the Maximize PSD File Compatabilty be set to Always.  In PSE’s General preference pane set the Color Picker to Apple as shown:
    Note:  to switch between iPhoto and PS or PSE as the editor of choice Control (right)-click on the thumbnail and select either Edit in iPhoto or Edit in External Editor from the contextual menu. If you use iPhoto to edit more than PSE re-select iPhoto in the iPhoto General preference pane. Then iPhoto will be the default editor and you can use the contextual menu to select PSE for your editor when desired.
    OT

  • Dialog programs have which naming convention?

    Dialog programs have which naming convention?
    a) ZPBOxxx
    b) SAPMZxxx
    c) ZDIAxxx
    d) ZPAIxxx
    e) Zxxx

    b) SAPMZxxx
    Dialog program's name start with SAPMZ and the report's name with Z.

  • Hello friends , I have started with writing  c code on mac using xcode .....but one of my friend told me to use gcc for coding. He started with terminal And used a text editor to compil the c program on his mac.. So please tell me how to do the same

    Hello friends , I have started with writing  c code on mac using xcode .....but one of my friend told me to use gcc for coding. He started with terminal And used a text editor to compil the c program on his mac.. So please tell me how to do the same and is there any pre stalled text editor on mac if yes then where and if no then which text editor to install and how to install gcc...please help me out thanks in advance !!!

    I have started with writing  c code on mac using xcode .....but one of my friend told me to use gcc for coding.
    Why? If you are developing and writing code on a Mac why would you not use the tools Apple has given you? And Xcode, once you get use to it, is a very nice development environment that will make you life a whole lot easier.
    If you insist on using an editor and the terminal I would recommend  Emacs   but it has a long learning curve so  something like TextWrangler  will work too.
    As for the compiler if you have Xcode installed install the command line tools and you will be able to compile from the terminal.
    good luck

  • Select option in Dialog program screen

    Hi friends,
    do we have any way to get a select option displayed in dialog programming ?
    or
    create a screen field with the properties of a select option in dialog screen ?
    or
    any standard function module to support this scenario ?
    Thanks and Regards
    Sakthi.

    Hi,
    i don't know you checked it or not, but i am able to do it, i send the screen shot also to you check it..
    it is possible,with some coding also  check it once...
    REPORT  ZTEST_SCREEN                            .
    DATA : BEGIN OF IT_DYNPFIELDS OCCURS 3.
            INCLUDE STRUCTURE DYNPREAD.
    DATA : END OF IT_DYNPFIELDS.
    DATA: TEST(10) TYPE C.
    RANGES:  R_UNAME FOR SY-UNAME.
    DATA:     V_USERNAME LIKE  SY-UNAME.
    DATA : V_PROG LIKE D020S-PROG VALUE 'ZTEST_SCREEN',
           V_DNUM LIKE D020S-DNUM VALUE '0100'.
    CALL SCREEN 100.
    *&      Module  STATUS_0100  OUTPUT
    *       text
    MODULE STATUS_0100 OUTPUT.
      SET PF-STATUS 'TEST'.
    *  SET TITLEBAR 'xxx'.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
    *       text
    MODULE USER_COMMAND_0100 INPUT.
      CASE SY-UCOMM.
        WHEN 'BACK'.
          LEAVE TO SCREEN 0.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Module  GET_CURSOR_USERNAME  INPUT
    *       text
    MODULE GET_CURSOR_USERNAME INPUT.
      REFRESH IT_DYNPFIELDS.
      CLEAR   IT_DYNPFIELDS.
      MOVE 'V_USERNAME' TO IT_DYNPFIELDS-FIELDNAME.
      APPEND IT_DYNPFIELDS.
      CLEAR   IT_DYNPFIELDS.
      CALL FUNCTION 'DYNP_VALUES_READ'
        EXPORTING
          DYNAME               = V_PROG
          DYNUMB               = V_DNUM
          TRANSLATE_TO_UPPER   = 'X'
        TABLES
          DYNPFIELDS           = IT_DYNPFIELDS
        EXCEPTIONS
          INVALID_ABAPWORKAREA = 1
          INVALID_DYNPROFIELD  = 2
          INVALID_DYNPRONAME   = 3
          INVALID_DYNPRONUMMER = 4
          INVALID_REQUEST      = 5
          NO_FIELDDESCRIPTION  = 6
          INVALID_PARAMETER    = 7
          UNDEFIND_ERROR       = 8
          DOUBLE_CONVERSION    = 9
          STEPL_NOT_FOUND      = 10
          OTHERS               = 11.
      IF SY-SUBRC = 0.
        READ TABLE IT_DYNPFIELDS WITH KEY FIELDNAME = 'V_USERNAME'.
        IF SY-SUBRC = 0.
          V_USERNAME = IT_DYNPFIELDS-FIELDVALUE.
        ENDIF.
      ENDIF.
      PERFORM GET_MULTIPLE.
    ENDMODULE.                 " GET_CURSOR_USERNAME  INPUT
    *&      Form  GET_MULTIPLE
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM GET_MULTIPLE .
    * Dynamically holding Field name
      FIELD-SYMBOLS: <FST> TYPE STANDARD TABLE.
      IF  R_UNAME[] IS INITIAL.
        IF NOT V_USERNAME IS INITIAL.
          R_UNAME-SIGN = 'I'.
          R_UNAME-OPTION = 'EQ'.
          R_UNAME-LOW = V_USERNAME.
          APPEND R_UNAME.
          CLEAR  R_UNAME.
        ENDIF.
      ENDIF.
      ASSIGN R_UNAME[] TO <FST>.
      CALL FUNCTION 'COMPLEX_SELECTIONS_DIALOG'
        EXPORTING
          TITLE             = 'Select Multiple Value'(059)
          TEXT              = 'Finish Group'(058)
          SIGNED            = 'X'
          LOWER_CASE        = ' '
          NO_INTERVAL_CHECK = 'X'
          JUST_DISPLAY      = ' '
          JUST_INCL         = 'X'
        TABLES
          RANGE             = <FST>
        EXCEPTIONS
          NO_RANGE_TAB      = 1
          CANCELLED         = 2
          INTERNAL_ERROR    = 3
          OTHERS            = 4.
      IF SY-SUBRC = 0.
        READ TABLE R_UNAME INDEX 1.
        IF SY-SUBRC = 0.
          V_USERNAME = R_UNAME-LOW.
        ENDIF.
      ENDIF.
    ENDFORM.                    " GET_MULTIPLE
    Flow loogic....
    PROCESS BEFORE OUTPUT.
    MODULE STATUS_0100.
    PROCESS AFTER INPUT.
    MODULE USER_COMMAND_0100.
    PROCESS ON VALUE-REQUEST.
    *- To capture the cursor and for f4
      FIELD V_USERNAME      MODULE GET_CURSOR_USERNAME.
    in screen i have one field v_username
    for that field do this
    <b>double click on field which you want to make it as select option, it will display the attributes screen, in that click on program attributes button , now go to poss. entries in the dropdown choose 1 show at selection.</b>
    Regards
    vijay

  • What is the use of GUI status in Dialog programming

    what is the use of GUI status in Dialog programming,, how can it be used there,, as screen are alredy defined..

    Hi,
    The use of GUI Status is that when we have to change some thing in Menu Bar, Toolbar and Function Keys. Say For Example we have to create any Custom Button in the application toolbar etc.
    It can be used in Dialog Programming via defining the Status in the PBO module of the screen.
    eq. created a screen 9000
              on clicking it->
                                   PROCESS BEFORE OUTPUT.
                                             MODULE status_9000.
    On double clicking on this "Module status_9000" - you can write "SET PF-STATUS 'STATUS_9000'".
    Now u can create GUI staus with name "'STATUS_9000'".
    Let me know in case you have any further doubts.
    Thanks

  • Basic Dialog Programming

    Hello Everybody and  hello World.
    I would like to know how to do a basic dialog programming..
    Can anyone help me?Please....
    give me some advice....Im very eager to learn that dialog programming
    Thanks in advance
    aVaDuDz

    hi
    INTRODUCTION TO DIALOG PROGRAMMING
    OVERVIEW
    There are programs in every domain that require certain amount of user interaction .Such requirements in ABAP are fulfilled with the help of a user dialog and dialog programming which encapsulates the entire logic pertaining to the required user dialog.
    One needs to take care that user interactions with the system are comfortable and user friendly along with being logically coherent.
    <u><i><b>
    What is a user dialog?</b></i></u>
    Any kind of user interaction with the system can be called as a user dialog:
    1)     Entering data on the screen.
    2)     Clicking a button.
    3)     Navigation between screens.
    <u><i><b>Need of dialog programming</b></i></u>
    In a typical dialog, the system displays a screen on which the user can enter or request information. As a reaction on the user input or request, the program executes the appropriate actions: it branches to the next screen, displays an output, or changes the database.
    Example
    A travel agent wants to book a flight. The agent enters the corresponding data on the screen. The system either confirms the desired request, that is, the agent can book the flight and the customer travels on the desired day on the reserved seat to the chosen destination, or the system displays the information that the flight is already booked up.
    To fulfill such requirements, a dialog program must offer:
    • A user-friendly user interface
    • Format and consistency checks for the data entered by the user
    • Easy correction of input errors
    • Access to data by storing it in the database.
    ABAP/4 offers a variety of tools and language elements to meet the requirements stated above in the dialog programs.
    <u><i><b>Why dialog programming is also known as module pool?</b></i></u>
    Dialog Programming consists of screens and corresponding ABAP program. Screens call dialog modules in the associated ABAP program from their flow logic. Type M programs serve principally as containers for these dialog modules, and hence dialog programming is also known as module pools. A module pool program is a program type which is not executable directly. You can not just run by hitting F8 like a report program. You must tie a transaction code to a screen in order to start the program.
    VARIOUS COMPONENTS OF A DIALOG PROGRAM
    Unlike report, interface or any conversion development which generally entails the creation of one autonomous program which can be executed independently of other objects, dialog program development entails development of multiple objects none of which can be executed on its own. Instead all objects are linked hierarchically to the main program and are executed in a sequence dictated by the Dialog Main Program.
    Components of a dialog program
    1)     Transaction
    2)     Screen
    3)     GUI status
    4)     ABAP program
    All these components are explained in detail below.
    1)     TRANSACTION  :
    The transaction starts a screen sequence. You create transaction codes in the Repository   Browser in the ABAP Workbench or using Transaction SE93. A transaction code is linked to an ABAP program and an initial screen. As well as using a transaction code, you can start a screen sequence from any ABAP program using the CALL SCREEN statement.
    2) SCREEN
    As a user of an R/3 system, one is always confronted with screens. From the moment one logs on, one can see a screen and one must perform actions on this screen. All those screens are components of ABAP programs. Generally, we define the screens of an ABAP program with the Screen Painter tool of the ABAP.
    In the R/3 system, screens are program objects that consist of two parts. First, they have a layout that defines the front end appearance of the window that is presented to the user. Second, they have a flow logic that is executed on the backend by the application server. The screen flow logic is a program layer between the front end and the actual ABAP application program at the backend. The language used to program screen flow logic has a similar syntax to ABAP, but is not part of ABAP itself. Unlike ABAP programs, the screen flow logic contains no explicit data declarations. You define the screen fields by placing elements on the screen mask instead. When you define screen fields by referring to data types in the ABAP Dictionary, the runtime environment automatically creates dialogs for field help, input help, and error handling that depends on the semantics of the data type in the dictionary.
    The screen flow logic is similar to an ABAP program in that it contains processing blocks. These processing blocks are event blocks that are triggered by the ABAP runtime environment. The most important event blocks are:
    • PROCESS BEFORE OUTPUT
    The respective event (PBO) is triggered after the PROCESS AFTER INPUT (PAI) processing of the previous screen and before the current screen is displayed.
    • PROCESS AFTER INPUT
    The respective event (PAI) is triggered when the user chooses a function on the current screen.
    • PROCESS ON HELP REQUEST
    This event is triggered when function key F1 is pressed.
    • PROCESS ON VALUE REQUEST
    This event is triggered when function key F4 is pressed.
    The main task of these processing blocks is to call ABAP dialog modules using the MODULE statement. During the PBO event, you can call any dialog module in the ABAP program that is marked with the addition OUTPUT. In the PAI event, you can call any dialog module program that is marked with the addition INPUT. The screens of an ABAP program can share the dialog modules of that program. You use the dialog modules called during PBO to prepare the screen and the dialog modules called during PAI to react to the user input.
    Each screen of an ABAP program has a unique screen number. The screens of an ABAP program can be combined to form screen sequences. Screen sequences are either built statically by setting the following screen in the Screen Painter or dynamically by overriding the static setting in the ABAP program. The last screen of a screen sequence is always the one where the following screen is set to zero.
    HANDLING USER INTERACTIONS
    A user can interact in various ways with screens. We distinguish between actions that trigger PAI and those that don’t. In general, filling input fields with values does not trigger PAI.
    Actions that do trigger PAI include:
    • Choosing a pushbutton on the screen.
    • Choosing a specially prepared check box or radio button on the screen.
    • Choosing a function in the menu, standard toolbar, or application toolbar.
    • Choosing a function key on the keyboard.
    ATTRIBUTES OF SCREEN
    Like all objects in the R/3 Repository, screens have attributes that both describe them and determine how they behave at runtime. Important screen attributes for ABAP programming:
    •     Program
    The name of the ABAP program (type 1, M, or F) to which the screen belongs.
    •     Screen number
    A four-digit number, unique within the ABAP program that identifies the screen within the program. If your program contains selection screens, remember that selection screens and Screen Painter screens use the same namespace. For example, if you have a program with a standard selection screen, you may not contain any further screens with the number 1000. Lists, on the other hand, have their own namespace.
    •     Screen type
    A normal screen occupies a whole GUI window. Modal dialog boxes only cover a part of a GUI window. Their interface elements are also arranged differently. Selection screens are generated automatically from the definition in the ABAP program. You may not define them using the Screen Painter. A subscreen is a screen that you can display in a subscreen area on a different screen in the same ABAP program.
    •     Next screen
    Statically-defined screen number, specifying the next screen in the sequence. If you enter zero or leave the field blank, you define the current screen as the last in the chain. If the next screen is the same as the current screen, the screen will keep on calling itself. You can override the statically-defined next screen in the ABAP program.
    •     Cursor position
    Static definition of the screen element on which the cursor is positioned when the screen is displayed. By default, the cursor appears on the first input field. You can overwrite the static cursor position dynamically in your ABAP program by using SET CURSOR FIELD <f>
    •     Screen group
    Four-character ID, placed in the system field SY-DYNGR while the screen is being processed. This allows you to assign several screens to a common screen group. You can use this, for example, to modify all of the screens in the group in a uniform way. Screen groups are stored in table TFAWT.
    •     Hold data
    If the user calls the screen more than once during a terminal session, he or she can retain changed data as default values by choosing System -> User profile -> Hold data.
    VARIOUS SCREEN ELEMENTS
    A screen can contain a wide variety of elements, either for displaying field contents, or for allowing the user to interact with the program (for example, filling out input fields or choosing pushbutton functions). We use the Screen Painter to arrange elements on the screen.
    We can use the following elements:
    •     Text fields
    Display elements, which cannot be changed either by the user or by the ABAP program.
    •     Input/output fields and templates
    Used to display data from the ABAP program or for entering data on the screen. Linked to screen fields.
    •     Dropdown list boxes
    Special input/output fields that allow users to choose one entry from a fixed list of possible entries.
    •      Checkbox elements
    Special input/output fields that the user can either select (value ‘X’) or deselect (value SPACE). Checkbox elements can be linked with function codes.
    •     Radio button elements
    Special input/output fields that are combined into groups. Within a radio button group, only a single button can be selected at any one time. When the user selects one button, all of the others are automatically deselected. Radio button elements can be linked with function codes.
    •     Pushbuttons
    Elements on the screen that trigger the PAI event of the screen flow logic when chosen by the user. There is a function code attached to each pushbutton, which is passed to the ABAP program when it is chosen.
    •     Frame
    Pure display elements that group together elements on the screen, such as radio button groups.
    •     Subscreens
    Area on the screen in which you can place another screen.
    •     Table controls
    Tabular input/output fields.
    •     Tab strip controls
    Areas on the screen in which you can switch between various pages.
    •     Custom Controls
    Areas on the screen in which you can display controls. Controls are software components of the presentation server.
    •     Status icons
    Display elements, indicating the status of the application program.
    •     OK field
    Every screen has a twenty-character OK_CODE field (also known as the function code field) that is not displayed directly on the screen. User actions that trigger the PAI event also place the corresponding function code into this field, from where it is passed to the ABAP program. You can also use the command field in the standard toolbar to enter the OK field. To be able to use the OK field, you need to assign a name to it.
    All screen elements have a set of attributes, some of which are set automatically, others of which have to be specified in the Screen Painter. They determine things such as the layout of the screen elements on the screen. You can set the attributes of screen elements in the Screen Painter - either for a single element, or using the element list, which lists all of the elements belonging to the current screen. Some of the attributes that you set statically in the Screen Painter can be overwritten dynamically in the ABAP program.
         3) GUI STATUS
    Each screen has a GUI status. This controls the menu bars, standard toolbar, and application toolbar, with which the user can choose functions in the application. Like screens, GUI statuses are independent components of an ABAP program. You create them in the ABAP Workbench using the Menu Painter.
    4) PROGRAM
    Each dynpro refers to exactly one ABAP/4 dialog program. Such a dialog program is also called a module pool, since it consists of interactive modules. Each screen and GUI status in the R/3 System belongs to one ABAP program. The ABAP program contains the dialog modules that are called by the screen flow logic, and also process the user input from the GUI status. ABAP programs that use screens are also known as dialog programs.
    In a module pool (type M program); the first processing block to be called is always a dialog module. However, you can also use screens in other ABAP programs, such as executable programs or function modules. The first processing block is then called differently; for example, by the runtime environment or a procedure call. The screen sequence is then started using the CALL SCREEN statement.
    DATA TRANSFER BETWEEN SCREEN AND ABAP PROGRAM
    During PAI, the system automatically transports all screen fields to identically named global ABAP program fields. At the end of the last PBO module, and before the screen is displayed, all of the data is transported from the ABAP program to any identically named fields in the screen. By standard, all screen data is transported immediately before PAI processing starts. But for the dedicated handling of screen fields — for example, to carry out an error dialog — you can control the moment at which data is passed from screen fields to their corresponding ABAP fields by using the FIELD statement in the screen flow logic.
    regards
    navjot
    reward points if helpfull

  • Re:dialog programming

    Hi Friends,
                         Iam new to dialog programming
    i have created one table  zsd1-----there are 10 fields in it,
    field1 -
    enter some value
    field2-----enter some value
    field3----if value is y then
    field4---- enable this field for entering otherwise no
    after i enter it should update in the database and from tht database it should display on the table control.
    if i modify any column in the table control and press modify button it should get modified in the database
            does any one have some sample codes

    HI,
    Use the Table control with Wizard option to create the table control.
    This will generate most of the code.
    Then you just need to add buttons to handle INSERT, UPDATE.
    And then process these in a PAI module and use INSERT MODIFY or UPDATE database statements for updating the table.
    Regards,
    Sesh

Maybe you are looking for

  • Report designer is not coming up

    Hi all, We have BI dual stack and we trying to activate Bex front end , i am able to execute Query designer but when i am opening report designer and trying to load any infocube i am getting Run time Java :.SS0 error. SSO is configured and betweeb Ja

  • Ipod not working after Europe trip

    I have a 20GB Ipod with click wheel, purchased in March 2005. I spent two months in Germany this summer. During that time I charged my Ipod several times using a plug adapter. I know that a voltage converter is not needed for the Ipod, as the charger

  • 11.2.0.1 :ORA-01031: insufficient privileges / as sysdba

    Hi All, I installed 11.2.0.1 $ORACLE_HOME in process of performing database upgrade in 11i applications environment. Installation went successfully, while installing i have to select group name as "other" as it was not listing the dba group in instal

  • How often a query is called

    Dear Gents I am using BI 7.0 and the key figure 0tctstauik "frequency" does no longer exist for the new BI and the old statistical tables are no longer filled. I need to design a report that ranks the top 10 executed queries. This used to be a very s

  • Sending Data to BAM via web service

    Is it possible to send data to BAM data objects via web service / http soap ? I know we can call extenal web service from BAM, but I was thinking of doing a real time from source application to BAM via http-soap web service.