User defined Selection screen for Logical database
hi all,
can we display a user defined selection screen instead of the default selection screen in LDB . eg pnp
cheers
senthil
Hi,
to my knowledge, the selection screen of a logical database can only be changed (versions!) in the logical database itself.
What you can do is, write a program with your own selection screen an then either call another program that uses the LDB or - much better - you call the LDB from your program with function module LDB_PROCESS!
Example taken from the example library (TA ABAPDOCU):
<b>REPORT demo_logical_database.
DATA wa_spfli TYPE spfli.
SELECT-OPTIONS s_carr FOR wa_spfli-carrid.
DATA: callback TYPE TABLE OF ldbcb,
callback_wa LIKE LINE OF callback.
DATA: seltab TYPE TABLE OF rsparams,
seltab_wa LIKE LINE OF seltab.
callback_wa-ldbnode = 'SPFLI'.
callback_wa-get = 'X'.
callback_wa-get_late = 'X'.
callback_wa-cb_prog = sy-repid.
callback_wa-cb_form = 'CALLBACK_SPFLI'.
APPEND callback_wa TO callback.
CLEAR callback_wa.
callback_wa-ldbnode = 'SFLIGHT'.
callback_wa-get = 'X'.
callback_wa-cb_prog = sy-repid.
callback_wa-cb_form = 'CALLBACK_SFLIGHT'.
APPEND callback_wa TO callback.
seltab_wa-kind = 'S'.
seltab_wa-selname = 'CARRID'.
LOOP AT s_carr.
MOVE-CORRESPONDING s_carr TO seltab_wa.
APPEND seltab_wa TO seltab.
ENDLOOP.
CALL FUNCTION 'LDB_PROCESS'
EXPORTING
ldbname = 'F1S'
variant = ' '
TABLES
callback = callback
selections = seltab
EXCEPTIONS
ldb_not_reentrant = 1
ldb_incorrect = 2
ldb_already_running = 3
ldb_error = 4
ldb_selections_error = 5
ldb_selections_not_accepted = 6
variant_not_existent = 7
variant_obsolete = 8
variant_error = 9
free_selections_error = 10
callback_no_event = 11
callback_node_duplicate = 12
OTHERS = 13.
IF sy-subrc <> 0.
WRITE: 'Exception with SY-SUBRC', sy-subrc.
ENDIF.
FORM callback_spfli USING name TYPE ldbn-ldbnode
wa TYPE spfli
evt TYPE c
check TYPE c.
CASE evt.
WHEN 'G'.
WRITE: / wa-carrid, wa-connid, wa-cityfrom, wa-cityto.
ULINE.
WHEN 'L'.
ULINE.
ENDCASE.
ENDFORM.
FORM callback_sflight USING name TYPE ldbn-ldbnode
wa TYPE sflight
evt TYPE c
check TYPE c.
WRITE: / wa-fldate, wa-seatsocc, wa-seatsmax.
ENDFORM.</b>
Similar Messages
-
TO HAVE USER DEFINED SELECTION SCREEN USING LOGICAL DATABASE AFI
AFI is the logical database i need to use, but if i include the AFI is the program attributes, i get the selection screen which is already there for AFI, but i need to get the selection screen, that i have defined
Hi ,
you can exclude sel. from ldb with
loop at screen - statement
and you can include your own sel-option and parameters
regards Andreas -
How to define our own selection screen for logical database in abap-hr?
Hi Friends,
Can u please help me
How to define your own selection screens for logical database.
we use to do like(goto->attributes-HRReportcatagerious ).but How to desin using customer table like t599c, t599f and how to add to my logical database?
Thanks in advance
charancheck out this online help
http://help.sap.com/saphelp_erp2004/helpdata/en/9f/dba65c35c111d1829f0000e829fbfe/frameset.htm
Regards
Raja -
Modify selection screen for Logical Database 'SDF'
Hi
I need to make a section of the standard selection screen for logical database 'SDF' invisible. I have tried the differet selection screen options of the report attributes, but none of the provided ones give me what I want.
How can I find the name of the screen group for the "Line Item Selection" block of the selection screen so that I can make it invisible when the selection screen is displayed?
Thanks,
ThomasI tried to do this:
Loop at screen.
if screen-group4 = '026'
or screen-group4 = '027'
or screen-group4 = '028'.
screen-invisible = 1.
modify screen.
endif.
endloop.
This removed the selection text for these fields, but the Line Item Selection block is still visible, and the actual input fields are also visible. They now look like password input fields with all ***** in them.
What am I doing wrong?
Thanks for your help!
Thomas -
Selection screen for logical database PNP..
hi all,
I am having a requirement to produce a HR Report where i need to use logical database PNP. Now the issue is i need to supress some of the elements of standard selection screen of PNP and add a couple of fields of mine.
i have been looking all around and i got few of the below methods.
its good to use a report category.
somewhere it says include it in ur program using selection screen block..
can you please guide me which is the best way and what would be a perfect solution?
thanks in advance,
ReenaHi reeena,
1. simple
2. u want to
a) add ur own fields
b) suppress some fields
3. a) is simple, just add your parameters,
in your program, and they will appear
b) use SCREEN logic
4. just copy paste to get a taste of it
(it will HIDE the PAYROLL AREA field)
and add MATNR field
5.
report abc.
TABLES : PERNR.
PARAMETERS : MATNR LIKE MARA-MATNR.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-NAME CS 'ABKRS'.
SCREEN-INVISIBLE = '1'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
regards,
amit m. -
Hi, In my program i used a default seelction screen and 5 user defined selection screen. Based on the selections made in default selection screen, it should go to the corresponding user defined screen.
and the problem iam getting if i press enter jey insted of F8.
""Selection screen ZP2I_MASSCHANGE_TEMP1 1000 was
not called using CALL SELECTION-SCREEN"""
the code is as follows.
A T S E L E C T I O N-S C R E E N
*AT SELECTION-SCREEN.
AT SELECTION-SCREEN ON RADIOBUTTON GROUP rgp1.
CHECK SY-UCOMM EQ 'ONLI' OR SY-UCOMM EQ 'CRET' .
Download
IF r_dwnld = c_check.
Material Screen Call
IF r_matplt = c_check.
CLEAR p_werks7.
sree = 'A'.
CALL SELECTION-SCREEN 170.
ENDIF.
Material Storage Screen Call
IF r_matstr = c_check.
CLEAR p_werks1.
sree = 'B'.
CALL SELECTION-SCREEN 110.
ENDIF.
Material Handling Screen Call
IF r_mathan = c_check.
CLEAR p_werks2.
sree = 'C'.
CALL SELECTION-SCREEN 120.
ENDIF.
Material Pick/Up Delivery Screen Call
IF r_pcdt = c_check.
CLEAR p_werks3.
sree = 'D'.
CALL SELECTION-SCREEN 130.
ENDIF.
Material Inboundlogistics Screen Call
IF r_inlogs = c_check.
CLEAR p_werks4.
sree = 'E'.
CALL SELECTION-SCREEN 140.
ENDIF.
Material Packaging Screen Call
IF r_pkng = c_check.
CLEAR p_werks5.
sree = 'F'.
CALL SELECTION-SCREEN 150.
ENDIF.
ENDIF.
Upload Screen Call
IF r_upld = c_check.
IF ( r_matplt = c_check OR
r_matstr = c_check OR
r_mathan = c_check OR
r_pcdt = c_check OR
r_inlogs = c_check OR
r_pkng = c_check ).
CLEAR p_uload.
sree = 'G'.
CALL SELECTION-SCREEN 160.
ENDIF.
ENDIF.
s T A R T - O F - S E L E C T I O N
START-OF-SELECTION.
DOWNLOAD
CASE sree.
WHEN 'A'.
Select Material Details
PERFORM get_material_data.
IF NOT tbl_matplt[] IS INITIAL.
IF p_dalv7 = c_check.
Display list in ALV
PERFORM setup_alv_report.
ELSE.
Download Storage data into local file
PERFORM download_file USING p_matdet.
ENDIF.
ELSE.
MESSAGE s020.
ENDIF.
CALL SELECTION-SCREEN 170.
Select Material storage data
WHEN 'B'.
PERFORM get_storage_data.
IF NOT tbl_matstr[] IS INITIAL.
IF p_dalv1 = c_check.
Display list in ALV
PERFORM setup_alv_report.
ELSE.
Download Storage data into local file
PERFORM download_file USING p_matstr.
ENDIF.
ELSE.
MESSAGE s020.
ENDIF.
CALL SELECTION-SCREEN 110.
Select Material Handling data
WHEN 'C'.
PERFORM get_materialhandling.
IF NOT tbl_mathand[] IS INITIAL.
IF p_dalv2 = c_check.
Display list in ALV
PERFORM setup_alv_report.
ELSE.
Download Material Handling data into local file
PERFORM download_file USING p_mathan.
ENDIF.
ELSE.
MESSAGE s020.
ENDIF.
CALL SELECTION-SCREEN 120.
Select Pick/Up DayTime data
WHEN 'D'.
PERFORM get_pickup_delivery.
IF NOT tbl_pcdel[] IS INITIAL.
IF p_dalv3 = c_check.
Display list in ALV
PERFORM setup_alv_report.
ELSE.
Download Pick/Up DayTime data into local file
PERFORM download_file USING p_pcdt.
ENDIF.
ELSE.
MESSAGE s020.
ENDIF.
CALL SELECTION-SCREEN 130.
Select Inbound Logistics data
WHEN 'E'.
PERFORM get_inboundlogistics.
IF NOT tbl_inlog[] IS INITIAL.
IF p_dalv4 = c_check.
Display list in ALV
PERFORM setup_alv_report.
ELSE.
Download Inbound Logistics data into local file
PERFORM download_file USING p_inlogs.
ENDIF.
ELSE.
MESSAGE s020.
ENDIF.
CALL SELECTION-SCREEN 140.
Select Packaging data
WHEN 'F'.
PERFORM get_packaging.
IF NOT tbl_pkng[] IS INITIAL.
IF p_dalv5 = c_check.
Display list in ALV
PERFORM setup_alv_report.
ELSE.
Download Packaging data into local file
PERFORM download_file USING p_pkng.
ENDIF.
ELSE.
MESSAGE s020.
ENDIF.
CALL SELECTION-SCREEN 150.
WHEN 'G'.
Material Details data upload
IF r_matplt = c_check.
Free memory IDs corresponding to upload tables
PERFORM free_memory.
Upload Material details from local file
PERFORM load_file USING p_uload.
Prepare data
PERFORM prepare_mat_data.
Get actual Material Details from ZP2_MATPLT
PERFORM get_old_material_data.
Validate new data against database entries
PERFORM validate_material_data.
Check Plant authorization
Move plants to itab.
REFRESH tbl_plts.
LOOP AT tbl_matplt.
tbl_plts-werks = tbl_matplt-werks.
APPEND tbl_plts.
CLEAR tbl_plts.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM tbl_plts
COMPARING werks.
Check authoriztions
PERFORM check_plant_authorization1 TABLES tbl_plts.
REFRESH tbl_plts.
IF p_trun IS INITIAL.
Modify material data
PERFORM modify_zp2_matplt.
ENDIF.
Material Storage data upload
IF r_matstr = c_check.
Free memory IDs corresponding to upload tables
PERFORM free_memory.
Upload material storage data from local file
PERFORM load_matstr_data USING p_uload.
PERFORM load_file USING p_uload.
Get the material storage data from database
PERFORM get_old_storage_data.
Get material plant data for the corresponding
Storage data.
PERFORM get_matplt_data_storage.
Get data from table fields
PERFORM get_tblfld_values.
Validate data against database entries
PERFORM validate_storage_data.
Check Plant authorization
Move plants to itab.
REFRESH tbl_plts.
LOOP AT tbl_matstr.
tbl_plts-werks = tbl_matstr-werks.
APPEND tbl_plts.
CLEAR tbl_plts.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM tbl_plts
COMPARING werks.
Check authoriztions
PERFORM check_plant_authorization1 TABLES tbl_plts.
REFRESH tbl_plts.
IF p_trun IS INITIAL.
Modify material storage data
PERFORM modify_zp2matstr_table.
ENDIF.
ENDIF.
Material Handling data upload
IF r_mathan = c_check.
Free memory IDs corresponding to upload tables
PERFORM free_memory.
Upload material Handling data from local file
PERFORM load_file USING p_uload.
Get the material Handling data from database
PERFORM get_old_materialhandling.
Get material plant data for the corresponding
handling data.
PERFORM get_matplt_data_handling.
Validate data against database entries
PERFORM validate_handling_data.
Check Plant authorization
Move plants to itab.
REFRESH tbl_plts.
LOOP AT tbl_mathand.
tbl_plts-werks = tbl_mathand-werks.
APPEND tbl_plts.
CLEAR tbl_plts.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM tbl_plts
COMPARING werks.
Check authoriztions
PERFORM check_plant_authorization1 TABLES tbl_plts.
REFRESH tbl_plts.
IF p_trun IS INITIAL.
Modify material handling data
PERFORM modify_zp2mathand_table.
ENDIF.
ELSEIF sy-ucomm = c_s.
LEAVE SCREEN.
ENDIF.
Material Pick/Up DayTime data upload
IF r_pcdt = c_check.
Free memory IDs corresponding to upload tables
PERFORM free_memory.
Upload Pick/Up DayTime file data from local file
PERFORM load_file USING p_uload.
Get the Pick/Up DayTime data from database
PERFORM get_old_pickup_delivery.
Get Inbound logistics data corresponding to handling
PERFORM get_inlogs_pcdel.
Validate data against database entries
PERFORM validate_pcdel_data.
Check Plant authorization
Move plants to itab.
REFRESH tbl_plts.
LOOP AT tbl_pcdel.
tbl_plts-werks = tbl_pcdel-werks.
APPEND tbl_plts.
CLEAR tbl_plts.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM tbl_plts
COMPARING werks.
Check authoriztions
PERFORM check_plant_authorization1 TABLES tbl_plts.
REFRESH tbl_plts.
IF p_trun IS INITIAL.
Modify Pick/Up DayTime table
PERFORM modify_zp2pcdt_table.
ENDIF.
ELSEIF sy-ucomm = c_s.
LEAVE SCREEN.
ENDIF.
Material Inbound Logistics data upload
IF r_inlogs = c_check.
Free memory IDs corresponding to upload tables
PERFORM free_memory.
Upload Inbound Logistics file data from local file
PERFORM load_file USING p_uload.
Get the Inbound Logistics data from database
PERFORM get_old_inboundlogistics.
Get data from table fields
PERFORM get_tblfld_values.
Get Vendor data
PERFORM get_vendor_inlog.
Get material plant data for the corresponding
Inboundlogistics data.
PERFORM get_matplt_data_inlog.
Validate data against database entries
PERFORM validate_inlog_data.
Check Plant authorization
Move plants to itab.
REFRESH tbl_plts.
LOOP AT tbl_inlog.
tbl_plts-werks = tbl_inlog-werks.
APPEND tbl_plts.
CLEAR tbl_plts.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM tbl_plts
COMPARING werks.
Check authoriztions
PERFORM check_plant_authorization1 TABLES tbl_plts.
REFRESH tbl_plts.
IF p_trun IS INITIAL.
Modify Inbound Logistics table
PERFORM modify_zp2inlog_table.
ENDIF.
ENDIF.
Packaging data upload
IF r_pkng = c_check.
Free memory IDs corresponding to upload tables
PERFORM free_memory.
Upload Packaging file data from local file
PERFORM load_file USING p_uload.
Get the Packaging data from database
PERFORM get_old_packaging.
Get material plant data for the corresponding
Packaging data.
PERFORM get_matplt_data_pkng.
Get Vendor data
PERFORM get_vendor_pkng.
Get data from table fields
PERFORM get_tblfld_values.
Load Primary container reference data
PERFORM primary_container_data.
Validate data against database entries
PERFORM validate_packaging_data.
Check Plant authorization
Move plants to itab.
REFRESH tbl_plts.
LOOP AT tbl_pkng.
tbl_plts-werks = tbl_pkng-werks.
APPEND tbl_plts.
CLEAR tbl_plts.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM tbl_plts
COMPARING werks.
Check authoriztions
PERFORM check_plant_authorization1 TABLES tbl_plts.
REFRESH tbl_plts.
IF p_trun IS INITIAL.
Modify Packaging data
PERFORM modify_zp2pckg_table.
ENDIF.
ENDIF.
ENDIF.
IF p_trun = c_check.
Display the Error list
PERFORM display_result.
CALL SELECTION-SCREEN 160.
ENDIF.
ENDCASE.
Another problem is If i press BACK on the report output, it is coming to the default selection screen. and my requirement is, it should come to the corressponding user defined selection screen and not the default selection screen.
PLz help me in this regard.. Iam breaking my heading, but could not able to solve it.
Thanks in advance
sreeHello,
You must have defined user command for the radio button. This is not required. Just try putting it in at selection screen. AT SELECTION-SCREEN ON RADIOBUTTON GROUP rgp1.
the moment the user clicks the radio button it will go to this event and call the screen. Just use AT SELECTION-SCREEN.
Regards,
Shekhar Kulkarni -
Problem with user defined selection-screens
Hi,
in my case, i have a default selection screen and a user defined selection screen. Now, after selecting a radio button in default selection screen, the user defined selection screen is called. after executing it report output is displayed. now if i press f3 (back) it is going to default selection screen. here my requirement is, when i press f3 it should go to the user defined selection.
Can u plz help me solve this.
bye n regards
sreeAny modifications to screen 1000 will be lost the next time the program is generated.
When the user hits the back key from the report output, your ABAP is restarted just like when you originally started it. That is why you are getting the default selection screen again.
Use the AT USER-COMMAND event. When BACK is hit from the report, use the SUBMIT command to re-execute the program, passing it the selections from the default selection screen. Leave out the RETURN option.
For help on filling the selection screen during SUBMIT, help is available at
http://help.sap.com/saphelp_470/helpdata/en/9f/dba51a35c111d1829f0000e829fbfe/frameset.htm -
Transporting user defined selection screen from one server to another
How to transport a user defined selection screen (0100) from one server to another.
PBO and PAI modules written in PBO and PAI events for the selection screen are
not transported.
How to transport the modules in the events for the selection screen.Hi,
Krishna, <b>All</b> the Objects(prms,classes,tables,stru...) will be transported thru Transport Objects only..
Check Utilities->version->Version Mgt -> Here u will have the Transport number(if it's created under trnasportable obj).If you do not find TP no,then u would hav saved that as a Local Object.
Then Relase the TP no from SE10 Trnx.
Rgds,
Jothi.P -
How to suppress the Selection Screen of Logical Database
Hi,
I am using one Logical Database for my report.
I want to show my customized selection Screen.
How can I hide the Selection Screen of Logical Database?Hi,
Check the attributes of the report program where you assign the LDB. You can see the parameter Selection Screen press the F4 and check the LBD is provided any Blank screen or not.
For some LDB's you can find the Report Category in the attribute section of the report. either you can create the new screen or standard screen might be provided with Blank.
Check there ..
If you don't find you can use LOOP AT SCREEN..ENDLOOP to hide the fields of LDB.
Which LDB you are using. -
How to pass a default value in selection screen of logical database pnpce
Dear All,
Can any one tell me how to pass a default value in selection screen of logical database pnpce .
Regards
Rakesh SinghHi Rakesh,
Go to SE36 (logical database Builder).First enter PNPCE in Logical Database and press documentation,here you will get the details of exactly what is PNPCE and how it works.After that select selections in subojects in se36 only and enter display ,there you have the include from where you acn get the idea.
Regards,
Rahul -
Problem with ALV and user defined selection screen. please help!
Hi Experts,
I have program which has a user defined selection screen 9001. On executing the selection screen i call a ALV using resuse_alv_grid function module.
What problem I am facing is that when I press back button from ALV page it goes to the se38 editor instead of selection screen.
How to resolve this?
Thanks
GopalHi,
This might be due to LEAVE TO TRANSACTION statement. You might be running the program from SE38. Try to run the program using Z-TCode assigned to it.
Thanks and Regards,
Bharat Kumar Reddy.V
Message was edited by: Bharat Reddy V -
How to display selection screen of logical database on a screen
Hi Experts,
I create a screen 100, how do I display a selection screen of logical database on this screen.
Thanks!
Anthonyhi
if u are making HR report then goto attribute -> Logical database -> write PNPCE to create in build selection scree.
regards,
Abhilash -
Restrict Select-Options for Logical Database field
The way we restrict select options for custom defined select option fields on selection screen.. can we restrict select options for standard Logical Database fields?
i.e. report uses PNPCE logical database and has field called PERNR. I want to restrict select options for this PERNR field so that it has options for 'Select single values' only.
Thanks,
Falguni
Edited by: Falguni V on Nov 13, 2010 6:42 AMYou can user AT SELECTION-SCREEN event, and check whether any record is having high value for PNPPERNR.
-
Define selection screen for ldb_process
Hi I'm using the call function ldb_process for KDF(lfa1, lfb1, bsik), the trouble is that the information its different than if i do it on a normal report defining the logical database kdf and selection screen 903.
I find that the difference is because the selection screen, this is because the default selection screen for the kdf database is 1000, and this selection has the "Open items at key date" selection with the current date.
The question is:
How can i define the selection screen 903 using the call function ldb_proces?
Thanks
Pablo SantosHi,
You cannot define screen version 903 using function LDB_PROCESS. Instead use table "SELECTIONS" of the function module .
Cheers. -
Creating a User-defined Selection variant for Transaction ME21N
Hi,
In transaction ME21N with the 'Document Overview' feature turned on we can view a list of standard selection variants. I would like to add a user-defined selection variant to that list. There is an OSS Note 377180 present which describes how to do that but(as per transaction SNOTE) that note cannot be implemented in our system. Is there any other way to get that done?
Any help would certainly be appreciated.
Thanks,
Alam.So I am having a similar issue. I have a fixed length flat file with 3 different record types.
1 a header ( length is 82 bytes with the first byte set to H ( single record always the first )
2 a detail record ( length is 382 bytes ) with the first byte set to D ( multiple records )
3 a trailer record ( length is 82 bytes ) with the first byte set to T ( single record always the last )
I created a UD OTD with 3 elements for each record type, RECORD_TYPE is the first field 1 byte. Matching for each on either H,D, or T. When I try and test the OTD with the Run Test button I get an unmarshal error
<SOD>""<POS>"HACCUMULAT..." failed input match, Fog#431, after <no path>: failed node: trailing junk in fixed/parent
HACCUMULATED BENEFIT TRANSACTION FILE 20080801 20080825 0 0
D ar3531 ar3531 ar3531 ar3531000 55887027260 30.000 30 5098765 20080804 000T114 120080806 82820P30000001024511 25.00 0.00 25.00 0.00 25.00 25.00 0.00 0.00 0.00 0.00 0.00T
TACCUMULATED BENEFIT TRANSACTION FILE 20080801 20080825 2894 0 0
Not sure whats going on, so if anyone has any suggestions on where to look that would be great
Thanks
Maybe you are looking for
-
I want to buy a new ipod but can I move my apps without losing in-app data?
I can back-up my ipod, wipe it and then restore the back-up without losing my game worlds and other in-app data bit what if i do this to another ipod. Won't i loss all of my data? Also, my ipod is really slow these days so I wanted to format it but h
-
When I plug my ipod into the computre no music appears in my library and it says its syched to another library. How do I find said library?
-
Help needed regarding illegal start of expression
Hi all, i'm new to java programming and this forum, i tried to compile the code but the compiler keeps getting illegal start of expressionpublic int getX() { the following is my code: import java.awt.*; import javax.swing.*; class Swatches { pub
-
How do I get the best resolution images?
Can anyone explain to me how to get the best resolution of images and text in DSP. Down sizing to 720x576 at 72ppi in photoshop makes for better quality when using layered menus but my standard menus are poor quality. Why does a smaller image look lo
-
Trying to Get a Path using CFBundleCopyResourceURL
So I'm having an issue loading a resource. I'm using Carbon/C++. The problem is that when I try to load a file path with the following code the string returned is a cut off version of what I really need. When debugging the call to CFBundleCopyResourc