WARNING: Problem validating implementation class. Exception declaration mis
I have created sample class using JDevStudio10.1.3
Added method getX() throws Ex (Ex implements Exception)
Select class and generated J2EE 1.4 RPC webservices
Got the warning :
Generating WSDL and mapping file
WARNING: Problem validating implementation class. Exception declaration mismatch between Implementation: mypackage.Class3 and Interface: mypackage.MyWebService3. Impl class Method: X declares exceptions not declared by the interface (mypackage.Exp)
Now When I generated client proxy from the wsdl generated, Ex class is not getting generated.
Can some one help me please.
Thanks in advance
If you are using Ex in the implemetation class, make sure that you also include the same in the interface (or SEI).
If the implementation looks something like:
public void doSomething() throws Ex {
System.out.println("Is there something to do, now ?");
then the SEI should be:
public void doSomething() throws Ex, RemoteException;
If your have ommited Ex, then you will have the warning you are seing, and there wont be any artifact generated for Ex in the WSDL.
Because the Ex exception was not mapped to any WSDL artifact, there is no way you will see the Ex exception generated on the client side (or proxy).
I have been able to reproduce your error message, so you should be all good.
WARNING: Problem validating implementation class. Exception declaration mismatch between Implementation: bugyyy.MyServiceImpl and Interface: bugyyy.MyWebService. Impl class Method: doSomething declares exceptions not declared by the interface (bugyyy.Ex)
Hope this helps,
Eric
Similar Messages
-
WARNING: Problem validating implementation class. Failed to load class:
when i am running plsqlAssembler.jar file for wsa.jar with all other atributes , i am getting this warning WARNING: Problem validating implementation class. Failed to load class.
Please if anybody knows about this reply me,
thanks in advance.If you are using Ex in the implemetation class, make sure that you also include the same in the interface (or SEI).
If the implementation looks something like:
public void doSomething() throws Ex {
System.out.println("Is there something to do, now ?");
then the SEI should be:
public void doSomething() throws Ex, RemoteException;
If your have ommited Ex, then you will have the warning you are seing, and there wont be any artifact generated for Ex in the WSDL.
Because the Ex exception was not mapped to any WSDL artifact, there is no way you will see the Ex exception generated on the client side (or proxy).
I have been able to reproduce your error message, so you should be all good.
WARNING: Problem validating implementation class. Exception declaration mismatch between Implementation: bugyyy.MyServiceImpl and Interface: bugyyy.MyWebService. Impl class Method: doSomething declares exceptions not declared by the interface (bugyyy.Ex)
Hope this helps,
Eric -
Invalid Class Exception problem
Hi whenever i try to run this method from a different class to the one it is declared in it throws invalid class exception, (in its error it says the class this method is written in is the problem) yet when i run it from its own class in a temporary main it works fine, perhaps someone can see the problem in the method code. All its doing is reading from a few different txt files, deserializing the objects and putting them into arraylists for future access.
public void readCourseData()
CourseArrayLengths cal;
try
FileInputStream fis = new FileInputStream("arraylengths.txt");
ObjectInputStream ois = new ObjectInputStream(fis);
cal = ((CourseArrayLengths) ois.readObject());
ois.close();
FileInputStream fis1 = new FileInputStream("units.txt");
ObjectInputStream ois1 = new ObjectInputStream(fis1);
for(int i=0;i<cal.getUnitArrayLength();i++)
units.add((Unit) ois1.readObject());
ois1.close();
FileInputStream fis2 = new FileInputStream("sections.txt");
ObjectInputStream ois2 = new ObjectInputStream(fis2);
for(int i=0;i<cal.getSectionArrayLength();i++)
sections.add((Section) ois2.readObject());
ois2.close();
FileInputStream fis3 = new FileInputStream("files.txt");
ObjectInputStream ois3 = new ObjectInputStream(fis3);
for(int i=0;i<cal.getFileArrayLength();i++)
files.add((Filetype) ois3.readObject());
ois3.close();
catch(FileNotFoundException exception)
System.out.println("The File was not found");
catch(IOException exception)
System.out.println(exception);
catch(ClassNotFoundException exception)
System.out.println(exception);
}import java.util.ArrayList;
import java.io.*;
import javax.swing.*;
public class Unit implements Serializable
ArrayList units = new ArrayList();
ArrayList sections = new ArrayList();
ArrayList files = new ArrayList();
String unitName;
int sStart=0,sEnd=0,sIndex=0,fIndex=0,subIndex=0;
public Unit(String unitNamec,int sStartc,int sEndc)
unitName = unitNamec;
sStart = sStartc;
sEnd = sEndc;
public Unit()
public String getUnitName()
return unitName;
public Unit getUnit(int i)
return (Unit)units.get(i);
public Section getSection(int i)
return (Section)sections.get(i);
public ArrayList getUnitArray()
return units;
public int getSectionStart()
return sStart;
public int getSectionEnd()
return sEnd;
public void setSectionStart(int i)
sStart = i;
public void setSectionEnd(int i)
sEnd = i;
public void addUnit(String uName)
units.add(new Unit(uName,sections.size(),sIndex));
sIndex++;
public void addSection(String sName,Unit u)
//problem lies with files.size()
sections.add(new Section(sName,files.size(),files.size()));
u.setSectionEnd(u.getSectionEnd()+1);
//fIndex++;
public void addFile(String fName,File fPath,Section s)
files.add(new Filetype(fName,fPath));
s.setFileEnd(s.getFileEnd()+1);
public void display(Unit u)
System.out.println(u.getUnitName());
for(int i=u.getSectionStart();i<u.getSectionEnd();i++)
System.out.println(((Section)sections.get(i)).getSectName());
for(int j=((Section)(sections.get(i))).getFileStart();j<((Section)(sections.get(i))).getFileEnd();j++)
System.out.println(((Filetype)files.get(j)).getFileName());
public void writeCourseData()
//writes 3 arrays to 3 different files
try
FileOutputStream fos = new FileOutputStream("units.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
for(int i=0;i<units.size();i++)
oos.writeObject((Unit)units.get(i));
oos.close();
catch (Exception e)
System.err.println ("Error writing to file");
try
FileOutputStream fos = new FileOutputStream("sections.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
for(int i=0;i<sections.size();i++)
oos.writeObject((Section)sections.get(i));
oos.close();
catch (Exception e)
System.err.println ("Error writing to file");
try
FileOutputStream fos = new FileOutputStream("files.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
for(int i=0;i<files.size();i++)
oos.writeObject((Filetype)files.get(i));
oos.close();
catch (Exception e)
System.err.println ("Error writing to file");
try
FileOutputStream fos = new FileOutputStream("arraylengths.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(new CourseArrayLengths(units.size(),sections.size(),files.size()));
oos.close();
catch (Exception e)
System.err.println ("Error writing to file");
public void readCourseData()
CourseArrayLengths cal;
try
FileInputStream fis = new FileInputStream("arraylengths.txt");
ObjectInputStream ois = new ObjectInputStream(fis);
cal = ((CourseArrayLengths) ois.readObject());
ois.close();
FileInputStream fis1 = new FileInputStream("units.txt");
ObjectInputStream ois1 = new ObjectInputStream(fis1);
for(int i=0;i<cal.getUnitArrayLength();i++)
units.add((Unit) ois1.readObject());
ois1.close();
FileInputStream fis2 = new FileInputStream("sections.txt");
ObjectInputStream ois2 = new ObjectInputStream(fis2);
for(int i=0;i<cal.getSectionArrayLength();i++)
sections.add((Section) ois2.readObject());
ois2.close();
FileInputStream fis3 = new FileInputStream("files.txt");
ObjectInputStream ois3 = new ObjectInputStream(fis3);
for(int i=0;i<cal.getFileArrayLength();i++)
files.add((Filetype) ois3.readObject());
ois3.close();
catch(FileNotFoundException exception)
System.out.println("The File was not found");
catch(IOException exception)
System.out.println(exception);
catch(ClassNotFoundException exception)
System.out.println(exception);
/*public static void main(String args[])
Unit u1 = new Unit();
u1.addUnit("Cmps2a22");
u1.addSection("Section1",u1.getUnit(0));
//u1.addSubSection("Subsect1",u1.getSection(0));
u1.addFile("File1",null,u1.getSection(0));
u1.addFile("File2",null,u1.getSection(0));
u1.addSection("Section2",u1.getUnit(0));
u1.addFile("NF",null,u1.getSection(1));
u1.addFile("NF2",null,u1.getSection(1));
u1.addFile("NF3",null,u1.getSection(1));
u1.addSection("Section3",u1.getUnit(0));
u1.addFile("NF",null,u1.getSection(2));
u1.addFile("NF2",null,u1.getSection(2));
u1.addFile("NF4",null,u1.getSection(2));
u1.display(u1.getUnit(0));
u1.writeCourseData();
u1.readCourseData();
u1.display(u1.getUnit(0));
import java.util.ArrayList;
import java.io.*;
public class Section implements Serializable
private String sectName,subSectName;
private int fpStart=0,fpEnd=0,subSectStart=0,subSectEnd=0;
private Section s;
private boolean sub;
public Section(String sectNamec,int fpStartc,int fpEndc,int subSectStartc,int subSectEndc,Section sc,boolean subc)
sectName = sectNamec;
fpStart = fpStartc;
fpEnd = fpEndc;
subSectStart = subSectStartc;
subSectEnd = subSectEndc;
s = sc;
sub = subc;
public Section(String sectNamec,int fpStartc,int fpEndc)
sectName = sectNamec;
fpStart = fpStartc;
fpEnd = fpEndc;
public Section getParent()
return s;
public boolean isSub()
return sub;
public String getSubName()
return subSectName;
public int getSubStart()
return subSectStart;
public int getSubEnd()
return subSectEnd;
public void setSubStart(int i)
subSectStart = i;
public void setSubEnd(int i)
subSectEnd = i;
public int getFileStart()
return fpStart;
public int getFileEnd()
return fpEnd;
public String getSectName()
return sectName;
public void setFileStart(int i)
fpStart = i;
public void setFileEnd(int i)
fpEnd = i;
public void addSection(String sectName)
/*public static void main(String args[])
import java.io.*;
public class Filetype implements Serializable
private String name;
private File filepath;
public Filetype(String namec, File filepathc)
name = namec;
filepath = filepathc;
public String getFileName()
return name;
public File getFilepath()
return filepath;
import java.io.*;
public class CourseArrayLengths implements Serializable
private int ul,sl,fl;
public CourseArrayLengths(int ulc,int slc,int flc)
ul = ulc;
sl = slc;
fl = flc;
public int getUnitArrayLength()
return ul;
public int getSectionArrayLength()
return sl;
public int getFileArrayLength()
return fl;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.io.*;
public class OrganiserGui implements ActionListener
int width,height;
JFrame frame;
public OrganiserGui()
width = 600;
height = 500;
public void runGui()
//Frame sizes and location
frame = new JFrame("StudentOrganiser V1.0");
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
frame.setSize(width,height);
frame.setLocation(60,60);
JMenuBar menuBar = new JMenuBar();
//File menu
JMenu fileMenu = new JMenu("File");
menuBar.add(fileMenu);
fileMenu.addSeparator();
JMenu addSubMenu = new JMenu("Add");
fileMenu.add(addSubMenu);
JMenuItem cwk = new JMenuItem("Coursework assignment");
addSubMenu.add(cwk);
JMenuItem lecture = new JMenuItem("Lecture");
lecture.addActionListener(this);
addSubMenu.add(lecture);
JMenuItem seminar = new JMenuItem("Seminar sheet");
addSubMenu.add(seminar);
//Calendar menu
JMenu calendarMenu = new JMenu("Calendar");
menuBar.add(calendarMenu);
calendarMenu.addSeparator();
JMenu calendarSubMenu = new JMenu("Edit Calendar");
calendarMenu.add(calendarSubMenu);
JMenuItem eventa = new JMenuItem("Add/Remove Event");
eventa.addActionListener(this);
calendarSubMenu.add(eventa);
JMenuItem calClear = new JMenuItem("Clear Calendar");
calClear.addActionListener(this);
calendarSubMenu.add(calClear);
JMenu calendarSubMenuView = new JMenu("View");
calendarMenu.add(calendarSubMenuView);
JMenuItem year = new JMenuItem("By Year");
year.addActionListener(this);
calendarSubMenuView.add(year);
JMenuItem month = new JMenuItem("By Month");
month.addActionListener(this);
calendarSubMenuView.add(month);
JMenuItem week = new JMenuItem("By Week");
week.addActionListener(this);
calendarSubMenuView.add(week);
//Timetable menu
JMenu timetableMenu = new JMenu("Timetable");
menuBar.add(timetableMenu);
timetableMenu.addSeparator();
JMenu stimetableSubMenu = new JMenu("Social Timetable");
timetableMenu.add(stimetableSubMenu);
JMenu ltimetableSubMenu = new JMenu("Lecture Timetable");
timetableMenu.add(ltimetableSubMenu);
frame.setJMenuBar(menuBar);
frame.setVisible(true);
public void actionPerformed(ActionEvent e)
JMenuItem source = (JMenuItem)(e.getSource());
System.out.println(source.getText());
Calendar c = new Calendar();
if(source.getText().equalsIgnoreCase("By Year"))
System.out.println("INSIDE");
c.buildArray();
c.calendarByYear(Calendar.calendarArray);
if(source.getText().equalsIgnoreCase("Add/Remove Event"))
c.eventInput();
if(source.getText().equalsIgnoreCase("clear calendar"))
c.buildYear();
c.writeEvent(Calendar.calendarArray);
c.buildArray();
if(source.getText().equalsIgnoreCase("lecture"))
System.out.println("Nearly working");
//JFileChooser jf = new JFileChooser();
//jf.showOpenDialog(frame);
FileManager fm = new FileManager();
//choose unit to add file to
JOptionPane unitOption = new JOptionPane();
Unit u = new Unit();
u.readCourseData();
//u.display(u.getUnit(0));
System.out.println((u.getUnit(0)).getUnitName());
String[] unitNames = new String[u.getUnitArray().size()];
for(int i=0;i<unitNames.length;i++)
//unitNames[i] = (((Unit)u.getUnitArray().get(i)).getUnitName());
//System.out.println(unitNames);
System.out.println((u.getUnit(i)).getUnitName());
//unitOption.showInputDialog("Select Unit to add lecture to",unitNames);
//needs to select where to store it
//fm.openFile(jf.getSelectedFile());
public static void main(String args[])
OrganiserGui gui = new OrganiserGui();
gui.runGui();
java.io.invalidclassexception: Unit; local class incompatible: stream classdesc serialversionUID = 3355176005651395533, local class serialversionUID = 307309993874795880 -
Receiving the warning of class forward declaration
I am trying to build the Clustering Plug in project on my Leopard. I have following 2 queries -
In that project an interface class is defined as
@interface ClusteringController : NSWindowController { ....... ..... .... } @end.
And this class is used in implementation class using forward declaration as follows
@class ClusteringController;
then in one fuction it is used as follows
(long) filterImage:(NSString*) menuName {
ClusteringController *cluster = [[ClusteringController alloc] init]; [cluster showWindow:self]; return 0; }
When i try to build this project it showing a warning as follows
warning: receiver 'ClusteringController' is a forward class and corresponding @interface may not exist
Also there is 1 more warning is coming
warning: no '-updateProxyWhenReconnect' method found
This warning is coming for the following line of code
if(delegate) [delegate updateProxyWhenReconnect];
Can anybody help me to overcome these warnings?shaktirsg wrote:
And this class is used in implementation class using forward declaration as follows
@class ClusteringController;
An implementation requires an #import of the entire interface file for any class used in the code. As a rule:
Use @class when a class is used in an @interface
Use #import when a class is used in an @implementation
if(delegate) \[delegate updateProxyWhenReconnect\];
warning: no '- updateProxyWhenReconnect' method found
It looks like the compiler doesn't know the class of 'delegate'. Can we see the code that sets the 'delegate' variable? Also please let us know where updateProxyWhenReconnect is declared. Is it declared in the interface for the class to which 'delegate' belongs? If so, it might be good for us to also see that @interface file.
\- Ray -
How to resolve preverifying class exception while building
Hi,
I am new to J2ME, i am getting preverifying class exception when ever building a application using Wireless Toolkit 2.1, JDK1.5, CLDC 1.1.
actually i need to run web application on mobiles (PDA), can any one suggests how to resolve the above exception and what are the jar files required in classpath.
Please let me know.
Thanks
ST_Reddy.Then leave it as it is. If the method doesn't throw the exception it is not a problem.
If you need to throw the exception in some rare cases, then throw RuntimeException. It is not required to declare such exception in interface. -
A problem while implementing a file to file senario
hi all :
There is some problem while implement a file to file senario. the file couldn't be sent or recieved.
and as I try to check Check the Sender File Adapter Status via
Runtime Workbench -> Component Monitoring -> Communication Channel Monitoring ,
It is found that Adapter Engine has error status with red light. Is it why the file couldn't be sent?
Could you please tell me how to make Adapter Engine available?
Thank you very much!!!Hi Sony
Error getting JPR configuration from SLD. Exception: No entity of class SAP_BusinessSystem for EC1.SystemHome.cnbjw3501 found
No access to get JPR configuration
Along with what experts suggested
What is the type of Business system is this. Standalone Java?
JPR can have problem if you have a business system thats not ABAP/Java type if this system is not having a SAP TS in landscape then create Java type.
Thanks
Gaurav -
Problems Validating an Attribute of type oracle.jbo.domain.date
I have a form that has a date input field. I am trying to customise the exception error for this field for when the user enters something other than my dd/MM/yyyy format. ie JBO-25009: oracle.jbo.domain.DataCreationException
This Attribute uses a the oracle.jbo.domain.date data type. An exception is finally thrown when the transaction trys to commit.
My problem is that I can't customise the exception because I can't catch where it is occuring. I have tried at the <setAttributeInternal>, <setAttribute> and <validateEntity> levels uses both try{}catch(Jbo Exception){} and try{}catch(AttrValException){}. I believe the reason for this is because the problem occurs because the parse value to functions are invalid dates so it never enters them.
If this is true validation and any exception thrown should occur at the data type level, but the the oracle.jbo.domain.date class doesn't have a validate method.
Can someone please help me get around this problem. Or tell me if the have a solution for date input validation.The usecase is as follows:
I have a DynaAction Form with a input field for a date value. This field in the form is associated with an entity attribute that is of the type oracle.jbo.domain.date
In the message bundle for this entity I specify a format (dd/MM/yyyy) and formatter for the field (oracle.jbo.format.DefaultDateFormatter). In the jsp page I display the field using the following tag within the <jbo:row> tags,
<jbo:InputDate dataitem="ChangeDate" formname="ApplicationReleaseForm"/>
The date picker script works well here and the formatter formats it correctly.
My error occurs when an invalid date value is entered. Ie characters like "abc" or numeric values that don't match a date format ie my date format (dd/MM/yyyy) or the default format of the jbo.domain.date type(yyyy-MM-dd).
On submitting my form the input is posted to an action that extends the Update action class. I use the following expression to cache the input from the form in the viewobject:
ActionForward actionForward = super.execute(mapping,form,request,response);
The invalid input appears to be able to slip through this call without causing an exception, unless I make the attribute manditory. In this case an exception is thrown causing the form to be returned and the mandatory value error message to be shown.
If the attribute is not mandatory the exception is not thrown until I make a call to commit; eg
context.getApplicationModule().getTransaction().commit();
The DataCreationException is the initial exception that is caught and causes the rest of the transaction to fall over.
It is my understanding that if the input is wrong then it should be picked up when the form data is pushed into the viewobject, ie in the call to execute and at the setAttributeInternal() method call for the attribute in the viewobject. I don't believe that the input gets this far as the input is not a valid date, indicating to me that the oracle.jbo.domain.date should be the object throwing the exception.
I hope this gives you a better understanding of the process and where and what causes the problem to occur. -
How to implement classes with alv's
hi
how to implement classes with alv'sHi Jyotsna,
check this example codes.
*"Table declarations...................................................
TABLES:
EKKO, " Purchasing Document Header
CDHDR, " Change document header
SSCRFIELDS. " Fields on selection screens
*"Selection screen elements............................................
SELECT-OPTIONS:
S_EBELN FOR EKKO-EBELN, " Purchasing Document Number
S_LIFNR FOR EKKO-LIFNR, " Vendor's account number
S_EKGRP FOR EKKO-EKGRP, " Purchasing group
S_BEDAT FOR EKKO-BEDAT, " Purchasing Document Date
S_UDATE FOR CDHDR-UDATE. " Creation date of the change
" document
*" Data declarations...................................................
Field String to hold Purchase Document Number *
DATA:
BEGIN OF FS_EBELN,
EBELN(90) TYPE C, " Purchase Document Number
ERNAM TYPE EKKO-ERNAM, " Name of Person who Created
" the Object
LIFNR TYPE EKKO-LIFNR, " Vendor's account number
EKGRP TYPE EKKO-EKGRP, " Purchasing group
BEDAT TYPE EKKO-BEDAT, " Purchasing Document Date
END OF FS_EBELN,
Field String to hold Purchase Document Header *
BEGIN OF FS_EKKO,
EBELN TYPE EKKO-EBELN, " Purchasing Document Number
ERNAM TYPE EKKO-ERNAM, " Name of Person who Created the
" Object
LIFNR TYPE EKKO-LIFNR, " Vendor's account number
EKGRP TYPE EKKO-EKGRP, " Purchasing group
BEDAT TYPE EKKO-BEDAT, " Purchasing Document Date
END OF FS_EKKO,
Field String to hold Account Number and name of the Vendor *
BEGIN OF FS_LFA1,
LIFNR TYPE LFA1-LIFNR, " Account Number of Vendor
NAME1 TYPE LFA1-NAME1, " Name1
END OF FS_LFA1,
Field String to hold Change date and the name of the user *
BEGIN OF FS_CDHDR,
OBJECTCLAS TYPE CDHDR-OBJECTCLAS, " Object Class
OBJECTID TYPE CDHDR-OBJECTID, " Object value
CHANGENR TYPE CDHDR-CHANGENR, " Document change number
USERNAME TYPE CDHDR-USERNAME, " User name
UDATE TYPE CDHDR-UDATE, " Creation date of the change
" document
END OF FS_CDHDR,
Field String to hold Change document items *
BEGIN OF FS_CDPOS,
OBJECTCLAS TYPE CDPOS-OBJECTCLAS," Object class
OBJECTID(10) TYPE C, " Object Value
CHANGENR TYPE CDPOS-CHANGENR, " Document change number
TABNAME TYPE CDPOS-TABNAME, " Table Name
FNAME TYPE CDPOS-FNAME, " Field Name
VALUE_NEW TYPE CDPOS-VALUE_NEW, " New contents of changed field
VALUE_OLD TYPE CDPOS-VALUE_OLD, " Old contents of changed field
END OF FS_CDPOS,
Field String to hold Date Element Name *
BEGIN OF FS_DATAELE,
TABNAME TYPE DD03L-TABNAME, " Table Name
FIELDNAME TYPE DD03L-FIELDNAME, " Field Name
ROLLNAME TYPE DD03L-ROLLNAME, " Data element (semantic domain)
END OF FS_DATAELE,
Field String to hold Short Text of the Date Element *
BEGIN OF FS_TEXT,
ROLLNAME TYPE DD04T-ROLLNAME, " Data element (semantic domain)
DDTEXT TYPE DD04T-DDTEXT, " Short Text Describing R/3
" Repository Objects
END OF FS_TEXT,
Field String to hold data to be displayed on the ALV grid *
BEGIN OF FS_OUTTAB,
EBELN TYPE EKKO-EBELN, " Purchasing Document Number
ERNAM TYPE EKKO-ERNAM, " Name of Person who Created the
" Object
LIFNR TYPE EKKO-LIFNR, " Vendor's account number
EKGRP TYPE EKKO-EKGRP, " Purchasing group
BEDAT TYPE EKKO-BEDAT, " Purchasing Document Date
WERKS TYPE LFA1-WERKS, " Plant
NAME1 TYPE LFA1-NAME1, " Name1
USERNAME TYPE CDHDR-USERNAME, " User name
UDATE TYPE CDHDR-UDATE, " Creation date of the change
" document
DDTEXT TYPE DD04T-DDTEXT, " Short Text Describing R/3
" Repository Objects
VALUE_NEW TYPE CDPOS-VALUE_NEW, " New contents of changed field
VALUE_OLD TYPE CDPOS-VALUE_OLD, " Old contents of changed field
END OF FS_OUTTAB,
Internal table to hold Purchase Document Number *
T_EBELN LIKE STANDARD TABLE
OF FS_EBELN,
Internal table to hold Purchase Document Header *
T_EKKO LIKE STANDARD TABLE
OF FS_EKKO,
Temp Internal table to hold Purchase Document Header *
T_EKKO_TEMP LIKE STANDARD TABLE
OF FS_EKKO,
Internal table to hold Account number and Name of the Vendor *
T_LFA1 LIKE STANDARD TABLE
OF FS_LFA1,
Internal Table to hold Change date and the name of the user *
T_CDHDR LIKE STANDARD TABLE
OF FS_CDHDR,
Internal Table to hold Change document items *
T_CDPOS LIKE STANDARD TABLE
OF FS_CDPOS,
Temp. Internal Table to hold Change document items *
T_CDPOS_TEMP LIKE STANDARD TABLE
OF FS_CDPOS,
Internal Table to hold Data Element Name *
T_DATAELE LIKE STANDARD TABLE
OF FS_DATAELE,
Temp. Internal Table to hold Data Element Name *
T_DATAELE_TEMP LIKE STANDARD TABLE
OF FS_DATAELE,
Internal Table to hold Short Text of the Date Element *
T_TEXT LIKE STANDARD TABLE
OF FS_TEXT,
Internal Table to hold data to be displayed on the ALV grid *
T_OUTTAB LIKE STANDARD TABLE
OF FS_OUTTAB.
C L A S S D E F I N I T I O N *
CLASS LCL_EVENT_HANDLER DEFINITION DEFERRED.
*" Data declarations...................................................
Work variables *
DATA:
W_EBELN TYPE EKKO-EBELN, " Purchasing Document Number
W_LIFNR TYPE EKKO-LIFNR, " Vendor's account number
W_EKGRP TYPE EKKO-EKGRP, " Purchasing group
W_VALUE TYPE EKKO-EBELN, " Reflected Value
W_SPACE VALUE ' ', " Space
W_FLAG TYPE I, " Flag Variable
W_VARIANT TYPE DISVARIANT, " Variant
ALV Grid
W_GRID TYPE REF TO CL_GUI_ALV_GRID,
Event Handler
W_EVENT_CLICK TYPE REF TO LCL_EVENT_HANDLER,
Field catalog table
T_FIELDCAT TYPE LVC_T_FCAT.
AT SELECTION-SCREEN EVENT *
AT SELECTION-SCREEN ON S_EBELN.
Subroutine to validate Purchase Document Number.
PERFORM VALIDATE_PD_NUM.
AT SELECTION-SCREEN ON S_LIFNR.
Subroutine to validate Vendor Number.
PERFORM VALIDATE_VEN_NUM.
AT SELECTION-SCREEN ON S_EKGRP.
Subroutine to validate Purchase Group.
PERFORM VALIDATE_PUR_GRP.
START-OF-SELECTION EVENT *
START-OF-SELECTION.
Subroutine to select all Purchase orders.
PERFORM SELECT_PO.
CHECK W_FLAG EQ 0.
Subroutine to select Object values.
PERFORM SELECT_OBJ_ID.
CHECK W_FLAG EQ 0.
Subroutine to select Changed values.
PERFORM SELECT_CHANGED_VALUE.
CHECK W_FLAG EQ 0.
Subroutine to Select Purchase Orders.
PERFORM SELECT_PUR_DOC.
Subroutine to select Vendor Details.
PERFORM SELECT_VENDOR.
Subroutine to select Text for the Changed values.
PERFORM DESCRIPTION.
END-OF-SELECTION EVENT *
END-OF-SELECTION.
IF NOT T_EKKO IS INITIAL.
Subroutine to populate the Output Table.
PERFORM FILL_OUTTAB.
Subroutine to build Field Catalog.
PERFORM PREPARE_FIELD_CATALOG CHANGING T_FIELDCAT.
CALL SCREEN 100.
ENDIF. " IF NOT T_EKKO...
CLASS LCL_EVENT_HANDLER DEFINITION
Defining Class which handles events
CLASS LCL_EVENT_HANDLER DEFINITION .
PUBLIC SECTION .
METHODS:
HANDLE_HOTSPOT_CLICK
FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID
IMPORTING E_ROW_ID E_COLUMN_ID.
ENDCLASS. " LCL_EVENT_HANDLER DEFINITION
CLASS LCL_EVENT_HANDLER IMPLEMENTATION
Implementing the Class which can handle events
CLASS LCL_EVENT_HANDLER IMPLEMENTATION .
*---Handle Double Click
METHOD HANDLE_HOTSPOT_CLICK .
Subroutine to get the HotSpot Cell information.
PERFORM GET_CELL_INFO.
SET PARAMETER ID 'BES' FIELD W_VALUE.
CALL TRANSACTION 'ME23N'.
ENDMETHOD. " HANDLE_HOTSPOT_CLICK
ENDCLASS. " LCL_EVENT_HANDLER
*& Module STATUS_0100 OUTPUT
PBO Event
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'OOPS'.
SET TITLEBAR 'TIT'.
Subroutine to fill the Variant Structure
PERFORM FILL_VARIANT.
IF W_GRID IS INITIAL.
CREATE OBJECT W_GRID
EXPORTING
I_SHELLSTYLE = 0
I_LIFETIME =
I_PARENT = CL_GUI_CONTAINER=>SCREEN0
I_APPL_EVENTS =
I_PARENTDBG =
I_APPLOGPARENT =
I_GRAPHICSPARENT =
I_NAME =
I_FCAT_COMPLETE = SPACE
EXCEPTIONS
ERROR_CNTL_CREATE = 1
ERROR_CNTL_INIT = 2
ERROR_CNTL_LINK = 3
ERROR_DP_CREATE = 4
OTHERS = 5.
IF SY-SUBRC 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF. " IF SY-SUBRC 0
CALL METHOD W_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_BUFFER_ACTIVE =
I_BYPASSING_BUFFER =
I_CONSISTENCY_CHECK =
I_STRUCTURE_NAME =
IS_VARIANT = W_VARIANT
I_SAVE = 'A'
I_DEFAULT = 'X'
IS_LAYOUT =
IS_PRINT =
IT_SPECIAL_GROUPS =
IT_TOOLBAR_EXCLUDING =
IT_HYPERLINK =
IT_ALV_GRAPHICS =
IT_EXCEPT_QINFO =
IR_SALV_ADAPTER =
CHANGING
IT_OUTTAB = T_OUTTAB
IT_FIELDCATALOG = T_FIELDCAT
IT_SORT =
IT_FILTER =
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
OTHERS = 4
IF SY-SUBRC 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF. " IF SY-SUBRC 0.
ENDIF. " IF W_GRID IS INITIAL
CREATE OBJECT W_EVENT_CLICK.
SET HANDLER W_EVENT_CLICK->HANDLE_HOTSPOT_CLICK FOR W_GRID.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
PAI Event
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN 'CANCEL'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form PREPARE_FIELD_CATALOG
Subroutine to build the Field catalog
<--P_T_FIELDCAT Field Catalog Table
FORM PREPARE_FIELD_CATALOG CHANGING PT_FIELDCAT TYPE LVC_T_FCAT .
DATA LS_FCAT TYPE LVC_S_FCAT.
Purchasing group...
LS_FCAT-FIELDNAME = 'EKGRP'.
LS_FCAT-REF_TABLE = 'EKKO'.
LS_FCAT-INTTYPE = 'C'.
LS_FCAT-OUTPUTLEN = '10'.
APPEND LS_FCAT TO PT_FIELDCAT.
CLEAR LS_FCAT.
Purchasing Document Number...
LS_FCAT-FIELDNAME = 'EBELN'.
LS_FCAT-REF_TABLE = 'EKKO' .
LS_FCAT-EMPHASIZE = 'C411'.
LS_FCAT-INTTYPE = 'C'.
LS_FCAT-OUTPUTLEN = '10'.
LS_FCAT-HOTSPOT = 'X'.
APPEND LS_FCAT TO PT_FIELDCAT .
CLEAR LS_FCAT .
Name of Person who Created the Object...
LS_FCAT-FIELDNAME = 'ERNAM'.
LS_FCAT-REF_TABLE = 'EKKO'.
LS_FCAT-OUTPUTLEN = '15' .
APPEND LS_FCAT TO PT_FIELDCAT.
CLEAR LS_FCAT.
Purchasing Document Date...
LS_FCAT-FIELDNAME = 'BEDAT'.
LS_FCAT-REF_TABLE = 'EKKO'.
LS_FCAT-INTTYPE = 'C'.
LS_FCAT-OUTPUTLEN = '10'.
APPEND LS_FCAT TO PT_FIELDCAT.
CLEAR LS_FCAT.
Vendor's account number...
LS_FCAT-FIELDNAME = 'LIFNR'.
LS_FCAT-REF_TABLE = 'EKKO'.
LS_FCAT-INTTYPE = 'C'.
LS_FCAT-OUTPUTLEN = '10'.
APPEND LS_FCAT TO PT_FIELDCAT.
CLEAR LS_FCAT.
Account Number of Vendor or Creditor...
LS_FCAT-FIELDNAME = 'NAME1'.
LS_FCAT-REF_TABLE = 'LFA1'.
LS_FCAT-INTTYPE = 'C'.
LS_FCAT-OUTPUTLEN = '10'.
LS_FCAT-COLTEXT = 'Vendor Name'(001).
LS_FCAT-SELTEXT = 'Vendor Name'(001).
APPEND LS_FCAT TO PT_FIELDCAT.
CLEAR LS_FCAT.
Creation date of the change document...
LS_FCAT-FIELDNAME = 'UDATE'.
LS_FCAT-REF_TABLE = 'CDHDR'.
LS_FCAT-INTTYPE = 'C'.
LS_FCAT-OUTPUTLEN = '10'.
LS_FCAT-COLTEXT = 'Change Date'(002).
LS_FCAT-SELTEXT = 'Change Date'(002).
APPEND LS_FCAT TO PT_FIELDCAT.
CLEAR LS_FCAT.
User name of the person responsible in change document...
LS_FCAT-FIELDNAME = 'USERNAME'.
LS_FCAT-REF_TABLE = 'CDHDR'.
LS_FCAT-INTTYPE = 'C'.
LS_FCAT-OUTPUTLEN = '10'.
LS_FCAT-COLTEXT = 'Modified by'(003).
LS_FCAT-SELTEXT = 'Modified by'(003).
APPEND LS_FCAT TO PT_FIELDCAT.
CLEAR LS_FCAT.
Short Text Describing R/3 Repository Objects...
LS_FCAT-FIELDNAME = 'DDTEXT'.
LS_FCAT-REF_TABLE = 'DD04T'.
LS_FCAT-INTTYPE = 'C'.
LS_FCAT-OUTPUTLEN = '15'.
APPEND LS_FCAT TO PT_FIELDCAT.
CLEAR LS_FCAT.
Old contents of changed field...
LS_FCAT-FIELDNAME = 'VALUE_OLD'.
LS_FCAT-REF_TABLE = 'CDPOS'.
LS_FCAT-INTTYPE = 'C'.
LS_FCAT-OUTPUTLEN = '12'.
APPEND LS_FCAT TO PT_FIELDCAT.
CLEAR LS_FCAT.
New contents of changed field...
LS_FCAT-FIELDNAME = 'VALUE_NEW'.
LS_FCAT-REF_TABLE = 'CDPOS'.
LS_FCAT-INTTYPE = 'C'.
LS_FCAT-OUTPUTLEN = '12'.
APPEND LS_FCAT TO PT_FIELDCAT.
CLEAR LS_FCAT.
ENDFORM. " PREPARE_FIELD_CATALOG
*& Form SELECT_PO
Subroutine to select all the Purchase Orders
There are no interface parameters to be passed to this subroutine.
FORM SELECT_PO .
SELECT EBELN " Purchasing Document Number
ERNAM " Name of Person who Created
" the Object
LIFNR " Vendor's account number
EKGRP " Purchasing group
BEDAT " Purchasing Document Date
FROM EKKO
PACKAGE SIZE 10000
APPENDING TABLE T_EBELN
WHERE EBELN IN S_EBELN
AND BEDAT IN S_BEDAT.
ENDSELECT.
IF SY-SUBRC NE 0.
W_FLAG = 1.
MESSAGE S401(M8).
ENDIF. " IF SY-SUBRC NE 0
ENDFORM. " SELECT_PO
*& Form SELECT_OBJ_ID
Subroutine to select Object ID
There are no interface parameters to be passed to this subroutine.
FORM SELECT_OBJ_ID .
IF NOT T_EBELN IS INITIAL.
SELECT OBJECTCLAS " Object Class
OBJECTID " Object value
CHANGENR " Document change number
USERNAME " User name
UDATE " Creation date
FROM CDHDR
INTO TABLE T_CDHDR
FOR ALL ENTRIES IN T_EBELN
WHERE OBJECTID EQ T_EBELN-EBELN
AND UDATE IN S_UDATE
AND TCODE IN ('ME21N','ME22N','ME23N').
ENDSELECT.
IF SY-SUBRC NE 0.
W_FLAG = 1.
MESSAGE S833(M8) WITH 'Header Not Found'(031).
ENDIF. " IF SY-SUBRC NE 0.
ENDIF. " IF NOT T_EBELN IS INITIAL
ENDFORM. " SELECT_OBJ_ID
*& Form SELECT_CHANGED_VALUE
Subroutine to select Changed Values
There are no interface parameters to be passed to this subroutine.
FORM SELECT_CHANGED_VALUE .
IF NOT T_CDHDR IS INITIAL.
SELECT OBJECTCLAS " Object class
OBJECTID " Object value
CHANGENR " Document change number
TABNAME " Table Name
FNAME " Field Name
VALUE_NEW " New contents of changed field
VALUE_OLD " Old contents of changed field
FROM CDPOS
PACKAGE SIZE 10000
APPENDING TABLE T_CDPOS
FOR ALL ENTRIES IN T_CDHDR
WHERE OBJECTCLAS EQ T_CDHDR-OBJECTCLAS
AND OBJECTID EQ T_CDHDR-OBJECTID
AND CHANGENR EQ T_CDHDR-CHANGENR.
ENDSELECT.
IF SY-SUBRC NE 0.
W_FLAG = 1.
MESSAGE S833(M8) WITH 'Item Not Found'(032).
ENDIF. " IF SY-SUBRC NE 0.
ENDIF. " IF NOT T_CDHDR IS INITIAL
T_CDPOS_TEMP] = T_CDPOS[.
ENDFORM. " SELECT_CHANGED_VALUE
*& Form SELECT_PUR_DOC
Subroutine to select Purchase Order Details
There are no interface parameters to be passed to this subroutine.
FORM SELECT_PUR_DOC .
IF NOT T_CDPOS IS INITIAL.
SORT T_EBELN BY EBELN.
LOOP AT T_CDPOS INTO FS_CDPOS.
READ TABLE T_EBELN INTO FS_EBELN WITH KEY EBELN =
FS_CDPOS-OBJECTID BINARY SEARCH.
IF SY-SUBRC NE 0.
DELETE TABLE T_EBELN FROM FS_EBELN.
ENDIF. " IF SY-SUBRC NE 0.
ENDLOOP. " LOOP AT T_CDPOS...
LOOP AT T_EBELN INTO FS_EBELN.
MOVE FS_EBELN-EBELN TO FS_EKKO-EBELN.
MOVE FS_EBELN-ERNAM TO FS_EKKO-ERNAM.
MOVE FS_EBELN-LIFNR TO FS_EKKO-LIFNR.
MOVE FS_EBELN-EKGRP TO FS_EKKO-EKGRP.
MOVE FS_EBELN-BEDAT TO FS_EKKO-BEDAT.
APPEND FS_EKKO TO T_EKKO.
ENDLOOP. " LOOP AT T_EBELN...
T_EKKO_TEMP] = T_EKKO[.
ENDIF. " IF NOT T_CDPOS IS INITIAL
ENDFORM. " SELECT_PUR_DOC
*& Form SELECT_VENDOR
Subroutine to select Vendor details
There are no interface parameters to be passed to this subroutine.
FORM SELECT_VENDOR .
IF NOT T_EKKO IS INITIAL.
SORT T_EKKO_TEMP BY LIFNR.
DELETE ADJACENT DUPLICATES FROM T_EKKO_TEMP COMPARING LIFNR.
SELECT LIFNR " Account Number of Vendor or
" Creditor
NAME1 " Name 1
FROM LFA1
INTO TABLE T_LFA1
FOR ALL ENTRIES IN T_EKKO_TEMP
WHERE LIFNR EQ T_EKKO_TEMP-LIFNR.
IF SY-SUBRC NE 0.
MESSAGE S002(M8) WITH 'Master Details'(033).
ENDIF. " IF SY-SUBRC NE 0.
ENDIF. " IF NOT T_EKKO IS INITIAL
ENDFORM. " SELECT_VENDOR
*& Form DESCRIPTION
Subroutine to get the description
There are no interface parameters to be passed to this subroutine.
FORM DESCRIPTION .
IF NOT T_CDPOS IS INITIAL.
SORT T_CDPOS_TEMP BY TABNAME FNAME.
DELETE ADJACENT DUPLICATES FROM T_CDPOS_TEMP COMPARING TABNAME FNAME
SELECT TABNAME " Table Name
FIELDNAME " Field Name
ROLLNAME " Data element
FROM DD03L
INTO TABLE T_DATAELE
FOR ALL ENTRIES IN T_CDPOS_TEMP
WHERE TABNAME EQ T_CDPOS_TEMP-TABNAME
AND FIELDNAME EQ T_CDPOS_TEMP-FNAME.
IF NOT T_DATAELE IS INITIAL.
T_DATAELE_TEMP] = T_DATAELE[.
SORT T_DATAELE_TEMP BY ROLLNAME.
DELETE ADJACENT DUPLICATES FROM T_DATAELE_TEMP COMPARING ROLLNAME.
SELECT ROLLNAME " Data element
DDTEXT " Short Text Describing R/3
" Repository Objects
FROM DD04T
INTO TABLE T_TEXT
FOR ALL ENTRIES IN T_DATAELE_TEMP
WHERE ROLLNAME EQ T_DATAELE_TEMP-ROLLNAME
AND DDLANGUAGE EQ SY-LANGU.
IF SY-SUBRC NE 0.
EXIT.
ENDIF. " IF SY-SUBRC NE 0.
ENDIF. " IF NOT T_DATAELE IS INITIAL.
ENDIF. " IF NOT T_CDPOS IS INITIAL.
ENDFORM. " DESCRIPTION
*& Form FILL_OUTTAB
Subroutine to populate the Outtab
There are no interface parameters to be passed to this subroutine.
FORM FILL_OUTTAB .
SORT T_CDHDR BY OBJECTCLAS OBJECTID CHANGENR.
SORT T_EKKO BY EBELN.
SORT T_LFA1 BY LIFNR.
SORT T_DATAELE BY TABNAME FIELDNAME.
SORT T_TEXT BY ROLLNAME.
LOOP AT T_CDPOS INTO FS_CDPOS.
READ TABLE T_CDHDR INTO FS_CDHDR WITH KEY
OBJECTCLAS = FS_CDPOS-OBJECTCLAS
OBJECTID = FS_CDPOS-OBJECTID
CHANGENR = FS_CDPOS-CHANGENR
BINARY SEARCH.
IF SY-SUBRC EQ 0.
MOVE FS_CDHDR-USERNAME TO FS_OUTTAB-USERNAME.
MOVE FS_CDHDR-UDATE TO FS_OUTTAB-UDATE.
READ TABLE T_EKKO INTO FS_EKKO WITH KEY
EBELN = FS_CDHDR-OBJECTID
BINARY SEARCH.
IF SY-SUBRC EQ 0.
MOVE FS_EKKO-EBELN TO FS_OUTTAB-EBELN.
MOVE FS_EKKO-ERNAM TO FS_OUTTAB-ERNAM.
MOVE FS_EKKO-LIFNR TO FS_OUTTAB-LIFNR.
MOVE FS_EKKO-EKGRP TO FS_OUTTAB-EKGRP.
MOVE FS_EKKO-BEDAT TO FS_OUTTAB-BEDAT.
READ TABLE T_LFA1 INTO FS_LFA1 WITH KEY
LIFNR = FS_EKKO-LIFNR
BINARY SEARCH.
IF SY-SUBRC EQ 0.
MOVE FS_LFA1-NAME1 TO FS_OUTTAB-NAME1.
ENDIF. " IF SY-SUBRC EQ 0.
ENDIF. " IF SY-SUBRC EQ 0.
ENDIF. " IF SY-SUBRC EQ 0.
MOVE FS_CDPOS-VALUE_NEW TO FS_OUTTAB-VALUE_NEW.
MOVE FS_CDPOS-VALUE_OLD TO FS_OUTTAB-VALUE_OLD.
READ TABLE T_DATAELE INTO FS_DATAELE WITH KEY
TABNAME = FS_CDPOS-TABNAME
FIELDNAME = FS_CDPOS-FNAME
BINARY SEARCH.
IF SY-SUBRC EQ 0.
READ TABLE T_TEXT INTO FS_TEXT WITH KEY
ROLLNAME = FS_DATAELE-ROLLNAME
BINARY SEARCH.
IF SY-SUBRC EQ 0.
MOVE FS_TEXT-DDTEXT TO FS_OUTTAB-DDTEXT.
ENDIF. " IF SY-SUBRC EQ 0.
ENDIF. " IF SY-SUBRC EQ 0.
APPEND FS_OUTTAB TO T_OUTTAB.
CLEAR FS_OUTTAB.
ENDLOOP.
ENDFORM. " FILL_OUTTAB
*& Form GET_CELL_INFO
Subroutine to get the Cell Information
--> W_VALUE Holds the value of Hotspot clicked
FORM GET_CELL_INFO .
CALL METHOD W_GRID->GET_CURRENT_CELL
IMPORTING
E_ROW =
E_VALUE = W_VALUE
E_COL =
ES_ROW_ID =
ES_COL_ID =
ES_ROW_NO =
ENDFORM. " GET_CELL_INFO
*& Form VALIDATE_PD_NUM
Subroutine to validate Purchase Document Number
There are no interface parameters to be passed to this subroutine.
FORM VALIDATE_PD_NUM .
IF NOT S_EBELN[] IS INITIAL.
SELECT EBELN " Purchase Document Number
FROM EKKO
INTO W_EBELN
UP TO 1 ROWS
WHERE EBELN IN S_EBELN.
ENDSELECT.
IF SY-SUBRC NE 0.
CLEAR SSCRFIELDS-UCOMM.
MESSAGE E717(M8).
ENDIF. " IF SY-SUBRC NE 0
ENDIF. " IF NOT S_EBELN[]...
ENDFORM. " VALIDATE_PD_NUM
*& Form VALIDATE_VEN_NUM
Subroutine to validate Vendor Number
There are no interface parameters to be passed to this subroutine.
FORM VALIDATE_VEN_NUM .
IF NOT S_LIFNR[] IS INITIAL.
SELECT LIFNR " Vendor Number
FROM LFA1
INTO W_LIFNR
UP TO 1 ROWS
WHERE LIFNR IN S_LIFNR.
ENDSELECT.
IF SY-SUBRC NE 0.
CLEAR SSCRFIELDS-UCOMM.
MESSAGE E002(M8) WITH W_SPACE.
ENDIF. " IF SY-SUBRC NE 0
ENDIF. " IF NOT S_LIFNR[]...
ENDFORM. " VALIDATE_VEN_NUM
*& Form VALIDATE_PUR_GRP
Subroutine to validate the Purchase Group
There are no interface parameters to be passed to this subroutine.
FORM VALIDATE_PUR_GRP .
IF NOT S_EKGRP[] IS INITIAL.
SELECT EKGRP " Purchase Group
FROM T024
INTO W_EKGRP
UP TO 1 ROWS
WHERE EKGRP IN S_EKGRP.
ENDSELECT.
IF SY-SUBRC NE 0.
CLEAR SSCRFIELDS-UCOMM.
MESSAGE E622(M8) WITH W_SPACE.
ENDIF. " IF SY-SUBRC NE 0
ENDIF. " IF NOT S_EKFRP[]...
ENDFORM. " VALIDATE_PUR_GRP
*& Form FILL_VARIANT
Subroutine to fill the Variant Structure
There are no interface parameters to be passed to this subroutine
FORM FILL_VARIANT .
Filling the Variant structure
W_VARIANT-REPORT = SY-REPID.
W_VARIANT-USERNAME = SY-UNAME.
ENDFORM. " FILL_VARIANT
REPORT YMS_HIERSEQLISTDISPLAY .
Program with FM REUSE_ALV_HIERSEQ_LIST_DISPLAY *
Author : Michel PIOUD *
Email : mpioudyahoo.fr HomePage : http://www.geocities.com/mpioud *
TYPE-POOLS: slis. " ALV Global types
CONSTANTS :
c_x VALUE 'X',
c_gt_vbap TYPE SLIS_TABNAME VALUE 'GT_VBAP',
c_gt_vbak TYPE SLIS_TABNAME VALUE 'GT_VBAK'.
SELECTION-SCREEN :
SKIP, BEGIN OF LINE,COMMENT 5(27) v_1 FOR FIELD p_max. "#EC NEEDED
PARAMETERS p_max(02) TYPE n DEFAULT '10' OBLIGATORY.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN :
SKIP, BEGIN OF LINE,COMMENT 5(27) v_2 FOR FIELD p_expand. "#EC NEEDED
PARAMETERS p_expand AS CHECKBOX DEFAULT c_x.
SELECTION-SCREEN END OF LINE.
TYPES :
1st Table
BEGIN OF ty_vbak,
vbeln TYPE vbak-vbeln, " Sales document
kunnr TYPE vbak-kunnr, " Sold-to party
netwr TYPE vbak-netwr, " Net Value of the Sales Order
erdat TYPE vbak-erdat, " Creation date
waerk TYPE vbak-waerk, " SD document currency
expand TYPE xfeld,
END OF ty_vbak,
2nd Table
BEGIN OF ty_vbap,
vbeln TYPE vbap-vbeln, " Sales document
posnr TYPE vbap-posnr, " Sales document
matnr TYPE vbap-matnr, " Material number
netwr TYPE vbap-netwr, " Net Value of the Sales Order
waerk TYPE vbap-waerk, " SD document currency
END OF ty_vbap.
DATA :
1st Table
gt_vbak TYPE TABLE OF ty_vbak,
2nd Table
gt_vbap TYPE TABLE OF ty_vbap.
INITIALIZATION.
v_1 = 'Maximum of records to read'.
v_2 = 'With ''EXPAND'' field'.
START-OF-SELECTION.
Read Sales Document: Header Data
SELECT vbeln kunnr netwr waerk erdat
FROM vbak
UP TO p_max ROWS
INTO CORRESPONDING FIELDS OF TABLE gt_vbak.
IF NOT gt_vbak[] IS INITIAL.
Read Sales Document: Item Data
SELECT vbeln posnr matnr netwr waerk
FROM vbap
INTO CORRESPONDING FIELDS OF TABLE gt_vbap
FOR ALL ENTRIES IN gt_vbak
WHERE vbeln = gt_vbak-vbeln.
ENDIF.
PERFORM f_display.
Form F_DISPLAY
FORM f_display.
Macro definition
DEFINE m_fieldcat.
ls_fieldcat-tabname = &1.
ls_fieldcat-fieldname = &2.
ls_fieldcat-ref_tabname = &3.
ls_fieldcat-cfieldname = &4. " Field with currency unit
append ls_fieldcat to lt_fieldcat.
END-OF-DEFINITION.
DEFINE m_sort.
ls_sort-tabname = &1.
ls_sort-fieldname = &2.
ls_sort-up = c_x.
append ls_sort to lt_sort.
END-OF-DEFINITION.
DATA:
ls_layout TYPE slis_layout_alv,
ls_keyinfo TYPE slis_keyinfo_alv,
ls_sort TYPE slis_sortinfo_alv,
lt_sort TYPE slis_t_sortinfo_alv," Sort table
ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv." Field catalog
ls_layout-group_change_edit = c_x.
ls_layout-colwidth_optimize = c_x.
ls_layout-zebra = c_x.
ls_layout-detail_popup = c_x.
ls_layout-get_selinfos = c_x.
IF p_expand = c_x.
ls_layout-expand_fieldname = 'EXPAND'.
ENDIF.
Build field catalog and sort table
m_fieldcat c_gt_vbak 'VBELN' 'VBAK' ''.
m_fieldcat c_gt_vbak 'KUNNR' 'VBAK' ''.
m_fieldcat c_gt_vbak 'NETWR' 'VBAK' 'WAERK'.
m_fieldcat c_gt_vbak 'WAERK' 'VBAK' ''.
m_fieldcat c_gt_vbak 'ERDAT' 'VBAK' ''.
m_fieldcat c_gt_vbap 'POSNR' 'VBAP' ''.
m_fieldcat c_gt_vbap 'MATNR' 'VBAP' ''.
m_fieldcat c_gt_vbap 'NETWR' 'VBAP' 'WAERK'.
m_fieldcat c_gt_vbap 'WAERK' 'VBAP' ''.
m_sort c_gt_vbak 'KUNNR'.
m_sort c_gt_vbap 'NETWR'.
ls_keyinfo-header01 = 'VBELN'.
ls_keyinfo-item01 = 'VBELN'.
ls_keyinfo-item02 = 'POSNR'.
Dipslay Hierarchical list
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-cprog
i_callback_user_command = 'USER_COMMAND'
is_layout = ls_layout
it_fieldcat = lt_fieldcat
it_sort = lt_sort
i_tabname_header = c_gt_vbak
i_tabname_item = c_gt_vbap
is_keyinfo = ls_keyinfo
TABLES
t_outtab_header = gt_vbak
t_outtab_item = gt_vbap
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " F_LIST_DISPLAY
Form USER_COMMAND *
FORM user_command USING i_ucomm TYPE sy-ucomm
is_selfield TYPE slis_selfield. "#EC CALLED
DATA ls_vbak TYPE ty_vbak.
CASE i_ucomm.
WHEN '&IC1'. " Pick
CASE is_selfield-tabname.
WHEN c_gt_vbap.
WHEN c_gt_vbak.
READ TABLE gt_vbak INDEX is_selfield-tabindex INTO ls_vbak.
IF sy-subrc EQ 0.
Sales order number
SET PARAMETER ID 'AUN' FIELD ls_vbak-vbeln.
Display Sales Order
CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDCASE.
ENDFORM. " USER_COMMAND
Kindly Reward Points If You Found The Reply Helpful,
Cheers,
Chaitanya. -
What is the Java default ORB implementation class?
I have a web application deployed on the Sun Java System Application Server 8. This application will also act as a CORBA client by invoking remote methods on another CORBA server.
Our first approach was to use the ORB provided by the Sun App Server. But whenever the code reaches the point to initialize the ORB:
orb = ORB.init(as, null); we encountered such exceptions:
[#|2005-02-03T00:38:43.912-0600|WARNING|sun-appserver-pe8.0.0_01|javax.enterpris
e.resource.corba._DEFAULT_.rpc.transport|_ThreadID=14;|"IOP00710209: (INTERNAL)
Unable to create listener thread on the specific port"
org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 209 completed: No
at com.sun.corba.ee.impl.logging.ORBUtilSystemException.createListenerFa
iled(ORBUtilSystemException.java:3142)
at com.sun.corba.ee.impl.logging.ORBUtilSystemException.createListenerFa
iled(ORBUtilSystemException.java:3160) When we deployed the same app on Tomcat, it worked fine. We later reasoned the exception was happening on the Sun App Server because perhaps it was trying to initialize another ORB with the same properties as the one initialized by the Sun App Server, and thus was trying to create another listener on a port already in use.
On tomcat, the ORB used was the default ORB provided by Java. Thus, we thought we would try 'overriding' the ORB properties for the Sun App Server by specifiying this in the ORB.init() method:
String as[] = null;
Properties orbProperties = new Properties();
orbProperties.put("org.omg.CORBA.ORBClass","com.sun.corba.se.internal.iiop.ORB");
orbProperties.put("org.omg.CORBA.ORBSingletonClass","com.sun.corba.se.internal.iiop.ORB");
orb = ORB.init(as, orbProperties);But when executing this, we get the exception as follows:
Caused by: org.omg.CORBA.INITIALIZE: can't instantiate custom socket factory: co
m.sun.enterprise.iiop.IIOPSSLSocketFactory vmcid: 0x0 minor code: 0 completed
: No
at com.sun.corba.se.internal.corba.ORB.parseProperties(ORB.java:1250)
at com.sun.corba.se.internal.POA.POAORB.parseProperties(POAORB.java:267)
at com.sun.corba.se.internal.Interceptors.PIORB.parseProperties(PIORB.ja
va:341)
at com.sun.corba.se.internal.corba.ORB.set_parameters(ORB.java:460)
at com.sun.corba.se.internal.POA.POAORB.set_parameters(POAORB.java:153)
at com.sun.corba.se.internal.Interceptors.PIORB.set_parameters(PIORB.jav
a:333)
at org.omg.CORBA.ORB.init(ORB.java:337)
at com.covansys.ipceuc.corbalogic.SessionManager.<clinit>(SessionManager
.java:159) Some Sun sites mentioned that com.sun.CORBA.iiop.ORB is the Java ORB implementation. When trying to use this, we got a ClassNotFoundException.
Also tried the following classes:
com.sun.corba.se.internal.corba.ORB
com.sun.corba.se.internal.core.ORB
com.sun.corba.se.internal.org.omg.ORBAll of them reported exceptions as follows:
Caused by: org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementati
n org.omg.CORBA.ORB vmcid: 0x0 minor code: 0 completed: No
at org.omg.CORBA.ORB.create_impl(ORB.java:297)
at org.omg.CORBA.ORB.init(ORB.java:336)
at com.covansys.ipceuc.corbalogic.SessionManager.<clinit>(SessionManage
.java:158)
... 55 more
Caused by: java.lang.InstantiationException
at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstanc
(InstantiationExceptionConstructorAccessorImpl.java:30)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:308)
at java.lang.Class.newInstance(Class.java:261)
at org.omg.CORBA.ORB.create_impl(ORB.java:295)
... 57 more
|#] Anyone know what the Java ORB implementation class is, or whether this is possible at all?
Thanks in advance.Hello
The defaults for JDK 1.4.2 (at least) are shown it the code below:
Properties p = new Properties ();
p.put ("org.omg.CORBA.ORBSingletonClass",
"com.sun.corba.se.internal.corba.ORBSingleton");
p.put ("org.omg.CORBA.ORBClass",
"com.sun.corba.se.internal.Interceptors.PIORB");
p.put ("javax.rmi.CORBA.UtilClass",
"com.sun.corba.se.internal.POA.ShutdownUtilDelegate");
p.put ("javax.rmi.CORBA.PortableRemoteObjectClass",
"com.sun.corba.se.internal.javax.rmi.PortableRemoteObject");
System.setProperties (p);Of course you can use this code to set these defaults back. Be careful, if you do this inside Weblogic, for instance, it will likely abend.
[]'s
Marcond -
I am trying to handle Producer not available situation in which I am using Interceptor IWSDLInterceptor in WLP 10.3.4. I am able to retrieve exception using onWSDLException but from here if I have to forward my pageURL object I need httpservlet request and response. I tried my own filter class to have its own customize request and also tried it out all other Interceptor to see if any one can handle IOException. I did manage to throw my own Customize exception but that also did not work out as Page does not have any backing file or any supportive Controller class.
Does any one implemented solution for httpservlet request/response object in IWSDLInterceptor implemented class? or do we have any specific documentation in regards to this? As I am not able to find much martial on IWSDLInterceptor except Java API from Oracle and article defining Two way SSL handshake Producer.
Any kind of help is appreciated.
Thanks
PTThanks Emmanuel for your response but render behavior is not available for IWSDLRequestContext/IWDSLResponseContext object which IWSDLInterceptor uses for implementation.
Let me put my question in little simpler manner. May be my approach to the problem is not proper.
Problem : Handle Producer Not available (no application exists on server) on consumer side.
So far tried approach : Producer is not running then I am able to handle that TransportException at IInitCookieInterceptor/IHandleEventInterceptor onFault behaviour but in the case of Producer not even exists Consumer try to get WSDL fetch operation and failed with FileNotFoundException.
To handle this exception, I used IWSDLInterceptor which is available under IWSDLInterceptor.OnWSDLException (Oracle Fusion Middleware Java API for Oracle WebLogic Portal)
I am able to catch the exception but problem arise when application needs to forward at specific page/render portlet for this situation. For that it required request/response object but IWSDLInterceptor does not give any kind of instances to redirect request as there is no direct access to HTTPServlet request/response object.
I tried my custom request object to use there. I tried out custom filter object of IWSDLrequestContext. nothing works.
One approach works is to put producer WSDL file at consumer level. But in that, you need to handle different producer files for different environment. Which I don't think its a good approach.
eAny one Let me know if my approach to the problem/scenario is wrong. Or if I am missing out any other supporting interface which also required to handle this scenario. or I am using wrong interface for this scenario.
Thanks for your help in advance.
PT. -
Hello!
How can i change implementation class of text field programmatically in run time?
ThanksHello Francois,
I wounder if you could help me.
I am trying to use FBean.Set_Indexed_Property and
NewLabel := FBean.Get_Indexed_Property
i need to retrieve some values and it will be nice to use those functions
this is my java class
package sumanumeros;
* @author madq80
* Para cambiar la plantilla para este comentario de tipo generado vaya a
* Ventana>Preferencias>Java>Generación de código>Código y comentarios
import java.io.*;
import java.text.MessageFormat;
import java.util.*;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.xpath.XPath;
import oracle.forms.ui.VBean;
public class SumaNumeros extends VBean {
public static void init(){
public static void main(String[] args) {
SumaNumeros s = new SumaNumeros();
//s.suma(12,8);
s.leerfichero("c:\\resulbusqueda.xml");
public String letras (String letra1, String letra2){
String resutado = letra1+"-->"+letra2;
System.out.print("retur"+resutado );
return resutado;
}//letras
public int suma (int numero1, int numero2){
int resutado = numero1+ numero2;
System.out.print("retur"+resutado );
return resutado;
}//suma
public String leerfichero(String nombrefichero ){
List list=null;
String lostitulos = null;
System.out.print("nombrefichero 1"+nombrefichero +"\n");
try {
System.out.print("nombrefichero 2"+nombrefichero +"\n");
List DocumentTitle = new ArrayList();
RandomAccessFile raf = new RandomAccessFile (nombrefichero, "r" );
byte[] buffer = new byte [ (int) raf.length () ];
raf.readFully ( buffer );
raf.close ();
String srcfile = new String ( buffer );
String pattern = "{0}<response>{1}</response>{2}";
MessageFormat mf = new MessageFormat ( pattern );
Object[] obj = mf.parse ( srcfile );
String response = (String) obj[1];
ByteArrayInputStream bais = new ByteArrayInputStream ( response.getBytes () );
SAXBuilder saxb = new SAXBuilder ( false );
Document doc = saxb.build ( bais );
Element root = doc.getRootElement ();
System.err.println ( root );
XPath xpath = XPath.newInstance ( "/xml/rs:data/z:row" );
list = xpath.selectNodes ( doc );
for ( int i = 0, len = list.size () ; i < len ; i++ )
Element item = (Element) list.get ( i );
System.err.println ( "--> " + item.getAttributeValue ( "DocumentTitle" ) );
DocumentTitle.add(item.getAttributeValue ( "DocumentTitle" ));
System.out.print("-->"+item.getAttributeValue ( "DocumentTitle" ) +"\n");
Iterator iter = DocumentTitle.iterator();
while (iter.hasNext()){
String titulo = (String)iter.next();
if(lostitulos == null) {
lostitulos = titulo;
}else{
lostitulos = lostitulos+","+titulo;
//System.out.println("******************************************");
System.out.println (lostitulos);
}catch (Exception e){
e.printStackTrace();
System.out.print("nombre 1"+lostitulos +"\n");
return lostitulos;
and this is my code on the form
declare
num integer;
hBean ITEM := Find_Item('BLOCK3.CIM');
argList FBEAN.ARGLIST;
v_result varchar2(2000);
NewLabel varchar2(2000);
begin
FBEAN.SET_LOGGING_MODE(hBean,1,FBEAN.LOG_ALL);
-- Get the file name --
If :GLOBAL.IS_BEAN_REGISTER = 'false' Then
FBean.Register_Bean(hBean,1,'sumanumeros.SumaNumeros');
:GLOBAL.IS_BEAN_REGISTER := 'true' ;
End if ;
argList := FBean.Create_ArgList;
FBEAN.ADD_ARG(argList,'c:\\resulbusqueda.xml');
v_result := FBean.Invoke_char('BLOCK3.CIM',1,'leerfichero',argList);
info('v_result'||v_result);
FBean.Set_Indexed_Property('BLOCK3.TITULOS',
1,
'titulos',
FBEAN.ALL_ROWS,
'Grommets, Widgets, Bolts, and Screws');
FBean.Get_Indexed_Property
NewLabel := FBean.Get_Indexed_Char_Property('BLOCK3.TITULOS',
1,
'titulos',
1);
info('NewLabel'||NewLabel); */
FBean.Set_Indexed_Property('BLOCK3.CIM',1,'leerfichero', FBEAN.ALL_ROWS,v_result);
NewLabel := FBean.Get_Indexed_Property('BLOCK3.CIM', 1, 'leerfichero', 1);
info('NewLabel'||NewLabel);
exception
when others then
info(sqlcode||' '||sqlerrm);
end;
the values that i get here
v_result := FBean.Invoke_char('BLOCK3.CIM',1,'leerfichero',argList);
are
ppp,asdasss,prueba,Anticipo a cuenta/Pet. pago a cuenta,Revista,Esto es una prueba,Comunicacion Siniestro,Comunicación .............
but when i use
FBean.Set_Indexed_Property('BLOCK3.CIM',1,'leerfichero', FBEAN.ALL_ROWS,v_result);
NewLabel := FBean.Get_Indexed_Property('BLOCK3.CIM', 1, 'leerfichero', 1);
it does not work i do not know what to do
do i have to treat the string with substr ???
many thanks and sorry to ask you againg -
Kodo cannot find metadata for valid persistent class?
Hi!
I still cannot make 2.4.0 working. It just refuses loading valid
persistent class. I've tried to preload class by calling Class c =
Category.class but it didn't help.
Tried it on 2.4.0 RC3.
The stacktrace:
2002-12-05 13:56:14,377 ERROR [org.jboss.ejb.plugins.LogInterceptor]
RuntimeException:
javax.jdo.JDOUserException: No database mapping was found for type
"net.xtrim.crm.troubleticket.object.Category@cf9bf0". Make sure that
"net.xtrim.crm.troubleticket.object.Category@cf9bf0" has been enhanced.
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.getClassMapping(JDBC
StoreManager.java:835)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.initialize(JDBCStore
Manager.java:262)
at
com.solarmetric.kodo.runtime.datacache.DataCacheStoreManager.initialize(Data
CacheStoreManager.java:255)
at
com.solarmetric.kodo.runtime.StateManagerImpl.loadInitialState(StateManagerI
mpl.java:174)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectByIdFilter(Pers
istenceManagerImpl.java:986)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectById(Persistenc
eManagerImpl.java:905)
at
com.solarmetric.kodo.impl.jdbc.ormapping.OneToOneMapping.load(OneToOneMappin
g.java:147)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.load(JDBCStoreManage
r.java:366)
at
com.solarmetric.kodo.runtime.datacache.DataCacheStoreManager.load(DataCacheS
toreManager.java:284)
at
com.solarmetric.kodo.runtime.StateManagerImpl.loadField(StateManagerImpl.jav
a:1987)
at
com.solarmetric.kodo.runtime.StateManagerImpl.isLoaded(StateManagerImpl.java
:721)
at net.xtrim.crm.troubleticket.object.Type.jdoGetcategory(Type.java)
at net.xtrim.crm.troubleticket.object.Type.getCategory(Type.java:147)
at
net.xtrim.crm.system.persistence.TroubleTicketFactory.getTroubleTicketType(T
roubleTicketFactory.java:148)
at
net.xtrim.crm.system.persistence.TroubleTicketFactory.getTroubleTicket(Troub
leTicketFactory.java:74)
at
net.xtrim.crm.system.persistence.TroubleTicketFactory.getDTO(TroubleTicketFa
ctory.java:280)
at
net.xtrim.crm.troubleticket.ejb.TroubleTicketFacadeBean.getLastTicketsForCur
rentUser(TroubleTicketFacadeBean.java:1015)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
..java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(Stateles
sSessionContainer.java:660)
at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(Cach
edConnectionInterceptor.java:186)
at
org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSe
ssionInstanceInterceptor.java:77)
at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor
..java:107)
at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.
java:178)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:60)
at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:13
0)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:204)
at
org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.jav
a:313)
at
org.jboss.ejb.plugins.local.BaseLocalContainerInvoker.invoke(BaseLocalContai
nerInvoker.java:301)
at
org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionPro
xy.java:81)
at $Proxy64.getLastTicketsForCurrentUser(Unknown Source)
at net.xtrim.crm.web.WebManager.getListTTCreatedByUser(WebManager.java:58)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
..java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.apache.struts.util.PropertyUtils.getSimpleProperty(PropertyUtils.java:71
7)
at
org.apache.struts.util.PropertyUtils.getNestedProperty(PropertyUtils.java:42
6)
at org.apache.struts.util.PropertyUtils.getProperty(PropertyUtils.java:453)
at org.apache.struts.util.RequestUtils.lookup(RequestUtils.java:503)
at
org.apache.struts.taglib.logic.IterateTag.doStartTag(IterateTag.java:302)
at org.apache.jsp.home$jsp._jspService(home$jsp.java:534)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
va:201)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
at
org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicatio
nHandler.java:341)
at net.xtrim.crm.web.LogOnFilter.doFilter(LogOnFilter.java:43)
at
org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicatio
nHandler.java:333)
at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandl
er.java:285)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:581)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1687)
at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext
..java:544)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1637)
at org.mortbay.http.HttpServer.service(HttpServer.java:875)
at org.jboss.jetty.Jetty.service(Jetty.java:543)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:806)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:956)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:823)
at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:203)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:290)
at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
at java.lang.Thread.run(Thread.java:536)
2002-12-05 13:56:14,547 ERROR [net.xtrim.crm.web.WebManager]
javax.ejb.EJBException: RuntimeException; CausedByException is:
No database mapping was found for type
"net.xtrim.crm.troubleticket.object.Category@cf9bf0". Make sure that
"net.xtrim.crm.troubleticket.object.Category@cf9bf0" has been enhanced.
2002-12-05 13:56:14,747 WARN [org.jboss.jbossweb] WARNING: Exception for
/rt/home.jsp
javax.servlet.jsp.JspException: Exception thrown by getter for property
listTTCreatedByUser of bean manager
at org.apache.struts.util.RequestUtils.lookup(RequestUtils.java:513)
at
org.apache.struts.taglib.logic.IterateTag.doStartTag(IterateTag.java:302)
at org.apache.jsp.home$jsp._jspService(home$jsp.java:534)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
va:201)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366)
at
org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicatio
nHandler.java:341)
at net.xtrim.crm.web.LogOnFilter.doFilter(LogOnFilter.java:43)
at
org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicatio
nHandler.java:333)
at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandl
er.java:285)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:581)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1687)
at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext
..java:544)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1637)
at org.mortbay.http.HttpServer.service(HttpServer.java:875)
at org.jboss.jetty.Jetty.service(Jetty.java:543)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:806)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:956)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:823)
at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:203)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:290)
at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
at java.lang.Thread.run(Thread.java:536)
During startup I see messages in JBoss log file saying that Category has
been loaded successfully.
Please look at the attached file that contains part of the JBoss log.
begin 666 kodo.log
M,C P,BTQ,BTP-2 Q,SHU-CHQ,2PS,3(@1$5"54<@6V-O;2YS;VQA<FUE=')I
M8RYK;V1O+E)U;G1I;65=(&-O;2YS;VQA<FUE=')I8RYK;V1O+FEM<&PN:F1B
M8RYE92Y%15!E<G-I<W1E;F-E36%N86=E<D9A8W1O<GE ,6%F-SAC93H@<V5T
M=7 -"C(P,#(M,3(M,#4@,3,Z-38Z,3$L,S4R($1%0E5'(%MC;VTN<V]L87)M
M971R:6,N:V]D;RY2=6YT:6UE72!C;VTN<V]L87)M971R:6,N:V]D;RYI;7!L
M+FID8F,N964N145097)S:7-T96YC94UA;F%G97)&86-T;W)Y0#%A9C<X8V4Z
M('-E='5P.B!D969E<G)I;F<@<F5G:7-T<F%T:6]N(&]F.B!N970N>'1R:6TN
M8W)M+F-U<W1O;65R+F]B:F5C="Y#=7-T;VUE<D R-S-F-&4-"C(P,#(M,3(M
M,#4@,3,Z-38Z,3$L,S4R($1%0E5'(%MC;VTN<V]L87)M971R:6,N:V]D;RY2
M=6YT:6UE72!C;VTN<V]L87)M971R:6,N:V]D;RYI;7!L+FID8F,N964N1450
M97)S:7-T96YC94UA;F%G97)&86-T;W)Y0#%A9C<X8V4Z(')E9VES=&5R0VQA
M<W,Z(&YE="YX=')I;2YC<FTN8W5S=&]M97(N;V)J96-T+D-U<W1O;65R0#(W
M,V8T93T^9F%L<V4-"C(P,#(M,3(M,#4@,3,Z-38Z,3$L,S4R($1%0E5'(%MC
M;VTN<V]L87)M971R:6,N:V]D;RY2=6YT:6UE72!C;VTN<V]L87)M971R:6,N
M:V]D;RYI;7!L+FID8F,N964N145097)S:7-T96YC94UA;F%G97)&86-T;W)Y
M0#%A9C<X8V4Z('-E='5P.B!D969E<G)I;F<@<F5G:7-T<F%T:6]N(&]F.B!N
M970N>'1R:6TN8W)M+F1I8W1I;VYA<GDN;V)J96-T+D-U<G)E;F-Y0#0S,34S
M8PT*,C P,BTQ,BTP-2 Q,SHU-CHQ,2PS-3(@1$5"54<@6V-O;2YS;VQA<FUE
M=')I8RYK;V1O+E)U;G1I;65=(&-O;2YS;VQA<FUE=')I8RYK;V1O+FEM<&PN
M:F1B8RYE92Y%15!E<G-I<W1E;F-E36%N86=E<D9A8W1O<GE ,6%F-SAC93H@
M<F5G:7-T97)#;&%S<SH@;F5T+GAT<FEM+F-R;2YD:6-T:6]N87)Y+F]B:F5C
M="Y#=7)R96YC>4 T,S$U,V,]/F9A;'-E#0HR,# R+3$R+3 U(#$S.C4V.C$Q
M+#0W,B!)3D9/("!;8V]M+G-O;&%R;65T<FEC+FMO9&\N4G5N=&EM95T@4W1A
M<G1I;F<@2V]D;R!*1$\@=F5R<VEO;B R+C0N," H:V]D;VID;RTR+C0N,"TR
M,# R,3$R-2TQ.34Q*2!W:71H(&-A<&%B:6QI=&EE<SH@6T5N=&5R<')I<V4@
M161I=&EO;B!&96%T=7)E<RP@4W1A;F1A<F0@161I=&EO;B!&96%T=7)E<RP@
M3&ET92!%9&ET:6]N($9E871U<F5S+"!%=F%L=6%T:6]N($QI8V5N<V4L(%%U
M97)Y($5X=&5N<VEO;G,L($1A=&%C86-H92!0;'5G+6EN+"!3=&%T96UE;G0@
M0F%T8VAI;F<L($=L;V)A;"!4<F%N<V%C=&EO;G,L($1E=F5L;W!E<B!4;V]L
M<RP@0W5S=&]M($1A=&%B87-E($1I8W1I;VYA<FEE<RP@16YT97)P<FES92!$
M871A8F%S97-=#0HR,# R+3$R+3 U(#$S.C4V.C$Q+#0X,B!705).("!;8V]M
M+G-O;&%R;65T<FEC+FMO9&\N4G5N=&EM95T@5T%23DE.1SH@2V]D;R!*1$\@
M179A;'5A=&EO;B!E>'!I<F5S(&EN(#$@9&%Y<RX@4&QE87-E(&-O;G1A8W0@
M<V%L97- <V]L87)M971R:6,N8V]M(&9O<B!I;F9O<FUA=&EO;B!O;B!E>'1E
M;F1I;F<@>6]U<B!E=F%L=6%T:6]N('!E<FEO9"!O<B!P=7)C:&%S:6YG(&$@
M;&EC96YS92X-"C(P,#(M,3(M,#4@,3,Z-38Z,3$L-3$R($1%0E5'(%MC;VTN
M<V]L87)M971R:6,N:V]D;RY2=6YT:6UE72!C;VTN<V]L87)M971R:6,N:V]D
M;RYI;7!L+FID8F,N964N145097)S:7-T96YC94UA;F%G97)&86-T;W)Y0#%A
M9C<X8V4Z(&9L=7-H:6YG(&1E9F5R<F5D(')E9VES=')A=&EO;B!O9B R(&-L
M87-S97,-"C(P,#(M,3(M,#4@,3,Z-38Z,3$L-3,R($1%0E5'(%MC;VTN<V]L
M87)M971R:6,N:V]D;RY2=6YT:6UE72!C;VTN<V]L87)M971R:6,N:V]D;RYI
M;7!L+FID8F,N964N145097)S:7-T96YC94UA;F%G97)&86-T;W)Y0#%A9C<X
M8V4Z(')E9VES=&5R:6YG(#(@8VQA<W-E<SH@6V-L87-S(&YE="YX=')I;2YC
M<FTN8W5S=&]M97(N;V)J96-T+D-U<W1O;65R+"!C;&%S<R!N970N>'1R:6TN
M8W)M+F1I8W1I;VYA<GDN;V)J96-T+D-U<G)E;F-Y70T*,C P,BTQ,BTP-2 Q
M,SHU-CHQ,2PU-C,@1$5"54<@6V-O;2YS;VQA<FUE=')I8RYK;V1O+DUE=&%$
M871A72!F;W5N9"!*1$\@<F5S;W5R8V4@0W5S=&]M97(N:F1O(&9O<B!N970N
M>'1R:6TN8W)M+F-U<W1O;65R+F]B:F5C="Y#=7-T;VUE<B!A="!J87(Z9FEL
M93HO1#HO:F%V82]J8F]S<RTS+C N-"]S97)V97(O<W5P<&]R=&-R;2]T;7 O
M9&5P;&]Y+W-E<G9E<B]S=7!P;W)T8W)M+V1E<&QO>2]3=7!P;W)T0U)-+F5A
M<B\V-BY3=7!P;W)T0U)-+F5A<BUC;VYT96YT<R]C<FU%2D)S+FIA<B$O;F5T
M+WAT<FEM+V-R;2]C=7-T;VUE<B]O8FIE8W0O0W5S=&]M97(N:F1O#0HR,# R
M+3$R+3 U(#$S.C4V.C$Q+#8P,R!)3D9/("!;8V]M+G-O;&%R;65T<FEC+FMO
M9&\N365T841A=&%=(&-O;2YS;VQA<FUE=')I8RYK;V1O+FUE=&$N2D1/365T
M841A=&%087)S97) -F1C9F1E.B!P87)S:6YG('-O=7)C93H@:F%R.F9I;&4Z
M+T0Z+VIA=F$O:F)O<W,M,RXP+C0O<V5R=F5R+W-U<'!O<G1C<FTO=&UP+V1E
M<&QO>2]S97)V97(O<W5P<&]R=&-R;2]D97!L;WDO4W5P<&]R=$-232YE87(O
M-C8N4W5P<&]R=$-232YE87(M8V]N=&5N=',O8W)M14I"<RYJ87(A+VYE="]X
M=')I;2]C<FTO8W5S=&]M97(O;V)J96-T+T-U<W1O;65R+FID;PT*,C P,BTQ
M,BTP-2 Q,SHU-CHQ,2PV-C,@1$5"54<@6V-O;2YS;VQA<FUE=')I8RYK;V1O
M+E)U;G1I;65=(&-O;2YS;VQA<FUE=')I8RYK;V1O+FEM<&PN:F1B8RYE92Y%
M15!E<G-I<W1E;F-E36%N86=E<D9A8W1O<GE ,6%F-SAC93H@<F5G:7-T97)I
M;F<Z(&1E9F5R<FEN9R!R96=I<W1R871I;VX@;V8Z(&YE="YX=')I;2YC<FTN
M9&EC=&EO;F%R>2YO8FIE8W0N3&%N9W5A9V5 ,60P-F0P,@T*,C P,BTQ,BTP
M-2 Q,SHU-CHQ,2PV-C,@1$5"54<@6V-O;2YS;VQA<FUE=')I8RYK;V1O+E)U
M;G1I;65=(&-O;2YS;VQA<FUE=')I8RYK;V1O+FEM<&PN:F1B8RYE92Y%15!E
M<G-I<W1E;F-E36%N86=E<D9A8W1O<GE ,6%F-SAC93H@<F5G:7-T97)#;&%S
M<SH@(&YE="YX=')I;2YC<FTN9&EC=&EO;F%R>2YO8FIE8W0N3&%N9W5A9V5
M,60P-F0P,CT^9F%L<V4-"C(P,#(M,3(M,#4@,3,Z-38Z,3$L-C<S($1%0E5'
M(%MC;VTN<V]L87)M971R:6,N:V]D;RY2=6YT:6UE72!C;VTN<V]L87)M971R
M:6,N:V]D;RYI;7!L+FID8F,N964N145097)S:7-T96YC94UA;F%G97)&86-T
M;W)Y0#%A9C<X8V4Z(')E9VES=&5R:6YG.B!D969E<G)I;F<@<F5G:7-T<F%T
M:6]N(&]F.B!N970N>'1R:6TN8W)M+F-U<W1O;65R+F]B:F5C="Y.871U<F5
M,6(V.34V9@T*,C P,BTQ,BTP-2 Q,SHU-CHQ,2PV-S,@1$5"54<@6V-O;2YS
M;VQA<FUE=')I8RYK;V1O+E)U;G1I;65=(&-O;2YS;VQA<FUE=')I8RYK;V1O
M+FEM<&PN:F1B8RYE92Y%15!E<G-I<W1E;F-E36%N86=E<D9A8W1O<GE ,6%F
M-SAC93H@<F5G:7-T97)#;&%S<SH@(&YE="YX=')I;2YC<FTN8W5S=&]M97(N
M;V)J96-T+DYA='5R94 Q8C8Y-39F/3YF86QS90T*,C P,BTQ,BTP-2 Q,SHU
M-CHQ,2PV-S,@1$5"54<@6V-O;2YS;VQA<FUE=')I8RYK;V1O+E)U;G1I;65=
M(&-O;2YS;VQA<FUE=')I8RYK;V1O+FEM<&PN:F1B8RYE92Y%15!E<G-I<W1E
M;F-E36%N86=E<D9A8W1O<GE ,6%F-SAC93H@<F5G:7-T97)I;F<Z(&1E9F5R
M<FEN9R!R96=I<W1R871I;VX@;V8Z(&YE="YX=')I;2YC<FTN8W5S=&]M97(N
M;V)J96-T+D-O;G1A8W1);F9O0&-C,V4X#0HR,# R+3$R+3 U(#$S.C4V.C$Q
M+#8W,R!$14)51R!;8V]M+G-O;&%R;65T<FEC+FMO9&\N4G5N=&EM95T@8V]M
M+G-O;&%R;65T<FEC+FMO9&\N:6UP;"YJ9&)C+F5E+D5%4&5R<VES=&5N8V5-
M86YA9V5R1F%C=&]R>4 Q868W.&-E.B!R96=I<W1E<D-L87-S.B @;F5T+GAT
M<FEM+F-R;2YC=7-T;VUE<BYO8FIE8W0N0V]N=&%C=$EN9F] 8V,S93@]/F9A
M;'-E#0HR,# R+3$R+3 U(#$S.C4V.C$Q+#8X,R!$14)51R!;8V]M+G-O;&%R
M;65T<FEC+FMO9&\N4G5N=&EM95T@8V]M+G-O;&%R;65T<FEC+FMO9&\N:6UP
M;"YJ9&)C+F5E+D5%4&5R<VES=&5N8V5-86YA9V5R1F%C=&]R>4 Q868W.&-E
M.B!R96=I<W1E<FEN9SH@9&5F97)R:6YG(')E9VES=')A=&EO;B!O9CH@;F5T
M+GAT<FEM+F-R;2YC=7-T;VUE<BYO8FIE8W0N0V]N=')A8W14>7!E0#$S9&,T
M9#4-"C(P,#(M,3(M,#4@,3,Z-38Z,3$L-C@S($1%0E5'(%MC;VTN<V]L87)M
M971R:6,N:V]D;RY2=6YT:6UE72!C;VTN<V]L87)M971R:6,N:V]D;RYI;7!L
M+FID8F,N964N145097)S:7-T96YC94UA;F%G97)&86-T;W)Y0#%A9C<X8V4Z
M(')E9VES=&5R0VQA<W,Z("!N970N>'1R:6TN8W)M+F-U<W1O;65R+F]B:F5C
M="Y#;VYT<F%C=%1Y<&5 ,3-D8S1D-3T^9F%L<V4-"C(P,#(M,3(M,#4@,3,Z
M-38Z,3$L-C@S($1%0E5'(%MC;VTN<V]L87)M971R:6,N:V]D;RY2=6YT:6UE
M72!C;VTN<V]L87)M971R:6,N:V]D;RYI;7!L+FID8F,N964N145097)S:7-T
M96YC94UA;F%G97)&86-T;W)Y0#%A9C<X8V4Z(')E9VES=&5R:6YG.B!D969E
M<G)I;F<@<F5G:7-T<F%T:6]N(&]F.B!N970N>'1R:6TN8W)M+F-U<W1O;65R
M+F]B:F5C="Y#;VYT<F%C=$ T-3@Y96(-"C(P,#(M,3(M,#4@,3,Z-38Z,3$L
M-C@S($1%0E5'(%MC;VTN<V]L87)M971R:6,N:V]D;RY2=6YT:6UE72!C;VTN
M<V]L87)M971R:6,N:V]D;RYI;7!L+FID8F,N964N145097)S:7-T96YC94UA
M;F%G97)&86-T;W)Y0#%A9C<X8V4Z(')E9VES=&5R0VQA<W,Z("!N970N>'1R
M:6TN8W)M+F-U<W1O;65R+F]B:F5C="Y#;VYT<F%C=$ T-3@Y96(]/F9A;'-E
M#0HR,# R+3$R+3 U(#$S.C4V.C$Q+#8X,R!$14)51R!;8V]M+G-O;&%R;65T
M<FEC+FMO9&\N4G5N=&EM95T@8V]M+G-O;&%R;65T<FEC+FMO9&\N:6UP;"YJ
M9&)C+F5E+D5%4&5R<VES=&5N8V5-86YA9V5R1F%C=&]R>4 Q868W.&-E.B!R
M96=I<W1E<FEN9SH@9&5F97)R:6YG(')E9VES=')A=&EO;B!O9CH@;F5T+GAT
M<FEM+F-R;2YC=7-T;VUE<BYO8FIE8W0N0W5S=&]M97)0:&]N94 W,S5F-#4-
M"C(P,#(M,3(M,#4@,3,Z-38Z,3$L-C@S($1%0E5'(%MC;VTN<V]L87)M971R
M:6,N:V]D;RY2=6YT:6UE72!C;VTN<V]L87)M971R:6,N:V]D;RYI;7!L+FID
M8F,N964N145097)S:7-T96YC94UA;F%G97)&86-T;W)Y0#%A9C<X8V4Z(')E
M9VES=&5R0VQA<W,Z("!N970N>'1R:6TN8W)M+F-U<W1O;65R+F]B:F5C="Y#
M=7-T;VUE<E!H;VYE0#<S-68T-3T^9F%L<V4-"C(P,#(M,3(M,#4@,3,Z-38Z
M,3$L-C@S($1%0E5'(%MC;VTN<V]L87)M971R:6,N:V]D;RY-971A1&%T85T@
M<&%R<V5D(&IA<CIF:6QE.B]$.B]J879A+VIB;W-S+3,N,"XT+W-E<G9E<B]S
M=7!P;W)T8W)M+W1M<"]D97!L;WDO<V5R=F5R+W-U<'!O<G1C<FTO9&5P;&]Y
M+U-U<'!O<G1#4DTN96%R+S8V+E-U<'!O<G1#4DTN96%R+6-O;G1E;G1S+V-R
M;45*0G,N:F%R(2]N970O>'1R:6TO8W)M+V-U<W1O;65R+V]B:F5C="]#=7-T
M;VUE<BYJ9&\Z(%MC;VTN<V]L87)M971R:6,N:V]D;RYM971A+D-L87-S365T
M841A=&% -S-C8S$Q6SMT>7!E/6-L87-S(&YE="YX=')I;2YC<FTN8W5S=&]M
M97(N;V)J96-T+D-U<W1O;65R.VQO861E<CUO<F<N:F)O<W,N;7@N;&]A9&EN
M9RY5;FEF:65D0VQA<W-,;V%D97(S0&-A8C@U-'L@=7)L/69I;&4Z+T0Z+VIA
M=F$O:F)O<W,M,RXP+C0O<V5R=F5R+W-U<'!O<G1C<FTO=&UP+V1E<&QO>2]S
M97)V97(O<W5P<&]R=&-R;2]D97!L;WDO4W5P<&]R=$-232YE87(O-C8N4W5P
M<&]R=$-232YE87(M8V]N=&5N=',O8W)M14I"<RYJ87(@?3MF:6YI<VAE9#UF
M86QS93ME;FAA;F-E9#UT<G5E75T-"C(P,#(M,3(M,#4@,3,Z-38Z,3$L-C@S
M($1%0E5'(%MC;VTN<V]L87)M971R:6,N:V]D;RY-971A1&%T85T@<&%R<V5D
M(&UE=&%D871A.B!T>7!E/6-L87-S(&YE="YX=')I;2YC<FTN8W5S=&]M97(N
M;V)J96-T+D-U<W1O;65R0#(W,V8T93MV86QI9&%T93UF86QS93H@6V-O;2YS
M;VQA<FUE=')I8RYK;V1O+FUE=&$N0VQA<W--971A1&%T84 W,V-C,3%;.W1Y
M<&4]8VQA<W,@;F5T+GAT<FEM+F-R;2YC=7-T;VUE<BYO8FIE8W0N0W5S=&]M
M97([;&]A9&5R/6]R9RYJ8F]S<RYM>"YL;V%D:6YG+E5N:69I961#;&%S<TQO
M861E<C- 8V%B.#4T>R!U<FP]9FEL93HO1#HO:F%V82]J8F]S<RTS+C N-"]S
M97)V97(O<W5P<&]R=&-R;2]T;7 O9&5P;&]Y+W-E<G9E<B]S=7!P;W)T8W)M
M+V1E<&QO>2]3=7!P;W)T0U)-F5A<B\V-BY3=7!P;W)T0U)-F5A<BUC;VYT
M96YT<R]C<FU%2D)S+FIA<B!].V9I;FES:&5D/69A;'-E.V5N:&%N8V5D/71R
M=65=70T*,C P,BTQ,BTP-2 Q,SHU-CHQ,2PV.#,@1$5"54<@6V-O;2YS;VQA
M<FUE=')I8RYK;V1O+DUE=&%$871A72!C86-H960@;65T861A=&$Z('1Y<&4]
M;F5T+GAT<FEM+F-R;2YC=7-T;VUE<BYO8FIE8W0N0W5S=&]M97) ,C<S9C1E
M.VQO861E<CUC;VTN<V]L87)M971R:6,N:V]D;RYU=&EL+DUU;'1I3&]A9&5R
M0VQA<W-297-O;'9E<D!C86(X-S,@;&]A9&5R<SH@6V]R9RYJ8F]S<RYM>"YL
M;V%D:6YG+E5N:69I961#;&%S<TQO861E<C- 8V%B.#4T>R!U<FP]9FEL93HO
M1#HO:F%V82]J8F]S<RTS+C N-"]S97)V97(O<W5P<&]R=&-R;2]T;7 O9&5P
M;&]Y+W-E<G9E<B]S=7!P;W)T8W)M+V1E<&QO>2]3=7!P;W)T0U)-+F5A<B\V
M-BY3=7!P;W)T0U)-+F5A<BUC;VYT96YT<R]C<FU%2D)S+FIA<B!]73L@=&AR
M96%D)W,@8V]N=&5X="!C;&%S<R!L;V%D97(Z(&IA=F$N;F5T+E523$-L87-S
M3&]A9&5R0#-C.3,Q-#MV86QI9&%T93UF86QS93H@8V]M+G-O;&%R;65T<FEC
M+FMO9&\N;65T82Y#;&%S<TUE=&%$871A0#<S8V,Q,5L[='EP93UC;&%S<R!N
M970N>'1R:6TN8W)M+F-U<W1O;65R+F]B:F5C="Y#=7-T;VUE<CML;V%D97(]
M;W)G+FIB;W-S+FUX+FQO861I;F<N56YI9FEE9$-L87-S3&]A9&5R,T!C86(X
M-31[('5R;#UF:6QE.B]$.B]J879A+VIB;W-S+3,N,"XT+W-E<G9E<B]S=7!P
M;W)T8W)M+W1M<"]D97!L;WDO<V5R=F5R+W-U<'!O<G1C<FTO9&5P;&]Y+U-U
M<'!O<G1#4DTN96%R+S8V+E-U<'!O<G1#4DTN96%R+6-O;G1E;G1S+V-R;45*
M0G,N:F%R('T[9FEN:7-H960]9F%L<V4[96YH86YC960]=')U95T-"C(P,#(M
M,3(M,#4@,3,Z-38Z,3$L-CDS($1%0E5'(%MC;VTN<V]L87)M971R:6,N:V]D
M;RY-971A1&%T85T@9F]U;F0@2D1/(')E<V]U<F-E($-U<G)E;F-Y+FID;R!F
M;W(@;F5T+GAT<FEM+F-R;2YD:6-T:6]N87)Y+F]B:F5C="Y#=7)R96YC>2!A
M="!J87(Z9FEL93HO1#HO:F%V82]J8F]S<RTS+C N-"]S97)V97(O<W5P<&]R
M=&-R;2]T;7 O9&5P;&]Y+W-E<G9E<B]S=7!P;W)T8W)M+V1E<&QO>2]3=7!P
M;W)T0U)-+F5A<B\V-BY3=7!P;W)T0U)-+F5A<BUC;VYT96YT<R]C<FU%2D)S
M+FIA<B$O;F5T+WAT<FEM+V-R;2]D:6-T:6]N87)Y+V]B:F5C="]#=7)R96YC
M>2YJ9&\-"C(P,#(M,3(M,#4@,3,Z-38Z,3$L-CDS($E.1D\@(%MC;VTN<V]L
M87)M971R:6,N:V]D;RY-971A1&%T85T@8V]M+G-O;&%R;65T<FEC+FMO9&\N
M;65T82Y*1$]-971A1&%T85!A<G-E<D U83EC-F4Z('!A<G-I;F<@<V]U<F-E
M.B!J87(Z9FEL93HO1#HO:F%V82]J8F]S<RTS+C N-"]S97)V97(O<W5P<&]R
M=&-R;2]T;7 O9&5P;&]Y+W-E<G9E<B]S=7!P;W)T8W)M+V1E<&QO>2]3=7!P
M;W)T0U)-F5A<B\V-BY3=7!P;W)T0U)-F5A<BUC;VYT96YT<R]C<FU%2D)S
M+FIA<B$O;F5T+WAT<FEM+V-R;2]D:6-T:6]N87)Y+V]B:F5C="]#=7)R96YC
M>2YJ9&\-"C(P,#(M,3(M,#4@,3,Z-38Z,3$L-S S($1%0E5'(%MC;VTN<V]L
M87)M971R:6,N:V]D;RY-971A1&%T85T@<&%R<V5D(&IA<CIF:6QE.B]$.B]J
M879A+VIB;W-S+3,N,"XT+W-E<G9E<B]S=7!P;W)T8W)M+W1M<"]D97!L;WDO
M<V5R=F5R+W-U<'!O<G1C<FTO9&5P;&]Y+U-U<'!O<G1#4DTN96%R+S8V+E-U
M<'!O<G1#4DTN96%R+6-O;G1E;G1S+V-R;45*0G,N:F%R(2]N970O>'1R:6TO
M8W)M+V1I8W1I;VYA<GDO;V)J96-T+T-U<G)E;F-Y+FID;SH@6V-O;2YS;VQA
M<FUE=')I8RYK;V1O+FUE=&$N0VQA<W--971A1&%T84!B9#1D8S);.W1Y<&4]
M8VQA<W,@;F5T+GAT<FEM+F-R;2YD:6-T:6]N87)Y+F]B:F5C="Y#=7)R96YC
M>3ML;V%D97(];W)G+FIB;W-S+FUX+FQO861I;F<N56YI9FEE9$-L87-S3&]A
M9&5R,T!C86(X-31[('5R;#UF:6QE.B]$.B]J879A+VIB;W-S+3,N,"XT+W-E
M<G9E<B]S=7!P;W)T8W)M+W1M<"]D97!L;WDO<V5R=F5R+W-U<'!O<G1C<FTO
M9&5P;&]Y+U-U<'!O<G1#4DTN96%R+S8V+E-U<'!O<G1#4DTN96%R+6-O;G1E
M;G1S+V-R;45*0G,N:F%R('T[9FEN:7-H960]9F%L<V4[96YH86YC960]=')U
M95U=#0HR,# R+3$R+3 U(#$S.C4V.C$Q+#<P,R!$14)51R!;8V]M+G-O;&%R
M;65T<FEC+FMO9&\N365T841A=&%=('!A<G-E9"!M971A9&%T83H@='EP93UC
M;&%S<R!N970N>'1R:6TN8W)M+F1I8W1I;VYA<GDN;V)J96-T+D-U<G)E;F-Y
M0#0S,34S8SMV86QI9&%T93UF86QS93H@6V-O;2YS;VQA<FUE=')I8RYK;V1O
M+FUE=&$N0VQA<W--971A1&%T84!B9#1D8S);.W1Y<&4]8VQA<W,@;F5T+GAT
M<FEM+F-R;2YD:6-T:6]N87)Y+F]B:F5C="Y#=7)R96YC>3ML;V%D97(];W)G
M+FIB;W-S+FUX+FQO861I;F<N56YI9FEE9$-L87-S3&]A9&5R,T!C86(X-31[
M('5R;#UF:6QE.B]$.B]J879A+VIB;W-S+3,N,"XT+W-E<G9E<B]S=7!P;W)T
M8W)M+W1M<"]D97!L;WDO<V5R=F5R+W-U<'!O<G1C<FTO9&5P;&]Y+U-U<'!O
M<G1#4DTN96%R+S8V+E-U<'!O<G1#4DTN96%R+6-O;G1E;G1S+V-R;45*0G,N
M:F%R('T[9FEN:7-H960]9F%L<V4[96YH86YC960]=')U95U=#0HR,# R+3$R
M+3 U(#$S.C4V.C$Q+#<P,R!$14)51R!;8V]M+G-O;&%R;65T<FEC+FMO9&\N
M365T841A=&%=(&-A8VAE9"!M971A9&%T83H@='EP93UN970N>'1R:6TN8W)M
M+F1I8W1I;VYA<GDN;V)J96-T+D-U<G)E;F-Y0#0S,34S8SML;V%D97(]8V]M
M+G-O;&%R;65T<FEC+FMO9&\N=71I;"Y-=6QT:4QO861E<D-L87-S4F5S;VQV
M97) 8V%B.#<S(&QO861E<G,Z(%MO<F<N:F)O<W,N;7@N;&]A9&EN9RY5;FEF
M:65D0VQA<W-,;V%D97(S0&-A8C@U-'L@=7)L/69I;&4Z+T0Z+VIA=F$O:F)O
M<W,M,RXP+C0O<V5R=F5R+W-U<'!O<G1C<FTO=&UP+V1E<&QO>2]S97)V97(O
M<W5P<&]R=&-R;2]D97!L;WDO4W5P<&]R=$-232YE87(O-C8N4W5P<&]R=$-2
M32YE87(M8V]N=&5N=',O8W)M14I"<RYJ87(@?5T[('1H<F5A9"=S(&-O;G1E
M>'0@8VQA<W,@;&]A9&5R.B!J879A+FYE="Y54DQ#;&%S<TQO861E<D S8SDS
M,30[=F%L:61A=&4]9F%L<V4Z(&-O;2YS;VQA<FUE=')I8RYK;V1O+FUE=&$N
M0VQA<W--971A1&%T84!B9#1D8S);.W1Y<&4]8VQA<W,@;F5T+GAT<FEM+F-R
M;2YD:6-T:6]N87)Y+F]B:F5C="Y#=7)R96YC>3ML;V%D97(];W)G+FIB;W-S
M+FUX+FQO861I;F<N56YI9FEE9$-L87-S3&]A9&5R,T!C86(X-31[('5R;#UF
M:6QE.B]$.B]J879A+VIB;W-S+3,N,"XT+W-E<G9E<B]S=7!P;W)T8W)M+W1M
M<"]D97!L;WDO<V5R=F5R+W-U<'!O<G1C<FTO9&5P;&]Y+U-U<'!O<G1#4DTN
M96%R+S8V+E-U<'!O<G1#4DTN96%R+6-O;G1E;G1S+V-R;45*0G,N:F%R('T[
M9FEN:7-H960]9F%L<V4[96YH86YC960]=')U95T-"C(P,#(M,3(M,#4@,3,Z
M-38Z,3$L-S$S($1%0E5'(%MC;VTN<V]L87)M971R:6,N:V]D;RY-971A1&%T
M85T@8W)E871E9"!M971A9&%T83H@='EP93UN970N>'1R:6TN8W)M+F1I8W1I
M;VYA<GDN;V)J96-T+D-U<G)E;F-Y0#0S,34S8SML;V%D97(]8V]M+G-O;&%R
M;65T<FEC+FMO9&\N=71I;"Y-=6QT:4QO861E<D-L87-S4F5S;VQV97) 8V%B
M.#<S(&QO861E<G,Z(%MO<F<N:F)O<W,N;7@N;&]A9&EN9RY5;FEF:65D0VQA
M<W-,;V%D97(S0&-A8C@U-'L@=7)L/69I;&4Z+T0Z+VIA=F$O:F)O<W,M,RXP
M+C0O<V5R=F5R+W-U<'!O<G1C<FTO=&UP+V1E<&QO>2]S97)V97(O<W5P<&]R
M=&-R;2]D97!L;WDO4W5P<&]R=$-232YE87(O-C8N4W5P<&]R=$-232YE87(M
M8V]N=&5N=',O8W)M14I"<RYJ87(@?5T[('1H<F5A9"=S(&-O;G1E>'0@8VQA
M<W,@;&]A9&5R.B!J879A+FYE="Y54DQ#;&%S<TQO861E<D S8SDS,30[=F%L
M:61A=&4]9F%L<V4Z(&-O;2YS;VQA<FUE=')I8RYK;V1O+FUE=&$N0VQA<W--
M971A1&%T84!B9#1D8S);.W1Y<&4]8VQA<W,@;F5T+GAT<FEM+F-R;2YD:6-T
M:6]N87)Y+F]B:F5C="Y#=7)R96YC>3ML;V%D97(];W)G+FIB;W-S+FUX+FQO
M861I;F<N56YI9FEE9$-L87-S3&]A9&5R,T!C86(X-31[('5R;#UF:6QE.B]$
M.B]J879A+VIB;W-S+3,N,"XT+W-E<G9E<B]S=7!P;W)T8W)M+W1M<"]D97!L
M;WDO<V5R=F5R+W-U<'!O<G1C<FTO9&5P;&]Y+U-U<'!O<G1#4DTN96%R+S8V
M+E-U<'!O<G1#4DTN96%R+6-O;G1E;G1S+V-R;45*0G,N:F%R('T[9FEN:7-H
M960]=')U93ME;FAA;F-E9#UT<G5E70T*,C P,BTQ,BTP-2 Q,SHU-CHQ,2PW
M,C,@1$5"54<@6V-O;2YS;VQA<FUE=')I8RYK;V1O+DUE=&%$871A72!F;W5N
M9"!*1$\@<F5S;W5R8V4@0V]N=&%C=$EN9F\N:F1O(&9O<B!N970N>'1R:6TN
M8W)M+F-U<W1O;65R+F]B:F5C="Y#;VYT86-T26YF;R!A="!J87(Z9FEL93HO
M1#HO:F%V82]J8F]S<RTS+C N-"]S97)V97(O<W5P<&]R=&-R;2]T;7 O9&5P
M;&]Y+W-E<G9E<B]S=7!P;W)T8W)M+V1E<&QO>2]3=7!P;W)T0U)-+F5A<B\V
M-BY3=7!P;W)T0U)-+F5A<BUC;VYT96YT<R]C<FU%2D)S+FIA<B$O;F5T+WAT
M<FEM+V-R;2]C=7-T;VUE<B]O8FIE8W0O0V]N=&%C=$EN9F\N:F1O#0HR,# R
M+3$R+3 U(#$S.C4V.C$Q+#<R,R!)3D9/("!;8V]M+G-O;&%R;65T<FEC+FMO
M9&\N365T841A=&%=(&-O;2YS;VQA<FUE=')I8RYK;V1O+FUE=&$N2D1/365T
M841A=&%087)S97) ,3DQ9&0Q9#H@<&%R<VEN9R!S;W5R8V4Z(&IA<CIF:6QE
M.B]$.B]J879A+VIB;W-S+3,N,"XT+W-E<G9E<B]S=7!P;W)T8W)M+W1M<"]D
M97!L;WDO<V5R=F5R+W-U<'!O<G1C<FTO9&5P;&]Y+U-U<'!O<G1#4DTN96%R
M+S8V+E-U<'!O<G1#4DTN96%R+6-O;G1E;G1S+V-R;45*0G,N:F%R(2]N970O
M>'1R:6TO8W)M+V-U<W1O;65R+V]B:F5C="]#;VYT86-T26YF;RYJ9&\-"C(P
M,#(M,3(M,#4@,3,Z-38Z,3$L-S,S($1%0E5'(%MC;VTN<V]L87)M971R:6,N
M:V]D;RY-971A1&%T85T@<&%R<V5D(&IA<CIF:6QE.B]$.B]J879A+VIB;W-S
M+3,N,"XT+W-E<G9E<B]S=7!P;W)T8W)M+W1M<"]D97!L;WDO<V5R=F5R+W-U
M<'!O<G1C<FTO9&5P;&]Y+U-U<'!O<G1#4DTN96%R+S8V+E-U<'!O<G1#4DTN
M96%R+6-O;G1E;G1S+V-R;45*0G,N:F%R(2]N970O>'1R:6TO8W)M+V-U<W1O
M;65R+V]B:F5C="]#;VYT86-T26YF;RYJ9&\Z(%MC;VTN<V]L87)M971R:6,N
M:V]D;RYM971A+D-L87-S365T841A=&% 9C8Y,&4T6SMT>7!E/6-L87-S(&YE
M="YX=')I;2YC<FTN8W5S=&]M97(N;V)J96-T+D-O;G1A8W1);F9O.VQO861E
M<CUO<F<N:F)O<W,N;7@N;&]A9&EN9RY5;FEF:65D0VQA<W-,;V%D97(S0&-A
M8C@U-'L@=7)L/69I;&4Z+T0Z+VIA=F$O:F)O<W,M,RXP+C0O<V5R=F5R+W-U
M<'!O<G1C<FTO=&UP+V1E<&QO>2]S97)V97(O<W5P<&]R=&-R;2]D97!L;WDO
M4W5P<&]R=$-232YE87(O-C8N4W5P<&]R=$-232YE87(M8V]N=&5N=',O8W)M
M14I"<RYJ87(@?3MF:6YI<VAE9#UF86QS93ME;FAA;F-E9#UT<G5E75T-"C(P
M,#(M,3(M,#4@,3,Z-38Z,3$L-S,S($1%0E5'(%MC;VTN<V]L87)M971R:6,N
M:V]D;RY-971A1&%T85T@<&%R<V5D(&UE=&%D871A.B!T>7!E/6-L87-S(&YE
M="YX=')I;2YC<FTN8W5S=&]M97(N;V)J96-T+D-O;G1A8W1);F9O0&-C,V4X
M.W9A;&ED871E/69A;'-E.B!;8V]M+G-O;&%R;65T<FEC+FMO9&\N;65T82Y#
M;&%S<TUE=&%$871A0&8V.3!E-%L[='EP93UC;&%S<R!N970N>'1R:6TN8W)M
M+F-U<W1O;65R+F]B:F5C="Y#;VYT86-T26YF;SML;V%D97(];W)G+FIB;W-S
M+FUX+FQO861I;F<N56YI9FEE9$-L87-S3&]A9&5R,T!C86(X-31[('5R;#UF
M:6QE.B]$.B]J879A+VIB;W-S+3,N,"XT+W-E<G9E<B]S=7!P;W)T8W)M+W1M
M<"]D97!L;WDO<V5R=F5R+W-U<'!O<G1C<FTO9&5P;&]Y+U-U<'!O<G1#4DTN
M96%R+S8V+E-U<'!O<G1#4DTN96%R+6-O;G1E;G1S+V-R;45*0G,N:F%R('T[
M9FEN:7-H960]9F%L<V4[96YH86YC960]=')U95U=#0HR,# R+3$R+3 U(#$S
M.C4V.C$Q+#<S,R!$14)51R!;8V]M+G-O;&%R;65T<FEC+FMO9&\N365T841A
M=&%=(&-A8VAE9"!M971A9&%T83H@='EP93UN970N>'1R:6TN8W)M+F-U<W1O
M;65R+F]B:F5C="Y#;VYT86-T26YF;T!C8S-E.#ML;V%D97(]8V]M+G-O;&%R
M;65T<FEC+FMO9&\N=71I;"Y-=6QT:4QO861E<D-L87-S4F5S;VQV97) 8V%B
M.#<S(&QO861E<G,Z(%MO<F<N:F)O<W,N;7@N;&]A9&EN9RY5;FEF:65D0VQA
M<W-,;V%D97(S0&-A8C@U-'L@=7)L/69I;&4Z+T0Z+VIA=F$O:F)O<W,M,RXP
M+C0O<V5R=F5R+W-U<'!O<G1C<FTO=&UP+V1E<&QO>2]S97)V97(O<W5P<&]R
M=&-R;2]D97!L;WDO4W5P<&]R=$-232YE87(O-C8N4W5P<&]R=$-232YE87(M
M8V]N=&5N=',O8W)M14I"<RYJ87(@?5T[('1H<F5A9"=S(&-O;G1E>'0@8VQA
M<W,@;&]A9&5R.B!J879A+FYE="Y54DQ#;&%S<TQO861E<D S8SDS,30[=F%L
M:61A=&4]9F%L<V4Z(&-O;2YS;VQA<FUE=')I8RYK;V1O+FUE=&$N0VQA<W--
M971A1&%T84!F-CDP931;.W1Y<&4]8VQA<W,@;F5T+GAT<FEM+F-R;2YC=7-T
M;VUE<BYO8FIE8W0N0V]N=&%C=$EN9F\[;&]A9&5R/6]R9RYJ8F]S<RYM>"YL
M;V%D:6YG+E5N:69I961#;&%S<TQO861E<C- 8V%B.#4T>R!U<FP]9FEL93HO
M1#HO:F%V82]J8F]S<RTS+C N-"]S97)V97(O<W5P<&]R=&-R;2]T;7 O9&5P
M;&]Y+W-E<G9E<B]S=7!P;W)T8W)M+V1E<&QO>2]3=7!P;W)T0U)-+F5A<B\V
M-BY3=7!P;W)T0U)-+F5A<BUC;VYT96YT<R]C<FU%2D)S+FIA<B!].V9I;FES
M:&5D/69A;'-E.V5N:&%N8V5D/71R=65=#0HR,# R+3$R+3 U(#$S.C4V.C$Q
M+#<S,R!$14)51R!;8V]M+G-O;&%R;65T<FEC+FMO9&\N365T841A=&%=(&9O
M=6YD($I$3R!R97-O=7)C92!,86YG=6%G92YJ9&\@9F]R(&YE="YX=')I;2YC
M<FTN9&EC=&EO;F%R>2YO8FIE8W0N3&%N9W5A9V4@870@:F%R.F9I;&4Z+T0Z
M+VIA=F$O:F)O<W,M,RXP+C0O<V5R=F5R+W-U<'!O<G1C<FTO=&UP+V1E<&QO
M>2]S97)V97(O<W5P<&]R=&-R;2]D97!L;WDO4W5P<&]R=$-232YE87(O-C8N
M4W5P<&]R=$-232YE87(M8V]N=&5N=',O8W)M14I"<RYJ87(A+VYE="]X=')I
M;2]C<FTO9&EC=&EO;F%R>2]O8FIE8W0O3&%N9W5A9V4N:F1O#0HR,# R+3$R
M+3 U(#$S.C4V.C$Q+#<S,R!)3D9/("!;8V]M+G-O;&%R;65T<FEC+FMO9&\N
M365T841A=&%=(&-O;2YS;VQA<FUE=')I8RYK;V1O+FUE=&$N2D1/365T841A
M=&%087)S97) ,6$R.30U,#H@<&%R<VEN9R!S;W5R8V4Z(&IA<CIF:6QE.B]$
M.B]J879A+VIB;W-S+3,N,"XT+W-E<G9E<B]S=7!P;W)T8W)M+W1M<"]D97!L
M;WDO<V5R=F5R+W-U<'!O<G1C<FTO9&5P;&]Y+U-U<'!O<G1#4DTN96%R+S8V
M+E-U<'!O<G1#4DTN96%R+6-O;G1E;G1S+V-R;45*0G,N:F%R(2]N970O>'1R
M:6TO8W)M+V1I8W1I;VYA<GDO;V)J96-T+TQA;F=U86=E+FID;PT*,C P,BTQ
M,BTP-2 Q,SHU-CHQ,2PW-#,@1$5"54<@6V-O;2YS;VQA<FUE=')I8RYK;V1O
M+DUE=&%$871A72!P87)S960@:F%R.F9I;&4Z+T0Z+VIA=F$O:F)O<W,M,RXP
M+C0O<V5R=F5R+W-U<'!O<G1C<FTO=&UP+V1E<&QO>2]S97)V97(O<W5P<&]R
M=&-R;2]D97!L;WDO4W5P<&]R=$-232YE87(O-C8N4W5P<&]R=$-232YE87(M
M8V]N=&5N=',O8W)M14I"<RYJ87(A+VYE="]X=')I;2]C<FTO9&EC=&EO;F%R
M>2]O8FIE8W0O3&%N9W5A9V4N:F1O.B!;8V]M+G-O;&%R;65T<FEC+FMO9&\N
M;65T82Y#;&%S<TUE=&%$871A0#$X.&0Y,F5;.W1Y<&4]8VQA<W,@;F5T+GAT
M<FEM+F-R;2YD:6-T:6]N87)Y+F]B:F5C="Y,86YG=6%G93ML;V%D97(];W)G
M+FIB;W-S+FUX+FQO861I;F<N56YI9FEE9$-L87-S3&]A9&5R,T!C86(X-31[
M('5R;#UF:6QE.B]$.B]J879A+VIB;W-S+3,N,"XT+W-E<G9E<B]S=7!P;W)T
M8W)M+W1M<"]D97!L;WDO<V5R=F5R+W-U<'!O<G1C<FTO9&5P;&]Y+U-U<'!O
M<G1#4DTN96%R+S8V+E-U<'!O<G1#4DTN96%R+6-O;G1E;G1S+V-R;45*0G,N
M:F%R('T[9FEN:7-H960]9F%L<V4[96YH86YC960]=')U95U=#0HR,# R+3$R
M+3 U(#$S.C4V.C$Q+#<T,R!$14)51R!;8V]M+G-O;&%R;65T<FEC+FMO9&\N
M365T841A=&%=('!A<G-E9"!M971A9&%T83H@='EP93UC;&%S<R!N970N>'1R
M:6TN8W)M+F1I8W1I;VYA<GDN;V)J96-T+DQA;F=U86=E0#%D,#9D,#([=F%L
M:61A=&4]9F%L<V4Z(%MC;VTN<V]L87)M971R:6,N:V]D;RYM971A+D-L87-S
M365T841A=&% ,3@X9#DR95L[='EP93UC;&%S<R!N970N>'1R:6TN8W)M+F1I
M8W1I;VYA<GDN;V)J96-T+DQA;F=U86=E.VQO861E<CUO<F<N:F)O<W,N;7@N
M;&]A9&EN9RY5;FEF:65D0VQA<W-,;V%D97(S0&-A8C@U-'L@=7)L/69I;&4Z
M+T0Z+VIA=F$O:F)O<W,M,RXP+C0O<V5R=F5R+W-U<'!O<G1C<FTO=&UP+V1E
M<&QO>2]S97)V97(O<W5P<&]R=&-R;2]D97!L;WDO4W5P<&]R=$-232YE87(O
M-C8N4W5P<&]R=$-232YE87(M8V]N=&5N=',O8W)M14I"<RYJ87(@?3MF:6YI
M<VAE9#UF86QS93ME;FAA;F-E9#UT<G5E75T-"C(P,#(M,3(M,#4@,3,Z-38Z
M,3$L-S0S($1%0E5'(%MC;VTN<V]L87)M971R:6,N:V]D;RY-971A1&%T85T@
M8V%C:&5D(&UE=&%D871A.B!T>7!E/6YE="YX=')I;2YC<FTN9&EC=&EO;F%R
M>2YO8FIE8W0N3&%N9W5A9V5 ,60P-F0P,CML;V%D97(]8V]M+G-O;&%R;65T
M<FEC+FMO9&\N=71I;"Y-=6QT:4QO861E<D-L87-S4F5S;VQV97) 8V%B.#<S
M(&QO861E<G,Z(%MO<F<N:F)O<W,N;7@N;&]A9&EN9RY5;FEF:65D0VQA<W-,
M;V%D97(S0&-A8C@U-'L@=7)L/69I;&4Z+T0Z+VIA=F$O:F)O<W,M,RXP+C0O
M<V5R=F5R+W-U<'!O<G1C<FTO=&UP+V1E<&QO>2]S97)V97(O<W5P<&]R=&-R
M;2]D97!L;WDO4W5P<&]R=$-232YE87(O-C8N4W5P<&]R=$-232YE87(M8V]N
M=&5N=',O8W)M14I"<RYJ87(@?5T[('1H<F5A9"=S(&-O;G1E>'0@8VQA<W,@
M;&]A9&5R.B!J879A+FYE="Y54DQ#;&%S<TQO861E<D S8SDS,30[=F%L:61A
M=&4]9F%L<V4Z(&-O;2YS;VQA<FUE=')I8RYK;V1O+FUE=&$N0VQA<W--971A
M1&%T84 Q.#AD.3)E6SMT>7!E/6-L87-S(&YE="YX=')I;2YC<FTN9&EC=&EO
M;F%R>2YO8FIE8W0N3&%N9W5A9V4[;&]A9&5R/6]R9RYJ8F]S<RYM>"YL;V%D
M:6YG+E5N:69I961#;&%S<TQO861E<C- 8V%B.#4T>R!U<FP]9FEL93HO1#HO
M:F%V82]J8F]S<RTS+C N-"]S97)V97(O<W5P<&]R=&-R;2]T;7 O9&5P;&]Y
M+W-E<G9E<B]S=7!P;W)T8W)M+V1E<&QO>2]3=7!P;W)T0U)-+F5A<B\V-BY3
M=7!P;W)T0U)-+F5A<BUC;VYT96YT<R]C<FU%2D)S+FIA<B!].V9I;FES:&5D
M/69A;'-E.V5N:&%N8V5D/71R=65Can you check what metadata you can see?
I gathered that you have an access to dWfStepName, and dID, but not to other metadata values - sounds like the values you can see are taken from workflow temporary files and if you want to have all the metadata of the item you will have to run a search query to get them. I would suggest to follow to other workflow screens (workflow_review_frames template), because there it is possible to see all metadata and you can get an idea what needs to be done. -
Problem with local class, static private attribute and public method
Hello SDN,
Consider the following situation:
1) I have defined a LOCAL class airplane.
2) This class has a private static attribute "type table of ref to" airplane (array of airplanes)
3) A public method should return the private static table attribute
Problems:
a) The table cannot be given as an EXPORTING parameter in the method because TYPE TABLE OF... is not supported and I get syntax errors. I also cannot define a dictionary table type because it is a local class.
b) The table cannot be given as a TABLES parameter in the method because TABLES is not supported in the OO context.
c) The table cannot be given as an EXPORTING parameter in the method defined as LIKE myStaticAttribute because my method is PUBLIC and my attribute is PRIVATE. ABAP syntax requires that all PUBLIC statements are defined before PRIVATE ones, therefore it cannot find the attribute to reference to with LIKE.
I see only 2 solutions:
a) Never ever use local classes and always use global classes so that I might define a dictionary table type of my class which I can then use in my class.
b) Make the attribute public, but this goes against OO principles, and isn't really an option.
Am I missing anything here, or is this simply overlooked so far?Hello Niels
Since your class is local and, thus, only know to the "surrounding" application is does not really make sense to make it public to any other application.
However, if you require to store instances of your local classes in internal tables simply use the most generic reference type possible, i.e. <b>OBJECT</b>.
The following sample report shows how to do that. Furthermore, I believe it also shows that there are <u><b>no </b></u>serious inconsistency in the ABAP language.
*& Report ZUS_SDN_LOCAL_CLASS
REPORT zus_sdn_local_class.
" NOTE: SWF_UTL_OBJECT_TAB is a table type having reference type OBJECT
* CLASS lcl_airplane DEFINITION
CLASS lcl_airplane DEFINITION.
PUBLIC SECTION.
DATA: md_counter(3) TYPE n.
METHODS: constructor,
get_instances
RETURNING
value(rt_instances) TYPE swf_utl_object_tab.
PRIVATE SECTION.
CLASS-DATA: mt_instances TYPE swf_utl_object_tab.
ENDCLASS. "lcl_airplane DEFINITION
* CLASS lcl_airplane IMPLEMENTATION
CLASS lcl_airplane IMPLEMENTATION.
METHOD constructor.
APPEND me TO mt_instances.
DESCRIBE TABLE mt_instances.
md_counter = syst-tfill.
ENDMETHOD. "constructor
METHOD get_instances.
rt_instances = mt_instances.
ENDMETHOD. "get_instance
ENDCLASS. "lcl_airplane IMPLEMENTATION
DATA:
gt_instances TYPE swf_utl_object_tab,
go_object TYPE REF TO object,
go_airplane TYPE REF TO lcl_airplane.
START-OF-SELECTION.
" Create a few airplane instance
DO 5 TIMES.
CREATE OBJECT go_airplane.
ENDDO.
gt_instances = go_airplane->get_instances( ).
CLEAR: go_airplane.
LOOP AT gt_instances INTO go_object.
go_airplane ?= go_object.
WRITE: / 'Airplane =', go_airplane->md_counter.
ENDLOOP.
END-OF-SELECTION.
Regards
Uwe<u></u> -
No implementing class registered for the interface
Hello,
I know that I'm not the first one posting this problem, but I can't find an appropriate solution for my problem. When I execute the FlightSeatAvailabilityCheck scenario I got the following error:
Unable to check flight availability.
Error Type: XI system error
Error Details: No implementing class registered for the interface (type ifmmessif, name FlightSeatAvailabilityQuery_Out, namespace http://sap.com/xi/XI/Demo/Agency )
I have to say that I accidently deleted the proxy but I have recreated and activated the concerning proxy (CO_SXIDAG_FSA_QUERY) and still get the error. I read in this thread: XI 3.0 Demo: Unable to check flight availability: XI System Error that it would help to create a RFC in sm59. Why do I have to do this although I'm using proxies?
And does it make a difference in which client I create and activate the proxies?
Regards
Marci tried following solution also from old messages in SDN -
Go to SXMB_ADM.
Execute Integration Engine
EDIT-> Change Global configuration data
Select the Role of Business System is Integration Server
Again started getting error-PROXY_NOT_ALLOWED_ON_IS:
Proxy calls are not permitted on sender or receiver side on the IS (client)</SAP:Stack>
But again one of the messages in SDN suggests to change Global configuration data,
EDIT-> Change Global configuration data
Select the Role of Business System is Application system.
it seems it's going in loop.... -
Selecing old attribute value in an implementation class
Dear All,
Am using ADF 11.1.1.3 and am trying to write some validation on an entity's implementation class ( in doDml method ) and i need to compare one attribute old value with the current value ...
how can i do that ?The EntityImpl class has a method getPostedAttribute(int index) which gets the value originally read for this attribute from the database.
Timo
Maybe you are looking for
-
I keep getting "This content requires HDCP for playback" with my new Apple TV 3.
I keep getting "This content requires HDCP for playback" with my new Apple TV 3. I've returned one and got a new one. I've turned everything on and off. I've upgraded my bandwith. I've tried using different HDMI ports. Nothing is working. Sometimes a
-
CCMS_ONALERT_EMAIL working but CCMS_ONALERT_EMAIL_V2 isnt
hello Guys, I have configured CCMS alerts in my solution manager system. For alert management I have configured both the methods CCMS_ONALERT_EMAIL_V2 and CCMS_ONALERT_EMAIL. Strangely CCMS_ONALERT_EMAIL is working fine and the alerts are being sent
-
Missing metadata after slideshow export
I love to show some metadata - like a description - within exportet JPGs. That way they are visible on any device used to present the pictures. As far as I found out this is only possible by doing a slideshow export (watermarks unfortunately can not
-
When I ask for info on my hard drive, it says that the disk is nearly full. I just had the hard drive replaced and there is hardly anthing on it. If I ask for info on each individual folder it only adds up to about 30 gigs. I don't see anywhere a
-
Sap oss connection failed.
Dear exports, I am getting the oss connection failed error.How it will reslove please provide any solution. I have checked in sm59. logon : connection error. 1)errordetails: error when opening the RFC an connection. 2)errordetail : error partner: