Static prompt into report header
Post Author: barflyz
CA Forum: General
I have a static date prompt based on a text file and want to insert the dates selected each time the report in refreshed into the report header.I am a beginner so please be descriptive. thanks!
Post Author: rcoleman
CA Forum: General
This may be what you are looking for
DateVar date1;DateVar date2;date1:=Minimum ({?yourdateparameter});date2:=Maximum ({?yourdateparameter});totext(date1) + " - " + totext(date2)
If you place this formula in the report it will display the dates selected by the user.
Similar Messages
-
Reg: Prompt as Report Header
Hi Friends.
If I select a year 2003 from 2003, 2004, 2005, 2006 ...2010.
Please let me know.. How do I get the Page Heading or the Report Header as the Financial report of Year 2003 ..
please suggest me solution for this..
Regards
L K Vepuriif you're adding promit "Enter Year:"
add a free standing celll in the report title
and add this formula there
=UserResponse("Enter Year:")
the text "Enter Year:" has to be the same one in your prompt in your query filter.
good luck -
Hi ,
I want to pass the user selection of "period" and "year" into report header in the FR studio.
I am thinking to use the test box and insert function.In the function if I use membername, I get the error message as invalid argument.
Can you please help.
RegardsIf your period and year dimensions are on POV, you can use this function:
<<POVAlias ("Grid1", DimName)>>
Cheers,
Mehmet
p.s. If it helps or answers your question, please mark the answers accordingly. Thanks! -
Hi ,
I want to pass the user selection of "period" and "year" from the ser POV into report heading in the HFM FR studio.
I am thinking to use the test box and insert function.In the function if I use membername, I get the error message as invalid argument.
Can you please help.
RegardsAssuming your POV parameter is accessed in the grid you can reference your grid. So assume we have Dept in A1, Period in A2 and you wish to use period in your report header you reference the period in Column A. We use standard 3 letter characters for our period member names and use the aliases in the header (as below)
<<MemberAlias("Grid1","A","Period")>>
I hope that helps -
How to put checkbox into classical report header row?
Hi,
I have a classical report that has a check item as a first column. I would like to put a check box item into the header row too, When checked it is supposed to set the check box item in all report rows. Something like in APEX Shared components / Links / Grid Edit.
Is this possible to do? TIA.
TamasHi,
See e.g. this post
Re: Tabular form check all checkbox header
Regards,
Jari -
How to insert an hiperlink into the header of a discoverer report?
Hello,
I would like to insert an hiperlink into the header of a discoverer report. Any ideas?
Thank you.Hi,
Me too also wants to know regarding this,
Mr Rod any inputs?
Thanks
Himanshu Tiwari -
Date Prompt result in Report Header
Hi,
I am hoping someone can help, I am just getting started with BI but already thinking what I need is not possible. I hope someone can prove otherwise.
I have a dashboard with several reports that when printed goes across 3-5 pages. There is a date prompt that is used to select the business date for which I want the data to show. What I need to show is the date of the data in the report header for every page that the report runs too.
I have set the result of the date prompt to set a presentation variable and have set the report header to show @{rptDate}. This works when on the dashboard, although shows TIMESTAMP '2011-09-01' which I would like formatted as 1 September 2011, but more importantly when printed to pdf it shows @{rptDate}
I have considered setting a report which just returns this date, or putting it in a report header, but that does not meet required formatting consistency, but also I then dont know how to repeat this at the top of multiple pages.
Thanks in advance for any suggestions.
SimonThanks Deepak. I am using timecreated in the footer already but that is a different date. I require the ability to run the report for historic dates, and show the date the report contains, rather than the date it was run. ie Report header shows 31/08/11 even if it was generated on 2/9/11.
-
How to add an image or static text in the header of EACH page of a cross-Tab report
Post Author: rtutus
CA Forum: General
Hi, I use Crustal 11.0.
I have a cross Tab. I display the items on the left column and the months horizontally, the items are grouped by category field. The values are the sum of quantities are displayed for each month. Like this:
Items Jan Feb March .....................Total
Category 1
Item11 val11 Val12 Val13 Total values
Item12 val21 Val22 Val23 Total values
Item13 val31 Val32 Val33 Total values
Category 2
Item21 val11 Val12 Val13 Total values
Item22 val21 Val22 Val23 Total values
Item23 val31 Val32 Val33 Total values
Category 3
Item31 val11 Val12 Val13 Total values
Item32 val21 Val22 Val23 Total values
Item33 val31 Val32 Val33 Total values
The problem, I want to add a page header for each page of the report.
When Crystal reports first displays my cross-tab in the designer, CR displays the cross tab in the Report header section. I d like to add text or image for each page and not only at the begining of my Cross-Tab.
If I just add an image or text at the top of the report designer, which is my report header, I get the image or text only on the begining of the 1st page of my report but never in the other following pages.
If I try to work around the problem and move the cross Tab to a group section instead, and then put the Image in the group header, I get what I want, but the problem is that:
The columns header: Jan, February....December are displayed for each group of my report and not only in the beginning of the report. I get something like this:
Items Jan Feb March .....................Total
Category 1
Item11 val11 Val12 Val13 Total values
Item12 val21 Val22 Val23 Total values
Item13 val31 Val32 Val33 Total values
Items Jan Feb March .....................Total
Category 2
Item21 val11 Val12 Val13 Total values
Item22 val21 Val22 Val23 Total values
Item23 val31 Val32 Val33 Total values
Items Jan Feb March .....................Total
Category 3
Item31 val11 Val12 Val13 Total values
Item32 val21 Val22 Val23 Total values
Item33 val31 Val32 Val33 Total values
You see the months get duplicated. Any way, my real need is to add an image or text in the header of EACH page of a cross-Tab report.
Thanks a lot for your help.Hi Divya,
you could do for example in the wdDoInit() of the view
wdContext.currentContextElement().setPicture("picture.gif");
Now you assign this context variable to the Tab using the Tab_header's imageSource-Property. When you click on its value column, you see a button with three dots on it. If you click on this button, you will get all context nodes and attributes for this View. Usable variables are clearly marked, you now choose the one named Picture or what ever name you prefer to use. But it must correspond to the one set in the wdDoInit.
I think setting a picture (not necessarily for the tab-page) is done in one of the excellent tutorials. If you are a newcomer I strongly recommend doing some of the tutorials. I have learned tremendously from them.
Hope this helped
Harald -
Any suggestion for tuning following code of fetching prompts from report.
Hi Experts,
In my application I want to fetch all prompts details from SAP BO. I am using following code and its working fine but taking to much time in fetching data.
public static ReportEngine reportEngineWebi = null;
public static ReportEngine reportEngineFullClient = null;
public static Prompts prompts = null;
public static DocumentInstance di = null;
public static Prompt cdzPrompt = null;
public static PromptType cdzPromptType = null;
public static Lov lov = null;
public static Values lovValues = null;
public static String[] pvalues = null;
public static IWebi webi = null;
public static IFullClient fullclient = null;
public static int prmt_report_si_id = 0;
public static String prmt_si_id = "";
public static String prmt_si_title = "";
public static String prmt_si_kind = "";
public static String prmt_si_lov_previous_values = "";
public static String prmt_si_lov_values = "";
IInfoObjects objsprompts = oInfoStore
.query("Select top 20000 * From CI_INFOOBJECTS Where si_kind in ('Webi') and SI_INSTANCE=0 and SI_PROCESSINFO.SI_HAS_PROMPTS=1");
int prmt_report_si_id = 0;
prmt_si_id = "";
prmt_si_title = "";
prmt_si_kind = "";
prmt_si_lov_previous_values = "";
prmt_si_lov_values = "";
reportEngineWebi=((ReportEngines) oEnterpriseSession
.getService("ReportEngines"))
.getService(ReportEngines.ReportEngineType.WI_REPORT_ENGINE);
for (int j = 0; j < objsprompts.getResultSize(); j++) {
prompts = null;
di = null;
try {
webi = (IWebi) objsprompts.get(j);
di = reportEngineWebi.openDocument(webi.getID());
try {
prmt_report_si_id = 0;
prmt_report_si_id = webi.getID();
} catch (Exception e) {
prmt_report_si_id = 0;
prompts = di.getPrompts();
try {
if (prompts.getCount() > 0) {
for (int i = 0; i < prompts.getCount(); i++) {
cdzPrompt = prompts.getItem(i);
try {
prmt_si_id = "";
prmt_si_id = cdzPrompt.getID();
} catch (Exception e) {
prmt_si_id = "";
try {
prmt_si_title = "";
prmt_si_title = cdzPrompt.getName();
} catch (Exception e) {
prmt_si_title = "";
try {
cdzPromptType = cdzPrompt.getType();
prmt_si_kind = cdzPromptType.toString();
} catch (Exception e) {
prmt_si_kind = "";
// System.out.println("going to fetch prompt lov");
cdzPromptType = cdzPrompt.getType();
// System.out.println("promt type-" + cdzPromptType);
// System.out.println("Ended***********"+i);
if (cdzPrompt.hasLOV()) {
try {
prmt_si_lov_values = null;
// System.out.println("going to found pvalues");
pvalues = cdzPrompt.getPreviousValues();
// System.out.println("pvalues found");
prmt_si_lov_previous_values = "";
if (pvalues.length > 0) {
// System.out.println("pvalues-");
for (int c = 0; c < pvalues.length; c++) {
if (c == 0) {
prmt_si_lov_previous_values = pvalues[c];
} else {
prmt_si_lov_previous_values = prmt_si_lov_previous_values
+ "," + pvalues[c];
} catch (Exception e) {
System.out.println("handle Error lov values");
e.printStackTrace();
// System.out.println(" ");
// here enters prompts into databse...
// System.out.println(i+" prompt fetch");
pstmt.setInt(1, prmt_report_si_id);
pstmt.setString(2, prmt_si_id);
pstmt.setString(3, prmt_si_title);
pstmt.setString(4, prmt_si_kind);
pstmt.setString(5, prmt_si_lov_previous_values);
pstmt.setString(6, prmt_si_lov_values);
pstmt.setString(7, "Utility");
pstmt.executeUpdate();
} else {
// System.out.println("No promts found");
} catch (Exception e) {
// System.out.println("Handle Error in code-");
// e.printStackTrace();
} catch (Exception e) {
// Nothing...
try {
if(di!=null){
//System.out.println("going to close di");
di.closeDocument();
//System.out.println("di close");
} catch (Exception e) {
// nothing..
//System.out.println("*****************************single prompt completed********************************");
if(reportEngineWebi!=null){
try{
reportEngineWebi.close();
}catch(Exception e){
System.out.println("Handle error! while closing reportEngineWebi prompt");
e.printStackTrace();
This code is working fine but taking too much time in fetching prompts.
di = reportEngineWebi.openDocument(webi.getID());
this is DocumentInstance object, its taking time.
Please suggest me if there is any other option available to fetch prompts from SAP BO.
Thanks in advancedHi Vijay...
The selection screen should look like...
cb1 -
variant1 -
icb1 -
date1 -
time1
cb2 -
variant2 -
icb2 -
date2 -
time2
where...
cb1 - checkbox which indicates the first report(YRTEST) in the table...
variant1 - textbox for variant which has a help,on clicking should display all the variants of YRTEST report...
icb1 - checkbox which indicates the immediate background processing...
date1 - date on which the job should be scheduled...
time1 - time on which the job should be scheduled...
If icb1 is clicked then date1 & time1 should not be allowed to enter & vice-versa...
cb2 - checkbox which indicates the second report(YRTEST1) in the table...
variant2 - textbox for variant which has a help,on clicking should display all the variants of YRTEST1 report...
icb2 - checkbox which indicates the immediate background processing...
date2 - date on which the job should be scheduled...
time2 - time on which the job should be scheduled...
If icb2 is clicked then date2 & time2 should not be allowed to enter & vice-versa...
Its not like what u said...(Based on user entered data fetch the data of report(variant,date,time) and you can submit the data to background job as incase of single record by looping the data)
Because we have only ReportName,ReportDescription as fields in the table & not variant,date,time...The variant,date,time are all entered in the selection-screen only from which the background job is scheduled...
I hope the requirement is more clearer... -
Is there a way of displaying the values that a user enters into report prompts when a report is run. Example would be date ranges so if the report is printed it is clear what the date range was for the report. I have logged this as a Service Request and it has been submitted as an Enhancement Request but curious if anyone has this worked out?
Thanks Mike, didnt realise that the active filters display also displayed the prompts. But was also wondering if there was a way to incorporate these prompt values into the report title in the header eg. 'Report XYZ for December 2008'. Thanks Gail
-
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á -
Hi experts,
actually in my ALV report i want to display the name of the report on top centre of the page. for this i used FM
ALV_REUSE_COMMENTARY_WRITE.
AT PRESENT I AM GETTING THE REPORT HEADING ON TOP LEFT.
COULD U PLZ HELP HOW TO GET THE REPORT HEADING ON TOP CENTRE .
REGARDS,
SIRI.Hi Sireesha,
Just try like this and see
WRITE 'Centered Text'(120) TO LS_LINE-KEY centered.
APPEND LS_LINE TO IT_TOP.
CONCATENATE v_date v_time INTO LS_LINE-INFO
SEPARATED BY ' '.
APPEND LS_LINE TO IT_TOP.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = IT_TOP
I_LOGO = I_LOGO
I_END_OF_LIST_GRID = I_END_OF_LIST_GRID
I_ALV_FORM = I_ALV_FORM
Regards,
Vidya -
Excel o/p in Reports 9i-additional report header for every row
Dear All,
Is there any way to generate an Excel file output from OracleReports9i.Actually I have tried the simple report.
I am able to create a delimited output.But the prob is it contains an additional report header for every row of the report and this is very strange.Its coming like that
Empno Ename Job 7566 JONES MANAGER
Empno Ename Job 7902 FORD ANALYST
I need the Xls o/p like that
Empno Ename Job
7566 JONES MANAGER
7902 FORD ANALYST
8877 JAMES SALES
my Environment oracle9i developersuite /forms9i/reports9i
I have given DESFORMAT = DELIMITED
MODE = CHARACTER
I am able to generate the reports in html/HTMLCSSIE/HTMLCSS/PDF/RTF
Only delimited is giving problem
What should i do to resolve this issue. Please help me it is very very urgent for me.
Thanks in advance
Pavendhan.NI had the same problem and this is what I did, works great. You have the total control.
function BeforeReport return boolean is
fp text_io.file_type;
begin
-- creating a file name
:CP_filename := 'C:\Gap'||to_char(sysdate,'MMDDYYHHMISS')||'.csv';
-- Opening the file in write mode
fp := text_io.fopen(:CP_filename,'w');
-- writing the column headings into the file
text_io.put_line(fp,'"Platform","Sys#","GapType",');
text_io.fclose(fp);
return (TRUE);
end;
and then where ever it is suitable, depending on the requirement, write into file by opening it in the append mode.
function R_G_systemplatformFormatTrigge return boolean is
fp text_io.file_type;
begin
-- srw.message(99,:dname);
fp := text_io.fopen(:CP_filename,'a');
text_io.put(fp,'"' || :systemplatform || '",');
text_io.put(fp,'"' || to_char(:sysno) || '",');
text_io.put_line(fp,'"' || :CF_gaptype || '",');
text_io.fclose(fp);
return (TRUE);
end;
This works great. Hope this helps. -
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/
Maybe you are looking for
-
My itunes wont load or open!
I think I have tried absolutely everything and my Itunes still wont load. Every time I click on itunes it does the blue circle load for about 5 seconds then leaves but never pops up. I have uninstalled every apple product then downloaded them again.
-
Hi, I would verify the compatibility between the Air TV and the Panasonic TX-L55DT60E LED 3D ? Is it OK before I buy ? Thanks for your answer, Jacques
-
InDesign doc from multiple other InDesign docs.
Hi, everyone. I need to create an InDesign document using other existing InDesign documents I have already created. The documents are single individual pages each and I would like to merge them all into a single document ordering the pages in a certa
-
Toy Store Best Practice: How to implement 'cancel' for register user page
Let's say user wants to register or (even edit) his/her account. But when forwards to register(edit) account page, he/she decides not to do it. I would like to implement 'cancel' button and return the user whereever he/she was before comming to this
-
Post SWF to blog as a FLV?
Hi, I've got a .swf I made that I want to embed on my blog. I want to have a nice player embedded with the swf playing, kind of like a YouTube video - but without all the data loss. Really what I want is the nice interface around the piece - kind of