Sending multiple records to WebSerivce datacontrol
hi,
i need to send an array of complex type of objects to webservice in ADF mobile.
i read the following,
http://docs.oracle.com/cd/E38668_01/apirefs.111230/e27204/oracle/adfmf/framework/api/AdfmfJavaUtilities.html#invokeDataControlMethod_java_lang_String__java_lang_String__java_lang_String__java_util_List__java_util_List__java_util_List_
here is what i am doing-
i have multiple employee records in a dept.
when i click a button, i want to send all the employee records in the sqllite db in the mobile device for a dept at once.
for that i have a webservice data control and in there i have a method which takes a parameter of List type.
how to use GenericTypeBeanSerializationHelper.toGenericType for sending the List type of parameters?
regards,
ad
below URL explains about sending a single record,
https://blogs.oracle.com/blueberry/entry/adf_mobile_and_sdo_making
how to send multiple records with a single call to webservice method?
regards,
ad
Similar Messages
-
How to send multiple records in file2file and file2db or all scenarios//
I'm able to send single record for file2file and file2db,
how to send multiple records in file2file and file2db or all scenarios//
what should add or make changes for dis.1 put Occurance 1 to Unbounded in data type of IR
2 In the test tag of message mappings in IR,select one node and use "duplicate subtree" in its context menu
After that,you can download the test data in XML format with the button "save document source"
for example:
<?xml version="1.0" encoding="UTF-8" ?>
- <ns0:ZFileDemo xmlns:ns0="http://hand-china.com/mm/po_01">
- <Item>
<ItemNo>1</ItemNo>
<Matnr>2</Matnr>
<Text>3</Text>
</Item>
- <Item>
<ItemNo>4</ItemNo>
<Matnr>5</Matnr>
<Text>6</Text>
</Item>
</ns0:ZFileDemo> -
Send multiple records in Email
I use BPEL 11g to send an email notification, I retrieve the data from a table which returns multiple records to the db adapter.
I have to send all the records in the Email body. How do I do this ?
The following is the payload I see, But I dont see any content in the email that I receive.
Thanks for your help !
<ReplyToAddress/>
<Subject>Selected Rows !</Subject>
<Content>
<MimeType>text/html; charset=UTF-8</MimeType>
<ContentBody>
<TestTab1>
<col1>2</col1>
<col2>REI</col2>
<col3>SantaClara</col3>
</TestTab1>
<TestTab1>
<col1>1</col1>
<col2>REI</col2>
<col3>SanJose</col3>
</TestTab1>
</ContentBody>
<ContentEncoding/>
</Content>
<Cc/>
<Bcc/>
<NotificationContext/>I appreciate your quick response . Here is what I am doing in the transform .
<xsl:template match="/">
<client:processResponse>
<xsl:variable name="Temp">""</xsl:variable>
<xsl:for-each select="/ns0:TestTab1Collection/ns0:TestTab1">
<xsl:variable name="Temp" select="concat(ns0:col3,$Temp)"/>
<client:result>
<xsl:value-of select="$Temp"/>
</client:result>
</xsl:for-each>
</client:processResponse>
</xsl:template>
</xsl:stylesheet>
The output payload is as follows : ( SantaClara is returned as 1st record and SanJose is returned as second record from the db adapter)
<outputVariable>
<part name="payload">
<processResponse>
<client:result>SantaClara""</client:result>
<client:result>SanJose""</client:result>
</processResponse>
</part>
</outputVariable>
But I want
<outputVariable>
<part name="payload">
<processResponse>
<client:result>SantaClara SanJose</client:result>
</processResponse>
</part>
</outputVariable>
And I am trying to send SantaClara SanJose in the email body.
Thanks for your help. -
Send multiple records to rfc without using BPM
Dear Experts,
Could you please help on the following scenario.
I need to send multiple customer master data records from a file to rfc without using BPM.
The following is the mapping i am using
source Target( RFC)
====== =============
Tree occurance type Tree occurance
cust_mt 1..1
customer 0..unbound -
> ztest_cust( rfc ) 1..1
cname 1..1 -
> cname 0..1
cno 1..1 -
> cno 0..1
bank -
> bank 0..1
item : 0..unbound
code -
> code 0..1
name -
> name 0..1
location -
> location 0..1
1. Multiple banks possible for one customer
2. Multiple customers possible in datafile from mdm
Problem 1:Only one customer record from file is being sent to RFC thouth many records are in the file, the second, third .. and so on records not being sent to rfc.
Problem 2:
if add o.. unbound for the rfc occurance, <messages>,<message1> tags are getting added in message mapping, and no single customer record sent to rfc..
Your help is rewarded with good points.
Appreciate your help.
Thanks.
sravya.Hi VJ,
Thank you for the immediate reply.
one more thing, when i tried to change the occurences of ztest_cust( rfc) to 0..unbound,
I am not seeing the occurances updated in the imported rfc structure.
The following is the wsdl for rfc, could you please help me to add occurances 0..unbound.
Thanks a lot.
sraya.
<?xml version="1.0" encoding="ISO-8859-1"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:rfc="urn:sap-com:document:sap:rfc:functions" name="ZTEST_CUST" targetNamespace="urn:sap-com:document:sap:rfc:functions">
<wsdl:documentation>
test for mdm
</wsdl:documentation>
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:sap-com:document:sap:rfc:functions" targetNamespace="urn:sap-com:document:sap:rfc:functions">
<xsd:element name="ZTEST_CUST">
<xsd:complexType>
<xsd:all>
<xsd:element name="CNAME" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="10" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CNO" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="10" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="BANK" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="item" type="ZST_CUST" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="ZTEST_CUST.Response">
<xsd:complexType>
<xsd:all>
<xsd:element name="BANK" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="item" type="ZST_CUST" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="ZST_CUST">
<xsd:sequence>
<xsd:element name="CODE" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="60" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="NAME" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="60" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="LOCATION" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="60" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<wsdl:message name="ZTEST_CUST.Input">
<wsdl:part name="parameters" element="rfc:ZTEST_CUST" />
</wsdl:message>
<wsdl:message name="ZTEST_CUST.Output">
<wsdl:part name="parameters" element="rfc:ZTEST_CUST.Response" />
</wsdl:message>
<wsdl:portType name="ZTEST_CUST.PortType">
<wsdl:operation name="ZTEST_CUST">
<wsdl:input message="rfc:ZTEST_CUST.Input" />
<wsdl:output message="rfc:ZTEST_CUST.Output" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ZTEST_CUST.SAPBinding" type="rfc:ZTEST_CUST.PortType">
<rfc:binding style="rfc" />
<rfc:type name="ZST_CUST">
<ifr:container xmlns:ifr="urn:sap-com:ifr:v2:metamodel" xmlns:xlink="http://www.w3.org/1999/xlink">
<ifr:descriptor>
<ifr:description language="EN">
test
</ifr:description>
</ifr:descriptor>
<ifr:properties>
<ifr:sourceSystem />
<ifr:sourceClient>
020
</ifr:sourceClient>
<ifr:release>
640
</ifr:release>
<ifr:category>
structure
</ifr:category>
<ifr:unicode1>
true
</ifr:unicode1>
<ifr:unicode2>
true
</ifr:unicode2>
<ifr:isFlatStructure>
true
</ifr:isFlatStructure>
</ifr:properties>
<ifr:definition>
<ifr:internalLength1>
180
</ifr:internalLength1>
<ifr:internalLength2>
360
</ifr:internalLength2>
<ifr:fields>
<ifr:field name="CODE" category="simple">
<ifr:descriptor />
<ifr:properties>
<ifr:helpValuesSupported>
false
</ifr:helpValuesSupported>
<ifr:offset1>
0
</ifr:offset1>
<ifr:offset2>
0
</ifr:offset2>
</ifr:properties>
<ifr:definition>
<ifr:scalarType>
<ifr:definition>
<ifr:type>
CHAR
</ifr:type>
<ifr:abapType>
C
</ifr:abapType>
<ifr:length>
60
</ifr:length>
<ifr:internalLength1>
60
</ifr:internalLength1>
<ifr:internalLength2>
120
</ifr:internalLength2>
<ifr:decimals>
0
</ifr:decimals>
</ifr:definition>
</ifr:scalarType>
</ifr:definition>
</ifr:field>
<ifr:field name="NAME" category="simple">
<ifr:descriptor />
<ifr:properties>
<ifr:helpValuesSupported>
false
</ifr:helpValuesSupported>
<ifr:offset1>
60
</ifr:offset1>
<ifr:offset2>
120
</ifr:offset2>
</ifr:properties>
<ifr:definition>
<ifr:scalarType>
<ifr:definition>
<ifr:type>
CHAR
</ifr:type>
<ifr:abapType>
C
</ifr:abapType>
<ifr:length>
60
</ifr:length>
<ifr:internalLength1>
60
</ifr:internalLength1>
<ifr:internalLength2>
120
</ifr:internalLength2>
<ifr:decimals>
0
</ifr:decimals>
</ifr:definition>
</ifr:scalarType>
</ifr:definition>
</ifr:field>
<ifr:field name="LOCATION" category="simple">
<ifr:descriptor />
<ifr:properties>
<ifr:helpValuesSupported>
false
</ifr:helpValuesSupported>
<ifr:offset1>
120
</ifr:offset1>
<ifr:offset2>
240
</ifr:offset2>
</ifr:properties>
<ifr:definition>
<ifr:scalarType>
<ifr:definition>
<ifr:type>
CHAR
</ifr:type>
<ifr:abapType>
C
</ifr:abapType>
<ifr:length>
60
</ifr:length>
<ifr:internalLength1>
60
</ifr:internalLength1>
<ifr:internalLength2>
120
</ifr:internalLength2>
<ifr:decimals>
0
</ifr:decimals>
</ifr:definition>
</ifr:scalarType>
</ifr:definition>
</ifr:field>
</ifr:fields>
</ifr:definition>
</ifr:container>
</rfc:type>
<wsdl:operation name="ZTEST_CUST">
<ifr:container xmlns:ifr="urn:sap-com:ifr:v2:metamodel" xmlns:xlink="http://www.w3.org/1999/xlink">
<ifr:descriptor>
<ifr:description language="EN">
test for mdm
</ifr:description>
</ifr:descriptor>
<ifr:properties>
<ifr:sourceSystem />
<ifr:sourceClient>
020
</ifr:sourceClient>
<ifr:release>
640
</ifr:release>
<ifr:package>
$TMP
</ifr:package>
<ifr:akhNode />
<ifr:released>
external
</ifr:released>
<ifr:outbound>
false
</ifr:outbound>
<ifr:synchronous>
true
</ifr:synchronous>
<ifr:asynchronous>
false
</ifr:asynchronous>
<ifr:unicode1>
true
</ifr:unicode1>
<ifr:unicode2>
true
</ifr:unicode2>
</ifr:properties>
<ifr:definition>
<ifr:parameters>
<ifr:parameter name="CNAME">
<ifr:descriptor>
<ifr:description language="EN">
Character Field Length = 10
</ifr:description>
</ifr:descriptor>
<ifr:definition>
<ifr:scalarType name="CHAR10">
<ifr:properties>
<ifr:helpValuesSupported>
false
</ifr:helpValuesSupported>
<ifr:fixedValuesListDefined>
false
</ifr:fixedValuesListDefined>
<ifr:mixedCaseSupported>
false
</ifr:mixedCaseSupported>
<ifr:signedNumber>
false
</ifr:signedNumber>
</ifr:properties>
<ifr:definition>
<ifr:type>
CHAR
</ifr:type>
<ifr:abapType>
C
</ifr:abapType>
<ifr:length>
10
</ifr:length>
<ifr:internalLength1>
10
</ifr:internalLength1>
<ifr:internalLength2>
20
</ifr:internalLength2>
<ifr:decimals>
0
</ifr:decimals>
<ifr:outputLength>
10
</ifr:outputLength>
</ifr:definition>
</ifr:scalarType>
</ifr:definition>
<ifr:properties>
<ifr:direction>
in
</ifr:direction>
<ifr:class>
import
</ifr:class>
<ifr:type>
scalar
</ifr:type>
<ifr:optional>
true
</ifr:optional>
<ifr:basedOnDictionaryReference>
true
</ifr:basedOnDictionaryReference>
</ifr:properties>
</ifr:parameter>
<ifr:parameter name="CNO">
<ifr:descriptor>
<ifr:description language="EN">
Character Field Length = 10
</ifr:description>
</ifr:descriptor>
<ifr:definition>
<ifr:scalarType name="CHAR10">
<ifr:properties>
<ifr:helpValuesSupported>
false
</ifr:helpValuesSupported>
<ifr:fixedValuesListDefined>
false
</ifr:fixedValuesListDefined>
<ifr:mixedCaseSupported>
false
</ifr:mixedCaseSupported>
<ifr:signedNumber>
false
</ifr:signedNumber>
</ifr:properties>
<ifr:definition>
<ifr:type>
CHAR
</ifr:type>
<ifr:abapType>
C
</ifr:abapType>
<ifr:length>
10
</ifr:length>
<ifr:internalLength1>
10
</ifr:internalLength1>
<ifr:internalLength2>
20
</ifr:internalLength2>
<ifr:decimals>
0
</ifr:decimals>
<ifr:outputLength>
10
</ifr:outputLength>
</ifr:definition>
</ifr:scalarType>
</ifr:definition>
<ifr:properties>
<ifr:direction>
in
</ifr:direction>
<ifr:class>
import
</ifr:class>
<ifr:type>
scalar
</ifr:type>
<ifr:optional>
true
</ifr:optional>
<ifr:basedOnDictionaryReference>
true
</ifr:basedOnDictionaryReference>
</ifr:properties>
</ifr:parameter>
<ifr:parameter name="BANK">
<ifr:descriptor>
<ifr:description language="EN">
test bank type
</ifr:description>
</ifr:descriptor>
<ifr:definition>
<ifr:complexType xmlns:xlink="http://www.w3.org/1999/xlink" name="ZST_CUST" type="structure" xlink:role="type" xlink:href="/Content?TYPE=type&NAME=ZST_CUST" />
</ifr:definition>
<ifr:properties>
<ifr:direction>
inout
</ifr:direction>
<ifr:class>
tables
</ifr:class>
<ifr:type>
structure
</ifr:type>
<ifr:optional>
true
</ifr:optional>
<ifr:basedOnDictionaryReference>
true
</ifr:basedOnDictionaryReference>
</ifr:properties>
</ifr:parameter>
</ifr:parameters>
</ifr:definition>
</ifr:container>
</wsdl:operation>
</wsdl:binding>
</wsdl:definitions> -
When doing a post to a rest service is it possible to send multiple records in json
Hi I'm trying to develop my first web service and I'm not sure I'm in the correct place. I'm using Oracle application express 4.2.2. on oracle 11g. I followed this example Creating and Using RESTful Web Service in Application Express 4.2 and used java as the client to connect to the web service. I change my employee record to have forename,surname, address1. This is working fine for me. However I need to be able to post complex multiple records to the web service in one call to the web service.
e.g. in the example it sends
{"forename","john":"surname","smith":"address1":"first address line"}
What I would like to send is something like this.
"employees" : [{"forename":"john","surname":"smith","address1":"first address line"},{"forename":"Dave","surname":"Jones","address1":"first address line"}]
Is this possible.
Thanks
Anthonyhi:
you can edit the URI template like below
promotionlist/{accnt_price_id},{addr_row_id}
then you can post multi parameters to Web Service. -
Sending multiple records one by one
Hello friends,
the source file data :
+abcd
++item
+++000|ZCQ|0000100013|0000100013|0000100013|
+++001|12345||1|45DB011B-CC|45DB011B-CC||100|
+++002|12345||1|45DB011B-CC|45DB0|11B-CC||100|
the target side data should be
+RFC
++<seg1>
+++<item>
++++data
++<seg2>
+++<item>
++++000|ZCQ|0000100013|0000100013|0000100013|
++<seg2>
+++<item>
++++001|12345||1|45DB011B-CC|45DB011B-CC||100|
++<seg2>
+++<item>
++++002|12345||1|45DB011B-CC|45DB0|11B-CC||100|
FCC parameters given :
ignoreRecordset:true
endseperator : nl
please help me how do I do this?Hi,
In FCC Parameters u will to give recordsetPermesage value 1.If u give it is * then it will pick all the messages at atime.
/people/venkat.donela/blog/2005/03/02/introduction-to-simplefile-xi-filescenario-and-complete-walk-through-for-starterspart1
/people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2
/people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
/people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file
/people/shabarish.vijayakumar/blog/2005/08/17/nab-the-tab-file-adapter
/people/venkat.donela/blog/2005/03/02/introduction-to-simplefile-xi-filescenario-and-complete-walk-through-for-starterspart1
/people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2
/people/venkat.donela/blog/2005/06/08/how-to-send-a-flat-file-with-various-field-lengths-and-variable-substructures-to-xi-30
/people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file
/people/shabarish.vijayakumar/blog/2005/08/17/nab-the-tab-file-adapter
/people/jeyakumar.muthu2/blog/2005/11/29/file-content-conversion-for-unequal-number-of-columns
/people/shabarish.vijayakumar/blog/2006/02/27/content-conversion-the-key-field-problem
/people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter
/people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm
Check Above links for FCC.
Regards,
Phani
Reward points if Helpful -
Multiple records as a single transaction in JDBC Receiver Adapter
Hi,
I am sending multiple records in a single message to a JDBC receiver adapter to get updated to the database. How to make all the insert a single transaction. Like all the records has to be inserted else all has to be rolled back.
For eg for table Employee two fields EMPNO and EMPNAME
EMPNO EMPNAME
1 Jay
2 Christie
These two records are in the same message and has to be updated
if one fails the other has to be rolled back.
How can i achieve it using a JDBC Receiver Adapter.
Thanks
SebinHi Rolf Micus,
My xml structure to insert 2 tables are as follow:-
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_PODB xmlns:ns0="http://abeam.com/xi/fer_filejdbc_scenarios1">
.. <STATEMENT_HEADER>
.... <ROW action="INSERT">
...... <TABLE>ZPO_HEADER</TABLE>
...... <access>
........ <PONUMBER>001</PONUMBER>
........ <PODATE>20070801</PODATE>
........ <POAMOUNT>200.99</POAMOUNT>
.... </access>
.... </ROW>
.. </STATEMENT_HEADER>
.. <STATEMENT_DETAIL>
.... <ROW action="INSERT">
...... <TABLE>ZPODETAIL</TABLE>
...... <access>
........ <PONUMBER>001</PONUMBER>
........ <PONO>1</PONO>
........ <POITEMCODE>A12345</POITEMCODE>
........ <POITEMDESC>Testing A</POITEMDESC>
........ <POITEMAMOUNT>2990.00</POITEMAMOUNT>
........ <POITEMQTY>55</POITEMQTY>
...... </access>
.... </ROW>
.. </STATEMENT_DETAIL>
</ns0:MT_PODB>
Fro the structure that you have declared..there is only contained 1 statement, try to admend your MT to have 2 statements.
If you wish to insert multiple records, just create a loop/multiple of access tag inside STATEMENT tag. For example, multiple records insert into Header should have multiple access tag in Header STATEMENT. Same goes for muliple records insert into Details STATEMENT should have multiple access tag in Details STATEMENT.
With this structure, whenever any records insert/update/delete failed...it will rollback all the transactions together, ie. Header and Details.
PS: For different table, please create different STATEMENT.
Hope it helps.
Message was edited by: Pua Ming Fei -
Sending multi records as response from DB adapter
Hi all,
Thanks in advance.
Using DB adapter how to send multiple records as a response. for ex. i am querying by the deptno 10, i will get
4 records i want to send these 4 records as response.
thanx
pudurHi Pudur,
I am assuming that you are using 11g stack. Please go through below link to know more about DB adapter and it's implementaion in BPEL -
http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10231/adptr_db.htm#BDCGADFJ
http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10224/bp_gsbpel.htm#BEIHEBGD (section 4.5 Introduction to Technology Adapters)
For further queries you may raise thread in BPEL forum -
BPEL
Regards,
Anuj -
Calling multiple records from SP
Hi,
I tried to use a CallabaleStatement to call an SP that would return multiple records but wasn't successful.
The Problem is the 'cstmt.executeQuery()' statement returns NULL. How to solve this?
I have tested the SP and it works fine. Pls help! And thanks. (Btw, I am using JDBC:ODBC driver and accessing Oracle database.)
Below are the methods that I used to set the IN parameters and the methods I used to register OUT parameters:-
ResultSet rs = null;
//call to the SP.
CallableStatement cstmt = con.prepareCall("{ call artmovby_date (?,?,?,?,?,?) }");
//based on the SP, the following set methods are used.
cstmt.setInt (1, pLanguage);
cstmt.setString (2, pCustomerCode);
cstmt.setString (3, pStartDate);
cstmt.setString (4, pEndDate);
//based on the SP, the following are the JDBC
// types registered for OUT parameters
cstmt.registerOutParameter(5, java.sql.Types.NUMERIC, 0);
cstmt.registerOutParameter(6, java.sql.Types.OTHER);
//using executeQuery since the SP
//contains 'select' statement only.
try { rs = cstmt.executeQuery(); } catch (Exception e) { e.printStackTrace(); }
Below is the information of the package and SP created in the database:-
CREATE OR REPLACE PACKAGE FetchData is
-- The purpose of the package is just define the recordset.
Define Record Types
TYPE ArtMoveOneRecTyp is RECORD
( Article SDGPOS.ARTNR%TYPE,
Shipment_No SDGPOS.SDGNR%TYPE,
Customer_Ref SDGPOS.KUNDENREF%TYPE,
Shipment_Date SDG.BELDATUM%TYPE,
In_Or_Out SDGPOS.FUNKTION%TYPE,
Quantity1 SDGPOSMG.MENGE%TYPE,
Quantity2 SDGPOSMG.MENGE%TYPE,
LineNr SDGPOS.NR%TYPE,
UnitLoad1 SDGPOSMG.RANG%TYPE,
UnitLoad2 SDGPOSMG.RANG%TYPE);
-- Define PL/SQL Table --
TYPE ArtMoveRecTyp IS TABLE OF ArtMoveOneRecTyp
INDEX BY BINARY_INTEGER;
END FetchData;
create or replace procedure artmovby_date
language IN number,
customerid IN varchar2,
startdate IN varchar2,
enddate IN varchar2,
p_size out number,
p_array out FetchData.ArtMoveRecTyp
) is
cursor get_art_mov_by_date
(p_language number,
p_customerid varchar,
p_startdate varchar,
p_enddate varchar) is
SELECT P.ARTNR, P.SDGNR, P.KUNDENREF, SDG.BELDATUM, P.FUNKTION,
M1.MENGE, M2.MENGE, P.NR, M1.RANG, M2.RANG
FROM
SDG,
SDGPOS P,
SDGPOSSTATUS S,
STATI_TEXTE ST,
ARTIKEL A,
LHM,
LHMTEXTE L,
MONITURENST MO, MONITURENTEXTE MOT,
SDGPOSMG M1, ARTMENGENEINH AE1, EINHEITENTEXTE E1,
SDGPOSMG M2, ARTMENGENEINH AE2, EINHEITENTEXTE E2
WHERE
P.KUNDENNR = S.KUNDENNR(+)
AND P.FUNKTION = S.FUNKTION(+)
AND P.SDGNR = S.SDGNR(+)
AND P.NR = S.SDGPOSNR(+)
AND 'J' = S.AKTIV(+)
AND 'SDGPOS' = ST.TYP(+)
AND p_language = ST.SPRACHE(+)
AND S.STATUS = ST.STATUS(+)
AND S.FUNKTION = ST.FUNKTION(+)
AND P.KUNDENNR = A.KUNDENNR(+)
AND P.ARTNR = A.NR(+)
AND P.LHMNR = LHM.NR(+)
AND P.LHM = L.NR(+)
AND p_language = L.SPRACHE(+)
AND P.MONITUR = MO.NR(+)
AND MO.NR = MOT.NR(+)
AND p_language = MOT.SPRACHE(+)
AND P.KUNDENNR = M1.KUNDENNR(+)
AND P.FUNKTION = M1.FUNKTION(+)
AND P.SDGNR = M1.SDGNR(+)
AND P.NR = M1.SDGPOSNR(+)
AND 1 = M1.RANG(+)
AND P.KUNDENNR = AE1.KUNDENNR(+)
AND P.ARTNR = AE1.ARTNR(+)
AND 1 = AE1.RANG(+)
AND AE1.MGEHNR = E1.NR(+)
AND p_language = E1.SPRACHE(+)
AND P.KUNDENNR = M2.KUNDENNR(+)
AND P.FUNKTION = M2.FUNKTION(+)
AND P.SDGNR = M2.SDGNR(+)
AND P.NR = M2.SDGPOSNR(+)
AND 2 = M2.RANG(+)
AND P.KUNDENNR = AE2.KUNDENNR(+)
AND P.ARTNR = AE2.ARTNR(+)
AND 2 = AE2.RANG(+)
AND AE2.MGEHNR = E2.NR(+)
AND p_language = E2.SPRACHE(+)
AND SDG.NR = P.SDGNR(+)
AND SDG.KUNDENNR = P.KUNDENNR(+)
AND SDG.FUNKTION = P.FUNKTION
AND ( P.KUNDENNR = p_customerid )
AND ( SDG.BELDATUM BETWEEN TO_DATE( p_startdate ,'DD/MM/YYYY' )
AND TO_DATE( p_enddate , 'DD/MM/YYYY' ))
AND S.STATUS >= 35
ORDER BY P.ARTNR ASC, SDG.BELDATUM ASC;
begin
p_size :=0;
open get_art_mov_by_date (language, customerid, startdate, enddate);
loop
fetch get_art_mov_by_date into p_array(p_size);
exit when get_art_mov_by_date%NOTFOUND;
p_size := p_size +1;
end loop;
close get_art_mov_by_date;
end;
/like for other structure we set occurence as 0 to unbound if we wanna send multiple messages ...
If you want to send multiple records u r occurence must be 0 to unbound in RFC also..
check that for your RFC ?
Regards
Rao
Edited by: PT Rao on Jun 12, 2008 5:13 PM
Edited by: PT Rao on Jun 12, 2008 5:17 PM -
Multiple record insert thru PROCEDURE - Urgent
All,
My requirement is, I have to invoke a procedure which accepts two input and 1 out variable. The operation of the procedure is to insert the data to two tables(head_tab and line_tab-accepts multiple record). I used %rowtype for the two inputs i.e procedure proc(head_var head_tab%rowtype, line_var line_tab%rowtype, out_var out number). The incoming doc comes from 3rd party application which sends a header record and multiple line record for the same header.
I used the transformation activity, to insert line record I used for-each loop for multiple record. But %rowtype being a scalar data type, it doesn't accept array of record to it! I'm stuck here. Can we achieve this scenario with using of procedure? or should I configure DBAdapter to insert the data directly to the table rather the procedure does this? If we can achieve it thru procedure, how can I go about?
Thanks,
SenHi,
I believe you should change the signature of the procedure.
I tried below code for my proc to send multiple records without use of for loop.
Type line_var_rec IS RECORD(
Var1;
var2;
Type line_var_tab IS TABLE OF line_var_rec INDEX BY BINARY INTEGER;
Type head_var_rec IS RECORD(
var3;
var4;
line_var line_var_tab ;
Type head_var_tab IS TABLE OF head_var_rec INDEX BY BINARY INTEGER;
proc(head_var IN head_var_tab, out_var out number);
With the above code you can insert multiple header records each having multiple line records.
Pls let me know if u have any questions. -
Hi Folks ,
Can you guide me in
1. Handling multiple records from source and posting one at a time into JDBC .
2. Fetching single records from JDBC and sending as a batch.
Regards,Hi santosh
refer the below links
http://help.sap.com/saphelp_nw04/helpdata/en/42/ed364cf8593eebe10000000a1553f7/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
DB Datatype structure ?
Multiple Records insertion
/people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30
Sending Multiple records
http://help.sap.com/saphelp_nw04/helpdata/en/08/16163ff8519a06e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/ae/fd773f12f14a18e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/62/dcef46dae42142911c8f14ca7a7c39/content.htm
just have a look may be help you -
Sender JMS Content Conversion - How to process multiple records
Hi All,
I use a Sender JMS Channel with Content Conversion.
My message structure is like this
<root>
<rec> </rec>
<rec> </rec>
</root>
I have fixed length flat file with multiple records.
i have given the parameters FixedFieldLength, FieldNames and StructureTitle.
Which parameter i need to use specify the RecordDelimiter
Because my input file will have more than record
my input file -
xxxx
yyyy
if i dont specify any delimiter value, in the module parameter,then for each newline of the file, a new mesage is created.
<root>
<rec>xxxx</rec>
<root>
<root>
<rec>yyyy</rec>
<root>
But i want the output to be like this
<root>
<rec>xxxx<rec>
<rec>yyyy</rec>
</root>hi,
You can do your FCC for sender JMS by going through page 5 of this document.
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/50061bd9-e56e-2910-3495-c5faa652b710 -
Call tp EP and sending multiple rows of records
Hello friends,
I am creating a screen and am sending back to EP an user ID.
However I would like to send Multiple User-Ids.
Below is the code of what AM I doing.
str = userid. " NOTE - I would like to send Multiple IDS.
lv_value_label->set_string_struct_element( element = str
label_name = 'MAINTID' ).
it_result_state-result_state = 'APPROVED'.
APPEND it_result_state TO it_result_states.
CALL METHOD eup_structure_factory=>pack_value_label_to_xml
EXPORTING
iv_value_label = lv_value_label
IMPORTING
ev_xml = str.
CALL FUNCTION 'EUP_STORE_BSP_OUTPUT_DATA'
EXPORTING
iv_process_id = process_id
iv_task_id = task_id
iv_output_value = str
TABLES
it_result_states = it_result_states.Dear Ster,
I think you are having all the user id's in an internal table.
Why dont you loop your internal table and pass those values in the standard FM you represented ('EUP_STORE_BSP_OUTPUT_DATA').
I'm not aware that, whether there is any Standard FM's to be used for sending multiple user ID's. Will check and let you know.
Hope this will be helpful.
Regards,
Gokul.N -
How to Delete Multiple Records using selectbox in jsf
Hi!
My Senario is I want to delete multiple records using checkbox. After selecting multiple records when i click the delete button the selected
rows shuld be deleted.if am doing like this but the edit ,delete for each row functionality is not working.
<h:selectBooleanCheckbox id ="bcb" value="#{item.empno}">
</h:selectBooleanCheckbox>
But other functionality is not wokring.
Can any one plz tell how to select the multiple records and how to send the id to the serverside.
I want code code for jsp and as well as backingBean how to accaess .
Any Reply shuld be apreciatedYou may find this article useful as well: http://balusc.blogspot.com/2006/06/using-datatables.html
Check the chapter "Select multiple rows" for two generic ways to select multiple rows in a datatable. -
How can I call multiple records(40) at same time as webservice ?
Hi All
My scenario is some thing like calling SOAP(Webservice) to Rfc(BAPI)
Thing is how can i call multiple records at the same time using the SOAP
adapter i.e i need to make a request to BAPI and in the BAPI response
based on the fields, i need to send to different records....it is Sync call
Can any explain me how to implement this scenario ?
Regards
Kiran lvsHI,
Please see the below link
http://help.sap.com/saphelp_nw04/helpdata/en/42/ed364cf8593eebe10000000a1553f7/content.htm
Regards
Chilla..
Maybe you are looking for
-
HT4623 I have the updated ios6 but my I tunes will not open at all. How can I fix this?
I don't know how to fix my I tunes I can log onto it on throw the Internet so I know it's the right password. I have the updated ios6 software and have tried everything I can think of. Logging out and turning off the IPad and starting it back up tryi
-
Why does my print not look like in the prewiew? It becomes a small one i the middle of the paper.
-
Result Set is getting close in 12 Min
Hi, I am facing one issue here with the JDBC. I am doing a query to the oracle db , where I have more the 80K records in our one of table. Once I recieved the data in resultset. I am iterating them in batch of length 1024 from the result set. But I a
-
Change input text field color until saved.
How to change the background color in a text field when edited? When saving the field returns to default. The idea here, not to forget to save before editing another record or exit. Example, date and checkbox fields are edible. At the right side, for
-
Hi, I have two fields cheque date and posting date in the ROW SECTION of my BEx query. I want to display the subtraction of these two dates in COLUMN SECTION of the query. Can anybody tell me how to do that. Thanks and Regards, Vikrant