F4 help for file on selection screen thro objects
Hi Every one,
this report is working , but as i am working ECC6.0 it is showing the obsolete statements
how to rectify it .
pls anybody let me know,
tables rlgrap.
TYPES : BEGIN OF TAB,
MATNR TYPE MATNR ,
MTART TYPE MTART,
END OF TAB.
DATA : ITAB TYPE STANDARD TABLE OF TAB ,
WTAB TYPE TAB.
data: it_tab type filetable,
gd_subrc type i.
data : file0 type string.
selection-screen begin of block m with frame.
select-options: so_fpath for rlgrap-filename.
selection-screen end of block m.
data wfile like line of so_fpath.
at selection-screen on value-request for so_fpath-low.
REFRESH: it_tab.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
WINDOW_TITLE = 'Select File'
DEFAULT_FILENAME = '*.txt'
MULTISELECTION = 'X'
CHANGING
FILE_TABLE = it_tab
RC = gd_subrc.
loop at it_tab into so_fpath-low.
so_fpath-sign = 'I'.
so_fpath-option = 'EQ'.
append so_fpath.
endloop.
move so_fpath+3 to file0.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = FILE0
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = Itab
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
end-of-selection.
write :/ file0.
loop at itab into wtab.
write :/ wtab-matnr.
endloop.
its urgent please...
See the below ex:change file parameter type .
DATA: VFILE TYPE STRING.
DATA: FL(1).
DATA: L_FILETAB TYPE FILETABLE,
L_FILETAB_H TYPE FILETABLE WITH HEADER LINE,
INITIAL_DIR_PATH TYPE STRING,
L_RC TYPE I.
SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
*PARAMETERS: FNAME LIKE RLGRAP-FILENAME OBLIGATORY.
PARAMETERS: FNAME TYPE LOCALFILE OBLIGATORY.
SELECTION-SCREEN: END OF BLOCK B1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR FNAME.
REFRESH L_FILETAB.
INITIAL_DIR_PATH = 'C:\'.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
WINDOW_TITLE = 'Select the Asset Master Data file'
DEFAULT_EXTENSION =
DEFAULT_FILENAME =
FILE_FILTER = 'Text Files (.TXT)|.TXT|'
INITIAL_DIRECTORY = INITIAL_DIR_PATH
MULTISELECTION = SPACE
WITH_ENCODING =
CHANGING
FILE_TABLE = L_FILETAB
RC = L_RC
USER_ACTION =
FILE_ENCODING =
EXCEPTIONS
FILE_OPEN_DIALOG_FAILED = 1
CNTL_ERROR = 2
ERROR_NO_GUI = 3
NOT_SUPPORTED_BY_GUI = 4
OTHERS = 5
IF SY-SUBRC <> 0.
WRITE:/ 'Error while selecting the input file'.
ELSE.
LOOP AT L_FILETAB INTO L_FILETAB_H.
FNAME = L_FILETAB_H-FILENAME.
EXIT.
ENDLOOP.
ENDIF.
FILE = FNAME.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = VFILE
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
VIRUS_SCAN_PROFILE =
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = I_TAB
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.
Similar Messages
-
LSMW :Is it possible to create F4 Help for File path selection
Hi All .,
Please let me know is it possible to create F4 help for file path creation in LSMW .
thanks
SreenivasHi,
I don't get it.
In the step " Specify files" you will have the option to pick your flat file which is on the desktop by pressing F4 .
What is that you exactly want??
Warm regards,
Hari Kiran -
How to define f4 help for parameters in selection screen.
Hi Folks,
I have declared parametrs of type RLGRAP-FILENAME and i want to select the path for the application server file by pressing f4 during run time , not like typing the path in the field input. Pls help me how to do that.
Thanks in advance.
Regards
RajeshHai Rajesh
DATA: I_FILETABLE TYPE FILETABLE,
V_RC TYPE I.
PARAMETERS: P_FILE LIKE RLGRAP-FILENAME. "local file with contracts
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
WINDOW_TITLE = 'Find File'
DEFAULT_EXTENSION = 'C:\'
DEFAULT_FILENAME = ''
FILE_FILTER = ',..'
INITIAL_DIRECTORY =
MULTISELECTION =
WITH_ENCODING =
CHANGING
FILE_TABLE = I_FILETABLE
RC = V_RC
USER_ACTION =
FILE_ENCODING =
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.
READ TABLE I_FILETABLE INTO P_FILE INDEX 1.
Thanks & regards
Sreenivasulu P -
How to create a F4 help for a report selection screen field
hi,
can any one guide me to create F4 help for a field in a selection screen in a report program,plz give me a sample codehi,
Here are the following ways
1.with the help of match code objects we can create the F4 Functionality for Field.
Syntax is :
PARAMETERS: p_org LIKE t527x-orgeh MATCHCODE OBJECT zorg.
2. One more thing is we can do it with Search Help's also.
3. Even we can do it HELP Views also.
Help Views:
You have to create a help view if a view with outer join is needed as selection method of a search help
The selection method of a search help is either a table or a view. If you have to select data from several tables for the search help, you should generally use a database view as selection method. However, a database view always implements an inner join. If you need a view with outer join for the data selection, you have to use a help view as selection method.
All the tables included in a help view must be linked with foreign keys. Only foreign keys that have certain attributes can be used here. The first table to be inserted in the help view is called the primary table of the help view. The tables added to this primary table with foreign keys are called secondary tables.
The functionality of a help view has changed significantly between Release 3.0 and Release 4.0. In Release 3.0, a help view was automatically displayed for the input help (F4 help) for all the fields that were checked against the primary table of the help view. This is no longer the case in Release 4.0.
As of Release 4.0, you must explicitly create a search help that must be linked with the fields for which it is offered (see Linking Search Helps with Screen Fields ).
Existing help views are automatically migrated to search helps when you upgrade to a release higher than 4.0.
A help view implements an outer join, i.e. all the contents of the primary table of the help view are always displayed. You therefore should not formulate a selection condition for fields in one of the secondary tables of the help view. If records of these secondary tables cannot be read as a result of this selection condition, the contents of the corresponding fields of the secondary table are displayed with initial value.
<REMOVED BY MODERATOR>
Edited by: Alvaro Tejada Galindo on Feb 15, 2008 3:15 PM -
F4 help for timestamp on selection screen
Hi experts!
I have this code in custom ALV report:
selection-screen: begin of block b1 with frame title text-t01.
DATA: w_aux_sc_created_at like ztable-sc_created_at.
SELECT-OPTIONS s_sc_c02 for w_aux_sc_created_at.
Ztable-sc_created_at is COMT_CREATED_AT_USR (data element)
COMT_CREATED_AT_USR is standard data type (DEC, lenght 15) domain COM_TSTMP --> UTC Time Stamp Short Form (YYYYMMDDhhmmss) (Output sy-zonlo)
Ok, I would like to show a calendar for select date in my SELECT-OPTIONS custom ALV report like MATCHCODE OBJECT.
A lot of thanks in advance.
Best regards.
djlu
Moderator message: please use more descriptive subject lines from now on, changed for you this time
Edited by: Thomas Zloch on Nov 8, 2010 9:44 AMthanks you for your answer but I fixed it.
I created a select-options in date form (with F4 help) and I convert it to timestamp for my select sentence.
Regards -
How can i set dynamice for week on Selection screen..pls help me..Urgent
Hi..All
please Help me .. i am very confused..
i need to set a varient for week which is dynamic on selection screen.
b) Week from current week to current week + 2. (<b>Dynamic selection)</b>how can i set dynamice for week on Selection screen,,
how can i do this..i am alrady set dynamice variant for Date.. there is option for D.. but in case of week there is a no option.
pls help me..urgent
thamks in advance.
mayukhHi,
I think the way out is use the dynamic select option while setting up the varinat and use sy-datum to sy-datum+9 which should essentially serve the purpose.
While saving the variant, for that particular date field check the Selection variable checkbox, then Choose D
option and then choose current days + or - option from there.
Rgds,
HR -
How Can i SEt Dynamic Variant For WEEK on SELECTION Screen.pls help me..
<b>Hi ALL..
Pls Help Me for this Problem..i am very confused how can i do that...plese tell me proper process..
i want set Dynamice Varient for WEEK on Selection screen..
I have ALrady SET Dynamice Varient for DATE on Selection Screen.ther isd option is D...but in case of WEEK there is a no option...
Plese help me..
thaks in advance..
pls help me..</b>Hello,
Define your select-option in TVARV (assume Z_THISWEEK). And use a program like:
DATA:
zlv_week TYPE KWEEK.
call function 'DATE_GET_WEEK'
exporting date = syst-datum
importing week = zlv_week.
SELECT SINGLE *
FROM tvarvc
WHERE name = 'Z_THISWEEK'
AND type = 'S'
AND numb = '0000'.
tvarvc-low = zlv_week.
IF syst-subrc <> 0.
tvarvc-name = 'Z_THISWEEK'.
tvarvc-type = 'S'.
tvarvc-opti = 'EQ'.
tvarvc-sign = 'I'.
tvarvc-numb = '0000'.
insert tvarvc.
ELSE.
update tvarc.
ENDIF.
Regards,
John. -
frnds,
Im using the FM "KD_GET_FILENAME_ON_F4" to get F4 help for file name in presentation server... but it does not seem to work...Y?????????
and is there any FM to get the file name from the application server..
points assured to all the answers...
regrds,
Madan...Try to use WS_FILENAME_GET
call function 'WS_FILENAME_GET'
exporting def_filename = space
def_path =
mask = ',. ,..'
mode = 'O'
title = text-038
importing filename = os_name
RC = DUMMY
exceptions inv_winsys = 04
no_batch = 08
selection_cancel = 12
selection_error = 16.
or
at selection-screen on value-request for p_file1.
data wa_file like file_table.
refresh filetable.
call method cl_gui_frontend_services=>file_open_dialog
EXPORTING
WINDOW_TITLE =
DEFAULT_EXTENSION =
DEFAULT_FILENAME =
FILE_FILTER =
INITIAL_DIRECTORY =
MULTISELECTION =
WITH_ENCODING =
changing
file_table = filetable
rc = rc
USER_ACTION =
FILE_ENCODING =
exceptions
file_open_dialog_failed = 1
cntl_error = 2
error_no_gui = 3
not_supported_by_gui = 4
others = 5.
if sy-subrc = 0.
if rc = 1.
read table filetable into wa_file index 1.
move wa_file-filename to p_file1.
endif.
endif.
Max
Message was edited by: max bianchi -
How to Provide search Help for files on Application Server
Hi Guys,
Can anyone tell me How to Provide search Help for files on Application Server. I have put a file name on selection screen. I want to give search help for files on application server.
Thanks & Regards.
Harish.Hi Harish,
Use the following code,
tables sxpgcotabe.
data: lt_execprot LIKE btcxpm OCCURS 0 WITH HEADER LINE,
w_filepath(60) TYPE c, --> length depending on your Directory path.
SELECT SINGLE *
FROM sxpgcotabe
WHERE name = 'LIST_DB2DUMP'
AND opsystem = sy-opsys.
IF sy-subrc <> 0.
SELECT SINGLE *
FROM sxpgcotabe
WHERE name = 'LIST_DB2DUMP'
AND opsystem = 'UNIX'.
IF sy-subrc <> 0.
MESSAGE e000 WITH 'External operating system command '
'LIST_DB2DUMP not found'.
ENDIF.
ENDIF.
sxpgcotabe-parameters = p_filepath. --> provide the directory path.
CALL FUNCTION 'SXPG_COMMAND_EXECUTE'
EXPORTING
commandname = sxpgcotabe-name
additional_parameters = sxpgcotabe-parameters
operatingsystem = sxpgcotabe-opsystem
TABLES
exec_protocol = lt_execprot
EXCEPTIONS
no_permission = 1
command_not_found = 2
parameters_too_long = 3
security_risk = 4
wrong_check_call_interface = 5
program_start_error = 6
program_termination_error = 7
x_error = 8
parameter_expected = 9
too_many_parameters = 10
illegal_command = 11
wrong_asynchronous_parameters = 12
cant_enq_tbtco_entry = 13
jobcount_generation_error = 14
OTHERS = 15.
IF sy-subrc <> 0.
MESSAGE e000 WITH text-e01 p_filepath. "Directory failed
ENDIF.
Loop round the directory list, split each line up into a line table
and get the last data for each line, should be the filename
Then build the dirlist.
REFRESH t_dirlist.
LOOP AT lt_execprot.
REFRESH t_dirline.
SPLIT lt_execprot-message AT space INTO TABLE t_dirline.
DESCRIBE TABLE t_dirline LINES w_nolines.
READ TABLE t_dirline INDEX w_nolines.
MOVE t_dirline-data TO t_dirlist-filename.
APPEND t_dirlist.
ENDLOOP.
Here you will get all the files in the directory mentioned in Application server.
For displaying them as a Search help use the FM '/BMC/ZPOPUP_GET_VALUE'
Pass the Internal table to this FM.
Regards,
Paul. -
Allowing user to submit unix file on selection screen.
how to allow the user to submit the unix file on selection screen.
based on that file data ,the selection screen shd be populated automatically.Refer Sample Code:
constants: c_split TYPE c
VALUE cl_abap_char_utilities=>horizontal_tab,
c_path TYPE char100
VALUE '/local/data/interface/A28/DM/OUT'.
Selection Screen
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : rb_pc RADIOBUTTON GROUP r1 DEFAULT 'X'
USER-COMMAND ucomm, "For Presentation
p_f1 LIKE rlgrap-filename
MODIF ID rb1, "Input File
rb_srv RADIOBUTTON GROUP r1, "For Application
p_f2 LIKE rlgrap-filename
MODIF ID rb2, "Input File
p_direct TYPE char128 MODIF ID abc DEFAULT c_path.
"File directory
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_f1.
*-- Browse Presentation Server
PERFORM f1000_browse_presentation_file.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_f2.
*-- Browse Application Server
<b>PERFORM f1001_browse_appl_file.</b>
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF rb_pc = 'X' AND screen-group1 = 'RB2'.
screen-input = '0'.
MODIFY SCREEN.
ELSEIF rb_srv = 'X' AND screen-group1 = 'RB1'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'ABC'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
*& Form f1000_browse_presentation_file
Pick up the filepath for the file in the presentation server
FORM f1000_browse_presentation_file .
CONSTANTS: lcl_path TYPE char20 VALUE 'C:'.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_path = lcl_path
mask = c_mask "',.,..'
mode = c_mode
title = text-006
IMPORTING
filename = p_f1
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 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.
flg_pre = c_x.
ENDIF.
ENDFORM. " f1000_browse_presentation_file
*& Form f1001_browse_appl_file
Pick up the file path for the file in the application server
FORM f1001_browse_appl_file .
DATA: lcl_directory TYPE char128.
lcl_directory = p_direct.
CALL FUNCTION '/SAPDMC/LSM_F4_SERVER_FILE'
EXPORTING
directory = lcl_directory
filemask = c_mask
IMPORTING
serverfile = p_f2
EXCEPTIONS
canceled_by_user = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE e000(zmm) WITH text-039.
flg_app = 'X'.
ENDIF.
ENDFORM. " f1001_browse_appl_file
*& Form f1003_pre_file
Upload the file from the presentation server
FORM f1003_pre_file .
DATA: lcl_filename TYPE string.
lcl_filename = p_f1.
IF p_f1 IS NOT INITIAL.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = lcl_filename
filetype = 'ASC'
has_field_separator = 'X'
TABLES
data_tab = i_input
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 s000 WITH text-031.
EXIT.
ENDIF.
ELSE.
PERFORM populate_error_log USING space
text-023.
ENDIF.
ENDFORM. " f1003_pre_file
*& Form f1004_app_file
upload the file from the application server
FORM f1004_app_file .
REFRESH: i_input.
OPEN DATASET p_f2 IN TEXT MODE ENCODING DEFAULT FOR INPUT.
IF sy-subrc EQ 0.
DO.
READ DATASET p_f2 INTO wa_input_rec.
IF sy-subrc EQ 0.
*-- Split The CSV record into Work Area
PERFORM f0025_record_split.
*-- Populate internal table.
APPEND wa_input TO i_input.
CLEAR wa_input.
IF sy-subrc <> 0.
MESSAGE s000 WITH text-030.
EXIT.
ENDIF.
ELSE.
EXIT.
ENDIF.
ENDDO.
ENDIF.
ENDFORM. " f1004_app_file
Move the assembly layer file into the work area
FORM f0025_record_split .
CLEAR wa_input.
SPLIT wa_input_rec AT c_split INTO
wa_input-legacykey
wa_input-bu_partner
wa_input-anlage.
ENDFORM. " f0025_record_split
Thanks
Seshu -
Steps to create tabstrip for subscreen in selection screen
hi,
can let me know the steps taken to create subscreen in selection screen and put in tabstrip?
i need to have 3 screens. 1000 being the tabstrip, 2000 being first subscreen and 3000 being the second subscreen.
i have the abap code but i do not know the steps to create especially 1000 screen.
for 2000 and 3000, once i activated the program, these 2 screens added but i do not know where can i create the 1000 screen.
also, should i use wizard to create tabstrip?
please advise. thanks
SELECTION-SCREEN BEGIN OF SCREEN 2000 AS SUBSCREEN. SELECTION-SCREEN BEGIN OF BLOCK x WITH FRAME TITLE text-001.
SELECT-OPTIONS: para1 FOR field1 ,
para2 FOR field2.
SELECTION-SCREEN END OF BLOCK x.
SELECTION-SCREEN END OF SCREEN 2000.
SELECTION-SCREEN BEGIN OF SCREEN 3000 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK y WITH FRAME TITLE text-002.
SELECT-OPTIONS: para3 FOR field3 ,
para4 FOR field4.
SELECTION-SCREEN END OF BLOCK y.
SELECTION-SCREEN:SKIP.
SELECTION-SCREEN END OF SCREEN 3000.e_l,
See the total doc.. with example.
Assigning a Subscreen Area to a Tab Title
You must assign a subscreen area to each tab title. There are two ways of doing this:
Paging in the SAPgui
You need to assign a separate subscreen area to each tab title, and define the function codes of the tab titles with type P (local GUI function). In the screen flow logic, you call all the subscreens in the PBO event. This means that all of the tab pages reside locally on the SAPgui.
When the user chooses a tab title, paging takes place within the SAPgui. In this respect, the tabstrip control behaves like a single screen. In particular, the PAI event is not triggered when the user chooses a tab title, and no data is transported. While this improves the performance of your tabstrip control, it also has the negative effect that when the user does trigger the PAI event, all of the input checks for all of the subscreens are performed. This means that when the user is working on one tab page, the input checks may jump to an unfilled mandatory field on another page.
Local paging at the SAPgui is therefore most appropriate for screens that display data rather than for input screens.
Paging on the Application Server
One subscreen area is shared by all tab titles and called in the PBO event. You define the function codes of the individual tab titles without a special function type. When the user chooses a tab page, the PAI event is triggered, and you must include a module in your flow logic that activates the appropriate tab page and assigns the correct subscreen to the subscreen area.
Since the PAI event is triggered each time the user chooses a tab title, this method is less economical for the application server, but the input checks that are performed only affect the current tab page.
Procedure in Either Case
You create the subscreen areas within the tabstrip area. You assign the subscreen areas to one or more tab titles in the Screen Painter by selecting one or more titles. You can also assign a subscreen area to a tab title in the tab title attributes by entering the name of the subscreen area in the Reference field attribute.
The procedure for the alphanumeric Screen Painter is described under Creating Tabstrip Controls.
If you are paging at the SAPgui, create a subscreen area for each tab title. If you are paging at the application server, select all tab titles and create a single subscreen area. The subscreen areas may not cover the top line of the tab area. However, within a tab area, more than one subscreen area can overlap.
Programming the Flow Logic
In the flow logic, all you have to do by hand is include the correct subscreens. The screen flow and data transport to the ABAP program is the same as for normal subscreens. There are two ways of programming the screen flow logic, depending on how you have decided to page through the tabstrip control.
Paging in the SAPgui
When you page in the SAPgui, you must include a subscreen for each subscreen area:
PROCESS BEFORE OUTPUT.
CALL SUBSCREEN: <area1> INCLUDING [<prog 1>] <dynp 1>,
<area2> INCLUDING [<prog 2>] <dynp 2>,
<area3> INCLUDING [<prog 3>] <dynp 3>,
PROCESS AFTER INPUT.
CALL SUBSCREEN: <area1>,
<area2>,
<area3>,
Paging on the Application Server
When you page on the application server, you only have to include a subscreen for the one subscreen area:
PROCESS BEFORE OUTPUT.
CALL SUBSCREEN <area> INCLUDING [<prog>] <dynp>.
PROCESS AFTER INPUT.
CALL SUBSCREEN <area>.
Handling in the ABAP Program
Before you can use a tabstrip control in your ABAP program, you must create a control for each control in the declaration part of your program using the following statement:
CONTROLS <ctrl> TYPE TABSTRIP.
where <ctrl> is the name of the tabstrip area on a screen in the ABAP program. The control allows the ABAP program to work with the tabstrip control. The statement declares a structure with the name <ctrl> . The only component of this structure that you need in your program is called ACTIVETAB.
Use in the PBO event
Before the screen is displayed, you use the control to set the tab page that is currently active. To do this, assign the function code of the corresponding tab title to the component ACTIVETAB:
<ctrl>-ACTIVETAB = <fcode>.
When you page at the SAPgui, you only need to do this once before the screen is displayed. This initializes the tabstrip control. The default active tab page is the first page. After this, the page activated when the user chooses a tab title is set within SAPgui.
When you page on the application server, you must assign the active page both before the screen is displayed for the first time, and each time the user pages. At the same time, you must set the required subscreen screen.
You can suppress a tab page dynamically by setting the ACTIVE field of table SCREEN to 0 for the corresponding tab title.
Use in the PAI event
In the PAI event, ACTIVETAB contains the function code of the last active tab title on the screen.
When you page in the SAPgui, this allows you to find out the page that the user can currently see. When you page at the application server, the active tab page is controlled by the ABAP program anyway.
The OK_CODE field behaves differently according to the paging method:
Paging in the SAPgui
When you page in the SAPgui, the PAI event is not triggered when the user chooses a tab title, and the OK_CODE field is not filled. The OK_CODE field is only filled by user actions in the GUI status or when the user chooses a pushbutton either outside the tabstrip control or on one of the subscreens.
Paging on the application server
If you are paging at the application server, the PAI event is triggered when the user chooses a tab title, and the OK_CODE field is filled with the corresponding function code.
To page through the tabstrip control, you must assign the function code to the ACTIVETAB component of the control:
<ctrl>-ACTIVETAB = <ok_code>.
This statement overwrites the function code of the last active tab page with that of the new tab title. At the same time, you must ensure that the correct subscreen is inserted in the subscreen area.
Otherwise, tabstrip controls are handled like normal subscrens in ABAP programs, that is, the ABAP program of a subscreen screen must contain the dialog modules called from the flow logic of the subscreen.
Examples
Tabstrip control, paging at SAPgui
REPORT DEMO_DYNPRO_TABSTRIP_LOCAL.
CONTROLS MYTABSTRIP TYPE TABSTRIP.
DATA: OK_CODE TYPE SY-UCOMM,
SAVE_OK TYPE SY-UCOMM.
MYTABSTRIP-ACTIVETAB = 'PUSH2'.
CALL SCREEN 100.
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'SCREEN_100'.
ENDMODULE.
MODULE CANCEL INPUT.
LEAVE PROGRAM.
ENDMODULE.
MODULE USER_COMMAND INPUT.
SAVE_OK = OK_CODE.
CLEAR OK_CODE.
IF SAVE_OK = 'OK'.
MESSAGE I888(SABAPDOCU) WITH 'MYTABSTRIP-ACTIVETAB ='
MYTABSTRIP-ACTIVETAB.
ENDIF.
ENDMODULE.
The next screen (statically defined) for screen 100 is itself. It has the following layout:
The screen contains a tabstrip area called MYTABSTRIP with three tab titles PUSH1, PUSH2 and PUSH3. The function codes have the same name, and all have the function type P. One of the subscreen areas SUB1 to SUB3 is assigned to each tab title. The pushbutton has the name BUTTON and the function code OK.
In the same ABAP program, there are three subscreen screens 110 to 130. Each of these fits the subscreen area exactly. The layout is:
The screen flow logic for screen 100 is as follows:
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
CALL SUBSCREEN: SUB1 INCLUDING SY-REPID '0110',
SUB2 INCLUDING SY-REPID '0120',
SUB3 INCLUDING SY-REPID '0130'.
PROCESS AFTER INPUT.
MODULE CANCEL AT EXIT-COMMAND.
CALL SUBSCREEN: SUB1,
SUB2,
SUB3.
MODULE USER_COMMAND.
The screen flow logic of subscreens 110 to 130 does not contain any module calls.
When you run the program, a screen appears on which the second tab page is active, since the program sets the ACTIVETAB component of the structure MYTABSTRIP to PUSH2 before the screen is displayed. The user can page through the tabstrip control without the PAI event being triggered. One of the three subscreens is included on each tab page.
When the user chooses Continue, the PAI event is triggered, and an information message displays the function code of the tab title of the page that is currently active.
Tabstrip control with paging on the application server.
REPORT DEMO_DYNPRO_TABSTRIP_LOCAL.
CONTROLS MYTABSTRIP TYPE TABSTRIP.
DATA: OK_CODE TYPE SY-UCOMM,
SAVE_OK TYPE SY-UCOMM.
DATA NUMBER TYPE SY-DYNNR.
MYTABSTRIP-ACTIVETAB = 'PUSH2'.
NUMBER = '0120'.
CALL SCREEN 100.
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'SCREEN_100'.
ENDMODULE.
MODULE CANCEL INPUT.
LEAVE PROGRAM.
ENDMODULE.
MODULE USER_COMMAND INPUT.
SAVE_OK = OK_CODE.
CLEAR OK_CODE.
IF SAVE_OK = 'OK'.
MESSAGE I888(SABAPDOCU) WITH 'MYTABSTRIP-ACTIVETAB ='
MYTABSTRIP-ACTIVETAB.
ELSE.
MYTABSTRIP-ACTIVETAB = SAVE_OK.
CASE SAVE_OK.
WHEN 'PUSH1'.
NUMBER = '0110'.
WHEN 'PUSH2'.
NUMBER = '0120'.
WHEN 'PUSH3'.
NUMBER = '0130'.
ENDCASE.
ENDIF.
ENDMODULE.
The statically-defined next screen for screen 100 is itself, and its layout is the same as in the above example. However, the function codes of the three tab titles have the function type <blank> and they all share a single subscreen area SUB.
The same subscreen screens 110 to 130 are defined as in the last example.
The screen flow logic for screen 100 is as follows:
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
CALL SUBSCREEN SUB INCLUDING SY-REPID NUMBER.
PROCESS AFTER INPUT.
MODULE CANCEL AT EXIT-COMMAND.
CALL SUBSCREEN SUB.
MODULE USER_COMMAND.
In this example, the program includes a subscreen screen in the subscreen area SUB dynamically during the PBO event.
The screen flow logic of subscreens 110 to 130 does not contain any module calls.
This example has the same function as the previous example, but the paging within the tabstrip control is implemented on the application server. Each time the user chooses a tab title, the function code from the OK_CODE field is assigned to the ACTIVETAB component of structure MYTABSTRIP. At the same time, the variable NUMBER is filled with the screen number of the subscreen that has to be displayed in the subscreen area SUB of the tabstrip control
Pls. reward if useful -
F4 help for file path in selection screen.
Hi there,
I defined one parameter p_path for file path using RLGRAP-FILENAME. I have not got F4 for this. How to solve this problem, can anybody pls help.
Regards,
Naseer.Hi,
refer to the following code:
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_pc.
DATA: it_tab TYPE filetable,
wf_subrc TYPE i.
DATA: wf_pcfile LIKE rlgrap-filename.
DATA: wf_filter TYPE string,
wf_dir TYPE string,
wf_title TYPE string,
wf_ext TYPE string.
* if p_ml = 'X'. "Manula Load - PC File
wf_title = text-012. "Window title
wf_ext = '.TXT'. "Extension of the file
wf_filter = 'Text Files (*.TXT)|*.TXT'. "File Type
wf_dir = wf_pcfile. "Directory
*Adds a GUI-Supported Feature
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = wf_title
default_extension = wf_ext
file_filter = wf_filter
initial_directory = wf_dir
CHANGING
file_table = it_tab
rc = wf_subrc.
Hope this helps.
<REMOVED BY MODERATOR>
Regards,
Sipra
Edited by: Alvaro Tejada Galindo on Jan 31, 2008 9:48 AM -
F4 help for file path in the Application server
Hi All,
i want to provide the F4 help so as to enable us to give the file path in the application server (AL11). I'm in version 4.0
Regards
ShekharHi
Copy paste the following code and see the result
Here you can see 2 types of open dialogs
1. Directory View
2. File View
Use any one as per your requirement.
DATA : l_filetable TYPE filetable,
l_rc TYPE i.
DATA: l_folder TYPE string,
l_file TYPE string.
PARAMETERS: p_folder(100) TYPE c,
p_file(100) TYPE c.
*Provide a Dialogue box for getting a folder path
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_folder.
CALL METHOD cl_gui_frontend_services=>directory_browse
EXPORTING
window_title = 'Select Folder Path'
initial_folder = 'D:\'
CHANGING
selected_folder = l_folder.
p_folder = l_folder.
*Provide a Dialogue box for getting a file path
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = 'Select a Text File'
initial_directory = l_folder
CHANGING
file_table = l_filetable
rc = l_rc.
Reward points generously
Regards
Akshay Chonkar
READ TABLE l_filetable INTO p_file INDEX 1.
CHECK sy-subrc <> 0. -
Reading Text File from selection Screen and populating table (Urgent)
Hi All,
I have some requirment like i in my report i have to initial my Input feild from text file is it good to populate a internal table or range.
I have three feild in a excel file that entry can more then 500
data example
Matnr Date Day
A1 10.07.2007 12
B1 10.07.2007 10
A1 19.07.2007 15
C1 20.08.2007 30
E1 11.09.2007 12
This report for Price Protection claim.
even u can help me out with proper table plz this is urgent.Hi..
<b>parameters:</b>
p_file(50) type c.
<b>data:</b>
begin of itab occurs 0,
matnr type vbak-matnr,
date type sy-datum,
day(2) type n,
end of itab.
<b>at selection-screen on value-request for p_fname.</b>
perform get_path.
<b>start-of-selection.</b>
<b>CALL FUNCTION 'GUI_UPLOAD'</b>
<b>EXPORTING
FILENAME = p_fname
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'</b>
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
VIRUS_SCAN_PROFILE =
IMPORTING
FILELENGTH =
HEADER =
<b> TABLES
DATA_TAB = itab</b>
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.
This Sub routine is used to get the file name
*There are no interface parameters passed to this subroutine.
FORM get_path .
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
DEF_FILENAME = P_FNAME
DEF_PATH = ' '
MASK = ' '
MODE = ' '
TITLE = ' '
IMPORTING
FILENAME = P_FNAME
RC =
EXCEPTIONS
INV_WINSYS = 1
NO_BATCH = 2
SELECTION_CANCEL = 3
SELECTION_ERROR = 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.
ENDFORM. " get_path
data: -
Report help for multiple Date Select options
Hi Friends,
For a particular year wise report, the client wants 12 date select-options which are changeable and informal every year .The report will also be displayed as per the given date selection period wise. Please help me how to fetch the datas from the table as per the given selection period. Currently the report have one date select-option where the user gives selection range as 1.04 to 31.03. It's related to EB power consumption report and hence the new requirement on date selection which are informal and not a fixed date of every year.
Ex:Selection-Screen
Period 1 : 08.04.2008 to 12.05.2008
Period 2: 12.05.2008 to 20.06.2008
Period 3: 21.06.2008 to 28.07.2008
Period 4: 29.07.2008 to 15.08.2008
Period 5: 15.08.2008 to 21.09.2008
Period 6 : 21.09.2008 to 14.10.2008
The data will derive as per the above selection ranges.......
Please advise with example.
thanks & regards
Sankar.>
sankar babu wrote:
> Ex:Selection-Screen
> Period 1 : 08.04.2008 to 12.05.2008
> Period 2: 12.05.2008 to 20.06.2008
> Period 3: 21.06.2008 to 28.07.2008
> Period 4: 29.07.2008 to 15.08.2008
> Period 5: 15.08.2008 to 21.09.2008
> Period 6 : 21.09.2008 to 14.10.2008
Hi,
In this case just derive all records matching dates between 08.04.2008 (low in first select-options) and 14.10.2008(high in last select-options.
Also my advice is to use a single select-options and prompt the user to give the dates as ranges in the multiple entries dialog which can be opened by clicking the button on the right side of the select-options.
Regards
Karthik D
Maybe you are looking for
-
Dear All, I am using MB5S Report for GR/IR Clearing balance. My client wants cleared Items only. (MIRO completed only.).I am selecting Cleared items too check box only then execute. But i am not getting all cleared items. (MIRO completed only). Pleas
-
How can i move to a new page in smartform?
hi friends i hav a smartform with two pages. the fist page contains the Main window and 3 Secondary windows. in the 1st page i'm displaying some line items and in the main window i gave the command to go to Page 2. the 2nd page contains only one Seco
-
Tricky dynamic date variant in ABAP query
Hello All, In an abap query there is a date field in the selection screen with from & to values. I am trying to create a dynamic variant that will fill the following data into those fields: From date: will be left blank To date: will show today's dat
-
Why has my ipad2 slowed down after 8.0.2 ?
MMy iPad2 slowed to a crawl after installing 8.0.2. Everything takes seconds to load, emails open slowly, etc
-
OA Page access without attaching to any responsibility
All, I have developed a page where employees can select the gift items. But this selection is possible only on their anniversary day. The page access link should not be available at any time. So the plan is to send the page access link to them by ema