How to pass MDM Record ID in Webdynpro to use in Guided Procedure
Hello Experts,
I am facing the following requirement. I Have two WebDynpro Screens calling an MDM Item Detail View.
I want to set up an easy process using Guided Procedure.
Therefore I need to pass an internal ID from Screen A (request) as an input Parameter for screen B (approve).
How can I handle this in my wrapper application? Is did not find any guides. You have some ideas?
I should throv an "saveRecord" Event containing this ID to a event listener (Screen B).
Sorry I am a beginner in WD :o)
Thanks in advance
Carsten
Hi,
You can try doing this way in the application
1. check if the record is checked out,
If yes, then get the original record id via the command RetrieveOriginalsByCheckoutRecordCommand.
else
You have the original record Id in hand.
Best Regards,
-Prashant.
Similar Messages
-
How to Return ten records into java class by using oracle stored procedure
Hello sir/Friends
There is a procedure that returns 10 records from the oracle table and i want to display all 10 records into the table in java class.
Please reply
Thanking you.When you execute the stored procedure it will return your results as a ResultSet. Iterate over itto get the values you need then do with them as you please.
List<MyObject> results = new ArrayList<MyObject>();
MyObject mo = null;
ResultSet rs = stmt.executeQuery("SELECT a_value FROM a_table");
while (rs.next())
mo = new MyObject();
mo.setValue(rs.getString(1));
results.add(mo);
} -
How to pass multiple records to target side using xquery
Hi Everybody,
I am using xquery transformation.
Input: Source payload contains 5 variables.
Target payload contains 5 variables.
I have input with payload with multiple instance like:
<Input>
<payload1>
<a>1<a>
<b>2<b>
<c>3<c>
<d>4<d>
<e>5<e>
</payload1>
<payload1>
<a>6<a>
<b>7<b>
<c>8<c>
<d>9<d>
<e>10<e>
</payload1>
</Input>
So my requirement is to pass above records into target side,
So I am using xquery Transformation.
I have written code as follows.
(:: pragma bea:global-element-parameter parameter="$tHRecAdv1" element="ns0:THRecAdv" location="../XMLSchemas/THRecAdv.xsd" ::)
(:: pragma bea:global-element-return element="ns1:ShipmentReceiptEBO" location="../../AIAReferenceModelProject/EnterpriseObjectLibrary/Core/EBO/ShipmentReceipt/V1/ShipmentReceiptEBO.xsd" ::)
declare namespace ns2 = "http://xmlns.oracle.com/EnterpriseObjects/Core/Custom/EBO/ShipmentReceipt/V1";
declare namespace ns1 = "http://xmlns.oracle.com/EnterpriseObjects/Core/EBO/ShipmentReceipt/V1";
declare namespace ns4 = "http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2";
declare namespace ns3 = "http://xmlns.oracle.com/EnterpriseObjects/Core/Custom/Common/V2";
declare namespace ns0 = "http://diversey.com/THRecAdv";
declare namespace xf = "http://tempuri.org/ShipmentReceiptServicesProject/XMLTransformations/THRecAdvFile_ShipmentReceiptEBO_JDE_XQuery/";
declare function xf:THRecAdvFile_ShipmentReceiptEBO_JDE_XQuery($tHRecAdv1 as element(ns0:THRecAdv))
as element(ns1:ShipmentReceiptEBO) {
for $THRecAdvFields in $tHRecAdv1/ns0:THRecAdvFields
return
<ns1:ShipmentReceiptEBO>
<ns4:Identification>
<ns4:BusinessComponentID>{ data($THRecAdvFields/ns0:JD_WHSE_Code) }</ns4:BusinessComponentID>
<ns4:ID schemeID = "{ (data($THRecAdvFields/ns0:JD_PO_Number)) }"
schemeVersionID = "{ data($THRecAdvFields/ns0:JD_PO_Type) }">{ data($THRecAdvFields/ns0:WMS_InternalPONumber) }</ns4:ID>
<ns4:ApplicationObjectKey>
<ns4:ID>{ data($THRecAdvFields/ns0:JD_BranchPlant) }</ns4:ID>
</ns4:ApplicationObjectKey>
<ns4:Revision>
<ns4:Reason>{ data($THRecAdvFields/ns0:ReturnReceiptReasonCode) }</ns4:Reason>
</ns4:Revision>
</ns4:Identification>
<ns1:ExpectedReceiptDate>{ data($THRecAdvFields/ns0:WMS_ReceiptDate) }</ns1:ExpectedReceiptDate>
<ns4:InvoiceReference>
<ns4:InvoiceIdentification>
<ns4:ID>{ data($THRecAdvFields/ns0:JDE_SupplierInvoiceNumber) }</ns4:ID>
</ns4:InvoiceIdentification>
</ns4:InvoiceReference>
<ns1:ShipmentReceiptLine actionCode = "{ data($THRecAdvFields/ns0:ActionFlag) }">
<ns4:Identification>
<ns4:ID schemeID = "{ data($THRecAdvFields/ns0:JD_PO_LineNumber) }"
schemeVersionID = "{ data($THRecAdvFields/ns0:ExternPONumber) }">{ data($THRecAdvFields/ns0:WMS_ReceiptNumber) }</ns4:ID>
<ns4:ContextID>{ data($THRecAdvFields/ns0:WMSReceivingClerk) }</ns4:ContextID>
<ns4:ApplicationObjectKey>
<ns4:ID schemeID = "{ data($THRecAdvFields/ns0:BatchNumber) }"
schemeVersionID = "{ data($THRecAdvFields/ns0:BatchLineNumber) }">{ data($THRecAdvFields/ns0:JD_LocationCode) }</ns4:ID>
</ns4:ApplicationObjectKey>
<ns4:AlternateObjectKey>
<ns4:ID>{ data($THRecAdvFields/ns0:SupplierCode) }</ns4:ID>
<ns4:ContextID>{ data($THRecAdvFields/ns0:LineNumber_Or_SequenceNumber) }</ns4:ContextID>
</ns4:AlternateObjectKey>
<ns4:Revision>
<ns4:Label>{ data($THRecAdvFields/ns0:Records) }</ns4:Label>
</ns4:Revision>
</ns4:Identification>
<ns1:ReceivedQuantity unitCode = "{ data($THRecAdvFields/ns0:ReceiptUOM) }">{ data($THRecAdvFields/ns0:UnitReceipt) }</ns1:ReceivedQuantity>
<ns1:SourceDocumentTypeCode>{ data($THRecAdvFields/ns0:SKU_Code) }</ns1:SourceDocumentTypeCode>
<ns1:DestinationTypeCode>{ data($THRecAdvFields/ns0:DestinationProcessFlag) }</ns1:DestinationTypeCode>
<ns1:Comment>{ data($THRecAdvFields/ns0:Remarks) }</ns1:Comment>
<ns4:Status>
<ns4:Code>{ data($THRecAdvFields/ns0:ProcessSourceFlag) }</ns4:Code>
<ns4:EffectiveDateTime>{ data($THRecAdvFields/ns0:ADDDATE) }</ns4:EffectiveDateTime>
</ns4:Status>
<ns1:ShipmentReceiptTransaction>
<ns1:ShipmentReceiptTransactionLot>
<ns1:ShipmentReceiptItemLotReference>
<ns1:ExpirationDate>{ data($THRecAdvFields/ns0:ExpiryDate) }</ns1:ExpirationDate>
<ns1:CreationDateTime>{ data($THRecAdvFields/ns0:ProductionDate) }</ns1:CreationDateTime>
</ns1:ShipmentReceiptItemLotReference>
</ns1:ShipmentReceiptTransactionLot>
</ns1:ShipmentReceiptTransaction>
</ns1:ShipmentReceiptLine>
</ns1:ShipmentReceiptEBO>
declare variable $tHRecAdv1 as element(ns0:THRecAdv) external;
xf:THRecAdvFile_ShipmentReceiptEBO_JDE_XQuery($tHRecAdv1)
But while importing this code to OSB,and tested it ,
With 1 payload it successfully shows the data in Target side,
But while testing with multiple line items,i am getting an error as follows.
*Error executing the XQuery transformation: line 14, column 17: {err}FORG0005: expected exactly one item, got 2+ items*
So please provide me the steps how to pass multiple records to target side using xquery.
Regards,
Jyoti NayakHi Jyoti Nayak,
You have to do something like the example bellow, you can not just repeat the inner element, you will need an outer "container" tag. So you will have to change the target element of your xq transformation.
declare function xf:setToList($set1 as element(ns0:set))
as element(ns0:list) {
<ns0:list>
for $pair in $set1/ns0:pair
return
<ns0:entry>
<ns0:key>{ data($pair/ns0:key) }</ns0:key>
<ns0:value>{ data($pair/ns0:value) }</ns0:value>
</ns0:entry>
</ns0:list>
Cheers,
Vlad
Give points - it is good etiquette to reward an answerer points (5 - helpful; 10 - correct) for their post if they answer your question. If you think this is helpful, please consider giving points -
How to pass a single quote in a URL using Javascript
Can someone tell me how to pass a single quote in a URL using Javascript. I have created a Javascript funciton in which I pass several column values from an APEX report.
The URL for the report link I am using is "JAVASCRIPT:passBack('#EMP_ID#','#Name#','#e-mail#')"
The problem occurs with the Name and e-mail columns contain a single quote (i.e. James O'Brien)Thank you Saad, that worked.
Since I built the report using type 'SQL Query (PL/SQL function fody returning SQL query)' I had to add some additional quotes to get it to work.
i.e.
replace(EMP_EMAIL_NAME,'''''''',''\'''''')
or
replace(EMP_EMAIL_NAME,chr(39),''\'''''')
Thanks for the help,
Jason -
How to pass xml data as objects into Database using store procedures
Hi All,
I don't have much knowledge on store procedure,can anybody help how to pass the xml as objects in Database using store procedure.
My Requirement is I have a table with three fields EMPLOYEE is table name and the fields are EMP_ID,EMP_TYPE AND EMP_DET,I have to insert the employees xml data into corresponding fields in the table.
Input Data
<ROWSET>
<ROW>
<EMP_ID>7000</EMP_ID>
<EMP_TYPE>TYPE1</EMP_TYPE>
<EMP_DET>DEP</EMP_DET>
<ROW>
<ROW>
<EMP_ID>7000</EMP_ID>
<EMP_TYPE>TYPE2</EMP_TYPE>
<EMP_DET>DEP2</EMP_DET>
<ROW>
<ROW>
<EMP_ID>7000</EMP_ID>
<EMP_TYPE>TYPE3</EMP_TYPE>
<EMP_DET>DEP3</EMP_DET>
<ROW>
<ROWSET>
So each row values has to inserted into resp fields in the table.
Regards
ManiDo you have a similar structure in your stored procedure ?
In that case you can simply call the procedure from soa using db adapter and do a mapping to assign the values. -
When I use MDM java api thruogh WebDynpro portal try to save a record to MDM, I got this error:
com.sap.internal.protocol.manual.ServerException: The selected node has children.
Any help will be appriciated.Jitesh:
thanks for your answer. It is great help.
Let me put this way, if that is the problems cause, this only happens for one category when I try to save. I can save records to other category through portal application. So it is not portal problem.
Then we come to MDM, how do I find out what is wrong with this category? Why other categories work and this one does not work?
How do I find out why I have reference to parent node instead of leaf node for this category?
What I can do in MDM side to find problem?
thanks,
Eric -
How to pass parameter /1BCDWB/DOCPARAMS from webdynpro?
Hi Experts,
We create a wdp view and indert an adobe form into it. And this form has an interface based on XML schema.
Now we want to translate this form into multi-language, and in wdp side, we will display diffenent language version of form for different regions.
I found that there is a paramater /1BCDWB/DOCPARAMS-LANGU, and it seems can control the language version in processing.
But I donot know how to pass parameter /1BCDWB/DOCPARAMS from wdp to adobe form.
Its my 1st to use adobe form and wdp, i really have no way out. Any advice will be Appreciated.
Thank you.
Richard@sahai: Hey no , I am using very very simple example without any query or complex statement. I just have 2 radio buttons in VIEW1. On clicking the radio button, the naviagtion to view2 is done and the value of selected radio button is passed as a parameter in the plug.
In the view2 , i just have a caption in my layout where i am displaying the parameter value by setting the attribute.THe warning i get is in view2. Here is the code. Apart from this there is no coding in view2.
METHOD HANDLEPLUG_IN_V2 .
DATA:
NODE_CAPT_MSG TYPE REF TO IF_WD_CONTEXT_NODE,
ELEM_CAPT_MSG TYPE REF TO IF_WD_CONTEXT_ELEMENT,
STRU_CAPT_MSG TYPE IF_VIEW2=>ELEMENT_CAPT_MSG ,
ITEM_MSG LIKE STRU_CAPT_MSG-MSG.
* navigate from <CONTEXT> to <CAPT_MSG> via lead selection
NODE_CAPT_MSG = WD_CONTEXT->GET_CHILD_NODE( NAME = `CAPT_MSG` ).
* get single attribute
NODE_CAPT_MSG->SET_ATTRIBUTE(
EXPORTING
NAME = `MSG`
VALUE = PAR_1 ).
ENDMETHOD. -
How to insert null record (some col) in table using loop
Hi,
How to insert null record (for some columns) in table using loop.
sample data of x_tab
order_id order_name
231 xxx
123
345
111 vvvv
Thanks,
Lakshman
Edited by: kolipaka on Jul 5, 2012 1:37 PMYou have a table
CREATE TABLE tab (
col1 NUMBER,
col2 NUMBER,
col3 NUMBER,
col4 NUMBER
col5 NUMBER)Now you insert:
INSERT INTO tab (col2, col4) VALUES (5, 7);col1, col3 and col5 are NULL by default (there is no DEFAULT clause for these columns so they are NULL). -
How can I update record in the block that Data Source is PROCEDURE?
I like use Procedure as the Data Source of block.It's very flexible.
Usually I do this only query the record,but now I must update record in the block that Data Source is Procedure.
What next step can I do?Can anyone offer some examples?
This is example, you goto
http://www.2shared.com/file/1923834/e0b65fb7/Example.html
Wait about 30 sec, Click "Save file to your PC: click here",and then you can download it.<p>I have written an article about some advanced Forms features.
Have a look at the 2.3.2 paragraph</p>
Francois -
How to get locked records of a pernr while using PNP LDB
is there any way to retrieve locked records of a pernr
while using PNP LDB??currently the get pernr event is unable to load locked records of a pernr.Hi,
PL use this piece of code in your Program..
INITIALIZATION.
PNP-SW-IGNORELOCKEDRECORDS = 'N'.
Regards,
Suresh Datti -
How to pass original Record ID of a checkedout Record to Web pane
Hi,
we have defined a web pane in MDM Data Manager to display the results of java program (servlet).
URL defined in console is
http://<App Server>:52000/auom/servlet/ACalculation?records=<r>
records=<r> sends record ID of the selected Record.
Refer to Creating web pane view and displaying web content in MDM Data Manager 5.5 SP3 for more details on it
<b> If the record selected is checked out by user, how can we send original Record ID in the URL? </b>
[ When a record is checked out MDM creates a duplicate record and allows user to update duplicate record, original record is locked. Record IDs of these two are different ]
Regards
ShivaHi,
You can try doing this way in the application
1. check if the record is checked out,
If yes, then get the original record id via the command RetrieveOriginalsByCheckoutRecordCommand.
else
You have the original record Id in hand.
Best Regards,
-Prashant. -
How to pass Single record set out to another Procedure in a LOOP
In my complete Order lines FOR LOOP, I want to pass one line out to call another program to perform the insert or update action. How to write
PROCEDURE order_line_process
p_username IN VARCHAR2,
p_id IN OUT NUMBER,
my_orderdtl_tbl IN OUT my_orderdtl_tbl_type
) IS
BEGIN
FOR x IN 1 .. my_orderdtl_tbl.count LOOP
IF my_orderdtl_tbl(x).update_flag = 'I' THEN
order_line_insert(p_username => p_username,
p_id => p_id,
my_orderdtl_tbl => my_orderdtl_tbl(x)); --- how do I pass only one line info here? Do I have to assign/pass all column?
END IF;
END LOOP;
END order_line_process;ThanksMy example still works:
SQL> create or replace package test2 is
2 type my_orderdtl_rec_type is record (a number,b varchar2(10),update_flag char(1));
3 type my_orderdtl_tbl_type is table of my_orderdtl_rec_type index by binary_integer;
4 end;
5 /
Package created.
SQL> create or replace procedure order_line_insert(p_user varchar2, p_id number, my_orderdtl_tbl test2.my_orderdtl_rec_type) is
2 begin
3 null;
4 end;
5 /
Procedure created.
SQL> create or replace PROCEDURE order_line_process
2 (
3 p_username IN VARCHAR2,
4 p_id IN OUT NUMBER,
5 my_orderdtl_tbl IN OUT test2.my_orderdtl_tbl_type
6 ) IS
7 BEGIN
8
9 FOR x IN 1 .. my_orderdtl_tbl.count LOOP
10 IF my_orderdtl_tbl(x).update_flag = 'I' THEN
11 order_line_insert(p_username,
12 p_id,
13 my_orderdtl_tbl(x));
14 END IF;
15
16 END LOOP;
17
18 END order_line_process;
19 /
Procedure created.But if you're using the following syntax to pass parameters:
SQL> create or replace PROCEDURE order_line_process
2 (
3 p_username IN VARCHAR2,
4 p_id IN OUT NUMBER,
5 my_orderdtl_tbl IN OUT test2.my_orderdtl_tbl_type
6 ) IS
7 BEGIN
8
9 FOR x IN 1 .. my_orderdtl_tbl.count LOOP
10 IF my_orderdtl_tbl(x).update_flag = 'I' THEN
11 order_line_insert(p_username => p_username,
12 p_id,
13 my_orderdtl_tbl(x));
14 END IF;
15
16 END LOOP;
17
18 END order_line_process;
19 /
Warning: Procedure created with compilation errors.
SQL> sho err
Errors for PROCEDURE ORDER_LINE_PROCESS:
LINE/COL ERROR
11/7 PL/SQL: Statement ignored
11/7 PLS-00306: wrong number or types of arguments in call to
'ORDER_LINE_INSERT'Dublecheck the parameters name in the order_line_insert procedure
SQL> create or replace PROCEDURE order_line_process
2 (
3 p_username IN VARCHAR2,
4 p_id IN OUT NUMBER,
5 my_orderdtl_tbl IN OUT test2.my_orderdtl_tbl_type
6 ) IS
7 BEGIN
8
9 FOR x IN 1 .. my_orderdtl_tbl.count LOOP
10 IF my_orderdtl_tbl(x).update_flag = 'I' THEN
11 order_line_insert(p_user => p_username, -- THE ERROR WAS HERE!!! CORRECT PARAMETER NAME IS P_USER
12 p_id => p_id,
13 my_orderdtl_tbl => my_orderdtl_tbl(x));
14 END IF;
15
16 END LOOP;
17
18 END order_line_process;
19 /
Procedure created.Max
http://oracleitalia.wordpress.com -
How to pass selected records from one table to another ?
Hi,
In my view i have designed a table with certain records. I need to pass only specific records of this table to another table which been designed in another view. Can anybody please give sum idea for this.
Rgds
Sudhanshuhi,
Refer the below code:
1. I have selected some data from the table.
2. The selected data is moved to some other internal table.
3. Internal table is further binded to the node in which data is to be shown.
data : lo_nd type ref to if_wd_context_node,
lo_nd1 type ref to if_wd_context_node,
lt_temp type wdr_context_element_set,
wa_temp type ref to if_wd_context_element,
ls_node1 type sflight,
lt_node1 type STANDARD TABLE OF sflight.
lo_nd = wd_context->get_child_node('CN_MAIN'). <CN_MAIN is my node>
CALL METHOD lo_nd->get_selected_elements <here selected data is moved to lt_temp>
RECEIVING
set = lt_temp.
loop at lt_temp INTO wa_temp.
CALL METHOD wa_temp->get_static_attributes
IMPORTING
static_attributes = ls_node1. <Selected data in work area.>
APPEND ls_node1 TO lt_node1. < Data moved to internal Table>
CLEAR ls_node1.
ENDLOOP.
Finally Internal table is binded to the node required.
lo_nd1 = wd_context->get_child_node('CN_MAIN2').
lo_nd1->bind_table( lt_node1 ).
In your case , map this CN_MAIN2 with the Component Controller and from component controller you can access data in your second view also.
I hope it helps.
Thanx.
Saurav. -
How to pass multiple records to stored procedure??
Hi,
Can a web application call stored procedure (could be JDBC call)with resultset as it's input parameter? I'm sure there has to be some way to deal with this and I will appreciate your feedback. The web page has multiple records in tabular format and submit should save each record. Is it possible to pass all the records at once through resultset instead of calling stored procedure for each one?
I'm thinking to use cursor variable as a input parameter of a stored procedure. But I'm not sure whether stored procedure can open/fetch this cursor variable into record structure. Here's the sample example of cursor variable definition.
TYPE EmpRecTyp IS RECORD (
emp_id NUMBER(4),
emp_name VARCHAR2(10),
job_title VARCHAR2(9),
dept_name VARCHAR2(14),
dept_loc VARCHAR2(13));
TYPE EmpCurTyp IS REF CURSOR RETURN EmpRecTyp;
PROCEDURE save_staff (emp_cv IN EmpCurTyp);
Thanks for your help.
HemalYou can't pass in a result set, but you can make each parameter a PL/SQL table.
Since you also can't pass in a PL/SQL table of records, I typically create a parameter for each "field", with each parameter containing one or more elements. You can then use bulk binding to process the tables in one statement. -
How to store multiple records for one master reocrd using sequnce
dear,
my question is in one form i have master block f and detail block.
my question is i created one sequence and assign to master table. but i dont know how to assign that sequence to multiple record in detail table for that particular master record. i got lots of answer previously but i m not getting exactly.pls tell me full procedure otherwise gv me one demo application
NOTe: the sequnce is created after master record commiting to database.
PLS pls help me
Thanks
dambyi did not get answer pls help me.
Maybe you are looking for
-
I've had this 13 Inch Macbook Pro complete with the Lion since October 2011. I've been having trouble with the internet connection. I keep getting 'unable to connect to the internet' or 'website unavaiable'. We have a brand new router, so we know for
-
I have just moved and have already matched a myriad of cables to peripherals.....however, the only power cord that is not clear is the one to my Photosmart 6520 printer. I think I was expecting a typical power cable with an inline AC adapter (like fo
-
I am creating an animation of a screw with a key on the top of it rotating. The only part of the screw that will appear to rotate will be the key on the top moving around the screw. I clicked on the 3D box to get the z axis rotation. I then changed t
-
Help with program plz (long code)
anyone know how i can fix these 2 errors: Driver2.java:47: code is already defined in main(java.lang.String[]) String code = JOptionPane.showInputDialog( ^ Driver2.java:51: incompatible types found : java.lang.String required: int int val = bc.getCod
-
Got an ipad2 for my sons B-Day- do I need to charge it prior to giving it to him?
Does it come charged or does it need to be fully charged before it's first use?