Report for OS Architecture
Anybody feel like creating a report for me in SCCM? :) I am clueless when it comes to SQL Report Builder. I need a report that shows OS Architecture (32 bit or 64 bit). I have found some links out there already with a few people who have done this
but they don't seem to have everything we need. Basically, I need the canned "Hardware 01A - Summary of computers in a specific collection" report slightly modified to also show the OS Architecture.
EDIT: I guess all I really need to know is what table or view this OS Architecture data resides in within SQL? I have a few in-house developers who would be able to assist me, but it's a matter of us knowing where the architecture data resides in so we can
join it.
Thanks again for all the help. We got it figured out. I pretty much used skywalker's code but had to modify it ever so slightly as it did not like one line of code. So I changed it out with Benoit's suggestion and it works great! I did end up hard coding
the Collection ID in the code below 'SMS00001'.
SELECT DISTINCT
TOP (100) PERCENT dbo.v_R_System_Valid.ResourceID, dbo.v_R_System_Valid.Netbios_Name0 AS [Computer Name], dbo.v_R_System_Valid.Resource_Domain_OR_Workgr0
AS [Domain/Workgroup],
dbo.v_Site.SiteName AS [SMS Site Name], CASE WHEN (dbo.v_GS_SYSTEM_CONSOLE_USAGE_MAXGROUP.TopConsoleUser0 IS NULL
OR
dbo.v_GS_SYSTEM_CONSOLE_USAGE_MAXGROUP.TopConsoleUser0 = '-1') THEN 'Unknown' ELSE dbo.v_GS_SYSTEM_CONSOLE_USAGE_MAXGROUP.TopConsoleUser0
END AS [Top Console User],
dbo.v_GS_OPERATING_SYSTEM.Caption0 AS [Operating System], dbo.v_GS_OPERATING_SYSTEM.CSDVersion0 AS [Service Pack
Level], dbo.v_GS_PC_BIOS.SerialNumber0 AS [Serial Number],
dbo.v_GS_SYSTEM_ENCLOSURE_UNIQUE.SMBIOSAssetTag0 AS [Asset Tag], dbo.v_GS_COMPUTER_SYSTEM.Manufacturer0 AS Manufacturer,
dbo.v_GS_COMPUTER_SYSTEM.Model0 AS Model,
dbo.v_GS_X86_PC_MEMORY.TotalPhysicalMemory0 AS [Memory (KBytes)], dbo.v_GS_PROCESSOR.Manufacturer0 AS [Processor
Manufacturer], dbo.v_GS_PROCESSOR.Name0 AS [Processor Name],
dbo.v_GS_PROCESSOR.NormSpeed0 AS [Processor (GHz)],
(SELECT SUM(dbo.v_GS_LOGICAL_DISK.Size0) AS Expr1
FROM dbo.v_GS_LOGICAL_DISK
INNER JOIN
dbo.v_FullCollectionMembership ON dbo.v_FullCollectionMembership.ResourceID = dbo.v_GS_LOGICAL_DISK.ResourceID
WHERE (dbo.v_GS_LOGICAL_DISK.ResourceID
= dbo.v_R_System_Valid.ResourceID) AND (dbo.v_FullCollectionMembership.CollectionID = 'SMS00001')) AS [Disk Space (MB)],
(SELECT SUM(v_GS_LOGICAL_DISK_2.FreeSpace0) AS
Expr1
FROM dbo.v_GS_LOGICAL_DISK
AS v_GS_LOGICAL_DISK_2 INNER JOIN
dbo.v_FullCollectionMembership AS v_FullCollectionMembership_2 ON v_FullCollectionMembership_2.ResourceID = v_GS_LOGICAL_DISK_2.ResourceID
WHERE (v_GS_LOGICAL_DISK_2.ResourceID
= dbo.v_R_System_Valid.ResourceID) AND (v_FullCollectionMembership_2.CollectionID = 'SMS00001')) AS [Free Disk Space (MB)],
dbo.v_GS_Computer_SYSTEM.SystemType0
FROM dbo.v_R_System_Valid INNER JOIN
dbo.v_GS_OPERATING_SYSTEM ON dbo.v_GS_OPERATING_SYSTEM.ResourceID = dbo.v_R_System_Valid.ResourceID LEFT OUTER JOIN
dbo.v_GS_SYSTEM_ENCLOSURE_UNIQUE ON dbo.v_GS_SYSTEM_ENCLOSURE_UNIQUE.ResourceID = dbo.v_R_System_Valid.ResourceID
INNER JOIN
dbo.v_GS_COMPUTER_SYSTEM ON dbo.v_GS_COMPUTER_SYSTEM.ResourceID = dbo.v_R_System_Valid.ResourceID INNER JOIN
dbo.v_GS_X86_PC_MEMORY ON dbo.v_GS_X86_PC_MEMORY.ResourceID = dbo.v_R_System_Valid.ResourceID INNER JOIN
dbo.v_GS_PROCESSOR ON dbo.v_GS_PROCESSOR.ResourceID = dbo.v_R_System_Valid.ResourceID INNER JOIN
dbo.v_GS_PC_BIOS ON dbo.v_GS_PC_BIOS.ResourceID = dbo.v_R_System_Valid.ResourceID INNER JOIN
dbo.v_FullCollectionMembership AS v_FullCollectionMembership_1 ON v_FullCollectionMembership_1.ResourceID = dbo.v_R_System_Valid.ResourceID
LEFT OUTER JOIN
dbo.v_Site ON v_FullCollectionMembership_1.SiteCode = dbo.v_Site.SiteCode INNER JOIN
dbo.v_GS_LOGICAL_DISK AS v_GS_LOGICAL_DISK_1 ON v_GS_LOGICAL_DISK_1.ResourceID = dbo.v_R_System_Valid.ResourceID
AND
v_GS_LOGICAL_DISK_1.DeviceID0 = SUBSTRING(dbo.v_GS_OPERATING_SYSTEM.WindowsDirectory0, 1, 2) LEFT OUTER JOIN
dbo.v_GS_SYSTEM_CONSOLE_USAGE_MAXGROUP ON dbo.v_GS_SYSTEM_CONSOLE_USAGE_MAXGROUP.ResourceID = dbo.v_R_System_Valid.ResourceID
WHERE (v_FullCollectionMembership_1.CollectionID = 'SMS00001')
ORDER BY [Computer Name]
Similar Messages
-
Crystal reports for Eclipse (CR4E) - taking long time to load
HI
We have used your Crystal reports for Eclipse (CR4E) but it is taking long time to load if the record count is more than 3 million
Our architecture is we are using Oracle DB and web sphere application server both are running on SUN server,
If we buy original version it will work fast?
Or do you have alternative solution for this, this one to implement one of our major clientYou have 3 million records, this is going to take time to process. Also, you don't define what is meant by a long time. Are we talking a couple of minutes, or something more like 20 minutes?
The real question is, do you really need the report to bring back 3 million records? Could you do any filtering of the data to reduce the number of records being brought back? Also, 3 million records could vary. is each record a single field, or is it multiple. The more fields, the larger the result set.
Another thing you want to look at, is just how long is the query taking to run against the database. -
Licensing of Crystal Reports for Eclipse
Hi,
i have a question about the licensing of Crystal Reports for Eclipse. We want to use the Crystal Reports runtime in our application. The application uses a client/server architecture with a smart/rich client. The crystal runtime runs on the server-part and is only accessible within the company which uses our application.
To we have to buy a runtime license to use the runtime? Because our application is not a thick client and i'm not sure if it's count as a web application. I'm asking because the licensing information ( link: [http://www.sap.com/solutions/sap-crystal-solutions/query-reporting-analysis/sapcrystalreports-eclipse/technicaldetails/index.epx] ) only distinguish between thick client and web application.
Thanks in advance for your help,
Jens
Edited by: jenskeller on Dec 1, 2010 10:14 AM
Edited by: jenskeller on Dec 1, 2010 10:15 AMClient (Thick) Application: The runtime engine is installed on the client machine. All report processing is local to that machine.
Server Application: The runtime engine is integrated in a way that allows more than one user to access the engine either directly or indirectly.
CR licensing for dummies:
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/70bd6328-4128-2d10-7882-d7b95418dbaa -
Can you use Crystal Reports for Enterprise to connect to BOE4 over the web?
Hello,
When I use Crystal Reports for Enterprise in BI Launchpad when I am connected on the LAN network it works.
If I connect via the internet, it doesn't.
I wanted to know if Crystal Reports for Enterprise only works if you are connected to Business Enterprise 4.0 on a LAN network and if it's not designed to work remotely, aka via the internet connection, like you can with Webi?
regards
JanettaHello,
We installed BOE4 on the server, it runs perfectly, no issues.
Install Crystal Reports for Enterprise on a laptop. It's the latest one as I checked to see if there's any later versions or patches.
I am able to log into the BOE Enterprise system as administrator.
Namely I have setup the Server connections per the following:
Server Name: <IP address>
The check box for SSL is unchecked.
Server Port Number: nnnn
Server Context: /dswsbobje
System display name: <my server> External Connection
User Name : Administrator
It connects successfully.
I then go and create a report against a Universe that I can see listed on my BOE 4 server.
It then comes up with this error message:
"Unable to Logon: There is a problem logging on to SAP BusinessObjects Enterprise.
Please check your logon credentials and make sure your nework is properly configured before trying again.
If problems persist please contact your Administrator."
Architecture:
BOE 4 sits on Windows 2008 Server SP2
Laptops tried it on are Windows Vista and Windows 2003 Std.
Thanks for looking into this for me.
Edited by: Symonds Janetta on Oct 11, 2011 12:05 AM -
I am working on upgrading an application that has been in use for many years. The application is written in VB6 and I have been tasked with upgrading the current application to Crystal Reports for Visual Studio. I am using Crystal Reports for VS Version 13.0.12.1494. The system's database is a Sybase SQL Anywhere 16 database with an ODBC connection using integrated login. Each of the reports has the database connection set up from within the report. There is only once database server, so each of the reports are pointing to the same DB. The database server is currently installed as a "Personal Server" with a limit of 10 connections.
I have implemented the CR viewer as part of a COM-callable wrapper that exposes a COM interface for VB6 to interact with. Inside of my viewer component is a Winform that embeds the Crystal's Report viewer. The COM interface basically maps the basic Crystal apis to methods that the VB6 can call (i.e., Load Report, Set Field Text, Update SQL Query, etc). This architecture is working as designed and the reports are displaying correctly and responding correctly to changes in queries, etc.
The issue is that after I open 9 reports, the tenth one will respond with an error indicating that the database connection limit has been reached. The database connections used by the reports aren't released until after the application is closed. The application is designed for a secure environment that prohibits the non-administrative user from accessing the systems desktop, so asking the user tor restart the application after 10 reports isn't a viable option.
I have checked and database connection pooling is turned off for the SQL Anywhere 16 driver.
I have been digging on this for a few days and have tried adding code in the FormClosed event to close and dispose of the Report Document as follows:
ReportDocument reportDoc= (ReportDocument) crystalReportViewer1.ReportSource;
reportDoc.Close();
reportDoc.Dispose();
GC.Collect(); // Force garbage collection on disposed items
I have also tried the following (as well as maybe 20 or so other permutations) trying to fix the issue with no success.
ReportDocument reportDoc= (ReportDocument) crystalReportViewer1.ReportSource;
foreach (Table table in reportDoc.Database.Tables)
table.Dispose();
crystalReportViewer1.ReportSource = null;
reportDoc.Database.Dispose();
reportDoc.Close();
reportDoc.Dispose();
reportDoc = (ReportDocument)crystalReportViewer1.ReportSource;
GC.Collect(); // Force garabe collection on disposed items
Any ideas or suggestions would be greatly appreciated. I have been pulling my hair out on this one!Hi Ludek,
Thanks so much for the quick reply. Unfortunately I did not have time to work on the reporting project Friday afternoon, but did a quick test this morning with some interesting results. I'm hoping if I describe what I'm doing, you can show me the error of my ways. This is really my first major undertaking with Crystal Reports.
If I simply load the report, then close and dispose, I don't hit the limit of 10 files. Note that I do not logon manually in my code as the logon parameters are all defined within the reports themselves. The logon happens when you actually view the report. Loading the report doesn't seem to actually log in to the DB.
What I did was create a very simple form with a single button that creates the WinForm class which contains the Crystal Viewer. It then loads the report, sets the ReportSource property on the CrystalReportsViewer object contained in the WInForm and shows the report. The report does show correctly, until the 10 reports limit is reached.
The relevant code is shown below. More than I wanted to post, but i want to be as complete and unambiguous as possible.
This code displays the same behavior as my earlier post (after 10 reports we are unable to create another connection to the DB).
// Initial Form that simply has a button
public partial class SlectReport : form
public SelectReport()
InitializeComponent();
private void button1_Click(object sender, EventArgs e)
ReportDocument rd = new ReportDocument();
ReportForm report = new ReportForm();
try
rd.Load(@"Test.rpt");
report.ReportSource = rd;
report.Show();
catch (Exception ex)
MessageBox.Show(ex.Message);
// The WinForm containing the Crystal Reports Viewer
public partial class ReportForm : Form
public ReportForm()
InitializeComponent();
private void Form1_Load(object sender, EventArgs e)
this.crystalReportViewer1.RefreshReport();
this.FormClosed += new FormClosedEventHandler(ReportForm_FormClosed);
void ReportForm_FormClosed(object sender, FormClosedEventArgs e)
ReportDocument rd;
rd = (ReportDocument)crystalReportViewer1.ReportSource;
rd.Close();
rd.Dispose();
public object ReportSource
set { crystalReportViewer1.ReportSource = value; }
Again, any guidance would be greatly appreciated. -
Report for Qty Contract and Value Contract with PO release exceeding limits
Hi All,
Is there a std report in SAP that the users can use to view Qty and Val Contracts that has exceed in Qty (in case of Qty Contracts) or Val (in case of Val Contracts) ?
Thanks in advance!hi Duke,
If thinking logically, then there is no report for the same..this may be because you enter the qty or value limits in the contract doc itself....So, when you make the PO for the same, and if the qty or value exceeds the system automatically provides the message..stating that the qty or value has exceeded....
So, there is no report for the same...
Hope it helps...
Regards
Priyanka.P -
PS report for Actual and commitment Balance
Dear experts,
Is there any report in PS where i can see list of projects has actual balance and commitment balance?
Note: I want to see only the balance of actual cost ( which is not settled) and commitment balance (Open PO, PR etc..)
Regard
VetrivelanHi,
For commitment- CJI5
actual - CJI3 with correct layout as per you requirement.
also try S_ALR_87013558 report & go to line item report for detail actuals(& you have to change the layout accordingly) & commitment.
hope this would help you...
regards,
SL -
Simulair report for FBL5N and FBL1N for new general ledger on segment level
We are working with segments in new G/L ledger. We want to run a open item report where we can combine customers and vendors by segment. The vendors and customers are linked in the master data. In the "old" reports FBL5N and FBL1N you can do this but not by segment.I found the following report on segment level:
- S_PCO_36000218 - Receivables: Segment
- S_PCO_36000219 - Payables: Segment
What I'm missing is to run 1 report for Customers and vendors. What I'm missing to is that there are only some fields available on line item level. (I like to have invoice number, documentype,.......)
Is there a standard report for this in new genaral leger?
Is it possible to ad additional field to th list viewer.What is this user license type? All financial transactions need professional license.
Thanks,
Gordon -
How to create a report for open sales orde documents which are not invoiced
Hi Experts this is urgent,
+pls give the Logic for document flow+
My requirement is create a report for sales orders which are not invoiced using the following table.
VBAK : sales order header
VBAP : sales order item
VBFA : sales document flow
VBUK for processing status
KOMV for duties value and sales order value
LIKP : delivery not header
LIPS :delivery note item
For information : In the header level the processing Status is indicated in the table VBUK field LFSTK for one sales order number. A,B , C are the possible entries.
Case A : When a sales order is invoiced we can display information on the header status :
Overall status : Completed and display a invoice number in the document flow. When the items of the sales orders are invoiced the process status is the following : Overall status Completed
Delivery status Fully delivered
Case B : An open sales order not delivered and not invoiced will have overall status : Open on the header and item level and will not have subsequent documents.
Case C :
When the items for the sales order are delivered but not invoiced the status will be u201Cfully deliveredu201D
And the subsequent documents will be delivery notes and good issue if the delivery note is issued.
With regards
ravi
Edited by: ravik ravik on Jun 25, 2008 3:29 PMHello Ravi,
U neednot develop any report..
there is std report with txn V.02
or copy this and make necessary changes.
Reward, if helpful.
Rgds,
Raghu. -
Hi All,
I need to develop an Aging report for open invoice, there is no indication for open invoice or close invoice since we are using customise DS and DS from third party system. only one key flag we have is clearing date. so kindly let me know how to write the logic for this requirement.. can I use Customer exit for this? I have an Idea to do like
first logic is
*If Clearing date = blank than invoice is = open (by using of this logic we can get all open invoice).
second logic
total number of invoice = current date - document date.
but I do not know how to implement this logic in BEx hnece kinnly advice me whether this logic can be work or suggest with different solution ples..
Regards,hi,
You can check few default PO reports wid proper paramater in it
or
Can check table EKBE
or
Check PO history in the PO doc
Or
Check the ME80FN
Regards
Priyanka.P -
Report for material with sloc,qty available, and production order
hi friends, i need advice on getting this report for material with qty and specific sloc with the corresponding Prodn order numbers. in mb51 i could get all these details except the prodn order no. could you advice me please?
to make sure you know how to do this.
In the material document list, hit "Ctrl+F8" on your keyboard.
A window will pop up. Click on the button position and look for "order" in the list of available fields. That should do it.
Rgds. -
Report for Comparison of Material Qty
Hi All,
I need to Develop an Interactive report for Comparison of Material Qty. ordered through Purchase requisition, ordered material through PO and corresponding Material Receipt report.
Can Someone Give a brief description about this & fields tcode & tables regarding this report.A sample code would be much appreciated.
Thanks & regards,
Ravi STo get the material number combined with the PO text you will need the help of an ABAP programmer. The programmer can create a report for you using the function module READ_TEXT in the function group STXD. The tables to use are:
STXH - STXD SAPscript text file header
STXL - STXD SAPscript text file lines
The selection screen should have at least the following:
OBJECT - STXH-TDOBJECT
NAME - STXH-TDNAME
LANGUAGE - STXH-TDSPRAS
TEXTID - STXH-TDID
You find the information for these fields by going to the PO text entry screen and displaying the header information under Goto -> Header. For materials, the object is MATERIAL, the name is "material number", the language is "EN", and the text ID is BEST. You can use this program to get long text in lots of places like information records, purchase order texts, etc.
Hope this helps. -
Report for open process orders
Dear SAP experts,
As the period of the process order from open to close is not short, will take 1 or 2 months in our business case, so we want to find a report which can get the information just like the output of KSPP(for planned orders) .
I tried to analysis the logic of program KSPP, and it seems the function modules based on the planned orders only.
Is there any way to get the similar report for open process orders?
Many Thanks,
Lisa YaoIs there any clues?
-
Report for open order and shipped qty summary
Dear Folks,
Can any one please help me.
Report for open order summary Vs shipped quantity
what are the related programs to it.
throw some light on it.>
arpita b wrote:
> Dear rohit
>
> Iam asking about any report which compares or give details of open order vs shipped qty.
>
> Any sis report is available for this?
Hi Arpita,
There is no such sis report available. You will have to configure and create two seperate reports and do the comparison.
If you want, I will send you the list of all T.codes used to generate reports in SD.
Revert back to me if you need the same.
Regards,
Swapna D. -
hi guy's,
i am doing report for the stock statement .... my issue is in MB5B if i reverse some document it shows as it move's to issue QTY and my receipt is same but my closing stock is correct ...is there any std report avalible ....
thank's in advanceUse this code :
TABLES : MSEG,MKPF,MARA,MAKT,BEWART,MSLB,BSIM.
TYPE-POOLS : SLIS.
DATA : IT_FLDCAT TYPE SLIS_T_FIELDCAT_ALV,
IT_LIST_HEADER TYPE SLIS_T_LISTHEADER,
IT_EVENTS TYPE SLIS_T_EVENT,
GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
WA_SORT TYPE SLIS_SORTINFO_ALV,
IT_SORT TYPE SLIS_T_SORTINFO_ALV,
REPID LIKE SY-REPID,
FRM_DATE(10),TO_DATE(10),
DISPTEXT(255),DISPTEXT2(255).
TYPES : BEGIN OF ST_OPBAL,
MATNR LIKE MSEG-MATNR,
MAKTX LIKE MAKT-MAKTX,
BATCH LIKE MSEG-CHARG,
BWART LIKE MSEG-BWART,
MENGE LIKE MSEG-MENGE,
ZEILE LIKE MSEG-ZEILE,
WERKS LIKE MSEG-WERKS,
SOBKZ LIKE MSEG-SOBKZ,
BUDAT LIKE MKPF-BUDAT,
SHKZG LIKE MSEG-SHKZG,
DMBTR LIKE MSEG-DMBTR,
MBLNR LIKE MSEG-MBLNR,
LGORT LIKE MSEG-LGORT,
END OF ST_OPBAL.
DATA : OPBAL TYPE ST_OPBAL OCCURS 0 WITH HEADER LINE,
TMP_OPBAL TYPE ST_OPBAL OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF BAL_NOREF OCCURS 0,
MATNR LIKE MARA-MATNR,
SHKZG LIKE MSEG-SHKZG,
DMBTR LIKE MSEG-DMBTR,
END OF BAL_NOREF.
DATA : BEGIN OF OPBAL2 OCCURS 0,
SNO(3) TYPE N,
MATNR LIKE MSEG-MATNR,
MAKTX LIKE MAKT-MAKTX,
OP_BAL LIKE MSEG-MENGE,
OP_STKVAL LIKE MSEG-DMBTR, "NEW
REC LIKE MSEG-MENGE,
T_OPBAL_REC LIKE MSEG-MENGE,
REC_STKVAL LIKE MSEG-DMBTR, "NEW
ISS LIKE MSEG-MENGE,
ISS_STKVAL LIKE MSEG-DMBTR, "NEW
SALES LIKE MSEG-MENGE,
T_ISS LIKE MSEG-MENGE,
CL_BAL LIKE MSEG-MENGE,
BATCH LIKE MSEG-CHARG,
SUBCON LIKE MSEG-MENGE,
CL_STKVAL LIKE MSEG-DMBTR,
END OF OPBAL2.
DATA SERNO(4) TYPE C.
DATA OPTOT TYPE P DECIMALS 3.
DATA RECTOT TYPE P DECIMALS 3.
DATA ISSTOT TYPE P DECIMALS 3.
DATA TOTALL TYPE P DECIMALS 3.
DATA FLG TYPE N.
DATA FLAG TYPE N.
DATA STOCKVAL TYPE MSEG-DMBTR.
DATA REC_STOCKVAL TYPE MSEG-DMBTR.
DATA ISS_STOCKVAL TYPE MSEG-DMBTR.
DATA CL_STKVAL TYPE MSEG-DMBTR.
SELECTION-SCREEN BEGIN OF BLOCK X WITH FRAME.
SELECT-OPTIONS: P_MATNR FOR MSEG-MATNR,
P_MGRP FOR MARA-MATKL,
P_DATE FOR MKPF-BUDAT,
P_PLANT FOR MSEG-WERKS DEFAULT 'NB01' OBLIGATORY NO INTERVALS
NO-EXTENSION .
SELECT-OPTIONS: P_STLOC FOR MSEG-LGORT NO INTERVALS NO-EXTENSION.
SELECTION-SCREEN END OF BLOCK X.
INITIALIZATION.
REPID = SY-REPID.
PERFORM FILL_FLDCAT USING IT_FLDCAT.
PERFORM FILL_EVENTS USING IT_EVENTS.
PERFORM FILL_LAYOUT USING GS_LAYOUT.
START-OF-SELECTION.
CONCATENATE P_DATE-LOW6(2) '.' P_DATE-LOW4(2) '.' P_DATE-LOW+0(4)
INTO FRM_DATE.
CONCATENATE P_DATE-HIGH6(2) '.' P_DATE-HIGH4(2) '.' P_DATE-HIGH+0(4)
INTO TO_DATE.
CONCATENATE TEXT-003 FRM_DATE' TO : ' TO_DATE INTO DISPTEXT.
CONCATENATE TEXT-004 P_PLANT-LOW ' Storage Location : ' P_STLOC-LOW
INTO DISPTEXT2.
PERFORM FILL_HEADER USING IT_LIST_HEADER.
SELECT A~MATNR
F~MAKTX
A~CHARG
A~BWART
A~MENGE
A~ZEILE
A~WERKS
A~SOBKZ
D~BUDAT
A~SHKZG
A~DMBTR
A~MBLNR
A~LGORT
INTO TABLE OPBAL
FROM MKPF AS D JOIN MSEG AS A
ON DMBLNR = AMBLNR AND
DMJAHR = AMJAHR
JOIN MARA AS E
ON EMATNR = AMATNR
JOIN MAKT AS F
ON FMATNR = AMATNR
WHERE A~MATNR IN P_MATNR
AND A~WERKS IN P_PLANT
AND A~KZBEW IN (' ','B')
AND E~MATKL IN P_MGRP
AND A~BWART NOT IN ('541','542','321','322','121')
AND A~KZVBR NOT IN ('A')
AND D~BUDAT LE P_DATE-HIGH.
LOOP AT OPBAL WHERE BWART EQ '544' AND LGORT EQ ''.
TMP_OPBAL = OPBAL.
APPEND TMP_OPBAL.
ENDLOOP.
DELETE OPBAL WHERE ( BWART EQ '309' AND DMBTR EQ 0 ).
DELETE OPBAL WHERE ( BWART NE '543' AND LGORT EQ '' ).
LOOP AT TMP_OPBAL.
OPBAL = TMP_OPBAL.
APPEND OPBAL.
ENDLOOP.
STOCKVAL = 0.
SORT OPBAL BY MATNR BATCH BUDAT.
LOOP AT OPBAL.
SELECT SINGLE LBLAB INTO MSLB-LBLAB FROM MSLB
WHERE MATNR = OPBAL-MATNR.
IF OPBAL-BUDAT LT P_DATE-LOW.
IF OPBAL-SHKZG = 'H'.
OPTOT = OPTOT - OPBAL-MENGE.
ELSEIF OPBAL-SHKZG = 'S'.
OPTOT = OPTOT + OPBAL-MENGE.
ENDIF.
For the duration II part *****************
ELSEIF OPBAL-BUDAT IN P_DATE.
IF OPBAL-SHKZG = 'H'.
ISSTOT = ISSTOT + OPBAL-MENGE.
ELSEIF OPBAL-SHKZG = 'S'.
RECTOT = RECTOT + OPBAL-MENGE.
ENDIF.
ENDIF.
AT END OF BATCH. " modified for chek
READ TABLE OPBAL INDEX SY-TABIX.
CLEAR BAL_NOREF. REFRESH BAL_NOREF.
SELECT MATNR SHKZG SUM( DMBTR )
INTO TABLE BAL_NOREF
FROM BSIM
WHERE BUDAT LT P_DATE-LOW AND
MATNR EQ OPBAL-MATNR AND
BWTAR EQ OPBAL-BATCH AND
BWKEY IN P_PLANT AND
BLART IN ('RE','WE','WA','PR')
GROUP BY MATNR SHKZG.
LOOP AT BAL_NOREF.
IF BAL_NOREF-SHKZG = 'H'.
STOCKVAL = STOCKVAL - BAL_NOREF-DMBTR.
ELSE.
STOCKVAL = STOCKVAL + BAL_NOREF-DMBTR.
ENDIF.
ENDLOOP.
CLEAR BAL_NOREF. REFRESH BAL_NOREF.
SELECT MATNR SHKZG SUM( DMBTR )
INTO TABLE BAL_NOREF
FROM BSIM
WHERE BUDAT IN P_DATE AND
MATNR EQ OPBAL-MATNR AND
BWTAR EQ OPBAL-BATCH AND
BWKEY IN P_PLANT AND
BLART IN ('RE','WE','WA','PR')
GROUP BY MATNR SHKZG.
LOOP AT BAL_NOREF.
IF BAL_NOREF-SHKZG = 'H'.
ISS_STOCKVAL = ISS_STOCKVAL + BAL_NOREF-DMBTR.
ELSE.
REC_STOCKVAL = REC_STOCKVAL + BAL_NOREF-DMBTR.
ENDIF.
ENDLOOP.
" MSLB-LBLAB (STOCK WITH SUBCONTRACTOR).
CL_STKVAL = STOCKVAL + REC_STOCKVAL - ISS_STOCKVAL.
TOTALL = OPTOT + RECTOT - ISSTOT.
IF OPTOT = '0' AND RECTOT = '0' AND ISSTOT = '0'.
FLG = 1.
ENDIF.
IF FLG = 1.
CLEAR FLG.
ELSE.
SERNO = SERNO + 1.
OPBAL2-SNO = SERNO.
OPBAL2-MATNR = OPBAL-MATNR.
OPBAL2-MAKTX = OPBAL-MAKTX.
OPBAL2-OP_BAL = OPTOT.
OPBAL2-REC = RECTOT.
OPBAL2-T_OPBAL_REC = OPTOT + RECTOT.
OPBAL2-ISS = ISSTOT.
OPBAL2-T_ISS = ISSTOT.
OPBAL2-CL_BAL = TOTALL.
OPBAL2-BATCH = OPBAL-BATCH.
OPBAL2-SUBCON = MSLB-LBLAB.
OPBAL2-OP_STKVAL = STOCKVAL.
OPBAL2-ISS_STKVAL = ISS_STOCKVAL.
OPBAL2-REC_STKVAL = REC_STOCKVAL.
OPBAL2-CL_STKVAL = CL_STKVAL.
APPEND OPBAL2.
ENDIF.
OPTOT = 0.
RECTOT = 0.
ISSTOT = 0.
STOCKVAL = 0.
ISS_STOCKVAL = 0.
REC_STOCKVAL = 0.
CL_STKVAL = 0.
ENDAT.
ENDLOOP.
WA_SORT-SPOS = 1.
WA_SORT-FIELDNAME = 'MATNR'.
WA_SORT-UP = 'X'.
WA_SORT-SUBTOT = 'X'.
APPEND WA_SORT TO IT_SORT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = REPID
IT_FIELDCAT = IT_FLDCAT
IT_EVENTS = IT_EVENTS
IS_LAYOUT = GS_LAYOUT
IT_SORT = IT_SORT
TABLES
T_OUTTAB = OPBAL2.
FORM FILL_FLDCAT USING P_FLDCAT TYPE SLIS_T_FIELDCAT_ALV.
PERFORM FILL_PARAM_FLDCAT USING 1 'SNo' 'SNO' ' ' 'X'
'OPBAL2' P_FLDCAT.
PERFORM FILL_PARAM_FLDCAT USING 2 'Material No.' 'MATNR' ' ' 'X'
'OPBAL2' P_FLDCAT.
PERFORM FILL_PARAM_FLDCAT USING 3 'Description' 'MAKTX' ' ' ' '
'OPBAL2' P_FLDCAT.
PERFORM FILL_PARAM_FLDCAT USING 4 'Op.Bal' 'OP_BAL' 'X' ' '
'OPBAL2' P_FLDCAT.
PERFORM FILL_PARAM_FLDCAT USING 5 'Op.Stock Val' 'OP_STKVAL' 'X' ' '
'OPBAL2' P_FLDCAT.
PERFORM FILL_PARAM_FLDCAT USING 6 'Receipts' 'REC' 'X' ' '
'OPBAL2' P_FLDCAT.
PERFORM FILL_PARAM_FLDCAT USING 7 'Total' 'T_OPBAL_REC' 'X' ' '
'OPBAL2' P_FLDCAT.
PERFORM FILL_PARAM_FLDCAT USING 8 'Rect.Val.' 'REC_STKVAL' 'X' ' '
'OPBAL2' P_FLDCAT.
PERFORM FILL_PARAM_FLDCAT USING 9 'Issues' 'ISS' 'X' ' '
'OPBAL2' P_FLDCAT.
PERFORM FILL_PARAM_FLDCAT USING 10 'Iss. Val.' 'ISS_STKVAL' 'X' ' '
'OPBAL2' P_FLDCAT.
PERFORM FILL_PARAM_FLDCAT USING 11 'Cl. Bal.' 'CL_BAL' 'X' ' '
'OPBAL2' P_FLDCAT.
PERFORM FILL_PARAM_FLDCAT USING 12 'Cl.Stock Val' 'CL_STKVAL' 'X' ' '
'OPBAL2' P_FLDCAT.
PERFORM FILL_PARAM_FLDCAT USING 13 'BATCH ' 'BATCH' ' ' ' '
'OPBAL2' P_FLDCAT.
ENDFORM.
FORM FILL_PARAM_FLDCAT USING VALUE(P_COL) VALUE(P_TEXT) VALUE(P_FLDNAME)
VALUE(P_DOSUM) VALUE(P_NOZERO) VALUE(P_TABNAME)
PP_FLDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA : WA_FLDCAT TYPE SLIS_FIELDCAT_ALV.
CLEAR WA_FLDCAT.
WA_FLDCAT-COL_POS = P_COL.
WA_FLDCAT-SELTEXT_M = P_TEXT.
WA_FLDCAT-FIELDNAME = P_FLDNAME.
WA_FLDCAT-TABNAME = P_TABNAME.
WA_FLDCAT-DO_SUM = P_DOSUM.
WA_FLDCAT-NO_ZERO = P_NOZERO.
APPEND WA_FLDCAT TO PP_FLDCAT.
ENDFORM.
FORM FILL_HEADER USING P_IT_LIST_HEADER TYPE SLIS_T_LISTHEADER.
DATA: LS_LINE TYPE SLIS_LISTHEADER.
CLEAR LS_LINE.
LS_LINE-TYP = 'S'.
LS_LINE-INFO = TEXT-002.
APPEND LS_LINE TO P_IT_LIST_HEADER.
CLEAR LS_LINE.
LS_LINE-TYP = 'S'.
LS_LINE-INFO = DISPTEXT.
APPEND LS_LINE TO P_IT_LIST_HEADER.
CLEAR LS_LINE.
LS_LINE-TYP = 'S'.
LS_LINE-INFO = DISPTEXT2.
APPEND LS_LINE TO P_IT_LIST_HEADER.
ENDFORM.
FORM FILL_EVENTS USING P_IT_EVENTS TYPE SLIS_T_EVENT.
DATA LS_EVENT TYPE SLIS_ALV_EVENT.
MOVE 'TOP_OF_PAGE' TO LS_EVENT-FORM.
MOVE 'TOP_OF_PAGE' TO LS_EVENT-NAME.
APPEND LS_EVENT TO P_IT_EVENTS.
ENDFORM.
FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = IT_LIST_HEADER.
ENDFORM.
FORM FILL_LAYOUT USING P_GS_LAYOUT TYPE SLIS_LAYOUT_ALV.
P_GS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
P_GS_LAYOUT-ZEBRA = 'X'.
P_GS_LAYOUT-FLEXIBLE_KEY = 'X'.
ENDFORM.
FOR TESTING PURPOSE.
*SORT OPBAL BY BUDAT.
*CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = REPID
IT_FIELDCAT = IT_FLDCAT
IT_EVENTS = IT_EVENTS
TABLES
T_OUTTAB = OPBAL.
*FORM FILL_FLDCAT USING P_FLDCAT TYPE SLIS_T_FIELDCAT_ALV.
PERFORM FILL_PARAM_FLDCAT USING 1 'MBLNR' 'MBLNR'
'OPBAL' P_FLDCAT.
PERFORM FILL_PARAM_FLDCAT USING 2 'CREDIT/DEBIT' 'SHKZG'
'OPBAL' P_FLDCAT.
PERFORM FILL_PARAM_FLDCAT USING 3 'MOV.TYP.' 'BWART'
'OPBAL' P_FLDCAT.
PERFORM FILL_PARAM_FLDCAT USING 4 'ST.LOC.' 'LGORT'
'OPBAL' P_FLDCAT.
PERFORM FILL_PARAM_FLDCAT USING 5 'STOCK VAL' 'DMBTR'
'OPBAL' P_FLDCAT.
PERFORM FILL_PARAM_FLDCAT USING 6 'POS.DATE' 'BUDAT'
'OPBAL' P_FLDCAT.
*ENDFORM.
Maybe you are looking for
-
Error in sales order creation using BAPI_SALESORDER_CREATEFROMDAT2
Hi all, Pl look into below code : Here order is getting created , however ship to party and sold to party shows the same value. *& Report ZSD_SALEORDCRE report zsd_saleordcre. Order header:* - Order type: OR Important you must use the german code
-
Error in Calling BAPI_LAYMOD_SAVEREPLICA.
Hi All, I am trying to create and change teh Layout module through function module BAPI_LAYMOD_SAVEREPLICA and It is throughing as error message like " Maintain the fixture for material" . But i don't need of fixture of the material. Any thou
-
Hello, I was wondering how come you cant use a button to open a web page. I would use text but i like how buttons when rolled over change. If any one have any suggestions or another way, it would help a lot of you could get me out of my jam! Thanks,
-
How can I have IMessage and SMS in the same thread
My boyfriend has an iPad mini and a non Apple phone that sends SMS. I know have two separate threads in messages, one for iMessage and one for SMS. Even though I have added his email that is used to send iMessages to his contact on my phone, it is
-
Why won't the images display in this flash widget?
why won't the images display in this flash widget? http://www.coffeeandcandles.com/Wholesale_s/41.htm