Program rbdapp01 when called from a program is not working
Hi Guys,
I am calling the program rbdapp01 from a custom program to reprocess an inbound ASN with IDOC status of 64. The code is listed as below in the custom program.
SUBMIT rbdapp01
WITH docnum = i_report_tab-docnum
WITH p_output = C_FALSE
AND RETURN.
After the execution of the custom program, the IIDOC is not processed and it remains in the status 64 with a message "Re processing deleted , inbound delivery IDOC , ,". When I run the program in debug mode, I can see that the control is going into the rbdapp01 program. But some where along the line, it is failing for what ever may be the reason and it does not process the IDCO, but it only populates the message.
But when I execute the same program rbdapp01 for the same IDOC from SE38, the IDOC is processed fine.
Looks like, I am missing something when I am calling this program rbdapp01 in another custom program. Any advice is really appreciated.
Regards
Rupesh.
Hi,
Please make use of this method of submit
DATA : rspar_tab TYPE TABLE OF rsparams,
rspar_line LIKE LINE OF rspar_tab.
rspar_line-selname = 'DOCNUM'.
rspar_line-sign = 'I'.
rspar_line-option = EQ'.
rspar_line-low = .
rspar_line-high = .
APPEND rspar_line TO rspar_tab.
SUBMIT RBDAPP01 WITH SELECTION-TABLE rspar_tab.
Try to implement this code, hope this help outs
Thanks & Regards
Suresh
Similar Messages
-
Calls from cucm to CME not working-unknown number
hi all
we have cucm 9.1 and gateway 2911 on the side A and on the side B we have uc540 , we have configured tunnels between 2911 and uc540, calls from cucm SideA to uc540 Side B is ok and working fine. now we have one 9951 phone which gets ip from uc540 (side B) and tftp is our cucm IP.9951 phone is registered in cucm and calls from cucm to that 9951 phones are working fine. now problem is call is one sided between uc 540 local extension and ip phone 9951.
9951 which is registered on cucm can call uc 540 user but spa 504 phone which is registered on uc540 cant call to cisco 9951 phone gets error "unknown number"
i am attaching debug voice ccapi inout with this
kidnly help me to solve the issue ASAPhere is show voice register all.i am surprised to see dial peer 20002 but there is no dial peer like that i dont know where its getting this dial peer 20002.extension 2002 is registered with my call manager.
Router#sh voice register all
VOICE REGISTER GLOBAL
=====================
CONFIG [Version=8.6]
========================
Version 8.6
Mode is srst
Max-pool is 0
Max-dn is 0
Outbound-proxy is enabled and will use global configured value
Security Policy: DEVICE-DEFAULT
Forced Authorization Code Refer is enabled
timeout interdigit 0
network-locale[0] US (This is the default network locale for this box)
network-locale[1] US
network-locale[2] US
network-locale[3] US
network-locale[4] US
user-locale[0] US (This is the default user locale for this box)
user-locale[1] US
user-locale[2] US
user-locale[3] US
user-locale[4] US Active registrations : 0
Total SIP phones registered: 0
Total Registration Statistics
Registration requests : 0
Registration success : 0
Registration failed : 0
unRegister requests : 0
unRegister success : 0
unRegister failed : 0
Attempts to register
after last unregister : 0
Last register request time :
Last unregister request time :
Register success time :
Unregister success time :
VOICE REGISTER DN
=================
VOICE REGISTER POOL
===================
Router# -
Linux script call from PL/SQL does not work?
We are trying to run a simple Linux command using this PL/SQL 10.2 procedure:
PROCEDURE run_linux_script_from_oracle IS
BEGIN
dbms_scheduler.create_job
job_name=>'runtop',
job_type=>'executable',
job_action=>'/vol0/FileLoadDir/Bank/DATA_FILES/spell_check.sh',
enabled=>true,
auto_drop=>true
DBMS_OUTPUT.PUT_LINE('Successful');
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Error: ' || SQLERRM);
END;The .sh file has this command which works fine when we run in Linux.
spell /vol0/FileLoadDir/Bank/DATA_FILES/ebill2.fmt_form_strings_.txt > /vol0/FileLoadDir/Bank/DATA_FILES/abcd.txtI get a Successful when I run this command in my SQL*Navigator and a PLS-00225: subprogram or cursor 'ABS' reference is out of scope when I run it in the SQL*Nav in another machine???
Any help would be greatly appreciated.Channa wrote:
We are trying to run a simple Linux command using this PL/SQL 10.2 procedure:NO, posted procedure below RUNS nothing,
post code simply CREATE JOB, but does NOT invoke it!
>
PROCEDURE run_linux_script_from_oracle IS
BEGIN
dbms_scheduler.create_job
job_name=>'runtop',
job_type=>'executable',
job_action=>'/vol0/FileLoadDir/Bank/DATA_FILES/spell_check.sh',
enabled=>true,
auto_drop=>true
DBMS_OUTPUT.PUT_LINE('Successful');
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Error: ' || SQLERRM);
END;EXCEPTION handler is BUG & should be removed, discarded & 100% eliminated.
>
The .sh file has this command which works fine when we run in Linux.
spell /vol0/FileLoadDir/Bank/DATA_FILES/ebill2.fmt_form_strings_.txt > /vol0/FileLoadDir/Bank/DATA_FILES/abcd.txtI get a Successful when I run this command in my SQL*Navigator and a PLS-00225: subprogram or cursor 'ABS' reference is out of scope when I run it in the SQL*Nav in another machine???What is "ABS" & why/how does it exist in error message? -
Running BDC in 'A' mode when called from Enterprise portal
HI All,
I have created a RFC which contains a BDC program that update data in SAP R/3. The RFC is called from Enterprise portal. Is it possible to run the rfc in A(all screen display) mode while calling from EP. I have tried it but it gives following 2 errors on EP
cm_no_data_received
rfc_error_communication
what changes i have to do so that i can run the BDC in 'A ' mode when called from Enterprise portalit would not be related to EP administration issues but something to do with GUI usage. it is loggically fare enough not to give options of viewing the debug screen in as it might concern security issues inway the data could be edited at any point of time. Moreover the screens u see in R3 are ABAP but whereas in EP it is purely based on Java and the calls to SAP is done via JCO thus enabling ABAP functionalities in EP. Maybe for these technical reasons or constraints it wont be possibel to view the screen in EP eventhough u had ext.bp activated
-
HR_INFOTYPE_OPERATION not working when called from Dynamic action
Hi ,
Senario : I would like to execute a form from dynamic action which
creates a record in 0015 (Additional payment IT) .
I have writen the code as shown below am using FM HR_INFOTYPE_OPERATION
. When i execute the program from se38 it is creating a record, however it is
not created when it is called from dynamic action..when i debugged the code in
inside the FM HR_INFOTYPE_OPERATION there is a FM HR_MAINTAIN_MASTERDATA where
they are using call dialog (statement) and
sy-oncom = 'N' when called from Dynamic action and
sy-oncom = 'S' when called executed directly.
I tried to change the sy-oncom to S while run from Dynamic action it created
the record.
So Can anyone explain me abt sy-oncom and how can i resolve the issue..
code..
REPORT ZHRPYENH01 .
perFORM TERMIATION_9000.
INCLUDE DBPNPMAC.
FORM Termiation_9000 *
FORM TERMIATION_9000.
INFOTYPES : 0015.
*data : i .
*i ='c'.
*break-point.
*message i000(000) with i.
TABLES : PRELP.
DATA : P9000 TYPE PA9000." with header line.
DATA : P0000 TYPE STANDARD TABLE OF P0000 WITH HEADER LINE.
DATA : P0015 TYPE STANDARD TABLE OF P0015 WITH HEADER LINE.
DATA : HIRE_DATE LIKE SY-DATUM,
TERM_DATE LIKE SY-DATUM.
DATA : MOLGA LIKE T500L-MOLGA VALUE '25',
SEQNR LIKE PC261-SEQNR.
DATA : RGDIR TYPE STANDARD TABLE OF PC261 WITH HEADER LINE.
DATA : ACTUAL_PERIOD LIKE PA9000-RETENTION.
DATA : PNP-SW-FOUND TYPE SY-SUBRC ,
PNP-SY-TABIX TYPE SY-TABIX.
DATA : TER_PERNR LIKE PA0001-PERNR.
DATA : REF_PERNR LIKE PA0001-PERNR.
data : key type BAPIPAKEY.
data : payed_amount type p0015-BETRG.
data : future_payment_amount type p0015-BETRG.
data : p0002 like pa0002.
types : begin of t_deduction ,
deducation_date like p0015-begda,
future_payment_amount type p0015-BETRG.
types : end of t_deduction.
data : future_deduction type standard table of t_deduction with
*header line.
data : future_deduction type t_deduction .
data : RETURN type BAPIRETURN1.
*data : deduction_p0015 like standard table of p0015 with header line.
data : deduction_p0015 like p0015 .
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx
****Prepare 0015 data for deduction
*deduction for payed amount
clear deduction_p0015.
*refresh deduction_p0015.
deduction_p0015-pernr = REF_PERNR.
*deduction_p0015-pernr = TER_PERNR.
deduction_p0015-lgart = 'M120'.
deduction_p0015-begda = sy-datum + 1 .
deduction_p0015-endda = sy-datum + 1 .
deduction_p0015-BETRG = payed_amount.
deduction_p0015-WAERS = 'SGD'.
deduction_p0015-ZUORD = TER_PERNR.
*append deduction_p0015.
**deduction for future payment amount
*loop at future_deduction.
*clear deduction_p0015.
*deduction_p0015-pernr = REF_PERNR.
**deduction_p0015-pernr = TER_PERNR.
*deduction_p0015-lgart = 'M120'.
*deduction_p0015-begda = FUTURE_DEDUCTION-DEDUCATION_DATE.
*deduction_p0015-endda = FUTURE_DEDUCTION-DEDUCATION_DATE.
*deduction_p0015-BETRG = future_deduction-future_payment_amount.
*deduction_p0015-WAERS = 'SGD'.
*deduction_p0015-ZUORD = TER_PERNR.
*append deduction_p0015.
*endloop.
Create a deduction wage type in 0015 for the employee
break-point.
CLEAR RETURN.
CALL FUNCTION 'BAPI_EMPLOYEET_ENQUEUE'
EXPORTING
NUMBER = REF_PERNR
VALIDITYBEGIN = '18000101'
IMPORTING
RETURN = return
if not return is initial.
message E000(000) with
'Referred Employee could not be locked for referal payment deducation,
please try after some time'.
endif.
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
INFTY = '0015'
NUMBER = REF_PERNR
SUBTYPE = 'M120'
OBJECTID =
LOCKINDICATOR =
VALIDITYEND = SY-DATUM
VALIDITYBEGIN = SY-DATUM
RECORDNUMBER =
RECORD = deduction_p0015
OPERATION = 'COPY'
TCLAS = 'A'
DIALOG_MODE = '2'
NOCOMMIT =
VIEW_IDENTIFIER =
SECONDARY_RECORD =
IMPORTING
RETURN = return
KEY = key
break-point.
COMMIT WORK.
if not return is initial.
*return-TYPE
*ID
*NUMBER
*MESSAGE
message I000(000) with return-MESSAGE.
endif.
CALL FUNCTION 'BAPI_EMPLOYEET_DEQUEUE'
EXPORTING
NUMBER = REF_PERNR
VALIDITYBEGIN = '18000101'
IMPORTING
RETURN = return
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx
Thanks and regards
-Senthil Bala
Message was edited by: senthil balaHi Senthil
Why at all U want a subroutine to create a record in IT0015 through Dynamic action.There are some standard codes available to update infotypes.
Let me give U an example
14 9CON BETRG 4 2 I INS,0015 This will create a record in IT0015 when IT0014 is updated with Wagetype 9CON
14 9CON BETRG 4 3 W P0015-LGART='5400' Set wagetype for IT0015(Here U can use a subroutine call to set the wagetype)
14 9CON BETRG 4 4 W P0015-BETRG=P0014-BETRG set amount for IT0015(Here U can use a subroutine call to get the amount)
14 9CON BETRG 4 5 W P0015-BEGDA=P0014-ENDDA set the dates(Here U can use a subroutine call to set the dates)
Hope this will help U.
Please award points if helpful -
PicDelete and PicLoad asking to save changes when called from SUD
Hello!
I'm trying to load different reports, change text values and graphics and export those reports to images. Sometimes I want to remove all reportsheets and load a new layout, but when calling picdelete a messagebox pops up and asks the user whether he wants to save the changes. I'm trying to get rid of that messagebox because my script gets halted and I don't want the user to overwrite my layout.
This only happens when picdelete is called from a SUD and for the picdelete command this behaviour can be circumvented by using Call Execute("Call picdelete"). Sadly the same procedure does not work for the picload command.
When called from the DIAdem scripting tab the report is loaded fine but I have found no way to use this command from a SUD without the messagebox appearing.
Is there a workaround? Does DIAdem 2012 show the same behaviour?
Edit: I guess I was wrong about that Call Execute("Call picdelete") workaround. I'm seeing the same messagebox. I don't know why I thought that helped.
Best regards,
grmume
PS: I'm using DIAdem 2011Hi grmume
In DIAdem 2012 the behavior is the same. But we have a completely new easy to use object oriented programming interface. There exist a method that reset the modified status of the Report
http://zone.ni.com/reference/en-XX/help/370858K-01/reportapi/methods/report_method_resetmodified_ire...
In former versions you only have the readonly variable PicIsChanged.
But I tried a small script in DIAdem 2011 after changing the layout and it does not ask for saving the layout.
call PicDelete
Call picload("Demo.TDR")
Hope this helps
Winfried -
Java works stand alone does not when called from PL/SQL
I have this piece of code, which works as a standalone program: It takes in the en_var and returns a path.
But it wont work when called from a store procedure the line of code p = rt.exec("echo "+envar); returns a path as a standalone program returns null when called from a Oracle store procedure.
Thanks for any help just going around and round in circles.
import java.util.*;
class translate
public static String translatePath(String envar)
Runtime rt = Runtime.getRuntime();
int bufSize = 4096;
byte buffer[] = new byte[bufSize];
String path = null;
Process p = null;
String os = null;
String name = null;
String home = null;
String dir = null;
SecurityManager sm = null;
int len = 0;
try
System.out.println("Calling echo "+envar);
os = System.getProperty("os.name");
name = System.getProperty("user.name");
home = System.getProperty("user.home");
dir = System.getProperty("user.dir");
sm = System.getSecurityManager();
p = rt.exec("echo "+envar);
BufferedInputStream bis = new BufferedInputStream(p.getInputStream());
while ((len = bis.read(buffer, 0, bufSize)) != -1)
System.out.write(buffer, 0, len);
path = new String(buffer);
//p.waitFor();
bis.close();
return path;
catch(Exception e)
System.out.println("Exception "+e);
return "ProcessProblem";
//path = "/rims/live/log";Still cant get it to work, it doesnt fall over anymore, but when I input $PATH, it will output $PATH instead of the path for $PATH i.e /rims/live: What does your program output please:
Here is my code:
import java.io.*;
import java.util.*;
class translate
public static String translatePath(String envar)
Runtime rt = Runtime.getRuntime();
Process p = null;
String echoOutput = null;
int len = 0;
try
System.out.println("Calling echo "+envar);
p = rt.exec(new String[]{"/bin/echo",envar});
InputStreamReader isr = new InputStreamReader(p.getInputStream());
BufferedReader br = new BufferedReader(isr);
echoOutput = br.readLine();
br.close();
isr.close();
return echoOutput;
catch(Exception e)
System.out.println("Exception "+e);
return "ProcessProblem";
//path = "/rims/live/log";
Thanks for all your help so far.
Tony -
my program does not work properly. I run the program but it is not capable of adding any of my ebooks and when I connect my ereader, it recognises the device but it does not add any ebook either.
I uninstalled the program and reinstalled again but nothing gone better-
What should I do?
Best regardsDo you have Logitech gaming software installed on the PC? If so, perhaps try the suggestion from the following post:
Re: Everytime I close Itunes it loads back up -
Stored Procedure Does Not Run Properly When Called From Portlet
We have a simple Java portlet that calls a PL/SQL stored procedure which we wrote. The stored procedure sends a large number of emails to users in our corporation using the "utl_smtp" package. The stored procedure returns a count of the emails back to the Java portlet when it's finished. This number is displayed in the portlet.
Our problem:
The stored procedure functions as expected when run from a PL/SQL block in SQL*Plus, and the Java portlet calls the procedure properly when sending out a smaller number of emails (Less than 200 usually). When we get into a higher number of emails the procedure hangs when called from the portlet, but it STILL functions properly from SQL*Plus. It does not return the number of emails sent
and the Java portlet is unable to return a SQLException. Also, we have noticed that emails are sent at a much slower pace from the stored procedure when it's called from the portlet.Any Ideas?
-
JTextField update problem when called from PropertyChangeEvent
Hi,
I'm trying to create forms that can be dynamically loaded with Class.forname(formName).
Those forms should always inherit some methods that make it easy to pass data to
them and receive data from them. The idea is that the data comes from a table which
sends a hashmap (String column/JTextField-name + String Value pairs) with firePropertyChanged
as soon as a new row is seleceted. The JTextFields in the form are marked with setName("FieldName") that has to correspond to the name of the columns of the table.
My problem is that I can't update the fields in my form when I'm calling getRow(HashMap)
from within propertyChangeEvent but that's necessary to keep the forms flexible.
JTextFieldName.setText(newText) just won't work. But it works when I call getRow(HashMap)
from the constructor. SwingWorker and threads to update the form didn't help.
I don't need to call pack() / update() / repaint() on the JFrame, do I ??
update() / validate() / repaint() etc. didn't work on the JTextField themselves.
Below is the code for one of the test-forms (just a JPanel that is inserted in a frame)
with all of it's methods. Does anybody have a solution to this problem ??
Thanks for taking time for that !!
Benjamin
* testTable.java
* Created on 15. April 2004, 16:12
package viewcontrol.GUI;
* @author gerbarmb
import javax.swing.*;
import java.awt.*;
import java.beans.*;
import java.util.*;
public class testTable extends javax.swing.JPanel
implements
java.awt.event.KeyListener,
java.beans.PropertyChangeListener {
* public static void main(String[] argv) { testTable tt = new testTable();
* JFrame jf = new JFrame(); jf.setContentPane(tt); jf.setVisible(true); }
/** Creates new customizer testTable */
public testTable() {
initComponents();
HashMap hm = new HashMap();
* Only for debugging, to see that the method getRow() works when
* called from the constructor.
hm.put("ttext", "TEst");
this.getRow(hm);
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the FormEditor.
private void initComponents() {//GEN-BEGIN:initComponents
java.awt.GridBagConstraints gridBagConstraints;
jLabel1 = new javax.swing.JLabel();
textIn = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
intIn = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
numIn = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();
dateIn = new javax.swing.JTextField();
jLabel5 = new javax.swing.JLabel();
dateTimeIn = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
jCheckBox1 = new javax.swing.JCheckBox();
keepValues = new javax.swing.JCheckBox();
jButton1 = new javax.swing.JButton();
setLayout(new java.awt.GridBagLayout());
jLabel1.setText("Text");
add(jLabel1, new java.awt.GridBagConstraints());
textIn.setName("ttext");
textIn.setPreferredSize(new java.awt.Dimension(100, 21));
textIn.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
textInActionPerformed(evt);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = 2;
add(textIn, gridBagConstraints);
jLabel2.setText("Integer");
add(jLabel2, new java.awt.GridBagConstraints());
intIn.setName("tint");
intIn.setPreferredSize(new java.awt.Dimension(50, 21));
add(intIn, new java.awt.GridBagConstraints());
jLabel3.setText("Number");
add(jLabel3, new java.awt.GridBagConstraints());
numIn.setName("tnum");
numIn.setPreferredSize(new java.awt.Dimension(50, 21));
add(numIn, new java.awt.GridBagConstraints());
jLabel4.setText("Date");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
add(jLabel4, gridBagConstraints);
dateIn.setName("tdate");
dateIn.setPreferredSize(new java.awt.Dimension(50, 21));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 1;
add(dateIn, gridBagConstraints);
jLabel5.setText("DateTime");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 1;
add(jLabel5, gridBagConstraints);
dateTimeIn.setName("tidate");
dateTimeIn.setPreferredSize(new java.awt.Dimension(80, 21));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridy = 1;
add(dateTimeIn, gridBagConstraints);
jLabel6.setText("Bit");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridy = 1;
add(jLabel6, gridBagConstraints);
jCheckBox1.setName("tbit");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridy = 1;
add(jCheckBox1, gridBagConstraints);
keepValues.setText("keep values");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 7;
gridBagConstraints.gridy = 3;
add(keepValues, gridBagConstraints);
jButton1.setText("Send");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 7;
gridBagConstraints.gridy = 2;
add(jButton1, gridBagConstraints);
}//GEN-END:initComponents
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
sendRow();
}//GEN-LAST:event_jButton1ActionPerformed
private boolean sendRow() {
java.util.HashMap hm = new java.util.HashMap();
Component[] cs = this.getComponents();
for (int i = 0; i < cs.length; i++) {
if (((Component) cs).getName() != null) {
if (cs[i] instanceof JCheckBox) {
String value = ((JCheckBox) cs[i]).isSelected() ? "1" : "0";
hm.put(cs[i].getName(), value);
} else if (cs[i] instanceof JCheckBox) {
hm.put(cs[i].getName(), ((JTextField) cs[i]).getText());
} // end for
firePropertyChange("rowChanged", null, hm);
return true;
private void getRow(java.util.HashMap hm) {
//if (! this.keepValues.isSelected()) {
Component[] cs = this.getComponents();
for (int i = 0; i < cs.length; i++) {
if (cs[i].getName() != null && hm.containsKey(cs[i].getName())) {
Component component = cs[i];
String componentName = cs[i].getName();
String componentValue = (String) hm.get(component.getName());
if (cs[i] instanceof JTextField) {
// output for debugging
System.out.println("Setting " + cs[i].getName() + " = "
+ componentValue);
((JTextField) component).setText(componentValue);
} else if (cs[i] instanceof JCheckBox) {
// output for debugging
System.out.println("JCheckBox found");
JCheckBox cb = (JCheckBox) component;
boolean selected = (componentValue == null ? false : (componentValue.equals("1")
? true
: false));
((JCheckBox) component).setSelected(selected);
} // end for
/* Uncomment this code snippet to retrieve the text that has been set
for the components (that means JTextFields)
This is just for debugging !
Component[] cs = this.getComponents(); for (int i = 0; i < cs.length;
i++) { if (cs[i].getName() != null) { if (cs[i] instanceof
JTextField) { System.out.println("Value of " +cs[i].getName() + " = " +
((JTextField) cs[i]).getText()); } } } // end for
private void textInActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_textInActionPerformed
}//GEN-LAST:event_textInActionPerformed
public void keyPressed(java.awt.event.KeyEvent e) {
if (e.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER) {
sendRow();
public void keyReleased(java.awt.event.KeyEvent e) {
public void keyTyped(java.awt.event.KeyEvent e) {
public void propertyChange(java.beans.PropertyChangeEvent evt) {
if (evt.getPropertyName().equals("newRow")) {
final PropertyChangeEvent finalEvt = evt;
Runnable makeChanges = new Runnable () {
public void run() {
getRow((java.util.HashMap) finalEvt.getNewValue());
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JTextField dateIn;
private javax.swing.JTextField dateTimeIn;
private javax.swing.JTextField intIn;
private javax.swing.JButton jButton1;
private javax.swing.JCheckBox jCheckBox1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JCheckBox keepValues;
private javax.swing.JTextField numIn;
private javax.swing.JTextField textIn;
// End of variables declaration//GEN-END:variablesThe problem of the change in the form not being comitted is that
I forgot SwingUtilities.invokeLater(makeChanges); in the bottom
part in public void propertyChange(java.beans.PropertyChangeEvent evt)
after having created a new Runnable.
Changes to the UI often have to be comitted by SwingUtitlities.invokeLater()
though I don't know that much about Swing yet.
Thanks to everybody who tried to solve that problem.
Benjamin -
Why are Java SASLFactories missing when called via PL/SQL but not from JRE?
Hi
This may be quite a technical point about SASL and JCE Providers etc OR it may just be a question about how Oracle PL/SQL interfaces with Java.
The background is that I am trying to get a Java opensource library to run in Oracle DB - this is for specialized communication from Database to other servers.
The library uses a SASL mechanism to authenticate with the server and this (appears) to rely on JCE Providers installed and provided by the JRE.
I have some Java code working which uses the library - this runs OK in NetBeans/Windows environment and also using Linux/Oracle JRE directly such as:
+# $ORACLE_HOME/jdk/bin/java -classpath "./MyMain.jar:./OtherSupport.jar" package.TestClient+
However it refuses to work (throws a NullPointerException) when called from PL/SQL.
+FUNCTION send_a_message (iHost IN VARCHAR2,+
iPort IN NUMBER,
+iLogin IN VARCHAR2,+
+iPasswd IN VARCHAR2,+
iRecipient IN VARCHAR2,
iMessage IN VARCHAR2) RETURN NUMBER
AS LANGUAGE JAVA
NAME package.TestClient.sendATextMessage(java.lang.String, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String) return int';
In the Java code this is:
public static int sendATextMessage(String iHost,
int iPort,
String iLogin,
String iPasswd
String iRecipient,
String iMessage)
I've tracked the issue down to there being no SaslClientFactories (via Sasl.getSaslClientFactories()) showing when called from PL/SQL whereas 3 are available when run from within Java directly. This via:
Enumeration<SaslClientFactory> facts = Sasl.getSaslClientFactories();
System.out.println("Found Sasl Factories [" & (facts != null) & "] size[" & Collections.list(facts).size() & "]");
So, is there some aspect of Java initialisation that I'm missing when calling from PL/SQL (which means SASL factories aren't getting loaded into JRE) or is there something different in SASL setup?
Any pointers appreciated.
Thanks
DaveOk, after a bit of reading and general hacking about I have got this working.
What I hadn't initially understood/remembered is that for a Stored Procedure the JVM installed on file system with Oracle isn't actually used - java code is loaded into the database and hence a different set of base functions are available. The following is a good explanation of this http://docs.oracle.com/cd/B14117_01/java.101/b12021/appover.htm#BGBIBDAJ
So "out of the box" the Oracle Database appears to come loaded with only two of the Sun security providers i.e. no com.sum.security.SASL
>
OBJECT_NAME OBJECT_TYPE STATUS TIMESTAMP
com/sun/security/auth/NTSid JAVA CLASS VALID 2013-02-14:14:08:57
com/sun/security/jgss/GSSUtil JAVA CLASS VALID 2013-02-14:14:08:57
>
This is from:
>
SELECT
object_name,
object_type,
status,
timestamp
FROM
user_objects
WHERE
(object_name NOT LIKE 'SYS_%' AND
object_name NOT LIKE 'CREATE$%' AND
object_name NOT LIKE 'JAVA$%' AND
object_name NOT LIKE 'LOADLOB%') AND
object_type LIKE 'JAVA %' AND
object_name LIKE 'com/sun/security%'
ORDER BY
object_type,
object_name;
>
My solution (which may well be a work-around) is the following:
1) Downloaded JDK Source and extracted "com.sun.security.sasl" java code to my project
2) Added following code to my Stored Procedure ()
>
Enumeration<SaslClientFactory> saslFacts = Sasl.getSaslClientFactories();
if (!saslFacts.hasMoreElements()) {
System.out.println("Sasl Provider not pre-loaded");
int added = Security.addProvider(new com.sun.security.sasl.Provider());
if (added == -1) {
System.out.println("Sasl Provider could not be loaded");
System.exit(added);
else {
System.out.println("Sasl Provider added");
>
3) Built my JAR file with the sasl package embedded (note: could only find Java 6 code, so had to comment out some GSS lines - but wasn't intending to use these)
4) Loaded JAR to oracle via "loadjava".
5) Add permissions (only found this out after a couple of failed runs)
>
call dbms_java.grant_permission('XMPP', 'SYS:java.security.SecurityPermission', 'putProviderProperty.SunSASL', '' );
call dbms_java.grant_permission('XMPP', 'SYS:java.security.SecurityPermission', 'insertProvider.SunSASL', '' );
>
6) Run gives the following:
>
Sasl Provider not pre-loaded
Sasl Provider added
...etc...
>
It works!. I confess I'm not sure of the implications of this for multiple calls/performance and if it will need to be added for each stored procedure call - may post back.
For completeness I should point out that after my load the Security providers look like this:
>
OBJECT_NAME OBJECT_TYPE STATUS TIMESTAMP
com/sun/security/auth/NTSid JAVA CLASS INVALID 2013-02-15:09:11:36
com/sun/security/jgss/GSSUtil JAVA CLASS INVALID 2013-02-15:09:11:37
com/sun/security/sasl/Provider JAVA CLASS VALID 2013-02-15:10:03:21
>
i.e. the original couple are "INVALID" !
Dave
Edited by: 946763 on Feb 26, 2013 2:35 AM -
Advanced table:not able to view more than 10 rows when called from workflow
Hi everyone,
I'm calling a page that contains advanced table and its controller class from two places.
First one is from a inquiry form, when this page is called it works fine. when there are more than 10 rows, first 10 are shown on page render and when we click on Next link, other rows are shown. This is becuase I have given the records displayed property on adavanced table = 10. I'm fine till here.
Second one is I'm calling this page again from a workflow notificaiton. There is a link called view more details on the workflow notification , click of this link will open the page with 10 records displayed. But when user tries to click on Next it doesn't work. It just doesn't refresh.
Its very wierd,. not able to understand what could be wrong when calling from wf notificiton. Its the same page and conroller code used in both the places.
Please help me!!
Thanks
SunnyThanks for your response Kristofer. You are correct, there was a difference in the parameters and the issue is resolved now.
-
Set the default field value to transaction code field, when calling from WD
Hi all,
Can we pass the value in a input field of a standard transaction calling from WD application. Suppose we are calling a transaction VA03 in an external window, then how will be pass the value in the VBAK_VBELN screen field.
Is there any way to pass the value to this transaction field. I have also tried out to set the parameter ID 'AUN' for VA03 transaction VBELN field. But it did not work for me.
Is there any way to set the default field value to transaction code field, when calling from WD?
Please suggest, if anyone have any idea.
Thanks
SanketHi,
I am using the below code to open a standard transaction. It will help you to explain my point more easily.
DATA: url TYPE string,
host TYPE string,
port TYPE string.
*Call below method to get host and port
cl_http_server=>if_http_server~get_location(
IMPORTING host = host
port = port ).
*create URL
CONCATENATE 'http'
'://' host ':' port
'/sap/bc/gui/sap/its/webgui/?sap-client=&~transaction=' 'VA03'
INTO url.
*get the window manager as we are opening t code in external window.
DATA lo_window_manager TYPE REF TO if_wd_window_manager.
DATA lo_api_component TYPE REF TO if_wd_component.
DATA lo_window TYPE REF TO if_wd_window.
lo_api_component = wd_comp_controller->wd_get_api( ).
lo_window_manager = lo_api_component->get_window_manager( ).
call the url which we created above
lo_window_manager->create_external_window(
EXPORTING
url = url
RECEIVING
window = lo_window ).
lo_window->open( ).
Note*
One more query I want to add to this thread, that is there any possibility to call a custom transaction as well? -
JSObject programming was not working when compiled in JSDK1.4.2_06
JSObject programming was not working when compiled in JSDK1.4.2_06.
But problem solved when i compiled with JSDK1.3.1_15 and tested with JVM 1.3.1_15.
Still I could not run the class file generated in JSDK1.3.1_15 in JVM 1.4.2_06.
What do you think happened across the SDK versions? Shouldn't the JSObject
and other classes be part of the browser JVM.
I want to know whether JSObject supports in JSDK1.4.2_06.
It goes into the loop. It neither say error nor execute.Do not spam the site by posting to 4 forums
-
Subtemplate footer is not coming when calling from the main template
Hi All,
The footer from the subtemplate is not coming in the output when calling from the main template. Does anybody worked on the subtemplate?
If the same footer is put in the main template, it is displaying.
Please respond as this is a critical issue for us.
Thanks,
AmbadasHi Tim,
Thanks for your reply. Here is syntax which I got from the Oracle BI Publisher blog. And this is to just test locally.
http://blogs.oracle.com/xmlpublisher/2006/04/11?import:file:///C:/temp/HeaderFooter.rtf
<?import:file:///d:/test/GEPOPRINT_GER_GER.rtf?>
<?import:file:///d:/test/GEPOPRINT_US.rtf?>
<?for-each@section:G_HEADERS?>
<?if:POH_REPORT_NAME='GER PO w/GERMAN Data'?>
<?call-template:PO_GERMAN?>
<?end if?>
<?if:POH_REPORT_NAME='US Purchase Order'?>
<?call-template:PO_US?>
<?end if?>
<?End for-each?>
And I don't have any footers in the main template but in the subtemplate I have the respective footers. If you want, I can send all the RTF's to you directly.
Let me know.
Thanks,
Ambadas
Maybe you are looking for
-
How do I install Adobe digital editions on my iPad?
How do I install Adobe digital editions on my iPad? I have an IPad Air 2, iOS 8.1.2. I ordered some ebooks that required the download of Adobe Digital Editions. I select the supplied link to the Adobe site, select download, and I am given the option
-
Greetings, I need to extract a 30 sec commercial from a DVD to edit it in FCP and then add subtitles to it in DVD SP and burn it to DVD again. My question is, for a 30 second commercial that is 720x480 NTSCP, what are the best settings fo extracting
-
Missed command field on easy access screen
hai guys, i am just the starter of SAP. while browsing the screen , i dont know what i did and finally i lost my command field in easy access screen. please let me know how to 2 get it back.i think u understood what i mean.the field where we give com
-
Tablespace, table logging and nologging
Hi i had a tablespace which is in logging mode. i had a table in that tablespace which i want to place in nologging mode. i do that using following command ALTER TABLE SCOTT.XYZ NOLOGGING; i want to know whether the above statement will work even tho
-
Hi, Where can i download Adobe After Effect CS 4?
I use Window 7 32-bit. I asked Adobe After Effect (AAE) at Facebook, he/she tell me that only Adobe After Effect CS4 can works on Window 7. I find it eveywhere and can't found any link to download Adobe After Effect CS4. I REALLY NEED SOMEONE to HELP