Selection screen basic doubt...
Hi,
I was looking at sample ABAP code in ABAPDOCU for learning ABAP objects and trying to replicate the smae in my own ZREPORT.
SELECTION-SCREEN BEGIN OF SCREEN 100 AS WINDOW TITLE text-100.
PARAMETERS: button1 RADIOBUTTON GROUP grp,
button2 RADIOBUTTON GROUP grp,
button3 RADIOBUTTON GROUP grp,
button4 RADIOBUTTON GROUP grp.
SELECTION-SCREEN END OF SCREEN 100.
I have following questions:
1) Don't I need to design screen 100 when I copy the standard ABAPDOCU code in my ZREPORT ?
2) If I change the screen 100 to 123 in the sample code like
SELECTION-SCREEN BEGIN OF SCREEN 123 AS WINDOW TITLE text-123.
PARAMETERS: button1 RADIOBUTTON GROUP grp,
button2 RADIOBUTTON GROUP grp,
button3 RADIOBUTTON GROUP grp,
button4 RADIOBUTTON GROUP grp.
SELECTION-SCREEN END OF SCREEN 100.
and then run the zeport, it gives an ABAP DUMP as follows:
"Program "ZOBJECT" tried to use screen 0100.
The screen does not exist."
But I am not using 100 now , I am using 123...
Please help..
Regards,
Rajesh.
If you copy the code to a "Z" report...You should also copy the SCREEN in SE51....If you change 100 for 123 you should also modified that in your copied SCREEN.
Look for the CALL SCREEN statement inside the program...
Greetings,
Blag.
Similar Messages
-
At selection screen validation doubt
i hav At selection screen like this:-
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
TABLES : tfdir.
DATA : prg_name LIKE sy-repid,
dynp_numb LIKE sy-dynnr,
field_name LIKE dynpread-fieldname.
SELECT SINGLE * FROM tfdir WHERE funcname = 'F4_FILENAME'.
IF sy-subrc EQ 0.
prg_name = sy-repid.
dynp_numb = sy-dynnr.
field_name = 'p_path'.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = prg_name
dynpro_number = dynp_numb
field_name = field_name
IMPORTING
file_name = p_path.
ENDIF.
IF sy-subrc NE 0.
MESSAGE i000(zmsg).
ENDIF.
This fm is getting file name.
But I need only files with format " *.CSV " in this criteria.
How should I do this?Hi Hari,
just run this
report zanid_test.
tables rlgrap.
data: it_tab type filetable,
gd_subrc type i.
selection-screen begin of block m with frame.
select-options so_fpath for rlgrap-filename.
selection-screen end of block m.
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 = '*.csv'
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. -
Mandatory parameter field in selection screen
Hi Experts,
As there are 2 options to get the input from the user. When I use select options because I need to make the field mandatory, it displays the output(blank) whenever there is no input/irrelevant input. When I use parameters, I cannot make it mandatory.
I need to display text boxes in the selection screen which should be mandatory and should only proceed when the user enters relevant data.
Please note that I have put the validation in the select options for a field like month as:
if s_month-low > '12' or s_month < '1'.
MESSAGE 'Please enter a valid month' type 'E'.
endif.
but for a id, there is a search help. If the user do not enter the value from a search help, it displays the blank output. How to put validation on this?
Regards
ManiHi Mani,
You can do a validation at AT Selection Screen.Basically it will do a select single and try to fetch any line item.
A sample example as follows..
At Selection-Screen on S_DATE.
if S_date is not initial.
Perform validatedate.
Endif.
Form Validatedate.
Select single date
from DB table
where date in S_date.
endform.
if Sysubrc ne 0.
MESSAGE 'Please enter a valid month' type 'E'.
endif.
Regards,
Kannan -
Hi i have a doubt in selection screen I had given statement as below now i can see the output screen and i'm getting the output also now i want to know the value of only one vendor. If i had given a vendor number it must select the particular data of that vendor only can u give me any suggestions please
SELECTION-SCREEN BEGIN OF BLOCK P WITH FRAME TITLE TEXT-000.
PARAMETERS: VENDORNO like EKKo-LIFNR,
PURORG like EKKO-EKORG,
PLANT like EKPO-WERKS,
PURDOC like EKKO-BEDAT.
SELECTION-SCREEN END OF BLOCK P.Hi Pavan,
<b>I think this is what u required when u select vendor number automatically for that particular vendor u require values in the remaining 3 parameter fields.
</b>
REPORT zex31 .
PARAMETERS: vendorno LIKE ekko-lifnr,
purorg LIKE ekko-ekorg,
plant LIKE ekpo-werks,
purdoc LIKE ekko-bedat.
DATA: dynfields TYPE TABLE OF dynpread WITH HEADER LINE.
DATA: return TYPE TABLE OF ddshretval WITH HEADER LINE.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR vendorno.
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
tabname = 'EKKO'
fieldname = 'LIFNR'
dynpprog = sy-cprog
dynpnr = sy-dynnr
dynprofield = 'VENDORNO'
TABLES
return_tab = return
EXCEPTIONS
field_not_found = 1
no_help_for_field = 2
inconsistent_help = 3
no_values_found = 4
OTHERS = 5.
BREAK-POINT.
REFRESH dynfields.
READ TABLE return WITH KEY fieldname = 'VENDORNO'.
Add it back to the dynpro.
dynfields-fieldname = return-retfield.
dynfields-fieldvalue = return-fieldval.
APPEND dynfields.
Get the company code from db and add to dynpro
DATA: xekko TYPE ekko,
xekpo TYPE ekpo.
CLEAR xekko.
CLEAR xekpo.
SELECT SINGLE * INTO xekko
FROM ekko
WHERE lifnr = return-fieldval.
dynfields-fieldname = 'PURORG'.
dynfields-fieldvalue = xekko-ekorg.
APPEND dynfields.
dynfields-fieldname = 'PURDOC'.
dynfields-fieldvalue = xekko-bedat.
APPEND dynfields.
SELECT SINGLE * INTO xekpo
FROM ekpo
WHERE ebeln = xekko-ebeln.
dynfields-fieldname = 'PLANT'.
dynfields-fieldvalue = xekpo-werks.
APPEND dynfields.
Update the dynpro values.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
TABLES
dynpfields = dynfields
EXCEPTIONS
OTHERS = 8.
START-OF-SELECTION. -
Hi gurus,
I done one report to get the Purchase order details. At the time of creating purchase order the users enters a One text field in the Purchase order header text of ME21N transaction. I need to fetch that field into Report. Upto this its fine. I also done this report by using the function module "READ_TEXT". The o/p is also generated successfully.
But now our client is asking, Please put that text field in selection-screen. Once he presses F4 in that field he needs to display all the values in text field. I know how to do if it is a table field. But it is a purchase order header text. Client enters different text when he creates diferent purchase orders.
Based on that text field only the report o/p will needs to display.
For example:
The User1 creats a Purchase order using ME21N. In that he enters Purchase order header text as ABC.
when ever he creats a purchase order he enters only ABC.In this way he creats 100 Purchase orders.
if the user execute the report and in selection screen of that text field , suppose he gives a ABC, only those 100 purchase orders only needs to appear.
Like this so many users enters no.of text items. Suppose there are 100 users. totally 100 text values will be there.
once he presses F4 help on the selecton screen all 100 values need to display. And this is dynamic, the no may increase in future also. thats totally depends on Purcase orders.
Please guide me how to do this.
Thanks in Advance...
Thanks and Regards
Siri........hi frnd,
try like this
write the logic to fetch text fields into some internal table in
at selection-screen output event.
and pass this to selection-option as f4 using ...> call function 'F4IF_INT_TABLE_VALUE_REQUEST'.
ex
at selection-screen output.
use fm "READ_TEXT". and assign all values to one internal table
then
call function 'F4IF_INT_TABLE_VALUE_REQUEST'.
hope it may help u.
regards,
chandu -
Doubt on browse button in selection screen
Hi,
Iam writing the selection screen for presentation server and application server. I want to enter file for them. I am not using any LDB . I am writing the BDC program. Iam not using any Classes and Methods.
How to write Code for the BROWSE button.
Regards,
Ramana.PARAMETERS: P_PSFILE TYPE LOCALFILE DEFAULT TEXT-051,
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PSFILE.
PERFORM F4_GET_FILE_NAME USING TEXT-132
CHANGING GV_FILENAME P_PSFILE.
FORM F4_GET_FILE_NAME USING P_DEFAULTPATH TYPE STRING
CHANGING P_LV_FILENAME TYPE STRING
P_FILENAME TYPE LOCALFILE.
DATA : LV_RC TYPE SY-SUBRC,
LV_INIT_DIR TYPE STRING,
LT_FILETABLE TYPE FILETABLE,
LS_FILETABLE LIKE LINE OF LT_FILETABLE.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
WINDOW_TITLE = 'Select File and Path'
DEFAULT_EXTENSION = 'XLS'
DEFAULT_FILENAME = 'Vendor_Lot_Data'
FILE_FILTER = '*.XLS'
WITH_ENCODING =
INITIAL_DIRECTORY = P_DEFAULTPATH
MULTISELECTION =
CHANGING
FILE_TABLE = LT_FILETABLE
RC = LV_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 .
LV_RC = SY-SUBRC.
IF LV_RC <> 0.
MESSAGE 'File Path Not Found' TYPE 'I'.
ELSE.
READ TABLE LT_FILETABLE INTO LS_FILETABLE INDEX 1.
FREE LT_FILETABLE.
P_FILENAME = LS_FILETABLE-FILENAME.
ENDIF.
P_LV_FILENAME = P_FILENAME.
ENDFORM.
Reward if usefull
Narendra -
Hi all,
Am having two select-options in my selection screen..If i press F4 for 2nd select-option then i have to get values based on input given for first select -option.
How to code for this requirement....hi u need to read the value entered in the first parameter dynamically, i have a sample, check the same
here i am reading the value in the first parameter drop down
AT SELECTION-SCREEN ON VALUE-REQUEST FOR ST_NAME.
CLEAR: FIELD_VALUE, DYNPRO_VALUES.
REFRESH DYNPRO_VALUES.
FIELD_VALUE-FIELDNAME = 'EXCH'.
APPEND FIELD_VALUE TO DYNPRO_VALUES.
<b> CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = SY-CPROG
DYNUMB = SY-DYNNR
TRANSLATE_TO_UPPER = 'X'
TABLES
DYNPFIELDS = DYNPRO_VALUES.</b>
READ TABLE DYNPRO_VALUES INDEX 1 INTO FIELD_VALUE.
IF FIELD_VALUE-FIELDVALUE IS NOT INITIAL.
IF SY-SUBRC = 0 AND FIELD_VALUE-FIELDVALUE = 1.
FIELD_VALUE-FIELDVALUE = 'BSE'.
ELSEIF SY-SUBRC = 0 AND FIELD_VALUE-FIELDVALUE = 2.
FIELD_VALUE-FIELDVALUE = 'NSE'.
ENDIF.
SELECT STOCK ST_NAME
CURRPR
FROM
ZEXCH
INTO TABLE TEMP_ITAB
WHERE EXCH = FIELD_VALUE-FIELDVALUE.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'ST_NAME'
DYNPPROG = SY-CPROG
DYNPNR = SY-DYNNR
DYNPROFIELD = 'ST_NAME'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = TEMP_ITAB
RETURN_TAB = RETURN.
SELECT STOCK CURRPR
FROM ZEXCH
INTO (T_CODE, T_CURRPR)
WHERE ST_NAME = RETURN-FIELDVAL.
ENDSELECT.
CLEAR DYNPRO_VALUES[].
FIELD_VALUE-FIELDNAME = 'ST_NAME'.
FIELD_VALUE-FIELDVALUE = RETURN-FIELDVAL.
APPEND FIELD_VALUE TO DYNPRO_VALUES .
FIELD_VALUE-FIELDNAME = 'ST_CODE'.
FIELD_VALUE-FIELDVALUE = T_CODE.
APPEND FIELD_VALUE TO DYNPRO_VALUES .
CALL FUNCTION 'HRCM_AMOUNT_TO_STRING_CONVERT'
EXPORTING
BETRG = T_CURRPR
IMPORTING
STRING = T_CHAR.
FIELD_VALUE-FIELDNAME = 'CURRPR'.
FIELD_VALUE-FIELDVALUE = T_CHAR.
APPEND FIELD_VALUE TO DYNPRO_VALUES .
* Update the dynpro values.
<b> CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
DYNAME = SY-CPROG
DYNUMB = SY-DYNNR
TABLES
DYNPFIELDS = DYNPRO_VALUES.</b>
ENDIF.
<b>award points for helpful answers</b> -
Hi all!
I have to show the inspection lot details (QA32) as per the requirements given in the selection screen.
In my selection screen , I should have select option for Inspection lot created date(QALS-ENSTEHDAT) and lot created time (QALS-ENTSTEZEIT). I would like to know the lots created from yesterday evening till today morning.
When I give the values 09.02.2008 to 10.02.2008 for date and 17:30:00 to 10:00:00 for time , it'll obviously intimate that 'From- time is greater than To- time'.Is there any way to relate the From-date to From-time and To-date to To-time in the selection screen , so that my problem will be solved.Please help with possible code.
Edited by: Jayasri P. on Feb 9, 2008 5:55 AMHi,
try this.........
TABLES qals.
DATA it_qals TYPE TABLE OF qals WITH HEADER LINE.
SELECT-OPTIONS s_date FOR qals-enstehdat NO-EXTENSION.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN comment (10) for field p_timel.
SELECTION-SCREEN POSITION 35.
PARAMETERS p_timel LIKE qals-entstezeit.
SELECTION-SCREEN comment 54(2) for field p_timeh.
SELECTION-SCREEN POSITION 60.
PARAMETERS p_timeh LIKE qals-entstezeit.
SELECTION-SCREEN END OF LINE.
SELECT *
FROM qals
INTO TABLE it_qals
WHERE enstehdat IN s_date.
IF sy-subrc IS INITIAL.
SORT it_qals BY enstehdat entstezeit.
LOOP AT it_qals WHERE enstehdat EQ s_date-low
OR enstehdat EQ s_date-high.
CASE it_qals-enstehdat.
WHEN s_date-low.
IF it_qals-entstezeit LT p_timel.
DELETE it_qals.
ENDIF.
WHEN s_date-high.
IF it_qals-entstezeit GT p_timeh.
DELETE it_qals.
ENDIF.
ENDCASE.
ENDLOOP.
ENDIF.
LOOP AT it_qals.
WRITE : / it_qals-enstehdat ,it_qals-entstezeit.
ENDLOOP.
also goto selection text and give descriptionas below..
P_TIMEH to
P_TIMEL Time
S_DATE Date
Cheers,
jose. -
Doubt in Selection-Screen for Program type "Function Group"
Hi Gurus,
I created a Function group in that i created one screen and writtem the Screen flow logic. In that screen I called a Function module "COMPLEX_SELECTIONS_DIALOG" For Creating a selection-Screen.
The code snippet is like below.
CASE ok_code .
WHEN c_clk1.
CALL FUNCTION 'COMPLEX_SELECTIONS_DIALOG'
EXPORTING
title = text-002
text = 'Material Number'
signed = 'X'
lower_case = ' '
no_interval_check = ' '
just_display = ' ' " Un commented by Srihari
just_incl = 'X' " Un commented by Srihari
excluded_options =
description =
help_field =
search_help =
tab_and_field = st_tab
TABLES
range = r_matnr
EXCEPTIONS
no_range_tab = 1
cancelled = 2
internal_error = 3
invalid_fieldname = 4
OTHERS = 5.
it works fine. But the problem is if i click the multiple selection button for the select-option in selection screen and enter the values and copy those value. In the multiple selection button green button is not coming like noram report selection-screen. Please remember I used the program type as "Function Group" not "Module Pool".
Please send your suggestions.
Thanks,
Srihari.Ok, I am not 100% sure, if I understand you correctly, you said, you created one screen to 'simulate' a standard selection screen behavior without using select-options statement?
If that's not correct, could you please post a few more details on what exactly you are doing.
I had to 'simulate' a select-option behavior which I did as follows:
- I created a range variable to store the values (s_ctby)
- on the screen I defined the LOW (s_ctby-low), HIGH (s_ctby-high) and the multiple selection field pushbutton
- In the PBO I set the icons for the multiple selection pushbutton
READ TABLE s_ctby INDEX 2 TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
gv_createby = gc_icon_enter_data.
ELSE.
gv_createby = gc_icon_disp_data.
ENDIF.
- In the PBO make sure that any values entered on the screen are transferred to the range
* transfer any changed values into the correct range for user transaction
* (screen 0110) because that screen just 'simulates' a selection screen
* so we have to make sure that any data the user enters in the selection
* fields is passed into the appropriate ranges
IF sy-tcode EQ gc_trans_user.
* created by
IF NOT s_ctby-high IS INITIAL.
s_ctby-sign = c_i.
s_ctby-option = c_bt.
IF s_ctby[] IS INITIAL.
INSERT s_ctby INDEX 1.
ELSE.
MODIFY s_ctby INDEX 1.
ENDIF.
ELSEIF NOT s_ctby-low IS INITIAL AND
s_ctby-high IS INITIAL.
s_ctby-sign = c_i.
s_ctby-option = c_eq.
IF s_ctby[] IS INITIAL.
INSERT s_ctby INDEX 1.
ELSE.
MODIFY s_ctby INDEX 1.
ENDIF.
ELSEIF s_ctby-low IS INITIAL AND
s_ctby-high IS INITIAL.
DELETE s_ctby INDEX 1.
ENDIF.
- If the user hits the multiple selection pushbutton
WHEN gc_fc_create_by.
* if the user hits the multiple selection button on the screen
* we call the standard SAP functionality to show the multiple
* selection popup SAP uses on a standard selection screen
CALL FUNCTION 'COMPLEX_SELECTIONS_DIALOG'
EXPORTING
title = text-t02
TABLES
range = s_ctby
EXCEPTIONS
no_range_tab = 1
cancelled = 2
internal_error = 3
invalid_fieldname = 4
OTHERS = 5.
IF sy-subrc NE 0 AND NOT sy-msgty IS INITIAL.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* now update the header line so the screen fields display the correct values
CLEAR s_ctby.
READ TABLE s_ctby INDEX 1.
Hope that helps,
Michael -
I have doubt in Selection Screen
Hi all.
I was created Dialogue screen as a initial screen 9000. after that i changed 1000 as initial screen (Selection screen),Moved 9000 as second screen,i have some application tool bar in selection screen 1000.it is displaying when iam execute my program without transaction code.but it does not display when i execute programe by Transaction code,i was given screen no 1000 for t-code.
Regards,
JayHi Jay,
Although i am not fully clear of the situation..please try the following suggestions that may prove useful..
1) for dummy sake try creating a new Tcode with dialog (option 1) again and see it you can achieve the desired output by running it...if not you can delete the new tcode you have created
Reason : Creating a fresh Tcode may put an end to your problem because i guess that you may have created the tcode first and reassigned the screens later......
2) try the "set PF status" code written in the module...if possible debugg in the Tcode and direct execute version marking the "Set PF status" as break point..
I am sure you can come up with something there...
ReAson : Last resort of any ABAPer is the debugger...
Regards
BX
"Happy New Year" -
Doubt in selection screen modification
Hi all,
I have a Checkbox (select all) in my selection screen and 23 other check boxes.
When i click the 'select all' checkbox, all the 23 checkboxes should be selected automatically in the selection screen and the lf i remove the tick mark in the checkbox, all the 23 check boxes should be cleared automatically and it should allow the user to select any of the checkboxes on his own..
I'm able to select all, when it is ticked. But my pbm is when the 'select all' tick mark is removed, i'm clearing all the 23 checkboxes. so after this, if the user a select any check box on his own, it is not taken. Bcoz, i'm clearing all the value in 'at selection screen' event.
Could any one help to achieve this ...
Regards,
ShanthiHi Shanti,
Here is the modified code of the fellow SDN. Just check. It works as u requested.
REPORT zvenkat_notepad.
SELECTION-SCREEN : BEGIN OF BLOCK blk1 WITH FRAME.
PARAMETERS:p_all AS CHECKBOX USER-COMMAND rusr.
SELECTION-SCREEN : END OF BLOCK blk1.
SELECTION-SCREEN : BEGIN OF BLOCK blk2 WITH FRAME.
PARAMETERS: p_chk1 AS CHECKBOX,
p_chk2 AS CHECKBOX,
p_chk3 AS CHECKBOX,
p_chk4 AS CHECKBOX,
p_chk5 AS CHECKBOX,
p_chk6 AS CHECKBOX,
p_chk7 AS CHECKBOX,
p_chk8 AS CHECKBOX,
p_chk9 AS CHECKBOX,
p_chk10 AS CHECKBOX,
p_chk11 AS CHECKBOX,
p_chk12 AS CHECKBOX,
p_chk13 AS CHECKBOX,
p_chk14 AS CHECKBOX,
p_chk15 AS CHECKBOX,
p_chk16 AS CHECKBOX,
p_chk17 AS CHECKBOX,
p_chk18 AS CHECKBOX,
p_chk19 AS CHECKBOX,
p_chk20 AS CHECKBOX,
p_chk21 AS CHECKBOX,
p_chk22 AS CHECKBOX,
p_chk23 AS CHECKBOX.
SELECTION-SCREEN : END OF BLOCK blk2.
AT SELECTION-SCREEN." OUTPUT.
IF p_all = 'X'.
p_chk1 = 'X'.
p_chk2 = 'X'.
p_chk3 = 'X'.
p_chk4 = 'X'.
p_chk5 = 'X'.
p_chk6 = 'X'.
p_chk7 = 'X'.
p_chk8 = 'X'.
p_chk9 = 'X'.
p_chk10 = 'X'.
p_chk11 = 'X'.
p_chk12 = 'X'.
p_chk13 = 'X'.
p_chk14 = 'X'.
p_chk15 = 'X'.
p_chk16 = 'X'.
p_chk17 = 'X'.
p_chk18 = 'X'.
p_chk19 = 'X'.
p_chk20 = 'X'.
p_chk21 = 'X'.
p_chk22 = 'X'.
p_chk23 = 'X'.
ENDIF.
IF sy-ucomm = 'RUSR' AND p_all = space.
CLEAR:
p_chk1,
p_chk2,
p_chk3,
p_chk4,
p_chk5,
p_chk6,
p_chk7,
p_chk8,
p_chk9,
p_chk10,
p_chk11,
p_chk12,
p_chk13,
p_chk14,
p_chk15,
p_chk16,
p_chk17,
p_chk18,
p_chk19,
p_chk20,
p_chk21,
p_chk22,
p_chk23.
ENDIF.
Regards,
Venkat.O -
Basics of selection screen.
hello friends,
i need to create a selection screen, with following elements.
two fields as range start and end period,
1 field for date input in mm/dd/yyyy format.
two radio buttons with in a group.
1 field for taking file path.
can some one help.selection-screen begin of block b1 with frame title text-001.
selection-screen begin of line.
selection-screen comment 1(31) text-020.
parameters: p_date1 like sy-datum obligatory.
selection-screen comment 50(10) text-021.
parameters: p_date2 like sy-datum obligatory.
selection-screen end of line.
selection-screen end of block b1.
select-options s_date for sy-datum.
parameters p_file like rlgrap-filename.
parameters : p_rad1 radiobutton group rad1,
p_rad2 radiobutton group rad1. -
General selection screen doubt
Hi
what is the difference between the following two
selection screen
select-options:sid FOR Zxxx-ID NO-EXTENSION NO INTERVALS.
parameters : sid like zxxx-id.
I KNOW I HAVE TO USE IN FOR FIRST AND = FOR SECOND IN SELECT QUERIES.
Apart from that is there any difference that has to be taken care in the program
Thanks .... NO-EXTENSION
Effect
The user can only make an entry on one line. Calling the additional "Multiple Selection" screen is not supported and no pushbutton for this appears on the selection screen.
Addition 12
... NO INTERVALS
Effect
The selection option is displayed on the selection screen without a 'to' field. The pushbutton for calling the "Multiple Selection" screen appears immediately after the 'from' field.
This addition thus allows you to generate a simplified display on the selection screen. This is particularly useful if you are not making any range selections for this selection option.
<b>with this ranges can be included where as with parameters they cannot be included</b> ..
Regards,
Santosh -
can anyone help on this:-
i hav tables pa0000, pa0001, pa2001.
my selection screen:-
parameters : S_BTRTL LIKE PA0001-BTRTL,
s_month like ?
how should i get month in the selection screen?
i am callig fun module:-REAL_ESTATE_F4_MONTH to get the month .
so i taken like this
s_month like VVIS_SOPTI-SMONTH.
when i am retriving data from select queries based on selection screen...
eg: - select .... from .. where btrtl eq s_btrtl
<b>smonth eq s_month</b>.
it's showing errror smonth is unknown?
Am I called the right function module?Hi hari bhai,
Here is the code. almost everything is perfect.except one where condition thats giving error, you check your second select statement and modify it.
the report is ok.
AND PLEASEE reward points, may be 10 to this and 6 to some other also. so much modification wanted.
REPORT ZANID_TEST.
PARAMETERS : S_MONTH LIKE VVIS_SOPTI-SMONTH default '03',
S_BTRTL LIKE PA0001-BTRTL default 'EAS'.
data: start_date like sy-datum,
end_date like sy-datum." VALUE '99991231'.
data : BEGIN OF EMP_DATA OCCURS 0, "INTERNAL TABLE
count_workerno type i,
count_daylost type i,
sub_text(100),
END OF EMP_DATA.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_MONTH.
CALL FUNCTION 'REAL_ESTATE_F4_MONTH'
EXPORTING
I_MONTH = 00
I_POPUP_TITLE = 'Choose Month'
IMPORTING
E_MONTH = s_month .
start-of-selection.
concatenate sy-datum(4) s_month '01' into start_date.
concatenate sy-datum(4) s_month '31' into end_date.
SELECT COUNT(*) INTO EMP_DATA-count_workerno
FROM PA0000 AS a inner join PA2001 as b on apernr = bpernr
inner join PA0001 as c on apernr = cpernr
WHERE aENDDA = '99991231' AND aSTAT2 = '3'
and ( b~awart eq '0591' )
and c~btrtl = s_btrtl.
SELECT COUNT(*) INTO EMP_DATA-count_daylost FROM PA2001 AS A
INNER JOIN PA0001 AS B ON APERNR = BPERNR
WHERE
*AABWTG = BABWTG AND
B~BTRTL = S_BTRTL.
select single btext from t001p
into EMP_DATA-sub_text
where BTRTL = s_BTRTL.
APPEND EMP_DATA.
Format color COL_HEADING on.
write sy-uline(80).
write:/ sy-vline, ' No of worker ', sy-vline.
write:' No of Lost Work-day', sy-vline.
write: 50 ' Sub-Area text',
80 sy-vline.
write:/ sy-uline(80).
Format color COL_HEADING off.
loop at emp_data.
write:/ sy-vline,
2 EMP_DATA-count_workerno ,
18 sy-vline.
write: 21 EMP_DATA-count_daylost ,
41 sy-vline.
write: 43 EMP_DATA-sub_text ,
80 sy-vline.
endloop.
write:/ sy-uline(80). -
IDOCs creation - Transfer Orders(TOs) for Deliveries - Basic doubts, thanq
Hi Experts,
Am new to IDOCs. I hv a requirement, so, request u that, Can I get some Wht to do tips from u?
My doubts:
1- I hv been asked to create IDOC, Wht does it mean?
2 - How the created IDOC will be get posted?
My requirement is:
Original inbound idoc sent from Gentran will update the delivery with all serial numbers per material for all serialized product. The message code will be the indicator that a Transfer Order-TO, idoc must be created for TO confirmation.
I need to do===> Should be executed only when the message code on the delivery idoc is u201CTOCu201D. Look up the warehouse code on the delivery header using the delivery nbr in the delivery idoc. Create a new TO confirm idoc per delivery idoc being processed. Create a line item on this idoc for every line on the delivery idoc. Each TO line includes the delivery number and delivery item number so the TO number and line number can be looked up in table LTAP by using the delivery number and line item number found on the delivery idoc. There will be at 2 transfer orders for each delivery item b/c of the 2 step pick process, so select the TO nbr that has 916 as the destination storage type (LTAP-NLTYP). There may be more than 1 pair of TOs per delivery item so this must be completed for each TO found relevant to each delivery item.
The inbound delvry03 idoc will update the delivery with the serial numbers as part of the standard functionality. Since the transfer order must also be confirmed with the quantities on the inbound idoc, an additional idoc must be created from within the delivery update process. The transfer order can be updated and confirmed using the standard idoc and function module which should be created and initiated from the delivery update function module customer exit.
Source = DELVRY03 Destination = WMTCID01
Record Name-Field Name-Record Name-Field Name-Description---Comments
E1EDL20 VBELN-E1LTCOH-LGNUM-Warehouse Number-Look w/ idoc delivery nbr
E1EDL20 VBELN-E1LTCOH-TANUM-Transfer Order Number- Look w/ idoc delivery nbr
E1EDL24 POSNR-E1LTCOI-TAPOS-Transfer Order Line Item- Look w/ idoc delivery line nbr
EVERY THING IS DATA TRIGGERED!!!
thanq
Edited by: Srinivas on Jun 27, 2008 4:41 PMIDOC Programming
There are two processes in IDOC processing one is INBOUND PROCESS( IDOC coming to the system and its handling at various stages) and the other is OUTBOUND PROCESS( IDOC is send to other system . Separate ABAP programs are written for these 2 processes and different configuration settings are required for each one .Depending upon the trigeering mechanism different programming approaches are used.OUTBOUND PROGRAMS handle the IDOC creation and INBOUND PROGRAMS handle the inbound IDOC and the data trasfer from the IDOC to the database tables.
NEED FOR ABAP PROGRAMMING arises if
1)New IDOC was created
Depending upon the triggering mechanism i.e change pointer,message control
etc the programming technique changes and the type of process.
2)Existing IDOC was extended
User Exits are used to populate data in new segments added and to read them
back.
3)To enhance an exsiting process.
User Exits are used .
Basic structure of an OUTBOUND PROGRAM
The basic structure of all outbound programs is same. The CONTROL
record which is of TYPE EDIDC has to be filled. It contains important fields like
IDOCTP IDOC type
MESTYP Message Type
RCVPRN Recieving Partner (Destination)
RCVPRT Partner Type (it is LS i.e Logical System)
The DATA RECORD internal table which is of TYPE EDIDD has to be filled
in the same order as there are segments in the IDOC definition.
It has 2 important fields which are to be filled ,these are
SEGNAM Name of the segment
SEGDATA Data in the segment and can be upto 1000 bytes.This field
is corresponds to each data segment in the IDOC.
e.g.
DATA INT_EDIDD LIKE EDIDD OCCURS 0 WITH HEADER LINE.
DATA W_SEGDATA LIKE zsegment "custom segment zsegment
INT_EDIDD-SEGNAM = 'ZSEGMENT'
W_SEGDATA-field1 = value "taken from some table
W_SEGDATA-field2 = value "taken from some table
INT_EDIDD-SEGDATA = W_SEGDATA
APPEND INT_EDIDD
This will fill the data record corresponding to the segment ZSEGMENT . For all
segments the sam steps will be repeated until all the data corresponding to all the
segments in the idoc is filled in the internal table of type EDIDD.
There is only one control record and can be multile data records in the idoc
structure.
Which data is to be extracted from the tables to be filled in EDIDD type internal table is determined in standalone programs from the objects which are specified in the selection screen and from the object key passed to the function module in case of message control and is taken from BDCP table in case of change pointers using function modules "CHANGE_POINTERS_READ"
In case of stand alone programs and function modules based on change pointers method the function module "MASTER_IDOC_DISTRIBUTE" is used to send the IDOC to ALE layer for distribution ,in case of message control it is handled automatically by the RSNASTED program invoked by the message control.
OUTBOUND PROCESS AND OUTBOUND PROGRAM.
Outbound programs are used in outbound process to genearte IDOCs . There
purpose is to extract the data from the tables and to fill the IDOC data records
and the control record in the IDOC and pass ito the ALE layer for distribution to the recieving system .
Depending upon the triggering mechanism (how and when the outbound program will be started different techniques and interface is used for outbound program.
1)Message control
Application like PO(purchase order) creation use this technique , where the output type is linked to the application(Message control is a configurable cross application component which can be set in IMG .Such programs are created in the form of function modules and linked to the output type which is linked to the apllication.These have predefined interfaces.
In outbound programs(function module) that use message control the key of the
application document is passed to the function module whcig will read the data from the table depending upon the key passed(NAST structure) and fill the IDOC segemnts with the application data.The control record is also passed to the function module but is not fully filled, the rmaining fields are filled and the control is passed back to the calling program which is RSNASTED and is invoked by the
message control to process ALE and EDI output types and this program on recieving the IDOC data will create the physical IDOC in the system.
The parameteers passed to the function module are
IMPORTING PARAMETERS
OBJECT LIKE NAST
It contains documents key.
CONTROL_RECORD_IN LIKE EDIDC
It contains the partailly filled control record
EXPORETING PARAMETER
OBJECT_TYPE
CONTROL_RECORD_OUT LIKE EDIDC
TABLES
INT_EDID LIKE EDIDD
The internal table used to fill the data records in the same order as they exists in the IDOC.
The important parameters that should be filled in the custom function module are
CONTROL_RECORD_OUT and INT_EDIDD .The OBJK field of the structue NAST contains the key of the apllication document.
2)Stand alone programs
Generally used for Master Data transfer and as such depending upon the requirement can have different interfaces.The programs have a selection screen which has select options to select the objects, and parameters for specifying the recipient Logical System and the Message Type.
Data is selected based on the specified objects from the tables . and control record of type EDIDC is created and filled with important values like DIRECTION ,IDOCTP,RCVPRT,RCVPRN and MESTYP .
Data is filled in an internal table of TYPE EDIDD according to segment definitions
and in same order and the function module MASTER_IDOC_DISTRIBUTE is called passing the control record and the internal table containg IDOC data and importing an internal table consisting of control records for each communication IDOCS created.
3)Change pointer
Change Pointer table is read and checked if changes were made to important fields , if so the outbound program will be triggered automatically , these have predefined interfaces
ALE/IDOC Transaction
SALE Area Menu for ALE configurations.It includes transactions for
Logical System definition and linking it to a client, Transactions for
RFC Destination and Port Definition Etc.
SM59 RFC Destination
Here we specify the login settings for the destination including
the I.P address or Application Server name and the User name and
password.The information entered here is used to run Remote Function
Calls(RFC ) on the destination server .We can create number of types
of RFC Destinations but 3 types are important .
R/3 (R/3 to R/3), LS(logical system) and TCP/IP.
The name of the RFC destination should be same as that of Logical
System as it helps in creation of automatic partner profiles.
WE21 Port Definition.
There are 6 types of ports but only 2 types File and Transactional RFC
types of ports are important.
We have to specify the RFC Destination before a port can be created.
WE57 This is used to assign the Inbound function module to the Message Type
and to the IDOC Type.
WE42 This is used to define the process Code for Inbound Processing.
BD95 Define Filter object type .We can specify the field and the table it belongs
to as a filter object .
BD59 Assignment of Filter object type to the Message Type .Here we create the
link between Filter object and the segment and the message type and the
segment Field.
BD50 Set message Type to reducible.
BD65 Define Mandatory Fields.
BD64 Distribution Model . Also known as Customer Distribution Model Used to
define all the messages that will be exchanged between remote systems
and the name of thes logical systems. Any filters can also be specified.
The model once created has to be distributed on every system which will
be communicating ,It can be maintained on only One system.
BD21 Creating IDOcs from change pointers.
This can be used to create IDOCs from change pointers for a particular
message LIKE MATMAS.
BD22 This can be used to delete change pointers.
BD87 Status Monitor. Idocs can be selected base on number of criteria and there
processing status can be seen in detail.
BD10 Material Master Data Distribution .
Based on Message MATMAS.
BD12 Customer Master Data Distribution .
Based on Message CREMAS.
BD14 Vendor Master Data Distribution
Based on Message DEBMAS .
BDFG Generate ALE Interface for BAPI.
Here we specify the Business Object and the BAPI Function module for
which the interface has to be created.
WE31 Segment Editor.
This is used to create segments. We create the segment type and
segment definition is automatically created by editor e.g. Z1DUMMY is
segment type and Z2DUMMY is the segment definition .We specify the
fields and the data elements these cp\orresponds to create segments.
WE30 IDOC Editor
It is used to create a new IDOC Type or IDOC Extension .We specify the
segments that will be addd to the IDOC type.
WE02/05 IDOC List.
Various selct options and parameters are provided to select IDOCs
depending on the date, direction , mesage type etc.
WE20 Partner Profile
Here we create partner profile for each and every partner from / to which
the messages will be exchanged.There are 6 types of PF generally only
profiles of type LS(Logical System) ,KU(Customer) ,LI(Vendor) is used.
We specify the partner number and partner type and the agent and
the agent type responsible for handling of errors .
For every message send to the partner we have a outbound record and for
evry message coming from the partner we have the inbound record .
We specify the message in the otbound/inbound records ,double
clicking will take us to the detailed screen where the IDOC Type ,Port
and whether the IDCO will be immediatelt processed or collected are
mentioned.
Maybe you are looking for
-
[N95 8Gb] No more MP3 ringtones and message tones....
Hi, Last night I cleared my N95 8Gb of all the music and tranferred some new albums with Nokia Music afterwards. Now I'm not able to select any song or sound effect from my music collection as ringtone anymore!! I can select a song in Music Player an
-
Needed info regarding Java Proxies and how to do practically in XI( An example scenario is very helpful) Thanks in advance Subrahmanyam (Subbu)
-
Verisign Payflow PRo and Sun JCE
We have been trying to integrate verisign's payflow pro java APIs for credit card processing. THe integration works fine when run directly from a unit test, but fails when it is run inside the weblogic server. As an FYI - The sunJCE provider is speci
-
RemoteApp and Desktop Connections update returns Error code: 0x80070003
I had RemoteApp and Desktop Connections working in Windows 7, but it recently started returning the following event log error. An error occurred. Contact your workplace administrator for assistance. Connection name: My Apps Connection URL: https://<e
-
Built-in iSight doing nothing -showing blackness
When I got to use the iSight it works fine for just a second, then goes nearly completely black - almost like the aperture settings go screwy and it's over-compensating for light - but even in low light conditions it's still doing it. You CAN faintly