Teststand Customizin​g Report Header - XML
I wanted to simply add an image to the report header, and I use the ModifyReportHeader callback and the added the following expression. This shows the image correctly for HTMl report, but gives an error with the XML style with expand.xsl style sheet.
What did I do wrong?
Parameters.ReportHeader = "<img src='C:\\Logo.jpg'>" + Parameters.ReportHeader
Thanks,
Top Cat
Top Cat,
first of all, you are missing the closing tag '</img>'. This is optional for HTML, but required for XML. This will remove the error message.
But still, the image will not be displayed because the style sheet does not instruct the browser to do so. The best approach for you is to modify the style sheet (backup it first!) to display your image. If it is a static image, this is all you have to do.
hope this helps,
Norbert
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it.
Similar Messages
-
Teststand, modifying xml report header
1) How do I add a station gloabl variable to the XML report header? I am using standard expand.xsl.
2) Does the example on this page work to change the displaying execution time in HH:MMS format? I am not seeing the expected resutls.
http://zone.ni.com/reference/en-XX/help/370052H-01/tssuppref/infotopics/changing_time_display/
Thanks,
-TCHi,
Here are the answers to your queries assuming you are using teststand 4.2 or above:
1. Report header modification in expand.xsl is mentioned in the following link: http://zone.ni.com/devzone/cda/epd/p/id/4759
In this explanation, the text which is getting display after the report generation can be replaced by a variable(local or global) in the "Modifyreportheader" callback.
2. The display execution does work as explained by NI in the link provided.
If you want the example for the above two queries please find the attached files and explaination given below.
In the sequence file, in "ModifyReportheader" callback, the first statement includes " Locals.newstring=" <Prop Name='New_Text' Type='String' Flags='0x0'><Value>"+Locals.message+"</Value> </Prop>
where "locals.message" can be replaced by global variable.
and you need to place the "expand.xsl" in stylesheets folder. Please rename the existing "expand.xsl" and place the new one.
Hope this helps.
Regards,
Surya.
Attachments:
Reportheader.zip 25 KB -
Visual Studio TestStand API runtime enable/disable XML reporting file creation
I am looking for a Visual Studio C# solution to selectively disable creation of the report generation XML file using the TestStand API.
These XML files are useful for active troubleshooting for technicians, but wind up cluttering important directories with useless information most of the time.
I am aware that the XML file creation can be disabled through the TestStand Sequence Editor menu item Configure | Result Processing | Output Name Report | Enabled unchecked option.
This is helpful, but:
1. I have not found a way to check-uncheck this feature at runtime.
2. I do not believe that this would be an effective solution for my instal-less Base Deployment Paradigm.
Any help or ideas would be appreciated!
Solved!
Go to Solution.Thank you for the quick and concise response James_Grey!
This is useful, complete, and implementable but not exactly what I was hoping for.
I was hoping to be able to enable/disable the XML file creation for the currently executing instance of the engine prior to sequence start.
I would rather not disable reporting through a configuration file that would effectively disable it for all uses of TestStand until it was re-enabled again.
Are my expectations unrealistic?
Does anyone have any idea how creation of the XML file can be enabled/disabled for an active instance of the engine prior to sequence start through the API without altering the file based configuration of TestStand?
I have seen some postings around 2008 that indicate this can be done, but I was unsuccessful implementing those solutions in TestStand 2013. -
XML publisher report header issue
Hi,
I am facing a unique issue. The problem is : I have two groups: One is with Organization and other at employee level. For each organization I need to reset the page numbers. That I could achieve using @section. I need to put a page break for every employee. And the new employee name should go into the report header(should be repeating at all the pages of the report till the employee name for that org is not changing. Also the page number should not be reset at employee level). The report header is something like :
Organization:
Employee name:
Date:
For me the first employee name is repeating in all the pages. Please advice if anyone has worked on similar situation. I had posted this question in BI standard edition forum but have not received any reply. I guess I posted it in wrong forum..
Thanks,
Sid..Hi,
Use the start:body syntax and move the header items into the main part of the document before the start:body tag. Put a page break before the end for each of your employee group.
Regards,
Gareth
Blog: http://garethroberts.blogspot.com/ -
Report header from a spreadsheet
I am using teststand 4.0 & for report geneartion .xml format. I want to know is that report header can be obtained from a excel spreadsheet.This configuration i want to make it only once not for every sequence i make every time i.e, i want the header information should be taken form excel spreadsheet every time i run a sequence automatically every time. This should automatically apply to every sequence i make.
No. What ever i write in report header is being reflected in the results sheet. Only the things which i do through expand.xsl sheet is getting reflected in the result.
-
How to create a report using XML data source from Crystal Report Designer
Hi,
Iu2019m having Crystal Report Designer XI R2 SP4. Iu2019m trying to create a report using XML data source stored on disk. This is a customer order report and the xml is structured in such a way that it has an order details header part (master) and then it has several order lines (detail). One order line can have several order line characteristics (detail-detail). So what I need to know is now I can design this layout from the designer. If this was done using views I can do it with sub-reports but using xml data this seems to be different. Can you help me to design this layout? I have included the xml and xsd as well.
Thank you in advance.
Regards,
Chanaka
XML
<?xml version="1.0" encoding="UTF-8"?>
<CUSTOMER_ORDER_CONF_REP_REQUEST xmlns:xsi="http://www.w3.org/2001/XMLSchema" xmlns="urn:ifsworld-com:customer_order_conf_rep">
<CUSTOMER_ORDER_CONF_REP>
<ORDER_NO>D555809</ORDER_NO>
<PRINTED_DATE>2009-03-26T08:52:54</PRINTED_DATE>
<AUTHORIZE_NAME>Chanaka</AUTHORIZE_NAME>
<CUSTOMER_NO>CU-1473-INV</CUSTOMER_NO>
<CUST_NAME>Mr.Johan Matts</CUST_NAME>
<SHIP_ADDR_1>93,Main Street</SHIP_ADDR_1>
<SHIP_ADDR_2>Negambo Road</SHIP_ADDR_2>
<SHIP_ADDR_3>Watthala</SHIP_ADDR_3>
<SHIP_ADDR_4>SRI LANKA</SHIP_ADDR_4>
<BILL_ADDR_1>93,Main Street</BILL_ADDR_1>
<BILL_ADDR_2>Negambo Road</BILL_ADDR_2>
<BILL_ADDR_3>Watthala</BILL_ADDR_3>
<BILL_ADDR_4>SRI LANKA</BILL_ADDR_4>
<CUSTOMER_PO_NO>112984638</CUSTOMER_PO_NO>
<CUSTOMER_FAX>112984639</CUSTOMER_FAX>
<CUSTOMER_EMAIL>abcbababab</CUSTOMER_EMAIL>
<ORDER_LINES>
<ORDER_LINE>
<LINE_NO>1</LINE_NO>
<CUSTOMER_PART_NO>NW-IP11</CUSTOMER_PART_NO>
<CUSTOMER_PART_DESC>iPod</CUSTOMER_PART_DESC>
<SALE_UNIT_PRICE>1200</SALE_UNIT_PRICE>
<PRICE_TOTAL>1200</PRICE_TOTAL>
<DISCOUNT>0</DISCOUNT>
<PRICE_QTY>1</PRICE_QTY>
<ORDER_LINE_CHARACTERSTICS>
<CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ID xsi:nil="1"/>
<CHARACTERISTIC_VALUE xsi:nil="1"/>
</CHARACTERISTIC_ITEM>
</ORDER_LINE_CHARACTERSTICS>
</ORDER_LINE>
<ORDER_LINE>
<LINE_NO>2</LINE_NO>
<CUSTOMER_PART_NO>NW-IP24</CUSTOMER_PART_NO>
<CUSTOMER_PART_DESC>XGA Projector</CUSTOMER_PART_DESC>
<SALE_UNIT_PRICE>500</SALE_UNIT_PRICE>
<PRICE_TOTAL>1500</PRICE_TOTAL>
<DISCOUNT>0</DISCOUNT>
<PRICE_QTY>3</PRICE_QTY>
<ORDER_LINE_CHARACTERSTICS>
<CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ID>1</CHARACTERISTIC_ID>
<CHARACTERISTIC_VALUE>Free Instalation</CHARACTERISTIC_VALUE>
</CHARACTERISTIC_ITEM>
</ORDER_LINE_CHARACTERSTICS>
</ORDER_LINE>
<ORDER_LINE>
<LINE_NO>3</LINE_NO>
<CUSTOMER_PART_NO>NW-IP02</CUSTOMER_PART_NO>
<CUSTOMER_PART_DESC>Sony DVD Player</CUSTOMER_PART_DESC>
<SALE_UNIT_PRICE>1000</SALE_UNIT_PRICE>
<PRICE_TOTAL>1000</PRICE_TOTAL>
<DISCOUNT>0</DISCOUNT>
<PRICE_QTY>1</PRICE_QTY>
<ORDER_LINE_CHARACTERSTICS>
<CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ID>1</CHARACTERISTIC_ID>
<CHARACTERISTIC_VALUE>Free 5 DVDs</CHARACTERISTIC_VALUE>
</CHARACTERISTIC_ITEM>
</ORDER_LINE_CHARACTERSTICS>
</ORDER_LINE>
<ORDER_LINE>
<LINE_NO>4</LINE_NO>
<CUSTOMER_PART_NO>NW-IP99</CUSTOMER_PART_NO>
<CUSTOMER_PART_DESC>Flatscreen TV</CUSTOMER_PART_DESC>
<SALE_UNIT_PRICE>1500</SALE_UNIT_PRICE>
<PRICE_TOTAL>1350</PRICE_TOTAL>
<DISCOUNT>10</DISCOUNT>
<PRICE_QTY>1</PRICE_QTY>
<ORDER_LINE_CHARACTERSTICS>
<CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ID>1</CHARACTERISTIC_ID>
<CHARACTERISTIC_VALUE>Free Delivery</CHARACTERISTIC_VALUE>
</CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ID>2</CHARACTERISTIC_ID>
<CHARACTERISTIC_VALUE>1 year additional warranty</CHARACTERISTIC_VALUE>
</CHARACTERISTIC_ITEM>
</ORDER_LINE_CHARACTERSTICS>
</ORDER_LINE>
<ORDER_LINE>
<LINE_NO>5</LINE_NO>
<CUSTOMER_PART_NO>NW-IP56</CUSTOMER_PART_NO>
<CUSTOMER_PART_DESC>Sony MP3 Player</CUSTOMER_PART_DESC>
<SALE_UNIT_PRICE>200</SALE_UNIT_PRICE>
<PRICE_TOTAL>400</PRICE_TOTAL>
<DISCOUNT>0</DISCOUNT>
<PRICE_QTY>2</PRICE_QTY>
<ORDER_LINE_CHARACTERSTICS>
<CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ID>1</CHARACTERISTIC_ID>
<CHARACTERISTIC_VALUE>Free carry belt</CHARACTERISTIC_VALUE>
</CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ID>2</CHARACTERISTIC_ID>
<CHARACTERISTIC_VALUE>Free promotional 4GB memory bar</CHARACTERISTIC_VALUE>
</CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ITEM>
<CHARACTERISTIC_ID>3</CHARACTERISTIC_ID>
<CHARACTERISTIC_VALUE>No warranty on memory bar</CHARACTERISTIC_VALUE>
</CHARACTERISTIC_ITEM>
</ORDER_LINE_CHARACTERSTICS>
</ORDER_LINE>
</ORDER_LINES>
</CUSTOMER_ORDER_CONF_REP>
</CUSTOMER_ORDER_CONF_REP_REQUEST>
XSD
<?xml version="1.0" encoding="UTF-8"?>
<?report module="ORDER" package="CUSTOMER_ORDER_CONF_REP" ?>
<xs:schema targetNamespace="urn:ifsworld-com:customer_order_conf_rep" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:ifsworld-com:customer_order_conf_rep" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="CUSTOMER_ORDER_CONF_REP_REQUEST">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="CUSTOMER_ORDER_CONF_REP">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="50">
<xs:element name="ORDER_NO" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PRINTED_DATE" type="xs:dateTime" nillable="true" minOccurs="0"/>
<xs:element name="AUTHORIZE_NAME" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CUSTOMER_NO" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CUSTOMER_PO_NO" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CUST_NAME" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SHIP_ADDR_1" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SHIP_ADDR_2" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SHIP_ADDR_3" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SHIP_ADDR_4" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BILL_ADDR_1" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BILL_ADDR_2" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BILL_ADDR_3" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BILL_ADDR_4" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CUSTOMER_FAX" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CUSTOMER_EMAIL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ORDER_LINES" nillable="true" minOccurs="0">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="ORDER_LINE">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="39">
<xs:element name="LINE_NO" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SALE_UNIT_PRICE" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="PRICE_TOTAL" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="DISCOUNT" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="PRICE_QTY" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="CUSTOMER_PART_NO" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CUSTOMER_PART_DESC" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ORDER_LINE_CHARACTERSTICS" nillable="true" minOccurs="0">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="CHARACTERISTIC_ITEM">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="6">
<xs:element name="CHARACTERISTIC_ID" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CHARACTERISTIC_VALUE" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>Hi Sourashree,
Thank you for the response and ideas you have given me so far. I can get the fetch the data from the data source without any problem. That is I do the following,
1. New Report
2. From Create New Connection-> XML
3. Provide the u201CLocal XML Fileu201D and have u201CSpecify Schema Fileu201D checked -> Next
4. Provide the u201CLocal Schema Fileu201D -> Finish
Then I can see the following under XML
+ CUSTOMER_ORDER_CONF_REP_REQUEST
CUSTOMER_ORDER_CONF_REP_REQUEST
CUSTOMER_ORDER_CONF_REP_REQUEST/CUSTOMER_ORDER_CONF_REP
CUSTOMER_ORDER_CONF_REP_REQUEST/ CUSTOMER_ORDER_CONF_REP/ORDER_LINES
CUSTOMER_ORDER_CONF_REP_REQUEST/ CUSTOMER_ORDER_CONF_REP/ORDER_LINES/ORDER_LINE
CUSTOMER_ORDER_CONF_REP_REQUEST/ CUSTOMER_ORDER_CONF_REP/ORDER_LINES/ORDER_LINE/ORDER_LINE_CHARACTERSTICS
CUSTOMER_ORDER_CONF_REP_REQUEST/ CUSTOMER_ORDER_CONF_REP/ORDER_LINES/ORDER_LINE/ORDER_LINE_CHARACTERSTICS/CHARACTERSTIC_ITEM
And from here if I add the following three I can get all the fields I need to the report
CUSTOMER_ORDER_CONF_REP_REQUEST/CUSTOMER_ORDER_CONF_REP
CUSTOMER_ORDER_CONF_REP_REQUEST/ CUSTOMER_ORDER_CONF_REP/ORDER_LINES/ORDER_LINE
CUSTOMER_ORDER_CONF_REP_REQUEST/ CUSTOMER_ORDER_CONF_REP/ORDER_LINES/ORDER_LINE/ORDER_LINE_CHARACTERSTICS/CHARACTERSTIC_ITEM
Then I come to the Linking section. Here I canu2019t link anything. There is a common field called u201CInternal_IDu201D but I canu2019t link using it. So I get a message when I click Next. From here I add all the fields.
For this point onwards only I need help. How do I group, add fields and design the layout so I can get an report output as follows.
Date
Order number Authorized code
Customer No
Name
Phone
Fax email
Shipping address 1 Billing Address 1
Shipping address 2 Billing Address 2
Shipping address 3 Billing Address 3
Shipping address 4 Billing Address 4
Order Line 1 detailsu2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026 LINE_NO CUSTOMER_PART_NO CUSTOMER_PART_DESC SALE_UNIT_PRICE PRICE_QTY DISCOUNT PRICE_TOTAL
Characteristic details belonging to Order line 1 CHARACTERISTIC_ID 1 CHARACTERISTIC_VALUE1
CHARACTERISTIC_ID 2 CHARACTERISTIC_VALUE2
CHARACTERISTIC_ID 3 CHARACTERISTIC_VALUE3
Order Line 2 detailsu2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026
Characteristic details belonging to Order line 2
Order Line 3 detailsu2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026
Characteristic details belonging to Order line 3
Order Line 4 detailsu2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026
Characteristic details belonging to Order line 4
Order Line 5 detailsu2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026
Characteristic details belonging to Order line 5
How can I achieve this kind of a layout using the give xml and xsd? Should I use grouping if so how should I do the grouping?
I have included the full xml and xsd in the first mail I posted but I canu2019t see it now. I can include that again if you want.
Regards,
Chanaka -
How to show sysdate in report header
Hi everyone
i want to show the Sysdate option in my report header.
i have been looking around and i found out that i have to add {$SYSDATE()$} to my report default value, the issue is
1) cant find where is my default value so i can edit it
2) is there anyway that i can write this comman {$SYSDATE()$} in my header and it will call the system date ?
thanksIn the Data Model Editor go to Parameters.
Create a New Parameter
1. Give it a Name P_Sysdate
2 set Data Type to Date
3 Set Default Value to {$SYSDATE()$}
when you create you XML it should look like
<!--Generated by Oracle BI Publisher 11.1.1.6.7-->
<DATA_DS>
<P_SYSDATE>2013-07-03T01:00:00.000-04:00</P_SYSDATE>
<G_1> -
Matrix report in XML publisher with dynamic column groups
hi,
i have one matrix report in txt format having 5 columns under 1 month heading.
Now i want that all these 5 columns should repeat for multiple months depending upon input parameters.
S. No.
Organization Name
Organization Id
Project Code
1
GRANDWOODS 2
6825
1495
month
January
Wrk Count Ven
Wrk Cont Prw New
Wrk Amt Ven New
Wrk Amt Prw New
Tot Amt New
New
0
0
0
0
0
Existing
0
1
0
255000
255000
Total
0
1
0
255000
255000
rtf template is as follows:
S. No.
Organization Name
Organization Id
Project Code
F CS_11
ORGANIZATION_NAME
ORGANIZATION_ID
PROJECT_CODE E
month
Wrk Count Ven
Wrk Cont Prw New
Wrk Amt Ven New
Wrk Amt Prw New
Tot Amt New
New
F WRK_COUNT_VEN_NEW
WRK_CONT_PRW_NEW
WRK_AMT_VEN_NEW
WRK_AMT_PRW_NEW
TOT_AMT_NEW
Existing
F WRK_CONT_VEN_EXISTING
WRK_CONT_PRW_EXISING
WRK_AMT_VEN_EXISTING
WRK_AMT_PRW_EXISTING E
TOT_AMT_EXIS
Total
TOT_CONT_VEN_NEW_EXIS
TOT_CONT_PRW_NEW_EXIS
TOT_AMT_VEN_NEW_EXIS
TOT_AMT_PRW_NEW_EXIS
TOT E
E
now, please help me as to how repeat these 5 columns for multiple months.
if anybody has some template for matrix report with multiple coloumn group repeatation, pls. share along with sample data.
regards,
mohit guptaHi,
Check this link for developing the matrix report
Oracle Database and Oracle Applications: Matrix Report in XML Publisher
Regards
Srikkanth -
TestStand 3.1 Report Memory Leak
Hi everyone,
I been looking at the memory usage of my TestStand code lately. I noticed I have a memory leak with On The Fly Reporting using XML report file. I'm currenlty using labview 7.1.1 and TestStand 3.1f for development. I came about this program from seeing test station go to a snails crawl. The program starts out around 100MB and will keep growing using up all the systems memory, the largest I seen was 500MB. What is happening is the testers like to keep the on the fly report screen up during the test and not view the execusion window. At the end of each run the program will grow 10MB to 30MB. I know the problem can be solved by turning off on the fly reporting, but I would like to try find a programing option first.
I have looked at the other forum entries about:
Turning off database collection
Editing model options : ModelOptions.DiscardUnusedResults = True and Parameters.ModelOptions.NumTestSockets = 1
Adjusted the array size of the report to 300
None of the options seem to have worked for me, most the post say move to teststand 3.1 cause it an 3.0 issue.
I was wondering if there are any other options to try in teststand, or any way to turn off/close IE to release memory between tests.
I'm currently running the code on Windows XP SP2
IE6/IE7 depending on the test station
P4 or Centrino with 512MB to 1GB of ram
The GUI window is a modifed example of the basic VI EXE that calls teststand
The code is installed using labview and Teststand deployment builders, so the test machine are using runtime labview 7.1.1 and runtime TestStand 3.1
Thanks to any one who can offer alittle extra help on the topicActually the reports are XML not HTML.
There are alot of pass steps, usualy after a couple of failed steps, the sequence will terminate.
The memory leak seem to exaggerated, since the technicians like to view the Reports Tab instead of Execution Tab when running program. If the operator keeps the view on the execution tab during the program, the report screen is not being updated, so less memory is taken up. Since the techs like to keep the report screen up during the entire test, the xml file constantly being update and the program increases +50MB after the first run. So turning off Reports on the fly, they can not view the report during the test and the memory usuage stays low.
I do not see a leak at all if I do not click on the reports tab, and the leak seems to only happen with XML files, TXT and HTML reports do not cause a memory leak, even when viewed on the fly for the entire test. I wanted to keep XML-expandable cause it easier to see what sequences failed then scanning through the entire report.
I'm using Test UUT call up the test. The executable terminated if you press the exit button on the executable. After test is finished, the standard Pass/Fail comes up then the standard enter UUT serial number comes up.
I'm including the reports option INI I use .
Thanks for you help in this matter, sorry being little late with replying.
Attachments:
report.ini 4 KB -
Hi to all there,
I am generatating my report output in excel format,
I am getting the records but my report header is not coming on Excel.
I have developed this report using reports6i.
can anybody help me.
Thanks in advance
Manvarits not the "layout model" which defines the XML structure but it is the "Data Model", if you include your parameters / variables in one query in data model, you can find the information in the output XML ..
Hope this helps.. -
Modify Report Header using an expression
Hi All,
I would like to know if we can modify the Report Header programmatically? I basically would like to append a couple of lines in the header.
I can think of two ways -
1. ModifyReportHeader callback - this is really not an option for me as we need to do the implementation in a custom step.
2. Override the default reportgen_txt.seq and reportgen_html.seq and edit them as necessary - this one seems a bit ugly to me.
Any other ideas?
thanks and regards,
aCe
Beginner? Try LabVIEW Basics
Sharing bits of code? Try Snippets or LAVA Code Capture Tool
Have you tried Quick Drop?, Visit QD Community.
Solved!
Go to Solution.Ray,
Sorry, I if I was not clear earlier.
This custom step would be used by a test sequence developer who has very little understanding of TestStand.
The idea is that the person would drag and drop this step in to a sequence and add details of the Unit under test during edit-time which then should appear in the report header along with serial numbers etc. when the program is run.
For example, data such as:
Test Specification: X123-456-789 Issue x
Unit Part#: xxxxxxx
Interface Part# xxxxxxxxxxxx
Asking someone to add the callback would then require TestStand skills and would defeat our goal of trying to deskill this operation.
I hope I am making sense!
Thanks and regards,
aCe
Beginner? Try LabVIEW Basics
Sharing bits of code? Try Snippets or LAVA Code Capture Tool
Have you tried Quick Drop?, Visit QD Community. -
XML Publisher report giving XML tag output
Dear All,
Please note that we need to convert the standard report 'Bill of Material Comparison Report' to XML Publisher report.
But we were not able to get the desired PDF output instead it shows only XML output.
This report is not a direct concurrent program call to rdf, this concurrent program is triggered from a function.
How can we overcome this issue..,
Please update,
Many thanks...,Hi Kiran,
Please find the below info:
Could you please confirm whether you have made the standard program's executable as 'XDODTEXE', and created a data definition with the rdf shorname and Data templte with the template defined.
-- Done
Could you also provide how your calling the report and when the request submitted are u able to see the template name on the submitted request ?
-- The report is called through the application (in Bill of materials through a Form Function) When we select the comparison, it will display a comparison form, where we need to select the appropriate parameters and a button called 'Report' if clicked, it will fire the 'Bill of Material Comparison Report' concurrent program
But after the concurrent program submission, we cannot see any template been attached to the submitted conc. pprog. but the template is been already attached to the concurrent program through the XML Publisher Administrator
Many thanks.... -
In order to dynamically display data in the Report Header based in the current record of the Dataset, we started using Shared Variables, we initially used ReportItems!SomeTextbox.Value, but we noticed that when SomeTextbox was not rendered in the body
(usually because a comment section grow to occupy most of the page if not more than one page), then the ReportItem printed a blank/null value.
So, a method was defined in the Code section of the report that would set the value to the shared variable:
public shared Params as String
public shared Function SetValues(Param as String ) as String
Params = Param
Return Params
End Function
Which would be called in the detail section of the tablix, then in the header a textbox would hold the following expression:
=Code.Params
This worked beautifully since, it now didn't mattered that the body section didn't had the SetValues call, the variable persited and the Header displayed the correct value. Our problem now is that when the report is being called in different threads with
different data, the variable being shared/static gets modified by all the reports being run at the same time.
So far I've tried several things:
- The variables need to be shared, otherwise the value set in the Body can't be seen by the header.
- Using Hashtables behaves exactly like the ReportItem option.
- Using a C# DLL with non static variables to take care of this, didn't work because apparently when the DLL is being called by the Body generates a different instance of the DLL than when it's called from the header.
So is there a way to deal with this issue in a multi thread safe way?
Thanks in advance!
Hi Angel,
Per my understanding that you want to dynamic display the group data in the report header, you have set page break based on the group, so when click to the next page, the report hearder will change according to the value in the group, when you are using
the shared variables you got the multiple thread safe problem, right?
I have tested on my local environment and can reproduce the issue, according to the multiple safe problem the better way is to use the harshtable behaves in the custom code, you have mentioned that you have tryied touse the harshtable but finally got
the same result as using the ReportItem!TextBox.Value, the problem can be cuased by the logic of the code that not works fine.
Please reference to the custom code below which works fine and can get all the expect value display on every page:
Shared ht As System.Collections.Hashtable = New System.Collections.Hashtable
Public Function SetGroupHeader( ByVal group As Object _
,ByRef groupName As String _
,ByRef userID As String) As String
Dim key As String = groupName & userID
If Not group Is Nothing Then
Dim g As String = CType(group, String)
If Not (ht.ContainsKey(key)) Then
' must be the first pass so set the current group to group
ht.Add(key, g)
Else
If Not (ht(key).Equals(g)) Then
ht(key) = g
End If
End If
End If
Return ht(key)
End Function
Using this exprssion in the textbox of the reportheader:
=Code.SetGroupHeader(ReportItems!Language.Value,"GroupName", User!UserID)
Links belowe about the hashtable and the mutiple threads safe problem for your reference:
http://stackoverflow.com/questions/2067537/ssrs-code-shared-variables-and-simultaneous-report-execution
http://sqlserverbiblog.wordpress.com/2011/10/10/using-custom-code-functions-in-reporting-services-reports/
If you still have any problem, please feel free to ask.
Regards
Vicky Liu -
Report header is missng while printing or spooling
Hi All,
I have a problem in print a report.its
After getting selection screen of the report ,If i click a print button (it's for execute and print)
the header details are missing in spool ( does not print selection fields of the report are missing in spool).
If i execute the report and got the output ,then i click the print button it's execute properly means in spool i am getting all the output properly ,header details also printed. means selection screen fields means what i entered in selection screen is printing.Its a AVL report.While debugging i am not getting solution.i have investigated in menu painter also.
but i am not getting proper idea to fix the bug.
i am sending the code also.please let me know ASAP
code:
REPORT ZMXXR048 LINE-SIZE 1023 "255 deleted AW2150 GLDK9AAYU9
LINE-COUNT 65
MESSAGE-ID zm
NO STANDARD PAGE HEADING.
*eject
TABLES declaration.
TABLES:ekko, "Purchasing Document: Header
ekpo, "Purchasing Document: Item
a016, "Contract Item AMT25JAN05
a019, "Contract Header AMT25JAN05
t024, "Purchasing Groups
t024e, "Purchasing Organizations
t161, "Purchasing Document Types
t001w, "Plants/branches
lfa1, "Vendor Master (General Section) AMT25JAN05
eket, "Scheduling Agreement Schedule Lines
ekbe, "Purchasing Document: History AMT25JAN05
ekab, "Release Documentation AMT25JAN05
zbsart_doc."Purchasing documents custom structure "GA01
ekkn. "Account Assignment in Purchasing Document "GA19062003
Comment AMT25JAN05
*eject
TYPE-POOLS definition.
TYPE-POOLS slis. "KAK01
*eject
CONSTANTS declaration.
CONSTANTS:
c_t(1) TYPE c VALUE 'T', "AMT25JAN05
c_l(1) TYPE c VALUE 'L',
c_m(1) TYPE c VALUE '4', "AMT25JAN05
c_y(1) TYPE c VALUE 'Y', "AMT25JAN05
c_i(1) TYPE c VALUE 'I',
c_ne(2) TYPE c VALUE 'NE',
c_eq(2) TYPE c VALUE 'EQ', "AMT25JAN05
c_lp(2) TYPE c VALUE 'LP',
c_nb(2) TYPE c VALUE 'NB',
c_ec(2) TYPE c VALUE 'EC',
c_lpa(3) TYPE c VALUE 'LPA',
c_zlp(3) TYPE c VALUE 'ZLP',
c_znba(4) TYPE c VALUE 'ZNBA',
c_mk(2) TYPE c VALUE 'MK', "AMT25JAN05
c_wk(2) TYPE c VALUE 'WK', "AMT25JAN05
c_doqot(1) TYPE c VALUE '"', "AMT25JAN05
c_totals(6) TYPE c VALUE 'TOTALS',
c_x(1) TYPE c VALUE 'X',
c_k(1) TYPE c VALUE 'K', "AMT25JAN05
c_a(1) TYPE c VALUE 'A',
C_S(1) TYPE C VALUE 'S',"insert AW2150 GLDK9AAYU9
c_55(2) TYPE c VALUE '55',
c_56(2) TYPE c VALUE '56',
c_44(2) TYPE c VALUE '44', "AMT25JAN05
c_45(2) TYPE c VALUE '45',
c_1(1) TYPE c VALUE '1',
c_2(1) TYPE c VALUE '2',
c_h(1) TYPE c VALUE 'H',
c_(1) TYPE c VALUE '', "GA18062003.
c_n(1) TYPE c VALUE 'N', "SRI24062003
c_o(1) TYPE c VALUE 'O', "SRI24062003
c_maxdays TYPE p VALUE '93', "GA29072003
c_wk1(10) type c VALUE 'WK1'. "NAR10NOV06
*Begin of Addition by AMT25JAN05
CONSTANTS :
c_3 TYPE i VALUE 3 ,
c_4 TYPE i VALUE 4 ,
c_5 TYPE i VALUE 5 ,
c_8 TYPE i VALUE 8 ,
c_10 TYPE i VALUE 10 ,
c_11 TYPE i VALUE 11 ,
c_12 TYPE i VALUE 12 ,
c_15 TYPE i VALUE 15 ,
c_18 TYPE i VALUE 18 ,
c_20 TYPE i VALUE 20 ,
c_23 TYPE i VALUE 23 , "TUL02022005 "KVI04Feb05
c_40 TYPE i VALUE 40 ,
c_all(4) TYPE c VALUE '&ALL' ,
c_sa(3) TYPE c VALUE '&SA' ,
c_bs(3) TYPE c VALUE '&BS' ,
c_sum(4) TYPE c VALUE '&SUM' ,
c_eb3(4) TYPE c VALUE '&EB3' ,
c_xpa(4) TYPE c VALUE '&XPA' ,
c_omp(4) TYPE c VALUE '&OMP' ,
c_crb(4) TYPE c VALUE '&CRB' ,
c_cre(4) TYPE c VALUE '&CRE' ,
c_ave(4) TYPE c VALUE '&AVE' ,
c_pc10(4) TYPE c VALUE 'PC10' ,
c_coltab(6) TYPE c VALUE 'COLTAB' ,
c_excel(5) TYPE c VALUE 'EXCEL' ,
c_ic1(4) TYPE c VALUE '&IC1' ,
c_dload(5) TYPE c VALUE 'DLOAD' ,
c_refrs(5) TYPE c VALUE 'REFRS' ,
c_waers(5) TYPE c VALUE 'WAERS' ,
c_bprme(5) TYPE c VALUE 'BPRME' ,
c_ekbe(4) TYPE c VALUE 'EKBE' ,
c_meins2(6) TYPE c VALUE 'MEINS2' ,
c_meins3(6) TYPE c VALUE 'MEINS3' ,
c_ekkn(4) TYPE c VALUE 'EKKN' ,
c_ekpo(4) TYPE c VALUE 'EKPO' ,
c_ekko(4) TYPE c VALUE 'EKKO' ,
c_lfa1(4) TYPE c VALUE 'LFA1' ,
c_meins(5) TYPE c VALUE 'MEINS' ,
c_eket(4) TYPE c VALUE 'EKET' ,
c_me33l(5) TYPE c VALUE 'ME33L' ,
c_me23(4) TYPE c VALUE 'ME23' ,
c_bes(3) TYPE c VALUE 'BES' ,
c_bedat(11) TYPE c VALUE 'S_BEDAT-LOW',
c_pur(15) TYPE c VALUE 'PURCHASING DOC.',
c_item(4) TYPE c VALUE 'ITEM' ,
c_doc(8) TYPE c VALUE 'DOC.DATE' ,
c_vendor(6) TYPE c VALUE 'VENDOR' ,
c_vname(11) TYPE c VALUE 'VENDOR NAME' ,
c_plant(5) TYPE c VALUE 'PLANT' ,
c_pdesc(17) TYPE c VALUE 'PLANT DESCRIPTION',
c_sloc(4) TYPE c VALUE 'SLOC' ,
c_pgr(3) TYPE c VALUE 'PGR' ,
c_porg(4) TYPE c VALUE 'PORG' ,
c_mat(8) TYPE c VALUE 'MATERIAL' ,
c_standard(8) TYPE c VALUE 'STANDARD' ,
c_matdesc(20) TYPE c VALUE 'MATERIAL DESCRIPTION',
c_deldate(13) TYPE c VALUE 'DELIVERY DATE' ,
c_qty(13) TYPE c VALUE 'SCHEDULED QTY' ,
c_quom(4) TYPE c VALUE 'OUOM' ,
c_net(9) TYPE c VALUE 'NET PRICE' ,
c_curr(4) TYPE c VALUE 'CURR' ,
c_per(3) TYPE c VALUE 'PER' ,
c_opuom(5) TYPE c VALUE 'OPUOM' ,
c_grqty(6) TYPE c VALUE 'GR QTY' ,
c_gruom(6) TYPE c VALUE 'GR UOM' ,
c_irqty(6) TYPE c VALUE 'IR QTY' ,
c_iruom(6) TYPE c VALUE 'IR UOM' ,
c_trnum(15) TYPE c VALUE 'TRACKING NUMBER' ,
c_rec(12) TYPE c VALUE 'RECEIVER-BBP' ,
c_tcont(18) TYPE c VALUE 'T_CONDITIONS-EBELN' .
*End of Addition by AMT25JAN05
*BEGIN INSERT BB1097 - add a constant for the vendor mat field
CONSTANTS C_VENDMAT(15) TYPE C VALUE 'VENDOR MATERIAL'.
*END INSERT BB1097
*eject
DATA Work fields definition.
DATA : w_repid LIKE sy-repid,
w_color TYPE i,
w_info LIKE sy-lisel, "AMT25JAN05
w_lifnr LIKE eina-lifnr, "AMT25JAN05
w_matnr LIKE eina-matnr, "AMT25JAN05
w_werks LIKE marc-werks, "AMT25JAN05
w_tabkey LIKE cdpos-tabkey, "AMT25JAN05
w_objectid LIKE konp-knumh, "AMT25JAN05
w_len TYPE i , "AMT25JAN05
w_field LIKE konp-kopos, "AMT25JAN05
w_eindt LIKE eket-eindt, "AMT25JAN05
w_ebeln LIKE ekko-ebeln, "ujo1jul
zsort(6) TYPE c, "KAK01
w_fldname(20) TYPE c, "GA16062003.
w_titel LIKE spop-titel, "GA25062003.
w_text1 LIKE spop-textline1, "GA25062003.
w_text2 LIKE spop-textline2, "GA25062003.
W_FLAG(1) TYPE C, "KVI04Feb05
Start of GLDK9A8WWS (AS3848)
Defined variable for line size.
w_linsz LIKE sy-linsz.
End of GLDK9A8WWS (AS3848)
DATA: date_diff LIKE ekko-aedat.
*BEGIN OF SRI26062003
*DATA: w_s1 LIKE ekbe-menge, AMT25JAN05
w_s2 LIKE ekbe-bamng, AMT25JAN05
w_s3 LIKE ekbe-bpmng, AMT25JAN05
w_s4 LIKE ekpo-netpr. AMT25JAN05
w_s5 LIKE ekkn-wempf. AMT25JAN05
w_s6 LIKE ekpo-webaz, AMT25JAN05
*END OF SRI26062003
*eject
DATA Structure definition.
DATA: e_coltab TYPE slis_specialcol_alv.
*eject
DATA Internal table definition with INCLUDE STRUCTURE
*Begin of comment by AMT25JAN05
*DATA: BEGIN OF ibdcdata OCCURS 0.
INCLUDE STRUCTURE bdcdata.
*DATA: END OF ibdcdata.
*End of comment by AMT25JAN05
*eject
DATA Other internal table definition.
DATA: BEGIN OF t_documents OCCURS 0, "Main initial internal table
ekgrp LIKE ekko-ekgrp,
ekorg LIKE ekko-ekorg,
eknam LIKE t024-eknam,
ebeln LIKE ekko-ebeln,
ebelp LIKE ekpo-ebelp,
lgort LIKE ekpo-lgort,
kschl LIKE a016-kschl,
datbi LIKE a016-datbi,
datab LIKE a016-datab,
LOEKZ LIKE EKPO-LOEKZ, "insert AW2150 GLDK9AAYU9
infnr LIKE ekpo-infnr,
pstyp LIKE ekpo-pstyp,
konnr LIKE ekpo-konnr,
ematn LIKE ekpo-ematn,
txz01 LIKE ekpo-txz01,
werks LIKE ekpo-werks,
aedat LIKE ekpo-aedat,
epstp LIKE rm06e-epstp,
lifnr LIKE ekko-lifnr,
waers LIKE ekko-waers, "SRI26062003
name1 LIKE lfa1-name1,
name2 LIKE t001w-name1,
ktmng LIKE ekpo-ktmng,
meins LIKE ekpo-meins,
meins2 LIKE ekpo-meins, "GA23062003
meins3 LIKE ekpo-meins, "GA23062003
bednr LIKE ekpo-bednr,
loevm_ko LIKE konp-loevm_ko,
bsart LIKE ekko-bsart,
eindt LIKE eket-eindt, "SBH01
netpr LIKE ekpo-netpr, "SBh01
peinh LIKE ekpo-peinh, "GA01
bprme LIKE ekpo-bprme, "GA01
menge LIKE ekpo-menge,
menge2 like ekbe-menge, "GA23062003.
bamng LIKE ekbe-bamng, "GA23062003.
bpmng LIKE ekbe-bpmng,
vgabe LIKE ekbe-vgabe, "GA01
webaz LIKE ekpo-webaz,
wempf LIKE ekkn-wempf, "GA19062003.
flgdel(1) TYPE c, "ujo9jul
Start of GLDK9A8WWS (AS3848)
Added fields WEPOS (GR indicator), REPOS (IR indicator) and WEBRE (GR-
based IV indicator).
wepos LIKE ekpo-wepos, "GR indicator
repos LIKE ekpo-repos, "IR indicator
webre LIKE ekpo-webre, "GR-based IV indicator
End of GLDK9A8WWS (AS3848)
ELIKZ LIKE ekpo-ELIKZ, "Delivery "TUL02022005
EREKZ LIKE EKPO-EREKZ, "Invoice AW2150 GLDK9AAYU9
*BEGIN INSERT BB1097 - add column for the vendor mat field. this field
will hold the value of the vendor material #
IDNLF LIKE EKPO-IDNLF,
*END INSERT BB1097
END OF t_documents.
Added begin ujo9jul
*DATA: t_documents_tmp LIKE t_documents OCCURS 0 WITH HEADER LINE.
*Comment by AMT25JAN05
*eject
DATA Other internal table definition.
*Begin of Comment by AMT25JAN05
*DATA: BEGIN OF t_ekko OCCURS 0,
ebeln LIKE ekko-ebeln,
bsart LIKE ekko-bsart,
loekz LIKE ekko-loekz,
aedat LIKE ekko-aedat,
lifnr LIKE ekko-lifnr,
ekorg LIKE ekko-ekorg,
ekgrp LIKE ekko-ekgrp,
waers LIKE ekko-waers,
name1 LIKE lfa1-name1,
END OF t_ekko.
*End of Comment by AMT25JAN05
Added end ujo9jul
*Begin of SRI26062003
DATA:BEGIN OF t_t024 OCCURS 0 ,
ekgrp LIKE t024-ekgrp,
eknam LIKE t024-eknam,
END OF t_t024.
DATA:BEGIN OF t_t001w OCCURS 0 ,
werks LIKE t001w-werks,
name1 LIKE t001w-name1,
END OF t_t001w.
*End of SRI26062003
DATA: BEGIN OF t_conditions OCCURS 0, "Main final internal table
ebeln LIKE ekpo-ebeln,
ekgrp LIKE ekko-ekgrp,
ekorg LIKE ekko-ekorg,
waers LIKE ekko-waers, "SRI26062003
eknam LIKE t024-eknam,
ebelp LIKE ekpo-ebelp,
lgort LIKE ekpo-lgort,
kschl LIKE a016-kschl,
datbi LIKE a016-datbi,
datab LIKE a016-datab,
infnr LIKE ekpo-infnr,
pstyp LIKE ekpo-pstyp,
konnr LIKE ekpo-konnr,
ematn LIKE ekpo-ematn,
txz01 LIKE ekpo-txz01,
werks LIKE ekpo-werks,
aedat LIKE ekpo-aedat,
epstp LIKE rm06e-epstp,
lifnr LIKE ekko-lifnr,
name1 LIKE lfa1-name1,
name2 LIKE t001w-name1,
ktmng LIKE ekpo-ktmng,
meins LIKE ekpo-meins,
meins2 LIKE ekpo-meins, "GA23062003.
meins3 LIKE ekpo-meins, "GA23062003.
bednr LIKE ekpo-bednr,
loevm_ko LIKE konp-loevm_ko,
bsart LIKE ekko-bsart,
eindt LIKE eket-eindt,
netpr LIKE ekpo-netpr,
peinh LIKE ekpo-peinh,
bprme LIKE ekpo-bprme,
menge LIKE ekpo-menge,
menge2 like ekbe-menge, "GA23062003.
bamng LIKE ekbe-bamng, "GA23062003.
bpmng LIKE ekbe-bpmng,
vgabe LIKE ekbe-vgabe, "GA01
webaz LIKE ekpo-webaz,
wempf LIKE ekkn-wempf, "GA19062003.
AGING TYPE I, "insert AW2150 GLDK9AAYU9
ELIKZ LIKE ekpo-ELIKZ, "TUL02022005
EREKZ LIKE EKPO-EREKZ, "insert AW2150 GLDK9AAYU9
coltab TYPE slis_t_specialcol_alv, "SRI24062003
*BEGIN INSERT BB1097 - add column for the vendor mat field. this field
will hold the value of the vendor material #
IDNLF LIKE EKPO-IDNLF,
*END INSERT BB1097
END OF t_conditions.
Internal Table for the Purchasing Group name
*Begin of Comment by AMT25JAN05
*DATA: BEGIN OF t_purchgr OCCURS 0,
name2 LIKE t024-eknam,
END OF t_purchgr.
*End of Comment by AMT25JAN05
internal table for the plant name
*Begin of Comment by AMT25JAN05
*DATA: BEGIN OF t_plant OCCURS 0,
name1 LIKE t001w-name1,
END OF t_plant.
*End of Comment by AMT25JAN05
*Begin of Comment by AW2150
Internal Table for the Vendor Number and Vendor Name
*DATA: BEGIN OF t_lfa1 OCCURS 0,
lifnr LIKE lfa1-lifnr,
name1 LIKE lfa1-name1,
END OF t_lfa1.
*End of Comment by AW2150
*Start of GA19062003
Internal table for the Good Recipient in case of BBP
DATA: BEGIN OF t_ekkn OCCURS 0,
ebeln LIKE ekkn-ebeln, "SRI26062003
ebelp LIKE ekkn-ebelp, "SRI26062003
wempf LIKE ekkn-wempf,
END OF t_ekkn.
*End of GA19062003
Internal Table for EXCEL DOWNLOADING
DATA: BEGIN OF t_conditions_exe OCCURS 0,
ebeln(15) TYPE c,
ebelp(11) TYPE c,
aedat(11) TYPE c,
lifnr(16) TYPE c,
name1(35) TYPE c,
werks(5) TYPE c,
name2(30) TYPE c, "GA16062003.
lgort(4) TYPE c,
ekgrp(3) TYPE c,
ekorg(4) TYPE c,
" eknam(30) type c, "GA16062003.
ematn(20) TYPE c,
txz01(40) TYPE c,
*BEGIN INSERT BB1097 - this field will hold the value of the vendor
material #
IDNLF(35) TYPE C,
*END INSERT BB1097
eindt(13) TYPE c,
menge(13) TYPE c,
meins(4) TYPE c,
netpr(11) TYPE c,
waers(5) TYPE c, "ujo7jul
peinh(4) TYPE c,
bprme(4) TYPE c,
menge2(11) type c,
bamng(11) TYPE c,
meins2(6) TYPE c,
bpmng(11) TYPE c,
meins3(6) TYPE c,
bednr(21) TYPE c,
wempf(12) TYPE c, "GA19062003.
AGING(7) TYPE C, "insert AW2150 GLDK9AAYU9
ELIKZ(23) TYPE c, "TUL02022005
EREKZ(23) TYPE C, "insert AW2150 GLDK9AAYU9
END OF t_conditions_exe.
*eject
*INTERNAL TABLE TO FIND THE RECEIVED AND INVOICED QUANTITY
DATA: BEGIN OF t_ekbe OCCURS 0,
ebelp LIKE ekbe-ebelp,
ebeln LIKE ekbe-ebeln,
vgabe LIKE ekbe-vgabe,
BELNR LIKE EKBE-BELNR,
*Begin Of Change BH9511 20-Aug-07
menge LIKE ekbe-menge,
menge(16) TYPE P DECIMALS 3,
*End Of Change BH9511 20-Aug-07
shkzg LIKE ekbe-shkzg,
END OF t_ekbe.
*INTERNAL TABLE TO FIND THE RECEIVED AND INVOICED UoM
DATA: BEGIN OF t_ekbe_temp OCCURS 0,
ebelp LIKE ekbe-ebelp,
ebeln LIKE ekbe-ebeln,
vgabe LIKE ekbe-vgabe,
menge LIKE ekbe-menge,
END OF t_ekbe_temp.
Added begin ujo7jul
DATA: BEGIN OF t_totals OCCURS 0,
menge LIKE ekpo-menge,
meins LIKE ekpo-meins,
bamng LIKE ekbe-bamng,
meins2 LIKE ekpo-meins,
bpmng LIKE ekbe-bpmng,
meins3 LIKE ekpo-meins,
END OF t_totals.
DATA: BEGIN OF t_tot_netpr OCCURS 0,
netpr LIKE ekpo-netpr,
waers LIKE ekko-waers,
END OF t_tot_netpr.
DATA: BEGIN OF t_tot_peinh OCCURS 0,
peinh LIKE ekpo-peinh,
bprme LIKE ekpo-bprme,
END OF t_tot_peinh.
*Begin of Comment by AW2150
*DATA: BEGIN OF t_eket OCCURS 0,
ebeln LIKE eket-ebeln,
ebelp LIKE eket-ebelp,
eindt LIKE eket-eindt,
END OF t_eket.
Added end ujo7jul
*End of Comment by AW2150
BEGIN OF KAK01
FOR ALV Related Details.
DATA: alv_fieldcat TYPE slis_t_fieldcat_alv,
alv_layout TYPE slis_layout_alv,
alv_exclude TYPE slis_t_extab,
alv_sort TYPE slis_t_sortinfo_alv,
g_variant LIKE disvariant,
gx_variant LIKE disvariant,
gt_event_exit TYPE slis_t_event_exit, "GA23062003.
g_save(1) TYPE c, "GA23062003.
g_exit(1) TYPE c, "AMT25JAN05
lt_dynpread LIKE dynpread OCCURS 1 WITH HEADER LINE,"AMT25JAN05
g_repid LIKE d020s-prog,
END OF KAK01
Start of GLDK9A8WWS (AS3848)
Added the definition of structure for the events that will be used
in the logic for generating the standard report header for the report.
v_events TYPE slis_t_event.
End of GLDK9A8WWS (AS3848)
*eject
PARAMETERS and SELECT-OPTIONS definition
Start of GLDK9A8WWS (AS3848)
Changed the text-100 in the list of text elements. It was changed
from OPEN PURCHASE DOCUMENTS LIST DISPLAY to Open Purchaser Order
Report.
SELECTION-SCREEN: BEGIN OF BLOCK three WITH FRAME TITLE text-100.
End of GLDK9A8WWS (AS3848)
SELECTION-SCREEN: BEGIN OF BLOCK one WITH FRAME TITLE text-060.
SELECT-OPTIONS : s_ekorg FOR ekko-ekorg OBLIGATORY MEMORY ID eko
NO INTERVALS,
s_lifnr FOR ekko-lifnr,
s_werks FOR ekpo-werks MEMORY ID wrk,
s_ekgrp FOR ekko-ekgrp MEMORY ID ekg
NO INTERVALS,
s_ebeln FOR ekko-ebeln MEMORY ID bes,
s_ebelp FOR ekpo-ebelp MEMORY ID bsp,
s_bsart FOR zbsart_doc-bsart MEMORY ID bsa,"GA01
s_pstyp FOR ekpo-pstyp,
s_loekz FOR ekko-loekz,
s_knttp FOR ekpo-knttp MEMORY ID knt,
s_matnr FOR ekpo-matnr MEMORY ID mat,
s_matkl FOR ekpo-matkl MEMORY ID mkl,
start of modifications AW2150 GLDK9AAYU9
s_bedat FOR ekko-bedat OBLIGATORY, "GA29072003
S_BEDAT FOR EKKO-BEDAT,
end of modifications AW2150 GLDK9AAYU9
S_EINDT FOR EKET-EINDT.
PARAMETERS: p_sum AS CHECKBOX, "SRI26062003
start of modification AW2150 GLDK9ABI53
deleted checkbox for manually closed PO
p_pod AS CHECKBOX DEFAULT 'X'."insert AW2150 GLDK9AAYU9
added checkbox for DCI and FI.
P_DCI AS CHECKBOX DEFAULT 'X', "insert AW2150 GLDK9ABI53
P_FI AS CHECKBOX. "insert AW2150 GLDK9ABI53
end of modification AW2150 GLDK9ABI53
SELECTION-SCREEN: END OF BLOCK one .
SELECTION-SCREEN: BEGIN OF BLOCK two WITH FRAME TITLE text-070.
start of insert AW2150 GLDK9ABSZ8
PARAMETERS: P_ALLPO AS CHECKBOX DEFAULT 'X'.
end of insert AW2150 GLDK9ABSZ8
start of insert AW2150 GLDK9AAYU9
this was just moved from the block below. this is not a new
requirement.
PARAMETERS: P_VARI LIKE DISVARIANT-VARIANT NO-DISPLAY. " ALV Variant
SELECTION-SCREEN COMMENT 47(40) VARNAME FOR FIELD P_VARI.
end of insert AW2150 GLDK9AAYU9
*Start of GA16062003
PARAMETERS: p_qty RADIOBUTTON GROUP qtvl,
p_date RADIOBUTTON GROUP qtvl,
p_date1 RADIOBUTTON GROUP qtvl.
*End of GA16062003
SELECTION-SCREEN: END OF BLOCK two .
start of modification AW2150 GLDK9AAYU9
Start of GLDK9A8WWS (AS3848)
Commented out the following portion of the source code to remove the
field VARIANT under Settings on the report selection screen.
*SELECTION-SCREEN: BEGIN OF BLOCK four WITH FRAME
TITLE text-073. "TUL0202200
*selection-screen: begin of block four with frame title text-1
*Start of GA23062003
*PARAMETERS: p_vari LIKE disvariant-variant NO-DISPLAY. " ALV Variant
*SELECTION-SCREEN COMMENT 47(40) varname FOR FIELD p_vari.
*Select-Options : S_ELIKZ FOR ekpo-ELIKZ . "TUL0202200
End of modification AW2150 GLDK9AAYU9
Ext. check warning ignored for the comment. AMT25JAN05
*SELECTION-SCREEN: END OF BLOCK four.
End of GLDK9A8WWT (AS3848)
*selection-screen: end of block three.
PARAMETERS p_loggrp(4) TYPE c NO-DISPLAY DEFAULT 'PC10'.
SELECTION-SCREEN: END OF BLOCK three.
*End of GA23062003
*eject
*eject
INITIALIZATION
INITIALIZATION.
*Deletion Indicator
s_loekz-low = c_l.
s_loekz-sign = c_i.
s_loekz-option = c_ne.
APPEND s_loekz.
*start of insert AW2150 GLDK9ABSZ8
IF P_ALLPO EQ C_X.
LOOP AT SCREEN.
IF SCREEN-NAME EQ 'P_QTY'.
SCREEN-ACTIVE = 0.
ELSEIF SCREEN-NAME EQ 'P_DATE'.
SCREEN-ACTIVE = 0.
ELSEIF SCREEN-NAME EQ 'P_DATE1'.
SCREEN-ACTIVE = 0.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSEIF P_ALLPO NE C_X.
LOOP AT SCREEN.
IF SCREEN-NAME EQ 'P_QTY'.
SCREEN-ACTIVE = 1.
ELSEIF SCREEN-NAME EQ 'P_DATE'.
SCREEN-ACTIVE = 1.
ELSEIF SCREEN-NAME EQ 'P_DATE1'.
SCREEN-ACTIVE = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
*end of insert AW2150 GLDK9ABSZ8
*Start of GA23062003
Settings for display variants
*INITIALIZATION. "GA03122003.
g_repid = sy-repid.
g_save = c_a(1).
CLEAR g_variant.
g_variant-report = g_repid.
g_variant-log_group = p_loggrp.
g_variant-username = sy-uname.
Get default variant
gx_variant = g_variant.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = g_save
CHANGING
cs_variant = gx_variant
EXCEPTIONS
not_found = 2.
IF sy-subrc EQ 0.
p_vari = gx_variant-variant.
ENDIF.
varname = gx_variant-text.
VALIDATE INITIAL DATA ENTERED BY THE USERS ***************
*Start of GA29072003.
IF NOT s_bedat IS INITIAL.
Start of GLDK9A8WWS (AS3848)
Changed sequence in subroutine name to comply with coding standards
based on the review tool ZZCHK.
PERFORM f0100_check_s_bedat.
End of GLDK9A8WWS (AS3848)
ENDIF.
*End of GA29072003.
*eject
*start of insert AW2150 GLDK9ABSZ8
AT SELECTION-SCREEN OUTPUT.
IF P_ALLPO EQ C_X.
LOOP AT SCREEN.
IF SCREEN-NAME EQ 'P_QTY'.
SCREEN-ACTIVE = 0.
ELSEIF SCREEN-NAME EQ 'P_DATE'.
SCREEN-ACTIVE = 0.
ELSEIF SCREEN-NAME EQ 'P_DATE1'.
SCREEN-ACTIVE = 0.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSEIF P_ALLPO NE C_X.
LOOP AT SCREEN.
IF SCREEN-NAME EQ 'P_QTY'.
SCREEN-ACTIVE = 1.
ELSEIF SCREEN-NAME EQ 'P_DATE'.
SCREEN-ACTIVE = 1.
ELSEIF SCREEN-NAME EQ 'P_DATE1'.
SCREEN-ACTIVE = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
*end of insert AW2150 GLDK9ABSZ8
*eject
*start of insert by AW2150 GLDK9AAYU9
AT SELECTION SCREEN ON S_EINDT.
AT SELECTION-SCREEN ON S_EINDT.
IF NOT S_EINDT IS INITIAL.
PERFORM F17200_CHECK_S_EINDT.
ENDIF.
*end of insert by AW2150 GLDK9AAYU9
*eject
AT SELECTION SCREEN ON S_EKORG
AT SELECTION-SCREEN ON s_ekorg.
Validate value of purchasing org(s) entered on the selection *
screen by executing subroutine 0100_VALIDATE_PURC_ORG. *
IF NOT s_ekorg IS INITIAL.
PERFORM f0200_validate_purc_org.
ENDIF.
*eject
AT SELECTION SCREEN ON S_EKGRP
AT SELECTION-SCREEN ON s_ekgrp.
Validate value of purchasing group(s) entered on the selection *
screen by executing subroutine 0200_VALIDATE_PURC_GROUP. *
IF NOT s_ekgrp IS INITIAL.
PERFORM f0300_validate_purc_group.
ENDIF.
*eject
AT SELECTION SCREEN ON S_EBELN
AT SELECTION-SCREEN ON s_ebeln.
Validate value of purchase order(s) entered on the selection *
screen by executing subroutine F0310_VALIDATE_PURC_ORDER.
IF NOT s_ebeln IS INITIAL.
PERFORM f0310_validate_purc_order.
ENDIF.
*eject
AT SELECTION SCREEN ON S_WERKS
AT SELECTION-SCREEN ON s_werks.
Validate value of plant(s) entered on the selection *
screen by executing subroutine F0400_VALIDATE_PLANT.
IF NOT s_werks IS INITIAL.
PERFORM f0400_validate_plant.
ENDIF.
*eject
AT SELECTION SCREEN ON S_BSART
AT SELECTION-SCREEN ON s_bsart.
Validate value of Document type(s) entered on the selection *
screen by executing subroutine F0500_VALIDATE_DOC_TYPE.
IF NOT s_bsart IS INITIAL.
PERFORM f0500_validate_doc_type.
ENDIF.
*eject
AT SELECTION SCREEN ON S_PSTYP
AT SELECTION-SCREEN ON s_pstyp.
Validate value of Item Category entered on the selection *
screen by executing subroutine F0600_VALIDATE_ITEM_CATEGORY.
IF NOT s_pstyp IS INITIAL.
PERFORM f0600_validate_item_category.
ENDIF.
*eject
AT SELECTION SCREEN ON S_MATNR
AT SELECTION-SCREEN ON s_matnr.
Validate value of Material Number entered on the selection *
screen by executing subroutine F0700_validate_mat_number
IF NOT s_matnr IS INITIAL.
PERFORM f0700_validate_mat_number.
ENDIF.
*eject
AT SELECTION SCREEN ON S_LIFNR
AT SELECTION-SCREEN ON s_lifnr.
Validate value of Vendor entered on the selection by executing *
subroutine F0800_VALIDATE_VENDOR_NUMBER
IF NOT s_lifnr IS INITIAL.
PERFORM f0800_validate_vendor_number.
ENDIF.
*eject
AT SELECTION SCREEN ON S_MATKL
AT SELECTION-SCREEN ON s_matkl.
Validate value of material group entered on the selection screen *
by executing subroutine F0900_validate_mat_group.
IF NOT s_matkl IS INITIAL.
PERFORM f0900_validate_mat_group.
ENDIF.
*eject
AT SELECTION SCREEN ON S_KNTTP
AT SELECTION-SCREEN ON s_knttp.
Validate the value of account assignment category entered on the *
selection screen by executing subroutine 1000_validate_mat_group. *
IF NOT s_knttp IS INITIAL.
PERFORM f1000_validate_***_category.
ENDIF.
*eject
AT SELECTION SCREEN ON S_EBELP
AT SELECTION-SCREEN ON s_ebelp.
Validate the value of PO line item entered on the *
selection screen by executing subroutine F1100_VALIDATE_PO_ITEM.
IF NOT s_ebelp IS INITIAL.
PERFORM f1100_validate_po_item.
ENDIF.
*eject
AT SELECTION SCREEN ON S_LOEKZ
AT SELECTION-SCREEN ON s_loekz.
Validate the value of deletion indicator enterd on the selection *
selection screen by executing subroutine F1200_VALIDATE_DEL_IND.
IF NOT s_loekz IS INITIAL.
PERFORM f1200_validate_del_ind.
ENDIF.
Start of GLDK9A8WWS (AS3848)
Commented out the following block of code as a result of the removal
of the field VARIANT from the selection screen.
*at selection-screen on value-request for p_vari.
perform 14000_f4_for_variant.
End of GLDK9A8WWS (AS3848)
*Start of deletion AW2150
*eject
Block Added From Here TUL02022005
AT SELECTION SCREEN ON S_ELIKZ
*AT SELECTION-SCREEN ON s_ELIKZ.
Validate the value of Delivery Completed Indicator entered.
IF NOT s_ELIKZ IS INITIAL.
Check the Valid Values.
IF not SPACE in S_ELIKZ
AND not C_X in S_ELIKZ .
MESSAGE e999 WITH
'Invalid Delivery Completed Flag entered'(006).
ENDIF.
ENDIF.
Block Added Till Here TUL02022005
*End of deletion AW2150
*eject
AT SELECTION SCREEN
AT SELECTION-SCREEN.
PERFORM f15000_pai_of_selection_screen.
*End of GA23062003
start of insert AW2150 GLDK9AAYU9
IF S_BEDAT IS INITIAL
AND S_EINDT IS INITIAL.
MESSAGE E999 WITH TEXT-E01.
ENDIF.
end of insert AW2150 GLDK9AAYU9
MAIN PROCESSING **
*eject
START-OF-SELECTION.
START-OF-SELECTION.
Store report name and report size into temp. varaibles for later use.
w_repid = sy-repid.
Select OAs and Info Records to be displayed into internal table
PERFORM f2000_get_pos.
Store data into final reporting internal table
PERFORM f3000_store_data.
Begin of KAK01
Start of GLDK9A8WWS (AS3848)
Calls the subroutine for building the event catalog for ALV. This
event catalog will be used in the function module that will generate
the ALV report. Logic will eventually be used for the generation of
the standard report header on top of each page.
CLEAR v_events.
w_linsz = sy-linsz.
PERFORM f17100_build_events USING v_events.
End of GLDK9A8WWS (AS3848)
Use ALV instead of normal list.
Write data to the screen.
Populate ALV Field Category Structure.
PERFORM f8000_field_cat.
Populate ALV Exclude Structure.
PERFORM f9000_alv_exclude.
*eject
END-OF-SELECTION.
END-OF-SELECTION.
Begin of KVI04Feb05
IF W_FLAG EQ C_X.
CLEAR W_FLAG.
STOP.
ENDIF.
End of "KVI04Feb05
Display Report.
PERFORM f10000_call_disp.
*eject
AT USER-COMMAND .
*AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'EXEL'.
PERFORM F5000_DOWNLOAD_TO_EXCEL.
WHEN 'CLIK'.
IF SY-LISEL+1(2) EQ '45'.
PERFORM F6000_see_po_details.
ELSE.
PERFORM F7000_see_oa_details.
ENDIF.
ENDCASE.
End of KAK01
*eject
Form(s)/Subroutine(s) ************************
*Start of GA29072003.
*& FORM F0100_CHECK_S_BEDAT
Check if user entered appropriate date values as selection criteria *
----Hi!
After you click on the printer icon, a popup will apeear. Depends on the SAP system version, you are using, somewhere on the popup, you can find a filed, which is called SAP COVER PAGE.
Here you can choose, coverpage, without cover page, or standard cover page.
Regards
Tamá -
Has anyone tried generating report output in xml and displaying using stylesheet. I need some help in this.
Any help is appreciated.
Thanks
RakeshHi Rakesh,
If you mean "Customizing Reports with XML", then you can take a look at the Chapter on this topic in Publishing Reports Manual:
http://download.oracle.com/docs/html/B10314_01/pbr_xml.htm#1004903
Let us know if you have Q's.
Navneet.
Maybe you are looking for
-
Self-assigned IP address which is not able to connect to the internet.
Okay, so my whole issue started around six or more months ago. I have a white MacBook which I have never particularly had any connectivity problems with, at least that where caused by my laptop. I constantly am on the internet at home and have never
-
PO List in which Payment Terms has been changed
Hi, Please let me know how can i find the PO List, in which Payment Terms has been changed. Is there any table for it.. Plz help...
-
Hi - I have hundreds of AcroForms that collect commonly used information (names, addresses, tel, etc) as part of the forms. These forms are stand-alone, and are downloaded by users to their local systems as empty/blank forms, and given the problems
-
Lost iPod registered serial number
I lost my Ipod and it was not under my email but my sons. I put his email and apple I'd but it doesn't work. I registered his iPod with the serial number under my email and apple Id(after his email not working). What else can I do?
-
I did not have auto credit enabled, but have been ...
I have always topped up manually, and have just found a debit to my bankcard by "auto debit". Presumable this was automatically enable when I downloaded the latest version? Why is it so difficult to contact anyone on Skype? I have been going round i