Not able to generate Report
hi,
In matrix report as the Number of column field and row field are not certain how do I get to know or point to each column field value for particular row.
Other details:-
In simple matrix report with column field as 'Division No' and Row field as 'Account No' and cell field as 'Credit_Amt' and summary field(name F_sumCreditAmt) for Account wise.
'AccountNo' field repeating frame is down wards and 'division no' repeating field is accross.
If the summary for 'accountNo' is ' 0' then I am able to supress the row, but the sum can be 'zero' if the total in that row for particular row and all the columns can be (-2000) and (1000,500,500) which will amount to be zero when you add up. But my problem is how do I generate report even if the summary column value is 'zero' but it has some value in the 'Credit_Amt' Field. I need to show the row whose summary is 'zero' but it has some value in the 'Cr_Amt' field for some of the column field(ie Division_no).
Thanks
Ram
if you run your query against the repository database you will get the error while the user MGMT_VIEW in the repository database doesn't have any
privileges on dba_data_files (I'm using OEM/GC 10g - at least in this version the user MGMT_VIEW is used).
If you want to run your query against a target database you have only these choice: create a public database link for that target database.
select tablespace_name as tbname, sum(bytes)/1024/1024 as size_mb from dba_data_files@target_db group by tablespace_name;
On the other hand you could use the repository of the OEM/GC to get some informations about the tablespaces of a target database.
Please check:
http://download.oracle.com/docs/cd/E11857_01/em.111/e12135/toc.htm => Part II Reference => 7 Management Repository Views
For your purpose the view MGMT$DB_DATAFILES in the SYSMAN repository might be a good choice...
HTH
Similar Messages
-
Not able to generate reports after 8.1.1.3 patch installation
Hi All,
We are not able to generate reports after 8.1.1.3 patch installtion.
and we also followed workaround as below
1) Import the sif files from Siebel\8.1\Tools_1\REPPATCH\12-1VMBCSV.zip
2) Import the 4 SIF files in the following order:
S_XMLP_REP_TMPL_02112010.sif
SBL_XMLP_REPORT_SELECTION_FLG.sif
Report Template BC.sif
Report Template Registration Applet.sif
3)Apply the DDL for table S_XMLP_REP_TMPL and compile repository
Still not able to generate Reports.
Below is error message
Please ask your systems administrator to check your application configuration.
ObjMgrMiscLog Error 1 000000064e150fa0:0 2011-07-07 19:45:31 (busobj.cpp (1654)) SBL-DAT-00222: An error has occurred creating business component 'Report Template Position BC' used by business object 'Report Administration'.
Please ask your systems administrator to check your application configuration.
ObjMgrBusServiceLog Error 1 000000064e150fa0:0 2011-07-07 19:45:31 (swemenusvc.cpp (406)) SBL-DAT-00222: An error has occurred creating business component '<?>' used by business object '<?>'.
Please ask your systems administrator to check your application configuration.
Thanks
SeanHi Rajan,
Thankyou for for your reply.
Reports were working fine and we are able to generate reports at configured views in 8.1.1.1 version.
After installing 8.1.1.3 patch, if we click on reports icon below is the error message displayed.
An error has occurred creating business component '<?>' used by business object '<?>'.
Please ask your systems administrator to check your application configuration. (SBL-DAT-00222).
- is it mandatory to configure security model?(in 8.1.1.1 we used default security model)?
-is it necessary to import BIPDataService and BIPSiebelSecurityWS inbound Web Services?
- I didn't see below views as mentioned in bookshelf.
. Reports - Custom Templates
. Reports - Standard Templates?
Thanks
Sean -
Not able to generate report in AVDF 12.1
Dear DBA's,
I installed 12.1 database vault server on Linux and created agent on 11.2.0.1 on solaris.
The host status is showing running.
In Security Target > Monitoring > Audit Trail in this menu the collection status is showing stopped and i clicked on start still it is showing stopped.
i am not able to generate any report so far. Kindly help me how to generate report in AVDF.
Regrds,
SGHi gurus,actually this program selecion screen is linked to ..as
First screen is .Sop
.copa
Again for sop is having a selection screen and in this it is divide based on month and year seperately in two more screens.
same for copa also....
so pls tell me a correct solution where to correct and get values.
Priority is very highhhhhhhhhhhhhh,so pls help me in sorting out this. -
Bi Publisher - not able to generate report using webservices
hi all,
I couldnt able to generate report in bi pulisher,using web services.
once i done with all the settings which is required for the creation of a report in webservices type, i couldnt able to view the report. If i do so im getting error message like "The report cannot be rendered because of an error, please contact the administrator." . I have referred http://st-curriculum.oracle.com/obe/fmw/bi/biee/r1013/bipub/intro/gettingstarted.htm#o this url for learning bi publisher.
So some one please guide me to get through this.
Thank u in advancePlease see these docs.
'Report Cannot Be Rendered Because Of An Error - Unexpected element:report' When Using Firefox [ID 605403.1]
Troubleshooting Oracle BI Publisher Enterprise and XML Publisher Enterprise [ID 412232.1]
BI Publisher Error On Report Access : java.lang.NoClassDefFoundError [ID 1083315.1]
BI PUBLISHER DATA TEMPLATE ISSUE RETRIEVING LARGE VARCHAR COLUMNS [ID 960838.1]
XML-21028 Access Not Allowed While Generating Output With BI Publisher [ID 458161.1]
Thanks,
Hussein -
Not able to generate report through EM.
Hi All,
one of the clients wants us to create a database report through EM.
We are in the process of creating the tablespace information report.
we havent created report through EM before.
Please find the below which we followed to create the report.
1. click report -->create-->
2. in the element tab
I select element--> add -->
In set parameter tab, I run this query
select tablespace_name as tbname, sum(bytes)/1024/1024 as size_mb from dba_data_files group by tablespace_name;
When i try to run the report, I am getting an error table or view does not exist.
This is the correct query when i ran the same query on db, i see the o/p.
Please also let me know how to configure the e-mail with report.
Your assistance is this regards is much appreciated.
Thanks and Regards,if you run your query against the repository database you will get the error while the user MGMT_VIEW in the repository database doesn't have any
privileges on dba_data_files (I'm using OEM/GC 10g - at least in this version the user MGMT_VIEW is used).
If you want to run your query against a target database you have only these choice: create a public database link for that target database.
select tablespace_name as tbname, sum(bytes)/1024/1024 as size_mb from dba_data_files@target_db group by tablespace_name;
On the other hand you could use the repository of the OEM/GC to get some informations about the tablespaces of a target database.
Please check:
http://download.oracle.com/docs/cd/E11857_01/em.111/e12135/toc.htm => Part II Reference => 7 Management Repository Views
For your purpose the view MGMT$DB_DATAFILES in the SYSMAN repository might be a good choice...
HTH -
Not able to generate multiple lines for headers in report
Hi,
I am new to BI publisher and not able to generate multiple lines for headers. Please help me to resolve.
I am using RTF template, data source as PS Query and XML file (system generated from the data source)
When I am using system generated 'First XML' file, I am getting output in the follwoing format.
TEAM_MEMBER, PROJECT_ID, NAME, START_DT
e.g.
EMP1 , 71000, Sample, 01-Jan-2010
EMP1 , 72000, Sample, 01-Feb-2010
EMP1 , 73000, Sample, 01-March-2010
But I want the report to be generate with multiple projects for one employee like below format , for that I used 'Second XML' file but I am getting blank report.
In short if there is one to many case, how to show in reports??? Please correct if I am going wrong.
TEAM_MEMBER
PROJECT_ID, NAME, START_DT
PROJECT_ID, NAME, START_DT
PROJECT_ID, NAME, START_DT
e.g.
EMP1
71000, Sample, 01-Jan-2010
72000, Sample, 01-Feb-2010
73000, Sample, 01-March-2010
**********First XML**************System generated XML ****************************
<?xml version="1.0"?>
<query numrows="2" queryname="SY_EMP_PROJECT" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="">
<row rownumber="1">
<TEAM_MEMBER>TEAM_MEMBER </TEAM_MEMBER>
<PROJECT_ID>PROJECT_ID samp</PROJECT_ID>
<NAME>NAME sample data</NAME>
<START_DT>2010-08-25</START_DT>
</row>
<row rownumber="2">
<TEAM_MEMBER>TEAM_MEMBER</TEAM_MEMBER>
<PROJECT_ID>PROJECT_ID samp</PROJECT_ID>
<NAME>NAME sample data</NAME>
<START_DT>2010-08-25</START_DT>
</row>
</query>
**********Second XML**************Manually created XML and using to show multiple projects for one employee****************
<?xml version="1.0"?>
<TEST numrows="2" queryname="SY_EMP_PROJECT" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="">
<TEAM_MEMBER rownumber="1">
<TEAM_MEMBER>1</TEAM_MEMBER>
<EMPLOYEE_NAME>SAMPLE</EMPLOYEE_NAME>
<PROJECT>
<PROJECT_ID>1111</PROJECT_ID>
<PROJECT_DESCR>SAMPLE</PROJECT_DESCR>
<START_DATE>01012010</START_DATE>
</PROJECT>
<PROJECT>
<PROJECT_ID>1112</PROJECT_ID>
<PROJECT_DESCR>SAMPLE</PROJECT_DESCR>
<START_DATE>01022010</START_DATE>
</PROJECT>
</TEAM_MEMBER>
<TEAM_MEMBER rownumber="2">
<TEAM_MEMBER>2</TEAM_MEMBER>
<EMPLOYEE_NAME>SAMPLEC</EMPLOYEE_NAME>
<PROJECT>
<PROJECT_ID>1111</PROJECT_ID>
<PROJECT_DESCR>SAMPLE</PROJECT_DESCR>
<START_DATE>01012010</START_DATE>
</PROJECT>
<PROJECT>
<PROJECT_ID>1112</PROJECT_ID>
<PROJECT_DESCR>SAMPLE</PROJECT_DESCR>
<START_DATE>01022010</START_DATE>
</PROJECT>
</TEAM_MEMBER>
</TEST>
Edited by: ganeshtw on Aug 25, 2010 12:14 AMHi,
With your first xml you can print like
EMP1
71000, Sample, 01-Jan-2010
72000, Sample, 01-Feb-2010
73000, Sample, 01-March-2010While creating the RTF template you can use the Group by option.
<?for-each-group:ROW;./columnname> then print the column name
<?columnname?>
--Then your table format
71000, Sample, 01-Jan-2010
72000, Sample, 01-Feb-2010
73000, Sample, 01-March-2010
<?end for-each-group?>
Thanks. -
Not able to generate UCCX Historical Report of one agent
Dear All,
I am not able to generate the UCCX Historical report of the agent as the Historical reports of the agent is generating upto the Feburary 2013 but we are not able to view the Historical Report of March 2013 and onwards, the realtime reports are generating and the agent name is added to the Active Directory only once, help is required in this regard.
Best Regards,
Durraze KhanRajesh,
Put a breakpoint and try to debug the report step by step.
You will findout the reason very easily.
Whenever you have a select and are trying to append into an internal table, keep checking your internal table if it is been populated with the correct records.
This way, you will findout the cause and can correct is accordingly.
Thanks,
Suresh Ganti -
Not able to generate "Audit Log Tampering report"
Hi,
I am not able to generate the Audit Log tampering report in version 8.0 of Sun Identity Manager. I am encountering the following message when I am trying to generate the report.
"Tamper-resistant logging is disabled. Unable to verify the integrity of the audit logs." I did not find any option to set the tamper-resistant logging feature in version 8.0 of Sun Idm.
In version 6 there is an option to set the tamper resistant audit log box by "Enabling tamper-resistant audit logs box" ( Please refer: http://docs.sun.com/source/819-4483/auditing.html)
The generated report (in version 6) did not show any data inspite of me deleting a row in the audit log.
I hope you can help me with this problem. Thanks in advance
Regards,
Sharon1) It shouldnt matter, but try
destype=file (FILE small case)
2) In builder, in property pallette see if you have given any "initial value" for these parameters (especially desname, destype etc) ?
3) Do not give "batch=yes" in command line and try
Thanks
Ratheesh -
Not able to generate AS2 MDN when receiving custom XML via AS2
Hi friends,
I have setup the trading partner and the corresponding TP certificate import for receiving the custom XML via AS2 channel.
I am receiving the custom xml properly to oracle b2b and able to receive the same to bpel as well. however in the oracle b2b console under reports tab i am seeing only one record for inbound document receive and i am not seeing the other record for the AS2 MDN going back to vendor. I have setup the AS2 channel under the external trading partner --> Channel using the vendor AS2 URL and selected all the security parameters while creating the Outbound AS2 channel.
1. Not able to generate AS2 MDN when receiving custom XML via AS2.
2. eventhough i am able to decrypt the inbound custom XML and ablr to recieve it in bpel also for processing, in the reports tab the inbound message state is changing to MSG_ERROR and it has the folloing error message:
Error Code
B2B-50037
Error Description
Machine Info: (***********) Description: B2B inbound message processing error
Error Level
ERROR_LEVEL_COLLABORATION
for AS2 MDN generation for custom XML receiving using As2 protocol, do we need to setup anything other than the outbound As2 Channel using the external vendor AS2 URL?
Can you please help me how can i generate the AS2 MDN for the inbound custom XML document i have received and also why the inbound message is failing even though i am receiving the custom XML properly to bpel?
Thanks,
Amirineni.Hi Prasanna,
Vendor has enabled the ACK mode as SYNC.
Below are the headers for the inbound message to B2B. and we are able to receive the input message to bpel also.
Protocol Transport Binding
ChannelName=******** AS2-To=****AS2 TE=trailers, deflate, gzip, compress Date=Thu, 02 Oct 2014 14:26:31 GMT AS2-Version=1.2 Accept-Encoding=deflate, gzip, x-gzip, compress, x-compress AS2-From=****AS2 Disposition-Notification-Options=signed-receipt-protocol=optional, pkcs7-signature; signed-receipt-micalg=optional, sha1 Disposition-Notification-To=https://******/as2 Message-ID=<CLEO-20141002_142630452-31X54N@****_*****AS2.pcwbedi1-O> Content-type=application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7m Content-length=747006 MSG_RECEIVED_TIME=Thu Oct 02 10:26:39 EDT 2014 Subject=EDI ECID-Context=1.005175bK7U^AXNJCAnf9Cx0002pW000yjX;kXjE1ZDLIPGIj2QCYV8QoKSSILRO_PQT_IS Proxy-Client-IP=****** Recipient-Address=https://******/b2b/httpReceiver User-Agent=RPT-HTTPClient/0.3-3I (Windows 2003) X-Forwarded-For=****** Content-Disposition=attachment; filename="smime.p7m" Host=****** EDIINT-Features=CEM, multiple-attachments, AS2-Reliability Connection=Keep-Alive X-WebLogic-KeepAliveSecs=30 X-WebLogic-Force-JVMID=-1497702782 From=****** Mime-Version=1.0
Message Digest
Message Digest
Digest Algorithm
sha1
Transport Protocol
HTTP
Transport Protocol Version
1.0
Url
http://******
security
Transport Headers
ChannelName=****** AS2-To=******AS2 TE=trailers, deflate, gzip, compress Date=Thu, 02 Oct 2014 14:26:31 GMT AS2-Version=1.2 Accept-Encoding=deflate, gzip, x-gzip, compress, x-compress AS2-From=****AS2 Disposition-Notification-Options=signed-receipt-protocol=optional, pkcs7-signature; signed-receipt-micalg=optional, sha1 Disposition-Notification-To=https://******/as2 Message-ID=<CLEO-20141002_142630452-31X54N@****AS2_*****AS2.pcwbedi1-O> Content-type=application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7m Content-length=747006 MSG_RECEIVED_TIME=Thu Oct 02 10:26:39 EDT 2014 Subject=EDI ECID-Context=1.005175bK7U^AXNJCAnf9Cx0002pW000yjX;kXjE1ZDLIPGIj2QCYV8QoKSSILRO_PQT_IS Proxy-Client-IP=***** Recipient-Address=*******/b2b/httpReceiver User-Agent=RPT-HTTPClient/0.3-3I (Windows 2003) X-Forwarded-For=******* Content-Disposition=attachment; filename="smime.p7m" Host=***** EDIINT-Features=CEM, multiple-attachments, AS2-Reliability Connection=Keep-Alive X-WebLogic-KeepAliveSecs=30 X-WebLogic-Force-JVMID=-1497702782 From=***** Mime-Version=1.0
Thanks,
Amirineni -
Not able to generate the absence quota WITHOUT Time Evaluation
Hi ALL,
When i try to generate the absences quota for employees without time evaluation using program RPTQTA00, I am not able to generate it.
And i am getting "E You have not selected any generation rules".
Kindly if any one come across this issue please throw some light and do a favour.
thanks allHi,
Pls check the follwing tables if u have made correct assignments
v_t559l
v_554s
v_556c
Check Quoma Feature
Check what status u selected in IT7
Check if ur using correct Schema
If ur Using RPTQTA00 then use No Generation,and if ur using PT60/RPTIME00 change it to Increase.
Check if u have maintained correct quota groupings.
Revert back if its not solved
Regards -
Error in process -in SRM not able to generate a PO in R/3
Hi Experts,
Can anyone tell me hwo to resolve this problem?
This is classic scenario, version 4.0
The user has raised a shopping cart without assigning vendor to it, so it has gone error in process as we dont have the Purchase requistion scenario.
I have now assigned a vendor in the shopping cart by going to the sources of supply tab and giving my vendor in the preferred vendor and then ordered the shopping cart still I the approval and follow on documents are in errors and not able to generate an order
Please suggets some FM or some solution thru which I can generate an order, I have used the following but not able to generate an order .
I tried by BBP_PD_SC_RESUBMIT -FM
BBP_REQREQ_TRANSFER - FM.
BBP_PD_SC_TRANSFER_INTERNAL.
but the problem is not yet resolved. Ours in N-step approval badi.
Please suggest.
Regards
SrujankHi Daniel,
Thanks for your reply !!!
I m sorry , I have already tried that actually, but didnt not work. Actually the shopping cart is already approved for that I have made changes and re-submitted .
the workflow is WS14000133, and N-step approval with Badi implementation.
so i think this is not allowing me to change.
Regards
Srujank -
SSRS 2012 some users are not able to edit reports in the server
Hello All,
I am install reporting services SharePoint native mode but some users are not able to edit reports on server error is "Application cannot be started contact your application vendor" but this users edit reports on their client machine
using report builder 3.0.
Please help meHi harshad_mule,
Because Report Builder in the Report Manager is a ClickOnce application, the error message means that one or more of the files listed in the application manifest cannot be found on the server, so the application cannot be started. Based on my research, frequently
this means that the application is somehow corrupted, or that the ClickOnce store is corrupted.
To fix this issue, we can try to refer to the following steps:
If Report Builder is corrupted, we can update the Reporting Services to repair this.
Check that the Report Builder application is existing
Open the Report Server folder. By default, the folder is located in: C:\Program Files\Microsoft SQL Server\MSSQL.<X>\Reporting Services\ReportServer\ReportBuilder
Make sure the file "ReportBuilder.application" is existing in the folder mentioned above.
If it is existing, please use the following URL to access the Report Builder directly:
http://<server>/ReportServer/ReportBuilder/ReportBuilder.application
And this issue can also be caused by browser. Because not all report functionality is supported by all browsers in Reporting Services. So please use IE browser to start Report Builder to try it again.
Hope this helps.
Thanks,
Katherine Xiong
Katherine Xiong
TechNet Community Support -
Embedded BI publisher in 8.98 tools - Not able to generate a BIP report
Hi gurus,
I'm using JdE stand-alone with tools 8.98
I'm trying to use the embedded reporting solution of BI publisher on tools 8.98. I follow all the steps below, but when I submit I'm not getting any error, but I'm not getting any result. I'm not able to see any formatted document generated, and I'm not getting any output in the "Report Definition Jobs" Section.
Any clue? Should I set up something else, apart of the steps taken below?
1. Use Oracle’s BI Publisher Template Builder, Microsoft Excel, Microsoft Word, or Adobe Acrobat to
create a blank template file.
2. Add an object to the BI Publisher Object Repository (P95600), using the template name for the
object name.
3. Create a report definition in the JD Edwards BI Publisher Report Definition application (P95620),
associating the source batch application (UBE) and the template.
4. Submit the report definition to generate an XML data file.
5. Download the XML data and design the template in the desktop application that you used to create the
template.
6. Update the report definition in the BI Publisher Report Definitions application, defining criteria such
as output types, bursting, and delivery options.
7. Upload the completed template into BI Publisher Object Repository.
8. Submit the report definition to BI Publisher.
9. Use Report Definition Jobs (P95630) to access the submission
ThanksPlease see these docs.
'Report Cannot Be Rendered Because Of An Error - Unexpected element:report' When Using Firefox [ID 605403.1]
Troubleshooting Oracle BI Publisher Enterprise and XML Publisher Enterprise [ID 412232.1]
BI Publisher Error On Report Access : java.lang.NoClassDefFoundError [ID 1083315.1]
BI PUBLISHER DATA TEMPLATE ISSUE RETRIEVING LARGE VARCHAR COLUMNS [ID 960838.1]
XML-21028 Access Not Allowed While Generating Output With BI Publisher [ID 458161.1]
Thanks,
Hussein -
Not Able to Generate Out of the Report by adding the new 2 fields
Hi,
I'm Very new to ABAP. I have created one report. after 2 new fields added they are EKNAM and EKGRP.
The Thing is the remaining fields are displaying in the output. The Newly added fields are not displaying the out. I was able to add this 2 fields in the head of the report. But issue is not able to get the data on these 2 fields.
Please see the below program and any one please help me out to display the data in this report for the fields eknam and ekgrp.
TABLES: eban,
lfa1,
ekko,
t024,
v_username.
DATA: BEGIN OF i_req_items OCCURS 10,
ernam LIKE eban-ernam, "Created by
lifnr LIKE eban-lifnr, "Desired vendor
ebeln LIKE eban-ebeln, "PO Number
ebelp LIKE eban-ebelp, "PO Item
eknam LIKE t024-eknam, "Pur.Grp Name
ekgrp LIKE t024-ekgrp, "Pur.Grp Number
flief LIKE eban-flief, "Fixed vendor
name1 LIKE lfa1-name1, "Vendor name
badat LIKE eban-badat, "Creation date
erdat LIKE eban-erdat, "Change date
banfn LIKE eban-banfn, "Requisition no.
bnfpo LIKE eban-bnfpo, "Req. item no.
bsart LIKE eban-bsart, "Document type
knttp LIKE eban-knttp, "Acct.assgmt category
txz01 LIKE eban-txz01, "PO item description
menge LIKE eban-menge, "Quantity
preis LIKE eban-preis, "Price
peinh LIKE eban-peinh, "Price unit
value(14) TYPE p DECIMALS 2, "Item Value
END OF i_req_items.
DATA: BEGIN OF i_reqs OCCURS 10,
ernam LIKE eban-ernam, "Created by
persn LIKE usr21-persnumber, "Person number
uname LIKE adrp-name_text, "User name
lifnr LIKE eban-lifnr, "Vendor
name1 LIKE lfa1-name1, "Vendor name
badat LIKE eban-badat, "Creation date
banfn LIKE eban-banfn, "Requisition no.
bnfpo LIKE eban-bnfpo, "Req. item no.
bsart LIKE eban-bsart, "Document type
knttp LIKE eban-knttp, "Acct.assgmt category
txz01 LIKE eban-txz01, "PO item description
eknam like t024-eknam, "Purchase Grp Name
ekgrp like t024-ekgrp, "Purchase Grp Number
value(14) TYPE p DECIMALS 2, "Item Value
END OF i_reqs.
DATA: BEGIN OF i_req_keys OCCURS 0,
ernam LIKE eban-ernam, "Created by
lifnr LIKE eban-lifnr, "Desired vendor
erdat LIKE eban-erdat, "Create or Change date
banfn LIKE eban-banfn, "Requisition no.
bnfpo LIKE eban-bnfpo, "Req. item no.
eknam like t024-eknam, "Purchase Grp Name
ekgrp like t024-ekgrp, "Purchase Grp number
END OF i_req_keys.
DATA: BEGIN OF i_req_keeper OCCURS 0,
ernam LIKE eban-ernam, "Created by
lifnr LIKE eban-lifnr, "Desired vendor
banfn LIKE eban-banfn, "Requisition no
END OF i_req_keeper.
DATA: wa_reqitems LIKE i_req_items.
DATA: BEGIN OF i_export OCCURS 10,
record(150) TYPE c,
END OF i_export.
CONSTANTS
CONSTANTS:
c_doccat LIKE eban-bstyp VALUE 'B',
c_creind LIKE eban-estkz VALUE 'R',
c_delflag LIKE eban-loekz VALUE 'L',
c_write(5) TYPE c VALUE 'WRITE',
c_slash(1) TYPE c VALUE '/',
*start ESPZC U8DK900439
c_delimiter TYPE x VALUE '09',
c_delimiter TYPE c VALUE cl_abap_char_utilities=>horizontal_tab,
*end ESPZC U8DK900439
c_sc(1) TYPE c VALUE ';',
c_x(1) TYPE c VALUE 'X',
c_usd(1) TYPE c VALUE '2',
c_export LIKE authb-filename VALUE '/BAY2/UBEM_SPLIT_REQS'.
WORKING VARIABLES
DATA: w_report_id LIKE syst-repid,
w_sttime LIKE syst-uzeit,
w_rpt_pagno LIKE syst-pagno,
w_rc LIKE sy-subrc,
w_datelow LIKE eban-badat,
w_datehigh LIKE eban-badat,
w_export LIKE c_export,
w_records TYPE i,
w_message(50) TYPE c.
TYPES number TYPE i.
SELECTION SCREEN / PARAMETERS
SELECTION-SCREEN BEGIN OF BLOCK org WITH FRAME TITLE text-001.
PARAMETERS: p_purorg LIKE eban-ekorg OBLIGATORY DEFAULT 'US02'.
SELECT-OPTIONS: s_doctyp FOR eban-bsart,
s_date FOR eban-badat.
PARAMETERS: p_timper(2) TYPE n.
SELECTION-SCREEN: COMMENT 37(37) text-002.
SELECTION-SCREEN END OF BLOCK org.
SELECTION-SCREEN BEGIN OF BLOCK outp WITH FRAME TITLE text-003.
PARAMETERS: p_onlin RADIOBUTTON GROUP outp DEFAULT 'X',
p_servr RADIOBUTTON GROUP outp.
SELECTION-SCREEN END OF BLOCK outp.
AT SELECTION SCREEN
AT SELECTION-SCREEN.
IF p_servr = c_x.
CLEAR w_rc.
PERFORM authority_check_dataset USING w_export
CHANGING w_rc.
IF w_rc <> 0.
MESSAGE e532 WITH text-006 w_export.
ENDIF.
CLEAR w_rc.
PERFORM verify_unix_path_and_file CHANGING w_rc.
IF w_rc <> 0.
MESSAGE e531 WITH w_message.
ENDIF.
ENDIF.
INITIALIZATION EVENT
INITIALIZATION.
PERFORM get_filename.
MOVE syst-uzeit TO w_sttime.
MOVE syst-repid TO w_report_id.
CLEAR: w_rpt_pagno.
START-OF-SELECTION.
PERFORM get_data.
IF p_onlin = c_x.
IF w_records GT 0.
PERFORM print_report_header.
PERFORM write_report.
ELSE.
MESSAGE i531 WITH text-007.
ENDIF.
ELSEIF p_servr = c_x.
PERFORM write_export.
ENDIF.
END-OF-SELECTION.
---- F O R M R O U T I N E S -
*& FORM get_filename
FORM get_filename.
CALL FUNCTION 'FILE_GET_NAME'
EXPORTING
logical_filename = c_export
IMPORTING
file_name = w_export
EXCEPTIONS
file_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
ENDIF.
ENDFORM. " get_filename
FORM authority_check_dataset
FORM authority_check_dataset USING p_filename
CHANGING p_rc.
CALL FUNCTION 'AUTHORITY_CHECK_DATASET'
EXPORTING
activity = c_write
filename = p_filename
EXCEPTIONS
no_authority = 1
activity_unknown = 2
OTHERS = 3.
p_rc = sy-subrc.
ENDFORM. "authority_check_dataset
FORM verify_unix_path_and_file
FORM verify_unix_path_and_file CHANGING p_rc.
*start ESPZC U8DK900439
OPEN DATASET w_export FOR OUTPUT IN TEXT MODE
MESSAGE w_message.
OPEN DATASET w_export FOR OUTPUT IN TEXT MODE ENCODING DEFAULT
MESSAGE w_message.
*end ESPZC U8DK900439
p_rc = sy-subrc.
ENDFORM. "verify_unix_path_and_file
FORM get_data
FORM get_data.
CLEAR w_datelow.
CLEAR w_datehigh.
w_datelow = s_date-low - p_timper.
w_datehigh = s_date-high + p_timper.
w_datehigh = s_date-high.
SELECT ernam lifnr ebeln ebelp flief badat erdat banfn bnfpo bsart
knttp menge preis peinh txz01
FROM eban
INTO CORRESPONDING FIELDS OF TABLE i_req_items
WHERE bstyp = c_doccat
AND estkz = c_creind
AND knttp <> space
AND bsart IN s_doctyp
AND loekz <> c_delflag
AND ekorg EQ p_purorg
AND ( ( badat BETWEEN w_datelow and w_datehigh ) OR
( erdat BETWEEN w_datelow AND w_datehigh ) ).
AND erdat BETWEEN w_datelow AND w_datehigh.
IF sy-subrc = 0.
LOOP AT i_req_items.
IF i_req_items-lifnr IS INITIAL.
IF NOT i_req_items-flief IS INITIAL.
MOVE i_req_items-flief TO i_req_items-lifnr.
MODIFY i_req_items.
ENDIF.
IF NOT i_req_items-ebeln IS INITIAL.
SELECT lifnr FROM ekko
INTO i_req_items-lifnr
WHERE ebeln = i_req_items-ebeln.
ENDSELECT.
MODIFY i_req_items.
ENDIF.
ENDIF.
IF i_req_items-erdat GT i_req_items-badat.
MOVE i_req_items-erdat TO i_req_items-badat.
MODIFY i_req_items.
ENDIF.
ENDLOOP.
PERFORM weed_out_unique_records.
PERFORM apply_time_period.
SORT i_req_items BY ernam lifnr banfn bnfpo.
LOOP AT i_req_items.
i_req_items-value = ( i_req_items-menge *
( i_req_items-preis / i_req_items-peinh ) ).
MODIFY i_req_items.
ENDLOOP.
Getting vendor name from table LFA1 -
CLEAR i_req_items.
LOOP AT i_req_items.
SELECT SINGLE name1 FROM lfa1
INTO i_req_items-name1
WHERE lifnr = i_req_items-lifnr.
MODIFY i_req_items.
ENDLOOP.
LOOP AT i_req_items.
MOVE-CORRESPONDING i_req_items TO i_reqs.
Getting user name from view v_username -
SELECT SINGLE name_text
FROM v_username INTO i_reqs-uname
WHERE bname = i_reqs-ernam.
APPEND i_reqs.
ENDLOOP.
ENDIF.
DESCRIBE TABLE i_reqs LINES w_records.
ENDFORM. "Get_data
FORM print_report_header
FORM print_report_header.
ADD 1 TO w_rpt_pagno.
CALL FUNCTION '/BAY2/UBEXBH_BAYER_HEADR_FUN'
EXPORTING
f_jobname = text-020
f_business_group = text-021
f_report_title = text-022
f_repid = w_report_id
f_sysid = syst-sysid
f_linsz = syst-linsz
f_pagno = w_rpt_pagno
f_mandt = syst-mandt
f_datum = syst-datum
f_uzeit = w_sttime.
FORMAT COLOR COL_HEADING.
WRITE: /1 text-010, "Created by CWID & user name
29 text-011, "Vendor #
38 text-012, "Vendor Name
69 text-013, "Req Number
79 text-014, "/Item
87 text-015, "Created On
98 text-017, "A (AcctAssgmtCat)
100(14) text-019 RIGHT-JUSTIFIED, "Item Value
116(30) text-018, "Item Description
148 text-030, "Pur.Grp Name
170 text-031. "Pur.Grp Number
FORMAT COLOR OFF.
ULINE.
ENDFORM. "print_report_header
*& Form WRITE_REPORT
FORM write_report.
LOOP AT i_reqs.
WRITE: /1 i_reqs-ernam,
9(18) i_reqs-uname,
29 i_reqs-lifnr,
38(30) i_reqs-name1,
69 i_reqs-banfn,
79 c_slash,
80 i_reqs-bnfpo,
87 i_reqs-badat,
98 i_reqs-knttp,
100(14) i_reqs-value CURRENCY c_usd,
116(30) i_reqs-txz01,
145 i_reqs-eknam,
160 i_reqs-ekgrp.
ENDLOOP.
ENDFORM. "write_report
*& Form WRITE_EXPORT
FORM write_export.
DATA: l_value(14) TYPE c,
l_bsart(100) TYPE c,
l_uname(7) TYPE c,
l_records(5) TYPE c,
l_header(150) TYPE c,
l_params(150) TYPE c,
i_char TYPE i.
LOOP AT i_reqs.
CLEAR l_value.
CLEAR l_uname.
l_value = i_reqs-value.
l_uname = sy-uname.
CONCATENATE: i_reqs-uname
i_reqs-ernam
i_reqs-lifnr
i_reqs-name1
i_reqs-banfn
i_reqs-bnfpo
i_reqs-badat
i_reqs-knttp
l_value
i_reqs-txz01 INTO i_export
SEPARATED BY c_delimiter.
APPEND i_export.
ENDLOOP.
CONCATENATE: text-008 "Created By Name
text-009 "CWID
text-011 "Vendor No
text-012 "Vendor Name
text-013 "Req Number
text-023 "Item
text-015 "Created On
text-017 "A
text-019 "Item Value
text-018 "Item Description
text-030 "Purchase Grp name
text-031 "Purchase Grp number
INTO l_header SEPARATED BY c_delimiter.
INSERT l_header INTO i_export INDEX 1.
IF sy-batch IS INITIAL.
MOVE sy-uname TO l_uname.
ELSE.
MOVE text-024 TO l_uname.
ENDIF.
PERFORM collect_bsart CHANGING l_bsart
i_char.
l_records = w_records.
CONCATENATE: sy-sysid
p_purorg
l_bsart(i_char)
s_date-low
s_date-high
p_timper
l_uname
sy-datum
l_records INTO l_params
SEPARATED BY c_delimiter.
INSERT l_params INTO i_export INDEX 1.
LOOP AT i_export.
CONDENSE i_export NO-GAPS.
TRANSFER i_export TO w_export.
ENDLOOP.
CLOSE DATASET w_export.
MESSAGE s533 WITH text-028 w_export text-029.
ENDFORM. "write_export
*& FORM collect_bsart
FORM collect_bsart CHANGING p_bsart
p_char.
CLEAR p_bsart.
LOOP AT s_doctyp.
IF sy-tabix = 1.
p_bsart = s_doctyp-low.
ELSE.
CONCATENATE: p_bsart c_sc s_doctyp-low INTO p_bsart.
ENDIF.
ENDLOOP.
CONDENSE p_bsart NO-GAPS.
p_char = strlen( p_bsart ).
ENDFORM. "collect_bsart
*& Form WEED_OUT_UNIQUE_RECORDS
FORM weed_out_unique_records.
DATA: i_l_req_items LIKE i_req_items OCCURS 0 WITH HEADER LINE.
DATA: i_l_req_final_items LIKE i_req_items OCCURS 0 WITH HEADER LINE.
DATA: l_count TYPE i,
l_sy_tabix LIKE sy-tabix,
l_banfn LIKE eban-banfn.
REFRESH i_l_req_items.
REFRESH i_l_req_final_items.
CLEAR l_banfn.
i_l_req_items[] = i_req_items[].
i_l_req_final_items[] = i_req_items[].
SORT i_req_items BY ernam lifnr.
SORT i_l_req_items BY ernam lifnr.
SORT i_l_req_final_items BY ernam lifnr.
LOOP AT i_l_req_items.
l_banfn = i_l_req_items-banfn.
CLEAR l_count.
LOOP AT i_req_items
WHERE ernam = i_l_req_items-ernam
AND lifnr = i_l_req_items-lifnr.
IF i_req_items-banfn <> l_banfn.
ADD +1 TO l_count.
ENDIF.
ENDLOOP.
IF NOT ( l_count > 0 ).
LOOP AT i_l_req_final_items
WHERE ernam = i_l_req_items-ernam
AND lifnr = i_l_req_items-lifnr.
DELETE i_l_req_final_items.
ENDLOOP.
ENDIF.
ENDLOOP.
REFRESH i_req_items.
i_req_items[] = i_l_req_final_items[].
ENDFORM. " WEED_OUT_UNIQUE_RECORDS
*& Form APPLY_TIME_PERIOD
FORM apply_time_period.
DATA: l_i_req_keys LIKE i_req_keys.
DATA: l_days_diff TYPE p,
l_no_of_key_recs TYPE i,
l_next_item LIKE sy-tabix,
l_finished_with_keys TYPE c VALUE 'N',
l_add_line TYPE c VALUE 'N',
l_count TYPE i,
l_req_ernam LIKE eban-ernam,
l_req_lifnr LIKE lfa1-lifnr,
l_req_banfn LIKE eban-banfn,
l_save_tabix like sy-tabix.
REFRESH: i_req_keys, i_req_keeper.
LOOP AT i_req_items.
MOVE-CORRESPONDING i_req_items TO
i_req_keys.
IF i_req_items-erdat IS INITIAL.
i_req_keys-erdat = i_req_items-badat.
ENDIF.
APPEND i_req_keys.
ENDLOOP.
SORT i_req_keys BY ernam lifnr erdat.
CLEAR l_no_of_key_recs.
DESCRIBE TABLE i_req_keys LINES l_no_of_key_recs.
LOOP AT i_req_keys.
IF l_add_line = 'Y'.
MOVE-CORRESPONDING i_req_keys
TO i_req_keeper.
APPEND i_req_keeper.
l_add_line = 'N'.
ENDIF.
IF l_finished_with_keys = 'Y'.
EXIT.
ENDIF.
CLEAR l_next_item.
l_save_tabix = sy-tabix.
COMPUTE l_next_item = sy-tabix + 1.
IF l_next_item = l_no_of_key_recs.
l_finished_with_keys = 'Y'.
ENDIF.
clear: l_i_req_keys.
READ TABLE i_req_keys INDEX l_next_item
INTO l_i_req_keys.
sy-tabix = l_save_tabix.
CLEAR l_days_diff.
l_days_diff = l_i_req_keys-erdat -
i_req_keys-erdat.
IF l_i_req_keys-ernam =
i_req_keys-ernam AND
l_i_req_keys-lifnr =
i_req_keys-lifnr AND
l_i_req_keys-banfn <>
i_req_keys-banfn AND
l_days_diff <= p_timper.
MOVE-CORRESPONDING i_req_keys
TO i_req_keeper.
APPEND i_req_keeper.
l_add_line = 'Y'.
ENDIF.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM i_req_keeper
COMPARING ALL FIELDS.
SORT i_req_keeper BY ernam lifnr banfn.
LOOP AT i_req_items.
CLEAR l_count.
CLEAR: l_req_ernam,
l_req_lifnr,
l_req_banfn.
l_req_ernam = i_req_items-ernam.
l_req_lifnr = i_req_items-lifnr.
l_req_banfn = i_req_items-banfn.
LOOP AT i_req_keeper
WHERE ernam = i_req_items-ernam
AND lifnr = i_req_items-lifnr
AND banfn = i_req_items-banfn.
ADD +1 TO l_count.
ENDLOOP.
IF NOT ( l_count > 0 ).
LOOP AT i_req_items
WHERE ernam = l_req_ernam
AND lifnr = l_req_lifnr
AND banfn = l_req_banfn.
DELETE i_req_items.
ENDLOOP.
ENDIF.
ENDLOOP.
ENDFORM. " APPLY_TIME_PERIODRajesh,
Put a breakpoint and try to debug the report step by step.
You will findout the reason very easily.
Whenever you have a select and are trying to append into an internal table, keep checking your internal table if it is been populated with the correct records.
This way, you will findout the cause and can correct is accordingly.
Thanks,
Suresh Ganti -
Report Not able to generate values in output
hi gurus,
i am not able to get the output for this report,pls help me in correcting the code and suggest me a sloution.Urgent...............
*& Report ZRPP006
*& Modification History
*& Change # | By | Date | Purpose of Change
*& C0001 |pradeep.R | 20070629 | Total component request for sop&Copa
*& | | |
*& | | |
report zrpp006 line-size 180 line-count 90
no standard page heading.
Class
*class cl_gui_column_tree definition load.
*class cl_gui_cfw definition load.
*data tree1 type ref to cl_gui_alv_tree.
*data mr_toolbar type ref to cl_gui_toolbar.
Include
*include <icon>.
*include bcalv_toolbar_event_receiver.
*include bcalv_tree_event_receiver.
include zipp007.
selection screen
selection-screen begin of block selscrb with frame title text-s01.
parameters: ra_SOP radiobutton group GRP default 'X',
ra_COPA radiobutton group GRP.
selection-screen end of block selscrb.
Data:pa_m_frm(6) type c,
pa_m_to(6) type c,
pa_y_frm(4) type c,
pa_y_to(4) type c,
ra_mth,
ra_yea,
l_mode.
*parameter: pa_m_frm(6) type c,
pa_m_to(6) type c,
pa_y_frm(4) type c,
pa_y_to(4) type c..
data: so_matnr,
so_matkl,
pa_stprs,
pa_werks ,
pa_vrsio .
selection-screen skip 1.
initialization.
clear: ta_vrsio, ta_type.
refresh: ta_vrsio, ta_type.
*at selection-screen on value-request for pa_vrsio.
call function 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'VRSIO'
dynprofield = 'PA_VRSIO'
dynpprog = sy-cprog
dynpnr = sy-dynnr
value_org = 'S'
TABLES
value_tab = ta_vrsio.
Start-of-selection.
if ra_SOP eq 'X'.
submit ZRPP023 via selection-screen and return.
elseif ra_COPA eq 'X'.
submit ZRPP026 via selection-screen and return..
endif.
select * into corresponding fields of table ta_vrsio
from p44v
where gstru = 'S076'.
sort ta_vrsio by vrsio.
delete adjacent duplicates from ta_vrsio.
move 'MONTH' to ta_type-out_type.
append ta_type.
move 'YEAR' to ta_type-out_type.
append ta_type.
at selection-screen output.
if ra_mth = 'X'.
loop at screen.
if screen-name = 'PA_M_FRM'.
screen-active = '1'.
modify screen.
endif.
if screen-name = '%C001007_1000'.
screen-active = '1'.
modify screen.
endif.
if screen-name = '%C002009_1000'.
screen-active = '1'.
modify screen.
endif.
if screen-name = 'PA_M_TO'.
screen-active = '1'.
modify screen.
endif.
if screen-name = '%C003012_1000'.
screen-active = '1'.
modify screen.
endif.
if screen-name = '%C004014_1000'.
screen-active = '1'.
modify screen.
endif.
if screen-name = 'PA_Y_FRM'.
screen-active = '0'.
modify screen.
endif.
if screen-name = '%C005017_1000'.
screen-active = '0'.
modify screen.
endif.
if screen-name = '%C006019_1000'.
screen-active = '0'.
modify screen.
endif.
if screen-name = 'PA_Y_TO'.
screen-active = '0'.
modify screen.
endif.
if screen-name = '%C007022_1000'.
screen-active = '0'.
modify screen.
endif.
if screen-name = '%C008024_1000'.
screen-active = '0'.
modify screen.
endif.
endloop.
elseif ra_yea = 'X'.
loop at screen.
if screen-name = 'PA_M_FRM'.
screen-active = '0'.
modify screen.
endif.
if screen-name = '%C001007_1000'.
screen-active = '0'.
modify screen.
endif.
if screen-name = '%C002009_1000'.
screen-active = '0'.
modify screen.
endif.
if screen-name = 'PA_M_TO'.
screen-active = '0'.
modify screen.
endif.
if screen-name = '%C003012_1000'.
screen-active = '0'.
modify screen.
endif.
if screen-name = '%C004014_1000'.
screen-active = '0'.
modify screen.
endif.
if screen-name = 'PA_Y_FRM'.
screen-active = '1'.
modify screen.
endif.
if screen-name = '%C005017_1000'.
screen-active = '1'.
modify screen.
endif.
if screen-name = '%C006019_1000'.
screen-active = '1'.
modify screen.
endif.
if screen-name = 'PA_Y_TO'.
screen-active = '1'.
modify screen.
endif.
if screen-name = '%C007022_1000'.
screen-active = '1'.
modify screen.
endif.
if screen-name = '%C008024_1000'.
screen-active = '1'.
modify screen.
endif.
endloop.
endif.
End-of-selection.
perform get_header_data.
perform get_top_page.
*& Form display_alv
text
form display_alv.
ALV ***
g_repid = sy-repid.
perform layout_init using gs_layout.
perform eventtab_build using gt_events[].
gs_variant-report = g_repid.
g_save = 'A'.
perform comment_build using gt_list_top_of_page[].
Display monthly report
if ra_mth = 'X' and
pa_m_frm <> 0 and
pa_m_to <> 0.
perform fieldcat_init_mth using gt_fieldcat[].
perform printer_setting using print_set.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_background_id = 'ALV_BACKGROUND'
i_buffer_active = 'X'
i_callback_program = g_repid
i_structure_name = 'ITAB_MSALE'
is_layout = gs_layout
it_fieldcat = gt_fieldcat[]
i_save = g_save
is_variant = gs_variant
it_events = gt_events[]
it_sort = gt_it_sort[]
is_print = print_set
I_SCREEN_START_COLUMN = 0 "Use coordinates for
I_SCREEN_START_LINE = 0 "display as dialog box
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
importing
e_exit_caused_by_caller = g_exit_caused_by_caller
es_exit_caused_by_user = gs_exit_caused_by_user
tables
t_outtab = itab_msale
exceptions
program_error = 1
others = 2.
if sy-subrc = 0.
if g_exit_caused_by_caller = 'X'.
*" Forced Exit by calling program
*" <do_something>.
else.
*" User left list via F3, F12 or F15
if gs_exit_caused_by_user-back = 'X'. "F3
*" <do_something>.
else.
if gs_exit_caused_by_user-exit = 'X'. "F15
*" <do_something>.
else.
if gs_exit_caused_by_user-cancel = 'X'. "F12
*" <do_something>.
else.
*" should not occur!
*" <do_Abnormal_End>.
endif.
endif.
endif.
endif.
else.
"Fatal error callin ALVAXXX(XY) WITH ...
endif.
Display yearly report
elseif ra_yea = 'X' and
pa_y_frm <> 0 and
pa_y_to <> 0.
perform fieldcat_init_yr using gt_fieldcat[].
perform printer_setting using print_set.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_background_id = 'ALV_BACKGROUND'
i_buffer_active = 'X'
i_callback_program = g_repid
i_structure_name = 'ITAB_YSALE'
is_layout = gs_layout
it_fieldcat = gt_fieldcat[]
i_save = g_save
is_variant = gs_variant
it_events = gt_events[]
it_sort = gt_it_sort[]
is_print = print_set
I_SCREEN_START_COLUMN = 0 "Use coordinates for
I_SCREEN_START_LINE = 0 "display as dialog box
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
importing
e_exit_caused_by_caller = g_exit_caused_by_caller
es_exit_caused_by_user = gs_exit_caused_by_user
tables
t_outtab = itab_ysale
exceptions
program_error = 1
others = 2.
if sy-subrc = 0.
if g_exit_caused_by_caller = 'X'.
*" Forced Exit by calling program
*" <do_something>.
else.
*" User left list via F3, F12 or F15
if gs_exit_caused_by_user-back = 'X'. "F3
*" <do_something>.
else.
if gs_exit_caused_by_user-exit = 'X'. "F15
*" <do_something>.
else.
if gs_exit_caused_by_user-cancel = 'X'. "F12
*" <do_something>.
else.
*" should not occur!
*" <do_Abnormal_End>.
endif.
endif.
endif.
endif.
else.
*"Fatal error callin ALV
MESSAGE AXXX(XY) WITH ...
endif.
else.
endif.
endform. "display_alv
*& Form get_top_page
text
form get_top_page.
move 'Total Component Requirement by Sales Forecast' to
gt_list_top_of_page-info.
gt_list_top_of_page-typ = 'H'.
append gt_list_top_of_page.
concatenate 'Plant :' pa_werks
into gt_list_top_of_page-info separated by space.
gt_list_top_of_page-typ = 'S'.
append gt_list_top_of_page.
select single vetxt into tp_vetxt
from p44v
where gstru = 'S076'
and vrsio = pa_vrsio.
concatenate 'Version :' pa_vrsio tp_vetxt
into gt_list_top_of_page-info separated by space.
gt_list_top_of_page-typ = 'S'.
append gt_list_top_of_page.
call function 'DATUMSAUFBEREITUNG'
EXPORTING
idate = sy-datum
IMPORTING
tdat8 = l_date_string
EXCEPTIONS
datfm_ungueltig = 1
datum_ungueltig = 2
others = 3.
concatenate sy-uzeit(2) ':' sy-uzeit2(2) ':' sy-uzeit4(2)
into l_time.
concatenate 'Date/Time :' l_date_string l_time
into gt_list_top_of_page-info separated by space.
gt_list_top_of_page-typ = 'S'.
append gt_list_top_of_page.
endform. "get_top_page
*& Form get_header_data
text
--> p1 text
<-- p2 text
form get_header_data.
select pmnux into ta_mat-matnr
from s076
where pmnux = so_matnr
and wenux = pa_werks
and vrsio = pa_vrsio.
append ta_mat.
clear ta_mat.
endselect.
if sy-subrc = 0.
sort ta_mat by matnr .
delete adjacent duplicates from ta_mat.
loop at ta_mat.
select matnr stlnr stlan stlal
appending corresponding fields of table ta_mat2
from mast
where matnr = ta_mat-matnr
and werks = pa_werks.
endloop.
loop at ta_mat2 into wa_ta_mat.
select stlst bmeng bmein into (tp_stlst,tp_bmeng,tp_bmein)
from stko where stlnr = wa_ta_mat-stlnr
and stlal = wa_ta_mat-stlal.
wa_ta_mat-stlst = tp_stlst.
wa_ta_mat-bmeng = tp_bmeng.
wa_ta_mat-bmein = tp_bmein.
append wa_ta_mat to ta_header.
endselect.
endloop.
perform checking. "checking if monthly or yearly report is being selected
else.
message i003(zwpp001).
endif.
endform. " get_header_data
*& Form checking
text
form checking.
data : date1 like vtbbewe-dbervon,
date2 like vtbbewe-dberbis.
data : emonths like vtbbewe-atage.
data : lv_m_frm(6) type n,
lv_m_to(6) type n,
lv_y_frm(4) type n,
lv_y_to(4) type n.
check if the Display monthly report is being selected *****
if ra_mth = 'X' and
pa_m_frm <> 0 and
pa_m_to <> 0.
check for correct input format
lv_m_frm = pa_m_frm.
lv_m_to = pa_m_to.
if lv_m_frm ge '200000' and lv_m_to ge '200000'.
calculate the months in between
clear date1.
clear date2.
concatenate pa_m_frm '01' into date1.
concatenate pa_m_to '01' into date2.
concatenate pa_m_to '31' into date2.
perform months_calculate using date1 date2 changing emonths.
check if months <= 36.
if emonths <= 36.
perform get_sales.
perform retrieve_bom.
else.
message i000(zwpp001).
exit. " error message
endif.
else.
message i002(zwpp001).
endif.
check if the Display yearly report is being selected *****
elseif ra_yea = 'X' and
pa_y_frm <> 0 and
pa_y_to <> 0.
itab_bom-requantity = lp_s076-absat. "for current year 2006 ."added by pradeep on 4/07/07
itab_bom-requantity = lp_s076-absat + 1. "ie 2007.
itab_bom-requantity = lp_s076-absat + 2. "ie 2008.
check for correct input format
lv_y_frm = pa_y_frm.
lv_y_to = pa_y_to.
if lv_y_frm ge '2000' and lv_y_to ge '2000'.
calculate the months in between
clear date1.
clear date2.
concatenate pa_y_frm '0101' into date1.
concatenate pa_y_to '1201' into date2.
concatenate pa_y_to '1231' into date2.
perform months_calculate using date1 date2 changing emonths.
check if months <= 36.
if emonths <= 36.
perform get_sales.
perform retrieve_bom.
else.
message i001(zwpp001).
exit. " error message
endif.
else.
message i002(zwpp001).
endif.
else.
exit.
endif.
added by pradeep on 04/07/07
if emonths = 4.
itab_bom-requantity = lp_s076-absat * itab_bom-comp_qty / itab_bom-xmeng.
endif.
if emonths = 5.
tp_totalprice = lp_s076-absat * ta_mat-stprs.
endif.
if emonths = 6.
itab_bom-requantity = lp_s076-absat * itab_bom-comp_qty / itab_bom-xmeng.
endif.
if emonths = 7.
tp_totalprice = lp_s076-absat * ta_mat-stprs.
endif.
if emonths = 8.
itab_bom-requantity = lp_s076-absat * itab_bom-comp_qty / itab_bom-xmeng.
endif.
endform. " checking
*& Form get_sales
text
form get_sales.
data: iseq type i,
tp_sales type p decimals 2,
tp_totalprice type p decimals 2,"added by pradeep on 03/07/07
tp_maktx like makt-maktx,
tp_tabix like sy-tabix,
tp_pmnux like s076-pmnux,
seq type i.
data: yr_frm(6) type c,
yr_to(6) type c.
data: year_frm(4) type c,
year_to(4) type c.
data: month1(2) type c,
month12(4) type c.
data: totalsales like zspp003-mth1.
data: yr_index like sy-subrc.
check if the Display monthly report is being selected *****
if ra_mth = 'X' and
pa_m_frm <> 0 and
pa_m_to <> 0.
retrieve months
perform get_months.
select * into corresponding fields of table lp_s076 from s076
where pmnux = so_matnr
and wenux = pa_werks
and vrsio = pa_vrsio
and spmon ge pa_m_frm
and spmon le pa_m_to.
iseq = 1.
seq = 0.
loop at lp_s076.
if sy-tabix = 1.
write : lp_s076-pmnux to tp_pmnux.
endif.
select single maktx into tp_maktx from makt
where matnr = lp_s076-pmnux.
clear wa.
read table ta_s076 into wa with key
matnr = lp_s076-pmnux.
if sy-subrc ne 0.
wa-seq = iseq.
wa-matnr = lp_s076-pmnux.
wa-maktx = tp_maktx.
endif.
move lp_s076-absat to tp_sales.
case lp_s076-spmon.
when t_mth1.
move tp_sales to wa-mth1.
move t_mth1 to wa-sp1.
ind1 = '1'.
when t_mth2.
move tp_sales to wa-mth2.
move t_mth2 to wa-sp2.
ind2 = '1'.
when t_mth3.
move tp_sales to wa-mth3.
move t_mth3 to wa-sp3.
ind3 = '1'.
when t_mth4.
move tp_sales to wa-mth4.
move t_mth4 to wa-sp4.
ind4 = '1'.
when t_mth5.
move tp_sales to wa-mth5.
move t_mth5 to wa-sp5.
ind5 = '1'.
when t_mth6.
move tp_sales to wa-mth6.
move t_mth6 to wa-sp6.
ind6 = '1'.
when t_mth7.
move tp_sales to wa-mth7.
move t_mth7 to wa-sp7.
ind7 = '1'.
when t_mth8.
move tp_sales to wa-mth8.
move t_mth8 to wa-sp8.
ind8 = '1'.
when t_mth9.
move tp_sales to wa-mth9.
move t_mth9 to wa-sp9.
ind9 = '1'.
when t_mth10.
move tp_sales to wa-mth10.
move t_mth10 to wa-sp10.
ind10 = '1'.
when t_mth11.
move tp_sales to wa-mth11.
move t_mth11 to wa-sp11.
ind11 = '1'.
when t_mth12.
move tp_sales to wa-mth12.
move t_mth12 to wa-sp12.
ind12 = '1'.
when t_mth13.
move tp_sales to wa-mth13.
move t_mth13 to wa-sp13.
ind13 = '1'.
when t_mth14.
move tp_sales to wa-mth14.
move t_mth14 to wa-sp14.
ind14 = '1'.
when t_mth15.
move tp_sales to wa-mth15.
move t_mth15 to wa-sp15.
ind15 = '1'.
when t_mth16.
move tp_sales to wa-mth16.
move t_mth16 to wa-sp16.
ind16 = '1'.
when t_mth17.
move tp_sales to wa-mth17.
move t_mth17 to wa-sp17.
ind17 = '1'.
when t_mth18.
move tp_sales to wa-mth18.
move t_mth18 to wa-sp18.
ind18 = '1'.
when t_mth19.
move tp_sales to wa-mth19.
move t_mth19 to wa-sp19.
ind19 = '1'.
when t_mth20.
move tp_sales to wa-mth20.
move t_mth20 to wa-sp20.
ind20 = '1'.
when t_mth21.
move tp_sales to wa-mth21.
move t_mth21 to wa-sp21.
ind21 = '1'.
when t_mth22.
move tp_sales to wa-mth22.
move t_mth22 to wa-sp22.
ind22 = '1'.
when t_mth23.
move tp_sales to wa-mth23.
move t_mth23 to wa-sp23.
ind23 = '1'.
when t_mth24.
move tp_sales to wa-mth24.
move t_mth24 to wa-sp24.
ind24 = '1'.
when t_mth25.
move tp_sales to wa-mth25.
move t_mth25 to wa-sp25.
ind25 = '1'.
when t_mth26.
move tp_sales to wa-mth26.
move t_mth26 to wa-sp26.
ind26 = '1'.
when t_mth27.
move tp_sales to wa-mth27.
move t_mth27 to wa-sp27.
ind27 = '1'.
when t_mth28.
move tp_sales to wa-mth28.
move t_mth28 to wa-sp28.
ind28 = '1'.
when t_mth29.
move tp_sales to wa-mth29.
move t_mth29 to wa-sp29.
ind29 = '1'.
when t_mth30.
move tp_sales to wa-mth30.
move t_mth30 to wa-sp30.
ind30 = '1'.
when t_mth31.
move tp_sales to wa-mth31.
move t_mth31 to wa-sp31.
ind31 = '1'.
when t_mth32.
move tp_sales to wa-mth32.
move t_mth32 to wa-sp32.
ind32 = '1'.
when t_mth33.
move tp_sales to wa-mth33.
move t_mth33 to wa-sp33.
ind33 = '1'.
when t_mth34.
move tp_sales to wa-mth34.
move t_mth34 to wa-sp34.
ind34 = '1'.
when t_mth35.
move tp_sales to wa-mth35.
move t_mth35 to wa-sp35.
ind35 = '1'.
when t_mth36.
move tp_sales to wa-mth36.
move t_mth36 to wa-sp36.
ind36 = '1'.
endcase.
move seq to itab_seq-seq.
append itab_seq.
tp_tabix = sy-tabix.
if sy-subrc = 0.
modify table ta_s076 from wa.
modify ta_s076 from wa index tp_tabix.
if lp_s076-pmnux = tp_pmnux.
seq = seq + 1.
move seq to itab_seq.
append itab_seq.
endif.
else.
append wa to ta_s076.
if lp_s076-pmnux = tp_pmnux.
seq = seq + 1.
move seq to itab_seq.
append itab_seq.
endif.
endif.
iseq = iseq + 1.
endloop. " endloop for lp_s076.
itb_sales[] = ta_s076[].
itb_sales12[] = ta_s076[].
check if the Display yearly report is being selected *****
elseif ra_yea = 'X' and
pa_y_frm <> 0 and
pa_y_to <> 0.
clear year1.
clear year2.
clear year3.
perform get_years.
loop at ta_mat.
loop at ta_yr.
clear yr_index.
yr_index = sy-tabix.
case yr_index.
when '1'.
year1 = ta_yr-year.
when '2'.
year2 = ta_yr-year.
when '3'.
year3 = ta_yr-year.
endcase.
clear yr_frm.
clear yr_to.
year_frm = ta_yr-year.
year_to = ta_yr-year.
month1 = '01'.
month12 = '12'.
concatenate year_frm month1 into yr_frm.
concatenate year_to month12 into yr_to.
select * into corresponding fields of table lp_s076 from s076
where pmnux = ta_mat-matnr
and wenux = pa_werks
and vrsio = pa_vrsio
and spmon ge yr_frm
and spmon le yr_to.
calculate total sales.
totalsales = 0.
loop at lp_s076.
at first.
sum.
totalsales = lp_s076-absat.
endat.
at end of absat."added by pradeep on 4/07/07
sum.
tp_totalprice = lp_s076-absat * ta_mat-stprs.
itab_bom-requantity = lp_s076-absat * itab_bom-comp_qty / itab_bom-xmeng.
endat.
endloop. "endloop for lp_s076
select single maktx into tp_maktx from makt
where matnr = ta_mat-matnr.
read table ta_s076 into wa with key
matnr = ta_mat-matnr.
if sy-subrc ne 0.
wa-matnr = lp_s076-pmnux.
wa-maktx = tp_maktx.
endif.
case yr_index.
when '1'.
move totalsales to wa-sales_y1.
move tp_totalprice to wa-sales_y1."added by pradeep
move ta_yr-year to wa-year1.
ind1 = '1'.
when '2'.
move totalsales to wa-sales_y2.
move tp_totalprice to wa-sales_y2.
move ta_yr-year to wa-year2.
ind2 = '1'.
when '3'.
move totalsales to wa-sales_y3.
move tp_totalprice to wa-sales_y3.
move ta_yr-year to wa-year3.
ind3 = '1'.
endcase.
tp_tabix = sy-tabix.
if sy-subrc = 0.
modify table ta_s076 from wa.
modify ta_s076 from wa index tp_tabix.
else.
append wa to ta_s076.
endif.
endloop. "endloop for ta_yr
endloop. "endloop for ta_mat
itb_sales[] = ta_s076[].
else.
exit.
endif.
endform. "get_sales
*& Form get_months
text
form get_months.
move pa_m_frm to t_mth1.
perform get_next_few_months
using t_mth1 '1'
changing t_mth2.
perform get_next_few_months
using t_mth2 '1'
changing t_mth3.
perform get_next_few_months
using t_mth3 '1'
changing t_mth4.
perform get_next_few_months
using t_mth4 '1'
changing t_mth5.
perform get_next_few_months
using t_mth5 '1'
changing t_mth6.
perform get_next_few_months
using t_mth6 '1'
changing t_mth7.
perform get_next_few_months
using t_mth7 '1'
changing t_mth8.
perform get_next_few_months
using t_mth8 '1'
changing t_mth9.
perform get_next_few_months
using t_mth9 '1'
changing t_mth10.
perform get_next_few_months
using t_mth10 '1'
changing t_mth11.
perform get_next_few_months
using t_mth11 '1'
changing t_mth12.
perform get_next_few_months
using t_mth12 '1'
changing t_mth13.
perform get_next_few_months
using t_mth13 '1'
changing t_mth14.
perform get_next_few_months
using t_mth14 '1'
changing t_mth15.
perform get_next_few_months
using t_mth15 '1'
changing t_mth16.
perform get_next_few_months
using t_mth16 '1'
changing t_mth17.
perform get_next_few_months
using t_mth17 '1'
changing t_mth18.
perform get_next_few_months
using t_mth18 '1'
changing t_mth19.
perform get_next_few_months
using t_mth19 '1'
changing t_mth20.
perform get_next_few_months
using t_mth20 '1'
changing t_mth21.
perform get_next_few_months
using t_mth21 '1'
changing t_mth22.
perform get_next_few_months
using t_mth22 '1'
changing t_mth23.
perform get_next_few_months
using t_mth23 '1'
changing t_mth24.
perform get_next_few_months
using t_mth24 '1'
changing t_mth25.
perform get_next_few_months
using t_mth25 '1'
changing t_mth26.
perform get_next_few_months
using t_mth26 '1'
changing t_mth27.
perform get_next_few_months
using t_mth27 '1'
changing t_mth28.
perform get_next_few_months
using t_mth28 '1'
changing t_mth29.
perform get_next_few_months
using t_mth29 '1'
changing t_mth30.
perform get_next_few_months
using t_mth30 '1'
changing t_mth31.
perform get_next_few_months
using t_mth31 '1'
changing t_mth32.
perform get_next_few_months
using t_mth32 '1'
changing t_mth33.
perform get_next_few_months
using t_mth33 '1'
changing t_mth34.
perform get_next_few_months
using t_mth34 '1'
changing t_mth35.
perform get_next_few_months
using t_mth35 '1'
changing t_mth36.
endform. "get_months
*& Form get_years
text
form get_years.
data : tp_yr_frm(4) type n.
data : tp_yr_to(4) type n.
data : yr_diff(4) type n.
move pa_y_frm to tp_yr_frm.
move pa_y_to to tp_yr_to.
move tp_yr_frm to ta_yr-year.
append ta_yr.
yr_diff = tp_yr_to - tp_yr_frm.
*number of years = 3
if yr_diff = 2.
do 2 times.
tp_yr_frm = tp_yr_frm + 1.
move tp_yr_frm to ta_yr-year.
append ta_yr.
enddo.
*number of years = 2
elseif yr_diff = 1.
tp_yr_frm = tp_yr_frm + 1.
move tp_yr_frm to ta_yr-year.
append ta_yr.
else.
exit.
endif.
endform. "get_years
*& Form get_next_few_months
text
-->LV_CURR_MONTH text
-->LV_MONTHS text
-->LV_TARGET_MTH text
form get_next_few_months using lv_curr_month lv_months
changing lv_target_mth.
data : tp_month_curr like sy-datum,
tp_month_plus like sy-datum.
concatenate lv_curr_month '01' into tp_month_curr.
call function 'SG_PS_ADD_MONTH_TO_DATE'
EXPORTING
months = lv_months
olddate = tp_month_curr
IMPORTING
newdate = tp_month_plus.
move tp_month_plus(6) to lv_target_mth.
endform. " get_months
*& Form months_calculate
text
-->P_DATE1 text
-->P_DATE2 text
<--P_EMONTHS text
form months_calculate using p_date1
p_date2
changing p_emonths.
call function 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
exporting
i_date_from = p_date1
I_KEY_DAY_FROM =
i_date_to = p_date2
I_KEY_DAY_TO =
I_FLG_SEPARATE = ' '
importing
E_DAYS =
e_months = p_emonths.
E_YEARS =
endform. " months_calculate
*& Form retrieve_bom
text
--> p1 text
<-- p2 text
form retrieve_bom .
retrieve BOM components
sort ta_header by matnr.
loop at ta_header where stlan = '1' and stlst = '01'.
tp_bmeng = '1'.
perform get_bom tables ta_stpo using
ta_header-matnr ta_header-werks ta_header-stlan ta_header-stlal tp_bmeng.
requirement quantity calculation for active bom
perform calculation1.
retrieve BOM components for pgm
sort itab_bom2 by idnrk ascending.
delete adjacent duplicates from itab_bom2 comparing matnr idnrk.
loop at itab_bom2. " commented by weihong
tp_stlan = '1'.
tp_stlal = '02'.
perform get_pgm tables ta_stpo12 using
itab_bom2-matnr ta_header-werks tp_stlan tp_stlal.
endloop. " endloop for itab_bom2.(commented by weihong)
requirement quantity calculation for inactive bom
perform calculation2.
refresh : itab_bom1, itab_bom2, itab_pgm, temp_bom1,itab_path.
clear : itab_bom1, itab_bom2, itab_pgm, temp_bom1,itab_path.
endloop. " endloop for ta_header.
**itab_msale itab_ysale
*break-point.
perform display_alv.
endform. "retrieve bom
*& Form get_bom
text
-->LV_MATNR text
-->LV_WERKS text
-->LV_STLAN text
-->LV_STLAL text
form get_bom tables lt_stpo structure stpox
using lv_matnr like mast-matnr
lv_werks like mast-werks
lv_stlan like mast-stlan
lv_stlal like stko-stlal
lv_emeng like stko-bmeng .
data: ta_topmat type cstmat,
tp_dstst like csdata-xfeld,
ta_matcat type cscmat occurs 0,
tp_index like sy-tabix,
tp_stufe like stpox-stufe,
tp_diff like stpox-stufe,
tp_indx like sy-tabix,
tp_date like sy-datum,
lv_stufe like stpox-stufe,
lv_wegxx like stpox-wegxx,
lv_stprs like stpox-stprs,
lv_waers like stpox-waers,
lv_cuky_new like cdpos-cuky_new,
lv_value_new like cdpos-value_new,
lv_index like sy-tabix,
lv_datum like sy-datum,"added by pradeep on 02-07-07
nxt_index like sy-tabix.
added by weihong.
data: tp_mtart like mara-mtart,
tp_matkl like mara-matkl,
tp_stprs like stpox-stprs,
tp_bomlv1 like mast-matnr,
tp_bomlv2 like mast-matnr,
tp_bomlv3 like mast-matnr,
tp_bomlv4 like mast-matnr,
tp_indln type i.
write : lv_matnr to itab_bom1-matnr.
write : lv_matnr to itab_bom2-matnr.
write : lv_matnr to itab_path-matnr.Hi gurus,actually this program selecion screen is linked to ..as
First screen is .Sop
.copa
Again for sop is having a selection screen and in this it is divide based on month and year seperately in two more screens.
same for copa also....
so pls tell me a correct solution where to correct and get values.
Priority is very highhhhhhhhhhhhhh,so pls help me in sorting out this.
Maybe you are looking for
-
-
Hi, Has anyone implemented SOAP over TCP/IP sockets instead of using a web server? Does JWSDP support this? Any information and pointers on how to implement this is highly appreciated. Thanks in advance. Amogh
-
hi, now i have upgraded to itunes 7, and when i go into the music store, i cannot download movies or tv shows. is this something i have done wrong wlist installing itunes, or is it apples fault? or are there just no vdeos online in the uk yet?
-
Yes has anybody had any trouble downloading Pixel bender using CS5 extension manager? I keep geting the message I do not have administrative permissions. Even though I have all administrative permissions on my ImacG5 10.6.7. Is there a way around thi
-
Dynamic Indesign pages ?
Is that possible to make a indesign page to dynamic field ? and can i able to import data from excel sheet ? Or any good suggesstion that would help me to create those pages faster... ?