Creation of WCM object types
hi,
from where i can create WCM Object type. i just started working on WCM ( work clearance management)...
if some body have step by step customization settings for WCM, please let me know.
regards,
Amit kushwaha
Dear Amit,
WCM is used for getting the clearance / approval for a particular work (e.g. work that involves a lot of safety measures, intimation to lot of people as it affects their process) or clearance / approval from financial perspective (e.g. work that involves lot of money). If we have some particular aproval strategies in our business processes then one finds the use of Work Clearance Management.
WCM consists of two types of permits....Technical Permits & Standard Permit(name not sure).
Technical Permits involves Approval for hot work, high height work, work in other unsafe conditions. It may use the involvement of approval from safety deptt or higher authorities in your area.
In Second one, permits from financial perspective comes.
WCM is used for managing safety at work using work and safety permits like Lock out and Tag outs at work locations with hazardous nature of work. This has wide use in the Utilities and Oil and Gas industries
We use wcm to observe the safety of the maintenance technician and also to observe environmental regulatio.
Suppose you have to do welding on a mechanical fixture then you raise an WCM order. Afterwords safety engineeer from Safety department check the site whether it is harmful to do the welding. Perform lock out tagout if necessary and then give the clearnce for work
Lock out -- Lockingthe particular tech obj for the safe working(ex: steam o/l valve locked means the tag will haning there it indicates the work is going on so others will not open)
Tag out-- After completion the job Mtc I/c or safety officer or resp person tag out. This will be done all the work areas.
In most case this will better use for oil, mines, hazardous industry
Please check this link:
www.nd-solutions.com/pdfs/case_utilities/UTIL_NB_PowerWorkClearance.pdf
I would also like to stress that this is a part of Enterprise Asset Management.
Please let me know in case of any queries.
Regards,
Rakesh
Similar Messages
-
Error in creation of Object Type from XML passed
Hi,
I am facing a problem creating a appropriate a object type for a XML.
Below are the details:
XML Passed
<mer_offer_action_data>
<form_id>
134039588
</form_id>
<action_cd>
OA
</action_cd>
<offer_decline_reason_cd>
</offer_decline_reason_cd>
<start_dt>
</start_dt>
<candidate>
<ds_prs_id>
109315
</ds_prs_id>
<ds_prs_id>
110534
</ds_prs_id>
<ds_prs_id>
110059
</ds_prs_id>
</candidate>
</mer_offer_action_data>
Types Declaration
+CREATE OR REPLACE type MER_OFF_CANDIDATE
AS
OBJECT
DS_PRS_ID NUMBER
CREATE OR REPLACE TYPE MER_OFF_CANDIDATE_t
AS
TABLE OF MER_OFF_CANDIDATE;
CREATE OR REPLACE type MER_OFFER_ACT_DATA
AS
OBJECT
FORM_ID NUMBER,
ACTION_CD VARCHAR2(6),
OFFER_DECLINE_REASON_CD VARCHAR2(6),
START_DT VARCHAR2(11),
CANDIDATE MER_OFF_CANDIDATE_t
CREATE OR REPLACE TYPE MER_OFFER_ACT_DATA_t
AS
TABLE OF MER_OFFER_ACT_DATA;
CREATE OR REPLACE type MER_OFFER_ACTION_DATA
AS
OBJECT
MER_OFF_ACT_DATA MER_OFFER_ACT_DATA_t
/+
My Declaration
+merOffActDataXML xmltype;
merOffActData MER_OFFER_ACTION_DATA := MER_OFFER_ACTION_DATA(MER_OFFER_ACT_DATA_t());+
Inside Pl/SQL block
+-- Converts XML data into user defined type for further processing of data
xmltype.toobject(merOffActDataXML,merOffActData);+
when I run the Pl/Sql block it gives me error
ORA-19031: XML element or attribute FORM_ID does not match any in type ORADBA.MER_OFFER_ACTION_DATA
which means the object type mapping is wrong
I would like to know whether the object type I had created is correct or not.
Thanks for your help
BedaBedabrata Patel wrote:
Below are the details:The details except for a description of the problem
I am facing a problem creating a appropriate a object type for a XML.And which error you are getting
Error in creation of Object Type http://download.oracle.com/docs/cd/E11882_01/server.112/e10880/toc.htm
And which version of Oracle you are getting the unknown error creating the unknown problem. -
Error in creation of Object Type
Hi,
I am facing a problem creating a appropriate a object type for a XML.
Below are the details:
XML Passed
<mer_offer_action_data>
<form_id>
134039588
</form_id>
<action_cd>
OA
</action_cd>
<offer_decline_reason_cd>
</offer_decline_reason_cd>
<start_dt>
</start_dt>
<candidate>
<ds_prs_id>
109315
</ds_prs_id>
<ds_prs_id>
110534
</ds_prs_id>
<ds_prs_id>
110059
</ds_prs_id>
</candidate>
</mer_offer_action_data>
Types Declaration
+CREATE OR REPLACE type MER_OFF_CANDIDATE
AS
OBJECT
DS_PRS_ID NUMBER
CREATE OR REPLACE TYPE MER_OFF_CANDIDATE_t
AS
TABLE OF MER_OFF_CANDIDATE;
CREATE OR REPLACE type MER_OFFER_ACT_DATA
AS
OBJECT
FORM_ID NUMBER,
ACTION_CD VARCHAR2(6),
OFFER_DECLINE_REASON_CD VARCHAR2(6),
START_DT VARCHAR2(11),
CANDIDATE MER_OFF_CANDIDATE_t
CREATE OR REPLACE TYPE MER_OFFER_ACT_DATA_t
AS
TABLE OF MER_OFFER_ACT_DATA;
CREATE OR REPLACE type MER_OFFER_ACTION_DATA
AS
OBJECT
MER_OFF_ACT_DATA MER_OFFER_ACT_DATA_t
/+
My Declaration
+merOffActDataXML xmltype;
merOffActData MER_OFFER_ACTION_DATA := MER_OFFER_ACTION_DATA(MER_OFFER_ACT_DATA_t());+
Inside Pl/SQL block
+-- Converts XML data into user defined type for further processing of data
xmltype.toobject(merOffActDataXML,merOffActData);+
Thanks for your help
Beda
Edited by: Bedabrata Patel on Jul 12, 2010 5:51 AMBedabrata Patel wrote:
Below are the details:The details except for a description of the problem
I am facing a problem creating a appropriate a object type for a XML.And which error you are getting
Error in creation of Object Type http://download.oracle.com/docs/cd/E11882_01/server.112/e10880/toc.htm
And which version of Oracle you are getting the unknown error creating the unknown problem. -
Urgent--==creation of object type in MASSOBJ transaction
hi all:
Could any one urgently tell me how to create object type in Massobj transaction.(this is done to delete purchase requisition in bulk in transaction 'Mass' (AND not in 'MASSOBJ').)
i have created in Massobj transaction by pressing 'new enteries' button, but several elements are missing.
so it give short dump after running transaction Mass.
Object type is created in Massobj transaction and executed in Mass transaction.
could anyone find solution for this urgetly.
thanx in advance
regards
rajHi,
There is an standard object BUS2105 to for the mass maintanance purpose.
You can directly go to MASS transaction and give the object type BUS2105 at the intial selection screen and don't mention any variant name.Execute it and displays the next screeen whereas you have the option to select the field you want and execute it again.Go to the next screen and specify the PR number range and specify the new value for the mass maintanace.After that you got to select the push button 'Carry out a mass change'.
I hope this would help you.
Thank you.
Regards,
karun.M -
New object type creation...in MASS transaction..
Hi,
I want to create new object type for Maintainace plan mass mainainace how to do it....can anybody tell me..??
In standard MASS transaction i am not getting object type for Maintainace plan
Regards,
San Rao..hi
O1CL-->select Table you asscosiate with class type( If it it not exists the click on New Item)
->Lets consider that it is MARA>double click on Plant->click on object types>click on New Item--->click on Object
Similerly maintain class status,Org Area etc
You can also check the existing class for Example...this will help you.
Regards
Sujit -
Create "Object" Type based on columns of a table
Hi Experts
is it possible to create an Object Type based on columns of a table?
for example the syntax for creation of type is
CREATE OR REPLACE TYPE temp_t
AS OBJECT (ID number, code number)
can we create a type that is based on columns of an existing table? so that we donot have to write down all the column names in each type as i have to create types based on 100 and above tables :-s
Please help me out here!
Best RegardsYou cannot do that Zia, check below code:
SQL> create or replace type temp_t as object(object_name all_objects.object_name%TYPE);
2 /
Warning: Type created with compilation errors.
SQL> sho err
Errors for TYPE TEMP_T:
LINE/COL ERROR
0/0 PL/SQL: Compilation unit analysis terminated
1/35 PLS-00201: identifier 'ALL_OBJECTS.OBJECT_NAME' must be declared -
Dynamically built query on execution How to save the data in Object Type
Hi,
In pl/sql I am building and executing a query dynamically. How can I stored the output of the query in object type. I have defined the following object type and need to store the
output of the query in it. Here is the Object Type I have
CREATE OR REPLACE TYPE DEMO.FIRST_RECORDTYPE AS OBJECT(
pkid NUMBER,
pkname VARCHAR2(100);
pkcity VARCHAR2(100);
pkcounty VARCHAR2(100)
CREATE OR REPLACE TYPE DEMO.FIRST_RECORDTYPETAB AS TABLE OF FIRST_RECORDTYPE;Here is the query generated at runtime and is inside a LOOP
--I initialize my Object Type*
data := new FIRST_RECORDTYPETAB();
FOR some_cursor IN c_get_ids (username)
LOOP
x_context_count := x_context_count + 1;
-- here I build the query dynamically and the same query generated is
sql_query := 'SELECT pkid as pid ,pkname as pname,pkcity as pcity, pkcounty as pcounty FROM cities WHERE passed = <this value changes on every iteration of the cursor>'
-- and now I need to execute the above query but need to store the output
EXECUTE IMMEDIATE sql_query
INTO *<I need to save the out put in the Type I defined>*
END LOOP;
How can I save the output of the dynamically built query in the Object Type. As I am looping so the type can have several records.
Any help is appreciated.
Thankshai ,
solution for Dynamically built query on execution How to save the data in Object Type.
Step 1:(Object creation)
SQL> ED
Wrote file afiedt.buf
1 Create Or Replace Type contract_details As Object(
2 contract_number Varchar2(15),
3 contrcat_branch Varchar2(15)
4* );
SQL> /
Type created.
Step 2:(table creation with object)
SQL> Create Table contract_dtls(Id Number,contract contract_details)
2 /
Table created.
Step 3:(execution Of procedure to insert the dynamic ouput into object types):
Declare
LV_V_SQL_QUERY Varchar2(4000);
LV_N_CURSOR Integer;
LV_N_EXECUTE_CURSOR Integer;
LV_V_CONTRACT_BR Varchar2(15) := 'TNW'; -- change the branch name by making this as input parameter for a procedure or function
OV_V_CONTRACT_NUMBER Varchar2(15);
LV_V_CONTRACT_BRANCH Varchar2(15);
Begin
LV_V_SQL_QUERY := 'SELECT CONTRACT_NUMBER,CONTRACT_BRANCH FROM CC_CONTRACT_MASTER WHERE CONTRACT_BRANCH = '''||LV_V_CONTRACT_BR||'''';
LV_N_CURSOR := Dbms_Sql.open_Cursor;
Dbms_Sql.parse(LV_N_CURSOR,LV_V_SQL_QUERY,2);
Dbms_Sql.define_Column(LV_N_CURSOR,1,OV_V_CONTRACT_NUMBER,15);
Dbms_Sql.define_Column(LV_N_CURSOR,2,LV_V_CONTRACT_BRANCH,15);
LV_N_EXECUTE_CURSOR := Dbms_Sql.Execute(LV_N_CURSOR);
Loop
Exit When Dbms_Sql.fetch_Rows (LV_N_CURSOR)= 0;
Dbms_Sql.column_Value(LV_N_CURSOR,1,OV_V_CONTRACT_NUMBER);
Dbms_Sql.column_Value(LV_N_CURSOR,2,LV_V_CONTRACT_BRANCH);
Dbms_Output.put_Line('CONTRACT_BRANCH--'||LV_V_CONTRACT_BRANCH);
Dbms_Output.put_Line('CONTRACT_NUMBER--'||OV_V_CONTRACT_NUMBER);
INSERT INTO contract_dtls VALUES(1,CONTRACT_DETAILS(OV_V_CONTRACT_NUMBER,LV_V_CONTRACT_BRANCH));
End Loop;
Dbms_Sql.close_Cursor (LV_N_CURSOR);
COMMIT;
Exception
When Others Then
Dbms_Output.put_Line('SQLERRM--'||Sqlerrm);
Dbms_Output.put_Line('SQLERRM--'||Sqlcode);
End;
step 4:check the values are inseted in the object included table
SELECT * FROM contract_dtls;
Regards
C.karukkuvel -
Concurrency and Oracle Object Types
Hi All,
I have a question regarding Concurrent usage of an Object type in Oracle.
I have a java program which calls an Oracle stored proc with the object's table type as IN parameter. In my stored proc, I am populating an Oracle Object with data received from java and retrieving some data based on that.
My java program can be invoked concurrently by 500 users at the same time - the application is built to handle that request load.
Now in Oracle, if a bunch of requests are received at the same, would Oracle create multiple instances of this object type that would be usage to the multiple stored proc invocations? Or would there be a prob of concurrency?
If multiple instance creation is not supported, is there some alternative I can use?
My code roughly resembles:
Object:
contains two columns - name, age
Stored proc - logic to retrieve and return data from a table based on the name, age received.
When a bunch of requests access the stored proc simultaneously, will a bunch of instnaces of the object type get created? Or would there be a scenario where the object is common to all requests and hence data from one request would be conflicted due to data from another request?Hi Wiiliam
Sorry for the late acknowledgement (i dozed off!).. Thanks for the response. So the private instance specific to a session ensure that theres no conflict between multiple requests to the same stored proc and hence no conflict of data... Great
Chaitanya -
BAPI_PO_CRETE1:No instance of object type PurchaseOrder has been created
Hi All,
It's very urgent,can u plz guide me how to use <b>BAPI_PO_CRETE1</b>
I am getting the folowing errorrs while creating,<b>esp the error 1</b>
can u plz guide me what are all the parameters to to pass to suppress this error
<b>1. No instance of object type PurchaseOrder has been created. External reference:</b>
2. Purchase order still contains faulty items
3. Please only use sites with local currency EUR
4. Net price for item 00010 taken from conditions
Thanks in advance.
Best Regards,
Vishnuvardhan reddy.there are mandotary fields in ur bapi that have to b filled in, and u have to check the item elemant of how many characters it requires if the data elemant if 5 charaters u have to fill in the precceding with a number of zero here is a sample code of creating a Po with a single line item
REPORT zak_testing .
CONSTANTS : c_x VALUE 'X'.
***Structures to hold PO schedule data
**DATA : itemschedule LIKE bapimeposchedule OCCURS 0 WITH HEADER *LINE ,
**itemschedulex LIKE bapimeposchedulx OCCURS 0 WITH HEADER LINE .
*Structures to hold PO header data
DATA : header LIKE bapimepoheader ,
headerx LIKE bapimepoheaderx .
*Structures to hold PO account data
DATA : account LIKE bapimepoaccount OCCURS 0 WITH HEADER LINE ,
accountx LIKE bapimepoaccountx OCCURS 0 WITH HEADER LINE .
*Internal Tables to hold PO ITEM DATA
DATA : item LIKE bapimepoitem OCCURS 0 WITH HEADER LINE,
itemx LIKE bapimepoitemx OCCURS 0 WITH HEADER LINE,
*Internal table to hold messages from BAPI call
return LIKE bapiret2 OCCURS 0 WITH HEADER LINE,
*Internal table to hold messages from BAPI call
pocontractlimits LIKE bapiesucc OCCURS 0 WITH HEADER LINE.
DATA : w_header(40) VALUE 'PO Header',
purchaseorder LIKE bapimepoheader-po_number,
delivery_date LIKE bapimeposchedule-delivery_date.
DATA : ws_langu LIKE sy-langu.
header-comp_code = '01'.
header-doc_type = 'NB'.
header-vendor = '0000101111'.
header-creat_date = sy-datum.
header-purch_org = '0001'.
header-pur_group = '502'.
header-doc_date = sy-datum.
*header-quot_date = sy-datum.
*append header.
*POPULATE HEADER FLAG.
headerx-comp_code = c_x.
headerx-doc_type = c_x.
headerx-vendor = c_x.
headerx-creat_date = c_x.
headerx-purch_org = c_x.
headerx-pur_group = c_x.
headerx-doc_date = c_x.
*populate ur item table
item-po_item = '00010'. " note item in Quotes
item-acctasscat = 'K'.
item-short_text = 'workforce labour'.
item-matl_group = '904045'.
item-plant = '0002'. " depending if 0002 plant exist in ur database
item-quantity = '1'.
item-po_unit = 'EA'.
item-net_price = '1000000'.
item-price_unit = '1'.
APPEND item.
CLEAR item.
*POPULATE ITEM FLAG TABLE
itemx-po_item = '00010'. "notice that item has to b passes in every instance
itemx-po_itemx = c_x.
itemx-acctasscat = c_x.
itemx-short_text = c_x.
itemx-matl_group = c_x.
itemx-plant = c_x.
itemx-quantity = c_x.
itemx-po_unit = c_x.
itemx-net_price = c_x .
itemx-price_unit = c_x.
APPEND itemx.
CLEAR itemx..
itemx-material = c_x.itemx-net_price = c_x
*POPULATE ACCOUNT DATA.
account-po_item = '00010'.
account-creat_date = sy-datum .
account-gr_rcpt = 'MTCD FS'.
account-unload_pt = 'Woodstock'.
account-costcenter = '0000120010'.
account-gl_account = '0000455655'.
*account-CO_AREA = 'MTCD FS'.
account-serial_no = serial .
APPEND account.
CLEAR account.
*POPULATE ACCOUNT FLAG TABLE.
accountx-po_item = '00010'.
accountx-po_itemx = c_x.
accountx-creat_date = c_x .
accountx-gr_rcpt = c_x.
account-unload_pt = c_x.
accountx-costcenter = c_x.
accountx-gl_account = c_x .
APPEND accountx.
CLEAR accountx.
APPEND itemx. CLEAR itemx.
**POPULATE ITEM SCHEDULE DATA.
**POPULATE ITEM FLAG FOR SCHEDULE TABLE.
*BAPI CALL
CALL FUNCTION 'DIALOG_SET_NO_DIALOG'.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = header
poheaderx = headerx
IMPORTING
exppurchaseorder = purchaseorder
TABLES
return = return
poitem = item
poitemx = itemx
poaccount = account
poaccountx = accountx.
*Confirm the document creation by calling database COMMIT
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
IF NOT header IS INITIAL.
CALL FUNCTION 'DEQUEUE_ALL'.
ELSE.
CALL FUNCTION 'DEQUEUE_ALL'.
**message i036.
ENDIF.
try this n substitute the code where relavent -
PDR Steps to create new object types
We set a demo instance of the PDR tool here and it all works well.. I would now like to add purchase info records as an object that can be sequenced with all other master data like materials, material boms, variant class and ecms in a config folder. I know that new function modules would need be created but was wondering there was a document with steps expaining the entire procedure for doing this or if any other company has yet tried this with the tool.. It allows for the creation of new objects for the packet but would like to have some sort of guideline to follow if possible.
Hello Mr Thorne,
I knew there are some SAP Consultants that know how to implement a new object type. And there is a project together with the german army that expands the PDR with several object types.
But you have to pay attention. The PDR consists of two main parts . The FOX - Frame work of Explosion and the UPS - Uniform Packaging Service.
Creating a new Object type that can be "shipped" has to be in the UPS - BUT - if you are using the transaction CRWBD that new object type will not be found if you are exploding a baseline. That is the task of the FOX.
And to add a new Object type into the FOX would be harder than add it into the UPS.
I think the Consulting solution, uses a FOX exit to add that object into the UPS after the FOX-Run.
I you need further information please contact SAP consulting (PLM). -
Asset - Equipment Synchronization (Object type)
Hi Experts,
In our system, Asset-Equipment synchronization is activated. An equipment will be automatically created upon creation of an Asset.
Asset Class(Eg: 10006) is sync with Equipment category(eg : M) and equipment are created automatically. A set of Evaluation group 1(Eg: F001,F002, F003,F004,F005) are defined and Equipment Object types (Eg; F001, F002, F003) are defined for selected corresponding evaluation group 1 values
It is required to create equipment ONLY for those selected Object types (Eg; F001, F002, F003). Equipment should not be created for all.
Config allows to add one object type for Asset Class-Equipment category combination
How should i add more object types to same Asset Class-Equipment category combination?
i.e. :
Asset Class : 10006
Equipcategory: M
Object Type: F002
Asset Class : 10006
Equipcategory: M
Object Type: F003
Is it possible to do so...
Appreciate your guidanceDear Sank
Standard Method: It is 1:1:1 assignment for Asset Class, Equipment Category and Object type.
Note that an asset class can be assigned at most to one combination of equipment category and object type. On the other hand, more than one asset class can assigned to the same combination.
However you can maintain Asset class and Equipment category assignment without any object type assignment so you would be able to create equipmetnts for all object types with specified equipment category.
User exits: AAPM0001 can be looked into to suit your requirement
Also look into SAP Note: 370884 - PM-AA 4.6C: Consulting on sync activation + corrections
Rgrds
Murad -
Oracle 9i Object Type ..using self
I have created and object with
several attributes of standard oracle datatypes. I have one that is of a custom object type. this object provides encapsulated functionality. I instansiate the internal custom object using a constructor function. the constructor includes the creation of a primary key. once the constructor is done, the object is initialized( an internal flag is set, which should only be done once)
To use this custom object in a member method, I have to do something like this..
( i have summarized code for brevity)
MEMBER FUNCTION foo( ) return obj
is
l_self PARENT_OBJ_TYPE:= SELF;
local INTERNAL_OBJ :=SELF.internal_obj;
begin
local.method1() -- insert record( flag is true)
local.method1() --insert another record( but this time the flag that was set upon construction is now set to FALSE..
I get an error.)
end;
I do not do anything tricky. the behavior seems to be that object types do not keep state appropriately.
any ideas of why this could be happening?there was no real error code just unexpected behavior. it did not crash. I figured it out. it had to do with passing self as a parameter in out so that it keeps state
-
Create Synonym for Object Type not supported; Why?
Does anybody know the reason why Oracle does not support the creation of synonyms for object types?
In our application we use many schemas to separate subsystems. The schema name has a version identifier included to allow multiple product versions loaded in the database at the same time.
We reference objects between schemas by using synonyms, to avoid hardcoding the schema names.
Therefore I must refrain from using object types, currently.
Does anybody have such a multi-schema architecture, also?
What is your experience?
Thanks,
RobertRobert,
Type synonym is now supported in Oracle9i Release 2. The practice of using multi-schema architecture is an excellent practice for large applications. This provides a level of abstraction to simplify application maintenance, whihc you must have experienced. In conjuction with Object types, you can further simplify your application through reuse of user-defined types.
Do you have an email address that I can contact you for further discussion off-line.
Regards,
Geoff
Does anybody know the reason why Oracle does not support the creation of synonyms for object types?
In our application we use many schemas to separate subsystems. The schema name has a version identifier included to allow multiple product versions loaded in the database at the same time.
We reference objects between schemas by using synonyms, to avoid hardcoding the schema names.
Therefore I must refrain from using object types, currently.
Does anybody have such a multi-schema architecture, also?
What is your experience?
Thanks,
Robert -
Let me know creation of lock object
let me know creation of lock object
Hi
<b>Lock Objects</b>
Lock object concept
Lock modes
Creating a lock object (example)
Lock object sample code
SAP data dictionary provides you with a locking mechanism to synchronize simultaneous data access by different users.
Lock objects are created in SE11.
Customer lock objects must begin with EY or EZ .
Three possible lock modes exist for lock objects.
<b>Lock Mode</b>
Lock mode E: This sets a lock for changing data for single user. This lock can be accumulated.
Lock mode X: This mode is used like mode E for changing data. The only technical difference from mode E is that the respective lock does not allow accumulation.
Lock mode S: This mode ensures that data displayed in your program cannot be changed by other users during the entire display time. Here you do not want to change the data yourself (allows read only access for data).
<b>Creating Lock object</b>
SE11
1)Enter lock object name beginning with EY or EZ
and hit create.
2)Enter table names containing data records that should be locked and the lock mode.
Enter short text /tbale/lockmode.
3) The primary keys of the specified tables are automatically selected as lock parameters.
It automatically selects the primary key for the selected table.
To set a lock in the application program
call a function module ENQUEUE_<LOCK_OBJECT>.
For our example, it would be ENQUEUE_EZMARA.
To release the lock in the application program
call a function module DEQUEUE_<LOCK_OBJECT>.
For our example, it would be DEQUEUE_EZMARA.
Refer the code executed by user (say abap1) for
matnr = 000000000000000012.
Lock Objects are used to synchronize access to the same data by more than one user. Function modules that can be used in application programs are generated from the definition of a lock object in the ABAP Dictionary.
The R/3 System synchronizes simultaneous access of several users to the same data records with a lock mechanism. When interactive transactions are programmed, locks are set and released by calling function modules .These function modules are automatically generated from the definition of lock objects in the ABAP Dictionary.
Structure of a Lock Object
The tables in which data records should be locked with a lock request are defined in a lock object together with their key fields.
When tables are selected, one table (the primary table) is first selected. Further tables (secondary tables) can also be added using foreign key relationships.
Lock Arguments
The lock argument of a table in the lock object consists of the key fields of the table.
The lock argument fields of a lock object are used as input parameters in the function modules for setting and removing locks generated from the lock object definition. When these function modules are called, the table rows to be locked or
unlocked are specified by defining certain values in these fields.These values can also be generic. The lock argument fields therefore define which subset of the table rows should be locked
Data Dictionary/ Lock Objects
The simplest case of a lock object consists of exactly one table and the lock argument of the table is the primary key of this table. Several tables can also be included in a lock object. A lock request therefore can lock an entire logical
object, and not only a record of a table. Such a logical object can be for example a document comprising an entry in a header table and N entries in a positiontable.
Lock Mode
The lock mode controls whether several users can access data records at the same time. The lock mode can be assigned separately for each table in the lock object. When the lock is set, the corresponding lock entry is stored in the
lock table of the system for each table. Access by more than one user can be synchronized in the
following ways:
Exclusive lock: The locked data can only be displayed or
edited by a single user. A request for another exclusive lock
or for a
shared lock is rejected.
Shared lock: More than one user can access the locked data
at the same time in display mode. A request for another
shared lock is accepted, even if it comes from another user. An exclusive lock
is rejected. Exclusive but not cumulative: Exclusive locks can be requested
several times from the same transaction and are processed
successively. In contrast, exclusive but not cumulative locks
can be called only once from the same transaction. All other
lock requests are rejected.
1) Select object type Lock object in the initial screen of the ABAP Dictionary, enter an object name and choose Create. The name of a lock object should begin with an E (Enqueue).The maintenance screen for lock objects is displayed.
2) Enter an explanatory short text in the field Short text. You can then use the short text to find the lock object at a later time, for example with the R/3 Repository Information System.
3) Enter the name of the primary table of the lock object. All other tables in the lock object must be linked with the primary table using foreign keys.
4) Select the lock mode of the primary table in the field below it The lock mode is used as the default value for the corresponding parameters of the function modules generated from the lock object.
5) Choose Add if you want to lock records in more than one
table with the lock object. A list of all the tables linked with the primary table using valid foreign keys is displayed. Select the appropriate table. The lock
mode of the primary table is copied as lock mode. You can change this setting as required, for example you can assign the lock mode separately for each table.
Similarly, you can add a table linked with the secondary table just added with foreign keys. To do this, place the cursor on the name of the secondary table and choose Add.
If no lock mode is assigned to a table, no lock is set for the
entries in this table when the generated function modules are
called. You should not assign a lock mode if a secondary table
was only used to define a path between the primary table and
another secondary table with foreign keys.
6) Save your entries.
A dialog box appears in which you have to assign the lock
object a development class.
7) You can define whether the function modules generated from
the lock object should be RFC-enabled on the Attributes tab
page. If you set the Allow RFC flag, the generated function
modules can be called from within another system with Remote
Function Call. If you permit Remote Function Calls for an
existing lock object, you must ensure that the generated
function modules are called from within an ABAP program with
parameters appropriate for the type. You should therefore check
all programs that use the associated function modules before
activating the lock object with the new option.
8) Choose Activate
<b>Reward if u sefull</b> -
Event of delegeted Object type not showing up in event trace
Hi,
Please forgive me if this question has already been posted, I created a subtype for the object BUS2032 as ZSALESDOC and delegated the later the to the standard object type BUS2032 , but when i create a sales order it is not showing up in the event trace (TCODE : SWEL), only standard object type BUS2032 is showing up, and the ZSALESDOC object type's CREATED event is not showing up, Please i need inputs on any other thing i am missing out for delegating this object.
Regards
Narendiran RathinaveluHi
check whether you have done the following after delegation:
Event creation in status management(BSVW)
Press Customer settings
New entries
enter status(VBK) - Your copied object type ZSALESDOC
Status Restrictions
I00002 (syst Status) ..REL (released)..SAVE and see once again
Reward points if useful
Regards
Anji
Maybe you are looking for
-
Why can't I read a file with Hebrew on my iPod?
I recently purchased a new iPod (30GB, color, video) thinking I would be able to, among other things, see Hebrew song titles and read Hebrew files. I found a small patch that will let the iPod display Hebrew song titles and album names but it has no
-
cant download and install CS 5 reactivation . I have the serial number
-
Airport. Extreme and Mybook Studio Edition - what cable do I need.
I haven't had my Mybook external harddrive attached to our home network for over a year and now I can't remember how I did it. In fact, I can't even find a cable that would work! Is it possible to run a cable from the Airport extreme to the MyBook? O
-
How to make a text field smaller in size
Can I make a text field smaller in size (not just the length but also the height) depending on the font size eg 10px. Whatever font size I seem to use the text field stays the same size.
-
IR Report Freeze Column Header Row
In Interactive Report, Can we freeze the column header row ? This is a most wanted requirement asked by customers. More than 50 times requested in past month. Please help