Helpp regarding screen table.
Hii gurus..
in which table of SAP the screen of the module pool stores.??
Please reply its urgent,
Manish
Hi,
If you are talking about the SCREEN table that controls the screen attributes, while in the debugger screen try the following path,
GOTO-> System Areas-> SCREEN table.
There you will be able to check the values of the screen table you are using in the program.
Jayant Sahu
Similar Messages
-
Screen Table ! Doubt!
Hi!
In Screen Table whats the difference b'tween ACTIVE & INPUT
BOTH Seems to be input fields then what??
Thanks In Advance
Rahul.Hi
input is just applies for input-enabled field
active field attributes are Input/Output/Invisible
and used for active field
Except active, all components of structure screen directly correspond to one attribute of the current screen element. The component active has no match in the attributes. If you change its content with MODIFY SCREEN, this affects the attributes Input, Output and Invisible and thus the components input, output and invisible of structure screen.
Reward points for useful Answers
Regards
Anji -
How we can loop the screen table.
Hi All,
We are used loop the screen table but it is a structure how we are able to do this what sap doing behind this can any body please tell me.
Thanks,
Saleem.Hi
SCREEN is a structure only.
But when you create a screen or selection-screen; the program which controls your screen or selection-screen creates an internal table with header line of type SCREEN.
So in your program SCREEN is an internal table, you can always loop it.
To understand it better, write some parameters and select-options in a report program; in debugging mode see the details of SCREEN table.
Regards
Surya. -
How can I directly update a SAP screen table control with values?
I have a need to update a table control on a standard SAP screen with values. Here's the scenario: The user will come into a standard SAP transaction (IQS2-change notification) and click on an action button which calls a function module. That function module will determine what needs to be added to the SAP screen table control (add additional task rows). When the function module returns with the row data to be added to table control, I would like to set those values as if the user input directly. The table control is located on it's separate tab (TASKS) in the transaction. I cannot find any user exists or BADI's for this transaction to allow me to affect the TASKS tab table control for this GUI. I'm trying to prevent from having to make a custom modification. If anyone has any ideas, please let me know. Thanks.
Hi,
Check these enhancements:
IWOC0002 PM/SM notification: Check whether status change is allowed
QQMA0001 QM/PM/SM: User Subscreen for Notification Header
QQMA0008 QM/PM/SM: User Subscreen for Additional Data on Notif. Ite
QQMA0011 QM/PM/SM: User Subscreen for Additional Data on Task
QQMA0013 QM: Default Values when Creating a Task
QQMA0014 QM/PM/SM: Checks before saving a notification
QQMA0015 QM/PM/SM: User-Exit before Call-Up of F4 Help on Catalogs
QQMA0016 QM/PM/SM: "User data" Function "Goto" --> "Task" Menu
IWO10026 User check on setting status 'Do not perform'
IWO10027 User exit: Generate user-defined settlement rule
IWOC0001 Create PM/SM notification: Determine reference object
IWOC0002 PM/SM notification: Check whether status change is allowed
IWOC0003 PM/SM authorization check of ref. object and planner group
IWOC0004 Change single-level list editing PM/QM/SM ALV settings
Regards
Appana -
hi!
i build a screen table with table control.
in the screen i dont have the scrolling bar, eventhough all the the parameters in the table control are set.
do i have to set any other parameters in the table.
i read in ths sap help about field line that has to be set in the pai or the pbo, how do i do it?
regards
yifat barHi Yifat,
Please follow the below code.Here internal table is
G_SCR2000_HEADER_2
Create push buttons pagedown pageup last page and first page respectively and give a funcion code P-, P, P-- and P+.
PBO code:
Table control name is PURC_REQI_TBCTR
module PURC_REQI_TBCTR_change_tc_attr.
*&spwizard: module PURC_REQI_TBCTR_change_col_attr.
loop at G_SCR2000_HEADER_2
with control PURC_REQI_TBCTR
cursor PURC_REQI_TBCTR-current_line.
module PURC_REQI_TBCTR_get_lines.
*&spwizard: module PURC_REQI_TBCTR_change_field_attr
endloop.
Modules:
module SUPL_LST_TBLCTR_get_lines output.
g_SUPL_LST_TBLCTR_lines = sy-loopc.
endmodule.
module PURC_REQI_TBCTR_change_tc_attr output.
describe table G_SCR2000_HEADER_2 lines PURC_REQI_TBCTR-lines.
endmodule.
PAI:
loop at G_SCR2000_HEADER_2.
chain.
field G_SCR2000_HEADER_2-PURC_REQI_NO.
field G_SCR2000_HEADER_2-DATE.
endchain.
endloop.
module PURC_REQI_TBCTR_user_command.
Modules:
module PURC_REQI_TBCTR_user_command input.
OK_CODE = sy-ucomm.
perform user_ok_tc using 'PURC_REQI_TBCTR'
'G_SCR2000_HEADER_2'
changing OK_CODE.
sy-ucomm = OK_CODE.
endmodule.
FORM USER_OK_TC USING P_TC_NAME TYPE DYNFNAM
P_TABLE_NAME
P_MARK_NAME
CHANGING P_OK LIKE SY-UCOMM.
&SPWIZARD: BEGIN OF LOCAL DATA----
DATA: L_OK TYPE SY-UCOMM,
L_OFFSET TYPE I.
&SPWIZARD: END OF LOCAL DATA----
*&SPWIZARD: Table control specific operations *
*&SPWIZARD: evaluate TC name and operations *
SEARCH P_OK FOR P_TC_NAME.
IF SY-SUBRC <> 0.
EXIT.
ENDIF.
L_OFFSET = STRLEN( P_TC_NAME ) + 1.
L_OK = P_OK+L_OFFSET.
*&SPWIZARD: execute general and TC specific operations *
CASE L_OK.
WHEN 'INSR'. "insert row
PERFORM FCODE_INSERT_ROW USING P_TC_NAME
P_TABLE_NAME.
CLEAR P_OK.
WHEN 'P--' OR "top of list
'P-' OR "previous page
'P+' OR "next page
'P++'. "bottom of list
PERFORM COMPUTE_SCROLLING_IN_TC USING P_TC_NAME
L_OK.
CLEAR P_OK.
WHEN 'MARK'. "mark all filled lines
PERFORM FCODE_TC_MARK_LINES USING P_TC_NAME
P_TABLE_NAME
P_MARK_NAME .
CLEAR P_OK.
WHEN 'DMRK'. "demark all filled lines
PERFORM FCODE_TC_DEMARK_LINES USING P_TC_NAME
P_TABLE_NAME
P_MARK_NAME .
CLEAR P_OK.
ENDCASE.
ENDFORM. " USER_OK_TC
*& Form COMPUTE_SCROLLING_IN_TC
text
-->P_TC_NAME name of tablecontrol
-->P_OK ok code
FORM COMPUTE_SCROLLING_IN_TC USING P_TC_NAME
P_OK.
&SPWIZARD: BEGIN OF LOCAL DATA----
DATA L_TC_NEW_TOP_LINE TYPE I.
DATA L_TC_NAME LIKE FELD-NAME.
DATA L_TC_LINES_NAME LIKE FELD-NAME.
DATA L_TC_FIELD_NAME LIKE FELD-NAME.
FIELD-SYMBOLS <TC> TYPE cxtab_control.
FIELD-SYMBOLS <LINES> TYPE I.
&SPWIZARD: END OF LOCAL DATA----
ASSIGN (P_TC_NAME) TO <TC>.
*&SPWIZARD: get looplines of TableControl *
CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_TC_LINES_NAME.
ASSIGN (L_TC_LINES_NAME) TO <LINES>.
*&SPWIZARD: is no line filled? *
IF <TC>-LINES = 0.
*&SPWIZARD: yes, ... *
L_TC_NEW_TOP_LINE = 1.
ELSE.
*&SPWIZARD: no, ... *
CALL FUNCTION 'SCROLLING_IN_TABLE'
EXPORTING
ENTRY_ACT = <TC>-TOP_LINE
ENTRY_FROM = 1
ENTRY_TO = <TC>-LINES
LAST_PAGE_FULL = 'X'
LOOPS = <LINES>
OK_CODE = P_OK
OVERLAPPING = 'X'
IMPORTING
ENTRY_NEW = L_TC_NEW_TOP_LINE
EXCEPTIONS
NO_ENTRY_OR_PAGE_ACT = 01
NO_ENTRY_TO = 02
NO_OK_CODE_OR_PAGE_GO = 03
OTHERS = 0.
ENDIF.
*&SPWIZARD: get actual tc and column *
GET CURSOR FIELD L_TC_FIELD_NAME
AREA L_TC_NAME.
IF SYST-SUBRC = 0.
IF L_TC_NAME = P_TC_NAME.
*&SPWIZARD: et actual column *
SET CURSOR FIELD L_TC_FIELD_NAME LINE 1.
ENDIF.
ENDIF.
*&SPWIZARD: set the new top line *
<TC>-TOP_LINE = L_TC_NEW_TOP_LINE.
ENDFORM. " COMPUTE_SCROLLING_IN_TC
There is some extra code also in this for other operations also. Please i suggest use a table control wizard.
Please let me know if any clarifications required.
Regards
Anil Kumar K -
Purpose of REQUEST field in SCREEN table
HI Everyone,
Could someone explain me the purpose of the field REQUEST in the screen table with an example if possible?
Thanks in advance.Hi,
Check this one
SCREEN-COLOR and REQUEST -
Clarification regarding Shadow Table
Hi All,
Clarification regarding Shadow Table. FKK_GPSHAD is a shadow table that belongs to Business Partner. The doubts that i have is
What is Shadow Table?
What is the purpose of Shadow table?
Is it correct way to update Shadow table Manually(Not using any BAPi etc....)?
Is any BAPI available to update The above mentioned Shadow table.
Thanks in Advance..Reclustering InfoCubes:
With reclustering, the InfoCube fact tables are always completely converted. The system createsshadow tables with a new clustering schema and copies all of the data from the original tables into the shadow tables. As soon as the data is copied, the system creates indexes and the original table replaces the shadow table. After the reclustering request has been successfully completed, both fact tables exist in their original state (name of shadow table) as well as in their modified state with the new clustering schema (name of original table).
You can only use reclustering for InfoCubes. Reclustering deactivates the active aggregates of the InfoCubes; they are reactivated after the conversion.
Reclustering DataStore Objects
Reclustering completely converts the active table of the DataStore object. The system creates a shadow table with a new clustering schema and copies all of the data from the original table into the shadow table. As soon as the data is copied, the system creates indexes and the original table replaces the shadow table. After the reclustering request has been successfully completed, both active tables exist in their original state (name of shadow table) as well as in their modified state with the new clustering schema (name of original table).
You can only use reclustering for standard DataStore objects and DataStore objects for direct update. You cannot use reclustering for write-optimized DataStore objects. User-defined multidimensional clustering is not available for write-optimized DataStore objects.
Pls chk this thread:
Shadow Table?
http://help.sap.com/saphelp_nw2004s/helpdata/en/47/5cf74153b6ca17e10000000a155106/content.htm
Hope this helps,
Reward points... -
SCREEN table in the new ABAP debugger
As of ABAP 6.20 in the debugger it's possible to display the SCREEN table.
I couldn't find the way it in the new debugger (6.40). SCREEN can be displayed as a structure, but if I enter it to the table tab, it shows "invalid table".
I have no access to release 7.00 right now, where it might be possible.
Any info on this one?
Thanks in advance,
PeterHi Sridhar,
Thanks, but this is what I meant, when I said "As of ABAP 6.20 in the debugger it's possible to display the SCREEN table.".
I'm looking for the same in the new debugger.
Peter -
OIM - query regarding child tables
Hi All
I have a query regarding child tables. For example, when a user is removed from an AD group, his corresponding entry from the AD groups child table will be deleted. I want to know whether it is deleted of marked as deleted. Can I get the information later on that the user was removed from which AD group?
Please help.
ThanksYou will have to enable the audit level = Resource Form and perform the additional tasks to track the process form data changes. This will track all modifications to the forms.
-Kevin -
Change the decimal places of a field in screen table control
HI ,
I have a MENGE field having data element as , BSTMG (decimals 3 ).
This field MENGE , I have used in a table control. The value in this field is filled from a custom Z-table where the same data element BSTMG is used. So , for eq.) value in MENGE field is shown as 6.010
But the requirement is that the value should be displayed as only 2 decemals i.e.) 6.01
I dont want to change the domain of the field in the Z-table , to 2 decimal places , because the table is used in other developments also , so it will give a dump there which I have to correct in other developments also.
So , is there any way to change the decimal places of a field in screen table control , without changing the domain , in the table from where the value is fetched... ????
Edited by: abhijeet_7013 on Feb 14, 2011 3:18 PMHi, create a structure in local program with same field names and change the TYPE with some 2 decimal domain of MENGE. Populate this local stucture and use it in TABLE CONTROL.
Hope this helps...
Cheers -
Hi all,
I would like to know how could I get the value of a variable that is in the table Screen memory. I explain:
When I debugg a program that I´m writing I read that in the System Area->SCREEN table is the field that i need to download and I don´t know how to get that value.
Any Ideas
Thanks!!Hi Gabriel,
In a field exit you can use function DYNP_VALUES_READ to read the data in other fields of the screen on which you have a field exit . You will have to pass the parameters correctly to this FM to get the values back.
For example
<b> data dynr like dynpread occurs 0 with header line.
dynr-fieldname = <SCREEN_FEILD_NAME>.
append dynr.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = <PROGRAM>
DYNUMB = <SCREEN_NUM>
TRANSLATE_TO_UPPER = ' '
REQUEST = ' '
PERFORM_CONVERSION_EXITS = ' '
PERFORM_INPUT_CONVERSION = ' '
DETERMINE_LOOP_INDEX = ' '
TABLES
DYNPFIELDS = dynr
EXCEPTIONS
INVALID_ABAPWORKAREA = 1
INVALID_DYNPROFIELD = 2
INVALID_DYNPRONAME = 3
INVALID_DYNPRONUMMER = 4
INVALID_REQUEST = 5
NO_FIELDDESCRIPTION = 6
INVALID_PARAMETER = 7
UNDEFIND_ERROR = 8
DOUBLE_CONVERSION = 9
STEPL_NOT_FOUND = 10
OTHERS = 11
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
read table dynr index 1.</b>
The value will be in dynr-fieldvalue. You can append more than one fields to table DYNR .
Between I just noticed in FBCJ the field F_RUN_CASH_BALANCE on screen does not refer to a dictionary field directly so a field exit on data element CJAMOUNT wont work even if you activate it. For field exits to work on a screen the screen field should refer directly to dictionary like MARA-MATNR and the checkbox "Dict Field" should be checked .
Cheers
Message was edited by: Sanjay Sinha -
How to populate the next screen based on the previous screen table control
Hi Experts,
Is this possible to generate the next screen values based on the table control values in previous screen.
My Requirement is
In my First screen i m having 5-7 regional offices in table control and also amount field for each regional offices.(amount field is editable)
User has to enter amount field for Regional office..based on the amount field i need to process the next screen. For Ex if user is entering amount for 3 regional offices out of 7 regional offices then i need to get the screen for the 3 regional offices..
Pls suggest me how to do this..
Regards,
ZakirHi Zakir,
Do you have any button for calling the second screen after entering amount in the first table control screen or you have to call the screen on pressing enter on the table control?
You will have to handle it in the PAI of the table control loop.Get data entered in the table control in your internal table of table control.You can prepare the data passed to the next screen from this internal table. Fill the second screen elements and Use CALL SCREEN XXX. XXX is your second screen no.
Thanks,
Pawan -
Issue regarding internal tables
Dear all,
My issue is that , I need to enter data into a single internal table by fetching data from two sap tables using two different selct quries. I should not use joins or for all entries. And display the internal table data in the list.
Problem am facing is only one select query is geeting fetched and the other table data in not in the list.
Pleas provide the possible solutions.
Thanks & Regards,
Madhavi.MDATA: BEGIN OF itab1 OCCURS 0,
qmnum LIKE qmel-qmnum,
qmtxt LIKE qmel-qmtxt,
indtx LIKE qmel-indtx,
qmdat LIKE qmel-qmdat,
ltrmn LIKE qmel-ltrmn,
priok LIKE qmel-priok,
aufnr LIKE qmel-aufnr,
bezdt LIKE qmel-bezdt,
qmnam LIKE qmel-qmnam,
qmart LIKE qmel-qmart,
END OF itab1.
DATA: BEGIN OF itab2 OCCURS 0,
qmnum LIKE qmih-qmnum,
btpln LIKE qmih-btpln,
ingrp LIKE qmih-ingrp,
END OF itab2.
DATA : itab3 TYPE TABLE OF z_notif WITH HEADER LINE.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
SELECT-OPTIONS : notnum FOR qmel-qmnum OBLIGATORY,
notype FOR qmel-qmart,
floc FOR qmih-btpln,
name FOR qmel-qmnam.
SELECTION-SCREEN END OF BLOCK b1.
START-OF-SELECTION.
To fetch the values in the internal table ****************
from ztable corresponding to the entries made *************
by the user in the selection screen ******************
SELECT qmnum qmtxt indtx qmdat ltrmn priok aufnr bezdt qmnam qmart INTO
TABLE itab1 FROM qmel WHERE qmnum IN notnum
AND qmart IN notype AND qmnam IN name.
SELECT qmnum btpln ingrp INTO TABLE itab2 FROM qmih FOR ALL ENTRIES IN
itab1 WHERE qmnum = itab1-qmnum AND btpln IN floc.
To move the contents of ITAB1 to ITAB3 ***************
LOOP AT itab1.
itab3-qmnum = itab1-qmnum.
itab3-qmtxt = itab1-qmtxt.
itab3-indtx = itab1-indtx.
itab3-qmdat = itab1-qmdat.
itab3-ltrmn = itab1-ltrmn.
itab3-priok = itab1-priok.
itab3-aufnr = itab1-aufnr.
itab3-bezdt = itab1-bezdt.
itab3-qmnam = itab1-qmnam.
itab3-qmart = itab1-qmart.
READ TABLE itab2 WITH KEY qmnum = itab1-qmnum.
To move the contents of ITAB2 to ITAB3 ***************
itab3-btpln = itab2-btpln.
itab3-ingrp = itab2-ingrp.
APPEND itab3.
ENDLOOP.
have a look at this example this may help you.....
reward if helpful..... -
Hi ppl,
I am looking for a screen exit for tcode MSC3n.
Using SMOD, I found the following enhancements:
BATCHCHK
MBCFC010
SAPLCHVW
SAPLMHD1
SAPLV01D
SAPLV01P
SAPLV01Z
SAPLV1ZE
SAPLV1ZN
But, all these have function exits. There was no screen exit specifically mentioned in any of these enhancements.
Does it mean that there is no screen exit or will these function exits be useful?
Please help.
Regards,
David.Hi,
My requirement is to remove 2 fields from a subscreen of the tcode MSC3n and replace with 2 custom fields which I have appended in the standard database table. All the fields are from the same database table.
Thanks,
David.
Edited by: David D on Aug 28, 2009 6:59 AM -
Regarding database table to infotype
hi experts,
sorry i m going to ask a typical question i m working on hr-abap ,i have developed a module pool in which the database table is updating with some data,what i want that after updation i want to store that data in a infotype,,so plz tell me how to create infotype and how to store the data into it from a database table...thnx in advance.i know it is a configuration part but rt nw my company doesnt have hr consultant.....plz help me.Hi
<b>Creating an Infotype</b>
Using the TCODE PM01 you can create an Infotype. As per SAP standard you can use only 9000 series. The below procedure explains you how to create an Infotype.
1.Go the transaction PM01 and give the Infotype Number lets say 9999 and press button. It will ask you a messaging window,
2.Press create button to continue further. It will take you to create the structure.
3.Give the components and SAVE & ACTIVATE the structure and come back.
An Infotype attributes window will appear; you create a new entry with the Infotype No and give the appropriate description.
and give the data and press ENTER key. The Technical data will appear automatically, here you have to maintain the Single screen as 2000 and List screen as 3000 and then SAVE the info and press BACK button, you will reach the main screen.
After that using the Menu option Infotype
4.Generate the structure, dialog module and include.
Click the button from application tool bar to check the Infotype attributes. Select the 9999 Infotype and check the data.
If every thing is error free, you can use the Infotype using PA30 transaction.
5.Use the Create button you can create New Entries for the Infotype.
You can view the entries in table PA9999 using the TCODE SE11/SE16.
Validating Code in Module pool: - If you want to validate the user inputs,
You need to write the validate code procedure in the module program MPXXXX00 screen 2000 (here XXXX is user Infotype, in our case 9999).
In PAI.
MODULE P9999.
MODULE HIDDEN_DATA.
FIELD P9909-PRATE MODULE PRATE. Create a module routines.
In PBO
MODULE PRE_INPUT_CHECKS.
input-checks: *
insert check modules here:
CHAIN.
FIELD P9909-PRATE MODULE PRATE.
ENDCHAIN.
Double click on PRATE it will ask you the include name, SELECT the include MP999930 from the input window.
*& Module PRATE OUTPUT
text
MODULE prate OUTPUT.
IF NOT p9909-prate IS INITIAL.
PERFORM check_prate.
ENDIF.
ENDMODULE. " PRATE9 OUTPUT
Again check_prate subroutine, write down the below code in MP999940 include.
*& Form check_prate
FORM check_prate .
CLEAR zprate_t.
SELECT SINGLE * FROM zprate_t WHERE prate = p9909-prate.
IF sy-subrc > 0.
CLEAR zprate_t.
MESSAGE e016(rp) WITH 'Entry does not exist in ZPRATE_T table'.
ENDIF.
ENDFORM. " check_prate
After that check the module, if it is error free then ACTIVATE the same. You can check the Infotype validations using the PA30 transaction.
Regards
Raj
Maybe you are looking for
-
BAPI_ACC_DOCUMENT_CHECK
Dear experts, We need help in one of the BAPI's BAPI_ACC_DOCUMENT_CHECK to post document. BAPI working successfully if company code at header and item level is same but if items are from different company codes then we received error saying "Required
-
Download internal table data into excel sheet with column heading and data
Hi, I am having one internal table with column headings and other table with data. i want to download the data with these tables into an excel sheet. It should ask the user for file name to save it on their own name. They should give the file name
-
Startup Disk Filling up with log.smbd.old
I tried to just delete, it says permission denied. I tried changing permissions on the file and got denied. I try going to it as superuser, I enter the password and it just sits and never responds. No wrong pw, no moving forward. I got omnidisksweepe
-
Hello! I need to burn DVDs from FCX that are going to London - they are asking that they be Region 0 or Region 2 - what is the default Region that FCX burns to so that I know I am burning it to the correct region? I need it to play when it gets the
-
What's with the "the signal and noise numbers" got to do with anything ?
hi, i've been seeing posts about this but it's still not clear to me. can anyone help me understand this ?