Help me for project!!
Work in a electrica company, has a "escada system", I am gliding to propose a project that uses labview, to improve the monitoreo of these systems, that equipment to use, and to pass information to me about this subject.
Apart from not having any question in the post, I have a problem finding out what it is you want. It`s impossible for anyone to give a helpful response to a question incorporating so little information about the problem.
SCADA is a term used for general software control and data acquisition. As such, the term scada does not provide any useful information.
I assume that English is not your first language, and that some of the nuances of your problem are being lost in translation. Try posting in your own language. Although most people prefer questions in English, if it can be better understood in your own language, this is the better option.
If you get the impression I`m criticising your English, I`m sorry. This is not my intent. I just think you need
to post this question again with more information so that someone can help.
Shane.
Using LV 6.1 and 8.2.1 on W2k (SP4) and WXP (SP2)
Similar Messages
-
+People..I am new to this forum and your help is absolutely essential as it for my project work. There are two questions in my project. This is the second one. The first question is at the following thread.
http://forum.java.sun.com/thread.jspa?threadID=5220057
Thanks in advance..+*
This is the Question
Create a class ToyCollection that stores information about different toys in a toy shop. The information to be stored about a single toy is,
- Toy identification as String
- Name of the toy as String
- Short description about the toy as a String
- Price of the toy as float
- Quantity of the toy in hand as short integer.
This class contains following methods,
- Constructor method that assigns user input values to above mentioned variables.
- main ( ) method that creates array of 4 objects of ToyCollection class and that takes input for all above details from the user and
calls method to check validity of Quantity and Price values. If all values are valid then create the objects and display the details
for all 4 toys.
- Method that checks validity of quantity and price. If the quantity is 0 or negative then method should throw user defined
exception with appropriate message and come out of program. Similarly if the price is 0 or negative then it should throw user defined exception with appropriate message and come out of program.
- Method that displays all details about a single toy in the following format, e.g. Here Total price should be calculated.
Toy Identification : S-1
Toy Name : Small Scooter
Toy Description : Ordinary 3 wheeler scooter
Toy price : 650.50
Quantity in hand : 3
Total price of Toys : 1951.50
And i did the following coding
import java.io.*;
import java.lang.*;
public class ToyCollection
public int toyid;
public String toyname;
public String toydetails;
public float toyprice;
public int toyquantity;
public void setToyid(int tid)
toyid = tid;
public void setToyname(String tname)
toyname = tname;
public void setToydetails(String tdet)
toydetails = tdet;
public void setToyprice(float tpri)
toyprice = tpri;
public void setToyquantity(int tquan)
toyquantity = tquan;
public int getToyid()
return toyid;
public String getToyname()
return toyname;
public String getToydetails()
return toydetails;
public float getToyprice()
return toyprice;
public int getToyquantity()
return toyquantity;
public static void main(String args[])throws Exception
ToyCollection a=new ToyCollection();
System.out.println("Enter the Toy id");
BufferedReader br1=new BufferedReader(new InputStreamReader(System.in));
int tid=Integer.parseInt(br1.readLine());
a.setToyid(tid);
System.out.println("Enter the Toy name");
BufferedReader br2=new BufferedReader(new InputStreamReader(System.in));
String tname=br2.readLine();
a.setToyname(tname);
System.out.println("Enter the Toy details");
BufferedReader br3=new BufferedReader(new InputStreamReader(System.in));
String tdet=br3.readLine();
a.setToydetails(tdet);
System.out.println("Enter the Toy price");
BufferedReader br4=new BufferedReader(new InputStreamReader(System.in));
float tpri=Float.parseFloat(br4.readLine());
a.setToyprice(tpri);
System.out.println("Enter the Toy quantity");
BufferedReader br5=new BufferedReader(new InputStreamReader(System.in));
int tquan=Integer.parseInt(br5.readLine());
a.setToyquantity(tquan);
System.out.println("The Toy Attributed you entered are displayed below \n" + " ID :" + a.getToyid() + "\n " +" Name :" + a.getToyname() + "\n " + " Details :" + a.getToydetails() + "\n " + " Price :" + a.getToyprice() + "\n " + " Quantity :" + a.getToyquantity());
I submitted the above coding and this was the response from the evaluator
*"You need to create array of toys. You are accepting details of toy in a single line and your program ends."*
Eagerly awaiting your reply at the earliest people.DrLaszloJamf , here is the question.
Create a class ToyCollection that stores information about different toys in a toy shop. The information to be stored about a single toy is,
- Toy identification as String
- Name of the toy as String
- Short description about the toy as a String
- Price of the toy as float
- Quantity of the toy in hand as short integer.
This class contains following methods,
- Constructor method that assigns user input values to above mentioned variables.
- main ( ) method that creates array of 4 objects of ToyCollection class and that takes input for all above details from the user and
calls method to check validity of Quantity and Price values. If all values are valid then create the objects and display the details
for all 4 toys.
- Method that checks validity of quantity and price. If the quantity is 0 or negative then method should throw user defined
exception with appropriate message and come out of program. Similarly if the price is 0 or negative then it should throw user defined exception with appropriate message and come out of program.
- Method that displays all details about a single toy in the following format, e.g. Here Total price should be calculated.
Toy Identification : S-1
Toy Name : Small Scooter
Toy Description : Ordinary 3 wheeler scooter
Toy price : 650.50
Quantity in hand : 3
Total price of Toys : 1951.50
What is the java code for the above ? -
I am doing IVRS for College as my Final Year Project. Here the caller can just retrieve some information(like student marks, attendance, ....). Came to know that java.sound should be used but unable to know how!. Can anyone plz gimme a rough idea of how to go about!
[url http://forum.java.sun.com/thread.jspa?forumID=513&threadID=450768]Check this thread out.
-
hi....i wanna ask anyone who can help tell me how you can put a .gif file such that the html file can show the .gif picture and a random number generator applet together UPON click on a button.
u see....there are many .gif files and on the base of the html...there are buttons to click on such that when you click on different buttons...u will go into various .gif. so now now on one of the .gif files....i wanna add a random number java applet inside the .gif and add this to the whole html file.
please help.thanksYou can't put a random number generator is a gif. GIFs are images following a particular format (and using compression owned by an evil company which a few years ago anyway were threatening to sue everybody in the world), and is not executable. That doesn't really make sense.
But don't try to describe problem in terms of a possible implementations; that just confuses the matter. It sounds like you want to display images, based on a static gif file, with additional random content added. Is that what you want to do?
I'm pretty sure it's possible to:
(1) load an image from a GIF file, into a buffer
(2) filter that buffer through a routine that draws arbitrary stuff
(3) that arbitrary stuff could include alphanumeric text produced by a random number generator
(4) the output from the filter could then be used to create an image object
(5) that image object could then be displayed. -
Need Help Desparately For Project
Hello Everyone,
My problem is that I have a JFrame with a two JPanels inside of it. Inside one of the JPanels I have a JTextArea and the other a JTextField. In the class constructor I create this objects and using show() display them. I want the content typed into the JTextField appended to the JTextArea. Unfurtunately although the information is retrieved from the user and appended to the JTextArea it doesn't show up on the JTextArea even after I've made a call to repaint(). Is this happening because the appends must occur in the main method? Currently I have the main method call printToJTextArea() to read the info in the JtextField and append it to theJTextArea. PLEEEEAAAASSSSE HELP!!!!!!!!!!//I made some changes but is still isn't working
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class AddMagician implements ActionListener
JPanel panelAddMagician = new JPanel();
JPanel panelShowMagicians = new JPanel();
JFrame Console = new JFrame("Magician Console");
JTextField txtaddMgcn = new JTextField(25);
JTextArea txtaShowMagician = new JTextArea(20,30);
BinaryMagic use = new BinaryMagic();
AddMagician()
panelAddMagician.setSize(400,50);
panelShowMagicians.setSize(400,50);
Console.setSize(450,450);
Console.getContentPane().setLayout(new BorderLayout());
txtaddMgcn.addActionListener(this);
panelAddMagician.add(txtaddMgcn);
panelShowMagicians.add(txtaShowMagician);
Console.getContentPane().add(panelAddMagician, BorderLayout.NORTH);
Console.getContentPane().add(panelShowMagicians, BorderLayout.SOUTH);
Console.show();
Console.addWindowListener(new WindowAdapter()
public void windowClosing(WindowEvent e)
System.exit(0);
public void Create()
panelAddMagician.add(txtaddMgcn);
panelShowMagicians.add(txtaShowMagician);
Console.getContentPane().add(panelAddMagician, BorderLayout.NORTH);
Console.getContentPane().add(panelShowMagicians, BorderLayout.SOUTH);
Console.show();
txtaShowMagician.append("A List of Current Magicians:");
Console.addWindowListener(new WindowAdapter()
public void windowClosing(WindowEvent e)
System.exit(0);
public void listMagicians(String name)
// System.out.println(name);
txtaShowMagician.setText("A List of Current Magicians:");
txtaShowMagician.append(name);
System.out.println("shit: " + txtaShowMagician.getText());
// panelShowMagicians.repaint();
Console.getContentPane().repaint();
public void actionPerformed(ActionEvent e)
// System.out.println(e);
if (e.getSource() == txtaddMgcn)
use.newMagician(txtaddMgcn.getText());
use.printMagician();
public static void main(String [] args)
AddMagician add = new AddMagician();
// add.Create();
add.txtaShowMagician.append("here");
class MagicianNode
Comparable name;
Comparable holiday;
MagicianNode left;
MagicianNode right;
AddMagician sendGUI = new AddMagician();
public MagicianNode (Comparable n)
name = n;
holiday = null;
left = null;
right = null;
public void print()
String temp = ("\n" + (String)name + "\n");
// System.out.print("\n" + name + "\n");
sendGUI.listMagicians(temp);
class BinaryMagic
MagicianNode root;
public BinaryMagic()
root = null;
public void newMagician(Comparable n)
if(root == null)
root = new MagicianNode(n);
if (n.compareTo(root.name) < 0)
if (root.left == null)
root.left = new MagicianNode(n);
else
newMagician(root.left, n);
if (n.compareTo(root.name) > 0)
if (root.right == null)
root.right = new MagicianNode(n);
else
newMagician(root.right, n);
private void newMagician(MagicianNode node, Comparable n)
if (n.compareTo(node.name) < 0)
if(node.left == null)
node.left = new MagicianNode(n);
newMagician(node.left, n);
if (n.compareTo(node.name) > 0)
if(node.right == null)
node.right = new MagicianNode(n);
newMagician(node.right, n);
public MagicianNode findMagician(Comparable x)
if (root == null)
return null;
return null;
public void deleteMagician(Comparable x)
public int countMagicians()
if (root == null)
return 0;
else
return magicianCount(root);
private int magicianCount(MagicianNode node)
if (node == null)
return 0;
else
return (1+ magicianCount(node.left) + magicianCount(node.right));
public void printMagician()
if (root == null)
return;
else printMagician(root);
private void printMagician(MagicianNode node)
if (node.left != null)
printMagician(node.left);
node.print(); // this print() method is a reference to the Treenode print() method.
if (node.right != null)
printMagician(node.right);
} -
Please help to understand the Service parts planning,we r tring to do poc for project
Hi
Please help to understand the Service parts planning,we r tring to do poc for project
1)How the sales history flow from cube to Interactive forecasting screen(like dp in apo there is no Planning area to store data and no load planning area from cube,so please let me know how it will load data?)
2)How the Final demand will flow to DRP for further planning?
3)What is the exact purpose of BOD?
4)What is the leading indicator forecasting and the purpose?
5)Where data will store in SPP (forecasting and other data like liveache in dp)?
6)Product interchangeability and use?
6)Can you please forward the process document to understand the flow as i am not able understand the help document
Thanks for advance help
Regards
kkkHi,
Please check Service Part Supply Plan - Enterprise Services in SAP Advanced Planning and Optimization - SAP Library
BR -
What r the trns code for maintenance view, help view and projection view
hi all
what r the transaction code for maintenance view, help view and projection view
can anyone tell me how to create maitenance, help and projection view.
with an example
regs
hari<b>What is the Different Types and Usage of Views
The followings are different types of views:</b>
- <b>Database View (SE11)</b>
Database views are implement an inner join, that is, only records of the primary table (selected via the join operation) for which the corresponding records of the secondary tables also exist are fetched. Inconsistencies between primary and secondary table could, therefore, lead to a reduced selection set.
In database views, the join conditions can be formulated using equality relationships between any base fields. In the other types of view, they must be taken from existing foreign keys. That is, tables can only be collected in a maintenance or help view if they are linked to one another via foreign keys.
- <b>Help View ( SE54)</b>
Help views are used to output additional information when the online help system is called.
When the F4 button is pressed for a screen field, a check is first made on whether a matchcode is defined for this field. If this is not the case, the help view is displayed in which the check table of the field is the primary table. Thus, for each table no more than one help view can be created, that is, a table can only be primary table in at most one help view.
-<b> Projection View (SE11)</b>
Projection views are used to suppress or mask certain fields in a table (projection), thus minimizing the number of interfaces. This means that only the data that is actually required is exchanged when the database is accessed.
A projection view can draw upon only one table. Selection conditions cannot be specified for projection views.
<b>- Maintenance View ( SE54 )</b>
Maintenance views enable a business-oriented approach to looking at data, while at the same time, making it possible to maintain the data involved. Data from several tables can be summarized in a maintenance view and maintained collectively via this view. That is, the data is entered via the view and then distributed to the underlying tables by the system.
reward points if it is usefull...
Girish -
Help me for Patent a project for apple ?
hi
can u help me for witch one i contact to for Patent a project for apple ?
i made a thing fore apple iphone / ipod / ipad
i want to Patent it for apple
plz help me
somone like Bob Mansfield ?You could try old fashion mail, from the link above:
Apple
1 Infinite Loop
Cupertino, CA 95014
408.996.1010
It will be a tough sell. Apple tends to ignore unsolicited ideas.
You should patent your idea then submit it to industry so as not to loose credit for your idea.
Get a translator to go over your letter.
Robert -
How to find next number range for project definition in tcode CJ20N
Hai Experts,
Please help me 'How to find next number range for project definition in tcode "CJ20N". I was trying in function module NUMBER_GET_NEXT. Is it right function module? If its right what input i need to give for this tcode and for the field project definition?
Note: I searched in forum before posting, but couldn't find the solution.
Thanks
Regards,
Prabu S.Hi,
For project defination internal number is assigned by system.
When you saves's project then system allocate one number to project defination, you can view it,
SE11 >>> table PROJ >> Click on contents >>> execute,
here you will get your project defination & number is assigned to project defination.
kapil -
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 -
Moving avergae price updation in material master for project stock
Dear All,
My query is pertaining to updation of MAP( moving average price) for project specific procurement ( as project stock) for valuated project stock.
As definelty the cost of procurement gets consumed by project .but i want to know does the project stock procurement still updates the moving avergae price or not.
Ex:-Suppose MAP in material master is 10 USD ( with qty 1)and i procure the same material ( qty 1)for project with account assignment Q for 9 USD . now will the MAP in material master becomes 9.5 USD or it remains 10 usd.?
Please reply urgently
Regards
AmitHi Amit,
If your Project Stock is valuated, then, the valuation data for it is stored in a different table: QBEW.
The normal, anonymus warehouse stock (the unrestricted use stock which is not assigned to any project or to any sales order) has its valuation data stored in MBEW.
The "Accounting 1" view in the Material Master MM03 ONLY displays the data of MBEW.
In the material master you will never see the valuation data of the valuated project stock (table QBEW) or the valuated sales order stock (valuation indicator "M" - table EBEW).
The valuation data for the tables QBEW and EBEW can be seen in SE16 or in the transaction MBBS.
Also note that these valuated special stocks are managed independently of the normal stock. If, for example, you change the Moving Average Price of your normal stock in MBEW, this will not have any influence on your project stock, as the data is under a totally diferent table QBEW.
I hope this helps you,
Esther. -
COGS Value showing as null for Projects
Hi All,
We have a report called Revenue Report. In this report we track the revenue and cogs value for both OM orders and Projects. We are able to see th cogs value for OM order(i.e. sales order)but not for projects. We are using OOTB out of box mapping(i.e.SDE_ORA_GLCOGS) for populating cogs value.So we have approached oracle team to address this issue. Please find the below reply from Oracle. Can somebody help me how to calculate COGS value for projects.
BIApps 7.9.6.x do not support the integration of Project and COGS out of the box. If you have cogs trx from Projects and would like to extract these trx, you can customize the SDE sql.
[OOTB sql in SDE_ORA_GLCOGS]
WHERE
MMT.TRANSACTION_TYPE_ID IN (15, 33, 10008) AND
(MMT.TRANSACTION_ACTION_ID,MTA.ACCOUNTING_LINE_TYPE ) IN
((27, 2), (1, 36), (36, 35))
MMT : MTL_MATERIAL_TRANSACTIONS
MTA : MTL_TRANSACTION_ACCOUNTS
15 = RMA Receipt (Return Material Authorization)
33 = Sales order issue (Ship Confirm external Sales Order)
10008 = COGS Recognition
(27, 2) = (Receipt into stores, Account)
(1, 36) = (Issue from stores, Deferred Cost of Goods Sold)
(36, 35) = (COGS Recognition, Cost of Goods Sold)
These are OOTB default values to extract the cogs trx for sales order etc. These are configurable. You can add/modify these values as needed. You can check the OLTP MTL module for the meaning of each valuesPlease do not post duplicates -- COGS Value showing up as null Projects
-
Help needed Regarding Project Server - 2013 Workflow
Hi All,
I am new to Project server 2013 Workflow, hence please help me regarding this. Pardon me if this question is too trivial.
I have created a project type associated with a workflow and my workflow is as follows :
So I am not doing anything here, I am just testing the workflow as mentioned by technet site : http://technet.microsoft.com/en-us/library/dn458865(v=office.15).aspx
But it is mentioned that, after a minute or 2, the workflow state will change, also they have mentioned to press the Submit button.
But in my case, the workflow is not moving to next stage [It just says 'The workflow is still processing - which never changes after hours] or I am getting the submit button (Submit button is disabled on the ribbon). Below is the state of my workflow :
PS : I have made the user added to Portfolio managers group as well. But still I am having this same issue.
The Workflow manager is installed properly, and it is working fine in case of List workflow. I am facing the issue only wrt Site workflow for Project server 2013.
Please help me to solve this issue.
Thanks,
shankyHi Kiran,
I am now facing issue while assigning a task to a person in the workflow.
I am having a person named say 'John' , who is included in Project Manager as well as Portfolio Manager.
And I am using a workflow as :
Stage : Conceptual
Assign a task to John (Task outcome to Variable: Outcome5 | Task ID to Variable: TaskID3 )
Transition to stage
Go to Approval
But this is again giving issue as :
Workflow Internal status : Cancelled
Details: System.ApplicationException: HTTP 401 {"error":{"code":"-2147024891, System.UnauthorizedAccessException","message":{"lang":"en-US","value":"Access denied. You do not have
permission to perform this action or access this resource."}}}
PS : I have used the same Sharepoint admin account for 'Account Name' in ‘User Profile Sync' , Is this causing the issue? Please let me know.
Thanks,
Shanky -
Error while mantain budget for project
Hi,
I maintained budget for project CJ30 in IDES as follows:
1. Sellect all Item --> copy view --> choose planned total
2. Entry: Percentage = 100%, Overwrite option
2. All values is copied from Column Planned Total to column Budget
3. Save
4. Error message:
Item WBS element A-60000 budget exceeded
Message no. BP604
Diagnosis
In document item WBS element A-60000, budget for fiscal year 2008 was exceeded by 2.763,26 EUR.
can anybody help me to solve the problem?
Thank you
LongHai Long,
For getting BCWS , you should maintain Progress version. DO following in config settings..
1) Project Sys -
Progress -
Progress analysis -
Maintain Progress version.
2) Select Progress version 100 and copy the same and give new name.
3) Go to details.
4) Select option 3 ( if basis for Progress is Budget) 4 ( If it is planned cost) for Earned Value Basis.
5) Select option 2 ( if basis for Progress is Budget) 7 ( If it is planned cost) for POC weighting.
6) Save it.
7) In your project select Progress tab in detail screen of WBSE and Activity and select above Progress version, select select cost propotional ( Or as suitable for ur requirement) plan and actual ( it is adviseable to have plan and actual same always to have clarity in results)
8) Schedule and see report in CN41N.
Please post your observations
Thanks
Saikishore Ganga. -
Error running Execution plan for 'Project Analytics in PeopleSoft 9.0 '
Hi ,
I am running execution plan for Projects Peoplesoft 9.0 (BI Apps version 7.9.6)
The issue is the file type data source went thru the database (data warehouse)
the tasks that were completed SUCCESS were from the File source only from (SrcFiles).
error as below.
ANOMALY INFO::: Error while executing : INFORMATICA TASK:SDE_PSFT_90_Adaptor:SDE_PSFT_ExchangeRateDimension_Full:(Source : FULL Target : FULL)
MESSAGE:::
Irrecoverable Error
Error while contacting Informatica server for getting workflow status for SDE_PSFT_ExchangeRateDimension_Full
Error Code = 36331:Unknown reason for error code 36331
Pmcmd output :
one more info,if this helps
values defined in the Parameters of the execution plan.
1 DATASOURCE ,DBConnection_OLAP is 'DataWarehouse'
1 DATASOURCE ,DBConnection_OLTP is 'PSFT_9_0_FINSCM'
1 DATASOURCE ,FlatFileConnection is 'PSFT_9_0_FlatFile'
The 'Relational Connection' In Informatica Repository Manager is currently pointing to only 'PSFT_9_0_FINSCM'
& 'DataWarehouse'
Please let me know what is wrong?
Regards,
JKHi ,
I created the PSFT connection in 'Applicaiton connection' of Repository manager.
Also the Informatica server's tnsnames.ora should have entry for the source( PSFT database) and that of the datawarehouse.
thanks,
JK
Maybe you are looking for
-
This evening I installed the Mac OS 10.6.8 security update 2012-004. I'm posting this to see if others have the same problem, plus to find out if there's a way to uninstall a security update. All was fine before the update, but now iTunes 10.7 won't
-
Datagrid itemRenderer checkbox
Hi, I have datagrid control in my application and I use itemRenderer to render some data received from webservice. Works just fine but I would like to disable changing state of checkbox. I am using checkbox renderer just to show data more user friend
-
Camera card reader that works with video iPod
I have tried a San Disk, Lexar, and another card reader, but can't find one that is supported by the camera connector. It works fine with my Nikon D100, but that is USB 1.1 and I am looking for a faster download using a USB 2.0 card reader. The on-li
-
BPX - Enablers (what to ask about in the interview for a BPX role)
Following a conversation at TechEd at the SDN Clubhouse <a href="/people/owen.pettiford3/blog/2006/10/18/bpx-150-key-enablers Enablers</a>. It occurred to me that to be a successful BPX sandwiched between the Technology Architects, the business proce
-
I am new to JDEV Extensions. We are working on a project that requires to create a GUI designe time component where the user will be able to select items from the component gallery (custom items) and then drag it to the canvas. They should be able to