For Each example using XSLT in BPEL
I need a sample How to use For Each in BPEL using XSLT. Like I am getting an array and need to iterate the target XSD accordingly.
Thanks
start reading this:
http://www.w3schools.com/xsl/xsl_for_each.asp
after that read this:
http://download.oracle.com/docs/cd/E21764_01/integration.1111/e10224/bp_xslt_mpr.htm#BABGJIGI
Regards,
Melvin
Similar Messages
-
How to use for each loop in XSLT when my source is a multilayout file and db
How do I use a for each loop in XSLT when my source is multilayout file and db .
My multilayout file is basically contain 2 kind of data one for employee and another for dependent.
Now my requirement is I want to read each line of data whether it is it is employee or dependent do a join with db and write it in my target file.
eg : File content
1 RichaKumari 311289 TCS INDIA
2 KiarnKumar 456782 BRO RichaKumari 311289 INDIA
2 Ravi 456882 BRO RichaKumari 311289 INDIA
eg : db Content
311289 RichaKumari TCS INDIA Bangalore [email protected]
Now in Final File I need something like this :
1 RichaKumari 311289 TCS INDIA
2 KiarnKumar RichaKumari 311289 TCS INDIA
2 Ravi RichaKumari 311289 TCS INDIA
here 1 and 2 are the identifier which will decide which layout to follow .Hi,
I think you'll need two nested for-each's... Something like...
<xsl:for-each select="$root/row[layout = 1]">
<xsl:variable name="employee" select="."/>
... write employee ...
<xsl:for-each select="$root/row[layout = 2 and dependentid = $employee/id]">
... write dependent ...
</xsl:for-each>
</xsl:for-each>
Cheers,
Vlad -
Split an XML File and invoke a Web Serivce for each splits using an XSLT
Hi,
We Have a requirement to Split an incoming XML File into chunks based on a child element and hit the target Web Service for each and every split ( i.e no of splits = no of hits on WebService).
Currently, the incoming XML file is getting splitted and gets appended to the SAME Payload and the WebService is hitted only once with the entire Payload.
Is it possible to invoke a WebService within a XSLT ?
Please find below the XSLT code used to split the file in chunks of 3
<xsl:param name="pItemsNumber" select="3"/>
<xsl:template match="@*|node()">
<xsl:choose>
<xsl:when test="count(Batch/Item) > 4">
<ItemMaintenance>
<xsl:for-each-group select="Batch/Item"
group-adjacent="(position()-1) idiv $pItemsNumber">
<xsl:result-document href="ItemsMatch\{current-grouping-key()}.xml">
<ItemMaintenance>
<xsl:copy-of select="current-group()"/>
</ItemMaintenance>
</xsl:result-document>
</xsl:for-each-group>
</ItemMaintenance>
</xsl:when>
<xsl:otherwise>
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:otherwise>
</xsl:choose>
</xsl:template>Hello,
It is possible to invoke a webservice from XSLT. To achieve this you must create a custom XSLT function that does the actual webservice call. You need to write an implementation in Java for this. See my blogpost http://blog.melvinvdkuijl.nl/2010/02/custom-xslt-functions-in-oracle-soa-suite-11g/ for a simple example.
Regards,
Melvin -
Ship to party for each material using BAPI_SLSTRANSACT_CREATEMULTI
i am able to generate sales order for in CRM. I am inputting the sold to party, ship to party, bill to party and payer at the header level...
CRM is currently configured in such a way that , there is a provision to assign ship to party at item level for each material.
How can i programatically replicate this? I need to assign a diiferent ship to party for each material in the sales order.*
how can i programatically replicate this?...
this is my code for cresating a sales order in CRM with sold to party, ship to party, bill to party and payer at the header level...
*************include constants
include crm_direct.
************// GUIDs
data: lv_guid_h type GUID_32, "HEADER GUIDE
lv_guid_i type GUID_32, "ITEM GUIDE
lv_guid_sl type GUID_32, "SCHEDULE LINE GUIDE
lv_guid_p type GUID_32. "PARTNER GUIDE
***********// Handles
data: lv_current_handle type crmt_handle, "CURRENT HANDLE
lv_handle_h type crmt_handle, "HEADER HANDLE
lv_handle_i type crmt_handle, "ITEM HANDLE
lv_handle_sl type crmt_handle, "SCHEDULE LINE HANDLE
lv_handle_p type crmt_handle. "PARTNER HANDLE
***********// Administration header + item + etc
data: lt_salesorder_header type table of bapibus20001_header_ins, "LT_SALESORDER_HEADER
ls_salesorder_header type bapibus20001_header_ins, "LS_SALESORDER_HEADER
lt_salesorder_item type table of bapibus20001_item, "LT_SALESORDER_ITEM
ls_salesorder_item type bapibus20001_item, "LS_SALESORDER_ITEM
lt_scheduleline type table of BAPIBUS20001_SCHEDLIN, "LT_SCHEDULELINE
ls_scheduleline type BAPIBUS20001_SCHEDLIN, "LS_SCHEDULELINE
lt_partner type table of BAPIBUS20001_PARTNER_INS, "LT_PARTNER
ls_partner type BAPIBUS20001_PARTNER_INS, "LS_PARTNER
ls_logical_key TYPE crmt_partner_logic_partner_key, "LS_LOGICAL_KEY
lt_organisation type table of BAPIBUS20001_ORGMAN_INS, "LT_ORGANISATION
ls_organisation type BAPIBUS20001_ORGMAN_INS. "LS_ORGANISATION
*********// Saved sales orders
data: lt_saved_process type table of bapibus20001_object_id, "LT_SAVED_PROCESS
data:
ls_saved_process type bapibus20001_object_id, "LS_SAVED_PROCESS
ls_salesorder type CRMT_RETURN_OBJECTS_STRUC. "LS_SALESORDER
data: lt_input_fields type table of bapibus20001_input_fields, "LT_INPUT_FIELDS
ls_input_fields type bapibus20001_input_fields, "LS_INPUT_FIELDS
ls_return type bapiret2. "LS_RETURN
data: lt_return type table of bapiret2. "LT_RETURN
***********// Macro definition to populate structure and input field This, called as
*_set_field ls_salesorder_header GUID lv_guid_h
*is exploded as
ls_salesorder_header-GUID = lv_guid_h.
ls_input_fields-fieldname = 'GUID'.
append ls_input_fields to lt_input_fields.
*Note 1: &2 (field name) MUST be uppercase
*Note 2: for the salesorder header, Macro has not been used to show how the code should look like.
*except for that the macro has been used everywhere else.
define setfield.
&1-&2 = &3.
ls_input_fields-fieldname = '&2'.
append ls_input_fields to lt_input_fields.
end-of-definition.
*****// end of macro definition
******// fill order administration header
perform get_guid changing lv_guid_h.
add 1 to lv_handle_h.
ls_salesorder_header-guid = lv_guid_h.
ls_salesorder_header-handle = lv_handle_h.
ls_salesorder_header-process_type = 'ZWEB'.
clear ls_input_fields.
ls_input_fields-ref_handle = lv_handle_h.
ls_input_fields-ref_guid = lv_guid_h.
*ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_h.
ls_input_fields-objectname = gc_object_name-orderadm_h.
ls_input_fields-fieldname = 'GUID'.
append ls_input_fields to lt_input_fields.
ls_input_fields-fieldname = 'HANDLE'.
append ls_input_fields to lt_input_fields.
ls_input_fields-fieldname = 'PROCESS_TYPE'.
append ls_input_fields to lt_input_fields.
append ls_salesorder_header to lt_salesorder_header.
**********// fill organisation data (Interface needs this, some times may rely on sales org determination instead...
clear ls_input_fields.
ls_input_fields-ref_handle = lv_handle_h.
ls_input_fields-ref_guid = lv_guid_h.
ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_h.
ls_input_fields-objectname = gc_object_name-orgman.
setfield ls_organisation REF_GUID lv_guid_h.
setfield ls_organisation REF_HANDLE lv_handle_h.
setfield ls_organisation REF_KIND gc_object_ref_kind-orderadm_h.
setfield ls_organisation SALES_ORG_RESP SO_RESP . "(input).
setfield ls_organisation SALES_ORG SALES_ORG. "(input).
setfield ls_organisation DIS_CHANNEL DIS_CHNL. "(input).
setfield ls_organisation DIVISION DIVISION. "(input).
append ls_organisation to lt_organisation.
**********// fill order administration item
perform get_guid changing lv_guid_i.
lv_handle_i = lv_handle_h.
add 1 to lv_handle_i.
clear ls_input_fields.
ls_input_fields-ref_guid = lv_guid_i.
ls_input_fields-ref_handle = lv_handle_i.
*ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_i.
ls_input_fields-objectname = gc_object_name-orderadm_i.
setfield ls_salesorder_item GUID lv_guid_i.
setfield ls_salesorder_item HEADER lv_guid_h.
setfield ls_salesorder_item HANDLE lv_handle_i.
setfield ls_salesorder_item HEADER_HANDLE lv_handle_h.
setfield ls_salesorder_item ORDERED_PROD PRODUCT . "(input).
setfield ls_salesorder_item ITM_TYPE 'ZTAN'.
setfield ls_salesorder_item MODE 'A'.
*adjustment taken from standard include LCMS_MAPPERF04
*(see where-used-list for BAPI_SLSTRANSACT_CREATEMULTI, program LCMS_MAPPERU11)
delete lt_input_fields where fieldname = 'HANDLE'
OR
fieldname = 'HEADER_HANDLE'.
append ls_salesorder_item to lt_salesorder_item.
********// fill schedule line for item
perform get_guid changing lv_guid_sl.
add 1 to lv_handle_sl.
clear ls_input_fields.
ls_input_fields-ref_guid = lv_guid_i.
ls_input_fields-ref_handle = lv_handle_i.
ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_i.
ls_input_fields-objectname = gc_object_name-schedlin.
setfield ls_scheduleline ITEM_GUID lv_guid_i.
setfield ls_scheduleline GUID lv_guid_sl.
setfield ls_scheduleline HANDLE lv_handle_sl.
setfield ls_scheduleline ITEM_HANDLE lv_handle_i.
setfield ls_scheduleline QUANTITY quantity. "(input).
append ls_scheduleline to lt_scheduleline.
********// fill partner line
*perform get_guid changing lv_guid_p.
*the partner use the logical key as well
ls_logical_key-ref_partner_handle = '0001'.
clear ls_input_fields.
ls_input_fields-ref_guid = lv_guid_h.
ls_input_fields-ref_handle = lv_handle_h.
ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_h.
ls_input_fields-objectname = gc_object_name-partner.
ls_input_fields-logical_key = ls_logical_key.
setfield ls_partner REF_GUID lv_guid_h.
setfield ls_partner REF_HANDLE lv_handle_h.
setfield ls_partner REF_KIND gc_object_ref_kind-orderadm_h.
setfield ls_partner REF_PARTNER_HANDLE '0001'.
setfield ls_partner KIND_OF_ENTRY 'C'.
setfield ls_partner PARTNER_FCT '00000001'.
setfield ls_partner PARTNER_NO SOLD_TO. "(input).
setfield ls_partner NO_TYPE 'BP'.
setfield ls_partner DISPLAY_TYPE 'BP'.
move-corresponding ls_partner to ls_logical_key.
append ls_partner to lt_partner.
ls_logical_key-ref_partner_handle = '0002'.
clear ls_input_fields.
ls_input_fields-ref_guid = lv_guid_h.
ls_input_fields-ref_handle = lv_handle_h.
ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_h.
ls_input_fields-objectname = gc_object_name-partner.
ls_input_fields-logical_key = ls_logical_key.
setfield ls_partner REF_GUID lv_guid_h.
setfield ls_partner REF_HANDLE lv_handle_h.
setfield ls_partner REF_KIND gc_object_ref_kind-orderadm_h.
setfield ls_partner REF_PARTNER_HANDLE '0002'.
setfield ls_partner KIND_OF_ENTRY 'C'.
setfield ls_partner PARTNER_FCT '00000002'.
setfield ls_partner PARTNER_NO SHIP_TO . "(input).
setfield ls_partner NO_TYPE 'BP'.
setfield ls_partner DISPLAY_TYPE 'BP'.
move-corresponding ls_partner to ls_logical_key.
append ls_partner to lt_partner.
ls_logical_key-ref_partner_handle = '0003'.
clear ls_input_fields.
ls_input_fields-ref_guid = lv_guid_h.
ls_input_fields-ref_handle = lv_handle_h.
ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_h.
ls_input_fields-objectname = gc_object_name-partner.
ls_input_fields-logical_key = ls_logical_key.
setfield ls_partner REF_GUID lv_guid_h.
setfield ls_partner REF_HANDLE lv_handle_h.
setfield ls_partner REF_KIND gc_object_ref_kind-orderadm_h.
setfield ls_partner REF_PARTNER_HANDLE '0003'.
setfield ls_partner KIND_OF_ENTRY 'C'.
setfield ls_partner PARTNER_FCT '00000003'.
setfield ls_partner PARTNER_NO BILL_TO ."(input).
setfield ls_partner NO_TYPE 'BP'.
setfield ls_partner DISPLAY_TYPE 'BP'.
move-corresponding ls_partner to ls_logical_key.
append ls_partner to lt_partner.
ls_logical_key-ref_partner_handle = '0004'.
clear ls_input_fields.
ls_input_fields-ref_guid = lv_guid_h.
ls_input_fields-ref_handle = lv_handle_h.
ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_h.
ls_input_fields-objectname = gc_object_name-partner.
ls_input_fields-logical_key = ls_logical_key.
setfield ls_partner REF_GUID lv_guid_h.
setfield ls_partner REF_HANDLE lv_handle_h.
setfield ls_partner REF_KIND gc_object_ref_kind-orderadm_h.
setfield ls_partner REF_PARTNER_HANDLE '0004'.
setfield ls_partner KIND_OF_ENTRY 'C'.
setfield ls_partner PARTNER_FCT '00000004'.
setfield ls_partner PARTNER_NO PAYER ."(input).
setfield ls_partner NO_TYPE 'BP'.
setfield ls_partner DISPLAY_TYPE 'BP'.
move-corresponding ls_partner to ls_logical_key.
append ls_partner to lt_partner.
*******// example of a second partner function (custom) with data override
*ls_logical_key-ref_partner_handle = '0002'.
*clear ls_input_fields.
*ls_input_fields-ref_guid = lv_guid_h.
*ls_input_fields-ref_handle = lv_handle_h.
*ls_input_fields-ref_kind = gc_object_ref_kind-orderadm_h.
*ls_input_fields-objectname = gc_object_name-partner.
*ls_input_fields-logical_key = ls_logical_key.
*_set_field ls_partner REF_GUID lv_guid_h.
*_set_field ls_partner REF_HANDLE lv_handle_h.
*_set_field ls_partner REF_KIND gc_object_ref_kind-orderadm_h.
*_set_field ls_partner REF_PARTNER_HANDLE '0002'.
*_set_field ls_partner KIND_OF_ENTRY 'B'. "manual entry...
*_set_field ls_partner PARTNER_FCT customFct(input).
*_set_field ls_partner PARTNER_NO bpNumber(input).
*_set_field ls_partner NO_TYPE 'BP'.
*_set_field ls_partner DISPLAY_TYPE 'BP'.
*_set_field ls_partner TITLE 'Mr.'.
*_set_field ls_partner FIRSTNAME 'John'.
*_set_field ls_partner LASTNAME 'Smith'.
*_set_field ls_partner STR_SUPPL1 'John Smith and Co'.
*_set_field ls_partner STREET 'Street1'.
*_set_field ls_partner STR_SUPPL3 'Street4'.
*_set_field ls_partner HOUSE_NO '42'.
*_set_field ls_partner CITY 'Townville'.
*_set_field ls_partner DISTRICT 'Districtshire'.
*_set_field ls_partner POSTL_COD1 'AA1 2BB'.
*note now ...
*adjustment taken from standard include LCMS_MAPPERF04
*(see where-used-list for BAPI_SLSTRANSACT_CREATEMULTI, program LCMS_MAPPERU11)
*I don't use macro because name of the field in input_table is different
*_set_field ls_partner COUNTRYISO 'GB'.
*instead
ls_partner-COUNTRYISO = 'GB'.
ls_input_fields-fieldname = 'COUNTRY'.
append ls_input_fields to lt_input_fields.
*_set_field ls_partner LANGU_ISO 'EN'.
ls_partner-LANGU_ISO = 'EN'.
ls_input_fields-fieldname = 'LANGU'.
append ls_input_fields to lt_input_fields.
move-corresponding ls_partner to ls_logical_key.
append ls_partner to lt_partner.
*Create sales orders *
call function 'BAPI_SLSTRANSACT_CREATEMULTI'
EXPORTING
testrun = false
TABLES
header = lt_salesorder_header[]
item = lt_salesorder_item[]
partner = lt_partner[]
organisation = lt_organisation[]
input_fields = lt_input_fields[]
scheduleline = lt_scheduleline[]
saved_process = lt_saved_process[]
return = lt_return[].
*************// get the GUID of the created object
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = lt_return1.
INCLUDE ZZGVBAPISALESORDER_GET_GUIDF01.
Edited by: jessica sam on Dec 22, 2008 4:25 PM
Edited by: jessica sam on Dec 22, 2008 4:27 PM
Edited by: jessica sam on Dec 22, 2008 7:05 PM
Edited by: jessica sam on Dec 23, 2008 5:18 AMI know how to trace the Ship to party at line item. When i create an order manually on CRM then the table CRMD_PARTNER has the required entries and the Ship to party at line item is getting populated correctly. Also if i open the order in CRMD_ORDER the ship pto party are being populated correctly at line item..
But if i am trying to replicate this programatcally using the BAPI, i see that the ship to at header is being copied to each line item and this is not what is expected.
If i go and check in the CRMD_PARTNER the data is not filled
correctly as I dont have any ship to party at line item
So finally I even tried to insert the data manually in the CRMD_PARTNER table using an
INSERT statement and even that doesnt work...
https://www.sdn.sap.com/irj/scn/forums
So i am unable to ficgure out what is going wrong
Any body if they have any idea on poulating ship to party programatically in
sales order for each line item please help
I am unable to figure out how to fill PArtner table of this BAPI to populate ship to at line item level
Kindly Help..
Regards,
Jessica Sam -
BizTalk mapping for repeating Nodes using XSLT
Hi,
I am mapping the source schema to destination schema using Custom XSLT file. I have a repeating node in the Sources schema:
Period node can repeat any number of times. I am using the XPath in XSLT to map the nodes from source to destination and using the "for-each" loop.
Destination Schema:
I want to map "PeriodID" and "Volume" both to the destination node "html:TD". I am using the following XSLT code:
<xsl:for-each select="/*[local-name()='RootNode' and namespace-uri()='Namespace']/*[local-name()='Periods' and namespace-uri()='Namespace']/*[local-name()='Period' and namespace-uri()='Namespace']">
<html:TR class="data0" level="0">
<html:TD class="data-int" datatype="int">
<xsl:value-of select="./*[local-name()='RootNode' and namespace-uri()='Namespace']/*[local-name()='Periods' and namespace-uri()='Namespace']/*[local-name()='Period' and namespace-uri()='Namespace']/*[local-name()='PeriodID' and namespace-uri()='Namespace']"/>
</html:TD>
<html:TD class="data-dbl" datatype="dbl">
<xsl:value-of select="./*[local-name()='RootNode' and namespace-uri()='Namespace']/*[local-name()='Periods' and namespace-uri()='Namespace']/*[local-name()='Period' and namespace-uri()='Namespace']/*[local-name()='Volume' and namespace-uri()='Namespace']"/>
</html:TD>
</html:TR>
</xsl:for-each>
I am only getting the first value of both the nodes in every loop.
I know that we can use the XPath of the actual Node(PeriodID) in "for-each" loop and use value-of="." to get the current values of the node.
But the problem is I want both the values "PeriodID" and "Volume" repeating in the destination.if you use xpath like you did ( imean without index), you will only get 1 record elements each time.
Either you have to use code like i did, or use index based xpath.
The code i gave you should work, just try to debug it from visual studio. Because xslt is a case sensitive, check if the code i gave you matches the elements in case sensitive. may be you have to use prefixes like s1, s2 etc as per you xsl file declaration.
Check you xsl file for prefix declarations.
you can also try below code, it uses postion() method to get the current for loop index.
<xsl:for-each select="/*[local-name()='RootNode' and namespace-uri()='Namespace']/*[local-name()='Periods' and namespace-uri()='Namespace']/*[local-name()='Period' and namespace-uri()='Namespace']">
<html:TR class="data0" level="0">
<html:TD class="data-int" datatype="int">
<xsl:value-of select="(./*[local-name()='RootNode' and namespace-uri()='Namespace']/*[local-name()='Periods' and namespace-uri()='Namespace']/*[local-name()='Period' and namespace-uri()='Namespace']/*[local-name()='PeriodID' and namespace-uri()='Namespace'])[position()]"/>
</html:TD>
<html:TD class="data-dbl" datatype="dbl">
<xsl:value-of select="(./*[local-name()='RootNode' and namespace-uri()='Namespace']/*[local-name()='Periods' and namespace-uri()='Namespace']/*[local-name()='Period' and namespace-uri()='Namespace']/*[local-name()='Volume' and namespace-uri()='Namespace'])[position()]"/>
</html:TD>
</html:TR>
</xsl:for-each>
but i insist you to verify for any prefix declarations in you xsl file
Please mark the post as answer if this answers your question. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply. -
[Beginner] build a calendar app for each team using out of the box calendar app
Hi all,
First of all, I'm a beginner in sharepoint and need some advice in the following case:
We want to to create a calendar for different teams. Each team has it's own calendar to schedule a standby (all day event) for each day. In the overall view we want to see for each team the schedule who's standby (overlay). My preferred solution is to create
a new site and use the calendar app and customize this a little bit.
I tried to do this by creating a new calendar app and adding different views for each team. I have set the group calendar option on true so we can add users to each team calendar view. Unfortunately, I have understand that it is not possible to set default
users for each view. I´m also looking how I can set a default title filled with the name of the view when you add a schedule, I tried to do this with a calculated value but I can´t get that working. An other question is, can I set permissions on each team
view who can edit the schedule or is it better to create for each team an own list? For example, I want to disable that team members can edit schedules in the past, only schedules in the future is editable.
I'm not not sure if the out of the box calendar app is suitable for my case or I have to look futher in other solutions. Any advice is welcome!Hi,
According to your description, my understanding is that you want to build a calendar app which can add default users for each calendar view and set default title when adding schedule.
For adding default users in each group calendar view using custom JavaScript, here is a detailed code demo for your reference:
SharePoint Group Calendar, Adding default users
For adding default title when adding schedule, I suggest you can add some Jquery to fill the title textbox when the schedule new form loading. You can add the Jquery under PlaceHolderMain tag of calendar new form page.
Set Textbox value-using JQuery
For setting permission in the each team view, I suggest you can check the schedule end time in the edit form, if the schedule time is before the current date time, then you can set all the fileld read only using Jquery.
More information:
Jquery function to compare date with current date
Jquery set read only
Thanks
Best Regards
TechNet Community Support
Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
[email protected] -
To view reports in new page for each cutomer using Report Designer
HI all
I have a requirement to view the data (key figures) for each customer in a new page.
I have created the same using the Report Designer tool.
Now there is setting for this Group Header 'Customer' i have selected the option 'repeat group header on each page'
still the query when generated, gives fine results for certain cases but not for all.
like it will show the each customers in a fresh page for some pages , then in midst there would some 2-3 customers in the same page.
There is no relation between these customers , they are same as the other customers, no difference at all.then i am not able to figure out the reason why it is behaving so odd.
Thanks
RameshRamesh,
right now there really is no way to solve what you are looking for. There partial solutions, but you will not be able to force a page break in a dynamic report.
Here is what I have faced, and what I have come up with so far:
I have a series of reports that have the same column heading, but spread over 5 pages in a fixed structure. I need to be able to re-use the header and the general report design with 6 reports. Here is my solution:
1. Create an outline of the report. I did all the formatting by creating a report section for each page. You can force page breaks between the pages. Upgrade to patch 1502 (came out last week) and you will see some new functionality (such as fit to page, page numbers, etc).
2. Insert all you page breaks and do all the formatting.
3. Insert an infoprovider. Once in, you can just drag and drop the key figure cells into your formatted report.
4. Create additional modification for formatting as needed.
This fixes my problem (for now), but I had to do a lot of work to come up with this. Also, the latest patch (1501 and 1502) has created an issue for me - there is a null exception when I try to use a variable or a filter value in the report body - I can't save the report. I have an OSS message out, but our BASIS guys are going to be taking the lead on troubleshooting this.
The reason that you are seeing some customers on the new pages is probably because of "how the cookie falls" - they just fit that way.
I am trying to be positive and overcome the limitations that are in place right now. If my technical issue is solved, I would recommend upgrading to the new patch (1403 is the latest stable one in my opinion)
good luck
Pavel -
SAS Token failed with 403 error while generating for each request using ARR module
Hi,
We are doing an e-Learning application, which plays a course on the browser (inside a div control). The course contains list of static contents such as html, js, css etc., and media files .mp4. We are hosting the static contents (.html, .js, .css etc) into
Azure blob storage and media files into Media Service and CDN.
When user triggers to take a course, the browser first request the Web Role with landing page (Ex: FirstPage.html) and with Course Unique Id - Ex:
https://cloudservice1.cloudapp.net/course/courseid/firstpage.html. We have written a custom ARR Module (http://www.iis.net/learn/extensions/url-rewrite-module/developing-a-custom-rewrite-provider-for-url-rewrite-module),
which receives the request, parse it and generate blob storage url with SAS token using C# code for each file. Then route to blob storage. (we have already passing storage account details to ARR Module using Web.config)
For single user, the course plays fine. But we do the load testing with > 400 user load (with 5 instances), we are getting many 403 errors (and not all files). If the load is less than 200, we don’t get such issue.
Also, we are using REST code to generate the SAS token. When the SAS token expiration time extending more than 60 min, getting error “Access without signed identifier cannot have time window more than 1 hour”. As the code is exist in ARR Module, unable to
refer the Storage Client assembly. This 60 min time interval is for each file request – so there could not be an issue on expiration, but feeling this might be an issue?
Can you please point me what could be the issue and how to solve this. Is the ARR Module caching the SAS token and providing the same even after the expiration time?
Many Thanks, Thirumalai Mhi,
There is a similar thread (http://stackoverflow.com/a/17572316 ), I recommend you could refer to it.
And I'd like to know how to set the expiry time in your code, and you could see this page (http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-shared-access-signature-part-1/
Regards,
Will
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
How to deliver dashboard page for each user using IBOT.
Hi all,
I have setup SA_SYSTEM and able to deliver the reports to indivisaul users,
Now I want to send the dashboard page for indivisual user..
How we can impliment this.
My IBOT run for all users and deliver the mail...similarly we want for dashboard page.I have created session variable and used it in default prompt and used a presentation variable.
My report is refering this presentaion varable..
I can see the log ..reports are generating for each MD's Now.
I am getting PDF in mail also but error.
Request was canceled
Odbc driver returned an error (SQLExecDirectW).
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred.
[nQSError: 46066] Operation cancelled. (HY000) -
Looking for working example using javafx.builders.HttpRequestBuilder
Hi,
Is there any working example using javafx.builders.HttpRequestBuilder and javafx.io.http.HttpRequest to communicate with application server?
Thanks in advance.
LDHi,
Is there any working example using javafx.builders.HttpRequestBuilder and javafx.io.http.HttpRequest to communicate with application server?
Thanks in advance.
LD -
How to find the lowest grade for each student using a Select query?
Hey I'm having a bit of trouble here
I have this table
Student - Grade
John - 8
Richard - 9
Louis - 9
Francis - 5
John - 13
Richard - 10
Peter - 12
Grades can range from 0 to 20.
Name - varchar(50)
Grade - integer
I am trying to generate a SQL search to find each lowest grade for each student.
So far I have done:
select s.name,s.grade
from student s
where s.grade = (select min(grade) from student)
The result of that search returns me only the lowest grade of all the grades posted above, which is Francis - 5.
I want to find the lowest grade, but not only for Francis but also for every other student in the table.
How do I do that?
Thank you in advanced.ok,
Now we are moving into Analytic SQL:
with student as (select 'John' name, 8 grade, 'fail' result from dual union all
select 'John' name, 13 grade, 'pass' result from dual union all
select 'Francis', 5 grade, 'fail' from dual union all
select 'Peter', 12, 'pass' from dual)
-- End of your test data
SELECT name,
MAX (result) KEEP (DENSE_RANK FIRST ORDER BY grade) result,
MIN (grade) min_grade
FROM student
GROUP BY namePlease note that I passed ;)
Regards
Peter
To read more:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/functions056.htm#SQLRF00641 -
I just switched to a Mac and installed Photoshop Elements 13. I previously worked with many years with Photoshop Elements 6 on a PC where I used the contact sheet function -- with each's photo's caption included -- to print print a collection of 400+ member photos for a club I belong to. This worked beautifully. I assumed I'd still have this ability with my new software, but can't figure out how to do it. Help.
Try using psd. Some rerports indicate some confustion between the apps with TIFF. See:
https://discussions.apple.com/message/15921933#15921933
I cannot confirm, nor test, since I use PS CS5, and not Elements.
Ernie -
solved while writing question :)
Edited by: user10966625 on Sep 27, 2010 6:07 AM
Edited by: user10966625 on Sep 27, 2010 6:08 AMi changed my logic i am using single table that's not the issue.
can u tell me how do i control connections in your code do i need to add any new parameter i need to immediately quit if connection is failed , but right know its taking time before it goes to other server in loop
Function Get-SQLConn{
Param(
$server
Try{
$connStr="Data Source=$server;Integrated Security=true;Initial Catalog=master;"
$conn=new-object Data.SqlClient.SqlConnection($connStr)
$conn.Open()
$conn
Catch{
throw $_
if($conn=Get-SQLConn -server .\sqlexpress){ $conn.Close()} -
Need a multi-level control break report displaying a cross-tab for each ...
I need a multi-level control break report that displays a cross-tab report for each
detail and subtotal. The individual cross-tabs are no problem. There are two issues:
1) How to get many cross-tabs (thousands) to appear in one report.
2) How to provide cross-tabs in-line on the multi-level subtotal lines.
Here is a concrete example.
Suppose the data base contains this table:
road (
id_number number, -- this is an artificial PK
city varchar2,
county varchar2,
state varchar2,
length number,
owner varchar2, -- roads may be owned by cities, counties, states, and others
surface_type varchar2 -- the surface type may be gravel, asphalt, concrete, and others
The table is populated with several million records that include every
length of road in a US city.
It is OK to suppose that all the attributes in all the records are not null.
Without the PK, there would be millions of duplicates,
which should all contribute to the summed lengths.
The report I need is like a control break report with a detail line for each
city together with subtotals for each county and state and
a grand total for the US at the end.
However, each detail and total line needs to be a cross-tab report
summing the length over the city, county, state or US
(whichever is called for at that location)
for each combination of owner and surface_type.
so the report would have the following structure:
a city cross-tab for the first city in county 1/state 1
a city cross tab for the last city in county 1/state 1
a cross-tab for count 1
a city cross tab for the first city in county 2/state 1
a city cross tab for the last city in county 2/state 1
a cross tab for state 1
a cross-tab for the US
Any suggestions will be appreciated.
This problem comes up because my client's legacy system,
which is being replaced,
already has such a report (in COBOL).
Thanks!!!
Steve
PS, I know one ugly way to do it. Namely, make a variable for each
possible combination of owner and surface. Then code an ordinary control
break report. However, I am looking for something better.Hi Jenna_Fire,
According to your description, you have a matrix contains total for each group on each level. Now your requirement is, when you click on any number (data field or total), it will go to the detail report which returns all the detail information of the people
within the group scope. For example, if you click on the total of Active users in United States, it will return the detail information of Active users in New York and Texas. Right?
In this scenario, we should set the parameter (@Country, @State, @City) allow multiple values in both main and detail report. And in Default Value (@Country, @State, @City), query out all distinct values. In the textbox which contains
those total values, when set use these parameters to run the report, we only need to pass the parameters of parent groups. For example, if we click on the total of Active users in New York, we only need to pass Country, State, Status to detail report, and
in the detail report, the City parameter will use all distinct values (Default Values) because we don't pass the City parameter. We have tested this case with sample data in our local environment. Here are steps and screenshots for your reference:
1. Create parameter Country, State, City and Status in both main report and detail report. Set both Available Value and Default Value get values from query (Create a dataset for each parameter, use "select distinct [column] from [table]" as query). Set allow
multiple values for parameter Country, State and City in both reports.
2. In corresponding textbox, pass appropriate parameters in go to report Action.
4. Filter data in detail report (in where clause or using filters).
5. Save and preview. It looks like below:
Reference:
Using Parameters to Connect to Other Reports
If you have any question, please feel free to ask.
Best Regards,
Simon Hou -
Multi-column Index vs One index for each column
Hello everyone,
i have one table about 20 000 000 rows, some developers have to generate reports on it and i want to create indexes on this table.
The table has 34 columns, no primary key, no unique keys.
The "where..." clause of the reports usually use 8 columns but some reports uses 8 + some other columns.
can any one help me on what kind of indexes do i have to create?
1. one index for each column used in "where clause"
2. one index for 8 columns and some other indexes for other used columns
3. one index for all columns
or something else etc...
br flagi have one table about 20 000 000 rows, some developers have to generate reports on it and i want to create indexes on this table.
The table has 34 columns, no primary key, no unique keys.
The "where..." clause of the reports usually use 8 columns but some reports uses 8 + some other columns.
can any one help me on what kind of indexes do i have to create?
1. one index for each column used in "where clause"
2. one index for 8 columns and some other indexes for other used columns
3. one index for all columns
or something else etc...What's the version of your data base? what kind of database you have, DWH or OTLP? The answer might depend on the type of database as far as bitmap indexes might suit or might not depending if you are runing DWH or OLTP kind of database
Let me suppose that you are runing OLTP database and you have a where clause with 8 columns.
1) are all those where clause equalities (where col1 = and col2 =) or there are inequalities?
2) could you evaluate the most repetitive columns?
3) could you know the column that could have the best clustering factor (the column which most follow a certain order in the table)
Based on that I would suggest to create one b-tree index having 8 columns (even though that it seems for me to high) this index should follow the following points:
1) put the most repetitive column at the leading edge (and compress the index if necessary)
2) put the columns that are used in equalitity predicate first
3) put the column having the best clustering factor first
The most precise index you have the best access you could gain.
Of course that you have to know that an index access is not always good and a FULL table scan is not always bad.
Best regards
Mohamed Houri
www.hourim.wordpress.com
Maybe you are looking for
-
Problem with iTunes and Bose SoundLink Mini
Hello everyone, After upgrading to Yosemite (10.10) I'm dealing with an annoying problem when using my bluetooth speaker with the macbook pro. Whenever I disconnect the speaker (by pressing its power button) or when it disconnects by itself (when it
-
CALCULATION IN THE HEADER IN SAP SCRIPT!
friends... i have designed a form z_pm_common..which i have copied from standard.pm_common. i have made some changes to the layout. now at the header i have a field : DURATION OF JOB :&AFVGD-ARBEI& &AFVGD-ARBEH& AFVGD-ARBEI IS WORK DURATION.I.E 6.3
-
Upon startup, myG40 shows the POST page, then I hear a high pitch noice briefly, and the display goes dark. The external video connector does work, but the lcd screen stays dark. I have a second machine that I can use for parts. Can someone recommen
-
How can I get error message when calling pl/sql
Hi, I call a pl/sql java wrapper generated by Rosetta. public static void startWf( OracleConnection _connection, BigDecimal p_goal_header_id, BigDecimal p_submiter_userid, String p_commit, String p_init_msg_list, String [] x_return_status, BigDecimal
-
FI: HOw we can differentiate contra account items(offseting items) ?
HI, Can anyone tell me how to identify the contra account items than normal items in BSEG table. both accounts are maintained in HKONT field of BSEG, but which field will identify the same? Mrunal