Service Module Report - tracing field origin
I have a Crystal report, "Service Call Ticket" which reference the folloiwing table and fields.
ServiceCallTicket is the table name.
The fields aree ItemNo, Quantity, Price, LineTotal.
I cannot trace this back to the originating table.
Doed anyone know where this data is coming from? It is to print on the report, but I cannot located the source screen.
Thanks, David
Hi David,
It is probably a UDT. Check database in SQL Management Studio to find it out.
Thanks,
Gordon
Similar Messages
-
XML Publisher with Service Module - Service Request Reports -- URGENT
Hi all ... any pointers/help/guidance with the problem listed below would be much appreciated.
I'm working in the context of the Oracle Service Module & Service Request Reports.
I'm required to configure the XML Publisher Responsibility seeded functionality with the service module reports.
Listed below are the two reporting requirements that I'm considering , corresponding to the following seeded XMLP Responsibility seeded components:
(I'm quoting an extract from the Oracle TeleService Implementation & User Guide here).
Detailed Report
Data Definition: Service Request Detail Definition (CS_SR_DETAIL_DEF)
Corresponding Template: Service Request Detail Report Template (CS_SR_DETAIL_TMP.en)
Template Description: Includes all of the available service request attributes including charges, the two descriptive flexfields, and extensible attributes.
Summary Report
Data Definition: Service Request Summary Definition (CS_SR_SUMMARY_DEF)
Corresponding Template: Service Request Summary Report Template (CS_SR_SUMMARY_TMP_en)
Template Description: Includes a subset of the detailed report attributes including the same charges information as the detailed report.
When I log into the EBS >> XML Publisher Administrator Responsibility >> Service Application ... I find these seeded XMLP components, together with the preview data, downloadable templates & sample output.
The question is:
Where (responsibility/application/navigation/etc.) do I find the seeded EBS Service Reports to provide the expected XML input to the seeded XMLP Service Request Data Definitions & Templates????
Notes ...
I have found the following two reports, under the Service Application in EBS, set their output type to XML and viewed the output of the submitted request:
- Service Request Detail Report
- Service Request Summary Report
... but each of these two reports produce XML output of a different data model/structure to that expected by each of the corresponding seeded XMLP data-definitions/templates.
Additionally, I cannot find any corresponding concurrent program definitions on the system with the same SHORT-NAME/CODE as the seeded XMLP data definitions themselves i.e. CS_SR_DETAIL_DEF and CS_SR_SUMMARY_DEF.
Are the necessary reports not actually seeded within EBS? Do the seeded XMLP data definitions & templates require development of new Concurrent Programs from scratch to access the database tables and provide the necessary data/input, or am I missing something here??I am sure you found a solution to your problem. If not, to give a pointer to this issue, I guess these reports are gererated right from the service request screen and this definition is used there.This report can be generated from several places based on where you are within SR scree.
Thanks
Nagamohan -
Regarding selection screen fields in Service PO Report
Hello All,
I have developed a Service PO Report with input parameters like Purch. Organisation, Material Group, Purchasing Group, Plant, PO No., Vendor, Activity, Entry Sheet No., GR No. I have used the tables ekko, ekpo, ekbe, essr, ml_esll, mseg and lfa1.
When I input a particular Purch. Organisation, I am able to get the output filtered by that Purch. Organisation. Similarly, when I input other fields individually, I get the filtered output based on the value of the fields that I inputted.
The problem is that when I select only a particular GR No. in the selection screen, I am not able to get the filtered output for that particular GR No. Its showing all the unnecessary data for that particular GR No.
Except this field, the report is running fine. So can anybody guide me in getting the filtered output based on GR No.?
I have linked tables ekko, ekbe and mseg.I have pasted the code below for analysis.
form fetch.
select ek~ebeln
ek~loekz
ek~lifnr
ek~ekorg
ek~ekgrp
ek~bedat
ek~bukrs
ep~ebelp
ep~txz01
ep~werks
ep~matkl
ep~mwskz
ep~menge
ep~meins
ep~netpr
ep~netwr
ep~mwskz
into corresponding fields of table it_ekko
from ekko as ek join ekpo as ep
on ek~ebeln = ep~ebeln
and ek~loekz = ep~loekz
and ek~bukrs = ep~bukrs
where ek~ebeln in s_ebeln
and ek~lifnr in s_lifnr
and ek~ekorg in s_ekorg
and ek~ekgrp in s_ekgrp
and ep~werks in s_werks
and ep~matkl in s_matkl.
if sy-subrc = 0.
select lifnr name1 from lfa1
into corresponding fields of table it_lfa1
for all entries in it_ekko
where lifnr = it_ekko-lifnr.
endif.
if sy-subrc = 0.
select lblni lzvon lwert packno txz01 ebeln loekz budat netwr from essr
into corresponding fields of table it_essr
for all entries in it_ekko
where lzvon in s_lzvon
and lblni in s_lblni
and ebeln = it_ekko-ebeln.
endif.
if sy-subrc = 0.
select mblnr ebeln erfmg lfbnr from mseg
into corresponding fields of table it_mseg
for all entries in it_essr
where mblnr in s_mblnr
and lfbnr = it_essr-lblni
and ebeln = it_essr-ebeln.
endif.
if sy-subrc = 0.
select packno ebeln srvpos ktext1 netwr menge matkl tbtwr meins mwskz from ml_esll
into corresponding fields of table it_ml_esll
for all entries in it_essr
where srvpos in s_srvpos
and ebeln = it_essr-lblni.
endif.
if sy-subrc = 0.
select packno srvpos menge meins netwr ebeln tbtwr from ml_esll
into corresponding fields of table it_ml_esll1
for all entries in it_ekko
where ebeln = it_ekko-ebeln.
endif.
if sy-subrc = 0.
select ebeln vgabe belnr lfbnr mwskz srvpos packno from ekbe
into corresponding fields of table it_ekbe
for all entries in it_ekko
where ebeln = it_ekko-ebeln
and vgabe = 1.
endif.
if sy-subrc = 0.
select ebeln belnr bewtp from ekbe into corresponding fields of table it_ekbe1
for all entries in it_ekko
where ebeln = it_ekko-ebeln
and bewtp = 'Q'.
endif.
loop at it_ml_esll into wa_ml_esll.
move wa_ml_esll-packno to wa_final-packno.
move wa_ml_esll-ebeln to wa_final-ebeln1.
move wa_ml_esll-srvpos to wa_final-srvpos.
move wa_ml_esll-ktext1 to wa_final-ktext1.
move wa_ml_esll-meins to wa_final-meins.
move wa_ml_esll-menge to wa_final-menge1.
read table it_essr into wa_essr with key lblni = wa_ml_esll-ebeln.
if sy-subrc = 0.
move-corresponding wa_essr to wa_final.
endif.
read table it_ekko into wa_ekko with key ebeln = wa_essr-ebeln.
if sy-subrc = 0.
move wa_ekko-werks to wa_final-werks.
move wa_ekko-ekorg to wa_final-ekorg.
move wa_ekko-ekgrp to wa_final-ekgrp.
move wa_ekko-ebeln to wa_final-ebeln.
move wa_ekko-menge to wa_final-menge.
move wa_ekko-matkl to wa_final-matkl.
move wa_ekko-mwskz to wa_final-mwskz.
move wa_ekko-lifnr to wa_final-lifnr.
move wa_ekko-bedat to wa_final-bedat.
move wa_ekko-netpr to wa_final-netpr.
endif.
read table it_lfa1 into wa_lfa1 with key lifnr = wa_ekko-lifnr.
if sy-subrc = 0.
move wa_lfa1-lifnr to wa_final-lifnr.
move wa_lfa1-name1 to wa_final-name1.
endif.
read table it_ekbe into wa_ekbe with key lfbnr = wa_ml_esll-ebeln
packno = wa_ml_esll-packno
srvpos = wa_ml_esll-srvpos.
if sy-subrc = 0.
move wa_ekbe-belnr to wa_final-belnr.
endif.
read table it_ekbe1 into wa_ekbe1 with key ebeln = wa_ekko-ebeln.
if sy-subrc = 0.
move wa_ekbe1-belnr to wa_final-belnr1.
endif.
read table it_ml_esll1 into wa_ml_esll1 with key srvpos = wa_ml_esll-srvpos.
if sy-subrc = 0.
move wa_ml_esll1-menge to wa_final-menge2.
move wa_ml_esll1-netwr to wa_final-netwr.
move wa_ml_esll1-tbtwr to wa_final-tbtwr.
endif.
read table it_mseg into wa_mseg with key lfbnr = wa_essr-lblni
ebeln = wa_essr-ebeln.
if sy-subrc = 0.
move wa_mseg-mblnr to wa_final-mblnr.
move wa_mseg-erfmg to wa_final-erfmg.
endif.
append wa_final to it_final.
endloop.
delete it_final where srvpos is initial.
sort it_final by srvpos lblni ebeln .
Edited by: Satvikpanchal on Dec 6, 2011 11:01 AM -
Query for non turn customer report in service module(Add-on)
Hi,
I want create query for non turn customer report, that mean the customer who are not come for last 6 months to our service workshop in service module(Add-on). this is a scenario.
SELECT T1.U_CardDate, T1.U_JCardNo,T1.U_TypeSrv,T2.U_VehReg,T2.U_PurchDt, T2.U_VehDesc, T2.U_VehModel, T1.U_KmsRead, T1.U_BPCode, T0.CardName, T0.AddrType , T0.Building,T0.Block, T0.Address,T0.City,T0.ZipCode, T0.State1,T0.MailBuildi,T0.MailBlock, T0.MailAddres, T0.MailZipCod, T0.MailCity, T0.State2 ,T0.MailAddrTy, T0.Phone1, T0.Phone2, T0.Cellular FROM [dbo].[OCRD] T0 INNER JOIN [dbo].[@ALD_JOBCARD] T1 ON T0.CardCode = T1.U_BPCode INNER JOIN [dbo].[@ALD_VEHMAST] T2 ON T1.U_BPCode = T2.U_BPCode WHERE T1.U_CardDate BETWEEN [%0] AND [%1] ORDER BY T1.U_CardDate.
this query is get all customer data who are not come to service workshop for last 6 month. i want to filter data who are not come last 6 months this year. kindly assist me
thank you.Check this:
SELECT Max(T1.U_CardDate) 'Lase Serve Date', T1.U_JCardNo,T1.U_TypeSrv,T2.U_VehReg,Max(T2.U_PurchDt) 'Last Purchase', T2.U_VehDesc, T2.U_VehModel, T1.U_KmsRead, T1.U_BPCode, T0.CardName, T0.AddrType, T0.Building,T0.Block, T0.Address,T0.City,T0.ZipCode, T0.State1,T0.MailBuildi,T0.MailBlock, T0.MailAddres, T0.MailZipCod, T0.MailCity, T0.State2 ,T0.MailAddrTy, T0.Phone1, T0.Phone2, T0.Cellular
FROM [dbo].[OCRD] T0
INNER JOIN [dbo].[@ALD_JOBCARD] T1 ON T0.CardCode = T1.U_BPCode
INNER JOIN [dbo].[@ALD_VEHMAST] T2 ON T1.U_BPCode = T2.U_BPCode
WHERE T1.U_BPCode NOT IN
(SELECT DISTINCT U_BPCode FROM dbo.[@ALD_JOBCARD] WHERE DateDiff(DD,U_CardDate,GetDate()) < 183)
Group By T1.U_JCardNo,T1.U_TypeSrv,T2.U_VehReg,T2.U_VehDesc, T2.U_VehModel, T1.U_KmsRead, T1.U_BPCode, T0.CardName, T0.AddrType, T0.Building,T0.Block, T0.Address,T0.City,T0.ZipCode, T0.State1,T0.MailBuildi,T0.MailBlock, T0.MailAddres, T0.MailZipCod, T0.MailCity, T0.State2 ,T0.MailAddrTy, T0.Phone1, T0.Phone2, T0.Cellular
ORDER BY T1.U_CardDate -
How to pick the field "Origin Object" from SAP R/3
Hi all,
I need to implement a new field in a BEx Report : "Origin Object". This data is mix of "Cost Center" + "Project type", it's related to the PS module.
This field isn't available in my BW datawarehouse, so I need to figure out where and how to pick up it in R/3. I used the "data element" name : "CO_USPOB" and I've made a research through the "Where used list" tool but I didn't find any tables, only some structures. I've checked all of these structures but I didn't get any tracks...
Do you know another way to investigate? is there any doc. on the SAP.help about this data element?
Thanks in advance for your suggestions.
JakHi,
If you know the transaction where the field can be seen. Then run the trace on that transaction and in the Trace list you will see all the tables accesed during the tranasaction execution. Then you can get the correct table from the table list
Thanks,
Nagarjuna -
Hello Experts,
how do you rate the service module in SBO, i have one problem as my work is in distributed environment, i have got technicians who are on the field all the time with few equipments. They come office once in a while.
I would like to manage their Scheduler and time Sheets in SBO which further can be incorporated to their payroll.
I am looking for this kind of a Solution.. can any body suggest how to handle it ????
All hrs get posted to SAP
- Productive hrs to sales orders (hidden line)
- Productive hrs to service calls or job numbers (when these get invoiced we need the lab hrs hidden as above)
- Non productive hrs to zero value sales orders/invoices (one per engineer) for weekly invoicing and onward analysis
If there was a front end it would need to post all these hrs to SAP and send a report of the hrs (in summary form) to the payroll clerk for onward payment of wages
Reporting then needs to be as follows
- Productive hrs via sales orders u2013 Standard SAP Gross Profit reporting
- Productive hrs to service call/job number u2013 When these are invoiced will the costs come forward and can they be reported on
- Productive hrs to sales orders and/or jobs not yet invoiced u2013 How can this be reported on???????
- Non productive hrs u2013 Book them to sales orders and report in the same manner
- Can we report on outstanding orders (SOP) not ALL orders
Please help !!Hi,
thanks for the valuable suggestions, i have evaluated Enprise but thats going to be addition expense and support cost.
i just want to explore one possibility... please help
Can i just import excel sheet of time sheet from all the various technicians ??
Is there any template or utility by which i can sync with MS-Excel ??
please reply -
Financial Report Error: Required application module reporting.reportViewer
Hi,
When I select the Financial Report on workspace; I have an error as below. Do you have any sugesstions?
Error: Required application module reporting.reportViewer is not configured.
Warning: A 'Authorization Required' error occurred communicating with the server.
Details:
URI: http://10.6.82.135:19000/hr/xml/HRConfig.jsp
Status: 401 - Authorization Required
Content: text/html; charset=UTF-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Draft//EN">
<HTML>
<HEAD>
<TITLE>Error 401--Unauthorized</TITLE>
<META NAME="GENERATOR" CONTENT="WebLogic Server">
</HEAD>
<BODY bgcolor="white">
<FONT FACE=Helvetica><BR CLEAR=all>
<TABLE border=0 cellspacing=5><TR><TD><BR CLEAR=all>
<FONT FACE="Helvetica" COLOR="black" SIZE="3"><H2>Error 401--Unauthorized</H2>
</FONT></TD></TR>
</TABLE>
<TABLE border=0 width=100% cellpadding=10><TR><TD VALIGN=top WIDTH=100% BGCOLOR=white><FONT FACE="Courier New"><FONT FACE="Helvetica" SIZE="3"><H3>From RFC 2068 <i>Hypertext Transfer Protocol -- HTTP/1.1</i>:</H3>
</FONT><FONT FACE="Helvetica" SIZE="3"><H4>10.4.2 401 Unauthorized</H4>
</FONT><P><FONT FACE="Courier New">The request requires user authentication. The response MUST include a WWW-Authenticate header field (section 14.46) containing a challenge applicable to the requested resource. The client MAY repeat the request with a suitable Authorization header field (section 14.8). If the request already included Authorization credentials, then the 401 response indicates that authorization has been refused for those credentials. If the 401 response contains the same challenge as the prior response, and the user agent has already attempted authentication at least once, then the user SHOULD be presented the entity that was given in the response, since that entity MAY include relevant diagnostic information. HTTP access authentication is explained in section 11.</FONT></P>
</FONT></TD></TR>
</TABLE>
</BODY>
</HTML>
Edited by: ankist on Jan 27, 2012 3:28 PMHi,
I have started FR Web Application service after I have error statement in "FRLogging" log files as below;
[2012-01-31T14:33:32.725+02:00] [FinancialReporting0] [ERROR] [] [oracle.EPMFR.core] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 0000JKnkMRG9TcCLzE^AyW1F9xyN000000,0:3] [SRC_CLASS: com.hyperion.reporting.util.MessageHelper] [APP: FINANCIALREPORTING#11.1.2.0] [SRC_METHOD: getMessage] [[
java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key CONFIG.NAME.PrintInstanceInBookCount
at java.util.ResourceBundle.getObject(ResourceBundle.java:374)
at java.util.ResourceBundle.getObject(ResourceBundle.java:371)
at java.util.ResourceBundle.getString(ResourceBundle.java:334)
at com.hyperion.reporting.util.MessageHelper.getMessage(Unknown Source)
at com.hyperion.reporting.util.MessageHelper.getMessage(Unknown Source)
at com.hyperion.reporting.config.FRConfig$FRProperty.<init>(Unknown Source)
at com.hyperion.reporting.config.FRConfig.initializeProperties(Unknown Source)
at com.hyperion.reporting.config.FRConfig.<init>(Unknown Source)
at com.hyperion.reporting.config.FRConfig.getFRConfig(Unknown Source)
at com.hyperion.reporting.config.MBeanConfig.register(Unknown Source)
at com.hyperion.reporting.webviewer.HRContextListener.contextInitialized(Unknown Source)
at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:481)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:181)
at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1874)
at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3154)
at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1508)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:485)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:427)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:201)
at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:249)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:427)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:28)
at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:637)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)
at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)
at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184)
at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361)
at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:52)
at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:200)
at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:31)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:261)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:246)
at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:170)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:124)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:181)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:97)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
[2012-01-31T14:33:32.744+02:00] [FinancialReporting0] [ERROR] [] [oracle.EPMFR.core] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 0000JKnkMRG9TcCLzE^AyW1F9xyN000000,0:3] [SRC_CLASS: com.hyperion.reporting.util.MessageHelper] [APP: FINANCIALREPORTING#11.1.2.0] [SRC_METHOD: getMessage] [[
java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key CONFIG.DESC.PrintInstanceInBookCount
at java.util.ResourceBundle.getObject(ResourceBundle.java:374)
at java.util.ResourceBundle.getObject(ResourceBundle.java:371)
at java.util.ResourceBundle.getString(ResourceBundle.java:334)
at com.hyperion.reporting.util.MessageHelper.getMessage(Unknown Source)
at com.hyperion.reporting.util.MessageHelper.getMessage(Unknown Source)
at com.hyperion.reporting.config.FRConfig$FRProperty.<init>(Unknown Source)
at com.hyperion.reporting.config.FRConfig.initializeProperties(Unknown Source)
at com.hyperion.reporting.config.FRConfig.<init>(Unknown Source)
at com.hyperion.reporting.config.FRConfig.getFRConfig(Unknown Source)
at com.hyperion.reporting.config.MBeanConfig.register(Unknown Source)
at com.hyperion.reporting.webviewer.HRContextListener.contextInitialized(Unknown Source)
at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:481)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:181)
at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1874)
at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3154)
at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1508)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:485)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:427)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:201)
at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:249)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:427)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:28)
at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:637)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)
at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)
at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184)
at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361)
at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:52)
at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:200)
at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:31)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:261)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:246)
at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:170)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:124)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:181)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:97)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
[2012-01-31T14:33:33.679+02:00] [FinancialReporting0] [NOTIFICATION] [] [oracle.EPMFR.core] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 0000JKnkMRG9TcCLzE^AyW1F9xyN000000,0:3] [SRC_CLASS: com.hyperion.reporting.preferenes.PrefsServlet] [APP: FINANCIALREPORTING#11.1.2.0] [SRC_METHOD: init] Preferences servlet initialized
[2012-01-31T14:33:36.313+02:00] [FinancialReporting0] [NOTIFICATION] [00043] [oracle.EPMFR.core] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 0000JKnkMRG9TcCLzE^AyW1F9xyN000000,0:3] [SRC_CLASS: com.hyperion.reporting.webviewer.FRServiceReporting] [APP: FINANCIALREPORTING#11.1.2.0] [SRC_METHOD: init] Initializing and starting Financial Reporting Reporting Service
[2012-01-31T14:33:36.329+02:00] [FinancialReporting0] [ERROR] [] [oracle.EPMFR.core] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 0000JKnkMRG9TcCLzE^AyW1F9xyN000000,0:3] [SRC_CLASS: com.hyperion.reporting.hsserver.impl.HsServer] [APP: FINANCIALREPORTING#11.1.2.0] [SRC_METHOD: main] [[
java.lang.NoClassDefFoundError: com/hyperion/ap/adm/HssAdm
at com.hyperion.reporting.hsserver.impl.HsServer.getHsServer(Unknown Source)
at com.hyperion.reporting.hsserver.impl.HsServer.main(Unknown Source)
at com.hyperion.reporting.webviewer.FRServiceReporting.init(Unknown Source)
at javax.servlet.GenericServlet.init(GenericServlet.java:241)
at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)
at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539)
at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1985)
at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1959)
at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1878)
at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3153)
at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1508)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:636)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)
at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)
at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184)
at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361)
at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51)
at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:200)
at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:261)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:246)
at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:180)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:96)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
[2012-01-31T14:33:36.331+02:00] [FinancialReporting0] [NOTIFICATION] [00047] [oracle.EPMFR.core] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 0000JKnkMRG9TcCLzE^AyW1F9xyN000000,0:3] [SRC_CLASS: com.hyperion.reporting.webviewer.FRServiceScheduler] [APP: FINANCIALREPORTING#11.1.2.0] [SRC_METHOD: init] Financial Reporting Scheduler Service initialized
[2012-01-31T14:33:36.420+02:00] [FinancialReporting0] [WARNING] [00205] [oracle.EPMFR.core] [tid: Thread-32] [userId: <anonymous>] [ecid: 0000JKnkMRG9TcCLzE^AyW1F9xyN000000,1:32056] [SRC_CLASS: com.hyperion.reporting.scheduler.SchedulerServerLauncher$1] [APP: FINANCIALREPORTING#11.1.2.0] [SRC_METHOD: run] Scheduler not ready to publish itself. Retry in 1 minutes.
[2012-01-31T14:33:36.422+02:00] [FinancialReporting0] [NOTIFICATION] [00035] [oracle.EPMFR.core] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 0000JKnkMRG9TcCLzE^AyW1F9xyN000000,0:3] [SRC_CLASS: com.hyperion.reporting.webviewer.FRServiceADM] [APP: FINANCIALREPORTING#11.1.2.0] [SRC_METHOD: init] Initializing Financial Reporting Analytic Data Model Service
[2012-01-31T14:33:36.423+02:00] [FinancialReporting0] [ERROR] [00036] [oracle.EPMFR.core] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 0000JKnkMRG9TcCLzE^AyW1F9xyN000000,0:3] [SRC_CLASS: com.hyperion.reporting.webviewer.FRServiceADM] [APP: FINANCIALREPORTING#11.1.2.0] [SRC_METHOD: init] Failure to initialize Financial Reporting Analytic Data Model Service[[
java.lang.NoClassDefFoundError: com/hyperion/ap/adm/HssAdm
at com.hyperion.reporting.webviewer.FRServiceADM.init(Unknown Source)
at javax.servlet.GenericServlet.init(GenericServlet.java:241)
at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)
at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539)
at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1985)
at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1959)
at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1878)
at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3153)
at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1508)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:636)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)
at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)
at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184)
at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361)
at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51)
at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:200)
at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:261)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:246)
at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:180)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:96)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
Edited by: ankist on Jan 31, 2012 2:47 PM -
SAP PS Module Report, Help needed for the Right Logic.
Hi,
I have to develop a PS module Report . This spec of this report is when you enter , project # , month , date , proj type it should display all the projects and only the billing levels with different fiels like ITD cost, ITD sales, ytd cost, sales, awards etc etc.
Right now Iam getting the O/P : in the following manner, There are many fields I am just showing the desired ones which have to be changed.
Proj, Title, award, ITDsales, ITD cost , ytd sales, ytd costs,
14148, New prj 123 -- --- -
14148-B01, bill1 -
234 -
456 -
14148-B02, bill2 -
789 -
123 -
14148.001 wbs1 -
123 -
456
14148.001 wbs2 -
567 -
890
But for me the desired output must be only for project and the billing levels. It shouldnt be for WBS elements xxxx.001 and xxxx.002.
Desired output:
Proj, Title, award, ITDsales, ITD cost , ytd sales, ytd costs,
14148, New prj 123 -- 690 -
1346
14148-B01, bill1 -
234 -
456 -
14148-B02, bill2 -
789 -
123 -
The ITD costs and YTD costs must be added 123 + 567 = 690 and
456+890 = 1346.
And these values must come on the project level.
P.S: I can restrict the values for wbs elements , means I can filter them at PRPS table by giving prps-stufe LE 2. Then I wont get the wbs level, But I want the values of these to be added up and then show it on the project level.
Please go through this code and let me know where exactly I need to put the right logic to work in the desired manner.
Thanks in advance
Dan
Code Below************************
[code]TABLES: PROJ, "Project Definition
PRPS, "WBS Elements
prhi,
CEPC, " Profit Center w/ Group Head info
BPGE, "Plans (12, 13, etc.)
COSP, "Primary Cost Element (Bill Sales, DPC)
COSS, "Secondary Cost Element (Shrd Sls,Sal,etc)
COSB, "Results Analysis Cost Elements (Unbil Sls)
COOI, "Commitments management: Line items
JEST, "Project Status
TCJ04, "Person Responsible for Project
zpclasses, "Project classes.
New Added
CRCO, " Assignment of Work Center to Cost Center
CRHD. " Work Center Header
Record Layout of extracted data
TYPES: BEGIN OF EXDEF, "Data definition of extract data
X_BU(2) TYPE C, "Business Unit
X_CNTR(10) TYPE C, " Profit Center
X_PROJ(24) TYPE C, "Project def (Prj)
X_CREP(30) TYPE C, "Contract Rep.
X_BDREP(25) TYPE C, "BD Rep. name
X_GRPH(15) TYPE C, "Tech Rep employee name
X_ACTREP(15) TYPE C, "Acct Rep employee name
X_PMGR(15) TYPE C, "PM employee name
X_TTLE(35) TYPE C, "Title
X_CLNT(20) TYPE C, "Client
X_POCN(20) TYPE C, "Prime Contract Number
X_TYPE(13) TYPE C, "Order Type Sarnoff
X_OPEN(10) TYPE C, "Open Date
X_CLOSE(10) TYPE C, "Close Date
X_CGT(4) TYPE C, "CO, GV, TC
X_DISTR(2) TYPE C, "Distribution Channel
X_CONTR(6) TYPE C, "Percentage contribution
X_AWRD(14) TYPE C, "Award (Plan 11)
X_P12R(14) TYPE C, "Auth Revenue (Plan 12 @ Rev)
X_P12C(14) TYPE C, "Auth Cost (Plan 12 @ Cost)
X_P13R(14) TYPE C, "Auth Revenue (Plan 13 @ Rev)
X_P13C(14) TYPE C, "Auth Cost (Plan 13 @ Cost)
X_ITDS(14) TYPE C, "ITD Sales
X_ITDC(14) TYPE C, "ITD Costs
X_YTDS(14) TYPE C, "YTD Sales
X_YTDC(14) TYPE C, "YTD Costs
X_MTHS(14) TYPE C, "Current Month Sales
X_MTHC(14) TYPE C, "Current Month Costs
X_ITDB(14) TYPE C, "ITD Billed Sales
X_YTDB(14) TYPE C, "YTD Billed Sales
X_MTHB(14) TYPE C, "Current Month Billed Sales
X_COMM(14) TYPE C, "Commitments
X_STAT(6) TYPE C, "Active or Inactive (REL, TECO, or CLSD)
X_ZPROJCLASS(12),
X_MTHIC(14) TYPE C, "Current Month Incremental Costs
X_YTDIC(14) TYPE C, "YTD Incremental Costs
X_ITDIC(14) TYPE C, "ITD Incremental Costs
X_ZSCURVE(10) TYPE C, "S-CURVE Status
New Added
X_CM_COST(20) TYPE C,
X_AM_COST(20) TYPE C,
X_TL_COST(20) TYPE C,
X_KP_COST(20) TYPE C,
X_PM_COST(20) TYPE C,
END OF EXDEF.
Data declarations
FIELD-SYMBOLS <MNT> .
DATA: ETAB TYPE EXDEF OCCURS 100 WITH HEADER LINE.
DATA: X1_PM_COST(20) TYPE C,
X1_TL_COST(20) TYPE C,
X1_AM_COST(20) TYPE C,
X1_CM_COST(20) TYPE C,
X1_KP_COST(20) TYPE C.
DATA: KOKRS_FIXED LIKE PROJ-VKOKR VALUE 'DSRC', "Controlling Area
TOTAL_AWARD LIKE BPGE-WTGES,
TOTAL_AUTHR12 LIKE BPGE-WTGES,
TOTAL_AUTHC12 LIKE BPGE-WTGES,
TOTAL_AUTHR13 LIKE BPGE-WTGES,
TOTAL_AUTHC13 LIKE BPGE-WTGES,
TOTAL_ITDSALES LIKE BPGE-WTGES,
TOTAL_ITDCOSTS LIKE BPGE-WTGES,
TOTAL_ITDICOSTS LIKE BPGE-WTGES,
TOTAL_YTDSALES LIKE BPGE-WTGES,
TOTAL_YTDCOSTS LIKE BPGE-WTGES,
TOTAL_YTDICOSTS LIKE BPGE-WTGES,
TOTAL_MTHSALES LIKE BPGE-WTGES,
TOTAL_MTHCOSTS LIKE BPGE-WTGES,
TOTAL_MTHICOSTS LIKE BPGE-WTGES,
TOTAL_ITDBILLED LIKE BPGE-WTGES,
TOTAL_YTDBILLED LIKE BPGE-WTGES,
TOTAL_MTHBILLED LIKE BPGE-WTGES,
TOTAL_COMMITMENT LIKE COOI-WTGBTR,
HOLD_PRART LIKE PRPS-PRART,
COUNT_PROJECTS TYPE I,
MNT_INDX(20) TYPE C,
HLD_INDX(3) TYPE N,
YYYY_MM(10) TYPE C,
TEMP-DATE(8) TYPE C.
Selection Screen
SELECTION-SCREEN SKIP 3.
SELECTION-SCREEN BEGIN OF BLOCK XEXTRPM WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN SKIP 2.
PARAMETERS MONTH(2) TYPE N OBLIGATORY.
PARAMETERS YEAR(4) TYPE N OBLIGATORY.
SELECT-OPTIONS: EXTRPRJ FOR PROJ-PSPID. " Range of Projects
SELECT-OPTIONS: EXTRTYP FOR PRPS-PRART. "Project Types (CO,GV,etc.*)
SELECT-OPTIONS: EXTRPCTR FOR PROJ-PRCTR. " Range of Profit centers
SELECTION-SCREEN SKIP 2.
PARAMETERS: OPT1 RADIOBUTTON GROUP OPTN,
OPT2 RADIOBUTTON GROUP OPTN DEFAULT 'X'.
select-options : s_pc for proj-zprojclass. "project class
SELECTION-SCREEN END OF BLOCK XEXTRPM.
Select Tables
START-OF-SELECTION.
write: / 'Sales data (Unshared) extracted on: ', sy-datum.
uline.
CLEAR: COUNT_PROJECTS,
TOTAL_AWARD,
TOTAL_AUTHR12,
TOTAL_AUTHC12,
TOTAL_AUTHR13,
TOTAL_AUTHC13,
TOTAL_ITDSALES,
TOTAL_ITDCOSTS,
TOTAL_YTDSALES,
TOTAL_YTDCOSTS,
TOTAL_MTHSALES,
TOTAL_MTHCOSTS,
TOTAL_ITDBILLED,
TOTAL_YTDBILLED,
TOTAL_MTHBILLED,
TOTAL_COMMITMENT,
ETAB.
PROJ Table Project Definition
SELECT * FROM PROJ "Project Definition
WHERE PSPID IN EXTRPRJ AND " Range of Project Numbers
PRCTR IN EXTRPCTR and " Range of Profit center
zprojclass in s_pc. "project class
SELECT * FROM PRPS WHERE "WBS Elements
PRART IN EXTRTYP " Range of Proj.Types (CO,GV,TC..
and PSPHI = PROJ-PSPNR.
HOLD_PRART = ' '. "clears project type
CLEAR ETAB.
ETAB-X_PROJ = PRPS-POSID.
ETAB-X_BU = PRPS-PRCTR(2). "Business Unit
ETAB-X_PMGR = PROJ-VERNA. "Project Manager
IF PRPS-PRCTR(2) = '01'.
ETAB-X_CNTR = PRPS-PRCTR. " Profit Center
CONCATENATE SPACE PRPS-PRCTR INTO ETAB-X_CNTR SEPARATED BY SPACE.
ELSE.
ETAB-X_CNTR = PRPS-PRCTR. " Profit Center
ENDIF.
ETAB-X_TTLE = PRPS-POST1. "Title
CLEAR TEMP-DATE.
TEMP-DATE = PROJ-PLFAZ. "Project planned start date
CONCATENATE TEMP-DATE4(2) '/' TEMP-DATE6(2) '/'
TEMP-DATE+0(4) INTO ETAB-X_OPEN.
TEMP-DATE = PROJ-PLSEZ. "Project planned finish date
CONCATENATE TEMP-DATE4(2) '/' TEMP-DATE6(2) '/'
TEMP-DATE+0(4) INTO ETAB-X_CLOSE.
Tech Lead
will comment below
SELECT SINGLE VERNA FROM TCJ04 "Tech Lead name from TCJ04
INTO (ETAB-X_GRPH) WHERE VERNR = PROJ-ZGRPHD.
End Of Tech Lead
Account Manager
SELECT SINGLE VERNA FROM TCJ04 "Acct Manager from TCJ04
INTO (ETAB-X_BDREP) WHERE VERNR = PROJ-ZBUSDEV.
******End Of Account Manager
Key Personnel
SELECT SINGLE VERNA FROM TCJ04 "Account Rep name from TCJ04
INTO (ETAB-X_ACTREP) WHERE VERNR = PROJ-ZRESPDIR.
********End of Key Personnel
**Contract Manager
SELECT SINGLE VERNA FROM TCJ04 "Contract Rep name from TCJ04
INTO (ETAB-X_CREP) WHERE VERNR = PROJ-ZCNTREP.
End of Contract Manager
PRPS Table WBS's attached to the Project
SELECT * FROM PRPS WHERE "WBS Elements
PRART IN EXTRTYP "Range of Proj.Types (CO,GV,TC..
AND PSPHI = PROJ-PSPNR.
order by posid stufe. "Sort by WBS & Level (needed?)
get info from level 1 of the WBS
IF PRPS-STUFE EQ 1. "top-level WBS element
HOLD_PRART = PRPS-PRART. "save project type for later
ETAB-X_STAT = '????'. "set ? as the default status
get Status for level 1
SELECT * FROM JEST "use JEST to determine Status
WHERE OBJNR = PRPS-OBJNR
AND INACT EQ SPACE. "space denotes an active status
CASE JEST-STAT. "find the system status (Ixxx)
WHEN 'I0001'.
ETAB-X_STAT = 'CRTD'. "Created
WHEN 'I0002'.
ETAB-X_STAT = 'REL'. "Released
WHEN 'I0045'.
ETAB-X_STAT = 'TECO'. "Technically Complete
WHEN 'I0046'.
ETAB-X_STAT = 'CLSD'. "Closed
ENDCASE.
ENDSELECT.
Select only active projects (ie; those not with TECO or CLSD)
IF OPT2 EQ 'X'
AND ( ETAB-X_STAT EQ 'TECO'
OR ETAB-X_STAT EQ 'CLSD' ).
EXIT.
ENDIF.
*comment Contract Rep and Proj man because we get them from PROJ now
etab-x_crep = prps-zzcont. "Contract Rep.
etab-x_pmgr = prps-verna. "Program Manager Name
ETAB-X_CLNT = PRPS-ZZMANDT. "Client Name
ETAB-X_CGT = PRPS-PRART. "CO, GV, TC, etc
ETAB-X_DISTR = PRPS-ZZVTWEG. "Distrib Channel (ie; GP, etc.)
ETAB-X_CONTR = PRPS-USR04. "Contribution %
ETAB-X_POCN = PRPS-ZZPOCN. "Contract Number
ETAB-X_TYPE = PRPS-ZZORDT. "Order Type Sarnoff
Award and Authorization (Revenue & Cost)
SELECT * FROM BPGE
WHERE OBJNR = PRPS-OBJNR
AND LEDNR = '0001' "Budget / Planning Ledger
AND TRGKZ = 'N' "Object indicator
AND WRTTP = '01' "Value Type
AND ( VERSN = '011' "011 = Award
OR VERSN = '012' "012 = Billing Authorization
OR VERSN = '013' ). "013 = RA Authorization
"010 = Funding Authorization
Award Plan 11
IF BPGE-VERSN = '011'. "Plan 11 = Award
CASE BPGE-VORGA.
WHEN 'KSTP'. "KSTP = Cost level
ETAB-X_AWRD = ETAB-X_AWRD + BPGE-WTGES.
ENDCASE.
ENDIF.
IF prps-stufe eq '2'.
Authorization (Revenue & Cost plan 12) Plan 12
IF BPGE-VERSN = '012'. "Plan 12 = RA Authorization
CASE BPGE-VORGA.
WHEN 'KSTR'. "KSTR = Revenue level
ETAB-X_P12R = ETAB-X_P12R - BPGE-WTGES.
WHEN 'KSTP'. "KSTP = Cost level
ETAB-X_P12C = ETAB-X_P12C + BPGE-WTGES.
ENDCASE.
ENDIF.
Authorization (Revenue & Cost plan 13) Plan 13
IF BPGE-VERSN = '013'. "Plan 13 = RA Authorization
CASE BPGE-VORGA.
WHEN 'KSTR'. "KSTR = Revenue level
ETAB-X_P13R = ETAB-X_P13R - BPGE-WTGES.
WHEN 'KSTP'. "KSTP = Cost level
ETAB-X_P13C = ETAB-X_P13C + BPGE-WTGES.
ENDCASE.
ENDIF.
endif.
ENDSELECT. "BPGE
ENDIF. "end of if prps-stufe eq 1. top-level WBS element
COSP Table (External Postings) Awards
COSP Table (External Postings) Billed Sales
COSP Table (External Postings) DPC's & Legacy Load
SELECT * FROM COSP
WHERE OBJNR = PRPS-OBJNR AND
GJAHR LE YEAR
AND (
( kstar = '0000400999' and "old CE for Award $
( KSTAR BETWEEN '0000400990' AND '0000400999' AND
VERSN = '011' AND "11 = Award
WRTTP = '01' ) "01 = Planned
OR ( ( KSTAR BETWEEN '0000400001' AND '0000400989' OR
KSTAR BETWEEN '0000999001' AND '0000999003' ) AND
WRTTP = '04' ) "04 = Actuals
OR ( ( KSTAR BETWEEN '0000998001' AND '0000998010' OR
KSTAR BETWEEN '0000600001' AND '0000601999' ) AND
WRTTP = '04' ) "04 = Actuals
*------- Awards
if cosp-kstar = '0000400999' and "old 400999 = Awards
IF COSP-KSTAR BETWEEN '0000400990' AND '0000400999' AND
COSP-VERSN = '011' AND "11 = Award
COSP-WRTTP = '01'. "01 = Planned
IF YEAR = COSP-GJAHR.
DO.
IF SY-INDEX LE MONTH.
MOVE SY-INDEX TO HLD_INDX.
MNT_INDX = 'COSP-WKGXXX'.
REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
ASSIGN (MNT_INDX) TO <MNT>.
ETAB-X_AWRD = ETAB-X_AWRD + <MNT>.
ELSE.
EXIT.
ENDIF.
ENDDO.
ELSEIF YEAR > COSP-GJAHR.
ETAB-X_AWRD = ETAB-X_AWRD +
COSP-WKG001 + COSP-WKG002 +
COSP-WKG003 + COSP-WKG004 +
COSP-WKG005 + COSP-WKG006 +
COSP-WKG007 + COSP-WKG008 +
COSP-WKG009 + COSP-WKG010 +
COSP-WKG011 + COSP-WKG012 +
COSP-WKG013 + COSP-WKG014 +
COSP-WKG015 + COSP-WKG016.
ELSE.
EXIT.
ENDIF.
ENDIF.
*------- Billed Sales
IF ( COSP-KSTAR BETWEEN '0000400001' AND '0000400989' OR
COSP-KSTAR BETWEEN '0000999001' AND '0000999003' ) AND
COSP-WRTTP = '04'.
"0000999001 = ITD Sales
"0000999003 = ITD Billed Revenue
IF YEAR = COSP-GJAHR.
DO.
IF SY-INDEX LE MONTH.
MOVE SY-INDEX TO HLD_INDX.
MNT_INDX = 'COSP-WKGXXX'.
REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
ASSIGN (MNT_INDX) TO <MNT>.
ETAB-X_ITDB = ETAB-X_ITDB - <MNT>.
ETAB-X_YTDB = ETAB-X_YTDB - <MNT>.
IF SY-INDEX = MONTH.
ETAB-X_MTHB = ETAB-X_MTHB - <MNT>.
ENDIF.
ELSE.
EXIT.
ENDIF.
ENDDO.
ELSEIF YEAR > COSP-GJAHR.
ETAB-X_ITDB = ETAB-X_ITDB -
COSP-WKG001 - COSP-WKG002 -
COSP-WKG003 - COSP-WKG004 -
COSP-WKG005 - COSP-WKG006 -
COSP-WKG007 - COSP-WKG008 -
COSP-WKG009 - COSP-WKG010 -
COSP-WKG011 - COSP-WKG012 -
COSP-WKG013 - COSP-WKG014 -
COSP-WKG015 - COSP-WKG016.
ELSE.
EXIT.
ENDIF.
ENDIF.
*------- DPC's & Legacy Load
IF ( COSP-KSTAR BETWEEN '0000998001' AND '0000998010' OR
COSP-KSTAR BETWEEN '0000600001' AND '0000601999' ) AND
COSP-WRTTP = '04'.
IF YEAR = COSP-GJAHR.
DO.
IF SY-INDEX LE MONTH.
MOVE SY-INDEX TO HLD_INDX.
MNT_INDX = 'COSP-WKGXXX'.
REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
ASSIGN (MNT_INDX) TO <MNT>.
ETAB-X_ITDC = ETAB-X_ITDC + <MNT>.
ETAB-X_YTDC = ETAB-X_YTDC + <MNT>.
IF SY-INDEX = MONTH.
ETAB-X_MTHC = ETAB-X_MTHC + <MNT>.
ENDIF.
ELSE.
EXIT.
ENDIF.
ENDDO.
ELSEIF YEAR > COSP-GJAHR.
ETAB-X_ITDC = ETAB-X_ITDC +
COSP-WKG001 + COSP-WKG002 +
COSP-WKG003 + COSP-WKG004 +
COSP-WKG005 + COSP-WKG006 +
COSP-WKG007 + COSP-WKG008 +
COSP-WKG009 + COSP-WKG010 +
COSP-WKG011 + COSP-WKG012 +
COSP-WKG013 + COSP-WKG014 +
COSP-WKG015 + COSP-WKG016.
ELSE.
EXIT.
ENDIF.
ENDIF.
ENDSELECT.
COOI Table (Commitments) commitments for the WBS elements
SELECT * FROM COOI
WHERE OBJNR = PRPS-OBJNR.
ETAB-X_COMM = ETAB-X_COMM + COOI-WTGBTR.
ENDSELECT.
COSS Table (External Postings) G&A on Commitments
COSS Table (External Postings) Shared Billed Sales
COSS Table (External Postings) Shared DPC's
COSS Table (External Postings) Salary,ESE,OH, & G&A
SELECT * FROM COSS
WHERE
( OBJNR = PRPS-OBJNR AND
WRTTP = '22' ) "G&A on Commitments
OR
( OBJNR = PRPS-OBJNR AND
GJAHR LE YEAR AND
WRTTP = '04' AND "04 = Actuals
( "Shared Billed Sales
( KSTAR BETWEEN '0000400001' AND '0000400989' OR
KSTAR BETWEEN '0000999001' AND '0000999003' )
OR "Shared DPC's
( KSTAR BETWEEN '0000600001' AND '0000601999' )
OR "Salary,ESE,OH, & G&A
( ( KSTAR BETWEEN '0000001000' AND '0000001999' OR
KSTAR BETWEEN '0000002100' AND '0000002199' OR
KSTAR BETWEEN '0000002500' AND '0000002599' OR
KSTAR BETWEEN '0000002800' AND '0000002899' ) )
and parob not like 'PR%' ) "commented out on 4/19/2000
*------- G&A on Commitments (NOTE: data is always as of the RUN date)
IF COSS-WRTTP = '22'.
ETAB-X_COMM = ETAB-X_COMM +
COSS-WKG001 + COSS-WKG002 +
COSS-WKG003 + COSS-WKG004 +
COSS-WKG005 + COSS-WKG006 +
COSS-WKG007 + COSS-WKG008 +
COSS-WKG009 + COSS-WKG010 +
COSS-WKG011 + COSS-WKG012 +
COSS-WKG013 + COSS-WKG014 +
COSS-WKG015 + COSS-WKG016.
ENDIF.
*------- Shared Billed Sales
IF ( COSS-KSTAR BETWEEN '0000400001' AND '0000400989' OR
COSS-KSTAR BETWEEN '0000999001' AND '0000999003' ) AND
COSS-WRTTP = '04'.
IF YEAR = COSS-GJAHR.
DO.
IF SY-INDEX LE MONTH.
MOVE SY-INDEX TO HLD_INDX.
MNT_INDX = 'COSS-WKGXXX'.
REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
ASSIGN (MNT_INDX) TO <MNT>.
ETAB-X_ITDB = ETAB-X_ITDB - <MNT>.
ETAB-X_YTDB = ETAB-X_YTDB - <MNT>.
IF SY-INDEX = MONTH.
ETAB-X_MTHB = ETAB-X_MTHB - <MNT>.
ENDIF.
ELSE.
EXIT.
ENDIF.
ENDDO.
ELSEIF YEAR > COSS-GJAHR.
ETAB-X_ITDB = ETAB-X_ITDB -
COSS-WKG001 - COSS-WKG002 -
COSS-WKG003 - COSS-WKG004 -
COSS-WKG005 - COSS-WKG006 -
COSS-WKG007 - COSS-WKG008 -
COSS-WKG009 - COSS-WKG010 -
COSS-WKG011 - COSS-WKG012 -
COSS-WKG013 - COSS-WKG014 -
COSS-WKG015 - COSS-WKG016.
ELSE.
EXIT.
ENDIF.
ENDIF.
*------- Shared DPC's
IF COSS-KSTAR BETWEEN '0000600001' AND '0000601999' AND
COSS-WRTTP = '04'.
IF YEAR = COSS-GJAHR.
DO.
IF SY-INDEX LE MONTH.
MOVE SY-INDEX TO HLD_INDX.
MNT_INDX = 'COSS-WKGXXX'.
REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
ASSIGN (MNT_INDX) TO <MNT>.
ETAB-X_ITDC = ETAB-X_ITDC + <MNT>.
ETAB-X_YTDC = ETAB-X_YTDC + <MNT>.
IF SY-INDEX = MONTH.
ETAB-X_MTHC = ETAB-X_MTHC + <MNT>.
ENDIF.
ELSE.
EXIT.
ENDIF.
ENDDO.
ELSEIF YEAR > COSS-GJAHR.
ETAB-X_ITDC = ETAB-X_ITDC +
COSS-WKG001 + COSS-WKG002 +
COSS-WKG003 + COSS-WKG004 +
COSS-WKG005 + COSS-WKG006 +
COSS-WKG007 + COSS-WKG008 +
COSS-WKG009 + COSS-WKG010 +
COSS-WKG011 + COSS-WKG012 +
COSS-WKG013 + COSS-WKG014 +
COSS-WKG015 + COSS-WKG016.
ELSE.
EXIT.
ENDIF.
ENDIF.
*------- Salary,ESE,OH,& G&A
IF ( COSS-KSTAR BETWEEN '0000001000' AND '0000001999' OR
COSS-KSTAR BETWEEN '0000002100' AND '0000002199' OR
COSS-KSTAR BETWEEN '0000002500' AND '0000002599' OR
COSS-KSTAR BETWEEN '0000002800' AND '0000002899' ) AND
COSS-WRTTP = '04'.
IF YEAR = COSS-GJAHR.
DO.
IF SY-INDEX LE MONTH.
MOVE SY-INDEX TO HLD_INDX.
MNT_INDX = 'COSS-WKGXXX'.
REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
ASSIGN (MNT_INDX) TO <MNT>.
ETAB-X_ITDC = ETAB-X_ITDC + <MNT>.
ETAB-X_YTDC = ETAB-X_YTDC + <MNT>.
IF SY-INDEX = MONTH.
ETAB-X_MTHC = ETAB-X_MTHC + <MNT>.
ENDIF.
ELSE.
EXIT.
ENDIF.
ENDDO.
ELSEIF YEAR > COSS-GJAHR.
ETAB-X_ITDC = ETAB-X_ITDC +
COSS-WKG001 + COSS-WKG002 +
COSS-WKG003 + COSS-WKG004 +
COSS-WKG005 + COSS-WKG006 +
COSS-WKG007 + COSS-WKG008 +
COSS-WKG009 + COSS-WKG010 +
COSS-WKG011 + COSS-WKG012 +
COSS-WKG013 + COSS-WKG014 +
COSS-WKG015 + COSS-WKG016.
ELSE.
EXIT.
ENDIF.
ENDIF.
ENDSELECT.
COSB Table (Results from running RA) Unbilled Sales
SELECT * FROM COSB
WHERE OBJNR = PRPS-OBJNR
AND KSTAR BETWEEN '0000003004' AND '0000003005'
"0000003004 = Unbilled Revenue
"0000003005 = Unearned Revenue
AND GJAHR LE YEAR
AND WRTTP = '32'. "32 = Results Analysis
IF YEAR = COSB-GJAHR.
DO.
IF SY-INDEX LE MONTH.
MOVE SY-INDEX TO HLD_INDX.
MNT_INDX = 'COSB-WKGXXX'.
REPLACE 'XXX' WITH HLD_INDX INTO MNT_INDX.
ASSIGN (MNT_INDX) TO <MNT>.
ETAB-X_ITDS = ETAB-X_ITDS - <MNT>.
ETAB-X_YTDS = ETAB-X_YTDS - <MNT>.
IF SY-INDEX = MONTH.
ETAB-X_MTHS = ETAB-X_MTHS - <MNT>.
ENDIF.
ELSE.
EXIT.
ENDIF.
ENDDO.
ELSEIF YEAR > COSB-GJAHR.
ETAB-X_ITDS = ETAB-X_ITDS -
COSB-WKG001 - COSB-WKG002 -
COSB-WKG003 - COSB-WKG004 -
COSB-WKG005 - COSB-WKG006 -
COSB-WKG007 - COSB-WKG008 -
COSB-WKG009 - COSB-WKG010 -
COSB-WKG011 - COSB-WKG012 -
COSB-WKG013 - COSB-WKG014 -
COSB-WKG015 - COSB-WKG016.
ELSE.
EXIT.
ENDIF.
ENDSELECT.
ENDSELECT. "End of WBS records (from PRPS) for project
Get Total Sales by adding Billed Sales to Unbilled Sales.
ETAB-X_ITDS = ETAB-X_ITDS + ETAB-X_ITDB.
ETAB-X_YTDS = ETAB-X_YTDS + ETAB-X_YTDB.
ETAB-X_MTHS = ETAB-X_MTHS + ETAB-X_MTHB.
IF HOLD_PRART IN EXTRTYP. "Matches the user requested project type
IF OPT1 EQ 'X' OR "All projects
( OPT2 EQ 'X' AND "Only active projects
ETAB-X_STAT NE 'TECO' AND
ETAB-X_STAT NE 'CLSD' ).
TOTAL_AWARD = TOTAL_AWARD + ETAB-X_AWRD.
TOTAL_AUTHR12 = TOTAL_AUTHR12 + ETAB-X_P12R .
TOTAL_AUTHC12 = TOTAL_AUTHC12 + ETAB-X_P12C.
TOTAL_AUTHR13 = TOTAL_AUTHR13 + ETAB-X_P13R.
TOTAL_AUTHC13 = TOTAL_AUTHC13 + ETAB-X_P13C.
TOTAL_ITDSALES = TOTAL_ITDSALES + ETAB-X_ITDS.
TOTAL_ITDCOSTS = TOTAL_ITDCOSTS + ETAB-X_ITDC.
TOTAL_YTDSALES = TOTAL_YTDSALES + ETAB-X_YTDS.
TOTAL_YTDCOSTS = TOTAL_YTDCOSTS + ETAB-X_YTDC.
TOTAL_MTHSALES = TOTAL_MTHSALES + ETAB-X_MTHS.
TOTAL_MTHCOSTS = TOTAL_MTHCOSTS + ETAB-X_MTHC.
TOTAL_ITDBILLED = TOTAL_ITDBILLED + ETAB-X_ITDB.
TOTAL_YTDBILLED = TOTAL_YTDBILLED + ETAB-X_YTDB.
TOTAL_MTHBILLED = TOTAL_MTHBILLED + ETAB-X_MTHB.
TOTAL_COMMITMENT = TOTAL_COMMITMENT + ETAB-X_COMM.
PERFORM SHIFT_SIGN.
APPEND ETAB. "Write data to internal table
CLEAR ETAB.
COUNT_PROJECTS = COUNT_PROJECTS + 1. "Count # of Projects
ENDIF.
ENDIF.
ENDSELECT.
ENDSELECT. "End of Projects from PROJ table
PERFORM GRAND_TOTALS.
SORT ETAB BY X_BU X_PROJ.
ETAB-X_BU = 'BU'.
ETAB-X_CNTR = 'PrftCntr'.
ETAB-X_PROJ = 'Proj'.
ETAB-X_CREP = 'Contract Mgr'.
ETAB-X_BDREP = 'Account Mgr'.
ETAB-X_GRPH = 'Technical Lead'.
ETAB-X_ACTREP = 'Key Person1'.
ETAB-X_PMGR = 'Program Mgr'.
ETAB-X_TTLE = 'Title'.
ETAB-X_CLNT = 'Client'.
ETAB-X_POCN = 'Contract #'.
ETAB-X_TYPE = 'Type'.
ETAB-X_OPEN = 'Open'.
ETAB-X_CLOSE = 'Close'.
ETAB-X_CGT = 'CGT'.
ETAB-X_DISTR = 'DC'.
ETAB-X_CONTR = 'Contr%'.
ETAB-X_AWRD = 'Award'.
ETAB-X_P12R = 'Auth12 Sales'.
ETAB-X_P12C = 'Auth12 Cost'.
ETAB-X_P13R = 'Auth13 Sales'.
ETAB-X_P13C = 'Auth13 Cost'.
ETAB-X_ITDS = 'ITD Sales'.
ETAB-X_ITDC = 'ITD Costs'.
ETAB-X_YTDS = 'YTD Sales'.
ETAB-X_YTDC = 'YTD Costs'.
ETAB-X_MTHS = 'Mth Sales'.
ETAB-X_MTHC = 'Mth Costs'.
ETAB-X_ITDB = 'ITD Billed'.
ETAB-X_YTDB = 'YTD Billed'.
ETAB-X_MTHB = 'Mth Billed'.
ETAB-X_COMM = 'Commitments'.
ETAB-X_STAT = 'Status'.
INSERT ETAB INDEX 1. "Write a report header line to internal table
CLEAR ETAB.
CALL FUNCTION 'Z_RH_START_EXCEL_DATA_OLE'
EXPORTING
data_name = 'C:\WINNT\Profiles\cbraswell\Desktop\TestTemp.xlt'
DATA_NAME = 'ZSales.XLS'
DATA_PATH_FLAG = 'W'
DATA_TYPE = 'DAT'
DATA_BIN_FILE_SIZE = 'ZSales'
CHART_TITLE = 'ZSales'
CHART_TYPE = 2
CATEGORY_TITLE = 'ZSales'
VALUE_TITLE = 'ZSales'
DATA_XTOP_COR = 0
DATA_YTOP_COR = 0
DATA_XBOT_COR = 0
DATA_YBOT_COR = 0
CATEGORY_XTOP_COR = 0
CATEGORY_YTOP_COR = 0
CATEGORY_XBOT_COR = 0
CATEGORY_YBOT_COR = 0
TABLES
DATA_TAB = ETAB
EXCEPTIONS
NO_BATCH = 1
DOWNLOAD_ERROR = 2
INVALID_TYPE = 3
INTERNAL_ERROR = 4
NO_OLE_SUPPORT = 5
OLE_FILE_ERROR = 6
OLE_ERROR = 7
NO_DATA = 8
COORDINATE_ERROR = 9
OTHERS = 10.
Negative # sign in the front of number for downloading to Excel
FORM SHIFT_SIGN.
IF ETAB-X_AWRD CA '-'. SHIFT ETAB-X_AWRD RIGHT CIRCULAR. ENDIF.
IF ETAB-X_P12R CA '-'. SHIFT ETAB-X_P12R RIGHT CIRCULAR. ENDIF.
IF ETAB-X_P12C CA '-'. SHIFT ETAB-X_P12C RIGHT CIRCULAR. ENDIF.
IF ETAB-X_P13R CA '-'. SHIFT ETAB-X_P13R RIGHT CIRCULAR. ENDIF.
IF ETAB-X_P13C CA '-'. SHIFT ETAB-X_P13C RIGHT CIRCULAR. ENDIF.
IF ETAB-X_ITDS CA '-'. SHIFT ETAB-X_ITDS RIGHT CIRCULAR. ENDIF.
IF ETAB-X_ITDIC CA '-'. SHIFT ETAB-X_ITDIC RIGHT CIRCULAR. ENDIF.
IF ETAB-X_ITDC CA '-'. SHIFT ETAB-X_ITDC RIGHT CIRCULAR. ENDIF.
IF ETAB-X_YTDS CA '-'. SHIFT ETAB-X_YTDS RIGHT CIRCULAR. ENDIF.
IF ETAB-X_YTDC CA '-'. SHIFT ETAB-X_YTDC RIGHT CIRCULAR. ENDIF.
IF ETAB-X_YTDIC CA '-'. SHIFT ETAB-X_YTDIC RIGHT CIRCULAR. ENDIF.
IF ETAB-X_MTHS CA '-'. SHIFT ETAB-X_MTHS RIGHT CIRCULAR. ENDIF.
IF ETAB-X_MTHC CA '-'. SHIFT ETAB-X_MTHC RIGHT CIRCULAR. ENDIF.
IF ETAB-X_MTHIC CA '-'. SHIFT ETAB-X_MTHIC RIGHT CIRCULAR. ENDIF.
IF ETAB-X_ITDB CA '-'. SHIFT ETAB-X_ITDB RIGHT CIRCULAR. ENDIF.
IF ETAB-X_YTDB CA '-'. SHIFT ETAB-X_YTDB RIGHT CIRCULAR. ENDIF.
IF ETAB-X_MTHB CA '-'. SHIFT ETAB-X_MTHB RIGHT CIRCULAR. ENDIF.
IF ETAB-X_COMM CA '-'. SHIFT ETAB-X_COMM RIGHT CIRCULAR. ENDIF.
ENDFORM.
FORM GRAND_TOTALS.
SKIP 1. .
WRITE: / '----
WRITE: / 'System ID = ', SY-SYSID,
/ 'Client = ', SY-MANDT,
/ 'User = ', SY-UNAME,
/ 'Date of data extract = ', SY-DATUM ,
/ 'Number of Projects = ', COUNT_PROJECTS,
/ 'total Award (Plan 11) = ', TOTAL_AWARD,
/ 'total Auth SalesHi all,
Iam really waiting for someone to see and get the logic right for this code.Iam completely stuck up. i need ur help
Thanks -
I have connected TABULAR Model to Excel, and in the pivot the filter is on multiple dimensions. When doing the drillthrough action it gives error - Error: Show Details cannot be executed when multiple items are selected in a report filter field or in a slicer
Is there any workaround to this error? so that drillthrough can be done even with multiple selection.Hi Vikas,
The reason behind the error message requires the knowledge on what happens at the backend. When you perform a drill-through action, a query is sent to Analysis Services. This query is expressed in a query language called Multi-Dimensional Expression (MDX).
Since the MDX language doesnot support drill-through command against a set (collection of tuples) an error is persisted.
For now, there is no workaround as it is a limitation of the underlying language that is generating the query.
When multiple items are selected you lose the ability to drill-down on individual metrics. To resolve you must either:
1. Select a single Item.
2. Select all items.
Hope this helps!
Please mark as Answer if this helps! Thanks, Rajasekhar. -
How to change crystal report data field at runtime ?
Hello everyone,
I have a Crystal Report file ,which i am using to generate report for my windows form project .
In that report i have a filed called as Quantity which data type is set as decimal, the requirement is like that the number of value those comes after decimal point that should be set according to the value which is given by the user at the run time .
For eg: If user gives 1 at the run time then the report Qty field value set one value after decimal point. Like 12.1
if user gives 2 then Qty field the value is 12.22 like tat but user can give from zero to any number.. and if it is zero it should not show decimal
Note: The main idea hear is how to change the filed in Crystal Report decimal point value by using code(or we say writing code we need to set manually as user input it will change)
Can any body help me how to solve this issue .
S.K NayakI think you could probably make the field you see a formula field and take a parameter as the number of decimal places.
totext converts a number to a string.
totext({decimalField}, 2)
That's 2 decimal places.
You could probably substitute a {parameter} for that 2.
If not then you could substitute an entire formula.
To explore formulas:
foreach (FormulaFieldDefinition f in rpt.DataDefinition.FormulaFields)
MessageBox.Show(f.Name);
// f.Text = your new formula
Where rpt is an instantiated report.
Or add another string field which you display in the column and do the calculation with the original decimal.
Hope that helps.
Recent Technet articles:
Property List Editing;
Dynamic XAML -
Sales Quote and Sales Order for Service Module.
Hi All,
I have a scenario with one of the customer where they have a Service Department. The customer is into installation and servicing of Air conditioning systems.
The scenario is as mentioned below:
Customer does the installation of Air Conditioning work and then provides service to the same, if contract mentioned that service is also to be provided by same team. There are also times when the customer quotes only for Servicing of the Air Conditioning in the Projects where the installation is not done by them, but a third party. In such case the customer sends his Sales Quotation for taking up the Servicing of the Air Conditioning (AMC for a year), to be provided to the principle client. If he wins the opportunity then the same will be transferred to Sales Order.
Now in SAP Business One the Service Module starts only with Service Contract and Service Warranty Templates. This is considering that the equipments are delivered by the Contractor him self. This scenario is fine.
But for equipments which are not delivered by the customer, then manual Customer Equipment Card can be prepared and then service contract created to it. But here there is a disconnect between the Quotation that they send to principle and attaching the Sales Order, if the Service Bid is won by Customer. If i need to keep a reference as to which Sales Order was received by Customer from Principle in Service Contract, there is no provision for same.
Is there any way i can do it other than creating a UDF and linking the sales order number to Service Contract and not developing any screens for same?
Require all your valuable inputs..
Regards
Rohan S. KambleHi Rohan........
There is no such standard field in Service Contract to attach Sales Order. You can create UDF else you can have FMS and map it to remark field.
And when you copy it to service call you can attach the same SO at Activity level or it will be attached automatically as yiu are defining it into the service contract.........
Regards,
Rahul -
Service Module - Contract Template
Hello Experts,
</p>
We plan to implement service module in our SBO8.8 (pl6). I've been reading subjects about it for several weeks and do some testing. We've been using SBO almost about 1.5 years and trying to utilize its capabilities from time to time.
</p>
Our requirements for Service Module consist of 2 scenarios,
</p>
- Serial numbered items.</p>
Create contract templates with "serial number" contract type.</p>
Set automatic creation in General settings for customer equipment card (CEC).</p>
Assigned to item in item master data.</p>
Whenever delivery or A/R invoice made, CEC made automatically "per serial number" bassis,</p>
while Service contract also automatically made in "per delivery/AR invoice" basis.</p>
</p>
The questions I still wonder are,</p>
1. In which part of the setup tells SBO to create Service contract automatically?</p>
The reason I asked is, what happened if there are 2 differenct contract template? one based on serial number, and the other one
based on customer. When I got to choose which Contract Template to use?</p>
This would be the same with how can I choose contract template in Item Master Data general tab when I want to assign
contract template based on Customer/Items Group contract type?
</p>
2. When the customer make a complain, and the item needs to be send back for repair. How can I received this item without
using the Return/AP credit memo windows? </p>
The reason is, the item has been sold to distributor, distributor sold to dealer, and
then dealer sold to end user. While the end prices in between are beyond our control, we do not know what amount to put on
return/AP credit memo form. Is there a way we could just received it without involving journal entry (the amount)? and after repair, delivery it back to customer.
</p>
3. Item A sold to Customer A, item B sold to Customer B. Then in reality, Customer A sold item A to Customer B. In our database, both CEC and Service Contract for item A will be under customer A. When customer B calls to make service call, how do we choose
that item serial number (being sold to customer A) for the service being made for Customer B?</p>
I tried to choose the serial number first on the servic call windows to bring that specific items, apparently Customer A automatically
filled in the customer field. If I tried to change the customer, the serial number field will be gone and can only be updated by
items belongs to Customer A.
</p>
- The second scenario would be how to give service contract to customer whom items they bought mosly are managed by batch.</p>
It almost the same with question #1 above. When do we got to choose to link a service contract to 'specific' customer that we
want to provide service warranty? So when delivery/AR being made, all items inside it reflect the service contract we want.
</p>
Seems like I stil have a lot to learn the advantages and limitation for this service module before implementing in our production database. Hope to hear any advices and feedback.
</p>
Thank you,</p>
Peter
Edited by: Peter Widjaja on May 14, 2010 10:10 AMroadman18,
This article should cover the issue you are experiencing. Give the steps outlined under the light patern a shot and let us know if it helps.
Best of Luck!
You can say thanks by clicking the Kudos Star in my post. If my post resolves your problem, please mark it as Accepted Solution so others can benefit too. -
Dear All Abapers,
I have developed a service PO report. Reference t-codes are ml81n and me23n. The query is regarding Entry sheet number for a particular PO number. If the user saves and posts an entry sheet no, a GR No. is made and it is reflected in my report. But if a user ONLY SAVES an entry sheet number (without posting), it is not reflected in my report but is reflected in the database tables which I have used. EKBE table in this case. So, what condition should I put so that 'only saved' entry sheet numbers are also reflected?The select query is for fetching entry sheet number is:
select ebeln belnr bwart bewtp menge xblnr lfbnr mwskz shkzg srvpos packno from ekbe
into corresponding fields of table it_ekbe
for all entries in it_ekko
where belnr in s_belnr
and lfbnr in s_lfbnr
and ebeln = it_ekko-ebeln
and bwart = '101'
and bewtp eq 'E'. "for service acceptance no. (GR no.)
Here I have taken lfbnr as entry sheet number. -
Cisco SSL Services Module (on 6500)
Hi all,
A customer has asked me a few questions on an SSL Services Module they have (that we haven't sold and have little experience with). I've been reading the documents, but I have some questions and things to verify...
As I can understand, they already have services and trustpoints configured on the module, but with certificates created with a previously-existing internal AD-integrated CA. Now, they want to switch their services to run a certificate they've obtained from a legitimate CA.
1) They are trying to import the new certificate with copy-paste method, through the terminal. As far as I can see, both the server certificate and the CA certificate issuing the server cert. should be in base64 encoded for this to work, right? Or, can we import somehow PKCS or PEM certs thorough the terminal?
2) They would like to use a wildcard certificate for a few of their servers/services they publish. (Like, instead of getting 3 different certificates for service1.domain.com, service2.domain.com and service3.domain.com, they'd like a certificate for *.domain.com which would work for all of the 3 services.) Is this possible? Should they need to change their configuration? (Now I understand that they have different trustpoints, certificates and service configurations for each of the servers...)
I'd really like if some good soul with experience could shed a little light on this...
Or, any leads on documentation (that I may have missed) would also be appreciated.
Thanks in advance,
EmreGood day Emre-
For question 1 - You can import PEM base64 certificates via the terminal only, all other types need to be loaded over tftp/sftp/ftp.
For question 2 - There is nothing special about how the SSLM handles the Issed To field in a certificate, it doesn't matter if it is specifc or wildcard. Multi domain certificates are also ok (using a Subject Alternative Name field.) The only thing I can think of here in terms of a difference is you might have less trustpoints and configuration on you SSLM since you no longer require multiple server certificates.
Outiside of your direct questions, make sure you upload the root and intermediate(s) into the SSLM. It has to be able to complete the SSL chain from server to root in order to operate.
Regards,
Chris Higgins -
Can i use the Service Module?
Hello all,
can i use the service module w/ the ff. scenario?
items are manage by serial numbers., but we dont sell it, we purchase the item for internal use only. this are the ff. information that i want to track.
1. track the history of the item everytime it has undergone for repair
a. some cases the repair takes place within the company, meaning employees within the company take care on the labor but only parts will be purchase
b. some cases the repair takes place in business partner, (PO Service in this case)
2. track the parts that was replace
what will be my work around for this. please advice
best regards,
FidelHi Fidel,
You would need the following is you wanted to use the Service Module to track internal serialized inventory/hardware:
1. Set up a customer record that would represent the internal use/company/department
2. Manually create the Customer Equipment Card (when receiving the equipment on GRPO or AP invoice, you would want to use a warehouse that represents internally-used equipment/assets)
Repairs: you could update the status of the CEC record when it's being repaired (or have a repair WH for when it's sent off-site).
Expenses: related expenses could be done by creating a Service Call linked to the CEC with details/purpose, etc. which would be tracked on the Expenses tab but the transactions don't include AP (PO's), the assumption being that any expenses would be charged back to the customer, which in this case would be internal.
If you want the expenses linked to the item/CEC then you could use Activities from Service Call and you can link the PO/AP invoice thru the Activity. You could have one S/C record that would be for tracking equipment repairs and leave it open for as long as you have the item - that would be the link between the Activities and the CEC/equipment record. Whenever repairs are to be record, you would only need to pull up the CEC record and drill-down to the S/C to create a new Activity record. This will also enable you to see how many repairs are being down - you could even breakdown the Activity on internal vs external (have it as a Type, on which you can then report on overall as well as by item).
It will depend on what info you want to capture and if you need anything for reporting that would be that detailed (i.e. down to a serialized item) as to what process & setup you want to use. Try out the above and hopefully something will work out.
HTH,
Heather
Maybe you are looking for
-
Error in Java Server Proxy in PI 7.1
Hi Gurus, Can you please help me whether for Java server Proxies ,registration of interfaces are required or not in PI 7.1? I am using one synchronus interface(stateless).I have developped the proxy by connecting the ESR from NWDS and generating t
-
When I click on Camera, I only get a blank screen. I used it earlier to take a picture. What is wrong?
-
Problem in executing JFCunit test case
Hi all, I have problem in executing a simple test case that checks for input blank fields entered. Below is the code for the test class that i am trying to run, but i am unable to execute it. Please can anyone try to resolve this. package unittest.co
-
Skype 7.4 repeatedly crashing Win-7
hey everytime i open my skype it crashes straight away and it is really frustrating. it says skype had stopped working. this is the details it gives me it would be great if you guys can help me asap Problem signature: Problem Event Name: BEX A
-
NI PXI Switch Matrix capacitanc​e
Hi all, I am doing a feasibility study for using a NI PXI crosspoint switches for Switching (connecting) different capacitance values to the input pins of a Device. The device is sensitive to capacitance value of 0.1pF. So any additional parasitic ca