Adding a new input field on selection screen after input in a select option

Hi Experts,
There are 2 input fields on the selection screen.
I would like to add a new select option field when a value is entered in the 2nd field <b>only</b>. If there is an input in the 1st field or both the fields, the new input field should not appear.
Message was edited by:
        Gaurav Kothari

execute the code .
you will get sel option for s_lgort only when there is a value in s_werks.
tables mard.
select-options: s_matnr for mard-matnr,
                s_werks for mard-werks,
                s_lgort for mard-lgort modif id abc.
at selection-screen output.
if not s_werks[] is initial and s_matnr[] is initial.
loop at screen.
if screen-group1 = 'ABC'.
screen-active = '1'.
modify screen.
endif.
endloop.
else.
loop at screen.
if screen-group1 = 'ABC'.
screen-active = '0'.
modify screen.
endif.
endloop.
endif.

Similar Messages

  • Disable an Input field with the help of a radio button selection.

    Hi Guys,
    I know it is a very basic question and also has many threads for the mentioned query. None of the threads gave me a real clue about the problem. It is as follows:
    Simply, I have an input field and there are two more radio buttons on the screen, say rd1, and rd2.
    Initially Rb_gtgr is active and input field is blank and disabled, and when i select Rb_selgr, input field should be active and mandatory. It means when i try to execute the code with out entering any value after it is enabled, an error message should appear. For this the code is as follows:
    AT SELECTION-SCREEN OUTPUT.
      PERFORM screen_grace_on.
    AT SELECTION-SCREEN ON p_grace.
      PERFORM check_grace_days.
    FORM screen_grace_on .
      DATA: l_v_grace TYPE char2.
      CONSTANTS: l_c_grace TYPE char7 VALUE 'P_GRACE'.
    l_v_grace = p_grace.
    CLEAR p_grace.
      IF rb_selgr EQ c_x.
        LOOP AT SCREEN.
          IF screen-group1 = 'ABC'.
            screen-required = 1.
           screen-active = 1.
          ENDIF.
          MODIFY SCREEN.
        ENDLOOP.
      ELSE.
        LOOP AT SCREEN.
          IF screen-group1 = 'ABC'.
            screen-input = 0.
            screen-active = 1.
          ENDIF.
          MODIFY SCREEN.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " SCREEN_GRACE_ON
    FORM check_grace_days.
      IF rb_selgr EQ c_x AND  p_grace EQ 0.
        PERFORM screen_grace_on.
        MESSAGE e492(/ams/ramfcmess1).          " Enter the number of Grace days
      ELSEIF rb_selgr EQ c_x AND p_grace GE 0.
        PERFORM screen_grace_on.
      ENDIF.
    ENDFORM.
    Ideally this code should work since in the PBO i.e., At selection screen output i am enabling the fields, and also when i select the second radio button i am also checking for the value too..
    I am working on 4.7 version of SAP. The Most interesting observation is it works fine for few variants, and not with others.
    Thank you

    Hi,
    Go through this following code,
    selection-screen begin of block B2 with frame title TEXT-005.
    selection-screen begin of line.
    parameters:     P_BIRPT type C radiobutton group RAD1 default 'X' user-command UCOMM.
    selection-screen comment 3(20) TEXT-002 for field P_BIRPT.
    selection-screen end of line.
    selection-screen begin of line.
    parameters:     P_COLRPT type C radiobutton group RAD1.
    selection-screen comment 3(20) TEXT-003 for field P_COLRPT.
    selection-screen end of line.
    selection-screen begin of line.
    parameters:     P_PAYRPT type C radiobutton group RAD1.
    selection-screen comment 3(20) TEXT-004 for field P_PAYRPT.
    selection-screen end of line.
    selection-screen end   of block B2.
    selection-screen begin of block B1 with frame title TEXT-001.
    select-options: SO_KTOKD for  KNA1-KTOKD modif id M4,
              SO_BLART for  BSIS-BLART modif id M2.
    parameters:     P_PAID   type ZCLEAR     modif id M3 as listbox visible length 20.
    selection-screen end   of block B1.
    at selection-screen output.
      loop at screen.
        if P_BIRPT eq 'X'.
          if SCREEN-GROUP1   = 'M2' or SCREEN-GROUP1 = 'M3' .
            SCREEN-INVISIBLE = '1'.
            SCREEN-ACTIVE    = '0'.
            modify screen.
          endif.
        elseif P_COLRPT eq 'X'.
          if SCREEN-GROUP1   = 'M3'.
            SCREEN-INVISIBLE = '1'.
            SCREEN-ACTIVE    = '0'.
            modify screen.
          endif.
        elseif P_PAYRPT eq 'X'.
          if SCREEN-GROUP1   = 'M2'.
            SCREEN-INVISIBLE = '1'.
            SCREEN-ACTIVE    = '0'.
            modify screen.
          endif.
          if SCREEN-GROUP1   = 'M4'.
            SCREEN-INVISIBLE = '1'.
            SCREEN-ACTIVE    = '0'.
            modify screen.
          endif.
        endif.
      endloop.
    Thanks
    Anil D

  • At selection screen on input

    What is the use of the event at selection-screen on input?

    Hi,
    This event is used mainly for validating an input provided to the selection screen element. Once a value is entered in the Selection Screen this Event gets triggered.
    The syntax for this is
    AT SELECTION-SCREEN ON {para/selcrit}
    Effect
    This event is triggered at the screen event PAI of a selection screen if the content of the input field of a parameter para or a line of a selection criterion selcrit was passed to the ABAP program. In the event block, the user input can be checked. Sending a warning or an error message in the event block makes the fields para and selcrit ready for input again.
    No parameter that is defined as a radio button can be specified. For this purpose, the addition ON RADIOBUTTON GROUP is provided.
    Note
    If a user action takes place in the dialog box for the multiple selection of a selection criterion selcrit, the entries of the selection table are passed to the program, line by line. For each line, the event AT SELECTION-SCREEN ON selcrit is triggered.
    Reward if helpful.

  • How to write in selection screen after the select option field?

    Hi
    Please help me with this...
    i need to write format of date after the select option field in the selection screen.
    its like..
    date ___________  to ___________     <b>yyyymmdd</b>
    points will be awarded..
    thanx

    Use  selection-screen comment 1(31) text-005 -> this will give you format option.
    See the below sysntax ,you have to use like this
    Selection-screen begin of block b2 with frame title text-002.
    selection-screen begin of line.
    selection-screen comment 1(31) text-004.
    parameter:        r_1   radiobutton group rad1.
    selection-screen end of line.
    selection-screen begin of line.
    Aging  Report
    selection-screen comment 1(31) text-005.
    parameter:        r_2   radiobutton group rad1.
    selection-screen comment 40(30) text-003.
    parameter: p_expir as checkbox.
    selection-screen end of line.
    selection-screen begin of line.
    Materials with no Expiry Date
    selection-screen comment 1(31) text-006.
    parameter:        r_3   radiobutton group rad1.
    selection-screen comment 40(30) text-007.
    parameter : p_bin as checkbox ."default 'X'.
    selection-screen end of line.
    selection-screen end of block b2.
    selection-screen end of block b0.

  • Calling selection screen depends on radio buttion selection

    I need to call two selection screens (not radio buttons selection screens) depends on radio buttion selection
    Eg :
       R1-radio button
      R2- radio button
    if we select R1- we should get selection screen to enter input values like parameters, select options
       PARAMETERS:     p_abc TYPE    MARA-matnr OBLIGATORY
      SELECT-OPTIONS: s_mno  FOR   MARC- chngr OBLIGATORY.
      PARAMETERS:     p_xyz TYPE     MARA - amktxOBLIGATORY.  (just example)
    If we select R2, we should get selection screen to enter input values like parameters, select options
    PARAMETERS:         p_abcd TYPE    KNA1-matnr OBLIGATORY
      SELECT-OPTIONS:  s_mnop  FOR   VBAK- chngr OBLIGATORY.
      PARAMETERS:        p_xyza TYPE     VBAP - amktxOBLIGATORY  (just example)
    if we select 1 , other should be hide
    Madhu

    Hi,
    this is an example:
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
    PARAMETER R1 RADIOBUTTON GROUP G1 DEFAULT 'X' USER-COMMAND SET1.
    PARAMETER R2 RADIOBUTTON GROUP G1 .
    SELECTION-SCREEN BEGIN OF BLOCK B21 WITH FRAME TITLE TEXT-004.
    PARAMETER: P1 LIKE IBIPPARMS-PATH MODIF ID FPA.
    SELECTION-SCREEN END OF BLOCK B21.
    SELECTION-SCREEN BEGIN OF BLOCK B22 WITH FRAME TITLE TEXT-004.
    PARAMETER: P2 LIKE IBIPPARMS-PATH MODIF ID FPB.
    SELECTION-SCREEN END OF BLOCK B22.
    SELECTION-SCREEN END OF BLOCK B2.
    DATA: P_CHECK.
    AT SELECTION-SCREEN OUTPUT.
      IF P_CHECK <> 'X'.
        LOOP AT SCREEN.
          IF SCREEN-GROUP1 = 'FPA' OR
             SCREEN-GROUP1 = 'FPB'.
            SCREEN-INPUT = '0'.
            SCREEN-INVISIBLE = '1'.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
        P_CHECK = 'X'.
      ENDIF.
      IF R1 = 'X'.
        LOOP AT SCREEN.
          IF SCREEN-GROUP1 = 'FPA'.
            SCREEN-INVISIBLE = '0'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ENDIF.
          IF SCREEN-GROUP1 = 'FPB'.
            SCREEN-INVISIBLE = '1'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
      ENDIF.
      IF R2 = 'X'.
        LOOP AT SCREEN.
          IF SCREEN-GROUP1 = 'FPB'.
            SCREEN-INVISIBLE = '0'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ENDIF.
          IF SCREEN-GROUP1 = 'FPA'.
            SCREEN-INVISIBLE = '1'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
      ENDIF.
    Angelo.

  • I am dual booting my mackbook pro with windows 7 64 bit. Yesterday it started locking up at the disk drive selections screen, when you hold down the "option" butting when powering on. I have been searching all morning, and so far nothing. Thanks. :)

    Hey folks,
    I have been using bootcamp for months now with windows 7 64 bit, and its been fine, yesterday while I was rebooting to do some gaming, at the hard drive selection screen when you boot holding the "options" butting down, it locks up when I select the windows drive and just sits there for ever. It doesn't throw an error, it boots fine into Lion.
    I searched all morning and didn't find anything, was hoping that someone might have an idea.
    Thanks in advance

    Search again. Microsoft has tips on what to do and Windows has a number of features
    system restore points
    automatic system repair using the Win7 DVD
    system restore image creation
    Just like you would with OS X Lion and Lion Recovery and Repair
    Use WinClone 3 www.twocanoes.com $20 to make an image just like you would with Disk Utility Restore or Carbon Copy Cloner
    rollback to last known good boot check point
    rollback a driver or program or any changes
    clean out temp files
    clean registry
    chkdsk
    https://discussions.apple.com/people/The%20hatter?view=bookmarks

  • Back to selection screen after error

    Hello ABAPers,
    I have a executable program (REPORT) to do some processing (e.g. read a standard table with the parameters and select-options and save the data in a Z table).
    When occurs an error (e.g. when sy-subrc <> 0 after select) and a message of type E is showed, the program show the message in a "clean" screen with title SAP. Then, after ENTER or ESC, it leaves to initial screen of SAP (SAP Easy Access).
    The message of type E is triggered from a routine (FORM) called from START-OF-SELECTION event. And the program don´t write nothing in list (only return a status message if everithing is ok).
    How can I force the program to back to selection screen after some error?
    Thanks in advance.
    Best regards,
    Charles Oliveira

    hi,
    Do the following for your requirement.
    in the message give the following
    start-of-selection.
    Perform <routine>.
    Form <routine>.
    if <condition>.
      message 'xxxx' type 'S' display like 'E'.
      exit.
    endif.
    endform.
    This way the control returns to selection screen even after the message is triggered.
    Thanks
    Sharath

  • Hide Tab in Selection Screen After Pressing Button

    Hiii All..
    My requirement is I have to disable the tab in the selection screen when the user presses the button 'Disable Tabstrip' which is present in Application toolbar..
    And it should come back if the user presses another button 'Enable Tabstrip' and that time the above screen should hide.
    I am showing u the screen..
    Link : [https://www.filesanywhere.com/FS/M.aspx?v=8972698c58616eb771af]
    If anyone knows then please help.
    Regards,
    Jhings.

    Thanks For the reply Anju...
    But the problem is.. this selection screen is not the default screen.. this is user defined screen.. and SY-UCOMM is not giving any value on the "AT SELECTION SCREEN OUTPUT" Event..
    I am giving u the code.. How I defined this..
    * This is screen where we are inclucing tab screen
    SELECTION-SCREEN : BEGIN OF SCREEN 100.
    SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-005.
    SELECTION-SCREEN : BEGIN OF LINE.
    SELECTION-SCREEN : COMMENT 1(15) CUS_TXT.
    SELECT-OPTIONS : CUST_ID FOR VBAK-KUNNR.
    SELECTION-SCREEN : PUSHBUTTON 79(20) BUT1 USER-COMMAND CLICK1 VISIBLE LENGTH 20.
    SELECTION-SCREEN : END OF LINE.
    SELECTION-SCREEN : BEGIN OF LINE.
    SELECTION-SCREEN : COMMENT 1(15) MAT_TXT.
    SELECT-OPTIONS :  MATNR FOR VBAP-MATNR.
    SELECTION-SCREEN : PUSHBUTTON 79(20) BUT2 USER-COMMAND CLICK2 VISIBLE LENGTH 20.
    SELECTION-SCREEN : END OF LINE.
    SELECTION-SCREEN : BEGIN OF LINE.
    SELECTION-SCREEN : COMMENT 1(15) CRE_TXT.
    SELECT-OPTIONS : CRE_BY FOR VBAK-ERNAM.
    SELECTION-SCREEN : PUSHBUTTON 79(20) BUT3 USER-COMMAND CLICK3 VISIBLE LENGTH 20.
    SELECTION-SCREEN : END OF LINE.
    SELECTION-SCREEN : BEGIN OF LINE.
    PARAMETERS : A AS CHECKBOX USER-COMMAND UC.
    SELECTION-SCREEN : COMMENT 5(33) CHK_TXT.
    PARAMETERS:        NUM TYPE I MODIF ID M1.
    SELECTION-SCREEN : END OF LINE.
    SELECTION-SCREEN: END OF BLOCK B1.
    SELECTION-SCREEN BEGIN OF TABBED BLOCK T1 FOR 20 LINES.
    SELECTION-SCREEN TAB (10) NAME1 USER-COMMAND UCOMM1 DEFAULT SCREEN 101.
    SELECTION-SCREEN TAB (20) NAME2 USER-COMMAND UCOMM2 DEFAULT SCREEN 102.
    SELECTION-SCREEN TAB (30) NAME3 USER-COMMAND UCOMM3 DEFAULT SCREEN 103.
    SELECTION-SCREEN END OF BLOCK T1.
    SELECTION-SCREEN: FUNCTION KEY 1,
                      FUNCTION KEY 2.
    SELECTION-SCREEN : END OF SCREEN 100.
    * These are subscreens
    SELECTION-SCREEN : BEGIN OF SCREEN 101 AS SUBSCREEN.
    SELECTION-SCREEN : BEGIN OF BLOCK B6 WITH FRAME TITLE TEXT-006.
    PARAMETERS : CUS_NAM1(30) TYPE C,
                 CONTACT1(12) TYPE C,
                 CITY1(30) TYPE C.
    SELECTION-SCREEN : SKIP.
    SELECTION-SCREEN : PUSHBUTTON 1(20) BUT11 USER-COMMAND CLICK11 VISIBLE LENGTH 10.
    SELECTION-SCREEN : PUSHBUTTON 25(20) BUT12 USER-COMMAND CLICK12 VISIBLE LENGTH 10.
    SELECTION-SCREEN: END OF BLOCK B6.
    SELECTION-SCREEN : END OF SCREEN 101.
    SELECTION-SCREEN : BEGIN OF SCREEN 102 AS SUBSCREEN.
    SELECTION-SCREEN : BEGIN OF BLOCK B7 WITH FRAME TITLE TEXT-007.
    PARAMETERS : MAT_DES1(30) TYPE C MODIF ID M1,
                 UNT1(12) TYPE C MODIF ID M1,
                 MAT_TYP1(30) TYPE C MODIF ID M1.
    SELECTION-SCREEN : SKIP.
    SELECTION-SCREEN : PUSHBUTTON 1(20) BUT13 USER-COMMAND CLICK13 VISIBLE LENGTH 10.
    SELECTION-SCREEN : PUSHBUTTON 25(20) BUT14 USER-COMMAND CLICK14 VISIBLE LENGTH 10.
    SELECTION-SCREEN: END OF BLOCK B7.
    SELECTION-SCREEN : END OF SCREEN 102.
    SELECTION-SCREEN : BEGIN OF SCREEN 103 AS SUBSCREEN.
    SELECTION-SCREEN : BEGIN OF BLOCK B8 WITH FRAME TITLE TEXT-008.
    PARAMETERS : F_NAM1(30) TYPE C MODIF ID M1,
                 L_NAM1(12) TYPE C MODIF ID M1,
                 C_NO1(30) TYPE C MODIF ID M1.
    SELECTION-SCREEN : SKIP.
    SELECTION-SCREEN : PUSHBUTTON 1(20) BUT15 USER-COMMAND CLICK15 VISIBLE LENGTH 10.
    SELECTION-SCREEN : PUSHBUTTON 25(20) BUT16 USER-COMMAND CLICK16 VISIBLE LENGTH 10.
    SELECTION-SCREEN: END OF BLOCK B8.
    SELECTION-SCREEN : END OF SCREEN 103.
    Hope This could help u..
    Regards,
    Jhings

  • Adding a new text field in Shopping Cart screen

    Hi,
    I am new to SRM and I am working on SRM 5.0
    My requirement is to add a text field for buyer's note with unlimited length similar to Approver's note in Shopping Cart screen.
    I have seen in the forum that many have done this earlier and i need step by step procedure to complete this task.
    I am able to create text field in Text Schema, but this field is not reflecting in shopping cart screen. Do i need to do any thing extra apart from maintaining in Text schema?
    Can you please send the detailed procedure to do this task?
    Thanks in advance.
    Regards,
    Vamsee

    Hi Saritha,
    Thank you for your help. In fact, i have gone through this link and followed the steps there. But, the Text ID is not reflecting in my shopping cart.
    We are using SRM 5.0. The requirement is to add a new text field with unlimited length similar to the existing Approveru2019s note field in Shopping Cart screen at header level.
    I have followed the steps mentioned below.
    1.Go to SRM IMGSRM Server->Cross-Application Basic Settings->Text Schema
    2.Execute Define Text Types and then select the entry BBP_PD Text Object and click on Text Type.
    Here, create new entry for ID as ZHTXT and Description and save it.
    3.Execute Define Text Schema and then select the existing Text Schema SC ( Shopping Cart) and click on Texts for Schema.
    Here, assign the newly created Text ID with details Header/Item etc.
    4.I am not executing the last step Define Fixed Values for Texts, as the Text Schema SC is already assigned Transaction Type Transaction Type SHC.
    Please suggest do I need to perform any extra steps apart from Text Schema to reflect the Text ID which I created in my Shopping cart screen? Or do we need to code anything on ITS side?
    Thanks in advance.
    Regards,
    Vamsee

  • Grey out the input field as soon as check box checks on selection screen!

    HI Experts,
    In my report selection screen I have input_field1, input_field2, check_box1. Both input fields are mandatory fileds.
    My requireemnt is: If user as soon as checks the check_box1, the first input_field1 must go grey out (not allow allow to enter)!
    So I have assigned a user command to check box and assigned a modif-ID to the input_field1
    and wrote a LOOP AT SCREEN code as below,
    PARAMETERS show_all AS CHECKBOX USER-COMMAND flag.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    PARAMETERS: p1 TYPE c LENGTH 10,
                p2 TYPE c LENGTH 10,
                p3 TYPE c LENGTH 10.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
    PARAMETERS: p4 TYPE c LENGTH 10 MODIF ID bl2,
                p5 TYPE c LENGTH 10 MODIF ID bl2,
                p6 TYPE c LENGTH 10 MODIF ID bl2.
    SELECTION-SCREEN END OF BLOCK b2.
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF show_all <> 'X' AND
           screen-group1 = 'BL2'.
           screen-active = '0'.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    But,am getting an error message saying "Enter all required fields"
    Pls. let me know how to fix this?
    Thank you

    I assume P1, P2 and P3 are marked as obligatory.
    You cannot achieve that. But here is an alternative to achieve a similar functionality.
    AT SELECTION-SCREEN.
      CHECK sy-ucomm EQ 'ONLI' OR sy-ucomm = 'SJOB' OR sy-ucomm = 'PRIN'.
      IF p1 is INITIAL or P2 is INITIAL or P3 is INITIAL.
        MESSAGE 'Enter all required fields' TYPE 'E'.
      ENDIF.
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF show_all = 'X' AND
           screen-group1 = 'BL2'.
          screen-input = '0'.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.

  • Not Able to Generate Out of the Report by adding the new 2 fields

    Hi,
    I'm Very new to ABAP. I have created one report. after 2 new fields added they are EKNAM and EKGRP.
    The Thing is the remaining fields are displaying in the output. The Newly added fields are not displaying the out. I was able to add this 2 fields in the head of the report. But issue is not able to get the data on these 2 fields.
    Please see the below program and any one please help me out to display the data in this report for the fields eknam and ekgrp.
    TABLES: eban,
            lfa1,
            ekko,
            t024,
            v_username.
    DATA: BEGIN OF i_req_items OCCURS 10,
            ernam LIKE eban-ernam,         "Created by
            lifnr LIKE eban-lifnr,         "Desired vendor
            ebeln LIKE eban-ebeln,         "PO Number
            ebelp LIKE eban-ebelp,         "PO Item
            eknam LIKE t024-eknam,         "Pur.Grp Name
            ekgrp LIKE t024-ekgrp,         "Pur.Grp Number
            flief LIKE eban-flief,         "Fixed vendor
            name1 LIKE lfa1-name1,         "Vendor name
            badat LIKE eban-badat,         "Creation date
            erdat LIKE eban-erdat,         "Change date
            banfn LIKE eban-banfn,         "Requisition no.
            bnfpo LIKE eban-bnfpo,         "Req. item no.
            bsart LIKE eban-bsart,         "Document type
            knttp LIKE eban-knttp,         "Acct.assgmt category
            txz01 LIKE eban-txz01,         "PO item description
            menge LIKE eban-menge,         "Quantity
            preis LIKE eban-preis,         "Price
            peinh LIKE eban-peinh,         "Price unit
            value(14) TYPE p DECIMALS 2,   "Item Value
          END OF i_req_items.
    DATA: BEGIN OF i_reqs OCCURS 10,
            ernam LIKE eban-ernam,         "Created by
            persn LIKE usr21-persnumber,   "Person number
            uname LIKE adrp-name_text,     "User name
            lifnr LIKE eban-lifnr,         "Vendor
            name1 LIKE lfa1-name1,         "Vendor name
            badat LIKE eban-badat,         "Creation date
            banfn LIKE eban-banfn,         "Requisition no.
            bnfpo LIKE eban-bnfpo,         "Req. item no.
            bsart LIKE eban-bsart,         "Document type
            knttp LIKE eban-knttp,         "Acct.assgmt category
            txz01 LIKE eban-txz01,         "PO item description
            eknam like t024-eknam,         "Purchase Grp Name
            ekgrp like t024-ekgrp,         "Purchase Grp Number
            value(14) TYPE p DECIMALS 2,   "Item Value
          END OF i_reqs.
    DATA: BEGIN OF i_req_keys OCCURS 0,
            ernam LIKE eban-ernam,         "Created by
            lifnr LIKE eban-lifnr,         "Desired vendor
            erdat LIKE eban-erdat,         "Create or Change date
            banfn LIKE eban-banfn,         "Requisition no.
            bnfpo LIKE eban-bnfpo,         "Req. item no.
            eknam like t024-eknam,         "Purchase Grp Name
            ekgrp like t024-ekgrp,         "Purchase Grp number
          END OF i_req_keys.
    DATA: BEGIN OF i_req_keeper OCCURS 0,
            ernam LIKE eban-ernam,         "Created by
            lifnr LIKE eban-lifnr,         "Desired vendor
            banfn LIKE eban-banfn,         "Requisition no
          END OF i_req_keeper.
    DATA: wa_reqitems LIKE i_req_items.
    DATA: BEGIN OF i_export OCCURS 10,
           record(150) TYPE c,
          END OF i_export.
    CONSTANTS
    CONSTANTS:
          c_doccat       LIKE eban-bstyp  VALUE 'B',
          c_creind       LIKE eban-estkz  VALUE 'R',
          c_delflag      LIKE eban-loekz  VALUE 'L',
          c_write(5)     TYPE c   VALUE 'WRITE',
          c_slash(1)     TYPE c   VALUE '/',
    *start ESPZC U8DK900439
         c_delimiter    TYPE x   VALUE '09',
           c_delimiter    TYPE c VALUE cl_abap_char_utilities=>horizontal_tab,
    *end ESPZC U8DK900439
          c_sc(1)        TYPE c   VALUE ';',
          c_x(1)         TYPE c   VALUE 'X',
          c_usd(1)       TYPE c   VALUE '2',
          c_export LIKE authb-filename VALUE '/BAY2/UBEM_SPLIT_REQS'.
    WORKING VARIABLES
    DATA: w_report_id   LIKE syst-repid,
          w_sttime      LIKE syst-uzeit,
          w_rpt_pagno   LIKE syst-pagno,
          w_rc          LIKE sy-subrc,
          w_datelow     LIKE eban-badat,
          w_datehigh    LIKE eban-badat,
          w_export      LIKE c_export,
          w_records     TYPE i,
          w_message(50) TYPE c.
    TYPES number TYPE i.
    SELECTION SCREEN / PARAMETERS
    SELECTION-SCREEN BEGIN OF BLOCK org WITH FRAME TITLE text-001.
    PARAMETERS: p_purorg LIKE eban-ekorg OBLIGATORY DEFAULT 'US02'.
    SELECT-OPTIONS: s_doctyp FOR eban-bsart,
                    s_date FOR eban-badat.
    PARAMETERS: p_timper(2) TYPE n.
    SELECTION-SCREEN: COMMENT 37(37) text-002.
    SELECTION-SCREEN END OF BLOCK org.
    SELECTION-SCREEN BEGIN OF BLOCK outp WITH FRAME TITLE text-003.
    PARAMETERS: p_onlin  RADIOBUTTON GROUP outp DEFAULT 'X',
                p_servr  RADIOBUTTON GROUP outp.
    SELECTION-SCREEN END OF BLOCK outp.
    AT SELECTION SCREEN
    AT SELECTION-SCREEN.
      IF p_servr = c_x.
        CLEAR w_rc.
        PERFORM authority_check_dataset USING    w_export
                                        CHANGING w_rc.
        IF w_rc <> 0.
          MESSAGE e532 WITH text-006 w_export.
        ENDIF.
        CLEAR w_rc.
        PERFORM verify_unix_path_and_file CHANGING w_rc.
        IF w_rc <> 0.
          MESSAGE e531 WITH w_message.
        ENDIF.
      ENDIF.
      INITIALIZATION EVENT
    INITIALIZATION.
      PERFORM get_filename.
      MOVE  syst-uzeit  TO   w_sttime.
      MOVE  syst-repid  TO   w_report_id.
      CLEAR: w_rpt_pagno.
    START-OF-SELECTION.
      PERFORM get_data.
      IF p_onlin = c_x.
        IF w_records GT 0.
          PERFORM print_report_header.
          PERFORM write_report.
        ELSE.
          MESSAGE i531 WITH text-007.
        ENDIF.
      ELSEIF p_servr = c_x.
        PERFORM write_export.
      ENDIF.
    END-OF-SELECTION.
    ---- F O R M   R O U T I N E S -
    *&     FORM get_filename
    FORM get_filename.
      CALL FUNCTION 'FILE_GET_NAME'
        EXPORTING
          logical_filename = c_export
        IMPORTING
          file_name        = w_export
        EXCEPTIONS
          file_not_found   = 1
          OTHERS           = 2.
      IF sy-subrc <> 0.
      ENDIF.
    ENDFORM.                    " get_filename
      FORM authority_check_dataset
    FORM authority_check_dataset USING    p_filename
                                 CHANGING p_rc.
      CALL FUNCTION 'AUTHORITY_CHECK_DATASET'
        EXPORTING
          activity         = c_write
          filename         = p_filename
        EXCEPTIONS
          no_authority     = 1
          activity_unknown = 2
          OTHERS           = 3.
      p_rc = sy-subrc.
    ENDFORM.                    "authority_check_dataset
        FORM verify_unix_path_and_file
    FORM verify_unix_path_and_file CHANGING p_rc.
    *start ESPZC U8DK900439
    OPEN DATASET w_export FOR OUTPUT IN TEXT MODE
         MESSAGE w_message.
      OPEN DATASET w_export FOR OUTPUT IN TEXT MODE ENCODING DEFAULT
          MESSAGE w_message.
    *end ESPZC U8DK900439
      p_rc = sy-subrc.
    ENDFORM.                    "verify_unix_path_and_file
      FORM get_data
    FORM get_data.
      CLEAR w_datelow.
      CLEAR w_datehigh.
      w_datelow = s_date-low - p_timper.
    w_datehigh = s_date-high + p_timper.
      w_datehigh = s_date-high.
      SELECT ernam lifnr ebeln ebelp flief badat erdat banfn bnfpo bsart
            knttp menge preis peinh txz01
       FROM eban
       INTO CORRESPONDING FIELDS OF TABLE i_req_items
          WHERE bstyp = c_doccat
            AND estkz = c_creind
            AND knttp <> space
            AND bsart IN s_doctyp
            AND loekz <> c_delflag
            AND ekorg EQ p_purorg
           AND ( ( badat BETWEEN w_datelow and w_datehigh ) OR
            ( erdat BETWEEN w_datelow AND w_datehigh ) ).
            AND  erdat BETWEEN w_datelow AND w_datehigh.
      IF sy-subrc = 0.
        LOOP AT i_req_items.
          IF i_req_items-lifnr IS INITIAL.
            IF NOT i_req_items-flief IS INITIAL.
              MOVE i_req_items-flief TO i_req_items-lifnr.
              MODIFY i_req_items.
            ENDIF.
            IF NOT i_req_items-ebeln IS INITIAL.
              SELECT lifnr FROM ekko
                  INTO i_req_items-lifnr
                  WHERE ebeln = i_req_items-ebeln.
              ENDSELECT.
              MODIFY i_req_items.
            ENDIF.
          ENDIF.
          IF i_req_items-erdat GT i_req_items-badat.
            MOVE i_req_items-erdat TO i_req_items-badat.
            MODIFY i_req_items.
          ENDIF.
        ENDLOOP.
        PERFORM weed_out_unique_records.
        PERFORM apply_time_period.
        SORT i_req_items BY ernam lifnr banfn bnfpo.
        LOOP AT i_req_items.
          i_req_items-value = ( i_req_items-menge *
               ( i_req_items-preis / i_req_items-peinh ) ).
          MODIFY i_req_items.
        ENDLOOP.
    Getting vendor name from table LFA1 -
        CLEAR i_req_items.
        LOOP AT i_req_items.
          SELECT SINGLE name1 FROM lfa1
            INTO i_req_items-name1
              WHERE lifnr = i_req_items-lifnr.
          MODIFY i_req_items.
        ENDLOOP.
        LOOP AT i_req_items.
          MOVE-CORRESPONDING i_req_items TO i_reqs.
    Getting user name from view v_username -
          SELECT SINGLE name_text
           FROM v_username INTO i_reqs-uname
          WHERE bname = i_reqs-ernam.
          APPEND i_reqs.
        ENDLOOP.
      ENDIF.
      DESCRIBE TABLE i_reqs LINES w_records.
    ENDFORM.                        "Get_data
      FORM print_report_header
    FORM print_report_header.
      ADD  1   TO   w_rpt_pagno.
      CALL FUNCTION '/BAY2/UBEXBH_BAYER_HEADR_FUN'
        EXPORTING
          f_jobname        = text-020
          f_business_group = text-021
          f_report_title   = text-022
          f_repid          = w_report_id
          f_sysid          = syst-sysid
          f_linsz          = syst-linsz
          f_pagno          = w_rpt_pagno
          f_mandt          = syst-mandt
          f_datum          = syst-datum
          f_uzeit          = w_sttime.
      FORMAT COLOR COL_HEADING.
      WRITE:  /1     text-010,      "Created by CWID & user name
              29     text-011,      "Vendor #
              38     text-012,      "Vendor Name
              69     text-013,      "Req Number
              79     text-014,      "/Item
              87     text-015,      "Created On
              98     text-017,      "A (AcctAssgmtCat)
             100(14) text-019 RIGHT-JUSTIFIED,  "Item Value
             116(30) text-018,      "Item Description
             148     text-030,      "Pur.Grp Name
             170     text-031.      "Pur.Grp Number
      FORMAT COLOR OFF.
      ULINE.
    ENDFORM.                             "print_report_header
    *&      Form  WRITE_REPORT
    FORM write_report.
      LOOP AT i_reqs.
        WRITE: /1 i_reqs-ernam,
                9(18) i_reqs-uname,
               29 i_reqs-lifnr,
               38(30) i_reqs-name1,
               69 i_reqs-banfn,
               79 c_slash,
               80 i_reqs-bnfpo,
               87 i_reqs-badat,
               98 i_reqs-knttp,
              100(14) i_reqs-value CURRENCY c_usd,
              116(30) i_reqs-txz01,
              145 i_reqs-eknam,
              160 i_reqs-ekgrp.
      ENDLOOP.
    ENDFORM.                    "write_report
    *&      Form  WRITE_EXPORT
    FORM write_export.
      DATA: l_value(14)    TYPE c,
            l_bsart(100)   TYPE c,
            l_uname(7)     TYPE c,
            l_records(5)   TYPE c,
            l_header(150)  TYPE c,
            l_params(150)  TYPE c,
            i_char         TYPE i.
      LOOP AT i_reqs.
        CLEAR l_value.
        CLEAR l_uname.
        l_value = i_reqs-value.
        l_uname = sy-uname.
        CONCATENATE: i_reqs-uname
                     i_reqs-ernam
                     i_reqs-lifnr
                     i_reqs-name1
                     i_reqs-banfn
                     i_reqs-bnfpo
                     i_reqs-badat
                     i_reqs-knttp
                     l_value
                     i_reqs-txz01 INTO i_export
                                  SEPARATED BY c_delimiter.
        APPEND i_export.
      ENDLOOP.
      CONCATENATE: text-008   "Created By Name
                   text-009   "CWID
                   text-011   "Vendor No
                   text-012   "Vendor Name
                   text-013   "Req Number
                   text-023   "Item
                   text-015   "Created On
                   text-017   "A
                   text-019   "Item Value
                   text-018   "Item Description
                   text-030   "Purchase Grp name
                   text-031   "Purchase Grp number
                   INTO l_header SEPARATED BY c_delimiter.
      INSERT l_header INTO i_export INDEX 1.
      IF sy-batch IS INITIAL.
        MOVE sy-uname TO l_uname.
      ELSE.
        MOVE text-024 TO l_uname.
      ENDIF.
      PERFORM collect_bsart CHANGING l_bsart
                                     i_char.
      l_records = w_records.
      CONCATENATE: sy-sysid
                   p_purorg
                   l_bsart(i_char)
                   s_date-low
                   s_date-high
                   p_timper
                   l_uname
                   sy-datum
                   l_records INTO l_params
                             SEPARATED BY c_delimiter.
      INSERT l_params INTO i_export INDEX 1.
      LOOP AT i_export.
        CONDENSE i_export NO-GAPS.
        TRANSFER i_export TO w_export.
      ENDLOOP.
      CLOSE DATASET w_export.
      MESSAGE s533 WITH text-028 w_export text-029.
    ENDFORM.                    "write_export
    *&      FORM collect_bsart
    FORM collect_bsart CHANGING p_bsart
                                p_char.
      CLEAR p_bsart.
      LOOP AT s_doctyp.
        IF sy-tabix = 1.
          p_bsart = s_doctyp-low.
        ELSE.
          CONCATENATE: p_bsart c_sc s_doctyp-low INTO p_bsart.
        ENDIF.
      ENDLOOP.
      CONDENSE p_bsart NO-GAPS.
      p_char = strlen( p_bsart ).
    ENDFORM.                      "collect_bsart
    *&      Form  WEED_OUT_UNIQUE_RECORDS
    FORM weed_out_unique_records.
      DATA: i_l_req_items LIKE i_req_items OCCURS 0 WITH HEADER LINE.
      DATA: i_l_req_final_items LIKE i_req_items OCCURS 0 WITH HEADER LINE.
      DATA: l_count TYPE i,
            l_sy_tabix LIKE sy-tabix,
            l_banfn    LIKE eban-banfn.
      REFRESH i_l_req_items.
      REFRESH i_l_req_final_items.
      CLEAR l_banfn.
      i_l_req_items[]       = i_req_items[].
      i_l_req_final_items[] = i_req_items[].
      SORT i_req_items         BY ernam lifnr.
      SORT i_l_req_items       BY ernam lifnr.
      SORT i_l_req_final_items BY ernam lifnr.
      LOOP AT i_l_req_items.
        l_banfn = i_l_req_items-banfn.
        CLEAR l_count.
        LOOP AT i_req_items
            WHERE ernam = i_l_req_items-ernam
              AND lifnr = i_l_req_items-lifnr.
          IF i_req_items-banfn <> l_banfn.
            ADD +1 TO l_count.
          ENDIF.
        ENDLOOP.
        IF NOT ( l_count > 0 ).
          LOOP AT i_l_req_final_items
            WHERE ernam = i_l_req_items-ernam
              AND lifnr = i_l_req_items-lifnr.
            DELETE i_l_req_final_items.
          ENDLOOP.
        ENDIF.
      ENDLOOP.
      REFRESH i_req_items.
      i_req_items[] = i_l_req_final_items[].
    ENDFORM.                    " WEED_OUT_UNIQUE_RECORDS
    *&      Form  APPLY_TIME_PERIOD
    FORM apply_time_period.
      DATA: l_i_req_keys LIKE i_req_keys.
      DATA: l_days_diff          TYPE p,
            l_no_of_key_recs     TYPE i,
            l_next_item          LIKE sy-tabix,
            l_finished_with_keys TYPE c VALUE 'N',
            l_add_line           TYPE c VALUE 'N',
            l_count              TYPE i,
            l_req_ernam          LIKE eban-ernam,
            l_req_lifnr          LIKE lfa1-lifnr,
            l_req_banfn          LIKE eban-banfn,
            l_save_tabix         like sy-tabix.
      REFRESH: i_req_keys, i_req_keeper.
      LOOP AT i_req_items.
        MOVE-CORRESPONDING i_req_items TO
                           i_req_keys.
        IF i_req_items-erdat IS INITIAL.
          i_req_keys-erdat = i_req_items-badat.
        ENDIF.
        APPEND i_req_keys.
      ENDLOOP.
      SORT i_req_keys BY ernam lifnr erdat.
      CLEAR l_no_of_key_recs.
      DESCRIBE TABLE i_req_keys LINES l_no_of_key_recs.
      LOOP AT i_req_keys.
        IF l_add_line = 'Y'.
          MOVE-CORRESPONDING i_req_keys
                          TO i_req_keeper.
          APPEND i_req_keeper.
          l_add_line = 'N'.
        ENDIF.
        IF l_finished_with_keys = 'Y'.
          EXIT.
        ENDIF.
        CLEAR l_next_item.
        l_save_tabix = sy-tabix.
        COMPUTE l_next_item = sy-tabix + 1.
        IF l_next_item = l_no_of_key_recs.
          l_finished_with_keys = 'Y'.
        ENDIF.
        clear: l_i_req_keys.
        READ TABLE i_req_keys INDEX l_next_item
            INTO l_i_req_keys.
        sy-tabix = l_save_tabix.
        CLEAR l_days_diff.
        l_days_diff = l_i_req_keys-erdat -
                      i_req_keys-erdat.
        IF l_i_req_keys-ernam  =
           i_req_keys-ernam                  AND
           l_i_req_keys-lifnr  =
           i_req_keys-lifnr                  AND
           l_i_req_keys-banfn  <>
           i_req_keys-banfn                  AND
           l_days_diff         <= p_timper.
          MOVE-CORRESPONDING i_req_keys
                          TO i_req_keeper.
          APPEND i_req_keeper.
          l_add_line = 'Y'.
        ENDIF.
      ENDLOOP.
      DELETE ADJACENT DUPLICATES FROM i_req_keeper
                            COMPARING ALL FIELDS.
      SORT i_req_keeper BY ernam lifnr banfn.
      LOOP AT i_req_items.
        CLEAR l_count.
        CLEAR: l_req_ernam,
               l_req_lifnr,
               l_req_banfn.
        l_req_ernam = i_req_items-ernam.
        l_req_lifnr = i_req_items-lifnr.
        l_req_banfn = i_req_items-banfn.
        LOOP AT i_req_keeper
            WHERE ernam = i_req_items-ernam
              AND lifnr = i_req_items-lifnr
              AND banfn = i_req_items-banfn.
          ADD +1 TO l_count.
        ENDLOOP.
        IF NOT ( l_count > 0 ).
          LOOP AT i_req_items
            WHERE ernam = l_req_ernam
              AND lifnr = l_req_lifnr
              AND banfn = l_req_banfn.
            DELETE i_req_items.
          ENDLOOP.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " APPLY_TIME_PERIOD

    Rajesh,
    Put a breakpoint and try to debug the report step by step.
    You will findout the reason very easily.
    Whenever you have a select and are trying to append into an internal table, keep checking your internal table if it is been populated with the correct records.
    This way, you will findout the cause and can correct is accordingly.
    Thanks,
    Suresh Ganti

  • Search help for input fields in a screen

    Hi,
    Pls help me
    how to set search help property for the I/O fields in screen in se80?
    1. do we want to add any property for search help in the property window?
    2.do we want to create a MODULE PROCESS ON VALUE REQUEST ?
    PLS tell me how to set search for the I/O field in se80?pls tell me the process?
    i want to set the search help for more I/O fields in se80 but all the fields belongs to the same table?
    can i create a single search for all these fields and use that for all the I/O fields ?
    elementary search help or collective search help?
    thanks & regards in advance,
    vsnl.

    Hi,
    Input Help on the Screen
    Within the Screen Painter, you can define two types of input help:
    1. The FIELD statement with one of the additions VALUES or SELECT.
    2. Linking a search help directly to a screen field.
    If you link a search help directly to a screen field, it overrides the additions of the FIELD
    statement. However, the input check [Page 581] functions of the FIELD statement remain
    unaffected.
    Input Help in Flow Logic
    The following input help methods are obsolete and should not be used. They are still supported
    for compatibility reasons.
    In the screen flow logic, you can specify a value list for a screen field <f> as follows:
    FIELD <f> VALUES (<val1>, <val2>,...).
    The value list contains a series of single values <vali>. The NOT and BETWEEN additions for the
    input check [Page 581] are not appropriate for input help.
    You can also create a value list by accessing a database table as follows:
    FIELD <f> SELECT *
    FROM <dbtab>
    WHERE <k1> = <f1> AND <k2> = <f2> AND...
    In the WHERE condition, the fields of the primary key <ki> of the database table <dbtab> are
    checked against the screen fields <fi>. The WHENEVER addition, used with input checks [Page
    581], is not necessary for input help.
    If you have used a ABAP Dictionary reference for field <f>, the selection and the hit list formatting
    may be affected by any check table attached to the field.
    Attaching a Search Help
    Search helps from the ABAP Dictionary can be attached to a screen field [Ext.]. To do this, enter
    the name of the search help in the corresponding field in the attributes of the screen field in the
    Screen Painter. This assigns the first parameter of the search help to the screen field. It is only
    possible to place a value from the hit list onto the screen.
    Input help on a screen.
    REPORT DEMO_DYNPRO_F4_HELP_DYNPRO MESSAGE-ID AT.
    DATA: CARRIER(3) TYPE C,
    CONNECTION(4) TYPE C.
    CALL SCREEN 100.
    MODULE CANCEL INPUT.
    LEAVE PROGRAM.
    ENDMODULE.
    The next screen (statically defined) for screen 100 is itself. It has the following layout:
    602 April 2001
    Cancel
    Airline
    Flight number
    Screen field with search help
    Input help in the flow logic
    The input fields have been adopted from the program fields CARRIER and
    CONNECTION. The function code of the pushbutton is CANCEL, with function type
    E. The search help DEMO_F4_DE with the search help parameter CARRID is
    assigned to the screen field CARRIER. The search help uses the database table
    SCARR.
    The screen flow logic is as follows:
    PROCESS BEFORE OUTPUT.
    PROCESS AFTER INPUT.
    MODULE CANCEL AT EXIT-COMMAND.
    FIELD CARRIER VALUES ('AA', 'LH').
    FIELD CONNECTION SELECT *
    FROM SPFLI
    WHERE CARRID = CARRIER
    AND CONNID = CONNECTION.
    When the user chooses the input help for the individual fields, the following input
    help is displayed:
      For the Airline field, the search help displays the names of the airlines and places the airline
    code in the input field for the chosen line. If the airline code is not one of those listed in the
    VALUES list of the screen flow logic, the input check triggers an error message in the PAI
    event. So the search help overrides the VALUES addition for the input help, but not for the
    input checks. This is therefore not an appropriate place to use the VALUE addition.
      For the Flight number field, the flow logic displays the selected entries from the database
    table SPFLI and places the selected line in the input field.
    Regards,
    Bhaskar

  • Input field in dialog screen

    Hi all,
    I need to create an input field on screen, which would enable input not by writing but by selecting a value from a list.
    I tried to define the field as a listbox, but the FM VRM_SET_VALUES used for populating the values can contain only 2 field and I need to populate about 5 to 6 fields.
    Any ideas? is it possible?
    Thanks,
    Hagit

    Hi Hagit,
    You can attach one search help with required field and convert the field to list box.
    Message Edited
    shibu

  • How to read the contents of Input Field created via Screen Painter?

    Hi All,
    I have a module program / dialog program, on my second screen, I created an input/outbox field via screen painter of course,
    now in my PAI, how can I read the contents of the input/outbox field?
    Let's say the name of my input/outbox field is: P_WEKRS.  Note: Get Parameter and Set Parameter is ticked.
    PROCESS AFTER INPUT.
      LOOP WITH CONTROL TC_DATA.
        MODULE MODIFY_DATA.
      ENDLOOP.
    I want to get the value of the input/outbox field before my loop in table control?  I thought that it will work like normal parameter in non-dialog programs.
    Any helpful inputs will be appreciated/rewarded.
    Thanks.
    Jaime

    Hi, Jaime
    Do the following Change in you Follow Logic
    PROCESS AFTER INPUT.
    MODULE read_or_change_value. " Add this
    LOOP WITH CONTROL TC_DATA.
      MODULE MODIFY_DATA.
    ENDLOOP.
    Add the Bellow Module code in you Driver Program.
    MODULE read_or_change_value.
    DATA: P_WEKRS like " the Field on Screen. Must be the same name as on SCREEN. and Type must be same too.
    " Here you will find the Value in that Variable or if you will change the Value here you will find it change on Screen
    END MODULE.
    Please Reply if any Issue..
    Best Regards,
    Faisal

  • Selection Screen - User input to select option only through f4 help,

    Hi..
    In case of selection screen,  I need selection screen such a that user input must be through search help not manual entry is allowed/ possible

    TYPES:BEGIN OF ty,
          field1 TYPE char01,
          END OF ty.
    DATA:it TYPE TABLE OF ty,
         wa TYPE ty.
    data:v_var type c.
    select-options:so for v_var.
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF screen-name = 'SO-LOW'  .
          screen-input = 0.
          MODIFY SCREEN.
        ENDIF.
        IF screen-name = 'SO-HIGH'  .
          screen-input = 0.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR so-low.
      CLEAR it[].
      wa-field1 = 'A'.
      APPEND wa TO it.
      wa-field1 = 'B'.
      APPEND wa TO it.
      CLEAR wa.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          retfield    = 'FIELD1'
          dynpprog    = sy-cprog
          dynpnr      = sy-dynnr
          dynprofield = 'SO-LOW'
          value_org   = 'S'
          display     = 'F' "F = Force
        TABLES
          value_tab   = it[].
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR so-high.
      CLEAR it[].
      wa-field1 = 'A'.
      APPEND wa TO it.
      wa-field1 = 'B'.
      APPEND wa TO it.
      CLEAR wa.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          retfield    = 'FIELD1'
          dynpprog    = sy-cprog
          dynpnr      = sy-dynnr
          dynprofield = 'SO-HIGH'
          value_org   = 'S'
          display     = 'F' "F = Force
        TABLES
          value_tab   = it[].

Maybe you are looking for

  • Oracle 11 driver causes problem in the day when the daylight saving starts

    Hi everybody, I'm facing a really weird problem with daylight saving stuff. So, let me explain: I have a table where stores some personal data, which one of the columns is a birth date. On this column there is a constraint like: TRUNC(BIRTHDATE) == B

  • Cursor v/s direct insert

    hi all, which one is better...? defining a cursor for an insert or using the select stmt in the insert? ex1: declare cursor c1 as select a,b from table1 begin for i in c1 loop insert into table2 values i.a, i.b ; end loop; end; ex2 begin insert into

  • Itunes update deleted msvcr80 dll. file

    My latest itunes update deleted the msvcr80 dll. file.   Itunes suggested uninstalling and then reinstalling itunes.  However, now the reinstall will not work. I have a windows 7 64 bit OS.

  • Process chain remains yellow even it is OK

    Hello, I have a process chain which contains many master data loadings. It can happen that when I log in the morning and check my process chain that have been executed during the night, I always have processes in yellow (not finished). However when I

  • Cannot transfer music to iTunes. Help?

    I have been downloading music all day and then transfering the mp3s to iTunes, but suddenly iTunes will not allow me to import files. I usually just right click the file and click "Open with iTunes" but suddenly got no response from the application.