2006 Jul 19 9:21 AM
Hi,
i have problems with this code:
...
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(29) T_PC_I.
PARAMETERS: P_PC_I LIKE RLGRAP-FILENAME OBLIGATORY
DEFAULT 'D:TEST
SELECTION-SCREEN: END OF LINE.
...
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PC_I.
*
DATA: LV_CNT TYPE I,
FILE TYPE STRING,
LT_FILENAME TYPE FILETABLE,
USER_ACT TYPE I.
*
FILE = P_PC_I.
Neu über Funktionsklasse
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
WINDOW_TITLE = 'PC-File Selektion'
DEFAULT_FILENAME = FILE
CHANGING
FILE_TABLE = LT_FILENAME
RC = LV_CNT
USER_ACTION = USER_ACT
EXCEPTIONS
FILE_OPEN_DIALOG_FAILED = 1
CNTL_ERROR = 2
ERROR_NO_GUI = 3.
*
IF SY-SUBRC <> 0.
*
ENDIF.
IF USER_ACT = '0'.
READ TABLE LT_FILENAME INDEX 1 INTO P_PC_I.
ENDIF.
*
The Problem is, that in the in the VALUE-REQUEST P_PC_I
is empty. But i need the Value wich i have set in the
PARAMETER as default.
Thanks for Help
Regards, Dieter
2006 Jul 19 9:49 AM
Hi dieter,
1. I tried your code just now
2. Just add these 5 lines, and it works ok now.
3. see in bold.
4.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(29) T_PC_I.
PARAMETERS: P_PC_I LIKE RLGRAP-FILENAME OBLIGATORY DEFAULT 'D:TEST'.
SELECTION-SCREEN: END OF LINE.
...
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PC_I.
*
DATA: LV_CNT TYPE I,
FILE TYPE STRING,
LT_FILENAME TYPE FILETABLE,
USER_ACT TYPE I.
*
FILE = P_PC_I.
DATA : MYFILE LIKE RLGRAP-FILENAME.
CALL FUNCTION 'GET_DYNP_VALUE'
EXPORTING
I_FIELD = 'P_PC_I'
I_REPID = sy-repid
I_DYNNR = sy-dynnr
I_CONV_INPUT = ' '
I_CONV_OUTPUT = ' '
CHANGING
O_VALUE = myfile
.
.
FILE = MYFILE.</b>
Neu über Funktionsklasse
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
WINDOW_TITLE = 'PC-File Selektion'
DEFAULT_FILENAME = FILE
CHANGING
FILE_TABLE = LT_FILENAME
RC = LV_CNT
USER_ACTION = USER_ACT
EXCEPTIONS
FILE_OPEN_DIALOG_FAILED = 1
CNTL_ERROR = 2
ERROR_NO_GUI = 3.
*
IF SY-SUBRC <> 0.
*
ENDIF.
IF USER_ACT = '0'.
READ TABLE LT_FILENAME INDEX 1 INTO P_PC_I.
ENDIF.
*
regards,
amit m.
Hi,
i have problems with this code:
...
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(29) T_PC_I.
PARAMETERS: P_PC_I LIKE RLGRAP-FILENAME OBLIGATORY
DEFAULT 'D:TEST
SELECTION-SCREEN: END OF LINE.
...
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PC_I.
*
DATA: LV_CNT TYPE I,
FILE TYPE STRING,
LT_FILENAME TYPE FILETABLE,
USER_ACT TYPE I.
*
FILE = P_PC_I.
Neu über Funktionsklasse
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
WINDOW_TITLE = 'PC-File Selektion'
DEFAULT_FILENAME = FILE
CHANGING
FILE_TABLE = LT_FILENAME
RC = LV_CNT
USER_ACTION = USER_ACT
EXCEPTIONS
FILE_OPEN_DIALOG_FAILED = 1
CNTL_ERROR = 2
ERROR_NO_GUI = 3.
*
IF SY-SUBRC <> 0.
*
ENDIF.
IF USER_ACT = '0'.
READ TABLE LT_FILENAME INDEX 1 INTO P_PC_I.
ENDIF.
*
The Problem is, that in the in the VALUE-REQUEST P_PC_I
is empty. But i need the Value wich i have set in the
PARAMETER as default.
Thanks for Help
Regards, Dieter
2006 Jul 19 9:29 AM
Hi,
Check This
*---------------------Selection Screen Help----------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_sumfl.
*-File Path For Summary Report
PERFORM f2000_filepath_f4 USING lc_s
CHANGING p_sumfl.
*----------------------------------------------------------------------*
FORM f2000_filepath_f4 USING xv_indicator TYPE char1
CHANGING xyv_filepath TYPE char255.
*---------------Popup for file name---------------------*
CONSTANTS :
lc_dft_ext TYPE string VALUE 'XLS',
lc_file_flt TYPE string VALUE '*.xls',
lc_int_drc TYPE string VALUE 'C:'.
DATA : lv_win_title TYPE string,
lv_file_name TYPE string,
lv_dft_fname TYPE string,
lv_fname TYPE string,
lv_path TYPE string.
CLEAR: lv_fname,
lv_path,
lv_file_name,
lv_win_title,
lv_dft_fname.
*---------------Set File Details F4 Based on Report Type--------------*
IF xv_indicator = lc_s.
lv_win_title = text-045.
lv_dft_fname = text-038.
ELSE.
lv_win_title = text-044.
lv_dft_fname = text-033.
ENDIF.
CALL METHOD cl_gui_frontend_services=>file_save_dialog
EXPORTING
window_title = lv_win_title
default_extension = lc_dft_ext
default_file_name = lv_dft_fname
file_filter = lc_file_flt
initial_directory = lc_int_drc
prompt_on_overwrite = lc_true
CHANGING
filename = lv_fname
path = lv_path
fullpath = lv_file_name
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
not_supported_by_gui = 3
OTHERS = 4.
IF sy-subrc <> 0 OR lv_fname IS INITIAL
OR lv_path IS INITIAL
OR lv_file_name IS INITIAL.
<b> concatenate lc_int_drc lv_dft_fname
into xyv_filepath.</b>
ELSE.
*---FilePath
xyv_filepath = lv_file_name.
ENDIF.
ENDFORM. " f2000_filepath_f4
2006 Jul 19 9:34 AM
hi,
Check out in this way ...
W_WSU_FILENAME01 = PR_IFILE.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
DEFAULT_FILENAME = W_WSU_FILENAME01
CHANGING
FILE_TABLE = ITAB_FILE1_TABLE
RC = RC_FILE
EXCEPTIONS
FILE_OPEN_DIALOG_FAILED = 1
CNTL_ERROR = 2
ERROR_NO_GUI = 3
NOT_SUPPORTED_BY_GUI = 4
others = 5.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
DATA W_WSU_FILENAME02 TYPE STRING.
DATA W_WSU_FILETYPE02 TYPE CHAR10.
W_WSU_FILETYPE02 = 'ASC'.
READ TABLE ITAB_FILE1_TABLE INDEX 1 INTO W_WSU_FILENAME02.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = W_WSU_FILENAME02
FILETYPE = W_WSU_FILETYPE02
TABLES
DATA_TAB = ITAB_INFILE
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
2006 Jul 19 9:35 AM
hi,
Here is the problem you have not enclosed the file name in single quotes properly it should be in this way i.e, <b>'D:\TEST'.</b>
PARAMETERS: <b>P_PC_I LIKE RLGRAP-FILENAME OBLIGATORY
DEFAULT 'D:\TEST'.</b>
2006 Jul 19 9:45 AM
Hi Santosh, Hi Manoj,
its a Problem of cut and paste. In my Abap i have
... <b>DEFAULT 'D:\TEST'</b>.
My problem is, why is the value of P_PC_I in
the Help-Request empty and not 'D:TEST'.
Can i read the value from the screen.
<b>I have no Problems with:
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG</b>
Regards, Dieter
2006 Jul 19 9:55 AM
hi,
Please check the value of FILE before calling
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
in debugging mode.
I think value of P_PC_I is not being pass to File or P_PC_I is empty.
If u want to read value then use FM:-DYNP_VALUES_READ
or use Global Contstant Variable for for the default path.
<b>initialization.
P_PC_I = gc_file_path_default.</b>
and use the same in gc_file_path_default in F4 Help
2006 Jul 19 9:49 AM
Hi dieter,
1. I tried your code just now
2. Just add these 5 lines, and it works ok now.
3. see in bold.
4.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(29) T_PC_I.
PARAMETERS: P_PC_I LIKE RLGRAP-FILENAME OBLIGATORY DEFAULT 'D:TEST'.
SELECTION-SCREEN: END OF LINE.
...
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PC_I.
*
DATA: LV_CNT TYPE I,
FILE TYPE STRING,
LT_FILENAME TYPE FILETABLE,
USER_ACT TYPE I.
*
FILE = P_PC_I.
DATA : MYFILE LIKE RLGRAP-FILENAME.
CALL FUNCTION 'GET_DYNP_VALUE'
EXPORTING
I_FIELD = 'P_PC_I'
I_REPID = sy-repid
I_DYNNR = sy-dynnr
I_CONV_INPUT = ' '
I_CONV_OUTPUT = ' '
CHANGING
O_VALUE = myfile
.
.
FILE = MYFILE.</b>
Neu über Funktionsklasse
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
WINDOW_TITLE = 'PC-File Selektion'
DEFAULT_FILENAME = FILE
CHANGING
FILE_TABLE = LT_FILENAME
RC = LV_CNT
USER_ACTION = USER_ACT
EXCEPTIONS
FILE_OPEN_DIALOG_FAILED = 1
CNTL_ERROR = 2
ERROR_NO_GUI = 3.
*
IF SY-SUBRC <> 0.
*
ENDIF.
IF USER_ACT = '0'.
READ TABLE LT_FILENAME INDEX 1 INTO P_PC_I.
ENDIF.
*
regards,
amit m.
2006 Jul 19 9:55 AM
Hi,
Need to do some things...., i faced the similar one before.call the FM marked in bold and see the coding.implement the same this will work definitely.
copy paste and see.
REPORT ZTEST_REPORT1 .
DATA: V_FILE TYPE STRING,
V_FILE1(120).
PARAMETERS: P_FILE(120) LOWER CASE.
PARAMETERS: P_APPL RADIOBUTTON GROUP G1 user-command ABC default 'X',
P_PRES RADIOBUTTON GROUP G1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
DATA IT_FIELDVALUES TYPE DYNPREAD OCCURS 0 WITH HEADER LINE.
IT_FIELDVALUES-FIELDNAME = 'P_PRES'.
APPEND IT_FIELDVALUES.
IT_FIELDVALUES-FIELDNAME = 'P_APPL'.
APPEND IT_FIELDVALUES.
<b>CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = SY-REPID
DYNUMB = SY-DYNNR
TABLES
DYNPFIELDS = IT_FIELDVALUES
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.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.</b>
READ TABLE IT_FIELDVALUES WITH KEY FIELDNAME = 'P_APPL'.
IF IT_FIELDVALUES-FIELDVALUE = 'X'.
DATA: L_PATH LIKE DXFIELDS-LONGPATH ,
L_ABEND_FLAG LIKE DXFIELDS-ABENDFLAG .
CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'
EXPORTING
I_LOCATION_FLAG = 'A'
I_SERVER = ' '
I_PATH = '/usr/users/'
IMPORTING
O_PATH = L_PATH
ABEND_FLAG = L_ABEND_FLAG
EXCEPTIONS
COMMUNICATION_FAILURE = 1
SYSTEM_FAILURE = 2
RFC_ERROR = 3.
IF SY-SUBRC EQ 0.
P_FILE = L_PATH.
ENDIF.
IF L_ABEND_FLAG = 'X'.
EXIT.
ENDIF.
ELSE.
DATA: FILE LIKE RLGRAP-FILENAME.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
FILE_NAME = FILE.
IF SY-SUBRC = 0.
P_FILE = FILE.
V_FILE = P_FILE.
ENDIF.
ENDIF.Regards
vijay
2006 Jul 19 10:00 AM
Hai
The bellow code is working fine
check the modified code in bold
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(29) T_PC_I.
PARAMETERS: P_PC_I LIKE RLGRAP-FILENAME OBLIGATORY DEFAULT 'D:TEST'.
SELECTION-SCREEN: END OF LINE.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PC_I.
*
DATA: LV_CNT TYPE I,
FILE TYPE STRING,
LT_FILENAME TYPE FILETABLE,
USER_ACT TYPE I.
*
FILE = P_PC_I.
Neu über Funktionsklasse
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
WINDOW_TITLE = 'PC-File Selektion'
DEFAULT_FILENAME = FILE
CHANGING
FILE_TABLE = LT_FILENAME
RC = LV_CNT
USER_ACTION = USER_ACT
EXCEPTIONS
FILE_OPEN_DIALOG_FAILED = 1
CNTL_ERROR = 2
ERROR_NO_GUI = 3.
*
IF SY-SUBRC <> 0.
*
ENDIF.
IF USER_ACT = '0'.
READ TABLE LT_FILENAME INTO P_PC_I INDEX 1 .
start-of-selection.
write : P_PC_I.
Regards
Sreeni
2006 Jul 19 10:24 AM