Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Disabling and Enabling Text Boxes in Screen Programming.

Former Member
0 Likes
1,307

Hi,

I have a requirement, when user selects Material Number and clicks the execute button, corresponding details of user name and type needs to be displayed.

Now the fields for displaying username (ernam) and type (mtart) should be disabled.

I tried collecting values for username and type from Database.

But in the event “AT SELECTION-SCREEN OUTPUT.” , the values become blank.

Is there any way in which I can <b>populate the value in the text boxes and keep it disabled</b>.


REPORT  Ztemp_09                           .

TYPES:
  BEGIN OF ty_mara,
  ernam TYPE mara-ernam,
  mtart TYPE mara-mtart,
  END OF ty_mara.

DATA:
  lit_s_mara TYPE STANDARD TABLE OF ty_mara ,
  lwa_s_mara TYPE  ty_mara.

DATA:
  lc_ernam TYPE mara-ernam,
  lc_mtart TYPE mara-mtart.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS:
    p_matnr TYPE mara-matnr  OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-003.
PARAMETERS:
    p_ernam TYPE mara-ernam MODIF ID mr1, "Delivery Type
    p_mtart TYPE mara-mtart MODIF ID mr2.
SELECTION-SCREEN END OF BLOCK b2.


AT SELECTION-SCREEN OUTPUT.

IF p_matnr IS INITIAL.
* Disable the text box
  LOOP AT SCREEN.
   IF screen-group1 CP 'MR*' . "Contains Pattern
    screen-input = '0'.
    MODIFY SCREEN.
    ENDIF.
  ENDLOOP.
ENDIF.

*Enable the text box to write data and then disable the box.
IF NOT p_matnr IS INITIAL.
  LOOP AT SCREEN.
    IF screen-group1 = 'MR1' .
      screen-input = '1'.
      p_ernam = lc_ernam.
      MODIFY SCREEN.
      screen-input = '0'.
      MODIFY SCREEN.
    ENDIF.
   IF screen-group1 = 'MR2' .
      screen-input = '1'.
      p_mtart = lc_mtart.
      MODIFY SCREEN.
      screen-input = '0'.
      MODIFY SCREEN.
    ENDIF.

  ENDLOOP.
ENDIF.


START-OF-SELECTION.

  PERFORM getdatabase.

FORM getdatabase .
SELECT  ernam mtart
INTO CORRESPONDING FIELDS OF TABLE lit_s_mara
FROM mara
UP TO 1 ROWS
WHERE matnr = p_matnr.

CLEAR lwa_s_mara.
LOOP AT lit_s_mara INTO lwa_s_mara.
  IF sy-tabix = 1.
  EXIT.
  ENDIF.
ENDLOOP.

  lc_ernam = lwa_s_mara-ernam.
  lc_mtart = lwa_s_mara-mtart.

ENDFORM.                    " GetDataBase


Regards,

Vikas

vikas.sreedharan@gmail.com

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,274

<b>RESOLVED</b> SMALL MISTAKE.

REPORT Ztemp_09

TYPES:

BEGIN OF ty_mara,

ernam TYPE mara-ernam,

mtart TYPE mara-mtart,

END OF ty_mara.

DATA:

lit_s_mara TYPE STANDARD TABLE OF ty_mara ,

lwa_s_mara TYPE ty_mara.

DATA:

lc_ernam TYPE mara-ernam,

lc_mtart TYPE mara-mtart.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

PARAMETERS:

p_matnr TYPE mara-matnr OBLIGATORY.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-003.

PARAMETERS:

p_ernam TYPE mara-ernam MODIF ID MR1, "Delivery Type

p_mtart TYPE mara-mtart MODIF ID MR2.

SELECTION-SCREEN END OF BLOCK b2.

AT SELECTION-SCREEN OUTPUT.

PERFORM getdatabase.

IF p_matnr IS INITIAL.

  • Disable the text box

LOOP AT SCREEN.

IF screen-group1 CP 'MR*' . "Contains Pattern

screen-input = '0'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

*Enable the text box to write data and then disable the box.

IF NOT p_matnr IS INITIAL.

LOOP AT SCREEN.

IF screen-group1 = 'MR1' .

screen-input = '1'.

p_ernam = lc_ernam.

MODIFY SCREEN.

screen-input = '0'.

MODIFY SCREEN.

ENDIF.

IF screen-group1 = 'MR2' .

screen-input = '1'.

p_mtart = lc_mtart.

MODIFY SCREEN.

screen-input = '0'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

START-OF-SELECTION.

FORM getdatabase .

SELECT ernam mtart

INTO CORRESPONDING FIELDS OF TABLE lit_s_mara

FROM mara

UP TO 1 ROWS

WHERE matnr = p_matnr.

CLEAR lwa_s_mara.

LOOP AT lit_s_mara INTO lwa_s_mara.

IF sy-tabix = 1.

EXIT.

ENDIF.

ENDLOOP.

lc_ernam = lwa_s_mara-ernam.

lc_mtart = lwa_s_mara-mtart.

ENDFORM. " GetDataBase<b></b><b></b>

REWARD IF USEFULS.

AMIT SINGLA

10 REPLIES 10
Read only

Former Member
0 Likes
1,275

<b>RESOLVED</b> SMALL MISTAKE.

REPORT Ztemp_09

TYPES:

BEGIN OF ty_mara,

ernam TYPE mara-ernam,

mtart TYPE mara-mtart,

END OF ty_mara.

DATA:

lit_s_mara TYPE STANDARD TABLE OF ty_mara ,

lwa_s_mara TYPE ty_mara.

DATA:

lc_ernam TYPE mara-ernam,

lc_mtart TYPE mara-mtart.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

PARAMETERS:

p_matnr TYPE mara-matnr OBLIGATORY.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-003.

PARAMETERS:

p_ernam TYPE mara-ernam MODIF ID MR1, "Delivery Type

p_mtart TYPE mara-mtart MODIF ID MR2.

SELECTION-SCREEN END OF BLOCK b2.

AT SELECTION-SCREEN OUTPUT.

PERFORM getdatabase.

IF p_matnr IS INITIAL.

  • Disable the text box

LOOP AT SCREEN.

IF screen-group1 CP 'MR*' . "Contains Pattern

screen-input = '0'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

*Enable the text box to write data and then disable the box.

IF NOT p_matnr IS INITIAL.

LOOP AT SCREEN.

IF screen-group1 = 'MR1' .

screen-input = '1'.

p_ernam = lc_ernam.

MODIFY SCREEN.

screen-input = '0'.

MODIFY SCREEN.

ENDIF.

IF screen-group1 = 'MR2' .

screen-input = '1'.

p_mtart = lc_mtart.

MODIFY SCREEN.

screen-input = '0'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

START-OF-SELECTION.

FORM getdatabase .

SELECT ernam mtart

INTO CORRESPONDING FIELDS OF TABLE lit_s_mara

FROM mara

UP TO 1 ROWS

WHERE matnr = p_matnr.

CLEAR lwa_s_mara.

LOOP AT lit_s_mara INTO lwa_s_mara.

IF sy-tabix = 1.

EXIT.

ENDIF.

ENDLOOP.

lc_ernam = lwa_s_mara-ernam.

lc_mtart = lwa_s_mara-mtart.

ENDFORM. " GetDataBase<b></b><b></b>

REWARD IF USEFULS.

AMIT SINGLA

Read only

0 Likes
1,274

Hi AMit,

I had added the

Perform getdatabase

, in the AT-SELECTION-SCREEN OUTPUT. event.

But that will trigger every time, I change the screen.

For e.g, I have a check box in my screen and I have added a USER-COMMAND for this check box, then this sub routine will get executed, when I change the check box.

So I am looking for some method, in which I can resolve the issue, so that the event does not fire when I click the check box.

Regards,

Vikas

Read only

0 Likes
1,274

SORRY DEAR,

CAN YOU SEND ME YOUR NEW CODE.

Read only

0 Likes
1,274

Hi Amit, Mandeep,

I will make my problem clear.

In my screen there are several text boxes, of this one is used to pass the file name.

This filename has a check box associated with it.

If check box is checked, then file is searched from local machine else from Application Server.

This is one aspect.

Now if I add the subroutine Perform GetDatabase in the “AT-SELECTION-SCREEN-OUTPUT”, the subroutine gets called even if I change the check box.

This is because I have added a User Command for the check box.

The User Command is necessary, so that I can use it to decide whether to open file from Application Server or Presentation Server.

I don’t want the subroutine GetDatabase to execute, when I change the check box.

Hope, you can help me.

Regards,

Vikas


REPORT  z1354_temp_09                         .

TYPES:
  BEGIN OF ty_mara,
  ernam TYPE mara-ernam,
  mtart TYPE mara-mtart,
  END OF ty_mara.

DATA:
  lit_s_mara TYPE STANDARD TABLE OF ty_mara ,
  lwa_s_mara TYPE  ty_mara.

DATA:
  lc_ernam TYPE mara-ernam,
  lc_mtart TYPE mara-mtart.
data:
  gc_filename LIKE dxfields-longpath.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS:
    p_matnr TYPE mara-matnr  OBLIGATORY.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS:
    p_filenm(100) TYPE c  OBLIGATORY.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION pos_low.
PARAMETERS:
    cb_lokal TYPE checkbox USER-COMMAND chklcl.
*To decide whether it is APp Server or PS file
SELECTION-SCREEN COMMENT 35(10) text-003.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b2.

SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
PARAMETERS:
    p_ernam TYPE mara-ernam MODIF ID mr1, "Delivery Type
    p_mtart TYPE mara-mtart MODIF ID mr2.
SELECTION-SCREEN END OF BLOCK b3.


AT SELECTION-SCREEN OUTPUT.

IF p_matnr IS INITIAL.
* Disable the text box
  LOOP AT SCREEN.
   IF screen-group1 CP 'MR*' . "Contains Pattern
    screen-input = '0'.
    MODIFY SCREEN.
    ENDIF.
  ENDLOOP.
ENDIF.

*Enable the text box to write data and then disable the box.
IF NOT p_matnr IS INITIAL.
  Perform getdatabase.
  LOOP AT SCREEN.
    IF screen-group1 = 'MR1' .
      screen-input = '1'.
      p_ernam = lc_ernam.
      MODIFY SCREEN.
      screen-input = '0'.
      MODIFY SCREEN.
    ENDIF.
   IF screen-group1 = 'MR2' .
      screen-input = '1'.
      p_mtart = lc_mtart.
      MODIFY SCREEN.
      screen-input = '0'.
      MODIFY SCREEN.
    ENDIF.

  ENDLOOP.
ENDIF.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_filenm.

  IF cb_lokal = 'X'.
    PERFORM getnetworkserver CHANGING gc_filename.
  ELSE. "IF gc_checkstat = 'F'.
    PERFORM getappserverfile CHANGING gc_filename.
  ENDIF.
  move  gc_filename to p_filenm.

START-OF-SELECTION.

  PERFORM getdatabase.

FORM getdatabase .
SELECT  ernam mtart
INTO CORRESPONDING FIELDS OF TABLE lit_s_mara
FROM mara
UP TO 1 ROWS
WHERE matnr = p_matnr.

CLEAR lwa_s_mara.
LOOP AT lit_s_mara INTO lwa_s_mara.
  IF sy-tabix = 1.
  EXIT.
  ENDIF.
ENDLOOP.

  lc_ernam = lwa_s_mara-ernam.
  lc_mtart = lwa_s_mara-mtart.

ENDFORM.                    " GetDataBase
************************************************************************
FORM getnetworkserver CHANGING p_filenm  .
DATA:
   p_file TYPE localfile.
 CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
       EXPORTING
            static    = 'X'
       CHANGING
            file_name = p_file.
MOVE p_file TO p_filenm.
ENDFORM.                    " GetNetworkServer
****************************************************************
FORM getappserverfile CHANGING value(gc_filename).
DATA: c_fnh_mask TYPE dxfields-filemask VALUE '*.*'.
*    file_path LIKE dxfields-longpath.

CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'
 EXPORTING
   i_location_flag       = 'A'
   i_server              = ' '
*   I_PATH                =
   filemask              = c_fnh_mask
   fileoperation         = 'R'
 IMPORTING
*   O_LOCATION_FLAG       =
*   O_SERVER              =
   o_path                = gc_filename
*   ABEND_FLAG            =
 EXCEPTIONS
   rfc_error             = 1
   error_with_gui        = 2
   OTHERS                = 3
          .
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

*MESSAGE gc_filename TYPE 'S'.
*MOVE gc_filename TO p_filenm.
ENDFORM.                    " GetAppServerFile

Read only

Former Member
0 Likes
1,274

IS STILL YOU HAVE PROBLEM????????

WHY YOU ARE NOT GOING TO MARK IT SOLVED??

REGARDS

AMIT SINGLA

Read only

Former Member
0 Likes
1,274

Hi Vikas,

just do the perform getdatabase after AT SELECTION-SCREEN OUTPUT.

ie.

AT SELECTION-SCREEN OUTPUT.

PERFORM getdatabase.

and remove it after

START-OF-SELECTION.

ur problem will be solved.

Reward if helpful.

Thanks,

Mandeep

Read only

Former Member
0 Likes
1,274

CHECK IT NOW

&----


*& Report ZTESTU *

*& *

&----


*& *

*& *

&----


Report ZTESTU .

TYPES:

BEGIN OF ty_mara,

ernam TYPE mara-ernam,

mtart TYPE mara-mtart,

END OF ty_mara.

DATA:

lit_s_mara TYPE STANDARD TABLE OF ty_mara ,

lwa_s_mara TYPE ty_mara.

DATA:

lc_ernam TYPE mara-ernam,

lc_mtart TYPE mara-mtart.

data:

gc_filename LIKE dxfields-longpath.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

PARAMETERS:

p_matnr TYPE mara-matnr OBLIGATORY.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.

PARAMETERS:

p_filenm(100) TYPE c OBLIGATORY.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN POSITION pos_low.

PARAMETERS:

cb_lokal TYPE checkbox USER-COMMAND chklcl.

*To decide whether it is APp Server or PS file SELECTION-SCREEN COMMENT 35(10) text-003.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK b2.

SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.

PARAMETERS:

p_ernam TYPE mara-ernam MODIF ID mr1, "Delivery Type

p_mtart TYPE mara-mtart MODIF ID mr2.

SELECTION-SCREEN END OF BLOCK b3.

*AT SELECTION-SCREEN.

AT SELECTION-SCREEN OUTPUT.

IF p_matnr IS INITIAL.

  • Disable the text box

LOOP AT SCREEN.

IF screen-group1 CP 'MR*' . "Contains Pattern

screen-input = '0'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

*Enable the text box to write data and then disable the box.

IF NOT p_matnr IS INITIAL AND cb_lokal EQ '' .

Perform getdatabase.

LOOP AT SCREEN.

IF screen-group1 = 'MR1' .

screen-input = '1'.

p_ernam = lc_ernam.

MODIFY SCREEN.

screen-input = '0'.

MODIFY SCREEN.

ENDIF.

IF screen-group1 = 'MR2' .

screen-input = '1'.

p_mtart = lc_mtart.

MODIFY SCREEN.

screen-input = '0'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ELSEIF NOT p_matnr IS INITIAL AND cb_lokal EQ 'X' .

CLEAR P_ERNAM.

CLEAR P_MTART.

ENDIF.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_filenm.

IF cb_lokal = 'X'.

PERFORM getnetworkserver CHANGING gc_filename.

ELSE. "IF gc_checkstat = 'F'.

PERFORM getappserverfile CHANGING gc_filename.

ENDIF.

move gc_filename to p_filenm.

START-OF-SELECTION.

PERFORM getdatabase.

FORM getdatabase .

SELECT ernam mtart

INTO CORRESPONDING FIELDS OF TABLE lit_s_mara FROM mara UP TO 1 ROWS WHERE matnr = p_matnr.

CLEAR lwa_s_mara.

LOOP AT lit_s_mara INTO lwa_s_mara.

IF sy-tabix = 1.

EXIT.

ENDIF.

ENDLOOP.

lc_ernam = lwa_s_mara-ernam.

lc_mtart = lwa_s_mara-mtart.

ENDFORM. " GetDataBase

************************************************************************

FORM getnetworkserver CHANGING p_filenm .

DATA:

p_file TYPE localfile.

CALL FUNCTION 'KD_GET_FILENAME_ON_F4'

EXPORTING

static = 'X'

CHANGING

file_name = p_file.

MOVE p_file TO p_filenm.

ENDFORM. " GetNetworkServer

****************************************************************

FORM getappserverfile CHANGING value(gc_filename).

DATA: c_fnh_mask TYPE dxfields-filemask VALUE '.'.

  • file_path LIKE dxfields-longpath.

CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'

EXPORTING

i_location_flag = 'A'

i_server = ' '

  • I_PATH =

filemask = c_fnh_mask

fileoperation = 'R'

IMPORTING

  • O_LOCATION_FLAG =

  • O_SERVER =

o_path = gc_filename

  • ABEND_FLAG =

EXCEPTIONS

rfc_error = 1

error_with_gui = 2

OTHERS = 3

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

*MESSAGE gc_filename TYPE 'S'.

*MOVE gc_filename TO p_filenm.

ENDFORM. " GetAppServerFile

Read only

0 Likes
1,274

Hi Amit,

Even now When I check/uncheck the check box, the event "AT-SELECTION-SCREEN-OUTPUT", gets triggered.

I appreciate your effort, but this has not resolved my problem.

Regards,

Vikas

Read only

0 Likes
1,274

NOW CHECK-BOX NOT EXECUTE AT SELECTION-SCREEN OUTPUT.

&----


*& Report ZTESTU *

*& *

&----


*& *

*& *

&----


Report ZTESTU .

TYPES:

BEGIN OF ty_mara,

ernam TYPE mara-ernam,

mtart TYPE mara-mtart,

END OF ty_mara.

DATA:

lit_s_mara TYPE STANDARD TABLE OF ty_mara ,

lwa_s_mara TYPE ty_mara.

DATA:

lc_ernam TYPE mara-ernam,

lc_mtart TYPE mara-mtart.

data:

gc_filename LIKE dxfields-longpath.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

PARAMETERS:

p_matnr TYPE mara-matnr OBLIGATORY.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.

PARAMETERS:

p_filenm(100) TYPE c OBLIGATORY.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN POSITION pos_low.

PARAMETERS:

cb_lokal TYPE checkbox USER-COMMAND chklcl.

*To decide whether it is APp Server or PS file SELECTION-SCREEN COMMENT 35(10) text-003.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK b2.

SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.

PARAMETERS:

p_ernam TYPE mara-ernam MODIF ID mr1, "Delivery Type

p_mtart TYPE mara-mtart MODIF ID mr2.

SELECTION-SCREEN END OF BLOCK b3.

*AT SELECTION-SCREEN.

data : ok_code(1) TYPE C.

data : P_code(1) TYPE C.

AT SELECTION-SCREEN.

IF cb_lokal EQ ''.

OK_CODE = 'X'.

ELSEIF CB_LOKAL EQ 'X'.

P_CODE = 'Y'.

ENDIF.

AT SELECTION-SCREEN OUTPUT.

IF OK_CODE NE 'X' AND P_CODE NE 'Y'.

IF p_matnr IS INITIAL.

  • Disable the text box

LOOP AT SCREEN.

IF screen-group1 CP 'MR*' . "Contains Pattern

screen-input = '0'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

*Enable the text box to write data and then disable the box.

IF NOT p_matnr IS INITIAL .

Perform getdatabase.

LOOP AT SCREEN.

IF screen-group1 = 'MR1' .

screen-input = '1'.

p_ernam = lc_ernam.

MODIFY SCREEN.

screen-input = '0'.

MODIFY SCREEN.

ENDIF.

IF screen-group1 = 'MR2' .

screen-input = '1'.

p_mtart = lc_mtart.

MODIFY SCREEN.

screen-input = '0'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

ENDIF.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_filenm.

IF cb_lokal = 'X'.

PERFORM getnetworkserver CHANGING gc_filename.

ELSE. "IF gc_checkstat = 'F'.

PERFORM getappserverfile CHANGING gc_filename.

ENDIF.

move gc_filename to p_filenm.

START-OF-SELECTION.

PERFORM getdatabase.

FORM getdatabase .

SELECT ernam mtart

INTO CORRESPONDING FIELDS OF TABLE lit_s_mara FROM mara UP TO 1 ROWS WHERE matnr = p_matnr.

CLEAR lwa_s_mara.

LOOP AT lit_s_mara INTO lwa_s_mara.

IF sy-tabix = 1.

EXIT.

ENDIF.

ENDLOOP.

lc_ernam = lwa_s_mara-ernam.

lc_mtart = lwa_s_mara-mtart.

ENDFORM. " GetDataBase

************************************************************************

FORM getnetworkserver CHANGING p_filenm .

DATA:

p_file TYPE localfile.

CALL FUNCTION 'KD_GET_FILENAME_ON_F4'

EXPORTING

static = 'X'

CHANGING

file_name = p_file.

MOVE p_file TO p_filenm.

ENDFORM. " GetNetworkServer

****************************************************************

FORM getappserverfile CHANGING value(gc_filename).

DATA: c_fnh_mask TYPE dxfields-filemask VALUE '.'.

  • file_path LIKE dxfields-longpath.

CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'

EXPORTING

i_location_flag = 'A'

i_server = ' '

  • I_PATH =

filemask = c_fnh_mask

fileoperation = 'R'

IMPORTING

  • O_LOCATION_FLAG =

  • O_SERVER =

o_path = gc_filename

  • ABEND_FLAG =

EXCEPTIONS

rfc_error = 1

error_with_gui = 2

OTHERS = 3

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

*MESSAGE gc_filename TYPE 'S'.

*MOVE gc_filename TO p_filenm.

ENDFORM. " GetAppServerFile

Read only

0 Likes
1,274

Hi Amit,

Thanks for the reply and your effort.

The code works after a slight modification.

I added the below code also in AT-SELECTION-SCREEN Output.


  LOOP AT SCREEN.
   IF screen-group1 CP 'MR*' . "Contains Pattern
    screen-input = '0'.
    MODIFY SCREEN.
    ENDIF.
  ENDLOOP.

This was required because, the inital code send by you caused the text boxes to be enabled after the check box was clicked.