Cross Transaction BADI
Hi...
I have implemented the BADI <b>ME_PROCESS_PO_CUST</b> to check if the user is authorized to modify certain header fields. The BADI is being executed as expected for ME22N. However, it is not being executed for ME22, ME32 and ME32L. The SQL trace of these transactions shows that they access / trigger <b>ME_PROCESS_PO_CUST</b>.
Why is the BADI not being called for ME22, ME32 and ME32L? Which BADI is common to all these transactions?
Regards,
Anoop Sahu
hi,
It is a filter dependent badi the badi that is common to all the transaction is ME_PURCHDOC_POSTED
and the exit that is common to all the transactions is
ME_PROCESS_PO_CUST.
Reward points if usefull.
Thanks & Regards,
Kalyan.
Similar Messages
-
Adding a sub-screen to IW51 transaction (BADI or Screen-Exit)
Hi,
Currently we are able to capture only one Product/Material on a Service Notification(Transaction-IW51). But going forward we need to capture multiple Materials (and its details) in IW51.
Is there any BADI or Screen-Exit (in Transaction-IW51) thorugh I can add a subscreen to capture multiple Materials/Product at one go.
Thanks,
PrasannaHi
When you create your screen use directly the std structure VBAK and VBAP to design the input/output fields.
So for example if you have added the field ZZFIELD in VBAK, insert it in 8309.
In this way the standard program VA01'll automatically store your data in your fields.
So you don't need to write some code to store it, but only (if it needs) some code for validations in the screen flow.
Max -
Hi,
I'm trying to determine why for a two-site replication setup (Linux, BDB 4.6.21 with the latest patch) it seems like a single transaction can take up to 100 ms to be replicated under heavy load when the non-replicated transaction takes 5 ms.
The transaction in question is a fully-synchronized update (ie: a commit at site R1 should not return until R2 has also committed and flushed the transaction to disk), and there are only two sites in the replication group, the master and the replica.
Here are the statistics I gathered from my application, at the replica after it was promoted to the master (the master having been killed):
Replication: txnsApplied=3584, repMsgsProcessed=9390, repMsgsSent=17, repMsgsSendFailures=4, nextLSN=1/1162804, nextPages=0, pagesRecords=6, pagesRequested=0, status=3, waitingLSN=0/0, waitingPages=0
Replication Manager: connectionAttemptsFailed=0, connectionsDropped=1, repMessagesDropped=0, repMessagesQueued=0, permFailed=4
It seems like the replication protocol is quite chatty (2.6 messages per transaction), which may explain some of the latency.
I use 2048-byte pages, and the typical transaction size is no more than 1024 bytes; I experimented with relaxing the transactional guarantees (setTxnNoSync et al) but had a similar experience.
Does anyone have any suggestions for this environment configuration to increase the throughput of this kind of replication setup? Your help would be kindly appreciated.Replication: txnsApplied=3584, repMsgsProcessed=9390,
repMsgsSent=17, repMsgsSendFailures=4,
nextLSN=1/1162804, nextPages=0, pagesRecords=6,
pagesRequested=0, status=3, waitingLSN=0/0,
waitingPages=0
Replication Manager: connectionAttemptsFailed=0,
connectionsDropped=1, repMessagesDropped=0,
repMessagesQueued=0, permFailed=4
It seems like the replication protocol is quite
chatty (2.6 messages per transaction), which may
explain some of the latency.The replication protocol is that each log record written to the
log is also transmitted to the client. Therefore, if your transaction
has a lot of operations, or if even a single update results in several
log records written (splitting a page, for example), each of those
log records will be transmitted to the client.
Does anyone have any suggestions for this environment
configuration to increase the throughput of this kind
of replication setup? Your help would be kindly
appreciated.You can try the bulk message configuration option. Look at
the dbenv->rep_set_config method with the DB_REP_CONF_BULK
flag. That option collects the log records locally in memory and
then sends them all either on a txn_commit operation or if the
buffer fills up. That should result in fewer messages.
However, it is also interesting that there were 4 message send failures
as well as 4 permFailed counts in your statistics. It is likely whatever
caused those resulted in some messages to rerequest the missing
records.
Sue LoVerso
Oracle -
Hide price cross all transaction
Dear Experts
I need to know how to hide any specific (field-column) from the SYSTEM
I know that i can use transaction variant SHD0 but this work for only one transaction by transaction
i need to know how to hide this field cross transaction
Best ReagrdsThanks for your quick reply This way will be headache because i will need to maintain a lot of screen layouts .. I need to know how to hide the field from all the SYSTEM .
for example Price is displayed in transaction ME21n,ME22N,ME23N,ME22,ME23,ME2n,ME2M,ME2L
I need to know how to hide the price field from all the transaction .. there must be away
Best Regards -
Hi,
Can anyone tell me what BADIs are and some information about them...Hi Vijay,
To give u an overview, BADIs can be imagined as OO extensions of SAP enhancements concept. Primary difference between customer enhancemnt and BADIs is BADIs can have multiple implementations.
Also BADIs can be defined according to filter values (filter dependent BADIs) which are useful for mplementing country specific implementations e.g.
The basic theory of BADIs is based on the concept of keyword INTERFACE
Well, if u r CPP or Java developer u must be aware of Interface concept. Interface can be imagined as collection of <b>empty</b> methods. This interface needs to be implemented.
<b>Remember that the class which implements the interface is responsible to provide concrete implementations of interface methods.</b>
I hope u r with me upto this point.
To relate this with how this happens in SAP, imagine that SAP wants his customers to provide certain enhacements to MIGO screen. Hence while designing the application SAP will design/define a BADI creating the interfaces needed. The interface designing is a very crucial task.
Now u can imagine that, as a customer when we are supposed to provide enhancement to MIGO transaction, we will need to implement certain BADI.
SAP has created a BADI MB_MIGO_BADI e.g which can be viewed using SE18 transaction (BADI Definition).
Now when it comes to implementing BADI, it implicitly means that we will be creating a class which will implement the inteface defined by SAP. Ok ?
U can implement the BADI using SE19 transaction wherein u need to specify the BADI name. Implementing a BADI creates a class.
e.g.
1. Invoke SE19
2. Put ZMB_MIGO_BADI
3. Specify MB_MIGO_BADI as BADI definition name. If the BADI is filter dependent u can specify the filter criteria.
4. This will create a class <b>ZCL_IM_MB_MIGO_BADI</b>
5. U will see different methods which will have empty implementations. Now u r responsible to fill the necessary details.
6. If u want to see the example code which can be filled in these implmentations some BADIs like MB_MIGO_BADI provides sample code too.
7. Just have a look at <b>CL_EXM_IM_MB_MIGO_BADI</b>
Hope I have cleared What BADIs are and how to implement them.
Revert back to me in case u need further assistance.
Reward the points if the problem is solved
Cheers,
Nitin -
Cross entity BRF rules to update table UI elements
Hello , I am trying to write a derivation using a cross entity rule that will update table UI element value. I have about 50 different rules to be created. Rule Example : Based on material type, derive the value of Sales organization and Plant.
I have the cross entity BADI implemented. I am able to achieve the cross entity derivation for single elements, but anything in table, I am not able to get those updated.
Please advice.Great that it works. However, you talk about cross-entity and BRF+. These are two different things and I'm afraid you are confusing them. Using the standard BRF+ derivation rules, you can't derive keys of entities. So, you can't default a plant for a given material type using the BRF+ derivation function.
-
Crossdocking in EWM - Vendor to Customer via Company Warehouse
Hi All
We have below scenario.
1). Customer places order. 2). Company places order to vendor to satisfy the customer order. 3). Vendor delivers to company. 4). Company ships to customer without keeping the stock in warehouse.
As I know cross-docking is a technique where we reduce the logistics expense by saving transportation and/or storage space. So, can I call this as one of the cross-docking scenario? If so, what it is in terms of SAP (EWM)?
For sure, it is planned one but not transportation cross-docking since source and/or final destinations are not internal Warehouses. Is it Merchandise distribution? FYI, my client industry is not retail.
In IMG, SCM Extended Warehouse Management > Extended Warehouse Management > Cross-Process Settings > Cross-Docking (CD) > Merchandise Distribution > Basic Settings for Merchandise Distribution. Here, there are few steps given for implementing Merchandise Distribution. Are there any other activities to perform? Please help.
Thanks
Sasidhar GuptaHi Sasidhar
Please find below points for your help and give more idea too.
Inbound Driven
When you create warehouse tasks for putaway, EWM checks whether ODO items exist that match the task items with regard to quantity and expiration date. Then, instead of creating the putaway warehouse task, EWM creates a cross-docking warehouse task with reference to the ODO item. EWM also checks during the putaway warehouse task creation to see if the stock in open pick warehouse task is less adequate (in terms of FIFO or FEFO) for the ODO item than the stock to be put away (unless the warehouse task is relevant for a material flow system). If so, EWM cancels the open pick warehouse tasks and creates a new cross-docking warehouse task with reference to the same ODO item.
Activating Opportunistic Cross-Docking
The opportunistic cross-docking functionality is coded within example BAdI implementations.
This means that you have to implement these BAdIs by copying the example class to activate the functionality. To activate the opportunistic crossdocking,you must perform the steps described in this section. Creating Implementations for Cross-Docking BAdIs
The BAdI for opportunistic cross-docking inbound can be activated in the EWM IMG by following the menu path Extended Warehouse Management • Business Add-Ins (BAdIs) for Extended Warehouse Management • Cross Process Settings • Cross-Docking (CD) • Opportunistic Cross-Docking • EWM-Triggered Opportunistic Cross-Docking • Opportunistic Cross Docking Inbound.
There you must create an implementation of this BAdI using example class /SCWM/
CL_EI_CD_OPP_INBOUND and activate the implementation. The BAdI for opportunistic cross-docking outbound can be activated in the EWM IMG via the menu path Extended Warehouse Management • Business Add- Ins (BAdIs) for Extended Warehouse Management • Cross Process Settings
Creating a Product Type Group and Product Group
Activating Opportunistic Cross-Docking at the Warehouse Level
Because the picking warehouse task for opportunistic cross-docking will be created
for inbound stock that is still assigned the stock type for stock received on dock but not yet put away , you need to maintain the EWM stock determination (for more details about the stock
determination, needs to be maintained within the stock determination for the relevant stock determination group for cross-docking.
To start, you must first maintain a new stock determination group for cross-docking
in the EWM IMG by following the menu path Extended Warehouse Management • Cross-Process Settings • Stock Determination • Maintain Stock Determination Groups.
Next, you must permit the inbound stock type for an ODO item that
has the normal stock type assigned. To specify the stock determination in the EWM IMG, follow the menu path Extended Warehouse Management • Cross-Process Settings • Stock Determination • Configure Stock Determination.
Finally, to activate opportunistic cross-docking for products, you must assign the product group (the one that you created in the previous steps) to the products in the Properties 2 tab of the SAP APO view of the product master.
Transaction code /SAPAPO/MAT1.
If you have configured the stock determination as described previously, you also need to assign the Stock Determination Group in the Warehouse Data tab of the warehouse product. tcode code /SCWM/MAT1.
Regards
Suraj -
Importing internal table from one program to another program
Hi everybody,
i have one small doubt.
i am using submit statement and passing the values from this program to another program selection screen. in that program logic is written.In that program one internal table values are being exported to the memory id of that program. now i have to import that internal table values into my program by using import statement. i am using the following syntax
import itab from menory id 'program name'.
but i am getting an error saying program name is unknown.
what is the exat syntax for this .
thanking you,
giri.hi,
check these statements.
IMPORT - Get data
Variants:
1. IMPORT obj1 ... objn FROM DATA BUFFER f.
2. IMPORT obj1 ... objn FROM INTERNAL TABLE itab.
2. IMPORT obj1 ... objn FROM MEMORY.
3. IMPORT obj1 ... objn FROM SHARED MEMORY itab(ar) ID key.
4. IMPORT obj1 ... objn FROM SHARED BUFFER itab(ar) ID key.
5. IMPORT obj1 ... objn FROM DATABASE dbtab(ar) ID key.
6. IMPORT obj1 ... objn FROM DATASET dsn(ar) ID key.
7. IMPORT obj1 ... objn FROM LOGFILE ID key.
8. IMPORT DIRECTORY INTO itab FROM DATABASE dbtab(ar) ID key.
9. IMPORT (itab) FROM ... .
In some cases, the syntax rules that apply to Unicode programs are different than those for non-Unicode programs. For more details, see Storing Cluster Tables.
Variant 1
IMPORT obj1 ... objn FROM DATA BUFFER f.
Extras:
1. ... = f (for each object to be imported)
2. ... TO f (for each object to be imported)
3. ... ACCEPTING PADDING
4. ... ACCEPTING TRUNCATION
5. ... IGNORING STRUCTURE BOUNDARIES
6. ... IGNORING CONVERSION ERRORS
7. ... REPLACEMENT CHARACTER c
8. ... IN CHAR-TO-HEX MODE
9. ... CODE PAGE INTO f1
10. ... ENDIAN INTO f2
The syntax check performed in an ABAP Objects context is stricter than in other ABAP areas.
See You Cannot Use Implicit Field Names in Clusters.
Effect
Imports the data objects obj1 ... objn from the data buffer declared. The data buffer must be of type XSTRING . The data objects obj1 ... objn can be fields, structures, complex structures, or tables. The system imports all the data that has been stored in the data buffer f using the EXPORT ... TO DATA BUFFER statement and is listed here. It also checks that the structure used in the IMPORT statement matches the one in the EXPORT statement.
The Return Code is set as follows:
SY-SUBRC = 0:
The existing data objects in the data cluster specified were imported. The rest remain unchanged. (In some circumstances, this may mean that no data objects were imported).
SY-SUBRC = 4:
The data objects could not be imported. The contents of all the objects remain unchanged.
Addition 1
... = f (for each object to be imported)
Addition 2
... TO f (for each object to be imported)
Effect
The object is stored in the field f.
Addition 3
... ACCEPTING PADDING
Effect
This addition allows you to append new fields to the end
of structures, sub-structures, and internal tables. The IMPORT statement fills the additional fields with initial values; make existing fields (C, N, X, P, I1, and I2) longer; map character-type fields to STRING-type fields; or to map byte-type fields to XSTRING-type fields.
Addition 4
... ACCEPTING TRUNCATION
Effect
This addition allows you to shorten the last CHAR
fields, or to omit the last component at the top level. (Until Release 4.6, you could do this without using an addition).
Addition 5
... IGNORING STRUCTURE BOUNDARIES
Effect
This addition means that only the fragment sequence is
relevant - that is, that any sub-structures match. If you use this addition, the system ignores any alignment changes necessitated by Unicode - such as inserting named includes.
You cannot use this addition with either addition 3 (enlarge structure) or addition 4 (shorten structure), since it specifies that structure and include boundaries are to be ignored.
From Release 6.10 onwards, the include information is stored in datasets, so that the system can also check that includes match - that is, that sub-structures and includes (named or unnamed) are treated equally. When data is imported in a Release prior to 6.10, includes are not checked.
Addition 6
...IGNORING CONVERSION ERRORS
Effect
This addition prevents the system from triggering a
runtime error, if an error occurs when the character set is converted. '#' is used as a replacement character.
Addition 7
... REPLACEMENT CHARACTER c
Effect
The replacement character is used if a particular
character cannot be converted when the character set is converted.
This addition can only be used in conjunction with addition 6.
Addition 8
... IN CHAR-TO-HEX MODE
Effect
Not all character-type fields are converted. To convert
a field, you must create a field (or structure) that is identical to the exported field or structure, except that all its character-type components must be replaced with hexadecimal fields.
You can only use this addition in Unicode programs, to allow you to import camouflaged binary data as single-byte characters.
Moreover, you cannot use this addition in conjunction with the additions 3, 4, 5, 6, or 7.
Addition 9
... CODE PAGE INTO f1
Effect
The code page of the exported data is stored in the
character-type field f1 - for example, to analyze data that has been imported with the IN CHAR-TO-HEX MODE addition.
Addition 10
... ENDIAN INTO f2
Effect
The byte order (LITTLE or BIG) of the
exported data is stored in the field f2 - for example, to analyze data that has been imported with the IN CHAR-TO-HEX MODE addition. The field f2 must have the type ABAP_ENDIAN, which is defined in the type group ABAP. For this reason, the type group ABAP must be included in the ABAP program using a TYPE-POOLS statement.
Variant 2
IMPORT obj1 ... objn FROM INTERNAL TABLE itab.
Extras:
1. ... = f (for each object to be imported)
2. ... TO f (for each object to be imported)
3. ... ACCEPTING PADDING
4. ... ACCEPTING TRUNCATION
5. ... IGNORING STRUCTURE BOUNDARIES
6. ... IGNORING CONVERSION ERRORS
7. ... REPLACEMENT CHARACTER c
8. ... IN CHAR-TO-HEX MODE
9. ... CODE PAGE INTO f1
10. ... ENDIAN INTO f2
The syntax check performed in an ABAP Objects context is stricter than in other ABAP areas. See No implicit field names in cluster.
Effect
Imports the data objects obj1 ... objn (fields, structures, complex structures, or tables) from the specified internal table itab. The first column in the internal table must be of the predefined type INT2 and the second must be type X. To define the first column you must refer to a data element in the ABAP Dictionary that has the predefined type INT2.
All data that was stored in the internal table itab using EXPORT ... TO INTERNAL TABLE and listed, is imported. The system checks that the EXPORT and IMPORT structures match.
The Return Code is set as follows:
SY-SUBRC = 0:
The existing data objects in the specified data cluster were imported, the rest remain unchanged (it is possible that no data object was imported).
SY-SUBRC = 4:
The data objects could not be imported.
The contents of all listed objects remain unchanged
Addition 1
... = f (for each object to be imported)
Addition 2
... TO f (for each object to be imported)
Effect
Places the object in the field f.
Addition 3
... ACCEPTING PADDING
Effect
This addition allows you to add new fields to the ends
of structures, even to substructures and internal tables (the additional fields are filled with initial value during the IMPORT). It also allows you to increase the size of existing fields (C, N, X, P, I1, and I2) and to map Char fields to STRING type fields or byte fields to XSTRING type fields.
Addition 4
... ACCEPTING TRUNCATION
Effect
This addition allows you to shorten the last CHAR
field or omit the last component on the highest level (till Release 4.6 this was possible without specifying an addition).
Addition 5
... IGNORING STRUCTURE BOUNDARIES
Effect
This addition means that only the page order is
relevant, that is any substructures match. With this addition, the system also ignores alignment changes arising from the Unicode conversion (for example, due to subsequent insertion of named includes).
This addition rules out any subsequent structural enhancements (addition 3) or structural shortening (addition 4) because with this addition it is the structural limits and include limits that are to be ignored.
As from Release 6.10, the include information will also be stored in the dataset, so that it is possible to also check whether the includes match, that is substructures and includes (named or unnamed) are treated the same. When importing data that was exported in a Release lower than 6.10, the includes are not checked.
Addition 6
...IGNORING CONVERSION ERRORS
Effect
This addition has the effect that an error in the
character set conversion does not cause a runtime error. The system uses "#" as a replacement character.
Addition 7
... REPLACEMENT CHARACTER c
Effect
The system uses the specified replacement character if a
character cannot be converted during a character set conversion. If this addition is not specified, the system uses "#" as a replacement character.
This addition can only be used in conjunction with addition 6.
Addition 8
... IN CHAR-TO-HEX MODE
Effect
No character type fields are converted. For this you
must create a field or structure that is identical to the exported field or exported structure, except that all character type fields must be replaced with hexadecimal fields.
This addition, which is only allowed in programs with a set Unicode flag, allows you to import binary data disguised as single byte characters. This addition cannot be used in conjunction with additions 3, 4, 5, 6, and 7.
Addition 9
... CODE PAGE INTO f1
Effect
The codepage of the exported data is stored in the
character-type field f1 (for example, to be able to analyze the data imported with the addition IN CHAR-TO-HEX MODE).
Addition 10
... ENDIAN INTO f2
Effect
The byte order (LITTLE or BIG) of the
exported data is stored in the field f2 (for example, to be able analyze the data imported using the addition IN CHAR-TO-HEX MODE). The field f2 must be of type ABAP_ENDIAN, defined in type group ABAP. You must therefore include the type group ABAP in the ABAP program with a TYPE-POOLS statement.
Variant 3
IMPORT obj1 ... objn FROM MEMORY.
Extras:
1. ... = f (for each object to be imported) 2. ... TO f (for each object to be imported)
3. ... ID key
4. ... ACCEPTING PADDING
5. ... ACCEPTING TRUNCATION
6. ... IGNORING STRUCTURE BOUNDARIES
The syntax check performed in an ABAP Objects context is stricter than in other ABAP areas. See You Must Enter Identification and Cannot Use Implicit Field Names inClusters
Effect
Imports data objects obj1 ... objn (fields, structures, complex structures or tables) from a data cluster in the ABAP memory (see EXPORT). Reads in all data without an ID that was exported to memory with "EXPORT ... TO MEMORY.". In contrast to the variant IMPORT FROM DATABASE, it does not check that the structure matches in EXPORT and IMPORT.
The Return Code is set as follows:
SY-SUBRC = 0:
The existing data objects in the data cluster specified were imported. The rest remain unchanged (in some circumstances, this may mean that no data objects were imported).
SY-SUBRC = 4:
The data objects could not be imported, probably because the ABAP memory was empty.
The contents of all objects remain unchanged.
Note
You should always use the addition 3 (... ID key) with the statement. Otherwise, the effect of the variant is not certain (EXPORT statements in different parts of a program overwrite each other in the ABAP memory), since it exists only for reasons of compatibility with R/2.
Additional methods for selecting and deleting data clusters in the ABAP memory are provided by the system class CL_ABAP_EXPIMP_MEM.
Please consult Data Area and Modularization Unit Organization documentation as well.
Addition 1
... = f (for each object to be imported)
Addition 2
... TO f (for each object to be imported)
Effect
The object is placed in field f.
Addition 3
... ID key
Effect
Imports only data stored in ABAP memory under the ID key.
Notes
The key, key, must be a character-type data object (but not a string).
The Return Code is set as follows:
SY-SUBRC = 0:
The existing data objects in the data cluster specified were imported. The rest remain unchanged (in some circumstances, this may mean that no data objects were imported).
SY-SUBRC = 4:
The data objects could not be imported, probably because an incorrect ID was used.
The contents of all objects remain unchanged.
Addition 4
... ACCEPTING PADDING
Effect
This addition allows you to append new fields to the end of structures, sub-structures, and internal tables. The IMPORT statement fills the additional fields with initial values; make existing fields (C, N, X, P, I1, and I2) longer; map character-type fields to STRING-type fields; or to map byte-type fields to XSTRING-type fields.
Addition 5
... ACCEPTING TRUNCATION
Effect
This addition allows you to shorten the last CHAR field, or to omit the last component at the top level. (Until Release 4.6, you could do this without using an addition).
Addition 6
... IGNORING STRUCTURE BOUNDARIES
Effect
This addition means that only the fragment sequence is relevant - that is, that any sub-structures match. If you use this addition, the system ignores any alignment changes necessitated by Unicode - such as inserting named includes.
You cannot use this addition with either addition 3 (enlarge structure) or addition 4 (shorten structure), since it specifies that structure and include boundaries are to be ignored.
From Release 6.10 onwards, the include information is stored in datasets, so that the system can also check that includes match - that is, that sub-structures and includes (named or unnamed) are treated equally. When data is imported in a Release prior to 6.10, includes are not checked.
Related
EXPORT TO MEMORY, DELETE FROM MEMORY, FREE MEMORY
Variant 4
IMPORT obj1 ... objn FROM SHARED MEMORY itab(ar) ID key.
Extras:
1. ... = f (for each object to be exported) 2. ... TO f (for each object to be exported)
3. ... CLIENT g (before ID key)
4. ... TO wa (after itab(ar) or ID key )
5. ... ACCEPTING PADDING
6. ... ACCEPTING TRUNCATION
7. ... IGNORING STRUCTURE BOUNDARIES
The syntax check performed in an ABAP Objects context is stricter than in other ABAP areas.
See You Cannot Use Implicit Field Names in Clusters and You Cannot Use Table Work Areas.
Effect
Imports the data objects obj1 ... objn (fields, structures, complex structures, or tables) from shared memory. The data objects are read using the ID key from the area ar in the table itab - c.f. EXPORT TO SHARED MEMORY). You must use itab to specify a database table although the system reads from a memory table with the appropriate structure.
The Return Code is set as follows:
SY-SUBRC = 0:
The existing data objects in the data cluster specified were imported. The rest remain unchanged. (In some circumstances, this may mean that no data objects were imported).
SY-SUBRC = 4:
The data objects could not be imported. You may have used the wrong ID. The contents of all the objects remain unchanged.
Notes
The table dbtab named according to SHARED MEMORY must be declared using TABLES (except in addition 2).
The structure of fields (field symbols and internal tables) to be imported must match the structure of the objects exported in the dataset. The objects must be imported under the same names as those under which they were exported. Otherwise, they will not be imported.
The key length consists of: the client (3 digits, but only if tab is client-specific); area (2 characters); ID; and line number (4 bytes). It must not exceed 64 bytes - that is, the ID must not be longer than 55 characters, if the table is client- specific.
The key, key, must be a character-type data object (but not a string).
Additional methods for selecting and deleting data clusters in the shared memory are provided by the system class CL_ABAP_EXPIMP_SHMEM.
Please consult Data Area and Modularization Unit Organization documentation as well.
Addition 1
... = f (for each object to be imported)
Addition 2
... TO f (for each object to be imported)
Effect
The object is stored in the field f.
Addition 3
... CLIENT g (before ID key)
Effect
The data is imported from client g (provided the import/export table is tab client-specific). The client, g must be a character-type data object (but not a string).
Addition 4
... TO wa (after itab(ar) or ID key)
Effect
You need to use this addition if user data fields have been stored in the application buffer and are to be read from there. The work area wa is used instead of the table work area. The target area must correspond to the structure of the called table tab.
Addition 5
... ACCEPTING PADDING
Effect
This addition allows you to: append new fields to the end of structures, sub-structures, and internal tables. The IMPORT statement fills the additional fields with initial values; make existing fields (C, N, X, P, I1, and I2) longer; map character-type fields to STRING-type fields; or to map byte-type fields to XSTRING-type fields.
Addition 6
... ACCEPTING TRUNCATION
Effect
This addition allows you to shorten the last CHAR fields, or to omit the last component at the top level. (Until Release 4.6, you could do this without using an addition).
Addition 7
... IGNORING STRUCTURE BOUNDARIES
Effect
This addition means that only the fragment sequence is relevant - that is, that any sub-structures match. If you use this addition, the system ignores any alignment changes necessitated by Unicode - such as inserting named includes.
You cannot use this addition with either addition 4 (enlarge structure) or addition 5 (shorten structure), since it specifies that structure and include boundaries are to be ignored.
From Release 6.10 onwards, the include information is stored in datasets, so that the system can also check that includes match - that is, that sub-structures and includes (named or unnamed) are treated equally. When data is imported in a Release prior to 6.10, includes are not checked.
Related
EXPORT TO SHARED MEMORY, DELETE FROM SHARED MEMORY
Variant 5
IMPORT obj1 ... objn FROM SHARED BUFFER itab(ar) ID key.
Extras:
1. ... = f (for each object to be exported) 2. ... TO f (for each object to be exported)
3. ... CLIENT g (before ID key)
4. ... TO wa (last addition or after itab(ar))
The syntax check performed in an ABAP Objects context is stricter than in other ABAP areas.
See Cannot Use Implicit Fieldnames in Clusters und Cannot Use Table Work Areas.
Effect
Imports data objects obj1 ... objn (fields or
tables) from the cross-transaction application buffer. The data objects are read in the application buffer using the ID key of the area ar of the buffer area for the table itab (see EXPORT TO SHARED BUFFER). You must use dbtab to specify a database table although the system reads from a memory table with an appropriate structure.
The Return Code is set as follows:
SY-SUBRC = 0:
The existing data objects in the data cluster specified were imported. The rest remain unchanged (in some circumstances, this means that no data objects were imported).
SY-SUBRC = 4:
The data objects could not be imported, probably because an incorrect ID was used.
The contents of all objects remain unchanged.
Example
Import two fields and an internal table from the application buffer with the structure INDX:
TYPES: BEGIN OF ITAB3_LINE,
CONT(4),
END OF ITAB3_LINE.
DATA: INDXKEY LIKE INDX-SRTFD VALUE 'KEYVALUE',
F1(4),
F2(8) TYPE P DECIMALS 0,
ITAB3 TYPE STANDARD TABLE OF ITAB3_LINE,
INDX_WA TYPE INDX.
Import data.
IMPORT F1 = F1 F2 = F2 ITAB3 = ITAB3
FROM SHARED BUFFER INDX(ST) ID INDXKEY TO INDX_WA.
After import, the data fields INDX-AEDAT and
INDX-USERA in front of CLUSTR are filled with
the values in the fields before the EXPORT
statement.
Notes
You must declare the table dbtab, named after DATABASE using a TABLES statement.
The structure of the fields, structures, and internal tables to be imported must match the structure of the objects exported to the dataset. Moreover, the objects must be imported with the same name used to export them. Otherwise, the import is not performed.
The maximum total key length is 64 bytes. It must include: a client if the table is client-specific (3 characters); an area (2 characters); identification; and line counter (4 bytes). This means that the number of characters available for the identification of a client-specific table is 55 characters.
The key, key, must be a character-type data object (but not a string).
Additional methods for selecting and deleting data clusters in the cross-transaction application buffer are provided by the system class CL_ABAP_EXPIMP_SHBUF.
Please consult Data Area and Modularization Unit Organization documentation as well.
Addition 1
... = f (for each object to be imported)
Addition 2
... TO f (for each object to be imported)
Effect
The object is placed in the field f
Addition 3
... CLIENT g (after dbtab(ar))
Effect
Takes the data from the client g (if the import/export table dbtab is client-specific). The client g must be a character-type data object (but not a string).
Addition 4
... TO wa (as the last addition or after itab(ar))
Effect
You need to use this addition if you want to save user data fields in the application buffer and then read them from there later. The system uses a work area wa instead of a table work area. The target area must have the same structure as the table tab.
Example
DATA: INDX_WA TYPE INDX,
F1.
IMPORT F1 = F1 FROM SHARED BUFFER INDX(AR)
CLIENT '001' ID 'TEST'
TO INDX_WA.
WRITE: / 'AEDAT:', INDX_WA-AEDAT,
/ 'USERA:', INDX_WA-USERA,
/ 'PGMID:', INDX_WA-PGMID.
Variant 6
IMPORT obj1 ... objn FROM DATABASE dbtab(ar) ID key.
Extras:
1. ... = f (for each object to be imported)
2. ... TO f (for each object to be imported)
3. ... CLIENT g (before ID key )
4. ... USING form
5. ... TO wa (last addition or after dbtab(ar))
6. ... MAJOR-ID id1 (instead of ID key)
7. ... MINOR-ID id2 (with MAJOR-ID id1 )
8. ... ACCEPTING PADDING
9. ... ACCEPTING TRUNCATION
10. ... IGNORING STRUCTURE BOUNDARIES
11. ... IGNORING CONVERSION ERRORS
12. ... REPLACEMENT CHARACTER c
13. ... IN CHAR-TO-HEX MODE
14. ... CODE PAGE INTO f1
15. ... ENDIAN INTO f2
The syntax check performed in an ABAP Objects context is stricter than in other ABAP areas. See Cannot Use Implicit Fieldnames in Clusters and Cannot Use Table Work Areas.
Effect
Imports data objects obj1 ... objn (fields, structures, complex structures, or tables) from the data cluster with ID key in area ar of the database table dbtab (see EXPORT TO DATABASE).
The Return Code is set as follows:
SY-SUBRC = 0:
The existing data objects in the data cluster specified were imported. The rest remain unchanged (in some circumstances, this may mean that not data objects were imported).
SY-SUBRC = 4:
The data objects could not be imported, probably because an incorrect ID was used.
The contents of all objects remain unchanged.
Example
Import two fields and an internal table:
TYPES: BEGIN OF TAB3_TYPE,
CONT(4),
END OF TAB3_TYPE.
DATA: INDXKEY LIKE INDX-SRTFD,
F1(4), F2 TYPE P,
TAB3 TYPE STANDARD TABLE OF TAB3_TYPE WITH
NON-UNIQUE DEFAULT KEY,
WA_INDX TYPE INDX.
INDXKEY = 'INDXKEY'.
IMPORT F1 = F1
F2 = F2
TAB3 = TAB3 FROM DATABASE INDX(ST) ID INDXKEY
TO WA_INDX.
Notes
You must declare the table dbtab, named after DATABASE, using the TABLES statement (except in addition 5).
The structure of fields, field strings and internal tables to be imported must match the structure of the objects exported to the dataset. In addition, the objects must be imported under the same name used to export them. If this is not the case, either a runtime error occurs or no import takes place.
Exception: You can lengthen or shorten the last field if it is of type CHAR, or add/omit CHAR fields at the end of the structure.
The key, key, must be a character-type data object (but not a string).
Additional methods for selecting and deleting data clusters in the database table specified are provided by the system class CL_ABAP_EXPIMP_DB.
Addition 1
... = f (for each object to be imported)
Addition 2
... TO f (for each object to be imported)
Effect
The object is placed in field f.
Addition 3
... CLIENT g (before the ID key)
Effect
Data is taken from the client g (in client-specific import/export databases only). Client g must be a character-type data object (but not a string).
Example
DATA: F1,
WA_INDX TYPE INDX.
IMPORT F1 = F1 FROM DATABASE INDX(AR) CLIENT '002' ID 'TEST'
TO WA_INDX.
Addition 4
... USING form
Note
This statement is for internal use only.
Incompatible changes or further developments may occur at any time without warning or notice.
Effect
Does not read the data from the database. Instead, calls the FORM routine form for each record read from the database without this addition. This routine can take the data key of the data to be retrieved from the database table work area and write the retrieved data to this work area. The name of the routine has the format <name of database table>_<name of form>; it has one parameter which describes the operation (READ, UPDATE or INSERT). The routine must set the field SY-SUBRC in order to show whether the function was successfully performed.
Addition 5
... TO wa (after key or after dbtab(ar))
Effect
You need to use this addition if you want to save user data fields in the cluster database and then read from there. The system uses the work area wa instead of a table work area. The target area entered must have the same structure as the table dbtab.
Example
DATA WA LIKE INDX.
DATA F1.
IMPORT F1 = F1 FROM DATABASE INDX(AR)
CLIENT '002' ID 'TEST'
TO WA.
WRITE: / 'AEDAT:', WA-AEDAT,
/ 'USERA:', WA-USERA,
/ 'PGMID:', WA-PGMID.
Addition 6
... MAJOR-ID id1 (instead of the ID key).
Addition 7
... MINOR-ID id2 (with MAJOR-ID id1)
This addition is not allowed in an ABAP Objects context. See Cannot Use Generic Identification.
Effect
Searches for a record the first part of whose ID (length of id1) matches id1 and whose second part - if MINOR-ID id2 is also declared - is greater than or equal to id2.
Addition 8
... ACCEPTING PADDING
Effect
This addition allows you to append new fields to the end of structures, sub-structures, and internal tables. The IMPORT statement fills the additional fields with initial values; make existing fields (C, N, X, P, I1, and I2) longer; map character-type fields to STRING-type fields; or to map byte-type fields to XSTRING-type fields.
Addition 9
... ACCEPTING TRUNCATION
Effect
This addition allows you to shorten the last CHAR fields, or to omit the last component at the top level. (Until Release 4.6, you could do this without using an addition).
Addition 10
... IGNORING STRUCTURE BOUNDARIES
Effect
This addition means that only the fragment sequence is relevant - that is, that any sub-structures match. If you use this addition, the system ignores any alignment changes necessitated by Unicode - such as inserting named includes.
You cannot use this addition with either addition 8 (enlarge structure) or addition 9 (shorten structure), since it specifies that structure and include boundaries are to be ignored.
From Release 6.10 onwards, the include information is stored in datasets, so that the system can also check that includes match - that is, that sub-structures and includes (named or unnamed) are treated equally. When data is imported in a Release prior to 6.10, includes are not checked.
Addition 11
...IGNORING CONVERSION ERRORS
Effect
This addition prevents the system from triggering a runtime error, if an error occurs when the character set is converted. '#' is used as a replacement character.
Addition 12
... REPLACEMENT CHARACTER c
Effect
The replacement character is used if a particular character cannot be converted when the character set is converted. If you do not use this addition, '#' is used as a replacement character.
This addition can only be used in conjunction with addition 11.
Addition 13
... IN CHAR-TO-HEX MODE
Effect
All character-type fields are not converted. To convert a field, you must create a field (or structure) that is identical to the exported field or structure, except that all its character-type components must be replaced with hexadecimal fields.
You can only use this addition in Unicode programs, to allow you to import camouflaged binary data as single-byte characters. Moreover, you cannot use this addition in conjunction with the additions 8, 9, 10, 11, and 12.
Addition 14
... CODE PAGE INTO f1
Effect
The code page of the exported data is stored in the character-type field f1 - for example, to analyze data that has been imported with the IN CHAR-TO-HEX MODE addition.
Addition 15
... ENDIAN INTO f2
Effect
The byte order(LITTLE or BIG) of the exported data is stored in the field f2 - for example, to analyze data that has been imported with the IN CHAR-TO-HEX MODE addition. The field f2 must have the type ABAP_ENDIAN, which is defined in the type group ABAP. For this reason, the type group ABAP must be included in the ABAP program using a TYPE-POOLS statement.
Variant 7
IMPORT obj1 ... objn FROM DATASET dsn(ar) ID key.
This variant is not allowed in an ABAP Objects context. See Cannot Use Clusters in Files
Note
This variant is no longer supported and cannot be used.
Variant 8
IMPORT obj1 ... objn FROM LOGFILE ID key.
Note
This statement is for internal use only.
Incompatible changes or further developments may occur at any time without warning or notice.
Extras:
1. ... = f (for each field f to be imported) 2. ... TO f (for each field f to be imported)
The syntax check performed in an ABAP Objects context is stricter than in other ABAP areas. See Cannot Use Implicit Field Names in Clusters
Effect
Imports data objects (fields, field strings or internal tables) from the update data. You must specify the update key assigned by the system (with current request number) as the key.
The key, key, must be a character-type data object (but not a string).
The Return Code is set as follows:
SY-SUBRC = 0:
The existing data objects in the data cluster specified were imported. The rest remain unchanged (in some circumstances, this may mean that no data objects were imported).
SY-SUBRC = 4:
The data objects could not be imported. An incorrect ID may have been used.
The contents of all objects remain unchanged.
Addition 1
... = f (for each object to be imported)
Addition 2
... TO f (for each object to be imported)
Effect
The object is placed in field f.
Variant 9
IMPORT DIRECTORY INTO itab FROM DATABASE dbtab(ar) ID key.
Extras:
1. ... CLIENT g (after dbtab(ar)) 2. ... TO wa (last addition or after dbtab(ar))
The syntax check performed in an ABAP Objects context is stricter than in other ABAP areas. See Cannot Use Table Work Areas.
Effect
Imports an object directory stored under the specified ID with EXPORT TO DATABASE into the table itab. The internal table itab may not have the type HASHED TABLE or ANY TABLE.
The key, key, must be a character-type data object (but not a string).
The Return Code is set as follows:
SY-SUBRC = 0:
The directory was successfully imported.
SY-SUBRC = 4:
The directory could not be imported, probably because an incorrect ID was used.
The internal table itab must have the same structure as the Dictionary structure CDIR (INCLUDE STRUCTURE).
Addition 1
... CLIENT g (before ID key)
Effect
Takes data from the client g (only with client-specific import/export databases). Client g must be a character-type data object (but not a string).
Addition 2
... TO wa (last addition or after dbtab(ar))
Effect
Uses the work area wa instead of the table work area. When you use this addition, you do not need to declare the table dbtab, named after DATABASE using a TABLES statement. The work area entered must have the same structure as the table dbtab.
Example
Directory of a cluster consisting of two fields and an internal table:
TYPES: BEGIN OF TAB3_LINE,
CONT(4),
END OF TAB3_LINE,
BEGIN OF DIRTAB_LINE.
INCLUDE STRUCTURE CDIR.
TYPES END OF DIRTAB_LINE.
DATA: INDXKEY LIKE INDX-SRTFD,
F1(4),
F2(8) TYPE P decimals 0,
TAB3 TYPE STANDARD TABLE OF TAB3_LINE,
DIRTAB TYPE STANDARD TABLE OF DIRTAB_LINE,
INDX_WA TYPE INDX.
INDXKEY = 'INDXKEY'.
EXPORT F1 = F1
F2 = F2
TAB3 = TAB3
TO DATABASE INDX(ST) ID INDXKEY " TAB3 has 17 entries
FROM INDX_WA.
IMPORT DIRECTORY INTO DIRTAB FROM DATABASE INDX(ST) ID INDXKEY
TO INDX_WA.
Then, the table DIRTAB contains the following:
NAME OTYPE FTYPE TFILL FLENG
F1 F C 0 4
F2 F P 0 8
TAB3 T C 17 4
The meaning of the individual fields is as follows:
NAME:
Name of stored object
OTYPE:
Object type (F: Field, R: Field string / Dictionary struc -
ABAP/4 Keywords for all SAP R/3 Versions
Hello Experts,
Is there any DB Table available in Data Dictionary where all these ABAP/4 Keywords available; if yes do please let me know if not available then do please provide me with all ABAP/4 Keywords of all versions of SAP R/3 if possible
points will be awarded if helpful.
Thanks in AdvanceHello Arif,
There no particular table to check all the key words in ABAP.
To check system fields Go for
Se11-- SYST.
TO get the key words go to ABAPDOCU- type ur required key word in the search given in the last section.
The best option would be to debug ABAPDOCU, when you do a click on Keywords
Or Check the Pooled table : TSE05
As you must be knowing ABAPDOCU is in SABAPDOCU Package.....!!
There are a number of tables used; like ABTREE,etc !
Explore and find whether you can get some clue!
Find the keywords here...
Keywords Description
, [, ], {, } Syntax conventions, Syntax notation
*, " Comments
** Arithm. Operator: Exponentiation (COMPUTE)
+, -, *, / Arithmetical operators (COMPUTE)
->, =>, ->>, ~, ?= Operators in ABAP Objects
ABS Mathematical function: Absolute amount COMPUTE)
ACOS Mathematical function: Cosine arc (COMPUTE)
ADD Add
ADD-CORRESPONDING Field string addition
ADJACENT DUPLICATES Delete duplicates from internal table (DELETE)
AND Comparison operator: and
ANY TABLE Generic table type for internal tables
APPEND Append line to internaltable
ASIN Mathematical function: Sine arc (COMPUTE)
ASSIGN Assign field symbol
AT Event, control break, field group determination
ATAN Mathematical function: Tangent arc
AUTHORITY-CHECK Check authorization
AVG Aggregate expression: Average (SELECT)
BACK Positioning in list
BETWEEN Relational operator: Between
BINARY SEARCH Binary read of internaltable (READ TABLE)
BIT-NOT Bit calculation operator: NOT (COMPUTE)
BIT-AND Bit calculation operator: AND (COMPUTE)
BIT-OR Bit calculation operator: OR (COMPUTE)
BIT-XOR Bit calculation operator: AND/OR (COMPUTE)
SET BIT Set bit of an X field
GET BIT Read bit of an X field
BLANK LINES Switch on blank lines in list
BREAK-POINT Stop processing in debug mode
C Data type for fixed-length character string
CA Contains any characters -Relational operator forstring comparison
CALL Call external component
CASE Begin case distinction
CATCH Exception handling (catch runtime errors)
CEIL Mathematical function: Smallest whole value
CENTERED Output format: Centered(WRITE)
CHECK Check condition
CHECKBOX Display as checkbox
PARAMETERS ... AS CHECKBOX on the selection screen
WRITE ... AS CHECKBOX in a list
CLASS Definition of a class
CLASS-DATA Static attributes in classes
CLASS-METHODS Static methods in classes
CLASS-EVENTS Static events in classes
CLASS-POOL Introduction for type Kprograms
CLEAR Initialize data object
CLIENT Client handling when
DELETE ... CLIENT SPECIFIED deleting from a database
EXPORT ... TO DATABASE ... CLIENT Storing a data cluster
IMPORT ... FROM DATABASE ... CLIENT Reading a data cluster
EXPORT ... TO SHARED BUFFER ... CLIENT Storing a data cluster
IMPORT ... FROM SHARED BUFFER ... CLIENT Reading a data cluster
INSERT ... CLIENT SPECIFIED inserting into a database
MODIFY ... CLIENT SPECIFIED Insert/Modify in database(s)
SELECT ... CLIENT SPECIFIED reading from a database
UPDATE ... CLIENT SPECIFIED updating a database
CLOSE Close file/cursor
CN Contains Not Only - Relational operator for character comparison:
CNT Field groups: Number ofdifferent values
CO Contains Only - Relational operator for character comparison:
CODE PAGE Character set
TRANSLATE ... FROM/TOCODE PAGE Translate character codes
COLLECT Internal table: Add entries
COLOR Output format: Color (FORMAT)
COMMENT Comment on selection screen
SELECTION-SCREEN COMMENT Generate comment
COMMIT Close processing unit
COMMUNICATION Data exchange
COMPUTE Perform calculations
CONCATENATE Concatenate character fields
CONDENSE Condense character fields
CONSTANTS Defing constants
CONTEXTS Communicate contexts
CONTINUE Exit current loop pass
CONTROLS Define controls for visualization
CONVERT Convert fields
COS Mathematical function: Cosine (COMPUTE)
COSH Mathematical function: Hyperbola cosine (COMPUTE)
COUNT Aggregate expression: Count (SELECT)
COUNTRY Set country ID (SET)
CP Relational operator forcharacter comparison:
DATABASE Contains Pattern
CREATE Generate an object or data object
CS Contains character - Relational operator forcharacter comparison
CURRENCY Output format: Correct format for currency (WRITE)
CURSOR Cursor
CLOSE Close database cursor
FETCH NEXT CURSOR Read lines with a database cursor
GET CURSOR FIELD Get field name
OPEN CURSOR Open database cursor
SET CURSOR Position cursor
CUSTOMER-FUNCTION Call customer enhancement
DATA Define data
DATABASE Data cluster
DELETE FROM DATABASE Delete from a database table
EXPORT ... TO DATABASE Store in a databasetable
IMPORT ... FROM DATABASE Read from a database table
DATASET Sequential file
CLOSE DATASET Close file
DELETE DATASET Delete file
EXPORT ... TO DATASET Store data cluster in file
IMPORT ... FROM DATASET Read data cluster from file
OPEN DATASET Open file Open file
READ DATASET Read from a file
TRANSFER Output to a file
DECIMALS Output format: Places after the decimal point - (WRITE)
DEFINE Define macro
DELETE Delete from tables or from objects
DEMAND Request information from a context
DESCRIBE Determine attributes ofdata objects
DIALOG Call a dialog module (CALL)
DISTINCT Duplicates
SELECT DISTINCT Selection set without duplicates
AVG( DISTINCT ... ) Average without duplicates (SELECT)
COUNT( DISTINCT ... ) Sequential file
MAX( DISTINCT ... ) Maximum without duplicates (SELECT)
MIN( DISTINCT ... ) Minimum without duplicates (SELECT)
SUM( DISTINCT ... ) Sum without duplicates (SELECT)
DIV Arithmetic operator: Whole number division
DIVIDE Divide
DIVIDE-CORRESPONDINGField string division Field string division
DO Loop
DYNPRO Screen Screen
DELETE DYNPRO Delete Delete
EXPORT DYNPRO Export Export
GENERATE DYNPRO Generate Generate
IMPORT DYNPRO Import Import
SYNTAX-CHECK FOR DYNPRO Check Check
EDITOR-CALL Call editor
ELSE Query
ELSEIF Query
END-OF-DEFINITION End of a macro definition
END-OF-PAGE Event: End of page handling in lists
END-OF-SELECTION Event: After processingof all records in a LDB
ENDAT End of an event introduced by AT
ENDCASE End of case distinction
ENDCATCH End of exception handling
ENDDO End of a DO loop
ENDEXEC End of a Native SQL statement
ENDFORM End of a subroutine
ENDFUNCTION End of a function module
ENDIF End of a query
ENDINTERFACE End of an interface definition
ENDLOOP End of a LOOP
ENDMODULE End of a module definition
ENDON End of a conditional statement
ENDPROVIDE End of a PROVIDE loop
ENDSELECT End of a SELECT loop
ENDWHILE End of a WHILE loop
EQ Relational operator: Equals
EXEC SQL Native SQL statement
EXIT Exit loop or terminate processing
EXP Mathematical function: Exponential function
EXPONENT Output format: Exponentdisplay (WRITE)
EXPORT Export data
EXTENDED CHECK Switch extended syntax check on/off (SET)
EXTRACT Generate extract dataset
FETCH Read line from a database table
FIELD-GROUPS Define field groups
FIELD-SYMBOLS Define field symbols
FLOOR Mathematical function:Largest whole value
FORM Define subroutine
FORMAT Output format for lists
FOR UPDATE Read database table with lock (SELECT)
FRAC Mathematical function: Fraction (COMPUTE)
FREE Release resources no longer needed
FUNCTION Define function module
CALL FUNCTION Call function module
FUNCTION-POOL Introduction for type Fprograms
GE Relational operator: Greater than or equal
GENERATE Generate a program or screen
GET Event, read settings
GT Relational operator: Greater than
HASHED TABLE Table type for internalhashed tables
HEADER LINE Define an internal table with header line (DATA)
HELP-ID Help ID for F1 help
DESCRIBE FIELD ... HELP-ID Determine help ID
HELP-REQUEST Self-programmed help (F1)
PARAMETERS ... HELP-REQUEST for parameters
SELECT-OPTIONS ... HELP-REQUEST for selection options
HIDE Store line information
HOTSPOT Output format: Hotspot,interaction by simple - mouse click (FORMAT)
ICON Icons in lists
IF Query
IMPORT Import data or a screen
IN Relational operator: Selection criterion
INCLUDE Include program components
INDEX Line index in an internal table
INDEX TABLE
DELETE ... INDEX Delete line
INSERT ... INDEX Insert line
MODIFY ... INDEX Modify line
READ TABLE ... INDEX Read line
INFOTYPES Declare HR info type
INITIAL Relational operator: Initial value
INITIAL SIZE Define an internal table type (TYPES)
INITIALIZATION Event: Before display of the selection screen
INPUT Output format: Ready for input (FORMAT)
INSERT Insert into tables or objects
INTENSIFIED Output format: Intensified (FORMAT)
INTERFACE Definition of an interface
INTERFACES Class component interface
INTERFACE-POOL Introduction fortype J programs
INVERSE Output format: Inverse (FORMAT)
IS Relational operator
IS ASSIGNED Relational operator: Is the field symbol assigned?
IS INITIAL Relational operator: Initial value
IS REQUESTED Relational operator: Existence of a formal
parameter
JOIN Join (SELECT)
LANGUAGE Set language for text elements (SET)
LE Relational operator: Less than or equal
LEAVE Leave processing
LEFT-JUSTIFIED Output format: Left-justified (WRITE)
LIKE Use an existing field as areference
TYPES ... LIKE Create a type
DATA ... LIKE Create a field
LINE Line in a list
MODIFY LINE Modify line
READ LINE Read line
LINE-COUNT Number of lines per page (NEW-PAGE)
LINE-SIZE Line size (NEW-PAGE)
LIST-PROCESSING List processing (LEAVE)
LOAD Load program componentsin internal table
LOAD-OF-PROGRAM Execution at load time
LOCAL Rescue actual parameters of a subroutine
LOCAL COPY Assign local copy to a field symbol
LOCALE Set text environment (SET)
SET LOCALE Set text environment
GET LOCALE Determine text environment
LOG Mathematical function: Natural logarithm (COMPUTE)
Logical condition
SELECT ... WHERE when reading database tables
UPDATE ... WHERE when changing database tables
DELETE ... WHERE when deleting fromdatabase tables
SELECT ... FROM ... ON when reading usinga join
LOG10 Mathematical function: Base 10 logarithm (COMPUTE)
LOOP Loop
LT Relational operator: Less than
M Relational operator: Byte contains zeros and ones
MARGIN List output: Distance from edge (SET)
MATCHCODE Matchcode handling
PARAMETERS ... MATCHCODE for parameters
SELECT-OPTIONS ... MATCHCODE for selection options
MAX Aggregate expression: Maximum (SELECT)
MEMORY ABAP/4 memory
EXPORT ... TO MEMORY Roll out data to memory
IMPORT ... FROM MEMORY Restore data from memory
MESSAGE Output message
MESSAGE-ID Specify message class (REPORT)
METHOD Definition of a method
METHODS Class component method
MIN Aggregate expression: Minimum (SELECT)
MOD Arithmetic operator: Remainder after division
(COMPUTE)
MODIFY Modify tables or objects
MODULE Flow logic: Module
MOVE Assignment
MOVE-CORRESPONDING Component-by-component assignment
MULTIPLY Multiply
MULTIPLY-CORRESPONDING Field string multiplication
NA Relational operator forcharacter comparison:
Contains not any characters
NE Relational operator: Not equal
NEW-LINE List processing: New line
NEW-PAGE List processing: New page
NODES Interface work area forlogical databases
NO-GAP Output format: Leave nogaps (WRITE)
NO-HEADING Display no column headers (NEW-PAGE)
NO-SCROLLING Do not scroll line (NEW-LINE)
NO-SIGN Output format: No preceding signs (WRITE)
NO-TITLE Do not display standardpage header (NEW-PAGE)
NO-ZERO Output format: No leading zeros (WRITE)
NON-UNIQUE Defines an
TYPES internal table type
DATA internal table object
NP Relational operator forcharacter comparison:
Does not contain pattern
NS Relational operator forcharacter comparison:
Does not contain character
O Relational operator: Byte positions occupied by1
OBJECT External object
CREATE OBJECT Generate
FREE OBJECT Release
OCCURS Defines an
TYPES internal table type
DATA internal table object
ON CHANGE Control break
OPEN Open file/cursor
OR Relational operator: OR
ORDER BY Sort table rows (SELECT)
OVERLAY Overlay character fields
PACK Conversion
PARAMETER Parameter in global SAP memory
GET Read parameter
SET Set parameter
PARAMETERS Define report parameters
PERFORM Execute subroutine
PF-STATUS Set GUI status
POSITION List processing: Defineoutput position
PRINT Print formatting (NEW-PAGE)
PRINT-CONTROL Define print format
PRIVATE Class area not visible from outside
PROGRAM Introduction for type Mand S programs
LEAVE PROGRAM Leave program
PROPERTY Object property
GET PROPERTY Get property
SET PROPERTY Set property
PROVIDE Internal tables: Interval-related processing
PUT Trigger event
RADIOBUTTON Radio button (PARAMETERS)
RAISE Raise exceptions and events
RAISING Raise error message in function module
RANGES Define internal table for selection criterion
READ Read tables or objects
RECEIVE Receive results (RFC)
REFRESH Delete internal table
REFRESH CONTROL Initialize control
REJECT Do not process current database line further
REPLACE Replace characters
REPORT Introduction for type 1programs
DELETE REPORT Delete program
EDITOR-CALL FOR REPORT Call ABAP program editor
INSERT REPORT Insert program in library
READ REPORT Read program
RESERVE List processing: Conditional new page
RESET Output format: Reset all formats (FORMAT)
RIGHT-JUSTIFIED Output format: Right justified (WRITE)
ROLLBACK Roll back database changes
ROUND Output format: Scaled (WRITE)
RTTI Runtime type identification
RUN TIME ANALYZER Activate/Deactivate runtime analysis (SET)
SCAN Analyze ABAP/4 source code
SCREEN Screen
CALL SCREEN Call screen
SET SCREEN Set next screen
LEAVE SCREEN Leave screen
LEAVE TO SCREEN Branch to a screen
LOOP AT SCREEN Loop through screen fields
MODIFY SCREEN Modify screen fields
SCROLL List processing: Scroll
SCROLL-BOUNDARY List processing: Fix lead columns (SET)
SEARCH Find character
SELECT Read database table
SELECT-OPTIONS Define selection criterion
SELECTION-SCREEN Design selection screen
AT SELECTION-SCREENEvent: After editing ofselection screen
SHARED BUFFER Cross-transaction application buffer
DELETE FROM SHARED BUFFER delete from application buffer
EXPORT ... TO SHARED BUFFER Store data in application buffer
IMPORT ... FROM SHARED BUFFER Read data from application buffer
SELECTION-TABLE Selection table (SUBMIT)
SET Set different processing parameters
SHIFT Move character
SIGN Mathematical function: Sign (COMPUTE)
SIN Mathematical function: Sine (COMPUTE)
SINGLE Select single record (SELECT)
SINH Mathematical function: Hyperbola sine (COMPUTE)
SKIP List processing: Outputblank line
SORT Sort internal table or extract dataset
SORTED TABLE Table type for internaltables that are always kept
SPLIT Split character fields
SQRT Mathematical function: Square root (COMPUTE)
STANDARD TABLE Table type for standardinternal tables
START-OF-SELECTION Event: Before first access to LDB
STATICS Define static data
STOP Stop data selection (LDB)
STRING Data type for variable-length character sequence
STRLEN Character function: Current length (COMPUTE)
STRUCTURE Data structure
INCLUDE STRUCTURE Use structure
SUBMIT Program call
SUBTRACT Subtract
SUBTRACT-CORRESPONDING Field string subtraction
SUM Calculate control total
SELECT ... SUM Aggregate expression: Total
SUPPLY Supply context key fields
SUPPRESS DIALOG Suppress dialog
SYMBOL Output as symbol (WRITE)
SYNTAX-CHECK Syntax check for programs and screens
SYNTAX-TRACE Syntax check log
SYSTEM-CALL Call to various system services
SYSTEM-EXCEPTIONS Catch runtime errors (CATCH)
TABLE LINE Unstructured lines in internal tables
TABLE_LINE Unstructured lines in internal tables
TABLES Declare database table
TABLE Set or array operations for database tables
DELETE ... FROM TABLE Delete block of lines
INSERT ... FROM TABLE Insert block of lines
MODIFY ... FROM TABLE Insert/update block of lines
UPDATE ... FROM TABLE Update block of lines
SELECT ... INTO TABLE Copy block of lines to internal table
TAN Mathematical function: Tangent (COMPUTE)
TANH Mathematical function: Hyperbola tangent (COMPUTE)
TEXT Locale-specific
CONVERT TEXT Set format
SORT itab AS TEXT Sort an internal table
SORT AS TEXT Sort an extract dataset
TEXTPOOL Text elements
DELETE TEXTPOOL Delete
INSERT TEXTPOOL Insert
READ TEXTPOOL Read
TIME Time measurement
GET RUN TIME Get runtime
GET TIME Get time
SET RUN TIME ANALYZER Switch runtime analysison/off
TIME STAMP Time stamp
GET TIME STAMP Get time stamp
CONVERT TIME STAMP Convert time stamps to date/time
WRITE f TIME ZONE Output of time stamps to lists
TITLEBAR Set screen title (SET)
TOP-OF-PAGE Event: Top of page handling in lists
TRANSACTION SAP transaction
CALL TRANSACTION Call
LEAVE TO TRANSACTION Leave to
TRANSFER Output to file
TRANSLATE Character conversion incharacter fields
TRANSPORTING Selective field transport
MODIFY ... TRANSPORTING Modify lines of an internal table
READ ... TRANSPORTING Read lines of an internal table
LOOP ... TRANSPORTING Loop through an internal table
TRUNC Mathematical function: Whole number part (COMPUTE)
TYPE Define a type
TYPES ... TYPE Define a type
DATA ... TYPE Define a field
TYPE-POOL Introduction for type Tprograms
TYPE-POOLS Include type group
TYPES Define types
ULINE List processing: Underscore
UNDER Output format: One under the other (WRITE)
UNIQUE Define an
TYPES internal table type
DATA internal table object
UNIT Output format: Unit (WRITE)
UNPACK Conversion
UPDATE Update database table
USER-COMMAND List processing: Execute command immediately (SET)
USING Use parameter or format
USING Parameter of a subroutine
USING EDIT MASK Output format: Use template (WRITE)
VALUE-REQUEST Self-programmed value help(F4)
PARAMETERS ... VALUE-REQUEST for parameters
SELECT-OPTIONS ... VALUE-REQUEST for selection options
WHEN Case distinction
SELECT ... WHERE when reading from databasetables
UPDATE ... WHERE when changing database tables
DELETE ... WHERE when deleting database tables
LOOP AT ... WHERE when looping at internal tables
DELETE ... WHERE when deleting from internal tables
WHILE Loop
WINDOW List processing: Outputin window
WITH-TITLE Output standard page header (NEW-PAGE)
WORK Processing unit
COMMIT WORK Close unit
ROLLBACK WORK Close unit, but undo changes
WRITE List processing: Output
WRITE TO Correct type output in a variable
X Data type for fixed-length byte sequence
XSTRING Data type for variable-length byte sequence
Z Relational bit operator: Bit positions occupiedby
Regards
Sasidhar Reddy Matli. -
Hi All,
In production sometimes a data load fails because of the less ABAP memory available.
For a perticular load ABAP memory goes till 4 Gb and more and after that load fails with short dump.
This time i change a start routine logic and split a complex start routine logic in two programs.
Now i want to check about what memory my new programs are taking.
1. One of the programs is in start routine itself .
2. Second program is SE38 program.
How I can see the memry consumption while data load.
thanks
MukeshHI
SAP memory is for cross-transaction Applications and ABAP/4 memory is transaction-specific. So you can use SQL Trace to see the back ground process tables and details for the same Transaction.
The SAP memory, otherwise known as the global memory, is available to a user during the entire duration of a terminal session. Its contents are retained across transaction boundaries as well as external and internal sessions. The contents of the ABAP/4 memory are retained only during the lifetime of an external session. You can retain or pass data across internal sessions.
The SET PARAMETER and GET PARAMETER statements allow you to write to, or read from, the SAP memory. The EXPORT TO MEMORY and IMPORT FROM MEMORY statements allow you to write data to, or read data from, the ABAP memory.
ABAP memory is a memory area that all ABAP programs within the same internal session can access using the EXPORT and IMPORT statements. Data within this area remains intact during a whole sequence of program calls. To pass data to a program which you are calling, the data needs to be placed in ABAP memory before the call is made. The internal session of the called program then replaces that of the calling program. The program called can then read from the ABAP memory.
Put function group memory in ABAP-MEMORY-- BAL_GLB_MEMORY_IMPORT Get function group memory from ABAP
Hope it helps -
Hi,
I want to know if a parameter ID of "export/import to memory" instruction is available in two differents session with different user's login?
tks
CarlosThe use of the shared buffer may be of some interest to you.
<b>From F1 help</b>
<i>EXPORT obj1 ... objn TO SHARED BUFFER dbtab(ar) ID key.
Additions:
1. ... = f (for each field you want to export)
2. ... FROM f (for each field you want to export)
3. ... CLIENT g (before ID key)
4. ... FROM wa (as last addition or after dbtab(ar))
In an ABAP Objects context, a more severe syntax check is performed that in other ABAP areas. See Implicit field names not allowed in clusters and Table work areas not allowed.
Effect
Stores a data cluster in the cross-transaction application buffer.The specified objects obj1 ... objn (fields, structures, or tables) are stored as a single cluster in the buffer.
The specified table dbtab must have a standard structure.
The buffer area for the table dbtab is divided into various logically-related areas (ar, two-character ID).
You can export a collection of data objects (data cluster) to an area of the buffer under a key of your own choosing (key field).
You can import individual data objects from this collection using the IMPORT statement (as long as the data has not been deleted from the buffer).
Notes
In classes, you must always specify explicit names for the data objects. Addition 1 or addition 2 is therefore obligatory.
In classes, you must always specify the work area explicitly. Addition 4 is therefore obligatory.
The table dbtab that you specify after SHARED BUFFER must be declared under TABLES (except in addition 4).
You cannot export the header line of an internal table. If you specify the name of an internal table with a header line, the system always exports the actual table data.
You cannot export data, object, and interface references.
Please consult Data Area and Modularization Unit Organization documentation as well.
Example
Exporting two fields and an internal table to the buffer with structure INDX:
TABLES INDX.
TYPES: BEGIN OF ITAB3_TYPE,
CONT(4),
END OF ITAB3_TYPE.
DATA: INDXKEY LIKE INDX-SRTFD VALUE 'KEYVALUE',
F1(4), F2 TYPE P,
ITAB3 TYPE STANDARD TABLE OF ITAB3_TYPE WITH
NON-UNIQUE DEFAULT KEY INITIAL SIZE 2,
WA_INDX TYPE INDX.
Fill data fields before CLUSTR
before the actual export
INDX-AEDAT = SY-DATUM.
INDX-USERA = SY-UNAME.
Export data.
EXPORT F1 FROM F1
F2 FROM F2
ITAB3 FROM ITAB3
TO SHARED BUFFER INDX(ST) FROM WA_INDX ID INDXKEY.
Addition 1
... = f (for each object you want to export)
Effect
Exports the contents of the field f and stores them under the specified name.
Addition 2
... FROM f (for each field you want to export)
Effect
Exports the contents of field f and stores them under the specified name.
Addition 3
... CLIENT g (before ID key)
Effect
The data objects are stored in client g (as long as the import/export table dbtab is client-specific).
Addition 4
... FROM wa (as last addition or after dbtab(ar))
Effect
Use this addition if you want to store user data fields in the application buffer. Instead of the table work area, the system uses the specified work area wa. The specified work area must have the same structure as the table dbtab.
Example
DATA WA LIKE INDX.
DATA F1.
WA-AEDAT = SY-DATUM.
WA-USERA = SY-UNAME.
WA-PGMID = SY-REPID.
EXPORT F1 = F1 TO SHARED BUFFER INDX(AR)
CLIENT '001' ID 'TEST'
FROM WA.
Note
Catchable runtime error
EXPORT_BUFFER_NO_MEMORY: The EXPORT data cluster is too big for the application buffer. This error should not occur often, since the buffer uses a procedure similar to the LRU(Least Recently Used) procedure to monitor the buffer contents. However, if the error does occur, you can increase the profile parameter rsdb/obj/buffersize (see Profile Parameter Attributes), which may help.</i>
Regards,
Rich Heilman -
Related to previous post..
Hi realted to my previous question, I was looking at standard ABAP SAPCript driver program PSFCOBJL.
I see something like follwoing inside include LCODRINC:-
Import .....
FROM MEMORY ID 'PPT'.
IMPORT ITAB
ITAB_TDR FROM MEMORY ID 'PPI'.
IMPORT PRLST_TMP FROM MEMORY ID 'PPS'.
What does memory ID' PPT', 'PPI' and 'PPS' signify.
Is this the place from where we can ftech the initail data field(Explained in my previous post)
Tushar.SAP and ABAP/4 Memory
There is a difference between the cross-transaction SAP memory and the transaction-specific ABAP/4 memory.
SAP memory
The SAP memory, otherwise known as the global memory, is available to a user during the entire duration of a terminal session. Its contents are retained across transaction boundaries as well as external and internal sessions. The SET PARAMETER and GET PARAMETER statements allow you to write to, or read from, the SAP memory.
ABAP/4 memory
The contents of the ABAP/4 memory are retained only during the lifetime of an external session (see also Organization of Modularization Units). You can retain or pass data across internal sessions. The EXPORT TO MEMORY and IMPORT FROM MEMORY statements allow you to write data to, or read data from, the ABAP memory.
Please consult Data Area and Modularization Unit Organization documentation as well.
and
Memory Structures of an ABAP Program
IMPORT - Reading Data
Variants:
1. IMPORT obj1 ... objn FROM MEMORY.
2. IMPORT obj1 ... objn FROM DATABASE dbtab(ar) ID key.
3. IMPORT obj1 ... objn FROM LOGFILE ID key.
4. IMPORT DIRECTORY INTO itab FROM DATABASE dbtab(ar) ID key.
5. IMPORT obj1 ... objn FROM DATASET dsn(ar) ID key.
6. IMPORT obj1 ... objn FROM SHARED BUFFER dbtab(ar) ID key.
7. IMPORT (itab) FROM ... .
Variant 1
IMPORT obj1 ... objn FROM MEMORY.
Additions:
1. ... = f (for each object to be imported)
2. ... TO f (for each object to be imported)
3. ... ID key
In an ABAP Objects context, a more severe syntax check is performed that in other ABAP areas. See ID must be specified and Implicit Field Names not Allowed inClusters
Effect
Imports the data objects obj1 ... objn (fields, structures, complex structures, or tables) from a data cluster in ABAP memory . All data exported to ABAP memory using EXPORT... TO MEMORY without ID is read. Unlike the IMPORT FROM DATABASE variant, the sytsem does not check whether the structures used in EXPORT and IMPORT correspond.
The return code is set as follows:
SY-SUBRC = 0:
Data objects imported.
SY-SUBRC = 4:
Unable to import data objects.
The ABAP memory was probably empty.
The contents of all listed objects remain unchanged.
Notes
You should always use addition 3 /... ID key) with this statement. Variants that do not use this addition have unpredictable effects ( EXPORT statements in different parts of programs can overwrite each other's data in ABAP memory. These variants only exist for the sake of compatibility with R/2.
Please consult Data Area and Modularization Unit Organization documentation as well.
Addition 1
... = f (for each object you want to import)
Addition 2
... TO f (for each object you want to import)
Effect
Places the object in the field f.
Addition 3
... ID key
Effect
Only the data stored in ABAP memory under the key key is imported.
The return code is set as follows:
SY-SUBRC = 0:
Data objects imported.
SY-SUBRC = 4:
Data objects could not be imported.
You may have used an incorrect ID.
The contents of all listed objects remain unchanged.
Related
EXPORT TO MEMORY, FREE MEMORY
Variant 2
IMPORT obj1 ... objn FROM DATABASE dbtab(ar) ID key.
Additions:
1. ... = f (for each object you want to import)
2. ... TO f (for each object you want to import)
3. ... CLIENT g (before ID key )
4. ... USING form
5. ... TO wa (as last addition or after dbtab(ar))
6. ... MAJOR-ID id1 (instead of ID key)
7. ... MINOR-ID id2 (together with MAJOR-ID id1)
In an ABAP Objects context, a more severe syntax check is performed that in other ABAP areas. See Implicit field names not allowed in clusters and Table work areas not allowed.
Effect
Imports data objects obj1 ... objn (fields, structures, complex structures, or tables) from the data cluster with the ID key in area ar of the database table dbtab (compare EXPORT TO DATABASE).
The return code is set as follows:
SY-SUBRC = 0:
Data objects imported.
SY-SUBRC = 4:
Data objects could not be imported.
You may have used an incorrect ID.
The contents of all listed objects remain unchanged.
Example
Importing two fields and an internal table:
TYPES: BEGIN OF TAB3_TYPE,
CONT(4),
END OF TAB3_TYPE.
DATA: INDXKEY LIKE INDX-SRTFD,
F1(4), F2 TYPE P,
TAB3 TYPE STANDARD TABLE OF TAB3_TYPE WITH
NON-UNIQUE DEFAULT KEY,
WA_INDX TYPE INDX.
INDXKEY = 'INDXKEY'.
IMPORT F1 = F1
F2 = F2
TAB3 = TAB3 FROM DATABASE INDX(ST) ID INDXKEY
TO WA_INDX.
Notes
You must have named the table dbtab listed in DATABASE in a TABLES statement (except in addition 7).
The structure of the fields, structures, and internal tables that you want to import must correspond to the objects exported to the dataset. Furthermore, the objects must be imported with the same names with which they were exported. If you do not do this, the import will fail, and a runtime error may occur.
Exception: The last field may be longer or shorter, as long as it has type CHAR. Likewise, you can add or remove CHAR fields at the end of the structure.
Addition 1
... = f (for each object you want to import)
Addition 2
... TO f (for each object you want to import)
Effect
Places the object in the field f.
Addition 3
... CLIENT g (before ID key)
Effect
The data is taken from client g (only for client-specific import/export databases).
Example
DATA: F1,
WA_INDX TYPE INDX.
IMPORT F1 = F1 FROM DATABASE INDX(AR) CLIENT '002' ID 'TEST'
TO WA_INDX.
Addition 4
... USING form
Note
This statement is for internal use only.
Incompatible changes or further developments may occur at any time without warning or notice.
Effect
The data is not read from the database. Instead, the subroutine form is called for each data record that would have been read from the database. This routine can use the key fields of the records that would have been read from the work area of the database table and write the procured data into the work area. The routine has the name <database table name>_<subroutine name>. It has one parameter that describes the operation mode (READ, UPDATE, or INSERT). The routine must set SY-SUBRC to indicate whether the function has been executed successfully.
Note
Runtime errors: Various runtime errors can occur, depending on the operands you use to import data:
Addition 5
... TO wa (last addition or after dbtab(ar))
Effect
Use this addition when you want to read user data fields that have been strored in the database. Instead of the table work area, the statement uses the specified work area wa. The target area must have the structure of the corresponding table dbtab.
Example
DATA WA LIKE INDX.
DATA F1.
IMPORT F1 = F1 FROM DATABASE INDX(AR)
CLIENT '002' ID 'TEST'
TO WA.
WRITE: / 'AEDAT:', WA-AEDAT,
/ 'USERA:', WA-USERA,
/ 'PGMID:', WA-PGMID.
Addition 6
... MAJOR-ID id1 (instead of ID key)
Addition 7
... MINOR-ID id2 (together with MAJOR-ID id1)
This addition is not allowed in an ABAP Objects context. See Generic ID not allowed.
Effect
Searches for a record with an ID whose first part corresponds to id1 and (if you also specify MINOR-ID id2) whose second part is greater than or equal to id2.
Variant 3
IMPORT obj1 ...objn FROM LOGFILE ID key.
Note
This statement is for internal use only.
Incompatible changes or further developments may occur at any time without warning or notice.
Additions:
1. ... = f (for each field f you want to import)
2. ... TO f (for each field f you want to import)
In an ABAP Objects context, a more severe syntax check is performed that in other ABAP areas. See Implicit field names not allowed in clusters
Effect
Imports data objects (fields, structures, or internal tables) from the update data. You must specify the update key assigned by the system (with the serial request number).
The return code is set as follows:
SY-SUBRC = 0:
Data objects imported.
SY-SUBRC = 4:
Data objects could not be imported.
You may have used an incorrect ID.
The contents of all objects listed in the statement remain unchanged.
Addition 1
... = f (for each object you want to import)
Addition 2
... TO f (for each object you want to import)
Effect
Places the object in the field f.
Variant 4
IMPORT DIRECTORY INTO itab FROM DATABASE dbtab(ar) ID key.
Additions:
1. ... CLIENT g (before ID key)
2. ... TO wa (last addition or after dbtab(ar))
In an ABAP Objects context, a more severe syntax check is performed that in other ABAP areas. See Table work areas not allowed.
Effect
Places a directory of the objects stored under the specified ID using EXPORT TO DATABASE in the internal table itab. itab may not have the type HASHED TABLE or ANY TABLE.
The return code is set as follows:
SY-SUBRC = 0:
Directory imported.
SY-SUBRC = 4:
Unable to import directory.
You may have used an incorrect ID.
The internal table itabmust have the same structure as the ABAP Dictionary structure CDIR (INCLUDE STRUCTURE).
Addition 1
... CLIENT g (before ID key)
Effect
Takes the data from client g (only if the import/export database is client-specific).
Addition 2
... TO wa (last addition, or after dbtab(ar))
Effect
Uses the specified work area wa instead of the table work area. The table dbtab specified after DATABASE does not, in this case, have to be declared in a TABLES statement. The specified target area must have the same structure as dbtab.
Example
Directory of a cluster consisting of two fields and an internal table.
TYPES: BEGIN OF TAB3_LINE,
CONT(4),
END OF TAB3_LINE,
BEGIN OF DIRTAB_LINE.
INCLUDE STRUCTURE CDIR.
TYPES END OF DIRTAB_LINE.
DATA: INDXKEY LIKE INDX-SRTFD,
F1(4),
F2(8) TYPE P decimals 0,
TAB3 TYPE STANDARD TABLE OF TAB3_LINE,
DIRTAB TYPE STANDARD TABLE OF DIRTAB_LINE,
INDX_WA TYPE INDX.
INDXKEY = 'INDXKEY'.
EXPORT F1 = F1
F2 = F2
TAB3 = TAB3
TO DATABASE INDX(ST) ID INDXKEY " TAB3 has 17 entries
FROM INDX_WA.
IMPORT DIRECTORY INTO DIRTAB FROM DATABASE INDX(ST) ID INDXKEY
TO INDX_WA.
DIRTAB subsequently has the following contents:
NAME OTYPE FTYPE TFILL FLENG
F1 F C 0 4
F2 F P 0 8
TAB3 T C 17 4
Meanings of the individual fields:
NAME:
Name of the object
OTYPE:
Object type (F: field, R: structure / ABAP Dictionary structure, T: internal table)
FTYPE:
Field type (C: character, P: packed, ...)
Structures and internal tables have type C.
TFILL:
Number of filled lines in an internal table
FLENG:
Length of the field in bytes
For internal tables: Length of the header line.
Variant 5
IMPORT obj1 ... objn FROM DATASET dsn(ar) ID key.
This variant is not allowed in an ABAP Objects context. See Clusters not allowed in files
Note
Do not use this variant.
Note
Catchable runtime errors
The following catchable runtime errors can occur with this variant:
EXPORT_DATASET_CANNOT_OPEN: The EXPORT/IMPORT statement could not open the file.
OPEN_DATASET_NO_AUTHORITY: No authorization to access a file.
Variant 6
IMPORT obj1 ... objn FROM SHARED BUFFER dbtab(ar) ID key.
Additions:
1. ... = f (for each object you want to import)
2. ... TO f (for each object you want to import)
3. ... CLIENT g (before ID key)
4. ... TO wa (last addition or after dbtab(ar))
In an ABAP Objects context, a more severe syntax check is performed that in other ABAP areas. See No implicit field names allowed in clusters and Table work areas not allowed.
Effect
Imports the data objects obj1 ... objn (fields, structures, complex structures, or tables) from the cross-transaction application buffer. The data objects are read from table dbtab using the ID key from area ar (see EXPORT TO SHARED BUFFER).
The return code is set as follows:
SY-SUBRC = 0:
Data objects imported.
SY-SUBRC = 4:
Unable to import data objects.
You may have used an incorrect ID.
The contents of all data objects listed in the statement remain unchanged.
Example
Importing two fields and an internal table from the application buffer with the structure indx:
TYPES: BEGIN OF ITAB3_LINE,
CONT(4),
END OF ITAB3_LINE.
DATA: INDXKEY LIKE INDX-SRTFD VALUE 'KEYVALUE',
F1(4),
F2(8) TYPE P DECIMALS 0,
ITAB3 TYPE STANDARD TABLE OF ITAB3_LINE,
INDX_WA TYPE INDX.
Import data
IMPORT F1 = F1 F2 = F2 ITAB3 = ITAB3
FROM SHARED BUFFER INDX(ST) ID INDXKEY TO INDX_WA.
After the import, the fields before CLUSTR
(INDX-AEDAT and INDX-USERA) are filled with the
values they had before the corresponding EXPORT
statement.
Notes
The table dbtab specified after DATABASE must be declared under TABLES (except in addition 2).
The structures of the fields, structures, and internal tables you want to import must be the same as those fo the objects you exported. The EXPORT and IMPORT statements (unlike IMPORT FROM DATABASE statement) does not check that they are the same. If the structures are not the same, a runtime error may occur if invalid assignments are attempted during the operation. The objects must also be imported using the same name as that with which they were exported. Otherwise, nothing is imported.
Please consult Data Area and Modularization Unit Organization documentation as well.
Addition 1
... = f (for each field you want to import)
Addition 2
... TO f (for each field you want to import)
Effect
Places the object in field f.
Addition 3
... CLIENT g (before ID key)
Effect
Takes the data from client g (if the import/(export table dbtab is client-specific).
Addition 4
... TO wa (as last addition or after dbtab(ar))
Effect
Use this addition if the application buffer contains user data fields that you want to read. Instead of the table work area, the system uses the specified work area wa. The target area you specify must have the same structure as dbtab.
Example
DATA: INDX_WA TYPE INDX,
F1.
IMPORT F1 = F1 FROM SHARED BUFFER INDX(AR)
CLIENT '001' ID 'TEST'
TO INDX_WA.
WRITE: / 'AEDAT:', INDX_WA-AEDAT,
/ 'USERA:', INDX_WA-USERA,
/ 'PGMID:', INDX_WA-PGMID.
Variant 7
IMPORT (itab) FROM ... .
Effect
Specifies the objects you want to import in the internal table itab. You can use this variant instead of the static object list in the following variants: " ... FROM MEMORY", "... FROM DATABASE ", " ... FROM DATASET" und "... FROM SHARED BUFFER". Any additions that are valid in the static cases can also be used here. The table itab may not have the type HASHED TABLE or ANY TABLE.
Note
Structure of the internal table itab:
The first column of the table contains the object name in the data cluster (corresponds to obj1 ... objn from the static case. The second column contains the different name in the program (if necessary), and corresponds to f in the FROM f addition. If the table has only one column, or the second column contains only blanks, the statemeht is the equivalent of a static IMPORT with no TO addition. Both the first and the second columns should have the type character.
Example
TYPES: BEGIN OF OBJ_LINE,
CLUSTERNAME(30),
PROGRAMNAME(10),
END OF OBJ_LINE,
BEGIN OF B_LINE,
FIELD_1 TYPE I,
FIELD_2(1) TYPE N,
END OF B_LINE.
DATA: OBJ_TAB TYPE STANDARD TABLE OF OBJ_LINE,
OBJ_WA TYPE OBJ_LINE,
B_PROG TYPE STANDARD TABLE OF B_LINE,
B_WA TYPE B_LINE,
A(10),
C_PROG LIKE SYST.
MOVE: 'A' TO OBJ_WA-CLUSTERNAME.
APPEND OBJ_WA TO OBJ_TAB. CLEAR OBJ_WA.
MOVE: 'B' TO OBJ_WA-CLUSTERNAME,
'B_PROG' TO OBJ_WA-PROGRAMNAME.
APPEND OBJ_WA TO OBJ_TAB. CLEAR OBJ_WA.
MOVE: 'C' TO OBJ_WA-CLUSTERNAME,
'C_PROG' TO OBJ_WA-PROGRAMNAME.
APPEND OBJ_WA TO OBJ_TAB. CLEAR OBJ_WA.
IMPORT (OBJ_TAB) FROM MEMORY ID 'ABCD'.
The dynamic EXPORT statement corresponds to the static IMPORT statement.
IMPORT A = A B = B_PROG C = C_PROG FROM MEMORY ID 'ABCD'.
Places the single field A in field A, the internal table B in the internal table B_PROG, and the structure C in the structure C_PROG.
Note
Runtime errors:
DYN_IMEX_OBJ_NAME_EMPTY: The object name in the cluster (that is, the contents of the first column of obj_tab) is empty.
DYN_IMEX_OBJ_NAME_TWICE: An object name (in the cluster) occurs twice in the first column of the internal table.
DYN_IMEX_OBJ_NOT_FOUND: The data object in the program (the object whose name appears in column 2, if this is not empty, otherwise in column 1) does not exist.
The return code is set as follows:
SY-SUBRC is set in the same way as for the static IMPORT.
Note
General notes about catchable runtime errors
The variants
IMPORT obj1 ... objn FROM MEMORY,
IMPORT obj1 ... objn FROM DATABASE dbtab(ar) ID key,
IMPORT obj1 ... objn FROM DATASET dsn(ar) ID key,
IMPORT obj1 ... objn FROM SHARED BUFFER dbtab(ar) ID key,
IMPORT (itab) FROM ... ,
can cause the following catchable runtime errors:
CONNE_IMPORT_WRONG_COMP_LENG: A component in the dataset has an incorrect length
CONNE_IMPORT_WRONG_COMP_TYPE: A component in the dataset has an incorrect type
CONNE_IMPORT_WRONG_FIELD_LENG: A field in the dataset has the wrong length
CONNE_IMPORT_WRONG_FIELD_TYPE: A field in the dataset has the wrong type
CONNE_IMPORT_OBJECT_TYPE: Type conflict between a simple and a structured data type
CONNE_IMPORT_WRONG_STRUCTURE: Type conflict between structured objects
IMPORT_ALIGNMENT_MISMATCH: Same sequence of components in different structures
IMPORT_TYPE_MISMATCH: Only with IMPORT...FROM MEMORY | FROM SHARED BUFFER... -
In the MIGO update task, you can do custom stuff using the exit "exit_saplmbmb_001" (FG XMBC, Include ZXMBCO01) or the BAdI "MB_DOCUMENT_BADI".
Does anyone know "right-off" the MIRO equivalent of this exit and/or the MIRO equivalent of this BAdI?Hi,
Please find below the BADI's for MIRO Transaction,
BAdI MRM_HEADER_DEFAULT to prepopulate various header fields
BAdI MRM_PAYMENT_TERMS to set terms of payment
BAdI MRM_UDC_DISTRIBUTE to distribute unplanned delivery costs. You can distribute unplanned delivery costs according to your own rules, for example, under...
BAdI MRM_TRANSACT_DEFAULT to prepopulate various transaction fields
BAdI MRM_WT_SPLIT_UPDATE to change the withholding tax data and the data during a vendor split
BAdI MRM_TOLERANCE_GROUP to set vendor-specific tolerance groups
Other BAdIs:
BAdI MRM_RELEASE_CHECK for additional checks before invoices are released, in other words, you can restrict the list of invoices to be released by defining your own criteria.
BAdI MRM_MRIS_HDAT_MODIFY to change document header data in invoicing plans
BAdI MRM_MRKO_HDAT_MODIFY to change document header data in consignment settlement
Thanks,
Krishna -
Recognize COGS in intercompany billing process
Dear expert,
I read the intercompany billing process and have some confuse.
The process like that: CC1(company code 1) sells to end customer, CC2 (conpany code 2) (internal relationship) issues good.
1, CC1 sells to end customer. CC1 create the SO
2, CC2 creates the DO and PGI, that recognize the COGS at CC2 for the internal sales.
3. CC1 creates the billing to end customer --> record the revenue of CC1
4. CC2 creates the internal billing to CC1 --> record the internal revenue of CC2
My question is, follow this process, I don't see the COGS of CC1, there is only a outbound delivery create by CC2 and COGS of CC2.
I read the document about cross transaction, but it guide me only for steps above.
Are there any mistake here?
Please give me a help.
Thank you in advance!
HongDMDear expert,
I have some question about the document flow of the intercompany billing process.
Company code 1 (CC1) sell to customer
CC2 issue goods to customer of CC1, then internal billing to CC1.
the step as below:
1. CC1 create SO (sell to customer)
2. CC2 create outbound delivery to Customer of CC1, recognize COGS of CC2
3. CC1 bill to customer, recognize revenue of CC1
4. CC2 create internal invoice to CC1, recognize revenue of CC2
in internal invoice of CC2, update the output RD04. Does it recognize COGS and goods receipt to CC1? Because as above document flow, I see that, the CC1 don't have COGS, not receipt goods to plant of CC1 and Account Payable for CC2. There my thinking as logic of flow, but I'm not sure what the EDI and RD04 can do. Can you tell me about that.
Thank you very much, this is very helpful for me.
Best regard,
HongDM -
Hi All,
Is the ABAP memory ID global?
for example, I have FUNC1, in FUNC1, I export value to memory ID 'ABC'. the value of 'ABC' is valide for all other function call?
The porblem I experinced is that the FUNC1 may called by many interface at the SAME time, and because the memory ID id "global", it may cause problem.
Thanks,If you look at the documentation of the 'EXPORT' statement, you will see that data is stored in the ABAP memory not in SAP global memory. See below for an extract of the documentation.
Stores a data cluster in ABAP memory. The specified objects obj1 ... objn (fields, structures, complex structures, or tables) are stored as one cluster in ABAP memory.
If you call a transaction, an executable program, or a dialog module in call mode ( CALL TRANSACTION, SUBMIT, CALL DIALOG), the ABAP memory is retained, even over several call levels. The called transaction can import the data from ABAP memory using IMPORT ... FROM MEMORY. Each new EXPORT ... TO MEMORY overwrites the old data in ABAP memory. You cannot therefore append to data already in the ABAP memory.
When you leave the lowest level of the call chain, the ABAP memory is released.
SAP and ABAP/4 Memory
There is a difference between the cross-transaction SAP memory and the transaction-specific ABAP/4 memory.
SAP memory
The SAP memory, otherwise known as the global memory, is available to a user during the entire duration of a terminal session. Its contents are retained across transaction boundaries as well as external and internal sessions. The SET PARAMETER and GET PARAMETER statements allow you to write to, or read from, the SAP memory.
ABAP/4 memory
The contents of the ABAP/4 memory are retained only during the lifetime of an external session (see also Organization of Modularization Units). You can retain or pass data across internal sessions. The EXPORT TO MEMORY and IMPORT FROM MEMORY statements allow you to write data to, or read data from, the ABAP memory.
Please consult Data Area and Modularization Unit Organization documentation as well.
and Memory Structures of an ABAP Program
So, just based on this, your problem may not be related to the export statement or the import statement.
Are you making multiple function calls from the same program/transaction? In this case there is a chance of the memory getting overlaid. But if different people are using the transaction/program at the same time, but the function call is just once in the program/transaction, then you should not have this issue.
Srinivas
Maybe you are looking for
-
Importing RAW files into Photoshop CC
Since I've updated my Photoshop CC to version 14 I've one problem. After I did import my files into Adobe RAW and after I finetuned in Adobe RAW I want to improve my details into Photoshop CC. BUT: after I have ordered Adobe RAW tot opent he files in
-
Hi All, I've "googled" this to death and noted the registry keys that are associated with the "Computer Browser Service." On the PDC: IsDomainMaster = TRUE MaintainServerList = Auto On one of the Workstations noted in the EventID Logs: MaintainServer
-
Hi everyone, This is probably a stupid question but I will ask anyway. I have a set of components that worked fine in Netbeans 3.5.1 but now in Netbeans 3.6 whenever they are dopped on a form (Frame/Panel, etc) they throw the error "Cannot save value
-
Why the Move from /opt to /usr ?
I'd been getting used to having my DE stuff in /opt. Then, all of a sudden, Xfce is in /usr. Not that I mind one way or another, but it did throw me for a loop: As soon as I installed and started x, my whole Xfce panel setup disappeared. I'm using
-
SAP Authentication on IPHONE/IPAD
Hello, Is there a way to view analytics on iphone and ipad through SAP authentication Business Objects Explorer (Polestar)? I am able to view analytics with my enterprise credentials, but I get the follwing error when I use with my SAP credentials (P