Append argument to VM??
I have a project that needs some parameters to be passed to the VM to work:
* A wizard launcher for Chart builder.
* <p>
* If the eclipse extension is expected to use, append the argument in VM,
* <b>-DBIRT_HOME=birt_home_directory</b>; or append <b>-DSTANDALONE</b> to
* use hard-coded manifest, in
* <code>org.eclipse.birt.chart.ui.swt.wizard.ChartUIExtensionImpl</code> and
* <code>org.eclipse.birt.chart.util.PluginSettings</code>.
I have tried to create a shortcut to my eclipse exe file and add (to target):
C:\Programs\eclipse\eclipse.exe -vm "C:\Program Files\Java\jdk1.6.0_18\bin\javaw.exe" -vmargs -Xmx512M -DBIRT_HOME=C:\birt-runtime-2_5_0\ReportEngine
but that just result in trying to create a new workspace. I have also tried to add:
-DBIRT_HOME=C:\birt-runtime-2_5_0\ReportEngine
to the eclipse.ini file but that does not help either. Any ideas on how to "append parameters to the VM" ??
paulcw wrote:
Would that send the arguments to the JVM that is running the IDEYes
or would it send arguments to the JVM that is spawned by the IDE when it executes the user's program?No
And which does the OP want?As OP is talking about an Eclipse plugin I made an assumption.
Similar Messages
-
How do I append a txt file? When I re-open, I cant append to the file.
Trying to append a txt file but cant because of the header.
How do i print to the file without the header?
The Add Record Class
private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {
int lengthIsbn = txtIsbn.getText().length(); //get lengths for validation
int lengthSupplierno = txtSupplierno.getText().length();
int lengthLastorderdate = txtLastorderdate.getText().length();
if (lengthIsbn == 11){
if (lengthSupplierno == 4){ //check validation
if (lengthLastorderdate == 8){ //Three If's because one can only have one error which cannot be specific!
// if passed validation then continue the add
bookRecord record;
try{
record = new bookRecord(
txtIsbn.getText(),
txtTitle.getText(),
txtAuthor.getText(),
Float.parseFloat(txtPrice.getText()),
Integer.parseInt(txtSupplierno.getText()),
txtLastorderdate.getText());
Output.writeObject(record);
System.out.println(record); // print record to check progress
} catch(IOException b){
JOptionPane.showMessageDialog(this, "Cannot Add Record Due To Input/Output Error!", "IO Error", JOptionPane.ERROR_MESSAGE);
} catch(NumberFormatException d){
JOptionPane.showMessageDialog(this, "Cannot Add Record Due To Incorrect Formatting Of Data In Text Boxes, Please Check That Price And Supplier No Are Numeric!", "Number Format Error", JOptionPane.ERROR_MESSAGE);
} catch(NullPointerException e){
JOptionPane.showMessageDialog(this, "Cannot add Record Due To Absence Of Database!", "Null Pointer Error", JOptionPane.ERROR_MESSAGE);
} else {JOptionPane.showMessageDialog(this, "Last Order Date Must Be In This Format (01/01/01)", "Validation Error", JOptionPane.ERROR_MESSAGE);}
} else {JOptionPane.showMessageDialog(this, "Supplier No Must Be A Four Digit Integer", "Validation Error", JOptionPane.ERROR_MESSAGE);}
} else {JOptionPane.showMessageDialog(this, "ISBN Must Have 11 Characters", "Validation Error", JOptionPane.ERROR_MESSAGE);}
} I dont know whats wrong...1) You append to a file by passing true for the append argument to the constructor for the FileOutputStream or FileWriter.
2) I have no idea what you mean by this: Trying to append a txt file but cant because of the header. How do i print to the file without the header?
3) You're saying it's a txt file, but you're calling Output.writeObject(record). If Output is an ObjectOutputStream, (that is, you're serializing record) then it's not a text file.
4) Variable names conventionally start with lowercase in Java, so Output should be output. (Unless Output is a class name and writeObject is a static method.) -
Oracle 9i clob segment possible corruption
Hello all,
We are experiencing some select issues from a table containing a CLOB segment. Since I don't know too much about CLOBs and we are suspecting a possible corruption. What would be the next step besides a DBV on the datafile housing hat table?
I have read that there is a package called DBMS_LOB ... but not sure how to use
Much appreciatedCorruption? logical or physical?
SQL> desc dbms_lob
PROCEDURE APPEND
Argument Name Type In/Out Default?
DEST_LOB BLOB IN/OUT
SRC_LOB BLOB IN
PROCEDURE APPEND
Argument Name Type In/Out Default?
DEST_LOB CLOB IN/OUT
SRC_LOB CLOB IN
PROCEDURE CLOSE
Argument Name Type In/Out Default?
LOB_LOC BLOB IN/OUT
PROCEDURE CLOSE
Argument Name Type In/Out Default?
LOB_LOC CLOB IN/OUT
PROCEDURE CLOSE
Argument Name Type In/Out Default?
FILE_LOC BINARY FILE LOB IN/OUT
FUNCTION COMPARE RETURNS NUMBER(38)
Argument Name Type In/Out Default?
LOB_1 BLOB IN
LOB_2 BLOB IN
AMOUNT NUMBER(38) IN DEFAULT
OFFSET_1 NUMBER(38) IN DEFAULT
OFFSET_2 NUMBER(38) IN DEFAULT
FUNCTION COMPARE RETURNS NUMBER(38)
Argument Name Type In/Out Default?
LOB_1 CLOB IN
LOB_2 CLOB IN
AMOUNT NUMBER(38) IN DEFAULT
OFFSET_1 NUMBER(38) IN DEFAULT
OFFSET_2 NUMBER(38) IN DEFAULT
FUNCTION COMPARE RETURNS NUMBER(38)
Argument Name Type In/Out Default?
FILE_1 BINARY FILE LOB IN
FILE_2 BINARY FILE LOB IN
AMOUNT NUMBER(38) IN
OFFSET_1 NUMBER(38) IN DEFAULT
OFFSET_2 NUMBER(38) IN DEFAULT
PROCEDURE CONVERTTOBLOB
Argument Name Type In/Out Default?
DEST_LOB BLOB IN/OUT
SRC_CLOB CLOB IN
AMOUNT NUMBER(38) IN
DEST_OFFSET NUMBER(38) IN/OUT
SRC_OFFSET NUMBER(38) IN/OUT
BLOB_CSID NUMBER IN
LANG_CONTEXT NUMBER(38) IN/OUT
WARNING NUMBER(38) OUT
PROCEDURE CONVERTTOCLOB
Argument Name Type In/Out Default?
DEST_LOB CLOB IN/OUT
SRC_BLOB BLOB IN
AMOUNT NUMBER(38) IN
DEST_OFFSET NUMBER(38) IN/OUT
SRC_OFFSET NUMBER(38) IN/OUT
BLOB_CSID NUMBER IN
LANG_CONTEXT NUMBER(38) IN/OUT
WARNING NUMBER(38) OUT
PROCEDURE COPY
Argument Name Type In/Out Default?
DEST_LOB BLOB IN/OUT
SRC_LOB BLOB IN
AMOUNT NUMBER(38) IN
DEST_OFFSET NUMBER(38) IN DEFAULT
SRC_OFFSET NUMBER(38) IN DEFAULT
PROCEDURE COPY
Argument Name Type In/Out Default?
DEST_LOB CLOB IN/OUT
SRC_LOB CLOB IN
AMOUNT NUMBER(38) IN
DEST_OFFSET NUMBER(38) IN DEFAULT
SRC_OFFSET NUMBER(38) IN DEFAULT
PROCEDURE CREATETEMPORARY
Argument Name Type In/Out Default?
LOB_LOC BLOB IN/OUT
CACHE BOOLEAN IN
DUR BINARY_INTEGER IN DEFAULT
PROCEDURE CREATETEMPORARY
Argument Name Type In/Out Default?
LOB_LOC CLOB IN/OUT
CACHE BOOLEAN IN
DUR BINARY_INTEGER IN DEFAULT
PROCEDURE ERASE
Argument Name Type In/Out Default?
LOB_LOC BLOB IN/OUT
AMOUNT NUMBER(38) IN/OUT
OFFSET NUMBER(38) IN DEFAULT
PROCEDURE ERASE
Argument Name Type In/Out Default?
LOB_LOC CLOB IN/OUT
AMOUNT NUMBER(38) IN/OUT
OFFSET NUMBER(38) IN DEFAULT
PROCEDURE FILECLOSE
Argument Name Type In/Out Default?
FILE_LOC BINARY FILE LOB IN/OUT
PROCEDURE FILECLOSEALL
FUNCTION FILEEXISTS RETURNS NUMBER(38)
Argument Name Type In/Out Default?
FILE_LOC BINARY FILE LOB IN
PROCEDURE FILEGETNAME
Argument Name Type In/Out Default?
FILE_LOC BINARY FILE LOB IN
DIR_ALIAS VARCHAR2 OUT
FILENAME VARCHAR2 OUT
FUNCTION FILEISOPEN RETURNS NUMBER(38)
Argument Name Type In/Out Default?
FILE_LOC BINARY FILE LOB IN
PROCEDURE FILEOPEN
Argument Name Type In/Out Default?
FILE_LOC BINARY FILE LOB IN/OUT
OPEN_MODE BINARY_INTEGER IN DEFAULT
PROCEDURE FREETEMPORARY
Argument Name Type In/Out Default?
LOB_LOC BLOB IN/OUT
PROCEDURE FREETEMPORARY
Argument Name Type In/Out Default?
LOB_LOC CLOB IN/OUT
FUNCTION GETCHUNKSIZE RETURNS NUMBER(38)
Argument Name Type In/Out Default?
LOB_LOC BLOB IN
FUNCTION GETCHUNKSIZE RETURNS NUMBER(38)
Argument Name Type In/Out Default?
LOB_LOC CLOB IN
FUNCTION GETLENGTH RETURNS NUMBER(38)
Argument Name Type In/Out Default?
LOB_LOC BLOB IN
FUNCTION GETLENGTH RETURNS NUMBER(38)
Argument Name Type In/Out Default?
LOB_LOC CLOB IN
FUNCTION GETLENGTH RETURNS NUMBER(38)
Argument Name Type In/Out Default?
FILE_LOC BINARY FILE LOB IN
FUNCTION GET_STORAGE_LIMIT RETURNS NUMBER(38)
Argument Name Type In/Out Default?
LOB_LOC CLOB IN
FUNCTION GET_STORAGE_LIMIT RETURNS NUMBER(38)
Argument Name Type In/Out Default?
LOB_LOC BLOB IN
FUNCTION INSTR RETURNS NUMBER(38)
Argument Name Type In/Out Default?
LOB_LOC BLOB IN
PATTERN RAW IN
OFFSET NUMBER(38) IN DEFAULT
NTH NUMBER(38) IN DEFAULT
FUNCTION INSTR RETURNS NUMBER(38)
Argument Name Type In/Out Default?
LOB_LOC CLOB IN
PATTERN VARCHAR2 IN
OFFSET NUMBER(38) IN DEFAULT
NTH NUMBER(38) IN DEFAULT
FUNCTION INSTR RETURNS NUMBER(38)
Argument Name Type In/Out Default?
FILE_LOC BINARY FILE LOB IN
PATTERN RAW IN
OFFSET NUMBER(38) IN DEFAULT
NTH NUMBER(38) IN DEFAULT
FUNCTION ISOPEN RETURNS NUMBER(38)
Argument Name Type In/Out Default?
LOB_LOC BLOB IN
FUNCTION ISOPEN RETURNS NUMBER(38)
Argument Name Type In/Out Default?
LOB_LOC CLOB IN
FUNCTION ISOPEN RETURNS NUMBER(38)
Argument Name Type In/Out Default?
FILE_LOC BINARY FILE LOB IN
FUNCTION ISTEMPORARY RETURNS NUMBER(38)
Argument Name Type In/Out Default?
LOB_LOC BLOB IN
FUNCTION ISTEMPORARY RETURNS NUMBER(38)
Argument Name Type In/Out Default?
LOB_LOC CLOB IN
PROCEDURE LOADBLOBFROMFILE
Argument Name Type In/Out Default?
DEST_LOB BLOB IN/OUT
SRC_BFILE BINARY FILE LOB IN
AMOUNT NUMBER(38) IN
DEST_OFFSET NUMBER(38) IN/OUT
SRC_OFFSET NUMBER(38) IN/OUT
PROCEDURE LOADCLOBFROMFILE
Argument Name Type In/Out Default?
DEST_LOB CLOB IN/OUT
SRC_BFILE BINARY FILE LOB IN
AMOUNT NUMBER(38) IN
DEST_OFFSET NUMBER(38) IN/OUT
SRC_OFFSET NUMBER(38) IN/OUT
BFILE_CSID NUMBER IN
LANG_CONTEXT NUMBER(38) IN/OUT
WARNING NUMBER(38) OUT
PROCEDURE LOADFROMFILE
Argument Name Type In/Out Default?
DEST_LOB BLOB IN/OUT
SRC_LOB BINARY FILE LOB IN
AMOUNT NUMBER(38) IN
DEST_OFFSET NUMBER(38) IN DEFAULT
SRC_OFFSET NUMBER(38) IN DEFAULT
PROCEDURE LOADFROMFILE
Argument Name Type In/Out Default?
DEST_LOB CLOB IN/OUT
SRC_LOB BINARY FILE LOB IN
AMOUNT NUMBER(38) IN
DEST_OFFSET NUMBER(38) IN DEFAULT
SRC_OFFSET NUMBER(38) IN DEFAULT
PROCEDURE OPEN
Argument Name Type In/Out Default?
LOB_LOC BLOB IN/OUT
OPEN_MODE BINARY_INTEGER IN
PROCEDURE OPEN
Argument Name Type In/Out Default?
LOB_LOC CLOB IN/OUT
OPEN_MODE BINARY_INTEGER IN
PROCEDURE OPEN
Argument Name Type In/Out Default?
FILE_LOC BINARY FILE LOB IN/OUT
OPEN_MODE BINARY_INTEGER IN DEFAULT
PROCEDURE READ
Argument Name Type In/Out Default?
LOB_LOC BLOB IN
AMOUNT NUMBER(38) IN/OUT
OFFSET NUMBER(38) IN
BUFFER RAW OUT
PROCEDURE READ
Argument Name Type In/Out Default?
LOB_LOC CLOB IN
AMOUNT NUMBER(38) IN/OUT
OFFSET NUMBER(38) IN
BUFFER VARCHAR2 OUT
PROCEDURE READ
Argument Name Type In/Out Default?
FILE_LOC BINARY FILE LOB IN
AMOUNT NUMBER(38) IN/OUT
OFFSET NUMBER(38) IN
BUFFER RAW OUT
FUNCTION SUBSTR RETURNS RAW
Argument Name Type In/Out Default?
LOB_LOC BLOB IN
AMOUNT NUMBER(38) IN DEFAULT
OFFSET NUMBER(38) IN DEFAULT
FUNCTION SUBSTR RETURNS VARCHAR2
Argument Name Type In/Out Default?
LOB_LOC CLOB IN
AMOUNT NUMBER(38) IN DEFAULT
OFFSET NUMBER(38) IN DEFAULT
FUNCTION SUBSTR RETURNS RAW
Argument Name Type In/Out Default?
FILE_LOC BINARY FILE LOB IN
AMOUNT NUMBER(38) IN DEFAULT
OFFSET NUMBER(38) IN DEFAULT
PROCEDURE TRIM
Argument Name Type In/Out Default?
LOB_LOC BLOB IN/OUT
NEWLEN NUMBER(38) IN
PROCEDURE TRIM
Argument Name Type In/Out Default?
LOB_LOC CLOB IN/OUT
NEWLEN NUMBER(38) IN
PROCEDURE WRITE
Argument Name Type In/Out Default?
LOB_LOC BLOB IN/OUT
AMOUNT NUMBER(38) IN
OFFSET NUMBER(38) IN
BUFFER RAW IN
PROCEDURE WRITE
Argument Name Type In/Out Default?
LOB_LOC CLOB IN/OUT
AMOUNT NUMBER(38) IN
OFFSET NUMBER(38) IN
BUFFER VARCHAR2 IN
PROCEDURE WRITEAPPEND
Argument Name Type In/Out Default?
LOB_LOC BLOB IN/OUT
AMOUNT NUMBER(38) IN
BUFFER RAW IN
PROCEDURE WRITEAPPEND
Argument Name Type In/Out Default?
LOB_LOC CLOB IN/OUT
AMOUNT NUMBER(38) IN
BUFFER VARCHAR2 IN
SQL> -
Clearing text file content?
BufferedWriter w = new BufferedWriter(new FileWriter("index.txt"));
w.write("");is this the way to delete text in a file???
i want to clear a text file from all characters.
thank you for your helpBufferedWriter w = new BufferedWriter(new
FileWriter("index.txt"));
w.write("");
is this the way to delete text in a file???
i want to clear a text file from all characters.Call the FileWriter constructor with a boolean append argument set to false. It will create a new file overwriting the previous one.
BufferedWriter w = new BufferedWriter(new FileWriter("index.txt", false)); -
Step by step to create planning book & Macro's behind it I am a ABAPer
Recently I have been shifted from R/3 to Apo ; Want to know the creation of planing book & the creation of Macro workbench playing behind planning book .
To create planning book.
To create Macro & how to relate a planning book with the macro.
Step by step process from simple to complex .
Different process to programe a macro .
I can understant ( rather I know ) how to relate a badi (Enhancement spot ) to a macro & but please guide me how to define a row of a planing book : such as how to define the row 'Avg Weekly Forcast' of planing book in a single varriable as 'ZAVGWKFST' to capture it at badi in the parameter I_T_LINES[]
(component - FELDH).
To create a custom Button in a planning book & how to program.
I have many broken links while I try to know it by myself.Hi amitabha,
Please find below the detailed steps to define a planning book:
A planning book defines the content and the layout of the interactive planning screen. Planning books are used in Demand Planning and Supply Network Planning. They allow you to design the screen to suit individual planning tasks. A planning book is based on a planning area. You can create several user-specific data views in a planning book. In this step, you create a planning book for Demand Planning.
Procedure
1. Access the activity using one of the following navigation options:
SAP SCM menu Advanced Planning and Optimization Demand Planning Environment Current settings Define Planning Book
Transaction code /SAPAPO/SDP8B
2. Enter the planning book DP_001 and choose Create.
The Planning Book Wizard dialog box is displayed.
3. Make the following entries:
Field name User action and values
Planning Book Enter the planning book DP_001
Planning book text Demand Planning
Planning area Select the planning area DP_001 and choose Enter
Manual Proportion Maintenance X
Promotion X
Univariate forecast X
4. Choose Continue.
5. Assign the following key figures from planning area to the planning book by using drag and drop or choose Add all new Key Figures to add all key figures:
Description Value Comment
History 9AVHISTORY Relevant for Scenario MTS
Forecast 9ADFCST Relevant for Scenario MTS and VMI
Promotion 1 9APROM1 Relevant for Scenario MTS
Forecast (addition.) 9AAFCST Relevant for Scenario MTS
Planned Price 9APRICEFC Relevant for Scenario MTS
Sales Forecast 9AREVFC Relevant for Scenario MTS
Production (Planned) 9APPROD Relevant for Scenario MTS
Manual Correction 9AMANUP Relevant for Scenario MTS
Additional Field 1 9AADDKF1 Relevant for Scenario VMI
Additional Field 2 9AADDKF2 Relevant for Scenario VMI
Additional Field 3 9AADDKF3 Relevant for Scenario MTS
Additional Field 4 9AADDKF4 Relevant for Scenario MTS
Additional Field 5 9AADDKF5 Relevant for Scenario MTS
The Proportional factor APODPDANT key figure is automatically added to your planning area when you create the planning area. You do not have to add this key figure yourself and assign it to the planning book in this step. When you create the respective view, this key figure will be automatically there for your selection.
6. Choose Continue.
7. Assign the following characteristics from the planning area to the planning book by using drag and drop:
Description Value
APO Location 9ALOCNO
APO Product 9AMATNR
Brand 9ABRAND
Sales Organization 9AVKORG
APO Destination Loc. 9ALOCTO
The characteristic 9AVERSION (APO Planning Version) will be added to the planning book automatically after you complete this step.
9. Choose Continue to go to the Data View tab (the Key Fig. Attrib tab is available in the change mode only after you have completed the planning book).
10. On the Data view tab; enter the following values:
Field name User action (Scenario MTS) User action (Scenario VMI)
Data view DP_Standard VMI_Standard
Data view description Demand Planning Demand Planning
TB profile ID (future) DP_4Weeks_5Month DP_4Weeks_5Month
TB profile ID (history) DP_12Month DP_12Month
Status 3 (Changeable) 3 (Changeable)
11. Choose Enter.
12. Select Visible and select the date as of which you wish the past planning horizon to be visible when this data view is opened.
13. Choose Continue, and assign the following key figures from the planning book to the data view for either the MTS or the VMI scenario, keeping the same order as in the table:
Make-to-Stock
Key Figures Description
9AVHISTORY History
9ADFCST Forecast
9APROM1 Promotion 1
9AAFCST Forecast (additional)
9APRICEFC Planned Price
9AREVFC Sales Forecast
9APPROD Production (Planned)
9AMANUP Manual Correction
9AADDKF4 Additional Field 4
Vendor-Managed Inventory
Key Figures Description
9AADDKF1 Additional Field 1
9AADDKF2 Additional Field 2
9ADFCST Forecast
14. Choose Complete.
15. When the Planning Wizard prompt appears, choose Yes to complete the planning book and data view.
16. On the initial screen, change the planning book you have just created by choosing Edit.
17. If you are installing the VMI scenario, continue with step 21 (entering a free text for the key figures).
If you are installing the Make-to-Stock scenario, repeat steps 9 to 12 to create the following views:
Views View Description Key Figures
DP_CLP COLLABORATIVE DEMAND PLANNING
History
Forecast
Forecast (additional)
DP_RELEASE DEMAND PLANNING - RELEASE VIEW
Manual Correction
18. On the Data View tab page, specify the following TB profile IDs for the DP_RELEASE view,
Field name User action and values
TB profile ID (future) DP_12Month
TB profile ID (history) blank
19. Create the remaining views for the Make-to-Stock scenario according to the steps 9-12:
Views View Description Key Figures
DP_LOGISTICS DEMAND PLANNING - LOGISTICS VIEW
Forecast
Production (Planned)
DP_SALES DEMAND PLANNING - SALES VIEW
History
Forecast
Forecast (addition.)
Planned Price
Sales Forecast
Manual Correction
DP_PROP DEMAND PLANNING - PROPORTIONAL FACTOR VIEW Proportional Factor
To modify the proportional factors manually, you need to create a separate data view containing only the APODPDANT key figure to control the authorization to change these factors. This key figure is a default value in the view and is thus invisible, so you do not need to assign any key figure from the right list in this view.
20. Choose Complete.
21. Go to the Key fig. attributes tab, select the FreeText radio button and make the following entries for each key figure. Choose Save Setting after entering the data for each key figure (depending on your scenario).
Key Figures Free Text Relevant for scenario
9AVHISTORY Historical Data MTS
9ADFCST Statistical Forecast MTS and VMI
9APROM1 Promotion MTS
9AAFCST Sales Forecast MTS
9APRICEFC Planning Price MTS
9AREVFC Sales Revenue Forecast MTS
9APPROD Logistics Forecast MTS
9AMANUP Final Forecast MTS
9AADDKF1 VMI Historical Data VMI
9AADDKF2 VMI Customer Forecast VMI
9AADDKF3 u2013 MTS
9AADDKF4 Forecast Deviation MTS
9AADDKF5 Customer Forecast MTS
22. Choose Complete and exit the planning book maintenance.
Steps to create macros in macro wrokbench:
3.7 Creating Macros (SAP APO)
Use
You can use advanced macros to perform complex calculations quickly and easily. Macros are executed either directly by the user or automatically at a predefined point in time. When defining advanced macros, you work in a special desktop environment known as the MacroBuilder.
In total, four macros are created in the Demand Planning building block. They are all defined for the planning book DP_001. You create three macros for forecast calculation according to the following instruction. The chapter Creating the Macro for Consensus-Based Planning describes how to create the alert macro for consensus-based planning.
In the DP_STANDARD view of the planning book DP_001, you create two macros:
The first macro is used for the standard and consensus-based planning. The system calculates the arithmetic average of Statistical Forecast, Sales Forecast and Logistics Forecast, the result of average forecast data plus Promotion Data is inserted in the Final Forecast cell. It enables the user to consider the forecast input and the promotion plan from different departments within the company. The planner can make manual adjustments and enter the final agreed forecast into the Final Forecast cell. All of this information can be shown in the planning book screen.
The second macro multiplies the Final forecast data with the Planned price to calculate the sales volume. The third macro is an alert macro used for highlighting exceptional situations in consensus-based planning.
In the DP_SALES view of the planning book DP_001, you create the fourth macro. This macro multiplies the Final forecast data with the Planned price to calculate the sales volume, which is the same as the one in the standard view.
3.7.1 Creating Macros for the Standard View
1. Access the activity using one of the following navigation options:
SAP SCM menu Advanced Planning and Optimization Demand Planning à Environment à Current settings à Define Planning Book
Transaction code /SAPAPO/SDP8B
2. Enter the name of the planning book: DP_001
3. Select Data view DP_standard.
4. Choose Edit.
5. Choose MacroBuilder MacroBuilder Data view.
3.7.1.1 Creating the Macro for Consensus-Based Planning
1. Right-click the macro node below the planning table and choose Create New Macro Add macro. In the APO Macro Builder dialog box, enter a descriptive text for the macro, for example, Forecast + Promotion Final Forecast. Choose Continue.
2. Right-click the macro and choose Add macro Element Step.
In the APO Macro Builder dialog box, in the descriptive text section, enter a name for the macro step, for example, First Step and choose Continue.
3. Right-click the macro step and choose Add Element (Result Level) à Add results row.
In the APO Macro Builder dialog box, choose Final Forecast in the Row field. Choose Adopt.
4. Right-click the result row you have just created and choose
Add Element (Argument Level) à Add Operator/Function.
In the APO Macro Builder dialog box, choose u201C(u201C.
5. Right-click the operator/function you have just created and choose
Add Element (Argument Level) à Planning Table Element à Append argument row. In the APO Macro Builder dialog box, choose Statistical Forecast in the Row field.
6. Right-click the argument row you have just created and choose
Add Element (Argument Level) à Append Operator/Function.
In the APO Macro Builder dialog box, choose u201C+u201D.
7. Right-click the operator/function you have just created and choose
Add Element (Argument Level ) Planning Table Element Append argument row. In the APO Macro Builder dialog box, choose Sales Forecast in the Row field.
8. Right-click the argument row you have just created and choose
Add Element (Argument Element) Append Operator/Function.
In the APO Macro Builder dialog box, choose u201C+u201D.
9. Right-click the operator/function you have just created and choose
Add Element (Argument Level ) Planning Table Element Append argument row. In the APO Macro Builder dialog box choose Logistics Forecast in the Row field.
10. Right-click the argument row you have just created and choose
Add Element (Argument Element) Append Operator/Function.
In the APO Macro Builder dialog box, choose u201C)u201D.
11. Right-click the operator/function you have just created and choose
Add Element (Argument Element) Append Operator/Function.
In the APO Macro Builder dialog box, choose u201C/u201D.
12. Right-click the operator/function you have just created and choose
Add Element (Argument Element) Append Operator/Function.
In the APO Macro Builder dialog box, enter u201C(u201D.
13. Right-click the operator/function you have just created and choose
Add Element (Argument Element) Append Operator/Function.
In the APO Macro Builder dialog box, choose u201CSIGN()u201D and change it to u201CSIGN(u201C.
14. Right-click the operator/function you have just created and choose
Add Element (Argument Level ) Planning Table Element Append argument row. In the APO Macro Builder dialog box, choose Statistical Forecast in the Row field.
15. Right-click the argument row you have just created and choose
Add Element (Argument Element) Append Operator/Function.
In the APO Macro Builder dialog box, choose u201C)u201D.
16. Right-click the operator/function you have just created and choose
Append Operator/Function.
In the APO Macro Builder dialog box, choose u201C+u201D.
17. Right-click the operator/function you have just created and choose
Add Element (Argument Element) Append Operator/Function.
In the APO Macro Builder dialog box, choose u201CSIGN()u201D and change it to u201CSIGN(u201C.
18. Right-click the operator/function you have just created and choose Add Element (Argument Level ) Planning Table Element Append argument row.
In the APO Macro Builder dialog box, choose Sales Forecast in the Row field.
19. Right-click the argument row you have just created and choose
Add Element (Argument Element) Append Operator/Function.
In the APO Macro Builder dialog box, choose u201C)u201D.
20. Right-click the operator/function you have just created and choose
Add Element (Argument Element) Append Operator/Function.
In the APO Macro Builder dialog box, choose u201C+u201D.
21. Right-click the operator/function you have just created and choose
Add Element (Argument Element) Append Operator/Function.
In the APO Macro Builder dialog box choose the character u201CSIGN()u201D and change to u201CSIGN(u201C.
22. Right-click the operator/function you have just created and choose Append argument row. In the APO Macro Builder dialog box, choose Logistics Forecast in the Row field.
23. Right-click the operator/function you have just created and choose
Add Element (Argument Element) Append Operator/Function.
In the APO Macro Builder dialog box, choose u201C)u201D.
24. Right-click the operator/function you have just created and choose
Add Element (Argument Element) Append Operator/Function.
In the APO Macro Builder dialog box, choose u201C)u201D.
25. Right-click the operator/function you have just created and choose
Add Element (Argument Element) Append Operator/Function.
In the APO Macro Builder dialog box, enter u201C+u201D.
26. Right-click the operator/function you have just created and choose
Append argument row.
In the APO Macro Builder dialog box, choose Promotion in the Row field.
27. Select the macro and choose Check to check it. Generate the macro by choosing Generate.
28. Move the macro by using drag and drop to the Events section and to the Default folder in the upper right screen area.
29. If you want to continue with the configuration, proceed with the next activity to create the Sales Volume Macro (see below).
If you want to discontinue the configuration at this point, we recommend that you save your settings. To do this, go back to the Planning book Design screen and choose Save. Choose All Functional Areas when the confirmation prompt appears.
Hope this should help you.
Regards,
Umesh -
Argument does not exist in Table?
Hi,
I'm trying to create Planned Independent Requirements using the BAPI_REQUIREMENTS_CREATE.
Getting the error "Argument does not exist in Table".
I'm passing the following parameters.
REQUIREMENTS_ITEM
MATERIAL = '000000000000015197'.
PLANT = 'ABC1'.
REQU_TYPE= 'TEST'.
VERSION = '00'.
VERS_ACTIV = 'X'.
REQ_NUMBER = ''.
REQUIREMENTS_SCHEDULE_IN
DATE_TYPE = '2'.
REQ_DATE = '20101001'.
REQ_QTY = 50.
PROD_VES = '0010'.
REQUIREMENT_PARAM
STATUS = ''.
TRTYP = 'X'.
DELKZ = SPACE.
SYNCRON = 'X'.
Did I miss any parameters?
Why I'm getting this error?
Thanks
ThrunaRyan,
Are you passing all the parameters like below?
SSHDIN-DATE_TYPE = '2'.
SSHDIN-REQ_DATE = '20100101'.
SSHDIN-REQ_QTY = 100.
APPEND SSHDIN.
ITEM-MATERIAL = '00000000000012345'.
ITEM-PLANT = 'ABC1'.
ITEM-REQU_TYPE = 'TEST'.
ITEM-VERSION = '00'.
ITEM-VERS_ACTIV = 'X'.
ITEM-REQ_NUMBER = ''.
ITEM-MRP-AREA = 'ABC1'.
PARAM-STATUS = 'X'.
PARAM-TRTYP = 'X'.
PARAM-DELKZ = SPACE.
PARAM-SYNCRON = 'X'.
CALL FUNCTION 'BAPI_REQUIREMENTS_CREATE'
EXPORTING
REQUIREMENTS_ITEM = ITEM
REQUIREMENT_PARAM = PARAM
IMPORTING
MATERIAL = BAPI_MATNR
PLANT = BAPI_WERKS
REQUIREMENTSTYPE = BAPI_BEDAE
VERSION = BAPI_VERSB
REQMTSPLANNUMBER = BAPI_PBDNR
TABLES
REQUIREMENTS_SCHEDULE_IN = SSHDIN
RETURN = RETURN1
EXCEPTIONS
OTHERS = 1.
Thanks
Thruna -
Hello
I'm building a very complex action that references several scripts. One of the scripts needs to save the existing canvas as a .png file to a specific directory, and rename the .png with the document's existing name and adding "-SCREEN" to the end. So the name sould be "originalname-SCREEN.png"
I found a script below that almost kinda works. It can find the directory, but it is cropping the image for some unknown reason. It also does not append the name (I have not looked into how to do that at all yet).
Is anyone able to figure out how to fix this script, or perhaps lend some insight to how I might go about generating a new script?
I'm not familiar with JS, but I'm learning. Slowly...
Thank you.
#target photoshop
app.bringToFront();
$.level = 0;
// Globals
Settings = {
storedPaths: {},
storedSelections: {},
scriptName: "Save PR JPG LANDING",
units: "pixels"
// Main entry point
main();
function main() {
var formatOptions;
// Create JPEG save options
formatOptions = formatJPEG(FormatOptions.OPTIMIZEDBASELINE, "10", "3", MatteType.NONE, true);
// Save copy of document as
docSaveAs(formatOptions, "Add After", "-LANDING", "No Change", "Path", "~/Desktop/PR/Landing Page (RGB | 105px W x 108px H | 72ppi)/", "");
// Functions
function docSaveAs(formatOptions, nameChange, nameText, newCase, destType, destRef, storeName) {
var hasPath, f, name, nameArray, n, ext;
if (!documents.length) { logErr(arguments, "noOpenDocs"); return; }
if (!formatOptions) { logErr(arguments, "noFormatOptions"); return; }
if (nameChange=="Replace" && !nameText) { logErr(arguments, "badNameValue"); return; }
f = fileGetFolder(destType, destRef);
if (!f) { logErr(arguments, "noDestFolder"); return; }
try { activeDocument.path; hasPath=true; } catch(e){ hasPath=false; }
name = activeDocument.name;
if (hasPath) {
nameArray = name.split(".");
n = nameArray.length-1;
ext = nameArray[n];
switch (nameChange) {
case "Add Before": nameArray[0] = nameText + nameArray[0]; break;
case "Add After": nameArray[n-1] = nameArray[n-1] + nameText; break;
case "Replace": nameArray = [nameText, ext]; break;
name = nameArray.join(".");
else {
ext = {"[BMPSaveOptions]":".bmp", "[DCS1_SaveOptions]":".eps", "[DCS2_SaveOptions":".eps",
"[EPSSaveOptions]":".eps", "[GIFSaveOptions]":".gif", "[JPEGSaveOptions]":".jpg",
"[PhotoshopSaveOptions]":".psd", "[PICTFileSaveOptions]":".pct", "[PICTResourceSaveOptions":".pct",
"[PixarSaveOptions]":".pxr", "[PNGSaveOptions]":".png", "[RawSaveOptions]":".raw",
"[TargaSaveOptions]":".tga", "[TiffSaveOptions]":".tif"}[formatOptions.constructor.toString()]||"";
switch (nameChange) {
case "Add Before": name = nameText + name; break;
case "Add After": name = name + nameText; break;
case "Replace": name = nameText; break;
if (!name) { name = "Untitled"; }
name += ext;
switch (newCase) {
case "Lowercase": name = name.toLowerCase(); break;
case "Uppercase": name = name.toUpperCase(); break;
try {
f = new File(f.fullName+"/"+name);
activeDocument.saveAs(f, formatOptions, true);
Settings.storedPaths.lastCreated = f.fullName;
if (storeName) { Settings.storedPaths[storeName] = f.fullName; }
catch(e) { log(arguments.callee, e); }
function fileAppend(path, data, encoding) {
var file;
file = new File(path);
file.open("a");
if (typeof(encoding) == "string") {file.encoding = encoding;}
file.write(data);
file.close();
function fileGetFolder(srcType, srcRef) {
var path, f, msg;
switch (srcType) {
case "Last Created": path = Settings.storedPaths.lastCreated; break;
case "Path": path = srcRef; break;
case "Named Path": path = Settings.storedPaths[srcRef.toLowerCase()]; break;
if (!path) {
msg = "Select a folder:";
if (Settings.lastFolderPath) { f = new Folder(Settings.lastFolderPath).selectDlg(msg); }
else { f = Folder.selectDialog(msg); }
if (f&&f.exists) { Settings.lastFolderPath = f.fsName.split("\\").join("/")+"/"; }
else { f = new Folder(path); }
if (!f||!f.exists) { logErr(arguments, "noFileSystemPath"); return; }
return f;
function fileWrite(path, data, encoding) {
var file;
file = new File(path);
if (file.exists) {file.remove();}
file.open("e");
if (typeof(encoding) == "string") {file.encoding = encoding;}
file.write(data);
file.close();
function formatJPEG(format, quality, scans, matte, embed) {
var result = new JPEGSaveOptions();
try {
result.formatOptions = format;
result.quality = parseInt(quality);
result.scans = parseInt(scans);
result.matte = matte;
result.embedColorProfile = embed;
catch(e) { log(arguments.callee, e); }
return result;
function log(v, err, msg) {
// Initialization
if (!Settings.debug) {
var pathArray, date, str;
Settings.debug = {
delim:String.fromCharCode(13, 10),
path: Folder.userData+ "/Script Builder Files/" +Settings.scriptName+ " - Log.txt",
text:""
date = new Date();
str = "Begin debug log: " + date.toLocaleString() +Settings.debug.delim;
str += "------------------------------------------------------------" +Settings.debug.delim;
fileWrite(Settings.debug.path, str);
// Error logging
if (typeof v == "function") {
v = "Error in " +v.name+ "(): ";
if (err && msg) { v += msg + " " + err.message; }
else if (err) { v += err.message; }
else if (msg) { v += msg; }
else { v = v.substring(0, v.length-2) + "."; }
// Normal message logging
else {
if (typeof v != "string") {
if (v == undefined) {v = "undefined";}
else {v = v.toString();}
if (Settings.debug.path) { fileAppend(Settings.debug.path, v + Settings.debug.delim); }
function logErr(src, id) {
var err = {
badChannelValue: "Invalid channel number entered.",
badColorValue: "Invalid color value entered.",
badDocDimsValue: "Invalid document dimensions entered.",
badExportValues: "Invalid file path or file name value supplied for export.",
badNameValue: "Invalid name value supplied.",
badNumberValue: "Invalid number value supplied.",
badPathName: "Path name supplied is not unique.",
badRefEdgeOuput: "Output method cannot be used when decontaminating colors.",
badSubdivValue: "Subdivisions value must be an integer between 1 and 100.",
badTestValue: "Invalid comparison value supplied.",
fileError: "Could not read file.",
fileExists: "A file of the same name already exists in the chosen location.",
flatImagesOnly: "This function only works on flattened images.",
layerDataError: "An error occurred while reading the layer settings.",
logNotEnabled: "Log must be enabled in order to assign file path.",
multiLayerOnly: "More than one layer must be selected.",
noClipImageData: "No image data on clipboard.",
noDocFile: "Document has never been saved.",
noActionName: "No action name specified.",
noActionSetName: "No action set name specified.",
noBkgdLayer: "There is no background layer.",
noDestFolder: "Destination folder not defined.",
noFile: "File does not exist at the specified location.",
noFileSystemPath: "No file or folder path was chosen.",
noFilterImg: "Image file does not exist, or none was selected.",
noFilterMask: "Layer has no filter mask.",
noFolder: "Folder does not exist at the specified location.",
noFormatOptions: "The \"formatOptions\" parameter is not defined.",
noHTMLExporter: "The \"htmlExporter\" object does not exist or is not valid.",
noLayerArtwork: "Layer has no image data.",
noLayerComps: "Document has no layer comps.",
noLayerFX: "Layer has no effects.",
noLayerMask: "Layer has no layer mask.",
noLogTextFile: "Log file path should point to a text file.",
noLogFile: "Log file path does not point to a file.",
noNameValue: "No new name entered.",
noOpenDocs: "There are no documents open.",
noQuicktime: "File format requires QuickTime.",
noSelectedPath: "There is no path selected.",
noSelection: "There is no selection.",
noSelectionMod: "There is no selection to modify.",
noTextExporter: "The \"textExporter\" object does not exist or is not valid.",
noVectorMask: "Layer has no vector mask.",
noWorkPath: "Document has no work path.",
singleLayerOnly: "Only one layer should be selected.",
wrongLayerKind: "Selected layer is the wrong kind for the requested action."
}[id];
if (err) { log(src.callee, null, err); }Go to http://russellbrown.com/scripts.html
download http://russellbrown.com/images/tips_downloads/Services_Installer_2.3.1.zip
extract the "Services_Installer_2.3.1.zip" do not install the extracted files instead find "Services_Installer_2.3.1.zxp" in the extracted files. This is also a zip file extract the files in it. You may need the reneme it to "Services_Installer_2.3.1.zip" first. In the extracted files find:
"Image Processor Pro.jsx" and "Image Processor Pro.xml" copy these to Photoshop's Presets\Scripts folder. The "Image Processor Pro: script written by Ross Huitt, [email protected] X use to contribute here but is feed up with Adobe has left. For Adobe does not fix the bugs that have been reported in Photoshop scripting support.
However he will continue to support the "Image Processor Pro" script for some time. Once installed you will find it in Photoshop's menu File>Automate>Image Processor Pro... . This script is very powerful and configurable and is a Photoshop Plug-in that Action support so not only can use use your actions in its processing you can record its used in actions to bypass its dialog. When the action's Image Processor Pro step is played the recorded dialog setting will be used and the script will bypass displaying its dialog.
The Script has all the options you need to save PNG files with the original document name with custom text added. You may be able to do what you want by just recording some simple actions and have the Image Processor Pro script include your actions as part of its processing. -
BAD Command Argument Error. 11 writing to Exchange 2007 - Help Please...
Hi,
I am writing an IMAP to IMAP mailbox converter. I am testing a UW mailbox that I have approx. 1200 messages in to a MS Exchange 2007 Server. I am performing a javax.mail.Folder destFolder.appendMessages(sourceFolder.getMessages()). I transfer almost half the messages this why when i get the following exception. I have googled and not found any reference to it, nor does the protocol trace look bazaar :
javax.mail.MessagingException: A4 BAD Command Argument Error. 11;
nested exception is:
com.sun.mail.iap.BadCommandException: A4 BAD Command Argument Error. 11
at com.sun.mail.imap.IMAPFolder.doCommand(IMAPFolder.java:2337)
at com.sun.mail.imap.IMAPFolder.appendMessages(IMAPFolder.java:1289)
at edu.yale.its.tp.email.conversion.IMAPConverter.copyMessages(IMAPConverter.java:83)
at edu.yale.its.tp.email.conversion.IMAPConverter.copyFolder(IMAPConverter.java:75)
at edu.yale.its.tp.email.conversion.IMAPConverter.convert(IMAPConverter.java:36)
at edu.yale.its.tp.email.conversion.IMAPConverter.start(IMAPConverter.java:27)
at edu.yale.its.tp.email.conversion.IMAPConverter.main(IMAPConverter.java:16)
Caused by: com.sun.mail.iap.BadCommandException: A4 BAD Command Argument Error. 11
at com.sun.mail.iap.Protocol.handleResult(Protocol.java:296)
at com.sun.mail.imap.protocol.IMAPProtocol.appenduid(IMAPProtocol.java:881)
at com.sun.mail.imap.protocol.IMAPProtocol.append(IMAPProtocol.java:835)
at com.sun.mail.imap.IMAPFolder$10.doCommand(IMAPFolder.java:1292)
at com.sun.mail.imap.IMAPFolder.doProtocolCommand(IMAPFolder.java:2377)
at com.sun.mail.imap.IMAPFolder.doCommand(IMAPFolder.java:2332)
... 6 more
Here is the protocol trace...
0 [main] INFO - start Conversion
DEBUG: JavaMail version 1.4ea
DEBUG: java.io.FileNotFoundException: /usr/java/jdk1.5.0_11/jre/lib/javamail.providers (No such file or directory)
DEBUG: URL jar:file:/usr/local/java-apis/javamail/javamail-1.4/lib/imap.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: jar:file:/usr/local/java-apis/javamail/javamail-1.4/lib/imap.jar!/META-INF/javamail.providers
DEBUG: URL jar:file:/usr/local/java-apis/javamail/javamail-1.4/lib/pop3.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: jar:file:/usr/local/java-apis/javamail/javamail-1.4/lib/pop3.jar!/META-INF/javamail.providers
DEBUG: URL jar:file:/usr/local/java-apis/javamail/javamail-1.4/lib/smtp.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: jar:file:/usr/local/java-apis/javamail/javamail-1.4/lib/smtp.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: /META-INF/javamail.default.providers
DEBUG: Tables of loaded providers
DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]}
DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsy stems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc]}
DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
DEBUG: URL jar:file:/usr/local/java-apis/javamail/javamail-1.4/lib/smtp.jar!/META-INF/javamail.address.map
DEBUG: successfully loaded resource: jar:file:/usr/local/java-apis/javamail/javamail-1.4/lib/smtp.jar!/META-INF/javamail.address.map
DEBUG: java.io.FileNotFoundException: /usr/java/jdk1.5.0_11/jre/lib/javamail.address.map (No such file or directory)
DEBUG: getProvider() returning javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc]
DEBUG: mail.imap.partialfetch: false
* OK [CAPABILITY IMAP4REV1 LOGIN-REFERRALS AUTH=PLAIN AUTH=LOGIN] pantheon-po09.its.yale.edu IMAP4rev1 2002.336 at Fri, 21 Sep 2007 09:34:04 -0400 (EDT)
IMAP DEBUG: AUTH: PLAIN
IMAP DEBUG: AUTH: LOGIN
A0 CAPABILITY
* CAPABILITY IMAP4REV1 IDLE NAMESPACE MAILBOX-REFERRALS BINARY SCAN SORT THREAD=REFERENCES THREAD=ORDEREDSUBJECT MULTIAPPEND LOGIN-REFERRALS AUTH=PLAIN AUTH=LOGIN
A0 OK CAPABILITY completed
IMAP DEBUG: AUTH: PLAIN
IMAP DEBUG: AUTH: LOGIN
DEBUG: protocolConnect login, host=pantheon-po09.its.yale.edu, user=jjv6, password=<non-null>
A1 AUTHENTICATE PLAIN
+
+*<----REMOVED---->*+
A1 OK [CAPABILITY IMAP4REV1 IDLE NAMESPACE MAILBOX-REFERRALS BINARY SCAN SORT THREAD=REFERENCES THREAD=ORDEREDSUBJECT MULTIAPPEND] User jjv6 authenticated
DEBUG: JavaMail version 1.4ea
DEBUG: java.io.FileNotFoundException: /usr/java/jdk1.5.0_11/jre/lib/javamail.providers (No such file or directory)
DEBUG: URL jar:file:/usr/local/java-apis/javamail/javamail-1.4/lib/imap.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: jar:file:/usr/local/java-apis/javamail/javamail-1.4/lib/imap.jar!/META-INF/javamail.providers
DEBUG: URL jar:file:/usr/local/java-apis/javamail/javamail-1.4/lib/pop3.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: jar:file:/usr/local/java-apis/javamail/javamail-1.4/lib/pop3.jar!/META-INF/javamail.providers
DEBUG: URL jar:file:/usr/local/java-apis/javamail/javamail-1.4/lib/smtp.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: jar:file:/usr/local/java-apis/javamail/javamail-1.4/lib/smtp.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: /META-INF/javamail.default.providers
DEBUG: Tables of loaded providers
DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]}
DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsy stems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc]}
DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
DEBUG: URL jar:file:/usr/local/java-apis/javamail/javamail-1.4/lib/smtp.jar!/META-INF/javamail.address.map
DEBUG: successfully loaded resource: jar:file:/usr/local/java-apis/javamail/javamail-1.4/lib/smtp.jar!/META-INF/javamail.address.map
DEBUG: java.io.FileNotFoundException: /usr/java/jdk1.5.0_11/jre/lib/javamail.address.map (No such file or directory)
DEBUG: getProvider() returning javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc]
DEBUG: mail.imap.partialfetch: false
* OK Microsoft Exchange Server 2007 IMAP4 service ready
A0 CAPABILITY
* CAPABILITY IMAP4 IMAP4rev1 AUTH=NTLM AUTH=GSSAPI IDLE NAMESPACE LITERAL+
A0 OK CAPABILITY completed.
IMAP DEBUG: AUTH: NTLM
IMAP DEBUG: AUTH: GSSAPI
DEBUG: protocolConnect login, host=connect.yale.edu, user=jjv6, password=<non-null>
A1 LOGIN +*<----Removed---->*+
A1 OK LOGIN completed.
A2 LIST "" "Sakai-Dev List"
* LIST (\HasNoChildren) "/" "Sakai-Dev List"
A2 OK LIST completed.
DEBUG: connection available -- size: 1
A2 EXAMINE "Sakai-Dev List"
* 1206 EXISTS
* 2 RECENT
* OK [UIDVALIDITY 1151671867] UID validity status
* OK [UIDNEXT 11497] Predicted next UID
* FLAGS (Junk NonJunk $Label5 $Label1 $Label2 $Label3 $Label4 $MDNSent \Answered \Flagged \Deleted \Draft \Seen)
* OK [PERMANENTFLAGS ()] Permanent flags
* OK [UNSEEN 8] first unseen message in /imap/j/jjv6/Sakai-Dev List
A2 OK [READ-ONLY] EXAMINE completed
DEBUG: connection available -- size: 1
A3 SELECT "Sakai-Dev List"
* 524 EXISTS
* 0 RECENT
* FLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent)
* OK [PERMANENTFLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent)] Permanent flags
* OK [UIDVALIDITY 13758] UIDVALIDITY value
* OK [UIDNEXT 525] The next unique identifier value
A3 OK [READ-WRITE] SELECT completed.
A3 LIST "" "Sakai-Dev List"
* LIST (\NoInferiors \UnMarked) "/" "Sakai-Dev List"
A3 OK LIST completed
3080 [main] DEBUG - Source Messages : 1206
3080 [main] DEBUG - Dest Messages : 524
3080 [main] DEBUG - Copying 1206 Messages
A4 FETCH 1 (ENVELOPE INTERNALDATE RFC822.SIZE)
* 1 FETCH (ENVELOPE ("Tue, 21 Aug 2007 13:35:23 -0700 (PDT)" "Re: Sakai portlet problem in uPortal" (("Onur Sirin" NIL "onursirin" "sabanciuniv.edu")) (("Onur Sirin" NIL "onursirin" "sabanciuniv.edu")) (("Onur Sirin" NIL "onursirin" "sabanciuniv.edu")) ((NIL NIL "sakai-dev" "collab.sakaiproject.org")) NIL NIL "<[email protected]>" "<[email protected]>") INTERNALDATE "21-Aug-2007 16:37:20 -0400" RFC822.SIZE 7024)
A4 OK FETCH completed
A5 FETCH 1 (BODY[])
* 1 FETCH (BODY[] {7024}
Received: from mr4.its.yale.edu (mr4.its.yale.edu [130.132.50.10])
by pantheon-po09.its.yale.edu (8.12.11.20060308/8.12.11) with ESMTP id l7LKbJRC006741
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
Tue, 21 Aug 2007 16:37:19 -0400
Received: from paploo.uhi.ac.uk (app1.prod.collab.uhi.ac.uk [194.35.219.184])
by mr4.its.yale.edu (8.12.11.20060308/8.12.11) with ESMTP id l7LKbH3b030903;
Tue, 21 Aug 2007 16:37:18 -0400
Received: from paploo.uhi.ac.uk (localhost [127.0.0.1])
by paploo.uhi.ac.uk (Postfix) with ESMTP id 7F70050E80;
Tue, 21 Aug 2007 20:54:16 +0100 (BST)
Message-ID: <[email protected]>
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit
Received: from prod.collab.uhi.ac.uk ([194.35.219.182])
by paploo.uhi.ac.uk (JAMES SMTP Server 2.1.3) with SMTP ID 665
for <[email protected]>;
Tue, 21 Aug 2007 20:53:07 +0100 (BST)
Received: from kuber.nabble.com (kuber.nabble.com [216.139.236.158])
by shmi.uhi.ac.uk (Postfix) with ESMTP id 347909F12
for <[email protected]>; Tue, 21 Aug 2007 21:35:26 +0100 (BST)
Received: from isper.nabble.com ([192.168.236.156])
by kuber.nabble.com with esmtp (Exim 4.63)
(envelope-from <[email protected]>)
id 1INaRf-0004yq-5U
for [email protected]; Tue, 21 Aug 2007 13:35:23 -0700
Date: Tue, 21 Aug 2007 13:35:23 -0700 (PDT)
From: Onur Sirin <[email protected]>
To: [email protected]
Subject: Re: Sakai portlet problem in uPortal
In-Reply-To: <[email protected]>
X-Content-Type-Outer-Envelope: text/plain; charset=us-ascii
X-Nabble-From: [email protected]
References: <[email protected]> <[email protected]>
X-Content-Type-Message-Body: text/plain; charset=us-ascii
Content-Type: text/plain; charset=us-ascii
X-YaleITSMailFilter: Version 1.2c (attachment(s) not renamed)
X-Yale-Not-Spam: For more info see: http://www.yale.edu/email/spam/content.html
X-Yale-Spam-Score: (0)
X-Yale-Filter-Score: 0
X-Scanned-By: MIMEDefang 2.52 on 130.132.50.10
Hi Charles,
I used a portlet you created first but not in trunk. (as sakai-dash.war
file) This might be older one.
From catalina.out i get following logs.First, as always i get:
WARN: Shared Segment file is missing
/home/sakai/tomcat/sakai/sharedsegments/1187722277361.zip (2007-08-21
23:02:38,279
SearchBuilder_0_org.sakaiproject.search.index.impl.JDBCClusterIndexStore)
ERROR: There has been a major poblem with the Search Index which has become
corrupted (2007-08-21 23:02:38,285
SearchBuilder_0_org.sakaiproject.search.index.impl.ClusterFSIndexStorage)
java.io.IOException: No Index available to open
at
org.sakaiproject.search.index.impl.ClusterFSIndexStorage.getIndexReader(ClusterFSIndexStorage.java:211)
at
org.sakaiproject.search.index.impl.ClusterFSIndexStorage.getIndexSearcher(ClusterFSIndexStorage.java:288)
at
org.sakaiproject.search.index.impl.SearchIndexStorage.getIndexSearcher(SearchIndexStorage.java:97)
at
org.sakaiproject.search.component.service.impl.SearchServiceImpl.getIndexSearcher(SearchServiceImpl.java:554)
at
org.sakaiproject.search.component.service.impl.SearchServiceImpl.reload(SearchServiceImpl.java:451)
at
org.sakaiproject.search.component.service.impl.SearchIndexBuilderWorkerImpl.run(SearchIndexBuilderWorkerImpl.java:485)
at java.lang.Thread.run(Thread.java:595)
WARN: Shared Segment file is missing
/home/sakai/tomcat/sakai/sharedsegments/1187722277361.zip (2007-08-21
23:02:38,460
SearchBuilder_1_org.sakaiproject.search.index.impl.JDBCClusterIndexStore)
ERROR: There has been a major poblem with the Search Index which has become
corrupted (2007-08-21 23:02:38,466
SearchBuilder_1_org.sakaiproject.search.index.impl.ClusterFSIndexStorage)
java.io.IOException: No Index available to open
at
org.sakaiproject.search.index.impl.ClusterFSIndexStorage.getIndexReader(ClusterFSIndexStorage.java:211)
at
org.sakaiproject.search.index.impl.ClusterFSIndexStorage.getIndexSearcher(ClusterFSIndexStorage.java:288)
at
org.sakaiproject.search.index.impl.SearchIndexStorage.getIndexSearcher(SearchIndexStorage.java:97)
at
org.sakaiproject.search.component.service.impl.SearchServiceImpl.getIndexSearcher(SearchServiceImpl.java:554)
at
org.sakaiproject.search.component.service.impl.SearchServiceImpl.reload(SearchServiceImpl.java:451)
at
org.sakaiproject.search.component.service.impl.SearchIndexBuilderWorkerImpl.run(SearchIndexBuilderWorkerImpl.java:485)
at java.lang.Thread.run(Thread.java:595)
I don't know what it is. !!!
And then, when i logged into portal, i get the following message:
SakaiPortalLogin.loginAndCreate id=onursirin pw=plugh-xyzzy sec=plugh-xyzzy
fn=Onur ln=Sirin [email protected] ip=10.4.3.1
Site exists...~onursirin
That's all what i see in catalina.out.
By the way, we are using Cisco CSS (Content Switch) for Load Balancing
process.
Behind CSS, there is apache server and application server installed on two
servers which mentioned in this page
http://confluence.sakaiproject.org/confluence/display/DOC/Sakai+2.4+Admin+Guide+-LoadBalancing+and+Scaling
http://confluence.sakaiproject.org/confluence/display/DOC/Sakai+2.4+Admin+Guide+-LoadBalancing+and+Scaling
as thin client .
CSS DNS address = sucourse.sabanciuniv.edu
App server DNS address = sakws1.sabanciuniv.edu and sakws2.sabanciuniv.edu
It is enough to type sucourse.sabanciuniv.edu address in web browser.
Their sakai.properties files are similar. However, there are following
parameters that i didn't use in my sakai.properties file. May be i should
use them. !!
[email protected]
[email protected]
[email protected]
Now, i have changed my connection type by connecting Campus VPN server with
Checkpoint VPN client, i got my sakai course pages correctly via sakai
portlet. However, in campus i had same problem today.
So, like i said, the situation is changing due to unknown reason.
From portlet, i clicked on any course, i get blank screen with followingaddress in web browser address bar.
https://sucourse.sabanciuniv.edu/sakai-login-tool/container?sakai.session=02274ca6-fc19-413c-80d9-4332ae4e4499&ticket=ST-5342-bLIfR5lVs29HB1ZAeRrMA3bbmQtVWRJqQ6N-20
That's all.
Thank you for your response Charles !
Regards
Charles Severance wrote:
View this message in context: http://www.nabble.com/Sakai-portlet-problem-in-uPortal-tf4304476.html#a12262587
Sent from the Sakai - Development mailing list archive at Nabble.com.
This automatic notification message was sent by Sakai Collab (https://collab.sakaiproject.org/portal) from the DG: Development (a.k.a. sakai-dev) site.
You can modify how you receive notifications at My Workspace > Preferences.
A5 OK FETCH completed
A6 FETCH 1 (FLAGS)
* 1 FETCH (FLAGS (\Seen \Deleted NonJunk))
A6 OK FETCH completed
A4 APPEND "Sakai-Dev List" (\Deleted \Seen NonJunk) "21-Aug-2007 16:37:20 -0400" {7024+}
A7 FETCH 1 (BODY[])
* 1 FETCH (BODY[] {7024}
Received: from mr4.its.yale.edu (mr4.its.yale.edu [130.132.50.10])
by pantheon-po09.its.yale.edu (8.12.11.20060308/8.12.11) with ESMTP id l7LKbJRC006741
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
Tue, 21 Aug 2007 16:37:19 -0400
Received: from paploo.uhi.ac.uk (app1.prod.collab.uhi.ac.uk [194.35.219.184])
by mr4.its.yale.edu (8.12.11.20060308/8.12.11) with ESMTP id l7LKbH3b030903;
Tue, 21 Aug 2007 16:37:18 -0400
Received: from paploo.uhi.ac.uk (localhost [127.0.0.1])
by paploo.uhi.ac.uk (Postfix) with ESMTP id 7F70050E80;
Tue, 21 Aug 2007 20:54:16 +0100 (BST)
Message-ID: <[email protected]>
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit
Received: from prod.collab.uhi.ac.uk ([194.35.219.182])
by paploo.uhi.ac.uk (JAMES SMTP Server 2.1.3) with SMTP ID 665
for <[email protected]>;
Tue, 21 Aug 2007 20:53:07 +0100 (BST)
Received: from kuber.nabble.com (kuber.nabble.com [216.139.236.158])
by shmi.uhi.ac.uk (Postfix) with ESMTP id 347909F12
for <[email protected]>; Tue, 21 Aug 2007 21:35:26 +0100 (BST)
Received: from isper.nabble.com ([192.168.236.156])
by kuber.nabble.com with esmtp (Exim 4.63)
(envelope-from <[email protected]>)
id 1INaRf-0004yq-5U
for [email protected]; Tue, 21 Aug 2007 13:35:23 -0700
Date: Tue, 21 Aug 2007 13:35:23 -0700 (PDT)
From: Onur Sirin <[email protected]>
To: [email protected]
Subject: Re: Sakai portlet problem in uPortal
In-Reply-To: <[email protected]>
X-Content-Type-Outer-Envelope: text/plain; charset=us-ascii
X-Nabble-From: [email protected]
References: <[email protected]> <[email protected]>
X-Content-Type-Message-Body: text/plain; charset=us-ascii
Content-Type: text/plain; charset=us-ascii
X-YaleITSMailFilter: Version 1.2c (attachment(s) not renamed)
X-Yale-Not-Spam: For more info see: http://www.yale.edu/email/spam/content.html
X-Yale-Spam-Score: (0)
X-Yale-Filter-Score: 0
X-Scanned-By: MIMEDefang 2.52 on 130.132.50.10
Hi Charles,
I used a portlet you created first but not in trunk. (as sakai-dash.war
file) This might be older one.
From catalina.out i get following logs.First, as always i get:
WARN: Shared Segment file is missing
/home/sakai/tomcat/sakai/sharedsegments/1187722277361.zip (2007-08-21
23:02:38,279
SearchBuilder_0_org.sakaiproject.search.index.impl.JDBCClusterIndexStore)
ERROR: There has been a major poblem with the Search Index which has become
corrupted (2007-08-21 23:02:38,285
SearchBuilder_0_org.sakaiproject.search.index.impl.ClusterFSIndexStorage)
java.io.IOException: No Index available to open
at
org.sakaiproject.search.index.impl.ClusterFSIndexStorage.getIndexReader(ClusterFSIndexStorage.java:211)
at
org.sakaiproject.search.index.impl.ClusterFSIndexStorage.getIndexSearcher(ClusterFSIndexStorage.java:288)
at
org.sakaiproject.search.index.impl.SearchIndexStorage.getIndexSearcher(SearchIndexStorage.java:97)
at
org.sakaiproject.search.component.service.impl.SearchServiceImpl.getIndexSearcher(SearchServiceImpl.java:554)
at
org.sakaiproject.search.component.service.impl.SearchServiceImpl.reload(SearchServiceImpl.java:451)
at
org.sakaiproject.search.component.service.impl.SearchIndexBuilderWorkerImpl.run(SearchIndexBuilderWorkerImpl.java:485)
at java.lang.Thread.run(Thread.java:595)
WARN: Shared Segment file is missing
/home/sakai/tomcat/sakai/sharedsegments/1187722277361.zip (2007-08-21
23:02:38,460
SearchBuilder_1_org.sakaiproject.search.index.impl.JDBCClusterIndexStore)
ERROR: There has been a major poblem with the Search Index which has become
corrupted (2007-08-21 23:02:38,466
SearchBuilder_1_org.sakaiproject.search.index.impl.ClusterFSIndexStorage)
java.io.IOException: No Index available to open
at
org.sakaiproject.search.index.impl.ClusterFSIndexStorage.getIndexReader(ClusterFSIndexStorage.java:211)
at
org.sakaiproject.search.index.impl.ClusterFSIndexStorage.getIndexSearcher(ClusterFSIndexStorage.java:288)
at
org.sakaiproject.search.index.impl.SearchIndexStorage.getIndexSearcher(SearchIndexStorage.java:97)
at
org.sakaiproject.search.component.service.impl.SearchServiceImpl.getIndexSearcher(SearchServiceImpl.java:554)
at
org.sakaiproject.search.component.service.impl.SearchServiceImpl.reload(SearchServiceImpl.java:451)
at
org.sakaiproject.search.component.service.impl.SearchIndexBuilderWorkerImpl.run(SearchIndexBuilderWorkerImpl.java:485)
at java.lang.Thread.run(Thread.java:595)
I don't know what it is. !!!
And then, when i logged into portal, i get the following message:
SakaiPortalLogin.loginAndCreate id=onursirin pw=plugh-xyzzy sec=plugh-xyzzy
fn=Onur ln=Sirin [email protected] ip=10.4.3.1
Site exists...~onursirin
That's all what i see in catalina.out.
By the way, we are using Cisco CSS (Content Switch) for Load Balancing
process.
Behind CSS, there is apache server and application server installed on two
servers which mentioned in this page
http://confluence.sakaiproject.org/confluence/display/DOC/Sakai+2.4+Admin+Guide+-LoadBalancing+and+Scaling
http://confluence.sakaiproject.org/confluence/display/DOC/Sakai+2.4+Admin+Guide+-LoadBalancing+and+Scaling
as thin client .
CSS DNS address = sucourse.sabanciuniv.edu
App server DNS address = sakws1.sabanciuniv.edu and sakws2.sabanciuniv.edu
It is enough to type sucourse.sabanciuniv.edu address in web browser.
Their sakai.properties files are similar. However, there are following
parameters that i didn't use in my sakai.properties file. May be i should
use them. !!
[email protected]
[email protected]
[email protected]
Now, i have changed my connection type by connecting Campus VPN server with
Checkpoint VPN client, i got my sakai course pages correctly via sakai
portlet. However, in campus i had same problem today.
So, like i said, the situation is changing due to unknown reason.
From portlet, i clicked on any course, i get blank screen with followingaddress in web browser address bar.
https://sucourse.sabanciuniv.edu/sakai-login-tool/container?sakai.session=02274ca6-fc19-413c-80d9-4332ae4e4499&ticket=ST-5342-bLIfR5lVs29HB1ZAeRrMA3bbmQtVWRJqQ6N-20
That's all.
Thank you for your response Charles !
Regards
Charles Severance wrote:
View this message in context: http://www.nabble.com/Sakai-portlet-problem-in-uPortal-tf4304476.html#a12262587
Sent from the Sakai - Development mailing list archive at Nabble.com.
This automatic notification message was sent by Sakai Collab (https://collab.sakaiproject.org/portal) from the DG: Development (a.k.a. sakai-dev) site.
You can modify how you receive notifications at My Workspace > Preferences.
A7 OK FETCH completed
Received: from mr4.its.yale.edu (mr4.its.yale.edu [130.132.50.10])
by pantheon-po09.its.yale.edu (8.12.11.20060308/8.12.11) with ESMTP id l7LKbJRC006741
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
Tue, 21 Aug 2007 16:37:19 -0400
Received: from paploo.uhi.ac.uk (app1.prod.collab.uhi.ac.uk [194.35.219.184])
by mr4.its.yale.edu (8.12.11.20060308/8.12.11) with ESMTP id l7LKbH3b030903;
Tue, 21 Aug 2007 16:37:18 -0400
Received: from paploo.uhi.ac.uk (localhost [127.0.0.1])
by paploo.uhi.ac.uk (Postfix) with ESMTP id 7F70050E80;
Tue, 21 Aug 2007 20:54:16 +0100 (BST)
Message-ID: <[email protected]>
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit
Received: from prod.collab.uhi.ac.uk ([194.35.219.182])
by paploo.uhi.ac.uk (JAMES SMTP Server 2.1.3) with SMTP ID 665
for <[email protected]>;
Tue, 21 Aug 2007 20:53:07 +0100 (BST)
Received: from kuber.nabble.com (kuber.nabble.com [216.139.236.158])
by shmi.uhi.ac.uk (Postfix) with ESMTP id 347909F12
for <[email protected]>; Tue, 21 Aug 2007 21:35:26 +0100 (BST)
Received: from isper.nabble.com ([192.168.236.156])
by kuber.nabble.com with esmtp (Exim 4.63)
(envelope-from <[email protected]>)
id 1INaRf-0004yq-5U
for [email protected]; Tue, 21 Aug 2007 13:35:23 -0700
Date: Tue, 21 Aug 2007 13:35:23 -0700 (PDT)
From: Onur Sirin <[email protected]>
To: [email protected]
Subject: Re: Sakai portlet problem in uPortal
In-Reply-To: <[email protected]>
X-Content-Type-Outer-Envelope: text/plain; charset=us-ascii
X-Nabble-From: [email protected]
References: <[email protected]> <[email protected]>
X-Content-Type-Message-Body: text/plain; charset=us-ascii
Content-Type: text/plain; charset=us-ascii
X-YaleITSMailFilter: Version 1.2c (attachment(s) not renamed)
X-Yale-Not-Spam: For more info see: http://www.yale.edu/email/spam/content.html
X-Yale-Spam-Score: (0)
X-Yale-Filter-Score: 0
X-Scanned-By: MIMEDefang 2.52 on 130.132.50.10
Hi Charles,
I used a portlet you created first but not in trunk. (as sakai-dash.war
file) This might be older one.
From catalina.out i get following logs.First, as always i get:
WARN: Shared Segment file is missing
/home/sakai/tomcat/sakai/sharedsegments/1187722277361.zip (2007-08-21
23:02:38,279
SearchBuilder_0_org.sakaiproject.search.index.impl.JDBCClusterIndexStore)
ERROR: There has been a major poblem with the Search Index which has become
corrupted (2007-08-21 23:02:38,285
SearchBuilder_0_org.sakaiproject.search.index.impl.ClusterFSIndexStorage)
java.io.IOException: No Index available to open
at
org.sakaiproject.search.index.impl.ClusterFSIndexStorage.getIndexReader(ClusterFSIndexStorage.java:211)
at
org.sakaiproject.search.index.impl.ClusterFSIndexStorage.getIndexSearcher(ClusterFSIndexStorage.java:288)
at
org.sakaiproject.search.index.impl.SearchIndexStorage.getIndexSearcher(SearchIndexStorage.java:97)
at
org.sakaiproject.search.component.service.impl.SearchServiceImpl.getIndexSearcher(SearchServiceImpl.java:554)
at
org.sakaiproject.search.component.service.impl.SearchServiceImpl.reload(SearchServiceImpl.java:451)
at
org.sakaiproject.search.component.service.impl.SearchIndexBuilderWorkerImpl.run(SearchIndexBuilderWorkerImpl.java:485)
at java.lang.Thread.run(Thread.java:595)
WARN: Shared Segment file is missing
/home/sakai/tomcat/sakai/sharedsegments/1187722277361.zip (2007-08-21
23:02:38,460
SearchBuilder_1_org.sakaiproject.search.index.impl.JDBCClusterIndexStore)
ERROR: There has been a major poblem with the Search Index which has become
corrupted (2007-08-21 23:02:38,466
SearchBuilder_1_org.sakaiproject.search.index.impl.ClusterFSIndexStorage)
java.io.IOException: No Index available to open
at
org.sakaiproject.search.index.impl.ClusterFSIndexStorage.getIndexReader(ClusterFSIndexStorage.java:211)
at
org.sakaiproject.search.index.impl.ClusterFSIndexStorage.getIndexSearcher(ClusterFSIndexStorage.java:288)
at
org.sakaiproject.search.index.impl.SearchIndexStorage.getIndexSearcher(SearchIndexStorage.java:97)
at
org.sakaiproject.search.component.service.impl.SearchServiceImpl.getIndexSearcher(SearchServiceImpl.java:554)
at
org.sakaiproject.search.component.service.impl.SearchServiceImpl.reload(SearchServiceImpl.java:451)
at
org.sakaiproject.search.component.service.impl.SearchIndexBuilderWorkerImpl.run(SearchIndexBuilderWorkerImpl.java:485)
at java.lang.Thread.run(Thread.java:595)
I don't know what it is. !!!
And then, when i logged into portal, i get the following message:
SakaiPortalLogin.loginAndCreate id=onursirin pw=plugh-xyzzy sec=plugh-xyzzy
fn=Onur ln=Sirin [email protected] ip=10.4.3.1
Site exists...~onursirin
That's all what i see in catalina.out.
By the way, we are using Cisco CSS (Content Switch) for Load Balancing
process.
Behind CSS, there is apache server and application server installed on two
servers which mentioned in this page
http://confluence.sakaiproject.org/confluence/display/DOC/Sakai+2.4+Admin+Guide+-LoadBalancing+and+Scaling
http://confluence.sakaiproject.org/confluence/display/DOC/Sakai+2.4+Admin+Guide+-LoadBalancing+and+Scaling
as thin client .
CSS DNS address = sucourse.sabanciuniv.edu
App server DNS address = sakws1.sabanciuniv.edu and sakws2.sabanciuniv.edu
It is enough to type sucourse.sabanciuniv.edu address in web browser.
Their sakai.properties files are similar. However, there are following
parameters that i didn't use in my sakai.properties file. May be i should
use them. !!
[email protected]
[email protected]
[email protected]
Now, i have changed my connection type by connecting Campus VPN serverThe command that seems to be causing problems for Exchange is this one:
A4 APPEND "Sakai-Dev List" (\Deleted \Seen NonJunk) "21-Aug-2007 16:37:20 -0400" {7024+}
As far as I can see, there's nothing wrong with the syntax of that command.
My first guess is that Exchange is unhappy with the flags. Possibly
it refuses to append a message with the \Deleted flag set. If you're
willing to modify the flags in the source mailbox, I would try turning
off the DELETED flag. Or, try not copying deleted messages.
If that doesn't work, the next thing to try is to get rid of all of the
flags. You might want to copy the message into a local copy
in order to lose all the flags from the original. -
Problem associated with Command Line arguments
hi ,
I am not able to pass a file path as command line argument in java.
Actually i want to run a java program from the command prompt passing a file path . Something like this i tried to do , but its not working.
D:\VISHAL\src> java CopyFile C:\Documents and Settings\Administrator\Desktop\link.txt
where ,
CopyFile is the name of my class which i am going to run
C:\Documents and Settings\Administrator\Desktop\link.txt is the argument.
Can anyone tell me whether a java program accepts an argument like this, if yes please tell me the exact syntax..
Thanks
Vishal J
Message was edited by:
vishal_vjis there any other way of solving this?Y don't U try it out with the logic as mentioned
below it wud be the case if U r not going with
java CopyFile "C:\Documents and
Settings\Administrator\Desktop\link.txt" 1
String filepath = new String();
for(int i = 0; i < Arg.length; i++)
filepath.append(Arg);
File f = new File(filepath);
What???? This is a non-solution to a non-problem. First of all, you would be constructing a filename without spaces, when the real path contains spaces. Secondly, even if you did insert spaces it would not matter. What if the String (and it does not have to be a filename) contained tabs rather than spaces. The real (and really only) solution to the problem is to put quotes around the argument, for the exact reason stated in my last post. -
LocalDirector 417 and JSESSIONID url argument
I am installing a LD417 in front of a cluster of WebLogic servers.
The LD417 will passively inspect the JSESSIONID cookie in order to keep the connections from a particular client going to the same WebLogic server (WLS). If that WLS goes down, it will send on to a different server, and the new WLS will request the session information from whichever WLS has the backup.
Some times the client device might not support cookies, in which case the WLS will use url rewriting (appending ;JSESSIONID=A6B2... to the url) instead. Can the LD417 use this url argument as a key for stickiness, instead of the cookie? Quite a lot of documentation hints to this possibility, but I have not found anything concrete.
Thanks,
NickHi Nick,
LD is not capable of doing what you want to accomplish .Sticky based on cookie in url.The LD scans the HTTP GET request for a cookie (cookie-passive) it cannot scan the URL for cookie .
The Content service switch (CSS) which is the advanced Load balancer can handle this .
Tanveer -
Wron number of arguments error on URLEncoder.encode(language,
the following is the code which is an example in The complete Reference JSP
I ran this in tomcat
it shows an error which is showed down this code.The place where error occuring is underlined in the code
<%@ page session="false"
import="java.io.*,
java.net.*,
java.util.*" %>
<html>
<head>
<title>Using Cookies to Store Preferences</title>
<style><%= STYLESHEET %></style>
</head>
<body>
<table border="0" cellspacing="3" width="500">
<%-- Company logo --%>
<tr><td>
<img src="images/lyric_note.png">
</td></tr>
<%-- Language preference bar --%>
<tr><td class="LB">
<%= getLanguageBar(request) %>
</td></tr>
</table>
<%-- Localized greeting --%>
<h1><%= getGreeting(request) %></h1>
<%-- Store language preference in a persistent cookie --%>
<% storeLanguagePreferenceCookie(request, response); %>
</body>
</html>
<%!
// ===========================================
// Helper methods included here for
// clarity. A better choice would be
// to put them in beans or a servlet.
// ===========================================
* The CSS stylesheet
private static final String STYLESHEET =
"h1 { font-size: 130%; }\n"
+ ".LB {\n"
+ " background-color: #005A9C;\n"
+ " color: #FFFFFF;\n"
+ " font-size: 90%;\n"
+ " font-weight: bold;\n"
+ " padding: 0.5em;\n"
+ " text-align: right;\n"
+ " word-spacing: 1em;\n"
+ "}\n"
+ ".LB a:link, .LB a:active, .LB a:visited {\n"
+ " text-decoration: none;\n"
+ " color: #FFFFFF;\n"
+ "}\n";
* Creates the language preference bar
private String getLanguageBar
(HttpServletRequest request)
throws IOException
String thisURL = request.getRequestURL().toString();
StringBuffer sb = new StringBuffer();
appendLink(sb, thisURL, Locale.ENGLISH);
appendLink(sb, thisURL, Locale.GERMAN);
appendLink(sb, thisURL, Locale.FRENCH);
appendLink(sb, thisURL, Locale.ITALIAN);
String languageBar = sb.toString();
return languageBar;
* Helper method to create hyperlinks
private void appendLink
(StringBuffer sb, String thisURL, Locale locale)
throws UnsupportedEncodingException
if (sb.length() > 0)
sb.append(" ");
String language = locale.getLanguage();
sb.append("<a href=\"");
sb.append(thisURL);
sb.append("?language=");
sb.append(URLEncoder.encode(language, "UTF-8")); sb.append("\">");
sb.append(locale.getDisplayName(locale));
sb.append("</a>\n");
* Gets the greeting message appropriate for
* this locale
private String getGreeting
(HttpServletRequest request)
Locale locale = getLocaleFromCookie(request);
ResourceBundle RB = ResourceBundle.getBundle
("com.jspcr.sessions.welcome", locale);
String greeting = RB.getString("greeting");
return greeting;
* Determines the locale to use, in the following
* order of preference:
* 1. Language parameter passed with request
* 2. Language cookie previously stored
* 3. Default locale for client
* 4. Default locale for server
private Locale getLocaleFromCookie
(HttpServletRequest request)
Locale locale = null;
String language = request.getParameter("language");
if (language != null)
locale = new Locale(language);
else {
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (int i = 0; i < cookies.length; i++) {
Cookie cookie = cookies;
String name = cookie.getName();
if (name.equals("language")) {
language = cookie.getValue();
locale = new Locale(language);
break;
if (locale == null)
locale = request.getLocale();
return locale;
* Stores the language preference
* in a persistent cookie
private void storeLanguagePreferenceCookie
(HttpServletRequest request, HttpServletResponse response)
Locale locale = getLocaleFromCookie(request);
String name = "language";
String value = locale.getLanguage();
Cookie cookie = new Cookie(name, value);
final int ONE_YEAR = 60 * 60 * 24 * 365;
cookie.setMaxAge(ONE_YEAR);
response.addCookie(cookie);
%>
org.apache.jasper.JasperException: Unable to compile class for JSP
An error occured between lines: 45 and 173 in the jsp file: /chap08/examples/cookies/CookieBasedWelcome.jsp
Generated servlet error:
C:\tomcat\jakarta-tomcat-4.0\work\localhost\_\chap08\examples\cookies\CookieBasedWelcome$jsp.java:75: Wrong number of arguments in method.
sb.append(URLEncoder.encode(language, "UTF-8"));
^
An error occured between lines: 45 and 173 in the jsp file: /chap08/examples/cookies/CookieBasedWelcome.jsp
Generated servlet error:
C:\tomcat\jakarta-tomcat-4.0\work\localhost\_\chap08\examples\cookies\CookieBasedWelcome$jsp.java:110: Wrong number of arguments in constructor.
locale = new Locale(language);
^
An error occured between lines: 45 and 173 in the jsp file: /chap08/examples/cookies/CookieBasedWelcome.jsp
Generated servlet error:
C:\tomcat\jakarta-tomcat-4.0\work\localhost\_\chap08\examples\cookies\CookieBasedWelcome$jsp.java:119: Wrong number of arguments in constructor.
locale = new Locale(language);
^
3 errors
But i have even checked the syntax of encode at which is exactly matching
http://java.sun.com/j2se/1.4.2/docs/api/java/net/URLEncoder.html
Kindly let me know what is the reason.......Check the Java API for this:
There is a specific note for the method, which reads as follows:
Note: The World Wide Web Consortium Recommendation states that UTF-8 should be used. Not doing so may introduce incompatibilites.
It's always better to look in API docs.
Annie. -
How to read appended objects from file with ObjectInputStream?
Hi to everyone. I'm new to Java so my question may look really stupid to most of you but I couldn't fined a solution by myself... I wanted to make an application, something like address book that is storing information about different people. So I decided to make a class that will hold the information for each person (for example: nickname, name, e-mail, web address and so on), then using the ObjectOutputStream the information will be save to a file. If I want to add a new record for a new person I'll simply append it to the already existing file. So far so good but soon I discovered that I can not read the appended objects using ObjectInputStream.
What I mean is that if I create new file and then in one session save several objects to it using ObjectOutputStream they all will be read with no problem by ObjectInputStream. But after that if in a new session I append new objects they won't be read. The ObjectInputStream will read the objects from the first session after that IOException will be generated and the reading will stop just before the appended objects from the second session.
The following is just a simple test it's not actual code from the program I was talking about. Instead of objects containing different kind of information I'm using only strings here. To use the program use as arguments in the console "w" to create new file followed by the file name and the strings you want save to the file (as objects). Example: "+w TestFile.obj Thats Just A Test+". Then to read it use "r" (for reading), followed by the file name. Example "+r TestFile.obj+". As a result you'll see that all the strings that are saved in the file can be successfully read back. Then do the same: "+w TestFile.obj Thats Second Test+" and then read again "+r TestFile.obj+". What will happen is that the strings only from the first sessions will be read and the ones from the second session will not.
I am sorry for making this that long but I couldn't explain it more simple. If someone can give me a solution I'll be happy to hear it! ^.^ I'll also be glad if someone propose different approach of the problem! Here is the code:
import java.io.*;
class Fio
public static void main(String[] args)
try
if (args[0].equals("w"))
FileOutputStream fos = new FileOutputStream(args[1], true);
ObjectOutputStream oos = new ObjectOutputStream(fos);
for (int i = 2; i < args.length ; i++)
oos.writeObject(args);
fos.close();
else if (args[0].equals("r"))
FileInputStream fis = new FileInputStream(args[1]);
ObjectInputStream ois = new ObjectInputStream(fis);
for (int i = 0; i < fis.available(); i++)
System.out.println((String)ois.readObject());
fis.close();
else
System.out.println("Wrong args!");
catch (IndexOutOfBoundsException exc)
System.out.println("You must use \"w\" or \"r\" followed by the file name as args!");
catch (IOException exc)
System.out.println("I/O exception appeard!");
catch (ClassNotFoundException exc)
System.out.println("Can not find the needed class");How to read appended objects from file with ObjectInputStream? The short answer is you can't.
The long answer is you can if you put some work into it. The general outline would be to create a file with a format that will allow the storage of multiple streams within it. If you use a RandomAccessFile, you can create a header containing the length. If you use streams, you'll have to use a block protocol. The reason for this is that I don't think ObjectInputStream is guaranteed to read the same number of bytes ObjectOutputStream writes to it (e.g., it could skip ending padding or such).
Next, you'll need to create an object that can return more InputStream objects, one per stream written to the file.
Not trivial, but that's how you'd do it. -
Reading character * at command line argument?
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class FindDemo {
public static void main(String[] args) {
Matcher m =
Pattern.compile("[aeiouAEIOU]*(\*)[atcgAGCT]*").matcher(
"agctaEvening is full of the linnet's wings");
if (m.find())
System.out.println(m.group());
Help?
(\*) - How can I read the * symbol from command line argument?If anyone can advise me, I would be very grateful.
I have a program that takes arguments from command line:
one a text file and the other a sequence to search against the file.
The sequence can contain a * which represents more than one letter of the alphabet. e.g AM*N which should yield Amen, Amoran, american
import java.io.*;
public class FindTextInFileNine {
public static void main(String[] args) {
if(args.length != 2) {
System.out.println("Usage: java FindTextInFile [file-name] [search-string]");
else {
String file = args[0];
String search = args[1];
String parameter = search.replaceAll(" ", "");
String result = parameter(file, parameter);
System.out.println(result);
public static String parameter(String file, String parameter) {
StringBuffer strb = new StringBuffer();
parameter = parameter.toLowerCase();
if (parameter.matches("[actgACTG]*") != false){
System.out.print("Correct parameters for sequence entered.");
if (parameter.matches("[aeiouAEIOU]*") != true){
System.out.print("ERROR1: Incorrect parameters for sequence entered.");
try {
FileReader fr = new FileReader(file);
BufferedReader input = new BufferedReader(fr);
int lineNumber = 0;
String line;
while((line = input.readLine()) != null) {
line = line.toLowerCase();
lineNumber++;
System.out.println(parameter.matches("[aeiouAEIOU]*"));
if(line.indexOf(parameter) != -1) {
strb.append("Found \""+parameter+"\" at line "+lineNumber+
", starting-index "+line.indexOf(parameter));
strb.append('\n');
else {
System.out.println("Sequence not found in file. Please check and try again");
input.close();
catch(IOException e) {
System.out.println();
System.out.println("ERROR2: File not found. Please check file name, file extension and file location.");
return strb.toString();
}Any help appreciated. -
Passing arguments to a remote script
Hey, here is my problem. I want to call a script used in a (some other party) web site from my Java program. I do not know anything about the script - language, source code, etc. only know its location. For example I want to call a scrpit on Yahoo site that will show me the TV program of a given channel for a given zip code. First of all - is this ok, I mean legal?
Next - assume the yahoo script takes its input from a form - i.e. 2 text fields called "channel" and "zipCode" (should I determine the names of the variables by "view"-ing the HTML source of the form, or should I use the names of the variables that are present in the URL of the resulting page?). When I call the script from my Java program, I need to send it these 2 parameters (in the Java program they are called "ch" and "zip"). I have tested my program - if I only provide the value for the "channel" it works fine. So my question is how to send multiple arguments?
At the moment I have sometng like this:
public static void main(String[] args)
String ch = URLEncoder.encode(args[0],"UTF-8");
String zip = URLEncoder.encode(args[1],"UTF-8");
//I am reading the channel name and zip as command line args
URL url = new URL("www.........");
URLConnection conn = url.openConnection();
conn.doSetOutput(true);
PrintWriter out = new PrintWriter(conn.getOutputStream);
out.println("channel = " + ch); //this works fine
//here I got the reply
//here is my question
//when I try something like this
out.println("channel = " + ch + "&zipCode = "+zip);
//it does not work
I guess there is something wrong in separating the 2 arguments - should it be ; instead of &, or what? Should the separator be encoded too? (And in general, what is the role of the encoding - just to convert the not alphanumeric characheters and the blank space, or there is sometning deeper?).
Also does the order in which you provide the arguments matter?
Should I send values for all arguments when the script is called?
Is a "hidden" type (in the form) different from a textfield (for example) in terms of sending values for it?
For example, the zipCode (the variable in the script) may be implemented as a String or as an integer. Is there any other way to determine the type except the trial-end-error mechanism?
I really will appreciate both the short and the long answers (some links will be nice) to my questions :)
Thanks,
Mikefirst, if you're going to write to the URLConnection's output stream, you need to set the request method to be POST. The correct syntax for name=value pairs in HTML is:
name1=value1&name2=value2&...
so no, you don't want to use a ; instead (a ; can be used, but it's generally a special case to append extra data, I think). You should only encode the variables, as far as I know. (you can also send multiple values with the same name:
name1=value1A&name1=value1B&...
but the server has to know to expect it).
But really, all that is an HTTP issue.
Also does the order in which you provide the arguments matter?no, it doesn't matter.
Should I send values for all arguments when the script is called?You need to send everything you want to send at the same time. Sending another set of data would be another separate request, and the first values wouldn't be stored on the server (in most cases). It would take special considerations for a server to handle multiple request as one, and if you don't know for sure that this is the case, then you shouldn't assume it would work.
Is a "hidden" type (in the form) different from a textfield
(for example) in terms of sending values for it?yes and no. The user can't set hidden values, so in that regard yes. Scripts can set them in a browser, but from the server's point of view, it doesn't really know that a value came from a text field, hidden field, select list or other field. All it gets is name=value pairs.
For example, the zipCode (the variable in the script) may be
implemented as a String or as an integer. Is there any other
way to determine the type except the trial-end-error mechanism?no, it's just name=value pairs. The browser has no such field as a number field vs. string fields, so the server can't know. Typically you validate the field data with Javascript or on the server and complain to the user if you want numbers only in fields. -
Appending Objects to a File using serialization
hi,
I was wondering if I can append objects in a single file. For example, suppose there are 2 .java files. 1st file creates the Serialized file caleed sl.dat, opens it, writes the object, close it down.
The 2nd file nw open that same file, sl.dat, in append mode, writes one more object and close it down.
next I want to read each object of the file. Will it work in this fashion?
I found a quite interesting discussion here. but it says that it is not possible.. is that true?
Any clue? Is there any other mean to achieve this?arin wrote:
kajbj wrote:
I've done it by subclassing ObjectOutputStream. I could then add a constructor that took an argument that indicated if a header should be written or not.Can you explain what I need to done here... I have a class which extends ObjectOutputStream but what to do after that? What do u mean by header in the constructor?? Please help meYou do know that you have the source code for the class if you have a JDK? The source for ObjectOutputStream is in the src.zip.
The normal constructor calls writeStreamHeader, and that is the problem if you are going to append data since you don't want to get the stream header more than once. Create a constructor that takes a boolean as argument, and only calls writeStreamHeader if the boolean is true.
Kaj
Maybe you are looking for
-
Convert tiff to pdf using on line converter
i signed up with the annual subscription but cannot convert my tiff files on line. Need help please
-
How to implement secure help in SharePoint 2010?
Hi, We are having a sharepoint site running over HTTPS. When I click on help link given on top right side, I get a security warning saying that only secure content content can be displayed. This is probably due to the non secure content(http) used by
-
Intel 875p can you help guys?
I wonder if some of you guys could help me out, Ive downloaded a program from Maxtor called powermax to check out my drives, its a quick download and it builds a bootable disk for you. When I boot up from this floppy I get the error message "cannot c
-
Transfer Music to External Harddrive on 9.0
Hello. I'm trying to free up some space on my computer, so I want to transfer my music library onto an external Harddrive. Since I don't have the consolidate option with Itunes 9.0 is there any other way to do it?
-
Database timeout issue in oracle 11g 64 bit windows machine
Hi , Database connection getting timedout for every 30 seconds in oracle 11g database 64 bit windows environment. And the error we are getting is "Invalid user name and passoword". After altering the schema passoword alter username identified by pwd;