Table pools , pooled tables , table clusters
HI
answer this q?
What is a table pool?
What are pooled tables?
What is a table cluster?
points will be assign for usefull information
"What is transparent, cluster and pool table? Where and when we use
" these tables?
"Transparent Table :
Exists with the same structure both in dictionary as well as in database exactly with the same data and fields.
"Pooled Table :
Pooled tables are logical tables that must be assigned to a table pool when they are defined. Pooled tables are used to store control data. Several pooled tables can be cominied in a table pool. The data of these pooled tables are then sorted in a common table in the database.
"Cluster Table :
Cluster tables are logical tables that must be assigned to a table cluster when they are defined. Cluster tables can be used to strore control data. They can also be used to store temporary data or texts, such as documentation.
"Major difference betwen Standard tables,Pooled tables and Cluster Tables?
1.A transparent table is a table that stores data directly. You can read these tables directly on the database from outside SAP with for instance an SQL statement.
2.Transparent table is a one to one relation table i.e. when you create one transparent table then exactly same table will create in data base and if is basically used to store transaction data.
3.A clustered and a pooled table cannot be read from outside SAP because certain data are clustered and pooled in one field.
4.One of the possible reasons is for instance that their content can be variable in length and build up. Database manipulations in Abap are limited as well.
5.But pool and cluster table is a many to one relationship table. This means many pool table store in a database table which is know as table pool.
6.All the pool table stored table in table pool does not need to have any foreign key relationship but in the case of cluster table it is must. And pool and cluster table is basically use to store application data.
7.Table pool can contain 10 to 1000 small pool table which has 10 to 100 records. But cluster table can contain very big but few (1 to 10) cluster table.
8.For pool and cluster table you can create secondary index and you can use select distinct, group for pool and cluster table. You can use native SQL statement for pool and cluster table.
9.A structure is a table without data. It is only filled by program logic at the moment it is needed starting from tables.
10.A View is a way of looking at the contents of tables. It only contains the combination of the tables at the basis and the way the data needs to be represented. You actually call directly upon the underlying tables.
'The table which store information about Structures and Tables are as follows:
DD02L - table properties
DD02T - table texts
DD03L - field properties
DD03T - field texts
Reward points if it is usefull...
Girish
Similar Messages
-
Wat is the exact differences between clustered table and pooled table
hi,
can you tell me ravi...wat is the exact differences between clustered table and pooled table
with regards//
anilreddygHi Anil Reddy
Pooled Tables, Table Pools, Cluster Tables, and Table Clusters
These types of tables are not transparent in the sense that they are not legible or manageable directly using the underlying database system tools. They are managed from within the R/3 environment from the ABAP dictionary and also at runtime when they are loaded into application memory.Pool and cluster tables are logical tables. Physically, these logical tables are arranged as records of transparent tables. The pool and cluster tables are grouped together in other tables, which are of the transparent type. The tables that group together pool tables are known as table pools, or just pools; similarly, table clusters, or just
clusters, are the tables which group cluster tables.Not all operations that can be performed over transparent tables can be executed over pool or cluster tables.
For instance, you can manage these tables using Open SQL calls from ABAP, but not Native SQL.These tables are meant to be buffered and loaded in memory, because they are commonly used for storing internal control information and other types of data with no external (business) relevance. SAP recommends that tables of pool or cluster type be used exclusively for control information such as
program parameters, documentation, and so on. Transaction and application data should be stored in transparent tables.
Table Pools
From the point of view of the underlying DBMS as from the point of view of the ABAP dictionary, a table pool is a transparent table containing a group of pooled tables which, when created, were assigned to this table pool.
Field Type Description
TABNAME CHAR(10) Table name
VARKEY CHAR(n) Maximum key length n =< 110
DATALN INT2(5) Length of the VARDATA record returned
VARDATA RAW(m) Maximum length of the data varies according to DBMS
Table Clusters
Similarly to pooled tables, cluster tables are logical tables which, when created, are assigned to a table cluster. Therefore, a table cluster, or just cluster, groups together several tables of type clusters.Several logical rows from different cluster tables are brought together in a single physical record. The records
from the cluster tables assigned to a cluster are thus stored in a single common table in the database.A cluster contains a transparent cluster key which must be located at the start of the key of all logical cluster tables to be included in the cluster. As well, a cluster contains a long field (VARDATA), which contains the
data of the cluster tables for this key. If the data does not fit into a field, continuation records are created.
Field Type Description
CLKEY1 CHAR(*) First key fields
CLKEY2 CHAR(*) Second key field
CLKEYN CHAR(*) nth key field
PAGENO INT2(5) Number of the next page
TIMESTMP CHAR(14) Time stamp
PAGELG INT2(5) Length of the VARDATA record returned
VARDATA RAW(*) Maximum length of the data section; varies according to database system
Working with Tables
The dictionary includes many functions for working with tables. There are five basic operations you can perform on tables: display, create, delete, modify, copy. Please do not confuse displaying a table with displaying the table entries (table contents). In order to display a table, it must previously exist; otherwise the system will display an error message in the status bar. For the following example, the table TABNA is used. To display this table, from the main dictionary screen, enter the table name in the Object name
input field with the radio button selected next to Tables. Then, click on the Display button at the bottom of the screen, or press the F7 function key, or, alternatively,
select Dictionary object Display from the menu.
In this screen, you can see table information such as
¨ Table type, shown next to the name of the object. In the example, it is a transparent table.
¨ Short text description.
¨ Name of the user who made the last change, and the date of the change.
¨ Master language.
¨ Table status. On the screen, you can see this table is saved and active.
¨ Development class. For information on development classes, refer to Chap. 6.
Delivery class, which sets the maintenance group for the table. It controls how tables will behave during client copy procedures, upgrades, and so forth.¨
Tab. Maint. Allowed flag, which indicates whether you can generate a screen for maintaining table entries.
¨Then, on the lower part of the screen, you can see the table fields with all associated characteristics such as:
¨ Field name.
¨ Key indicator. When set, this field is the primary key, or part of it.
¨ Data element.
¨ Basic data type.
¨ Length.
¨ Check table.
¨ Short text, describing the field.
Additional information about the table can be displayed by selecting the corresponding functions from the menu or directly from the application toolbar, such as keys, indexes, or technical settings
Standard table:
The key access to a standard table uses a sequential search. The time required for an access is linearly dependent on the number of entries in the internal table.
You should usually access a standard table with index operations.
Sorted table:
The table is always stored internally sorted by its key. Key access to a sorted table can therefore use a binary search. If the key is not unique, the entry with the lowest index is accessed. The time required for an access is logarithmically dependent on the number of entries in the internal table.
Index accesses to sorted tables are also allowed. You should usually access a sorted table using its key.
Hash table:
The table is internally managed with a hash procedure. All the entries must have a unique key. The time required for a key access is constant, that is it does not depend on the number of entries in the internal table.
You cannot access a hash table with an index. Accesses must use generic key operations (SORT, LOOP, etc.).
Index table:
The table can be a standard table or a sorted table.
Index access is allowed to such an index table. Index tables can be used to define the type of generic parameters of a FORM (subroutine) or a function module.
Just have a look at these links:
http://help.sap.com/saphelp_nw04/helpdata/en/90/8d7304b1af11d194f600a0c929b3c3/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/74/83015785d811d295a800a0c929b3c3/frameset.htm
Regards
Sreeni -
Which type of information can be hold by pool and cluster tables
hi experts tell me exactly which type of information hold by pooled and cluster tables
thanks in advanceHi
I hope, you know that Rewarding with Points for the Useful answers is the SDN policy
Pooled table
Pooled tables can be used to store control data (e.g. screen sequences,
program parameters or temporary data). Several pooled tables can be
combined to form a table pool. The table pool corresponds to a physical
table on the database in which all the records of the allocated pooled
tables are stored.
Cluster table
Cluster tables contain continuous text, for example documentation.
Several cluster tables can be combined to form a table cluster. Several
logical lines of different tables are combined to form a physical record
in this table category. This permits object-by-object storage or
object-by-object access. In order to combine tables in clusters, at
least part of the keys must agree. Several cluster tables are stored in
one corresponding table on the database.
Pool Tables (match codes, look up tables)
Should be accessed via primary key or
Should be buffered (SE11->Display Table->technical settings)
No secondary indexes
Select * is Ok because all columns retrieved anyway
Cluster Tables (BSEG,BSEC)
Should be accessed via primary key - very fast retrieval otherwise very slow
No secondary indexes
Select * is Ok because all columns retrieved anyway. Performing an operation on multiple rows is more efficient than single row operations. Therefore you still want to select into an internal table. If many rows are being selected into the internal table, you might still like to retrieve specific columns to cut down on the memory required.
Statistical SQL functions (SUM, AVG, MIN, MAX, etc) not supported
Can not be buffered
<b>Reward points for useful Answers</b>
Regards
Anji -
What is the differences between Transparent,Pooled and Cluster tables?
Hello all,
What is Pool table?What is the differences between Transparent,Pooled and Cluster tables?
Regards!
PurnaTransparent table:
Tables can be defined independently of the database in the ABAP Dictionary. The fields of the table are defined together with their (database-independent) data types and lengths.
A table definition in the ABAP Dictionary has the following components:
Table fields: The field names and the data types of the fields contained in the table are defined here.
Foreign keys: The foreign keys define the relationships between this table and other tables.
Technical settings: The technical settings define how the table is created on the database.
Indexes: Indexes can be defined for the table to speed up data selection from the table.
There are three categories of database tables in the ABAP Dictionary.
A physical table definition is created in the database for the table definition stored in the ABAP Dictionary for transparent tables when the table is activated. The table definition is translated from the ABAP Dictionary to a definition of the particular database.
On the other hand, pooled tables and cluster tables are not created in the database. The data of these tables is stored in the corresponding table pool or table cluster. It is not necessary to create indexes and technical settings for pooled and cluster tables.
Pooled table
Pooled tables can be used to store control data (e.g. screen sequences, program parameters or temporary data). Several pooled tables can be combined to form a table pool. The table pool corresponds to a physical table on the database in which all the records of the allocated pooled tables are stored.
Cluster table
Cluster tables contain continuous text, for example, documentation. Several cluster tables can be combined to form a table cluster. Several logical lines of different tables are combined to form a physical record in this table type. This permits object-by-object storage or object-by-object access. In order to combine tables in clusters, at least parts of the keys must agree. Several cluster tables are stored in one corresponding table on the database.
Regds,
Manohar -
Where we can use pooled and cluster tables.
Hi Experts,
I have read all the threads and tutorials. all are telling like the difference between pooled and clulster tables are
Pooled table
It can hold small amount of data ( 10 to 100 records) and large number of tables( 100 to 1000 tables). It has fixed structure like Tabname, Varkey, Datain, Vardata.
Cluter tables
It can hold large amount of data but small number of tables. It is also have fixed strucuter like CLKEY1,CLKEY2 , CLKEY3...., Pageno, Timestamp, Pagelg, Vardata.
But i want which situation we can choose pooled table and which situation we can choose cluster table. In general way or Business way.
Thank you,
Srinivas M
Edited by: Srinivas Marapureddy on May 11, 2010 4:39 PM>
El Tony wrote:
> Those table to manage big data volume, for example BSEG is a cluster table, this help to database for store the data in little amount. Instead the Pooled Table to store the table in other table, so that this help to database for store the data too but in more little amount.
>
> In Background ABAP to control this, because there are source code that help to show the data complete, but in the databse the data is store with alphanumerics. This is a advantage for the database.
Let me correct you, the data is not stored in alphanumeric but in RAW format in pool & cluster tables.
SAP says pool & cluster tables are created so that data from different tables belonging containing similar kind of data are clubbed together. I am not sure if storing data in RAW format compresses its size but SAP recommends storing business data in transperant tables.
Quote from SAP documentation:
"Data of commercial relevance is usually stored in transparent tables."
If data compression were a significant point SAP would have stored data in table clusters & not in transperant tables.
Comments are welcome.
BR,
Suhas -
Module pool to maintiane table ztavble
hi
can anyone send me complete code to refer for maintaining a ztable
following validation are required like
1) sortiing
deletein and addition save etc all as in table maintianece i need to code by module pool becasue in table maintainece sorting coding is not possible...
also validation are
1) whne user enters ship to info name 1 should automatically be populated from kna1 on pressing enter how to acheive this by module pool
2) email verification format should be correct? how to acheive this by module pool
3) sorting on basis of all fields
regards
NishantHi Nishanth,,,
I also developed the same kind of Program for maintaining the Ztable...
Jus create a new GUI Staus...with the required functions....
Refer the below code:
REPORT : Z0BRAP_TAX_EXCEPTION .
TITLE : Tax Exceptions Table
AUTHOR : Swaminathan PJ
DATE : 04/12/2006
DDN NUMBER : SAP-BR-TB0020
TRANSPORT REQUEST NUMBER : D12K912309
REFERENCE :
DESCRIPTION
Program Z0BRAP_TAX_EXCEPTION is an Report program to update the table
ZTBRAP_TAX_EXCPT,here user can Create/Change/Display the table entrie
s and can perform the following functions (Filter,Sort,Summation and
Subtotal).
AMENDMENTS
CHANGES REF DATE PERSON Tran.Req. Number
DESCRIPTION:
Include for Global Declarations *
INCLUDE: znbrap_tax_exception_top. " Include for Global Declarative elements
Include
All the subroutines are include
INCLUDE znbrap_tax_exception. " Include for all Subroutines
START OF SELECTION
START-OF-SELECTION.
Main Subroutine
PERFORM procMain.
End of Selection *
END-OF-SELECTION.
INCLUDE : ZNBRAP_TAX_EXCEPTION_TOP
TITLE : Data Declarations
AUTHOR :
DATE : 04.12.2006
TRANSPORT REQUEST NUMBER : D12K912309
DESCRIPTION
Global Data Declarations for Z0BRAP_TAX_EXCEPTION
AMENDMENTS
CHANGES REF DATE PERSON Tran.Req. Number
DESCRIPTION:
ALV Declarations
TYPE-POOLS: slis.
Types contains the structure of the table
*TYPES : BEGIN OF gy_tax_exception.
INCLUDE STRUCTURE ztbrap_tax_excpt.
mandt TYPE mandt,
zmonat TYPE monat,
zbukrs TYPE bukrs,
zlifnr TYPE lifnr,
zexctype TYPE zebrap_exctype,
zstcd1 TYPE stcd1,
zaugdt_other TYPE budat,
zbelnr TYPE belnr,
zdmbtr TYPE dmbtr,
zwhtinssca TYPE dmbtr,
zuserch TYPE syuname,
zdate_change TYPE datum,
ztime_change TYPE uzeit,
*TYPES: END OF gy_tax_exception.
Tables for the structure defined above
*TYPES : gy_tax_exception_tab TYPE STANDARD TABLE OF gy_tax_exception.
Internal Table
DATA: gt_tax_excpt_tab TYPE STANDARD TABLE OF ztbrap_tax_excpt WITH HEADER LINE, "Global internal table for Tax exceptions data
gt_fieldcat TYPE slis_fieldcat_alv OCCURS 0 WITH HEADER LINE. "Global internal table for fieldcat
*& Include ZNBRAP_TAX_EXCEPTION *
*& Form procMain
text
--> p1 text
<-- p2 text
FORM procMain .
Set PF-Status
perform procInitialize.
Select Tax Exceptions Data
perform procGetTaxExceptionsData.
Display ALV Report with Tax Exceptions Data
perform procDisplayTaxExceptionsData.
ENDFORM. " procMain
FORM initialize *
form procInitialize.
CONSTANTS :
lc_pfstatus TYPE abnkr VALUE 'ZTAX_EXCEPTION'. "Pf Status
Set status
set pf-status lc_pfstatus.
endform. "procInitialize
FORM retrieve_data *
Retrieve data from SAP *
form procGetTaxExceptionsData.
REFRESH: gt_tax_excpt_tab.
select * from ztbrap_tax_excpt
appending corresponding fields of table gt_tax_excpt_tab.
endform. "procGetTaxExceptionsData
Called by REUSE_ALV_GRID_DISPLAY when user interacts. *
In this case, there are a number of buttons / menu options for *
user to select for non-standard functions: *
o Single Display *
o Single Change *
o Single create *
o Single Delete *
--> lv_ucomm *
--> LW_SELFIELD *
form user_command using lv_ucomm like sy-ucomm
lw_selfield type slis_selfield.
Work area
DATA: lw_update_tax_excpt TYPE ztbrap_tax_excpt. " work area for tax exceptions data
DATA: lw_tax_exception TYPE ztbrap_tax_excpt. " work area for tax exceptions data
Variables
DATA: lv_key TYPE abkrs , "key fields
lv_non_key TYPE abkrs, "Non Key Fields
lv_insert TYPE ablnv, "Insert
lv_change TYPE ablnv, "Change
lv_entry TYPE ablnv, "Popup title
lv_display TYPE ablnv, "Display
lv_delete TYPE ablnv, "Delete
lv_mode TYPE ablnv . "Menu options
Constants
CONSTANTS:
lc_new TYPE alind VALUE 'ZNEW', "Fcode for new
lc_update TYPE alind VALUE 'ZBR', "Fcode for change
lc_view TYPE alind VALUE 'ZDISP', "Fcode for display
lc_delete TYPE alind VALUE 'ZDEL ', "Fcode for delete
lc_show_field TYPE abkrs VALUE '00', "Show field
lc_hide_field TYPE abkrs VALUE '02'. "Hide field
Clear Local Work Area
CLEAR :
lw_update_tax_excpt.
Clear Local Variables
CLEAR :
lv_key,
lv_non_key,
lv_mode,
lv_insert,
lv_delete,
lv_change,
lv_display.
Retrieve data for selected line & store it in a temp structure.
READ TABLE gt_tax_excpt_tab index lw_selfield-tabindex .
if sy-subrc is not initial and lv_ucomm <> lc_new and lv_ucomm(6) <> 'DELETE'.
message w123(m&). " Position the cursor on a valid line
exit.
endif.
Moving the contents to workarea
MOVE gt_tax_excpt_tab-zmonat TO lw_update_tax_excpt-zmonat.
MOVE gt_tax_excpt_tab-zbukrs TO lw_update_tax_excpt-zbukrs.
MOVE gt_tax_excpt_tab-zlifnr to lw_update_tax_excpt-zlifnr.
MOVE gt_tax_excpt_tab-zexctype to lw_update_tax_excpt-zexctype.
MOVE gt_tax_excpt_tab-zstcd1 to lw_update_tax_excpt-zstcd1.
MOVE gt_tax_excpt_tab-zaugdt_other to lw_update_tax_excpt-zaugdt_other.
MOVE gt_tax_excpt_tab-zbelnr to lw_update_tax_excpt-zbelnr.
MOVE gt_tax_excpt_tab-zdmbtr to lw_update_tax_excpt-zdmbtr.
MOVE gt_tax_excpt_tab-zwhtinssca to lw_update_tax_excpt-zwhtinssca.
MOVE gt_tax_excpt_tab-zuserch to lw_update_tax_excpt-zuserch.
MOVE gt_tax_excpt_tab-zdate_change to lw_update_tax_excpt-zdate_change.
MOVE gt_tax_excpt_tab-ztime_change to lw_update_tax_excpt-ztime_change.
Move the text for Add,Change,Display
Move text-019 To lv_insert.
Move text-020 To lv_change.
Move text-021 To lv_display.
Move text-023 To lv_delete.
Now see which button / menu option user has selected
case lv_ucomm.
when lc_view. "Display a single entry
lv_mode = lv_display.
lv_key = lc_hide_field. "hide key fields
lv_non_key = lc_hide_field. "hide non key fields
perform procFindKeyFields
using lw_update_tax_excpt lv_mode lv_insert lv_delete
lv_change lv_display lv_key lv_non_key lw_selfield.
when lc_update . "Update a single entry (show non-key fields)
lv_mode = lv_change.
lv_key = lc_hide_field. "hide key fields
lv_non_key = lc_show_field. "show non-key fields
perform procFindKeyFields
using lw_update_tax_excpt lv_mode lv_insert lv_delete
lv_change lv_display lv_key lv_non_key lw_selfield.
when lc_new. "Add a single new entry (show all fields)
lv_mode = lv_insert.
lv_key = lc_show_field.
lv_non_key = lc_show_field.
clear lw_update_tax_excpt. "Empty structure to give new entry.
perform procFindKeyFields
using lw_update_tax_excpt lv_mode lv_insert lv_delete
lv_change lv_display lv_key lv_non_key lw_selfield.
WHEN lc_delete. " Delete current entry
lv_mode = lv_delete.
lv_key = lc_hide_field.
lv_non_key = lc_hide_field.
perform procFindKeyFields
using lw_update_tax_excpt lv_mode lv_insert lv_delete
lv_change lv_display lv_key lv_non_key lw_selfield.
endcase.
endform. "user_command
FORM procFindKeyFields *
--> lw_tax_excpt *
--> lw_update_tax_excpt *
--> lv_ret *
form procFindKeyFields using lw_update_tax_excpt structure ztbrap_tax_excpt
lv_mode
lv_insert
lv_delete
lv_change
lv_display
lv_key
lv_non_key
lw_selfield type slis_selfield.
Work area
DATA:lw_key_table TYPE dfies occurs 0 with header line, "Work area for for key fields
lw_tax_excpt TYPE sval occurs 0 with header line. "Work area for tax exceptions data
Variables
DATA: lv_ret TYPE char1, "Return parameter
lv_title TYPE text60, "Popup title
lv_excpt_type TYPE ZEBRAP_EXCTYPE, "Exception type
lv_entry TYPE ablnv, "Popup text
lv_vendor TYPE lifnr, "Vendor
lv_vendor_no TYPE lifnr, "Vendor
lv_co_code TYPE bukrs, "Company code
lv_comp_code TYPE bukrs, "Company code
lv_answer TYPE aavis. "Return parameter
Constants
CONSTANTS:
lc_ref_tab TYPE ablnv VALUE 'T001', "Reference table
lc_ref_fld TYPE ablnv VALUE 'WAERS', "Reference field
lc_hide_fld TYPE abkrs VALUE '04', "Hide field
lc_client TYPE amert VALUE 'MANDT', "Client
lc_user TYPE amert VALUE 'ZUSERCH', "User
lc_date TYPE amert VALUE 'ZDATE_CHANGE', "Date
lc_time TYPE amert VALUE 'ZTIME_CHANGE', "Time
lc_taxno TYPE amert VALUE 'ZSTCD1', "Tax Number
lc_vendor TYPE amert VALUE 'ZLIFNR', "Vendor
lc_exception_typ TYPE amert VALUE 'ZEXCTYPE', "Exception type
lc_clearing_dt TYPE amert VALUE 'ZAUGDT_OTHER', "Clearing date
lc_period TYPE amert VALUE 'ZMONAT', "Period
lc_co_code TYPE amert VALUE 'ZBUKRS', "Company code
lc_gross_amt TYPE amert VALUE 'ZDMBTR', "Gross amount
lc_excpt_amt TYPE amert VALUE 'ZWHTINSSCA', "Exception amount
lc_period_def TYPE abkrs VALUE '00', "Default value for period
lc_amount_def TYPE amert VALUE '0.00', "Default value for amount
lc_date_def TYPE amert VALUE '00000000', "Default value for date
lc_exctype_mf TYPE abkrs VALUE 'MF', "Exception type value
lc_exctype_gr TYPE abkrs VALUE 'GR', "Exception type value
lc_field_obl TYPE aavis VALUE 'X', "Obligatory
lc_cancel TYPE aavis VALUE 'X', "Obligatory
lc_return TYPE aavis VALUE 'A', "Return parameter
lc_mandatory TYPE aavis VALUE '?', "Mandatory
lc_space TYPE abkrs VALUE ' ', "Space
lc_notsupported TYPE agitt VALUE 1, "Exception for FM
lc_others TYPE agitt VALUE 2, "Exception for FM
lc_error TYPE agitt VALUE 1, "Exception for FM
lc_confirm TYPE agitt VALUE 1, "Exception for FM
lc_text TYPE agitt VALUE 1, "Exception for FM
lc_start_column TYPE abkrs VALUE '50', "Start column
lc_start_row TYPE aavis VALUE '7', "Start column
lc_tabname TYPE amert VALUE 'ZTBRAP_TAX_EXCPT', "Table name,
lc_column TYPE SY-CUCOL VALUE 25, "Start column
lc_row TYPE SY-CUROW VALUE 6. "Start row
Clear Local Work Area
CLEAR :
lw_tax_excpt,
lw_key_table .
Clear Local Variables
CLEAR :
lv_ret,
lv_title,
lv_excpt_type,
lv_vendor,
lv_vendor_no,
lv_co_code,
lv_comp_code,
lv_answer.
Field symbol
field-symbols: <lf_tax_excpt>, "Tax exceptions values
<lf_tax_excpt_value>.
Move the text for entry
Move text-022 To lv_entry.
REFRESH lw_tax_excpt.
lw_tax_excpt-field_obl = lc_field_obl.
lw_tax_excpt-tabname = lc_tabname.
Determine which are key fields in the table. This is necessary to
control which fields are available for display
call function 'GET_KEY_FIELDS_OF_TABLE'
EXPORTING
tabname = lw_tax_excpt-tabname
mandt_needed = lc_field_obl
TABLES
key_fieldtab = lw_key_table
EXCEPTIONS
not_supported = lc_notsupported
others = lc_others.
if sy-subrc is not initial.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
exit.
endif.
loop at gt_fieldcat.
case gt_fieldcat-fieldname.
Supress fields you don't want to show
when lc_client or lc_user or lc_date or lc_time.
when OTHERS.
READ TABLE lw_key_table with key fieldname = gt_fieldcat-fieldname.
if sy-subrc is initial.
lw_tax_excpt-field_attr = lv_key.
lw_tax_excpt-field_obl = lc_field_obl.
else.
lw_tax_excpt-field_attr = lv_non_key.
lw_tax_excpt-field_obl = lc_space.
endif.
lw_tax_excpt-fieldname = gt_fieldcat-fieldname.
assign component lw_tax_excpt-fieldname of
structure lw_update_tax_excpt to <lf_tax_excpt>.
lw_tax_excpt-value = <lf_tax_excpt>.
lw_tax_excpt-fieldtext = gt_fieldcat-seltext_l.
Remove the condition obligatory
IF lw_tax_excpt-fieldname = lc_taxno.
lw_tax_excpt-field_obl = lc_space.
ENDIF.
append lw_tax_excpt.
endcase.
endloop .
Appending the reference table and field for amount field
if lv_mode = lv_insert.
lw_tax_excpt-tabname = lc_ref_tab.
lw_tax_excpt-fieldname = lc_ref_fld.
lw_tax_excpt-field_attr = lc_hide_fld.
append lw_tax_excpt.
endif.
IF lv_mode NE lv_delete.
Show selected entry
CONCATENATE lv_mode lv_entry INTO lv_title SEPARATED BY space.
do.
call function 'POPUP_GET_VALUES'
EXPORTING
popup_title = lv_title
start_column = lc_start_column
start_row = lc_start_row
IMPORTING
returncode = lv_ret
TABLES
fields = lw_tax_excpt
EXCEPTIONS
error_in_fields = lc_error
others = lc_others.
Exit if Error, Display or Delete
if sy-subrc is not initial or lv_ret = lc_return
or lv_mode = lv_display
or lv_mode = lv_delete..
exit.
endif.
Validate fields involved in ADDING NEW ENTRY
IF lv_mode = lv_insert . "ADD new Entry
Validate the field Period
READ TABLE lw_tax_excpt with key fieldname = lc_period.
IF lw_tax_excpt-value EQ lc_period_def.
PERFORM procWarnuser USING text-001 text-003 .
CONTINUE.
ENDIF.
Validate the field Company code
READ TABLE lw_tax_excpt with key fieldname = lc_co_code.
lv_co_code = lw_tax_excpt-value.
select single bukrs from t001 into lv_comp_code
where bukrs = lv_co_code.
IF sy-subrc is not initial.
PERFORM procWarnuser USING text-001 text-028 .
CONTINUE.
ENDIF.
Validate the field Vendor
READ TABLE lw_tax_excpt with key fieldname = lc_vendor.
lv_vendor = lw_tax_excpt-value.
select single lifnr from lfa1 into lv_vendor_no
where lifnr = lv_vendor.
IF sy-subrc is not initial.
PERFORM procWarnuser USING text-001 text-024 .
CONTINUE.
ENDIF.
Store the value of exception type in a variable
READ TABLE lw_tax_excpt with key fieldname = lc_exception_typ.
lv_excpt_type = lw_tax_excpt-value.
Validate the field Tax number1 other entities
READ TABLE lw_tax_excpt with key fieldname = lc_taxno.
IF lv_excpt_type EQ lc_exctype_mf or lv_excpt_type EQ lc_exctype_gr.
IF lw_tax_excpt-value EQ space.
PERFORM procWarnuser USING text-001 text-002 .
CONTINUE.
ENDIF.
ENDIF.
Validate the field Clearing date
READ TABLE lw_tax_excpt with key fieldname = lc_clearing_dt.
IF lw_tax_excpt-value EQ lc_date_def.
PERFORM procWarnuser USING text-001 text-004.
CONTINUE.
ENDIF.
Validate the field Gross amount
READ TABLE lw_tax_excpt with key fieldname = lc_gross_amt.
condense lw_tax_excpt-value no-gaps.
IF lw_tax_excpt-value EQ lc_amount_def OR
lw_tax_excpt-value EQ space.
PERFORM procWarnuser USING text-001 text-005.
CONTINUE.
ENDIF.
Validate the field Exception amount
READ TABLE lw_tax_excpt with key fieldname = lc_excpt_amt.
condense lw_tax_excpt-value no-gaps.
IF lw_tax_excpt-value EQ lc_amount_def OR
lw_tax_excpt-value EQ space.
PERFORM procWarnuser USING text-001 text-006.
CONTINUE.
ENDIF.
delete lw_tax_excpt index 10.
ENDIF.
all checks successful !!!!
exit.
enddo.
endif.
IF lv_mode EQ lv_delete.
CONCATENATE lv_mode lv_entry INTO lv_title SEPARATED BY space.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TITLEBAR = lv_title
text_question = text-025
TEXT_BUTTON_1 = text-026
TEXT_BUTTON_2 = text-027
DISPLAY_CANCEL_BUTTON = lc_space
START_COLUMN = lc_column
START_ROW = lc_row
IMPORTING
ANSWER = lv_answer
EXCEPTIONS
TEXT_NOT_FOUND = lc_text
OTHERS = lc_others
IF sy-subrc is not initial.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
Need to pop-out of the sub if "cancel" was selected
if lv_ret = lc_return or lv_mode = lv_display.
exit.
endif.
copy contents of pop-up back into structure
loop at lw_tax_excpt.
check lw_tax_excpt-value <> lc_mandatory.
assign component lw_tax_excpt-fieldname
of structure lw_update_tax_excpt to <lf_tax_excpt_value>.
<lf_tax_excpt_value> = lw_tax_excpt-value.
endloop.
update the database accordingly.
case lv_mode.
when lv_insert. "Insert
Give other required field values
lw_update_tax_excpt-mandt = sy-mandt. "Client
lw_update_tax_excpt-zuserch = sy-uname. "User
lw_update_tax_excpt-zdate_change = sy-datum. "Date
lw_update_tax_excpt-ztime_change = sy-uzeit. "Time
INSERT into ztbrap_tax_excpt values lw_update_tax_excpt.
message s036(zmbrap).
WHEN lv_change. "Change
Give other required field values
lw_update_tax_excpt-mandt = sy-mandt. "Client
lw_update_tax_excpt-zuserch = sy-uname. "User
lw_update_tax_excpt-zdate_change = sy-datum. "Date
lw_update_tax_excpt-ztime_change = sy-uzeit. "Time
MODIFY ztbrap_tax_excpt FROM lw_update_tax_excpt. "Update record
message s037(zmbrap).
WHEN lv_delete. "Delete
IF lv_answer = lc_confirm.
DELETE FROM ztbrap_tax_excpt WHERE
zmonat = lw_update_tax_excpt-zmonat AND
zbukrs = lw_update_tax_excpt-zbukrs AND
zlifnr = lw_update_tax_excpt-zlifnr AND
zexctype = lw_update_tax_excpt-zexctype AND
zstcd1 = lw_update_tax_excpt-zstcd1 AND
zaugdt_other = lw_update_tax_excpt-zaugdt_other AND
zdmbtr = lw_update_tax_excpt-zdmbtr AND
zwhtinssca = lw_update_tax_excpt-zwhtinssca.
message s038(zmbrap).
ENDIF.
endcase.
Now do refresh ...
if sy-subrc is not initial.
rollback work.
message e033(zmbrap).
else.
perform procGetTaxExceptionsData.
commit work.
perform procGetTaxExceptionsData.
lw_selfield-refresh = lc_field_obl.
lw_selfield-col_stable = lc_field_obl.
lw_selfield-row_stable = lc_field_obl.
endif.
endform. "procFindKeyFields
FORM procDisplayTaxExceptionsData *
Produce ALV report *
form procDisplayTaxExceptionsData.
Variables
DATA: lv_layout TYPE slis_layout_alv, "Layout
lv_dispvariant TYPE disvariant, "For display
lv_events TYPE slis_t_event, "Events
lv_grid_settings TYPE lvc_s_glay, "Grid settings
lv_event TYPE slis_alv_event. "Events
Constants
CONSTANTS:
lc_user_command TYPE slis_formname VALUE 'USER_COMMAND', "User command
lc_pf_status TYPE slis_formname VALUE 'PF_STATUS_SET_SHOW_LIST', "Pf status
lc_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE', "Top of page
lc_tab_name TYPE tabname VALUE 'ZTBRAP_TAX_EXCPT', "Table name
lc_stripes TYPE aavis VALUE 'X', "Stripes
lc_save TYPE aavis VALUE 'A', "Save
lc_repid TYPE sy-repid VALUE sy-repid, "Program name
lc_inconsistent TYPE agitt VALUE 1, "Exception for FM
lc_program TYPE agitt VALUE 2, "Exception for FM
lc_others TYPE agitt VALUE 3. "Exception for FM
Clear Local Variables
CLEAR:
lv_layout,
lv_dispvariant,
lv_events,
lv_grid_settings,
lv_event.
*Set up ALV structures
lv_dispvariant-report = lc_repid.
gv_repid = sy-repid.
lv_dispvariant-username = sy-uname.
*Set alternate stripes for ALV report
lv_layout-zebra = lc_stripes .
lv_grid_settings-coll_top_p = lc_stripes .
*Set up exit structure for top of coverpage
lv_event-name = slis_ev_top_of_coverpage.
lv_event-form = slis_ev_top_of_coverpage.
append lv_event to lv_events.
*Set up exit for top of page
lv_event-name = slis_ev_top_of_page.
lv_event-form = slis_ev_top_of_page.
append lv_event to lv_events.
*Build field catalog for List Viewer
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = lc_repid
i_inclname = lc_repid
i_structure_name = lc_tab_name
CHANGING
ct_fieldcat = gt_fieldcat[]
EXCEPTIONS
inconsistent_interface = lc_inconsistent
program_error = lc_program
others = lc_others.
field controls
PERFORM procBuildFieldcat.
Call ABAP/4 List Viewer
check not gt_fieldcat[] is initial.
call function 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = lc_repid
i_callback_user_command = lc_user_command
i_callback_pf_status_set = lc_pf_status
i_callback_top_of_page = lc_top_of_page
is_variant = lv_dispvariant
i_grid_settings = lv_grid_settings
is_layout = lv_layout
it_fieldcat = gt_fieldcat[]
it_events = lv_events
i_save = lc_save " A = All => Standard & User
TABLES
t_outtab = gt_tax_excpt_tab.
endform. "procDisplayTaxExceptionsData
**& Form PF_STATUS_SET_SHOW_LIST
Set modified standard status for list
form pf_status_set_show_list
using lw_excpt_tab TYPE slis_t_extab.
Workarea
DATA : lw_tax_tab TYPE slis_extab. "Type group Slis
Constants
DATA : lc_pfstat TYPE amert VALUE 'ZTAX_EXCEPTION', "Pf status
lc_prog TYPE sy-repid VALUE sy-repid, "Program name
lc_fcode TYPE gui_code VALUE 'SELI'. "Function code
Clear Workarea
CLEAR :lw_tax_tab.
lw_tax_tab-fcode = lc_fcode.
append lw_tax_tab to lw_excpt_tab.
set pf-status lc_pfstat of program lc_prog excluding lw_excpt_tab.
endform. "PF_STATUS_SET_SHOW_LIST
**& Form procBuildFieldcat
text
--> p1 text
<-- p2 text
form procBuildFieldcat .
Constants
CONSTANTS :
lc_co_code TYPE amert VALUE 'ZBUKRS', "Company code
lc_vendor TYPE amert VALUE 'ZLIFNR', "Vendor
lc_docu_no TYPE amert VALUE 'ZBELNR', "Document Number
lc_user TYPE amert VALUE 'ZUSERCH', "User
lc_date TYPE amert VALUE 'ZDATE_CHANGE', "Date
lc_time TYPE amert VALUE 'ZTIME_CHANGE', "Time
lc_taxno TYPE amert VALUE 'ZSTCD1', "Tax Number
lc_exception_typ TYPE amert VALUE 'ZEXCTYPE', "Exception type
lc_clearing_dt TYPE amert VALUE 'ZAUGDT_OTHER', "Clearing date
lc_period TYPE amert VALUE 'ZMONAT', "Period
lc_gross_amt TYPE amert VALUE 'ZDMBTR', "Gross amount
lc_excpt_amt TYPE amert VALUE 'ZWHTINSSCA'. "Exception amount
Set the Fieldtext for the Dictionary fields
LOOP AT gt_fieldcat.
gt_fieldcat-key = space.
CASE gt_fieldcat-fieldname.
WHEN lc_period.
gt_fieldcat-seltext_l = text-007.
MODIFY gt_fieldcat.
WHEN lc_co_code.
gt_fieldcat-seltext_l = text-008.
MODIFY gt_fieldcat.
WHEN lc_vendor.
gt_fieldcat-seltext_l = text-009.
MODIFY gt_fieldcat.
WHEN lc_exception_typ.
gt_fieldcat-seltext_l = text-010.
MODIFY gt_fieldcat.
WHEN lc_taxno.
gt_fieldcat-seltext_l = text-011.
MODIFY gt_fieldcat.
WHEN lc_clearing_dt.
gt_fieldcat-seltext_l = text-012.
MODIFY gt_fieldcat.
WHEN lc_docu_no.
gt_fieldcat-seltext_l = text-013.
MODIFY gt_fieldcat.
WHEN lc_gross_amt.
gt_fieldcat-seltext_l = text-014.
gt_fieldcat-outputlen = 12.
MODIFY gt_fieldcat.
WHEN lc_excpt_amt.
gt_fieldcat-seltext_l = text-015.
MODIFY gt_fieldcat.
WHEN lc_user.
gt_fieldcat-seltext_l = text-016.
MODIFY gt_fieldcat.
WHEN lc_date.
gt_fieldcat-seltext_l = text-017.
MODIFY gt_fieldcat.
WHEN lc_time.
gt_fieldcat-seltext_l = text-018.
MODIFY gt_fieldcat.
ENDCASE.
ENDLOOP.
endform. " procBuildFieldcat
*& Form procWarnuser
Warn User - Give error message
-->P_TEXT text
-->P_TEXT text
-->P_lw_tax_excpt_VALUE text
FORM procWarnuser USING uv_title TYPE itex132
uv_text1 TYPE itex132.
Constants
CONSTANTS :
lc_start_column TYPE SY-CUCOL VALUE 25, "Start column
lc_start_row TYPE SY-CUROW VALUE 15. "Start row -
Can we create secondary indexes in pooled and cluster table?
hello all
can we create secondary indexes in pooled and cluster table?Hi,
Yes, you can.
Refer the below links
[http://www.sap-img.com/abap/the-different-types-of-sap-tables.htm|http://www.sap-img.com/abap/the-different-types-of-sap-tables.htm]
[http://help.sap.com/saphelp_40b/helpdata/en/cf/21f083446011d189700000e8322d00/content.htm|http://help.sap.com/saphelp_40b/helpdata/en/cf/21f083446011d189700000e8322d00/content.htm]
Regards,
SB -
Statistical table, pool table, structure, and ordinary table
请教在ABAP引用表时,不同类型的表的区别:
statistical table
pool table
structure,
ordinary table
其它 table (请列出)
谢谢!>
leopard123456 wrote:
> 请教在ABAP引用表时,不同类型的表的区别:
> statistical table
> pool table
> structure,
> ordinary table
> 其它 table (请列出)
>
> 谢谢!
对上面提到的几个term不是很明白(尤其是statistical table和ordinary table),其中structure应该不是表的类型。
请举例。 -
What are the Cluster tables and pooled tables
pls give some examples for the above table
Thankyou
raviHi
<b>Pooled Table</b>
Pooled tables are logical tables that must be assigned to a table pool when they are defined. Pooled tables are used to store control data. Several pooled tables can be cominied in a table pool. The data of these pooled tables are then sorted in a common table in the database.
<b>Cluster Table</b>
Cluster tables are logical tables that must be assigned to a table cluster when they are defined. Cluster tables can be used to strore control data. They can also be used to store temporary data or texts, such as documentation.
check this link also
http://help.sap.com/saphelp_47x200/helpdata/en/81/415d363640933fe10000009b38f839/frameset.htm
Rewards if helpfull
Regards
Pavan -
Why Inner join or Outer join is not used for Pool or Cluster tables ?
Hi SAP-ABAP Experts .
With Due Regards .
May u explain me why Inner join or Outer join is not useful for Pool or Cluster tables ?
because peoples advised not use Joins for Pool and Cluster tables , What harm will take place , If we do this ?
Best Regards to all : RajneeshBoth Pooled and Cluster Tables are stored as tables within the database. Only the structures of the two table types which represent a single logical view of the data are defined within the ABAP/4 Data Dictionary. The data is actually stored in bulk storage in a different structure. These tables are commonly loaded into memory (i.e., 'buffered') due to the fact they are typically used for storing internal control information and other types of data with little or no external (business) relevance.
Pooled and cluster tables are usually used only by SAP and not used by customers, probably because of the proprietary format of these tables within the database and because of technical restrictions placed upon their use within ABAP/4 programs. On a pooled or cluster table:
Secondary indexes cannot be created.
You cannot use the ABAP/4 constructs select distinct or group by.
You cannot use native SQL.
You cannot specify field names after the order by clause. order by primary key is the only permitted variation.
I hope it helps.
Best Regards,
Vibha
Please mark all the helpful answers -
Replicating Pool and Cluster tables in HANA
Hi,
Has anyone been able to successfully replicate the Pool and Cluster tables to HANA? I browsed around but am not able to find any solid material/documents related to the same. Please point me to the same.
yogeshHi Yogesh,
Maybe you skiped this one. The sample uses BSEG from cluster RFBLG and it's very well explained by Tobias Koebler
How to enable parallel replication
Regards, Fernando Da Rós -
Warnings Pool or cluster table selected to check/collect statistics
Dear all,
I am getting error in in db13 backup.
We are using Sap Ecc5 and
oracle 9i on Window 2003.
Production Server I am facing problem suddenly in db13 the UpdateStatsEnded with Return code: 0001 Success with warnings
BR0819I Number of pool and cluster tables found in DDNTT for owner SAPPRD: 169
BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.EPIDXB
BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.EPIDXC
BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.GLSP
BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.GLTP
BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.KAPOL
BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.KOCLU
BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.M_IFLM
BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.VBCLU
BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.VBFCL
And in db02
Missing in R/3 DDIC 11 index
MARA_MEINS
MARA_ZEINR
MCHA_VFDAT
VBRP_ARKTX
VBRP_CHARG
VBRP_FKIMG
VBRP_KZWI1
VBRP_MATKL
VBRP_MATNR
VBRP_SPART
VBRP_WERKS
Please guide steps how to build index and Pool or cluster table problem.
Thanks,
Kumar> BR0819I Number of pool and cluster tables found in DDNTT for owner SAPPRD: 169
> BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.EPIDXB
> BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.EPIDXC
> BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.GLSP
> BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.GLTP
> BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.KAPOL
> BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.KOCLU
> BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.M_IFLM
> BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.VBCLU
> BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.VBFCL
Upto Oracle 9i the rulebased optimizer was still used for Pool/Clustertables for reasons of plan stability (e.g. always take the index).
To ensure that this is the case, these tables/indexes mustn't have CBO statistics.
Therefore these tables are usually excluded from getting CBO statistics via an DBSTATC entry. You can modify this setting in transaction DB21.
> And in db02
>
>
Missing in R/3 DDIC 11 index
> MARA_MEINS
> MARA_ZEINR
> MCHA_VFDAT
> VBRP_ARKTX
> VBRP_CHARG
> VBRP_FKIMG
> VBRP_KZWI1
> VBRP_MATKL
> VBRP_MATNR
> VBRP_SPART
> VBRP_WERKS
Well, these indexes have been setup just in the database and not (how it is supposed to be) via the SE11. As the indexes have a naming-scheme, that is not supported by the ABAP Dictionary, the easiest way to get away from the warnings is to check which columns are covered by the indexes, drop the indexes on DB level and recreate them via SE11.
Best regards,
Lars -
Help regarding 'table controls' and 'internal table' updation
Hi all.
Basically this is what i have done..... I have created a table control in module pool program. I declared an Internal table and also have populated it from a database table. I have also used insert statement to insert an blank record in the table control view and delete statements to delete any record, also in the table control view... .
But I am not able to update any new record into an Internal table or the original table ..
Any Ideas how to do it ,Gurus
ThanksHEllo,
Check thsi simple report.
REPORT ZTFH_TABLECONTROL .
TABLES : ZEMPTABLE.
DATA : SELLINE .
DATA : FLD(20).
DATA : LINNO TYPE I , OFF TYPE I.
DATA : ITAB LIKE ZEMPTABLE OCCURS 10 WITH HEADER LINE.
CONTROLS : CON_TAB TYPE TABLEVIEW USING SCREEN 100.
SELECT * FROM ZEMPTABLE INTO TABLE ITAB.
DESCRIBE TABLE ITAB LINES CON_TAB-LINES.
CALL SCREEN 100.
*& Module EXT_COMM INPUT
* text
MODULE EXT_COMM INPUT.
LEAVE PROGRAM.
ENDMODULE. " EXT_COMM INPUT
*& Module TAB_UPDATE INPUT
* text
MODULE TAB_UPDATE INPUT.
CASE SY-UCOMM.
WHEN 'DEL'.
IF SELLINE = 'X'.
DELETE ITAB WHERE EMPNO = ITAB-EMPNO.
MESSAGE I000(ZYF_DEL).
ENDIF.
WHEN 'UPD'.
IF SELLINE = 'X'.
MODIFY ITAB INDEX CON_TAB-CURRENT_LINE.
MESSAGE I001(ZYF_DEL).
ENDIF.
WHEN 'INS'.
IF SELLINE = 'X'.
GET CURSOR FIELD FLD LINE LINNO OFFSET OFF.
SET CURSOR FIELD FLD LINE LINNO OFFSET OFF.
IF FLD CP 'ITAB*' AND SY-SUBRC = 0.
IF LINNO >= 1.
LINNO = LINNO + CON_TAB-TOP_LINE - 1.
CLEAR ITAB.
INSERT ITAB INDEX LINNO.
CON_TAB-LINES = CON_TAB-LINES + 1.
ELSE.
CLEAR ITAB.
APPEND ITAB.
CON_TAB-LINES = CON_TAB-LINES + 1.
ENDIF.
ENDIF.
ENDIF.
WHEN 'SAV'.
MODIFY ITAB INDEX CON_TAB-CURRENT_LINE.
MESSAGE I002(ZYF_DEL).
ENDCASE.
ENDMODULE. " TAB_UPDATE INPUT
FLOW LOGIC
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
LOOP AT ITAB WITH CONTROL CON_TAB.
ENDLOOP.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
MODULE EXT_COMM AT EXIT-COMMAND.
LOOP AT ITAB.
MODULE TAB_UPDATE.
ENDLOOP.
REgards,
Vasanth -
Get z table data to internal table
hi friends,
when i'm trying to get ztable data to an internal table and run the smartform it's giving a runtime error saying
"In the function module interface, you can specify only fields of a specific type and length under "ITAB".
Although the currently specified field "IT_ZPPR2" is the correct type, its length is incorrect."
here is my se38 code
REPORT ZPPR_2.
TYPE-POOLS: SLIS.
TABLES : MAST, STPO, ZPPR2.
DATA ITAB LIKE ZPPR2 OCCURS 0 WITH HEADER LINE.
TYPES : BEGIN OF TY_FINAL,
WERKS TYPE ZPPR2-WERKS, "PLANT
MATNR TYPE ZPPR2-MATNR, "MATERIAL
MENGE TYPE ZPPR2-MENGE, "QTY
END OF TY_FINAL.
DATA : IT_ZPPR2 TYPE TABLE OF TY_FINAL WITH HEADER LINE,
WA_ZPPR2 TYPE TY_FINAL.
START-OF-SELECTION.
SELECT * FROM ZPPR2
INTO CORRESPONDING FIELDS OF TABLE IT_ZPPR2.
CALL FUNCTION '/1BCDWB/SF00000081'
* EXPORTING
* ARCHIVE_INDEX =
* ARCHIVE_INDEX_TAB =
* ARCHIVE_PARAMETERS =
* CONTROL_PARAMETERS =
* MAIL_APPL_OBJ =
* MAIL_RECIPIENT =
* MAIL_SENDER =
* OUTPUT_OPTIONS =
* USER_SETTINGS = 'X'
* IMPORTING
* DOCUMENT_OUTPUT_INFO =
* JOB_OUTPUT_INFO =
* JOB_OUTPUT_OPTIONS =
TABLES
ITAB = IT_ZPPR2
* EXCEPTIONS
* FORMATTING_ERROR = 1
* INTERNAL_ERROR = 2
* SEND_ERROR = 3
* USER_CANCELED = 4
* OTHERS = 5
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.Hi,
In smartform you have declared as below,
yes, like this
ITAB LIKE ZPPR2
under Tables tab in Form Interface
Then why in program,
TYPES : BEGIN OF TY_FINAL,
WERKS TYPE ZPPR2-WERKS, "PLANT
MATNR TYPE ZPPR2-MATNR, "MATERIAL
MENGE TYPE ZPPR2-MENGE, "QTY
END OF TY_FINAL.
DATA : IT_ZPPR2 TYPE TABLE OF TY_FINAL WITH HEADER LINE,
WA_ZPPR2 TYPE TY_FINAL.
declare IT_ZPPR2 same in program and smartform both.
declare in program as,
DATA : IT_ZPPR2 type table of ZPPR2 ,
WA_ZPPR2 TYPE zpr2.
Hope above will solve your problem. -
Physical table list against Cluster Table CDPOS and PCDPOS
Hello experts,
For function customized requirement, we need to know the physical table
list against Cluster Table CDPOS and PCDPOS and EDID4, just like
Cluster Table BSEG contain with six physical tables
BSAD/BSID/BSAS/BSIS/BSAK/BSIK. Also we want to know if there is any
general way to find out the physical table list for any cluster table.
My question is:
1. How can I find all the transparent table for Cluster Table CDPOS?
just like Cluster Table BSEG has transparent tables of
BSAD/BSID/BSAS/BSIS/BSAK/BSIK.
2. How can I find all the transparent table for Cluster Table PCDPOS?
3. How can I find all the transparent table for Cluster Table EDID4?
4. Additionally,I want to know if there is any
general way to find out all the transparent tables for an specific
cluster table.
Many thanks.Hello,
simply look in transaction SE11.
Example:
1. SE11 -> Table CDPOS - Display. On Tab 'Delivery and Maintenance' you'll find Pool/Cluster 'CDCLS'.
2. SE11 -> Table CDCLS -> Display. On next screen position on CDCLS-> Where-used-list -> Tables -> you'll find tables CDPOS and PCDPOS.
Same thing with EDID4 -> EDI40 ...
Regards Wolfgang
Maybe you are looking for
-
Hi I have an issue when using cairngorm's ModuleViewLoader along with ParsleyModuleDescriptor to load a simple module consistig mainly of HBoxes, VBoxes and Datagrids. The module consists of one child (let's call it ViewA) and that child consists of
-
Maximum open cursors exceeded - special case scenario
Im sorry if I am asking the same old question but I assure you I have done a lot of research and tried everything I can think of. I have done a search on this and found hundreds of sites with solutions to this problem I still cant seem to get it to w
-
COPY_REGION & SELECT_ALL - not working correctly
Hi there, I have menu items for copy and paste. Here are the properties Menu Item Type: Plain Magic item : None Command type: PLSQL visible in menu: Yes visible in horizontal menu tool bar : yes visible in vertical menu tool bar : no icon in menu: No
-
How to put values in a HashMap dynamically using a ArrayList as 'value'
i have to generate different maps dynamically by passing arraylist (which is also dinamically increasing) in the value. i want to use : List myList=new ArrayList(); for(..........){ Map mymap=new HashMap(); myMap.put(key, myList.add(objectBean)); ===
-
Problem in installing BI content
hi guys, was trying to install BI content infocube 0sd_c13...grouping i selected as only necessary objects..i am getting error message...i can understand the error,but want to know how to solve this error...below is the error msg: <b>You have collect