BizTalk Map: Grouping CRM Response XML based on the ID field in Custom XSLT
Hi,
I will receive a CRM response as below.
<ns0:RetrieveMultipleResponse xmlns:ns0="http://schemas.microsoft.com/xrm/2011/Contracts/Services" xmlns:ns2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:ns3="http://schemas.microsoft.com/xrm/2011/Metadata" xmlns:ns5="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:ns1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" xmlns:ns4="http://schemas.microsoft.com/xrm/2011/Contracts"><ns0:RetrieveMultipleResult> <ns4:Entities> <ns4:Entity> <b:Attributes xmlns:b="http://schemas.microsoft.com/xrm/2011/Contracts" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts/Services" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:c="http://schemas.datacontract.org/2004/07/System.Collections.Generic"> <b:KeyValuePairOfstringanyType> <c:key>ccx_datevaccineinfostatementpresented</c:key> <c:value i:type="d:dateTime" xmlns:d="http://www.w3.org/2001/XMLSchema">2012-08-14T04:00:00Z</c:value> </b:KeyValuePairOfstringanyType> <b:KeyValuePairOfstringanyType> <c:key>ccx_administeredamount</c:key> <c:value i:type="d:decimal" xmlns:d="http://www.w3.org/2001/XMLSchema">0.75000000</c:value> </b:KeyValuePairOfstringanyType> <b:KeyValuePairOfstringanyType> <c:key>ccx_immunizationid</c:key> <c:value i:type="d:guid" xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/">826c2b0e-a349-e411-866c-00155d1e1f77</c:value> </b:KeyValuePairOfstringanyType> </b:Attributes> </ns4:Entity> <ns4:Entity> <b:Attributes xmlns:b="http://schemas.microsoft.com/xrm/2011/Contracts" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts/Services" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:c="http://schemas.datacontract.org/2004/07/System.Collections.Generic"> <b:KeyValuePairOfstringanyType> <c:key>ccx_datevaccineinfostatementpresented</c:key> <c:value i:type="d:dateTime" xmlns:d="http://www.w3.org/2001/XMLSchema">2012-08-14T04:00:00Z</c:value> </b:KeyValuePairOfstringanyType> <b:KeyValuePairOfstringanyType> <c:key>ccx_administeredamount</c:key> <c:value i:type="d:decimal" xmlns:d="http://www.w3.org/2001/XMLSchema">0.25000</c:value> </b:KeyValuePairOfstringanyType> <b:KeyValuePairOfstringanyType> <c:key>ccx_immunizationid</c:key> <c:value i:type="d:guid" xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/">766c2b0e-a349-e411-866c-00155d1e1f77</c:value> </b:KeyValuePairOfstringanyType> </b:Attributes> </ns4:Entity><ns4:Entity> <b:Attributes xmlns:b="http://schemas.microsoft.com/xrm/2011/Contracts" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts/Services" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:c="http://schemas.datacontract.org/2004/07/System.Collections.Generic"> <b:KeyValuePairOfstringanyType> <c:key>ccx_datevaccineinfostatementpresented</c:key> <c:value i:type="d:dateTime" xmlns:d="http://www.w3.org/2001/XMLSchema">2012-08-14T04:00:00Z</c:value> </b:KeyValuePairOfstringanyType> <b:KeyValuePairOfstringanyType> <c:key>ccx_administeredamount</c:key> <c:value i:type="d:decimal" xmlns:d="http://www.w3.org/2001/XMLSchema">0.7500000000</c:value> </b:KeyValuePairOfstringanyType> <b:KeyValuePairOfstringanyType> <c:key>ccx_immunizationid</c:key> <c:value i:type="d:guid" xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/">826c2b0e-a349-e411-866c-00155d1e1f77</c:value> </b:KeyValuePairOfstringanyType> </b:Attributes> </ns4:Entity></Entities></ns0:RetrieveMultipleResult></ns0:RetrieveMultipleResponse>
I have to count the distinct Entities based on ccx_immunizationid value & also I have to group the fields if both entity has same immunization ID. If the xml file (without namespace) and the field is <ccx_immunizationid>2323</ccx_imunizationid>,
I can use something like below,
<xsl:template match="//Entity/Attributes[not(./ccx_immunizationid= preceding::ccx_immunizationid)]">
but here, I have to look for the key 'ccx_immunizationid' and its value.
I am using custom xslt in BizTalk map. Please help. Thanks.
Regards,
Lakshmi
You need to get the distinct record filtered by "value" field whose "key" is "ccx_immunizationid" i.e <c:key>ccx_immunizationid</c:key>".
So you need to use the XPath with syntax:
/*[not(@name = preceding::*/@name)]
So in your case, the XPath value will be like the following:
/*[local-name()='RetrieveMultipleResponse' and namespace-uri()='http://schemas.microsoft.com/xrm/2011/Contracts/Services']/*[local-name()='RetrieveMultipleResult' and namespace-uri()='http://schemas.microsoft.com/xrm/2011/Contracts/Services']/*[local-name()='Entities' and namespace-uri()='http://schemas.microsoft.com/xrm/2011/Contracts']/*[local-name()='Entity' and namespace-uri()='http://schemas.microsoft.com/xrm/2011/Contracts']/*[local-name()='Attributes' and namespace-uri()='http://schemas.microsoft.com/xrm/2011/Contracts']/*[local-name()='KeyValuePairOfstringanyType' and namespace-uri()='http://schemas.microsoft.com/xrm/2011/Contracts'][*[local-name()='key' and namespace-uri()='http://schemas.datacontract.org/2004/07/System.Collections.Generic']/text() ='ccx_immunizationid'][not(*[local-name()='value' and namespace-uri()='http://schemas.datacontract.org/2004/07/System.Collections.Generic'] = preceding::*[local-name()='value' and namespace-uri()='http://schemas.datacontract.org/2004/07/System.Collections.Generic'])]
You may need to change the namespaces according to yours. This XPath would give you an idea of how to use the distinct XPath (1.0) snystax as shown above in your XML.
If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.
Similar Messages
-
User based block the pricing field in the sale order
HI FRIEND
We have requirement user based block the pricing field in the sale order
pls suggest me the configuration steps
with regards
dineshhi friend
when create a sale orde,r price and exchange rate is triigger from the master record.
head department want not require to End user to change the price in the sale order .
so head department only have authorisation to change price.
selected user is not allow the change the price.
so i need the configuration
with regards
dinesh -
Dynamically rename the root node of XML based on the child elements
Hi Gurus,
Is there any way to rename the root node of the resultant XML after a mapping based on the child elements.
For ex:
consider the following resultant XML after mapping
<result>
<element1> </element1>
<result>
if the element1 is <type> then the output should be
<category>
<type> </type>
</category>
elseif the element1 is <character> then the output should be
<property>
<character> </character>
</property>
Let me know how to do this, either in XSLT or in Graphical mapping.
Thanks,
PrabuHi, Prabu:
In this case, I am suggest you have Src and Tar Message.
I am suggesting you create another type of message using key / value pair as I suggested, e.g. called Mid Message.
My solution for you is to have two message mappings:
1. Src -> Mid
2. Mid -> Tar.
In first mapping, you have no control of the structure, but you can map it to Mid structure:
e.g.
if Type node Exist, then map 'Type' to Key, as Key/Value can be creatd under a parent node with 0:1 Occurrence.
saying item.
in this case, a new item created.
If you think of this way, any xml file can be represted in this way:
<Employee>
<Fname>David</Fname>
<Lname>Miller</Lname>
</Employee>
<Employee>
<Fname>Steve</Fname>
<Lname>Mai</Lname>
</Employee>
Can be interpretd as this way:
<Employee>
<Element>
<key>Fname</Key>
<value>David</Value>
</Element>
<Element>
<key>Lname</Key>
<value>Miller</Value>
</Element>
</Employee>
<Employee>
<Element>
<key>Fname</Key>
<value>Steve</Value>
</Element>
<Element>
<key>Lname</Key>
<value>Mai</Value>
</Element>
</Employee>
Now you should understand what I mean.
In your case target structure have to desgined as following way:
You need to put Category and Property together with their sub-structure in parallel, make occurence to 0:1
In your second mapping, you can check the key value is "Type" or "Character", based on which one is true,
you create corresponding structure: either Categary or Property.
Regards
Liang
Edited by: Liang Ji on Oct 22, 2010 8:31 PM
Edited by: Liang Ji on Oct 22, 2010 8:35 PM -
Biztalk Map: Accumulation of unique detail elements in the header
Below are the source and target schemas. I was wondering how I can achieve a mapping where the element "country" in the detail are promoted to the header where the list contains only unique country names with quantity defaulted to 1. In the example
below, from each of the subcategories, the countries are picked up and only unique ones appear in the output's header.
<Category CatId=1 CatName=Bikes Function=Travel>
<SubCat SubCatId=1 SubCatName=Avon>
<Countries>
<Country Name="Canada" Quantity=20 />
<Country Name="USA" Quantity=22 />
<Country Name="NZ" Quantity=30 />
</Countries>
</SubCat>
<SubCat SubCatId=2 SubCatName=Hero>
<Countries>
<Country Name="Canada" Quantity=20 />
<Country Name="Mexico" Quantity=5 />
<Countries>
</SubCat>
<SubCat SubCatId=3 SubCatName=Jet>
<Countries>
<Country Name="UK" Quantity=15 />
<Country Name="USA" Quantity=5 />
<Country Name="Germany" Quantity=2 />
<Countries>
</SubCat>
</Category>
<Category CatId=1 CatName=Bikes Function=Travel>
<Countries>
<Country Name="Canada" Quantity=1 />
<Country Name="USA" Quantity=1 />
<Country Name="NZ" Quantity=1 />
<Country Name="Mexico" Quantity=1 />
<Country Name="UK" Quantity=1 />
<Country Name="Germany" Quantity=1 />
</Countries>
<SubCat SubCatId=1 SubCatName=Avon>
<Countries>
<Country Name="Canada" Quantity=20 />
<Country Name="USA" Quantity=22 />
<Country Name="NZ" Quantity=30 />
</Countries>
</SubCat>
<SubCat SubCatId=2 SubCatName=Hero>
<Countries>
<Country Name="Canada" Quantity=20 />
<Country Name="Mexico" Quantity=5 />
<Countries>
</SubCat>
<SubCat SubCatId=3 SubCatName=Jet>
<Countries>
<Country Name="UK" Quantity=15 />
<Country Name="USA" Quantity=5 />
<Country Name="Germany" Quantity=2 />
<Countries>
</SubCat>
</Category>ZIntegrator,
You can try following custom xslt
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
exclude-result-prefixes="msxsl">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:key name="country" match="//Country/@Name" use="." />
<xsl:template match="/">
<xsl:element name="Category">
<xsl:copy-of select="//Category/@*" />
<xsl:apply-templates select="Category" />
<xsl:apply-templates select="//SubCat" mode="CopyRest" />
</xsl:element>
</xsl:template>
<xsl:template match="Category">
<xsl:for-each select="SubCat/Countries/Country/@Name[generate-id()= generate-id(key('country',.)[1])]">
<xsl:element name="Country">
<xsl:value-of select="."/>
</xsl:element>
</xsl:for-each>
</xsl:template>
<xsl:template match="@* | node()" mode="CopyRest">
<xsl:copy>
<xsl:apply-templates select="@* | node()" mode="CopyRest"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful. -
Webtemplates - Disply Group Of Key Figures based on the selection criteria
Hello,
I have a requirement of displaying Kefigures based on the selection criteria in the browser.
Assume that I have Query with the following set of key figures.
Plan_KF in units CSE
Actual_KF in units CSE
Difference in units CSE
Plan_KF in units T3
Actual_KF in units T3
Difference in units T3
Plan_KF in units PAK
Actual_KF in units PAK
Difference in units PAK
1) I should have drop down box with values
CSE
T3
PAK
2) If user selects PAK then query should display only the key figures with units in PAK
i.e.
Plan_KF in units PAK
Actual_KF in units PAK
Difference in units PAK
If user selects CSE the query should display only key figures
Plan_KF in units CSE
Actual_KF in units CSE
Difference in units CSE
I tried using the DropDown Box - (not much usefull to select more than one Key Figure)
and CheckBox web items - I have to do multiple selections (Not very much suitable if the Key figures are too many).
I appreciate your timely help.
system specifications:
SAP_BW - 310
Front-End - 6.20
Advanced Thanks,
RamanaHi,
One alternative would be to save two additional copies of the query (each with different units) and code your dropdown box with the RESET_DATA_PROVIDER command.
So if your queries were:
Z_QUERY_CSE
Z_QUERY_T3
Z_QUERY_PAK
You would define the default unit (I'll assume CSE) in yoru web template, and code your dropdown box entries to switch the Data Provider (I'll asume DP1) to the appropriate query.
The code behind "T3" in your dropdown box would be:
<SAP_BW_URL DATA_PROVIDER='DP1' CMD='RESET_DATA_PROVIDER' INFOCUBE='Z_CUBE1' QUERY='Z_QUERY_T3'>
http://help.sap.com/saphelp_nw04/helpdata/en/bd/43143c1ab8ff1ae10000000a11405a/frameset.htm
Two things to look out for in this work-around:
1) Number of queries increases by a factor of 3
2) Performance implication in replacing the data provider with a new query. -
How do we check the check box items based on the databse fields.
Hi All,
I have a requirement like as mentioned below#
1. I have a combox box whcih i will be populated from database.
2. I have created two check box as "Stategric " and "Non Stategric".
3. Now when i select the combox box condition i need to select the check box items.
4. But the problem is i wil be knowing weather it is a stategric or Non stategirc based on the database column.
5. How do i need to map the database point of view and correlacte with javascript pont of view.
6. Do we need to write any Application process to achieve this task and who we can do that.
Thanks,
Anoo..Hi VC,
As per my understanding the code should be placed between --.
Based on this i have placed the code
function setCheckbox(pThis, pItem){
alert('inside');
var l_code = '';
// Get checkbox name
rName = document.getElementsById('P1_ENG_BAU').firstChild.name;
alert("The value is"+rName);
// Fire AJAX
var get = new htmldb_Get(null,html_GetElement('pFlowId').value,'APPLICATION_PROCESS=CHECKBOX_LIST',0);
get.add('F120_COMPANY',pThis.value);
gReturn = get.get('XML');
if (gReturn) {
var values = gReturn.getElementsByTagName('value');
var messages = gReturn.getElementsByTagName('message');
// Build the checkbox
for (i=0; i<values.length; i++) {
var rValue = values.firstChild.nodeValue;
var rMessage = messages[i].firstChild.nodeValue;
l_code+='<input id='+P1_ENG_BAU+'_'+i+' type=checkbox value='+rValue+' name='+rName+'>';
l_code+='<label for='+P1_ENG_BAU+'_'+i+'>'+rMessage+'</label>
document.getElementsById('P1_ENG_BAU').innerHTML = l_code;
Correct me if iam understanding is wrong.
Thanks,
Anoo..
Edited by: Anoo on May 31, 2012 11:04 AM -
Splitting a file based on the payload field - multimapping
HI Everyone,
I have a requirement of splitting a file based on the field .
e.g When I am a file as :
row1 David US
row2 Cindra US
row3 Peeru CA
row4 Jay CA
Then, I have to split the file into two files, one file with the US rows and another file with the CA rows.
There can be many countries in the input file, so number of target files need to be generated is not fixed.
I have gone through the below links :
/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible ( in the blog we know that there are two receivers but in my case I dont know that )
https://bond.newellco.com/irj/scn/,DanaInfo=www.sdn.sap.com,SSL+thread?messageID=6449801#6449801
( Everyone is providing JAVA mapping as a solution....)
Is Java mapping the only option to resolve the problem case I have ?
Thx
PEERU INHi Peeru,
I don't have access to the any FTP or file server of XI to check the file adapter as i am travelling right now(I am 100% sure that the file adapter splitting will work as i have done this for one of my requirement).
Coming to your requirement:
I wrote an java map which will read the XML file and create the multiple recordset based on number of different country exists in the file, then i am printing the final structure in an multi mapping layout (please see the attached input file Country.xml and out put file which the java map generated Final.XML) if we do this i think the file adapter will create the different files based on the number of recordset we have as you can see the output file is generated with the 3 recordset (<Country>) tag each country tag has its own records, now if i give the filename in variable substuition pointing to region then i think i should get 3 files with names
us.xml
us01.xml
us02.xml
i think by using the multi mapping i can generate 3 files and by using the variable substution i can give the 3 different names from the payload of each file and also can add the timestamp for each of the file, again i didn't have access to the file adapter in the project i am working on so i couldn't verify in XI server, but if you still looking for solution then let me know i will give the map details.
Input File: Country.xml
<?xml version="1.0"?>
<check>
<order>
<name>Nisar1</name>
<region>US</region>
</order>
<order>
<name>Nisar2</name>
<region>US</region>
</order>
<order>
<name>Nisar3</name>
<region>US</region>
</order>
<order>
<name>Nisar4</name>
<region>US01</region>
</order>
<order>
<name>Nisar5</name>
<region>US01</region>
</order>
<order>
<name>Nisar6</name>
<region>US01</region>
</order>
<order>
<name>Nisar7</name>
<region>US</region>
</order>
<order>
<name>Nisar8</name>
<region>US</region>
</order>
<order>
<name>Nisar8</name>
<region>US02</region>
</order>
</check>
Output File : Final.XML
<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
<ns0:Message1>
<country>
<Order>
<name>Nisar1</name>
<region>US</region>
</Order>
<Order>
<name>Nisar2</name>
<region>US</region>
</Order>
<Order>
<name>Nisar3</name>
<region>US</region>
</Order>
<Order>
<name>Nisar7</name>
<region>US</region>
</Order>
<Order>
<name>Nisar8</name>
<region>US</region>
</Order>
</country>
<country>
<Order>
<name>Nisar4</name>
<region>US01</region>
</Order>
<Order>
<name>Nisar5</name>
<region>US01</region>
</Order>
<Order>
<name>Nisar6</name>
<region>US01</region>
</Order>
</country>
<country>
<Order>
<name>Nisar8</name>
<region>US02</region>
</Order>
</country>
</ns0:Message1>
</ns0:Messages>
regards
Nisar Khan -
Subtotal in alv report based on the particular field value
Hi,
As per my requirement, i need to do subtotal of quntity field based on the material number field value in alv report.
Ex: if material number falls 1 to 10 then i need to be calculate and display subtotal qty amount with text " total of the mat1" and if material number falls 11 to 20 then again i need to be claculate and display subtotal qty amount with text "total of the mat2". similarily i need to display the details.
<removed_by_moderator>
Regards
NagendraHi,
Ex: if material number falls 1 to 10 then i need to be calculate and display subtotal qty amount with text " total of the mat1" and if material number falls 11 to 20 then again i need to be claculate and display subtotal qty amount with text "total of the mat2". similarily i need to display the details.
What you can do is in your output table, you will have to create an auxilary field, lets call it as material group (groupid). Now you can do a subtotal on the material group. However the logic to determine what materials belong to which group should be coded. I guess you might be having some logic for that.
So lets say that material 1 to 10 as G1 ( group 1 ) and material 11 to 20 as G2 ( group 2 )
The output of the internal table would be
Groupid matnr ...
1 1
1 2
1 3.....and so on
2 11
2 12
2 13....upto 20.
Now in the fieldcatalog assign an 'X' to the 'dosum' parameter to the field Groupid
In the sort info do the following :
gs_sort-fieldname = 'GROUPID'.
gs_sort-spos = 1.
gs_sort-up = 'X'.
gs_sort-subtot = 'X'. ***CRUCIAL STATEMENT****
append gs_sort to gt_sort.
Now pass all this data to the alv grid function. And you are done.
regards,
Advait -
Can I extract VBAP-EAN11 based on the country Field ?
Hello,
Is there a way I can extract VBAP-EAN11 from a different field dependent on the country KNA1-LAND1 or any other table where I should be able to extract EAN11 based on the country.
Please suggest, if i can extract the data with this condition or any possible conditions with which i can extract VABP-EAN11 dependent on the country field....
Any suggestions would be appreciated!
Thank youHello Venkat,
Thank you for your response...
I did not understand...Can you please tell me in more detail...
And I tried with this field below and written a sample code...Plz let me know if I can go ahead and use this field.
Types : Begin of TY_SAMPLE,
VBELN TYPE VBELN_VA,
EAN11 type vbap-EAN11,
LLAND type VKDFS-LLAND,
END OF TY_SAMPLE.
DATA : T_SAMPLE TYPE STANDARD TABLE OF TY_SAMPLE WITH HEADER LINE.
SELECT A~VBELN
A~EAN11
B~LLAND
INTO TABLE T_SAMPLE
FROM VBAP AS A INNER JOIN
VKDFS AS B
ON AVBELN = BVBELN
WHERE EAN11 =
LOOP AT T_SAMPLE.
WRITE : / T_SAMPLE-VBELN, T_SAMPLE-ean11, T_SAMPLE-LLAND.
ENDLOOP.
Regards,
Developer -
How to put an xml element in the header field?
Hello friends,
My requirement is like I've a particular element that needs to be printed on the header filed
for ex --dept_no and dept_name in the header field...please let me know how..
ThanksFor each occurrence of DEPT_GROUP, a new section is created.
These sections can have different header/footer.
In case, you want different values to be displayed in header/footer section(as your requirement) or you want the page numbers to be reset for each group, you can use this command.
Check the user guide http://download.oracle.com/docs/cd/E10415_01/doc/bi.1013/e12187/T421739T481157.htm#4535398 -
Save response as PDF, excluding the hidden fields
I have recently created a new form, which contains a number of fields which are only shown dependent on rules.
This all works as it should from the users POV, however, when saving the response as PDF, the document contains ALL the fields which are on the original form design.
Is there any way of saving the form as PDF, but excluding the fields that the user didn't even know were there? A properly completed form should cover at most 2 pages, however, because of the additional fields, each one is coming back as 8-9 pages long.
Any help would be appreciated.
Thanks
CarlHi,
>>Is there any way of saving the form as PDF, but excluding the fields that the user didn't even know were there?
Sorry, this is not possible.
If you like, you can use this form to "vote" on popular feature requests, or to add a new one of your own:
https://adobeformscentral.com/?f=XnF-KJVCovcEVQz9tZHYPQ
Thanks,
Lucia -
Handling/Mapping a SOAP response message back to the RFC request Message
Hi
I was wondering if you could kindly offer some advice on how to handle the SOAP response back to an RFC in a RFC>SOAP>RFC.Response scenario. When executing an RFC function module that triggers a message to XI, the outbound message seems to process successfully, however, there is an error in the response message. I am not sure how to map the response back to the function module response message because it looks like the response payload is empty. It is also strange that the interface seems to run in synchronous mode despite being configured as an asynchronous interface. If it ran in asynchronous mode, there would not be a problem because we actually do not need a response back. The interface also runs perfectly when executing it from the Runtime Workbench, and it also runs in asynchronous mode as it should.
I would really appreciate any suggestions on how to solve this problem.
Thank you,
BrendonHi Reyaz,
This is actually an RFC-->SOAP scenario where the message structure of the source and target systems are different. We don't actually need a reponse back from the SOAP system. I was wondering if you perhaps know how we can cancel the Response response back to the requestor or at leaset map the SOAP response back?
The interface runs perfectly in asynchronous mode when executing it from the Runtime Workbench in the test section, but it runs in synchronous mode for some reason when executing the RFC function call in SAP.
Thank you,
Brendon -
Sort the internal table based on the vendor field
hello experts,
I am stuck with a small problem...
I am uploading the data for partner association for vendors through lsmw BI program.
I am collecting all the records in the end of trasaction and downloading all those records on to the apps server.
I declared one internal table as
TYPES: BEGIN OF type_erecord,
mesg(1000) TYPE c,
END OF type_erecord.
DATA: t_precord type standard table of type_erecord initial size 0,
w_precord type type_erecord.
I am concatenating all the fields and moving to the internal table..
concatenate zvendor_master-source zvendor_master-lifnr blf00-lifnr
zvendor_master-lname zvendor_master-parvw
zvendor_master-psource zvendor_master-pname
zvendor_master-lifn2 bwyt3-lifn2
zvendor_master-ekorg zvendor_master-werks
w_PLANT-muplant zvendor_master-defpa
v_message
into w_precord-mesg separated by c_pipe.
append w_precord to t_precord.
now at the end I have to sort this internal table t_precord based on blf00-lifnr
can any one guide me how to do it
Thanks for your anticipation
NiteshaOK...
Than you can create one more table and do the process of sorting and than put data into the final table.
TYPES: BEGIN OF type_erecord,
mesg(1000) TYPE c,
END OF type_erecord.
DATA: t_precord type standard table of type_erecord initial size 0,
w_precord type type_erecord.
TYPES: BEGIN OF type_erecord_1,
mesg(1000) TYPE c,
lifnr type blf00-lifnr , "<<<
END OF type_erecord_1.
DATA: t_precord_1 type standard table of type_erecord initial size 0,
w_precord_1 type type_erecord.
I am concatenating all the fields and moving to the internal table..
concatenate zvendor_master-source zvendor_master-lifnr blf00-lifnr
zvendor_master-lname zvendor_master-parvw
zvendor_master-psource zvendor_master-pname
zvendor_master-lifn2 bwyt3-lifn2
zvendor_master-ekorg zvendor_master-werks
w_PLANT-muplant zvendor_master-defpa
v_message
into w_precord_1-mesg separated by c_pipe.
w_precord_1-lifnr = blf00-lifnr . " <<<
append w_precord_1 to t_precord_1. " <<<
SORT T_PRECORD_1 by LIFNR. " <<
LOOP AT T_PRECORD_1 into w_precord_1.
move-corresponing w_precord_1 to w_precord.
append w_precord to T_PRECORD.
clear w_precord .
endloop.
Regards,
Naimesh Patel -
New Z-table to auto-populate description based on the key field entered
Hi Gurus,
I have to created a z-table, there are several fields however I am interested in only two
1) VSTEL and 2) PADEST for shipping point and the printer name. Also there are two other fields I have added to the table that are the descriptions for VSTEL and PADEST. Now the requirement is that when the user enteres a value in table maintenance ( sm30)
for say VSTEL, then its description should auto populate or propose the right values. Same should happen for the PADEST and its description field.
Thanks.Goto the Table maintenance generator of the Table.
On this screen.
Environment -
> Modification -
> Events
Create New entry in the table with T = 05 and Z <any name>
Save it.
An editor button appears next to the from name.
Click on it and create an include.
Write your code in this include...
select vstel
padest
from table XXXX into table I_XXXX
where vstel = (Z_VSTEL)User enterd VSTEL in module pool.
If sy-subrc = 0.
loop at I_XX into wa_xxx.
if wa_xxx-vstel = Z_vstel.
z_padest(Desc field in Tab maint) = wa_XXX-PADEST.
endif.
endloop.
endif.
The same logic can be used to get the desc for VSTEL and PDEST.
You can change this in many ways based on performance.
The above code is just to give an idea...
Regards,
Kittu -
Dynamic data on Screen -Display data Based On the First Field
hello Helping Minds..
I have Two Fields In MODULEPOOL SCREEN.
1--- BUKRS
2--- BELNR ..... Both From BKPF table.
My requirement is When i select a CompanyCode ( BUKRS ) In d first field,all the DocumentNO ( BELNR ) related to that CompCOde Shd be displayed in the 2nd field,
For Ex-
If i choose BUKRS = 1000,
and Then clicked the Belnr field, All d DocumentNO for BUKRS 1000 will be populated in d Dropdown list..
BUKRS = 0001,
then BELNR = 0100000000 ,
0100000001 in d dopdown.
source code will be Appreciated...
Thnks in advance To D helping MindsProcess on value-request.
filed Bukrs module f4_bukrs.
field belnr module f4_belnr.
*module f4bukrs input.*_
if belnr is not initial.
select belnr bukrs from bkpf whre belnr = belnr.
else.
select belnr bukrs from bkpf whre belnr = belnr.
endif. "" Hey both these Condition lead to same thing...den Whts d use??
Firstly Belnr will be always Intial. cos it will be populated after we select the BUKRS. , Here am confused?
if t_bkpf is not initial.
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST' " No idea Abt dis FUncn module, pls explain
endif.
end module.
module f4_belnr input.
if bukrs is not initial.
select belnr bukrs from bkpf where bukrs = bukrs.
else.
select belnr bukrs from bkpf whre belnr = belnr.
endif.
if t_bkpf is not initial. "" What is t_bkpf and y its used
call fm to CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
endif.
end module.
Maybe you are looking for
-
hi please i need help .. when i make payment in AP i cant see the invoices ... but when i make Pay in full it work good ... i have Oracle R12 on windows server 2003 thank you .. kareem
-
In can't get rid of new tabs/popup windows opening up
I cant get rid of pop up windows. Whenever I am on a web page a new tab will open up and will be some sort of advertisement. I have run CC Cleaner, McAfee, Spybot and advanced system cleaner several times. My pop up blocker is on and there are no exc
-
Photoshop CS5.1 and CS6 both crash
I try to make a document and save but it crashes sometimes it can't even get into save for web. I reinstalled both but the problem never goes away I deleted prefs I don't have any plugins what could the problem be?
-
Audit Vault Viewlet links broken
The first 2 viewlets in the Audit Vault section link back to itself instead of launching the viewlets. http://www.oracle.com/technology/deploy/security/database-security/htdocs/all_sec_obes.html
-
Lightroom 5.3 Import Freezes
Okay so I have been importing images most all day and now all of a suddent Lightroom freezes at 23% when importing and never finished nor does it give any error message. I am using convert to digital negitive and import. I have not a clue on where to