Dialog  programing

Hi
In dialog programming if i enter the vendor code and press enter then it should automatically display the vendor name. how to do this.
Thanks,
Madhu

Hi madhu,
Here i given the dialog programming for displaying material information
In first screen i took Material__________________
after entering material no. over there
go for display push button
where it will display data's of
                    Material type_________
                    Industry sector__________
                    Base unit ___________
to check this one just copy this codings into ur program
and dont forget to create transaction to execute this dialog program.
Like this Dialog Program u go for vendor name to display..
*& Module pool       ZDIALOG_TEST
PROGRAM  ZDIALOG_TEST.
TABLES : MARA.
DATA : OK_CODE LIKE SY-UCOMM.
DATA : OK_CODE_2000 LIKE SY-UCOMM.
DATA : MATNR LIKE MARA-MATNR,
        MTART LIKE MARA-MTART,
        MEINS LIKE MARA-MEINS,
        MBRSH LIKE MARA-MBRSH.
*&      Module  STATUS_1000  OUTPUT
      text
module STATUS_1000 output.
  SET PF-STATUS 'PF_1000'.
  SET TITLEBAR 'TITLE_1000'.
endmodule.                 " STATUS_1000  OUTPUT
*&      Module  USER_COMMAND_1000  INPUT
      text
module USER_COMMAND_1000 input.
IF MARA-MATNR NE ''.
IF OK_CODE = 'DISPLAY'.
SELECT SINGLE MATNR MTART MEINS MBRSH FROM MARA
INTO (MATNR,MTART,MEINS,MBRSH) WHERE
MATNR = MARA-MATNR.
IF SY-SUBRC EQ 0.
MARA-MATNR = MATNR.
MARA-MTART = MTART.
MARA-MEINS = MEINS.
MARA-MBRSH = MBRSH.
CALL SCREEN 2000.
ENDIF.
ENDIF.
ENDIF.
CASE OK_CODE.
WHEN 'BACK'.
LEAVE PROGRAM.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
endmodule.                 " USER_COMMAND_1000  INPUT
*&      Module  STATUS_2000  OUTPUT
      text
module STATUS_2000 output.
  SET PF-STATUS 'PF_2000'.
  SET TITLEBAR 'TITLE_2000'.
endmodule.                 " STATUS_2000  OUTPUT
*&      Module  USER_COMMAND_2000  INPUT
      text
module USER_COMMAND_2000 input.
CASE OK_CODE_2000.
WHEN 'BACK'.
LEAVE TO SCREEN 1000.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
endmodule.                 " USER_COMMAND_2000  INPUT
Reward points if this is useful to u,
Best Wishes
Regards
Guna.,

Similar Messages

  • What is difference between report programming and dialog programming?

    hi,
    what is difference between report programming and dialog programming? plz provide some example code
    bye

    ABAP programming
    Basically reports are used to read database and represent the results in lists.
    Reports are collections of processing blocks that the system calls depending on events.
    We can use reports to evaluate data from database tables.
    Reports are stand alone programs and controlled by events.
    A report itself never creates events
    steps in report:
    Processing the selection screen
    Reading the database
    Evaluating the data and creating lists
    Outputting a list.
    1st u write simple logics, after that u can enhance the code as step by step.
    http://venus.imp.mx/hilario/Libros/TeachYrslfAbap4/index.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/d1/802cfc454211d189710000e8322d00/frameset.htm
    http://www.sapdev.co.uk/reporting/reportinghome.htm
    Dialog Programming
    Structure of a Dialog Program
    A dialog program consists of the following basic components:
    Screens (dynpros)
    Each dialog in an SAP system is controlled by dynpros. A dynpro (DYnamic PROgram) consists of a screen and its flow logic and controls exactly one dialog step. The flow logic determines which processing takes place before displaying the screen (PBO-Process Before Output) and after receiving the entries the user made on the screen (PAI-Process After Input).
    The screen layout fixed in the Screen Painter determines the positions of input/output fields, text fields, and graphical elements such as radio buttons and checkboxes. In addition, the Menu Painter allows to store menus, icons, pushbuttons, and function keys in one or more GUI statuses. Dynpros and GUI statuses refer to the ABAP/4 program that control the sequence of the dynpros and GUI statuses at runtime.
    ABAP/4 module pool
    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. The flow logic of a dynpro contains calls of modules from the corresponding module pool. Interactive modules called at the PBO event are used to prepare the screen template in accordance to the context, for example by setting field contents or by suppressing fields from the display that are not needed. Interactive modules called at the PAI event are used to check the user input and to trigger appropriate dialog steps, such as the update task.
    All dynpros to be called from within one transaction refer to a common module pool. The dynpros of a module pool are numbered. By default, the system stores for each dynpro the dynpro to be displayed next. This dynpro sequence or chain can be linear as well as cyclic. From within a dynpro chain, you can even call another dynpro chain and, after processing it, return to the original chain.
    Check this link for basics.
    http://sap.mis.cmich.edu/sap-abap/abap09/index.htm
    Check this link for Dialog Programming/Table Control
    http://www.planetsap.com/Tips_and_Tricks.htm#dialog
    Check this SAP Help for Dialog Program doc.
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9cdc35c111d1829f0000e829fbfe/content.htm
    Check this SAP Help link for Subscreens.
    http://help.sap.com/saphelp_nw70/helpdata/en/9f/dbabfe35c111d1829f0000e829fbfe/content.htm
    Check this link for subscreen demo program.
    http://abapcode.blogspot.com/2007/05/demo-program-to-create-subscreen-in.html
    Also check this link too.
    http://abapcode.blogspot.com/2007/06/dialog-programming-faq.html
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9cdc35c111d1829f0000e829fbfe/frameset.htm
    http://sap.mis.cmich.edu/sap-abap/abap09/sld004.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/52/670ba2439b11d1896f0000e8322d00/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/52/670c17439b11d1896f0000e8322d00/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/52/670c17439b11d1896f0000e8322d00/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9ccf35c111d1829f0000e829fbfe/frameset.htm
    http://abapprogramming.blogspot.com/

  • Dialog programming, data being washed out in TAB Control

    Hi,
         i am working on dialog programming , in which i am using Table Control  for user input (data is not coming from database table) . everything is going well till assignment of data to internal table but when
    control goes to PBO by any means like pressing ENTER etc. then data being washed out.
    PROCESS BEFORE OUTPUT.
      MODULE TC_CONTROL.
      LOOP AT it_data
             INTO wa_data
             WITH CONTROL tc_control
             CURSOR tc_control-current_line.
        MODULE tc_control_get_lines.
      ENDLOOP.
    PROCESS AFTER INPUT.
    LOOP AT IT_DATA.
        CHAIN.
          FIELD WA_DATA-FREPS_N.
          FIELD wa_data-TOEPS_N.
          FIELD wa_data-PRCH_A.
          FIELD wa_data-SRVC_AMT .
          FIELD wa_data-ACCNT_C.
          FIELD wa_data-AMT_D.
          FIELD wa_data-NARR_X.
          FIELD wa_data-CRPRD_N.
          MODULE tc_control_modify ON CHAIN-REQUEST.
        ENDCHAIN.
      ENDLOOP.
    *Abap program
    MODULE TC_CONTROL OUTPUT.
    DESCRIBE TABLE it_data LINES tc_control-lines.
    ENDMODULE.                 " TC_CONTROL  OUTPUT
    CONTROLS: TC_CONTROL TYPE TABLEVIEW USING SCREEN 1000,
              TC_CONTROL1 TYPE TABLEVIEW USING SCREEN 1000.
    DATA:     G_TC_CONTROLS_LINES  LIKE SY-LOOPC,
              G_TC_CONTROLS_LINES1  LIKE SY-LOOPC.
    *&      Module  tc_control_get_lines  OUTPUT
          text
    MODULE tc_control_get_lines OUTPUT.
    g_tc_controls_lines = sy-loopc.
    move-corresponding it_data to wa_data.
    ENDMODULE.                 " tc_control_get_lines  OUTPUT
    MODULE tc_control_modify INPUT.
    move-corresponding wa_data to it_data.
    MODIFY it_data
        FROM wa_data
        INDEX tc_control-current_line.
    append it_data.
    clear it_data.
    ENDMODULE.                 " tc_control_modify  INPUT
    Please suggest me any clue.
    Thanks in advance
    vijay dwivedi

    Hi ,
    I have understood the problem.
    In your ABAP code replace all the occurrrences of wa_data  with the structurename.
    Use the TABLES keyword to declare the structure .That structure will be same as
    reference table of the table control .
    Here the structure is SPFLI.
    Check the bellow code , it will resolve the issue.
    ABAP code - -
    program  zsdn.
    tables spfli.  " Declare the structure
    data : it_data like table of spfli with header line,
    *wa_data TYPE spfli,  " commented
    w_i type i.
    *CONTROLS TC_CONTROL TYPE TABLEVIEW USING SCREEN 100.
    controls: tc_control type tableview using screen 1000,
    tc_control1 type tableview using screen 1000.
    data: g_tc_controls_lines like sy-loopc,
    g_tc_controls_lines1 like sy-loopc.
    module tc_control output.
      describe table it_data lines tc_control-lines.
    endmodule. " TC_CONTROL OUTPUT
    module tc_control_get_lines output.
      g_tc_controls_lines = sy-loopc.
      move-corresponding it_data to spfli.
    endmodule. " tc_control_get_lines OUTPUT
    module tc_control_modify input.
      move-corresponding spfli to it_data.
      modify it_data
      from spfli
      index tc_control-current_line.
      append it_data.
      clear it_data.
    endmodule. " tc_control_modify INPUT
    module status_0100 output.
      set pf-status 'STAT'.
    *  SET TITLEBAR 'xxx'.
    endmodule.                 " STATUS_0100  OUTPUT
    module user_command_0100 input.
      case sy-ucomm.
        when 'BACK' or 'EXIT' or 'CANCEL'.
          leave to screen 0.
      endcase.
    endmodule.                 " USER_COMMAND_0100  INPUT
    *&      Module  POPLATE_TABLE  OUTPUT
    *       text
    module poplate_table output.
      if it_data is initial.
        select * from spfli into table it_data.
      endif.
    endmodule.                 " POPLATE_TABLE  OUTPUT
    Screen code (Scr no 1000) - -
    PROCESS BEFORE OUTPUT.
      MODULE status_0100.
      MODULE poplate_table.
      MODULE tc_control.
      LOOP AT it_data WITH CONTROL tc_control CURSOR w_i.
        MODULE tc_control_get_lines.
      ENDLOOP.
    PROCESS AFTER INPUT.
      MODULE user_command_0100.
      LOOP AT it_data.
        MODULE tc_control_modify ON CHAIN-REQUEST.
    *    ENDCHAIN.
      ENDLOOP.
    Regards
    Pinaki

  • How to call a dialog program with return value in another dialog program

    Dear All,
    How can I call a dialog program with return value from another dialog program?
    Regards,
    Alok.

    Hi Alok,
    You can you SET/GET parameters to do this.
    This is some information about this.
    To fill the input fields of a called transaction with data from the calling program, you can use the SPA/GPA technique. SPA/GPA parameters are values that the system stores in the global, user-specific SAP memory. SAP memory allows you to pass values between programs. A user can access the values stored in the SAP memory during one terminal session for all parallel sessions. Each SPA/GPA parameter is identified by a 20-character code. You can maintain them in the Repository Browser in the ABAP Workbench. The values in SPA/GPA parameters are user-specific.
    ABAP programs can access the parameters using the SET PARAMETER and GET PARAMETERstatements.
    To fill one, use:
    SET PARAMETER ID pid FIELD f.
    This statement saves the contents of field f under the ID pid in the SAP memory. The ID pid can be up to 20 characters long. If there was already a value stored under pid, this statement overwrites it. If you double-click pid in the ABAP Editor, parameters that do not exist can be created as a Repository object.
    To read an SPA/GPA parameter, use:
    GET PARAMETER ID pid FIELD f.
    This statement places the value stored under the pid ID into the variable f. If the system does not find any value for pid in the SAP memory, sy-subrc is set to 4. Otherwise, it sets the value to 0.
    Thanks,
    SriRatna

  • How to call a Dialog Program from another Dialog Program

    Dear All,
    How can I call a dialog program with return value from another dialog program?
    Regards,
    Alok.

    Hi Alok,
    1. Insted of creating 2 different Dialog program. It's good to create as many screens as you want in same module pool program. Any way you can use the different TCODE for each screen.
    2. Another and The best way is to create a function group and then inside function group use the function 2 module... In the function group define a global variable which will be present for both the function group if they are getting executed in sequence. and inside the Function Module call the screens using command " call screen <screenno>".
    3. You can use set / get parameter to pass values of a field between two dynpro program.

  • Making attributes of field dynamic in dialog program in layout editor.

    hi,
    to make a field required or possible or hidden, we define its attributes in attributes in layout editor.
    is it possible to make attributes of fields that we define in layout editor dynamic ?
    if functional people want to make some field non-mandatory or mandatory then they go in configuration, and do it. so does this mean that the attributes of the fields that we define in layout editor during dialog program can be made dynamic.
    how is this possible ? because attributes are selected using dropdown, its not a code ?
    please help in solving this mystery...

    Screen Modifications --
    <u>demo_dynpro_modify_simple
    demo_dynpro_modify_screen</u>
    <b><u>Please dont forget to reward points</u></b>
    Sudheer

  • Using CheckBox / Radio-Button Control in Dialog Program

    Dear Friends,
    Please let me know the way to use check-box / radio-button control in dialog programs. Where & how to define them & write the logic.
    If possible provide a small example.
    Regards,
    Alok.

    Hi,
    goto tcode abapdocu.. abap user dialogs - screens-processing screens you will get examples for all --pushbutt6ons radiobutton checkboxes everything
    <b>here is a sample code for you</b>
    PROGRAM demo_dynpro_check_radio .
    DATA: radio1(1) TYPE c, radio2(1) TYPE c, radio3(1) TYPE c,
          field1(10) TYPE c, field2(10) TYPE c, field3(10) TYPE c,
          box TYPE c.
    DATA: ok_code TYPE sy-ucomm,
          save_ok TYPE sy-ucomm.
    CALL SCREEN 100.
    MODULE user_command_0100 INPUT.
      save_ok = ok_code.
      CLEAR ok_code.
      CASE save_ok.
        WHEN 'RADIO'.
          IF radio1 = 'X'.
            field1 = 'Selected!'.
            CLEAR: field2, field3.
          ELSEIF radio2 = 'X'.
            field2 = 'Selected!'.
            CLEAR: field1, field3.
          ELSEIF radio3 = 'X'.
            field3 = 'Selected!'.
            CLEAR: field1, field2.
          ENDIF.
        WHEN 'CANCEL'.
          LEAVE PROGRAM.
      ENDCASE.
    ENDMODULE.
    <b>flow logic:</b>
    PROCESS BEFORE OUTPUT.
    PROCESS AFTER INPUT.
      MODULE user_command_0100.
    regards,
    pankaj singh.
    <i><b>
    reward if helpful</b></i>

  • 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

  • Dynamic header text in table control - Dialog programming

    Hi All,
    I have a table control on one of my dialog screens.  I need to dynamically change the column header texts on this control in my PBO.  Does anyone know how to do this?  I have found all kinds of ways to modify the other characteristics of the fields at run time in the PBO (active, input/output, invisible, etc.) - but not to change the header text!  Any help is appreciated.
    thanks,
    Matt

    Hi Hymavathi,
    I appreciate your help!  This didn't solve the issue, however,...I have used the method you'd mentioned before (many times) for setting it inside the loop at screen:
    %_<screenname>_%_APP_%-TEXT = <text something>.
    - but only in ABAP reports.  It doesn't seem to recogize it (the table control column header text) within a dialog program.  I keep getting a compile error. (saying that the %_<screenname>_%_APP_%-TEXT doesn't exist.
    I tried the suggestion that you stated below (from lateesh) - yet it only let me place i/o field in title text area (not the column header text).  Am still searching...

  • Select-options in Dialog Programming

    Hi,
    I am designing a custom dialog programming screen.
    I want to create a filed on thescreen which can allow the range of values to be entered like select-options in a report.
    How do I create a field which can accept range of values in dialog programming?
    Thanks,
    Ashok.

    Hi,
    In your selection screen program, Use Export  command
      Export r_Purchase_Order To Memory Id 'PO'.
                 Export r_Po_Item        To Memory Id 'POITEM'.
                 Export r_Plant          To Memory Id 'PLANT'.
                 Export r_Vendor         To Memory Id 'VENDOR'.
                 Export r_Material       To Memory Id 'MATNR'.
                 Export r_Batch          To Memory Id 'BATCH'.
                 Export r_Arrival_Date   To Memory Id 'ADATE'.
                 Export r_Arrival_Time   To Memory Id 'ATIME'.
                 Export r_Delivery_No    To Memory Id 'DEL'.
                 Export r_Reference_No   To Memory Id 'REF'.
                 Export r_User           To Memory Id 'USER'.
                 Export t_Display_Data   To Memory Id 'DISPDAT'.
    In your Module pool program, Use Import Command
        When c_Ok_0100_Execute.
                   IMPORT r_Purchase_Order From Memory Id 'PO'.
                   IMPORT r_Po_Item        From Memory Id 'POITEM'.
                   Import r_Plant          From Memory Id 'PLANT'.
                   Import r_Vendor         From Memory Id 'VENDOR'.
                   Import r_Material       From Memory Id 'MATNR'.
                   Import r_Batch          From Memory Id 'BATCH'.
                   Import r_Arrival_Date   From Memory Id 'ADATE'.
                   Import r_Arrival_Time   From Memory Id 'ATIME'.
                   Import r_Delivery_No    From Memory Id 'DEL'.
                   Import r_Reference_No   From Memory Id 'REF'.
                   Import r_User           From Memory Id 'USER'.
                   Import t_Display_Data   From Memory Id 'DISPDAT'.
    Thanks

  • Select-Option in Dialog programming

    Hi Experts,
      Can we use select-options in Dialog programming?
    If yes, Please help me, how to do that?
    <REMOVED BY MODERATOR>
    Edited by: Alvaro Tejada Galindo on Jun 12, 2008 12:27 PM

    Hi Asrar,
    Definitely you can use select-options in dialog programming.
    You can do this using Subscreen.
    define this scubscreen in top include.
    selection-screen : begin of screen 100 as subscreen.
    select-option : kunnr for kna1-kunnr.
    selection-screen : end of screen 100.
    in screen 200 where this selection screen appears, create a subscreen area 'SSA'.
    Process on output. "200 screen.
    call subscreen SSA including sy-repid '100'.
    other modules
    Process on input.    "200 screen.
    call subscreen SSA.
    other modules
    now you can access kunnr like other screen 200 objects.
    <REMOVED BY MODERATOR>
    Regards
    Megha
    Edited by: Alvaro Tejada Galindo on Jun 12, 2008 12:27 PM

  • 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

  • Select-Options in dialog program

    Hi there,
    I'm using a selection-screen in a dialog program, I declared it in the TOP.
    Selection-screens
    SELECTION-SCREEN BEGIN OF SCREEN 101 AS SUBSCREEN.
    parameters: p_lifnr type lfa1-lifnr  obligatory ,
                p_werks type t001w-werks obligatory .
    SELECT-OPTIONS:
      s_licha FOR zbrtconsig-licha.
    SELECTION-SCREEN END OF SCREEN 101.
    I have to use the event at selection-screen on value-request for s_licha-low, and I need the values from the fields p_lifnr and p_werks. the problem is:
    If I only fill the fields p_lifnr, p_werks and click on F4 for s_licha, the values of p_lifnr and p_werks are not updated, they are empty. Only wether I do an Enter this fields is updated.
    Thanks,
    Alexandre Nogueira

    Hi,
    i am not clear about your problem, please expalin it clearly.
    use FM : DYNP_VALUES_UPDATE to update screen fields.
    use FM : DYNP_VALUES_READ to read screen fields.
    use SET /GET Parameter id's to set parameters
    this FM will update the screen fields before to PBO event.
    check this link for sample code :
    Re: Issue Related to Module pool
    Regards
    Appana

  • Need code for dialog program

    Hi All,
    My requirement is to create a selection screen with
    1. browse field - selection for the  files to be uploaded
    2. Checkbox - Test run the transaction without parking the entries
    3. Two push button Execute and Cancel
      Execute - to lunch the program
      Cancel - cancel the program and return to menu
    Please provive the code and procedure to create screen. i am new for dialog program.
    Thanks,
    Madhu

    Rather than waiting for someone here to write the code for you, you'd be better off looking at the examples in SAP as already mentioned and reading the SAP help at[http://help.sap.com/saphelp_47x200/helpdata/en/9f/dba66935c111d1829f0000e829fbfe/frameset.htm]

  • How to use a parameter  of a report program from selection screen in a dialog program

    how to use a parameter value(entered ) of a report program from a selection screen in a dialog program.
    I have to fetch the value entered in the parameter of report program and display it in a dialog program

    Hi Aasim,
    Just mention like below in your ABAP report.
       PARAMETERS: p_aufnr TYPE aufnr MEMORY ID ord.
    and mention the same memory ID name in the module pool screen property it automatically populates the value to and fro

  • How to use a parameter of a report program in a dialog program

    how to use a parameter of a report program in a dialog program.
    I have to fetch the value entered in the parameter of report program and display it in a dialog program

    Hi Aasim,
    Just mention like below in your ABAP report.
       PARAMETERS: p_aufnr TYPE aufnr MEMORY ID ord.
    and mention the same memory ID name in the module pool screen property it automatically populates the value to and fro

Maybe you are looking for