Table Maintenance Generator via program using ALV OO concept
Hi All,
I have a requriement to update the table using OO ALV i.e table maintenance generator program.
My Z table have three fields say.. NEW status, old status and flag.
I have to dispaly the records of the Z table in Matrix format.
for example the records of the Z table is
New status
Old status
Flag
N1
O11
F11
N1
O12
F12
N1
O13
F13
N2
O21
F21
N2
O22
F22
N2
O23
F23
N3
O31
F31
N3
O32
F32
N3
O33
F33
My program have to display the records of the table in matrix format i.e
| ..... | O11 | O12 | O13 | O21 | O22 | O23 | O31 | O32 | O33 | ..
| N1 | F11 | F12 | F13 | ..... | ..... | .... | ..... | ....... | .... | .. ____________________________________________________________________________________
| N2 | ..... | ...... | ....... | F21 | F22 | F23 | ... | ..... | ...... | .
| N3 | ...... | ..... | ....... . | ....... | ....... | .... | F31 | F32 | F33 |
The ALV display is dynamic i.e it depends upon the no. of records in the table...
My headings( Row heading and Column heading ) will be the value from table... and the user should be able to change the Flag ... For example when the user change the Flag 'F21' to say 'X',
| ..... | O11 | O12 | O13 | O21 | O22 | O23 | O31 | O32 | O33 | ..
| N1 | F11 | F12 | F13 | ..... | ..... | .... | ..... | ....... | .... | .. ____________________________________________________________________________________
| N2 | ..... | ...... | ....... | X | F22 | F23 | ... | ..... | ...... | .
| N3 | ...... | ..... | ....... . | ....... | ....... | .... | F31 | F32 | F33 | .
In the Z table the record is
N2 O21 F21
should be changed to
N2 O21 X
I tried using ALV oo concept....but I can able to display the output as like it is in table ....Not like the one above format....
Can you please help me to resolve it?
Thanx in advance
Sangeetha
Edited by: sangeetha s k on Dec 16, 2008 7:42 AM
Edited by: sangeetha s k on Dec 16, 2008 7:50 AM
Edited by: sangeetha s k on Dec 16, 2008 8:04 AM
Hi,
Go through Following Menu Path
Tcode SE11-> Table Name-> Change.
Utilities-> Table Maintance Generator->Create Maintance.
On Same Screen go to Menu Environment->Modification->Events
Create New Event e.g. 05 , Enter Form Routine Name.
Go to Editor.
and Put Your Logic
e.g.
FORM FILL_DEFAULT.
* Actual Logic for how to get materials list.
ENDFORM.
Similar Messages
-
Additional buttons in Table Maintenance generated program
Hello all,
I'm looking for a way to add additional buttons on the generated table maintenance program. Such a program is generated via Dictionary transaction SE11 and then the Menu choice Utillities --> Table Maintenance generator (or use transactiob SE54).
The program generated is based on the standard SAP function group SVIM (of which components are copied to the table maintenance program). In the function group SVIM the STATUS objects are located (but they are standard SAP). In order to modify them (add some additional buttons) i am seeking a method for this.
Thanks in advance,
Rob.Hi Rob,
Use transaction SE54, enter the name of your table, choose radiobutton 'Generated Objects' and choose 'Create/Change'. In the next screen there is an option in the menu Environment -> Modification -> User Interface. Here you can choose to use an Individual Interface where you can add the buttons you need.
Regards,
John. -
When we create a table maintenance generator what is the program object
When we create a table maintenance generator what is the program object
& What is the database object is being created?check links
https://www.sdn.sap.com/irj/sdn/advancedsearch?query=use%20of%20table%20maintenance%20generator&cat=sdn_all
http://www.sapdevelopment.co.uk/tips/tips_tabmaint_tcode.htm
http://www.sap-img.com/abap/create-a-table-maintance-program-for-a-z-table.htm
http://help.sap.com/saphelp_nw04/helpdata/en/cf/21ed2d446011d189700000e8322d00/content.htm
Rewards if useful.....................
Minal -
Blank Records added while using Table maintenance generator - SM30
Hi all,
I have created a ztable and view,
For the view table maintenance generator created using sm30,
First time when i add reords, a blank record is added automatically ,how to prevent it,
Also when i try to add invalid data, system throws error , field becomes display only.
How to solve.
Regards
SenthilHi Tarun,
Go to the layout and increase the size of the Screen. or at the screen attributes change the length and width values.
You know that initially the screen occupies default size only.
Hope this would serve your purpose.
Cheerz
Ram -
Button "Position" can't work in sm30 when use Table maintenance generator
Hello guys,
i have created a table and use 'Table Maintenance Generator' to generate the code. When i run sm30 and click the button 'Position', it can not work.
i enter '/h' to debug it and find the value'POSI' is not assigned to ok_code.
Some tables created before are OK. What's the matter with it?
Many Thankshello daniel,
there is very possibility that some inconsistency might be occured while generating table maintenance generator. So i would advice u to create ur table maintenance generator once more after deleting the current one.
Reward properly. -
Calculations while entering data into table via table maintenance generator
Hi all,
This is the following requirement.
I created a ztable and also I created the table maintenance generator. I have two fields which accept integer data.
The requirement is when I enter value in the first field from the tcode SM30 the data should be populated into the second field automatically by subtracting the first value from 100.
Can anyone explain me how I can do that.
Thanks,
Danielhi,
take the help of events in TMG and write the code in that event
like field2 = field1 - 100
steps to create events
Step: 1: Create a table
Step: 2: In SE11, go to Utilities --> table maintenance generator.
Step: 3: Follow the path Environment --> Modification --> Events.
Step: 4: Click new entries, select a table maintenance dialog event which suits your requirement.
Step: 5: Create a form routine.
Step: 6: Include your logic in the routine created in step 5.
Hope this helps you.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/abap/how%20to%20implement%20events%20in%20table%20maintenance.doc
Re: bdc
reward if helpful
prasanth -
Table maintenance Generator used as exit ?? how to find that??
Dear Abapers,
While creating billing and saving a billing document, a number range is automatically generated.
I have found that this number range is coming from a table and they have written some coding in Table maintenance generator.
How can i find that where it is implemented in VF01.
PLease resolve it.
Thanks and Regards,
AratiHi,
go to the table maintenance generator of your table.
Go to the path Environment -> Modification -> Events
They might have written some events to auto generate the number -
Table maintenance generator events
Hi,
I have created a table maintenance generator and want to populate sy-uname and sy-datum into two fields during SAVE. So I went to Environment -> Modification -> Events and selected "01" event i.e. "Before saving the data in the database" and entered Form routine as "F_UPDATE_UNAME_UDATE". Then if I go to SM30 transaction it goes to dump.
Could you please tell whether I am missing any point?
Regards,
Balaji Viswanath.Hi,
Pasted it below.
Runtime Error PERFORM_NOT_FOUND
Except. CX_SY_DYN_CALL_ILLEGAL_FORM
Date and Time 01/31/2008 09:26:52
ShrtText
Call (PERFORM) to a non-existent routine.
What happened?
The current program attempted to call an externally defined routine
that does not exist.
Error in ABAP application program.
The current ABAP program "SAPLZTEST321" had to be terminated because one of the
statements could not be executed.
This is probably due to an error in the ABAP program.
The current ABAP program had to be terminated because the
ABAP processor detected an internal system error.
The current ABAP program "SAPLZTEST321" had to be terminated because the ABAP
processor discovered an invalid system state.
What can you do?
Print out the error message (using the "Print" function)
and make a note of the actions and input that caused the
error.
To resolve the problem, contact your SAP system administrator.
You can use transaction ST22 (ABAP Dump Analysis) to view and administer
termination messages, especially those beyond their normal deletion
date.
is especially useful if you want to keep a particular message.
Error analysis
An exception occurred. This exception is dealt with in more detail below
. The exception, which is assigned to the class 'CX_SY_DYN_CALL_ILLEGAL_FORM',
was neither
caught nor passed along using a RAISING clause, in the procedure
"PREPARE_SAVING" "(FORM)"
Since the caller of the procedure could not have expected this exception
to occur, the running program was terminated.
The reason for the exception is:
The program "SAPLZTEST321" is meant to execute an external PERFORM,
namely the routine "F_UPDATE_UNAME_UDATE " of the program "SAPLZTEST321 ", but
this routine does not exist.
This may be due to any of the following reasons:
1. One of the programs "SAPLZTEST321" or "SAPLZTEST321 " is currently being
developed.
The name "F_UPDATE_UNAME_UDATE " of the called routine may be incorrect, or
the routine "F_UPDATE_UNAME_UDATE " is not yet implemented in the program
"SAPLZTEST321 ".
2. If the program SAPMSSY1 is involved in the runtime error, one of
the function modules called via RFC is not flagged as remote-capable.
(see Transaction SE37 Goto->Administration->RFC flag)
3. There is an inconsistency in the system. The versions of the
programs "SAPLZTEST321" and "SAPLZTEST321 " do not match.
How to correct the error
- Check that transports to the system are complete.
- Conclude any developments already begun ("SAPLZTEST321" and/or "SAPLZTEST321
- Check routine names
You may able to find an interim solution to the problem
in the SAP note system. If you have access to the note system yourself,
use the following search criteria:
"PERFORM_NOT_FOUND" CX_SY_DYN_CALL_ILLEGAL_FORMC
"SAPLZTEST321" or "LSVIMF14"
"PREPARE_SAVING"
If you cannot solve the problem yourself and you wish to send
an error message to SAP, include the following documents:
1. A printout of the problem description (short dump)
To obtain this, select in the current display "System->List->
Save->Local File (unconverted)".
2. A suitable printout of the system log
To obtain this, call the system log through transaction SM21.
Limit the time interval to 10 minutes before and 5 minutes
after the short dump. In the display, then select the function
"System->List->Save->Local File (unconverted)". -
How to tie tcode to table maintenance generator table
hi guys,
i need to use tcode to call table maintenance generator program (the one that is created via SM30 ).
how can i use module instead of executable program type ?> Hi Erwan,
>
> I hv followed ur step, but i didnt see this step
>
> then in the dynpro fields :
> VIEWNAME ztable
> SHOW X
>
> i am currently in ver 4.7
>
> i only see screen, from module pool, name of screen
> fields, value
You type VIEWNAME and SHOW in "name of screen fields", and put your ztable name and X in "Value".
matt -
Excel download functionality in Table maintenance generator
Hi Friends,
I have a requirement.
I have to create a custom table and should have a table maintenance for that.
I can do this via table maintenance generator.
But after creating this, in the maintenance screen, i should have a button. On clicking the button, a popup should ask for excel file name and after specifying the file name all the data in the maintenance screen has to get downloaded to a excel file.
So, my idea to implement is, change the code generated by table maintenance generator, to accomplish this.
In the menu painter, create a button. and have a ok code for that.
In the screen painter, design a screen with filename field and have a ok button. Accept the filename input and close the screen and then for that ok code in the PAI module, use GUI_DOWNLOAD function to download the excel file to the specified location.
Please review this and please let me know if there is any alternative solution for this requirement.
Thanks,
Jaffer Ali.SHi,
After maintaining table maintenence generator maintain one push button in pai of the table program .
in that when 'download'.
call function module f4_filename it will ask file name enter that value.
after using gui_download you can down load to excel file.
To download from SAP to Excel:
Transaction SE16N allows you to access any sap table and download result to Excel
no other alternative for this.
*reward points if usefull -
Purpose of table maintenance generator
wht is the purpose of table maintenance generator
Hi Pavan,
The purpose of table maintainence generator is to enable the table maintenance through SM30, and to implement and validation etc on table field inputs.
SE11->Utillities->table maintainence generator
You need to enter the values of following fields:
1. Table name
2. Authorization group , and authorization object (select the suitable one )
3. Function group and package
4. Maintainence type : single or double screen maintainence view depending on the option selected.
5. Maintain screen number : you may specify a value or let the system generate one for you.
The validation code for the table entry is written in the flow logic of this screen. Even some of the fields may be made display only , by adding suitable code in the logic or directly disabling the input in table control in the layout.
Table maintanance is for creating,adding datas to an existing table.
it is for adding muiltiple records at a time in the table
A table can be manipulated by a program or manually.
When creating table, you will find a check box 'Table maintenance allowed'. If we
check that option, we can manually enter entries using SE16 or table
maintenance generator screen.
SE16 is for data browser.
Go to SE11, give the table name and click on change. Then Go to utilities--> Table
maintenance generator.
In the table maintenance generator screen, we should give Authorization Group,
Function Group name (Function Group name can be same as table name),
Maintenance type can be one step or two step, usually we will create with one
step. we should give maintenance screen number. After clicking on create button,
a table maintenance generator will be created.
To check it go to SM30 . In SM30, we find display, Maintain options.
We can view the table contents by choosing Display and we can create table
entries by choosing Maintain.
In the production system, end-users will not be having access to transaction
codes like SE11 and SE16. Developers will not be having access to many
transaction codes including the above two.
To view the contents of the database table, we will use SE16n in Production
system. Please find out the difference between SE16 and SE16n.
All these authorizations will be maintained by BASIS team, by creating access
profiles.
So in order to edit or create the contents of a database table, we should go for
table maintenance generator. In real time, authorizations will be maintained in
production system. (even in development and Test systems to some extent).
There is an audit like Sarbanes-Oxley Act for American clients, where every thing
will be audited by government agency. To know more about SOX, use the links on
the right hand side of this page.
The second reason is, we can edit or create multiple entries at a time, using table
maintenance generator.
Apart from that we have options like 'Enter conditions' in table maintenance
screen SM30. Please try to find out the use of those, by creating an example.
Table Maintenance generator: Difference between one step and two steps.
While creating table maintenance generator, we find below options:
When we choose one step, we have to give the screen number in Overview Screen field.
When we choose two step, we have to give both overview screen number and single screen number.
You can give any number for screen. Dont give 1000 screen number. As this
number is reserved for selection screen.
When we choose two step, two screens will be created for table maintenance. For
single step only one screen will be created.
When we choose two step, table maintenance will work as follows
Go to SM30, give the table name for which you have created table maintenance-
Overview screen will be displayed. To create entries, when you click on new
entries. Another screen will be displayed, where you give input and save. You can
enter one record at a time.
Go to SM30; give table name for which you have created table maintenance-
Overview screen will be displayed; To create entries click on new entries, you can
enter the records on the same screen. You can enter multiple records at a time.
We use single step generally, as it is user friendly.
To completely understand the difference and above points please do exercise by
creating table maintenance generator in both ways (using single step and two
step).
Link: [http://help.sap.com/saphelp_nw04/helpdata/en/cf/21ed2d446011d189700000e8322d00/content.htm]
Link: [http://help.sap.com/saphelp_46c/helpdata/en/a7/5133ac407a11d1893b0000e8323c4f/frameset.htm]
Link: [/message/2831202#2831202 [original link is broken];
One step, two step in Table Maintenance Generator
Single step: Only overview screen is created i.e. the Table Maintenance Program will have only one screen where you can add, delete or edit records.
Two step: Two screens namely the overview screen and Single screen are created. The user can see the key fields in the first screen and can further go on to edit further details. -
Disabling fields in table Maintenance generator
Hi Experts,
I would like to restrict some fields in table maintenance generator dynamically/ statically.
Here is the situation.
I have generated table maintenance for the table ZMARA and I have created three transactions for the above single table maintenance generator.
i.e .. Transaction --- Table
ZT1 --- ZMARA
ZT2 --- ZMARA
ZT3 --- ZMARA
I am using above three transactions in my module pool program. Based on the certain conditions I am calling different transactions i.e ZT1, ZT2, etc
Here is my requirement:
Suppose if I call ZT1 transaction, I need to display only few fields. i.e ZMATNR, ZMTART, ZPRODH.
or remaining fields should disable. User should not allow to change the content, even if it is new entries/existing entries. only ZMATNR, ZMTART, ZPRODH.
Suppose if I call ZT2 transaction, I need to display only few fields. i.e ZMATNR, ZMTART, ZHTSCODE
How can we restrict dynamically when you call table maintenance generator table through transaction
or
How can we generate table maintenance for few fields?
Edited by: r badveli on Mar 16, 2009 4:27 PM
Edited by: r badveli on Mar 16, 2009 4:27 PM
Edited by: r badveli on Mar 16, 2009 4:28 PMHi ,
go to Se11->Table maintenace generation. Double click on screen to edit and assign the field you want to display/hide to groups. In PBO , after the following lines..
LOOP AT EXTRACT WITH CONTROL
TCTRL_ZMARA CURSOR NEXTLINE.
MODULE LISTE_SHOW_LISTE.
ENDLOOP.
Write a new module in PBO and edit the SCREEN as per the Tcode, you are calling,,'
Hope this helps you
Rj -
Help required on table maintenance generator
Hi all,
Would any one tell me what is the difference between one step and two step while creating a table maintenace generator for a table.
one more question is i would like to know which search the following code follows while it is executed.
select single vbeln
from vbak into l_vbeln
where vbeln in s_vbeln.
and
select vbeln
from vbak
into l_vbeln
up to 1 rows
where vbeln in s_vbeln.
please do reply soon for the questions.Hi
table maintanance Generator is used to manually
input values using transaction sm30
follow below steps
1) go to se11 check table maintanance check box under
attributes tab
2) utilities-table maintanance Generator->
create function group and assign it under
function group input box.
also assign authorization group default &NC& .
3)
select standard recording routine radio in table
table mainitainence generator to move table
contents to quality and production by assigning
it to request.
4) select maintaience type as single step.
5) maintainence screen as system generated numbers
this dialog box appears when you click on create
button
6) save and activate table
http://help.sap.com/saphelp_nw04/helpdata/en/cf/21ed2d446011d189700000e8322d00/content.htm
http://help.sap.com/saphelp_46c/helpdata/en/a7/5133ac407a11d1893b0000e8323c4f/frameset.htm
/message/2831202#2831202 [original link is broken]
One step, two step in Table Maintenance Generator
Single step: Only overview screen is created i.e. the Table Maintenance Program will have only one screen where you can add, delete or edit records.
Two step: Two screens namely the overview screen and Single screen are created. The user can see the key fields in the first screen and can further go on to edit further details.
Difference Between Select Single and Select UpTo One Rows
According to SAP Performance course the SELECT UP TO 1 ROWS is faster than SELECT SINGLE because you are not using all the primary key fields.
select single is a construct designed to read database records with primary key. In the absence of the primary key, it might end up doing a sequential search, whereas the select up to 1 rows may assume that there is no primary key supplied and will try to find most suitable index.
The best way to find out is through sql trace or runtime analysis.
Use "select up to 1 rows" only if you are sure that all the records returned will have the same value for the field(s) you are interested in. If not, you will be reading only the first record which matches the criteria, but may be the second or the third record has the value you are looking for.
The System test result showed that the variant Single * takes less time than Up to 1 rows as there is an additional level for COUNT STOP KEY for SELECT ENDSELECT UP TO 1 ROWS.
The 'SELECT SINGLE' statement selects the first row in the database that it finds that fulfils the 'WHERE' clause If this results in multiple records then only the first one will be returned and therefore may not be unique.
Mainly: to read data from
The 'SELECT .... UP TO 1 ROWS' statement is subtly different. The database selects all of the relevant records that are defined by the WHERE clause, applies any aggregate, ordering or grouping functions to them and then returns the first record of the result set.
Mainly: to check if entries exist.
Reward points for useful Answers
Regards
Anji -
Modify Key Field Values of a table through Table Maintenance Generator
Hi All,
I have created a z table with below structure. In this fields upto Valid To are all key fields. This is to ensure that consistant valid record get stored in the table.
MANDT MANDT CLNT 3 0 Client
VKORG VKORG CHAR 4 0 Sales Organization
VTWEG VTWEG CHAR 2 0 Distribution Channel
SPART SPART CHAR 2 0 Division
SKU MATNR CHAR 18 0 Material Number
LZONE LZONE CHAR 10 0 Transportation zone to or from which the goods are delivered
VALID_FROM ZVALID_FROM DATS 8 0 Valid From
VALID_TO ZVALID_TO DATS 8 0 Valid To
PLANT WERKS_D CHAR 4 0 Plant
SNP_TZONE ZSNP_TZONE CHAR 20 0 APO Transportation Zone
ERDAT ERDAT DATS 8 0 Date on Which Record Was Created
ERNAM ERNAM CHAR 12 0 Name of Person who Created the Object
AEDAT AEDAT DATS 8 0 Changed On
AENAME AENAME CHAR 12 0 Last changed by
I have created a Table Maintance program through the Table Maintenance Generator. And for that I have assigned a t code.
I can able to create new entires but i can not able to modify Valid_from and Valid_to entries of existing records.
Initially those two fields were in display mode but i went to its module pool program and made then as input enabled. But what the vales I was entering, its not getting saved in database. When we change the values of those fields and save it, the system is saying No Data Change.
Any inputs how to solve this issue. I can not make VALID_FROM and VALID_TO fields as non key.
Regards,Hi,
As you have already said that the value for valid to is a part of the key so you should not have any issues when this value is changed and the value is saved using the table maintainence generator, but in case you want to save values where the value for valid from has changed but the key is same we would not be able to save as there is already a value for the key, so if you want to save these values there are two ways 1 would either to delete the existing value value and create the new value or to have one more field as the key field like a counter so when the value is saved with a key the value is saved with counter as 1 and then ever next time for the new values increase the value of the counter.
In order to save these values use event 5 and put you code there.
You can also carry out checks for new aithorization in that event also.
Regards,
Himanshu -
Table maintenance generator with radiobuttons
Hello,
how can I automatically (via se11: table maintenance generator) generate from a DDIC-structure the radiobtton-fields on a dynpro?
If I use the domaine 'X' or 'XFELD', I only get checkboxes....
kind regardsHi,
Table Maintenance Generator will create the Z Screens.
In order modify those Z screens go to SE80 and give the
Function group for that table maintenance generator.
Then to find the function group go to sm30, give the table name and click on display. It show a screen with table control. Click on System -> Status .
It gives you the Z screen information.
Give that Z screen in SE80 and do the changes accordingly.
I hope it helps you.
Regards,
Gopi
Maybe you are looking for
-
Webroot identified ssl3.dll as a threat and deleted it. Now I can not start Firefox, nor can I copy ssl3.dll into the Firefox Program file. I tried uninstalling Firefox and reinstalling it, but it always shows as an upgrade and does not seem to add s
-
I have paid for itunes match and have now lost all my music off my iphone except what I paid for from itunes, 964 songs gone into the cloud. Can anyone help please?
-
How do it know which backup files to keep and which to delete?
How do you know which backup files to keep and which to delete?
-
Rebate, see rebate payments in user defined info structure (SIS)
Hi Gurus...i hope you can help me The client need to see the rebate payments for each material in a user define info structure (S500) where the material is a characteristic of the infostructure and the payment is a ratio I get to show the accrued val
-
HOW TO KNOW SORT KEY USED IN CURRENT HOLIDAY CALENDAR
Hi Experts, Could you please let me know how to know the sort criteria used in current Holiday calendar?? Any easiest method please let me know. I know one way which is going to Public holidays and see where used but if there is any other way please