Help refresh

look at the code below
//Title: New Vision Rental System
//Version:
//Copyright: Copyright (c) 1999
//Author: PJ GP 10-01
//Company: PJ GP 10-01
//Description: None
package NewVision;
import java.awt.*;
import javax.swing.*;
import java.util.*;
import java.awt.event.*;
public class OnLoanForm extends JPanel {
private Icon bgImage = new ImageIcon("Images\\BO_OnLoan\\BO_OnLoan_bg.jpg");
private Icon btnReturn = new ImageIcon("Images\\BO_OnLoan\\return_not_tinted.jpg");
private Icon btnRenew = new ImageIcon("Images\\BO_OnLoan\\renew_not_tinted.jpg");
private Icon btnReturnMO = new ImageIcon("Images\\BO_OnLoan\\return_tinted.jpg");
private Icon btnRenewMO = new ImageIcon("Images\\BO_OnLoan\\renew_tinted.jpg");
JLabel m_bgImage = new JLabel(bgImage);
JButton m_btnReturn = new JButton(btnReturn);
JButton m_btnRenew = new JButton(btnRenew);
JScrollPane m_spnDiscLoan = new JScrollPane();
String[] columnNames = {"", "Disc ID", "Branch ID", "Due Date", "Renew no"};
MyTableModel table = new MyTableModel(5, columnNames);
JTable m_tbDiscLoan = new JTable(table);
RecordController rCont = new RecordController();
//Vector renewRec = new Vector();
Vector recVector = new Vector();
Vector loanVector = new Vector();
Vector renewRentVector = new Vector(); // meant for creating the rental record to update the tables
Vector renewDiscVector = new Vector(); // meant for renewing the disc
SystemController sysCont = new SystemController();
RenewController renCont = new RenewController();
SettingController sCont = new SettingController();
int tickCnt = 0;
int renewCnt = 0; // the number of disc to be renewed
public OnLoanForm() {
try {
jbInit();
catch(Exception ex) {
ex.printStackTrace();
private void jbInit() throws Exception {
m_bgImage.setBounds(new Rectangle(0, 1, 441, 422));
this.setLayout(null);
this.setBackground(Color.white);
this.setSize(new Dimension(441, 422));
m_btnReturn.setBorder(null);
m_btnReturn.setActionCommand("Return");
m_btnReturn.setRolloverIcon(btnReturnMO);
m_btnReturn.setBounds(new Rectangle(0,391,100,20));
m_btnReturn.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
m_btnReturn_actionPerformed(e);
m_btnRenew.setBorder(null);
m_btnRenew.setActionCommand("Renew");
m_btnRenew.setRolloverIcon(btnRenewMO);
m_btnRenew.setBounds(new Rectangle(111,391,100,20));
m_btnRenew.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
m_btnRenew_actionPerformed(e);
m_spnDiscLoan.getViewport().setBackground(Color.white);
m_spnDiscLoan.setBounds(new Rectangle(0, 50, 440, 325));
m_tbDiscLoan.setFont(new java.awt.Font("Century Gothic", 0, 14));
m_tbDiscLoan.setForeground(Color.darkGray);
this.add(m_btnReturn, null);
this.add(m_btnRenew, null);
this.add(m_spnDiscLoan, null);
m_spnDiscLoan.getViewport().add(m_tbDiscLoan, null);
this.add(m_bgImage, null);
m_spnDiscLoan.setBorder(BorderFactory.createEtchedBorder());
displayLoanRec();
private void displayLoanRec() {
if(rCont.readLoanRecord(sysCont.getMemberId())) {
loanVector = rCont.getLoanRec();
RentalRecord loanRec; // this is to display those disc on loan
for(int i = 0; i < loanVector.size(); i++) {
MyTableModel model = (MyTableModel) (m_tbDiscLoan.getModel());
model.addRow();
// int j = model.getRowCount()-1;
loanRec = (RentalRecord) (loanVector.elementAt(i));
model.setValueAt(new Boolean(false), i, 0);
model.setValueAt(loanRec.getDiscId(), i, 1);
model.setValueAt(loanRec.getBranchId(), i, 2);
model.setValueAt(displayDueDate(loanRec.getDate(), loanRec.getDiscType()), i, 3);
model.setValueAt(loanRec.getRenewTime()+"", i, 4);
// the few lines below are just to refresh the table
m_tbDiscLoan.invalidate();
m_tbDiscLoan.validate();
m_tbDiscLoan.repaint();
m_spnDiscLoan.invalidate();
m_spnDiscLoan.validate();
m_spnDiscLoan.repaint();
private boolean collectSelectedList() {
MyTableModel model = (MyTableModel)m_tbDiscLoan.getModel();
if(model.getRowCount()!=0){
for(int i=0; i<model.getRowCount(); i++){
if(model.getValueAt(i,0).equals(Boolean.TRUE)){
//if(loanRec.getDiscId().equalsIgnoreCase((String)(model.getValueAt(i, 1)))) {
RentalRecord rentRecObj = (RentalRecord)loanVector.elementAt(i);
recVector.addElement(rentRecObj);
tickCnt++;
//} // end if
} // end if
} // end for
} // end if
else {
JOptionPane.showMessageDialog(this, "Table is empty");
return false;
if(tickCnt==0){
JOptionPane.showMessageDialog(this, "You do not select any disc in your table.");
return false;
return true;
// this method is meant to display the due date in the table
private String displayDueDate(String date, String type) {
//System.out.println(date);
String tempDate = date.substring(8, 10);
//System.out.println(tempDate);
String tempMonth = date.substring(5, 7);
//System.out.println(tempMonth);
String tempYear = date.substring(0, 4);
//System.out.println(tempYear);
int d = Integer.parseInt(tempDate);
int m = Integer.parseInt(tempMonth);
int y = Integer.parseInt(tempYear);
GregorianCalendar due = new GregorianCalendar(d,m,y);
int maxDay;
// Check the max day in the month
switch(m){
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
maxDay = 31;
break;
case 2 :      if(due.isLeapYear(y))
maxDay = 29;
else
maxDay = 28;
break;
default : maxDay = 30;
RentalPolicy rp = new RentalPolicy();
int dur = rp.getDur(type);
if((d+dur)>maxDay) {
m++;
if(m>12){
m=1;
y++;
d = d+dur-maxDay;
return ""+d+"/"+m+"/"+y;
else {
return ""+(d+dur)+"/"+m+"/"+y;
void m_btnReturn_actionPerformed(ActionEvent e) {
collectSelectedList();
//System.out.println(sysCont.getBranchId());
ReturnController returnCont = new ReturnController();
if(!returnCont.returnDisc(recVector, sysCont.getMemberId(), sysCont.getBranchId())) {
JOptionPane.showMessageDialog(this, "Return Failure, please try again");
recVector.removeAllElements();
private boolean collectRenewDisc(){
int check=0;
Vector exceedRenew = new Vector();
MyTableModel model = (MyTableModel)m_tbDiscLoan.getModel();
Disc noRenew;
int maxRenew = sCont.getMemberPolicy("Renew Limit");
if(model.getRowCount()!=0){
for(int i = 0; i < model.getRowCount(); i++){
if(model.getValueAt(i,0).equals(Boolean.TRUE)){
int j = Integer.parseInt((String)model.getValueAt(i,4));
if(j < maxRenew){
// collect those to be renewed
RentalRecord tempRec = (RentalRecord) loanVector.elementAt(i);
renewRentVector.addElement(tempRec);
Disc tempDisc = renCont.getDiscRenewInfO((String)model.getValueAt(i,1), ++j);
renewDiscVector.addElement(tempDisc);
renewCnt++;
System.out.println(renewCnt);
else{
// collect those that can't be renewed
noRenew = new Disc((String)model.getValueAt(i,1), (String)model.getValueAt(i, 2));
exceedRenew.addElement(noRenew);
check++;
if(!exceedRenew.isEmpty()){
String info="";
Disc show;
for(int k = 0; k < exceedRenew.size(); k++){
show = (Disc)exceedRenew.elementAt(k);
if(k!= exceedRenew.size()-1){
info = info+show.getDiscId()+", ";
else
info = info+show.getDiscId();
JOptionPane.showMessageDialog(this, "The renew limit for disc(s) with id : "+info+"\n"+
"has been reached. Please return to rent again.");
//return false;
if(check == 0){
JOptionPane.showMessageDialog(this, "You have not selected any record to be renewed.");
return false;
else{
JOptionPane.showMessageDialog(this, "There is no record to be renewed.");
return false;
exceedRenew.removeAllElements();
return true;
public void clearList() {
MyTableModel model = (MyTableModel)m_tbDiscLoan.getModel();
int i = (model.getRowCount()-1);
while(i>=0){
model.removeRow(i);
i--;
m_tbDiscLoan.invalidate();
m_tbDiscLoan.validate();
m_tbDiscLoan.repaint();
m_spnDiscLoan.invalidate();
m_spnDiscLoan.validate();
m_spnDiscLoan.repaint();
void m_btnRenew_actionPerformed(ActionEvent e) {
if(collectRenewDisc()){
renCont.renewDisc(renewRentVector, renewDiscVector, renewCnt);
loanVector.removeAllElements();
renewRentVector.removeAllElements();
renewDiscVector.removeAllElements();
renewCnt=0;
clearList();
displayLoanRec();
}

Please repaste your code inside a
//your code here
section. Please ...
--lichu                                                                                                                                                                                                                               

Similar Messages

  • I need help refreshing my Adobe Creative Cloud membership in Business Catalyst.

    I need help refreshing my Adobe Creative Cloud membership in Business Catalyst.
    Hello, I had an Adobe Muse membership and I have changed it to a full Adobe Creative cloud membership. The problem is when I login in to business catalyst and try to push live  a second site, it tells me as follows:  Your Adobe Creative Cloud Membership has reached its limit for hosted sites.
    I think business catalyst has not recognize jet that I have change my Adobe Creative Cloud Membership and does not allow me access to the 5 sites that are supposed to come with my adobe creative cloud.
    Please help me refresh my status on business catalyst so I can publish my 5 sites.
    thanks

    Hi,
    Please reach out to our direct support via case or live chat as this may require escalation.  It appears your account is not syncing with your adobe ID for whatever reason and will require further investigation to help resolve.  We'll need your ID(s) plus any additional details so we can correct this for you. 
    - http://helpx.adobe.com/contact.html
    Thanks,
    -Sidney

  • Help refreshing regions

    I have what would seem to be a simple use case but I can not figure out what combination of ADF "stuff" will make it work. I have four independent task flows. Each task flow has a single view activity that shows the contents of a table. When someone selects a row from the main table, I want the other four task flows to refresh and only display information from their table that is related to the selected row. Surprisingly I can not find any way to do this.
    Now... before someone says "pass a parameter" or "use contextual events" I really need an example. All of the documentation I've found doesn't apply for one reason or another. This is close but I can't make it work with tables because I can't figure out what listener or whatever needs to be involved. http://technology.amis.nl/2008/08/adf-11g-how-events-in-one-region-cause-other-regions-to-refresh/
    Everything I see regarding passing parameters between task flows assumes that one task flow calls another. That's not the case here.
    As for contextual events I can find no examples of a row selection in a table firing a contextual event. Any help would be appreciated.
    Thanks.

    choose a different "Display Point" for the first region and the reports regions.
    i.e.
    Set the first region "Display Point" to "Page Template Body (2. items below region content)
    Set the report regions "Display Point" to "Page Template Body (3. items above region content)

  • Firewire part 2 - Need Help Refreshing My PMU

    Recap:
    At some point a few months back, my FCP HD lost contact with my Canopus Datavideo. Under ABOUT MY MAC in HARDWARE>FIREWIRE it only states FIRE WIRE BUS and its speed.
    I have reloaded Quicktime and tried to REFRESH my AV connectons but to no avail. It was suggested I should reset my PMU but have no idea where to find it (the diagram supplied did not match up with my computer - the switch being next to the battery). Anyone have a step by step way to find it and reset it and hopefully solve my problem....? I am falling behind importing video and need to figure this one out.
    (Picture of my computer below if that helps...)
    Thanks!
    G4, Dual 800   Mac OS X (10.3.9)  

    Mike,
    please keep your threads together.
    This has EVERYTHING to do with this other thread and you should have posted this picture with it.
    x

  • Help Refreshing JFrame, Validate not working...

    Hi,
    I've read many post suggesting that calling the JFrame.getContentPane().Validate() should refresh my JFrame and display the modifications made to the components on it, but it doesn't work for me. OK, so i'm creating a login screen where i want to hide 2 combos/2 labels, move the buttons and resize the frame when i click on a button (similar to the Windows Login screen where you can click "Options" to view the Domain Combo). When I hide my comtrols, works perfect, when i want to re-display them, the section of the frame that was hidden does not refresh what was behind it. The Option Button calls the ButtonOptionHandler() function, that's where the Validate() is executed.
    Here is the complete code for easier understanding, you can run it and see the effects:
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JTextField;
    import javax.swing.JPasswordField;
    import javax.swing.JButton;
    import javax.swing.JComboBox;
    import javax.swing.JPanel;
    import javax.swing.SwingConstants;
    import javax.swing.ImageIcon;
    import java.awt.event.*;
    public class screenLogin extends JFrame implements ActionListener {
    private static String OK = "OK";
    private static String CANCEL = "Cancel";
    private static String OPTION = "Option";
    private boolean showODBC = false;
         private JLabel lblUser;
         private JLabel lblPass;
         private JLabel lblOraODBC;
         private JLabel lblSqlODBC;
         private JTextField txtUser;
         private JPasswordField txtPass;
         private JComboBox cboOraODBC;
         private JComboBox cboSqlODBC;
         private JButton btnOK;
         private JButton btnCancel;
         private JButton btnOption;
         private JLabel lblImage;
         public screenLogin() {
              InitUI();
         private void InitUI() {
              this.setSize(400,230);
              this.getContentPane().setLayout(null);
              /* Labels */
              lblUser = new JLabel("NorLims User", SwingConstants.RIGHT);
              lblPass = new JLabel("Password", SwingConstants.RIGHT);
              lblOraODBC = new JLabel("Oracle ODBC", SwingConstants.RIGHT);
              lblSqlODBC = new JLabel("SQL Anywhere ODBC", SwingConstants.RIGHT);
              lblUser.setBounds(10, 65, 120, 23);
              lblPass.setBounds(10, 90, 120, 23);
              lblOraODBC.setBounds(10, 115, 120, 23);
              lblSqlODBC.setBounds(10, 140, 120, 23);
              txtUser = new JTextField();
              txtUser.setBounds(140, 65, 100, 20);
              txtPass = new JPasswordField();
              txtPass.setBounds(140, 90, 100, 20);
              txtPass.setEchoChar('*');
              cboOraODBC = new JComboBox();
              cboOraODBC.setBounds(140, 115, 200, 20);
              cboSqlODBC = new JComboBox();
              cboSqlODBC.setBounds(140, 140, 200, 20);
              btnOK = new JButton("OK");
              btnOK.setSize(80, 25);
              btnOK.setActionCommand(OK);
              btnOK.addActionListener(this);
              btnCancel = new JButton("Cancel");
              btnCancel.setSize(80, 25);
              btnCancel.setActionCommand(CANCEL);
              btnCancel.addActionListener(this);
              btnOption = new JButton("Options");
              btnOption.setSize(80, 25);
              btnOption.setActionCommand(OPTION);
              btnOption.addActionListener(this);
              // position Buttons and display labels/combos
              ButtonOptionHandler();
              // I commented this part since you dont have the login.jpg
              //lblImage = new JLabel(new ImageIcon("login.jpg"));
              //lblImage.setBounds(0, 0, 400, 60);
              this.getContentPane().add(lblUser, null);
              this.getContentPane().add(lblPass, null);
              this.getContentPane().add(lblOraODBC, null);
              this.getContentPane().add(lblSqlODBC, null);
              this.getContentPane().add(txtUser, null);
              this.getContentPane().add(txtPass, null);
              this.getContentPane().add(cboOraODBC, null);
              this.getContentPane().add(cboSqlODBC, null);
              this.getContentPane().add(btnOK, null);
              this.getContentPane().add(btnCancel, null);
              this.getContentPane().add(btnOption, null);
              //this.getContentPane().add(lblImage, null);
         public void actionPerformed(ActionEvent e) {
              String cmd = e.getActionCommand();
              if (OK.equals(cmd)) { //Process the OK Button
                   ButtonOkHandler();
              } else if (CANCEL.equals(cmd)) {
                   ButtonCancelHandler();
              } else if (OPTION.equals(cmd)) {
                   ButtonOptionHandler();
         private void ButtonOkHandler() {
              System.out.println("OK Button");
         private void ButtonCancelHandler() {
              System.out.println("Cancel Button");
              System.exit(0);
         private void ButtonOptionHandler() {
              showODBC = !showODBC;     // Toggle the value
              int top = (showODBC ? 165 : 115);          // determine the top for the buttons
              this.setSize(400, (showODBC ? 230 : 180));
              lblOraODBC.setVisible(showODBC);
              lblSqlODBC.setVisible(showODBC);
              cboOraODBC.setVisible(showODBC);
              cboSqlODBC.setVisible(showODBC);     
              btnOK.setLocation(100, top);
              btnCancel.setLocation(180, top);
              btnOption.setLocation(260, top);
              this.getContentPane().validate(); // This dont refresh ?!?
    I hope someone can help me with this!
    Thanks,
    XiNull

    First suggestion would be to use a layout manager. Then changing the visibility of components within the layout mgr will cause all the proper resizing, refreshing, etc. to happen for you. You should never have to call validate on your own like that (unless you are doing something really bizarre, which you aren't). Generally null or XY layout managers are more hassle than they are worth (and a maintenance nightmare). Do yourself a favor and learn to use gridbaglayout, etc. While a bit wacky to get used to, you will be glad you spent the time on it.

  • Newbie help - refreshing the page and validating?

    When entering a userID and password, how would I make the values in the textbox disappear when I refresh the page/press F5?
    Also how would I check the 2 textboxes in a jsp page, if their empty/null and if they are redirect them to that same page?
    Thanks in advance! =)

    bump

  • QT movie suddenly becomes jittery in logic pro! Is this a bug? Please Help

    OK, this is very odd behavior, I must have changed some song setting here.
    My Quick time movie jumps frames and doesn't play smoothly on one song but if i open it in another session it plays fine.
    I first thought it was a CPU or hardrive problem but after removing all the audio and plugins from the problematic session the QT movie still behaves in the same odd way.
    What did I change that its behaving this way?
    Thanks,
    Shil

    Julian Scott wrote:
    I have had repeated problems with Quicktimes in Logic. A common occurance is opening a movie to work with and to start with it works fine. Then after say an hour of working the frames start jumping and soon the movie is only playing 2 or 3 frames per second (rather than 25). Rebooting the computer is the only solution. The problem occurs with all sorts of movie data rates, codecs and sizes.
    It has become such a problem that I've had to resort by running the video from a second computer using midi to synchronise.
    Julian
    I have had repeated problems with Quicktimes in Logic. A common occurance is opening a movie to work with and to start with it works fine. Then after say an hour of working the frames start jumping and soon the movie is only playing 2 or 3 frames per second (rather than 25). Rebooting the computer is the only solution. The problem occurs with all sorts of movie data rates, codecs and sizes.
    i am pretty sure i know what this problem is....it is a RAM issue. what is happening is that as you run out of RAM, the OS 'pages out' memory to the virtual memory on your system drive. if your drive is full or a lot of memory is being used as virtual memory. this is why you are getting good performance at first, it starts falling over as your system drive is being driven hard, and rebooting helps refreshing the process.
    the solution would be to:
    • ensure you have plenty of RAM
    • ensure that you have at least (as bare minimum) over 30% of your system drive free (actually the minimum should be around 50%)
    • you have virtual memory switched on for samples inside logic
    • you only run logic if it is using a lot of memory for stuff.
    • reduce your track count if you don't need it.
    • reduce your undo history in logic. it absolutely chews up RAM.

  • Automatic Refresh of Powerview Data

    We have a number of Powerview sheets contained within a .xlsx file.  The data used in these sheets comes form  a number of different sources (SQL Server, SSAS, Excel).  What we're looking for is to set up the .xlsx file to prompt the user
    upon opening if they would like to refresh the data from the sources.  Is this built into Powerview or is there a technique that can accomplish this capability?
    Thank you.
    Bigguy

    Hello,
    As per my understanding, we can choose to refresh the data for a Power View sheet or view. However, we cannot have no choice about refreshing the data model; if it changes, we get a message that Power View needs to refresh the sheet or view.
    There is a document about Refresh the data or data model for a Power View sheet, you can refer to it.
    http://office.microsoft.com/en-001/excel-help/refresh-the-data-or-data-model-for-a-power-view-sheet-HA103289400.aspx
    Hope this helps.
    Regards,
    Alisa Tang
    Alisa Tang
    TechNet Community Support

  • F4IF_INT_TABLE_VALUE_REQUEST Functionality

    Hello all,
    How can I return more then one value using the FM F4IF_INT_TABLE_VALUE_REQUEST.
    Example:
    Parameters:
    pernr TYPE pa0001-pernr,
    sname TYPE pa0001-sname.
    When I click "F4" inside the field (parameter) pernr, the following list is showed...
    Number - Name
    ===========
    1234 - Roberto
    5678 - Falk
    When I select the first line, I need to receive both values (Number and Name), no just the Name.

    Hello Roberto
    Yes, you can return multiple values using this function module. All you need to do is to define a <b>CALLBACK </b>routine for modifying the search help.
    Have a look at the following sample report <b>ZUS_SDN_F4IF_INT_TAB_VAL_REQ</b>. If you define two columns on the search help that are return you retrieve two entries in the values itab for each selected F4 entry (in case of muliple select possible).
    *& Report  ZUS_SDN_F4IF_INT_TAB_VAL_REQ
    REPORT  zus_sdn_f4if_int_tab_val_req.
    TYPE-POOLS: shlp.
    DATA:
      gd_repid     TYPE syrepid,
      gt_knb1      TYPE STANDARD TABLE OF knb1,
      gt_values    TYPE STANDARD TABLE OF ddshretval.
    START-OF-SELECTION.
      gd_repid = syst-repid.
      SELECT * FROM knb1 INTO TABLE gt_knb1 UP TO 100 ROWS.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          ddic_structure         = 'KNB1'
          retfield               = 'KUNNR'  " overwritten in callback !!!
    *     PVALKEY                = ' '
    *     DYNPPROG               = ' '
    *     DYNPNR                 = ' '
    *     DYNPROFIELD            = ' '
    *     STEPL                  = 0
    *     WINDOW_TITLE           =
    *     VALUE                  = ' '
          value_org              = 'S'  " structure
    *     MULTIPLE_CHOICE        = ' '
    *     DISPLAY                = ' '
          callback_program       = gd_repid
          callback_form          = 'CALLBACK_F4'
    *     MARK_TAB               =
    *   IMPORTING
    *     USER_RESET             =
        TABLES
          value_tab              = gt_knb1
    *     FIELD_TAB              =
          return_tab             = gt_values
    *     DYNPFLD_MAPPING        =
        EXCEPTIONS
          parameter_error        = 1
          no_values_found        = 2
          OTHERS                 = 3.
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
        EXPORTING
          i_structure_name = 'DDSHRETVAL'
        TABLES
          t_outtab         = gt_values
        EXCEPTIONS
          program_error    = 1
          OTHERS           = 2.
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    END-OF-SELECTION.
    *&      Form  CALLBACK_F4
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM callback_f4
                TABLES record_tab STRUCTURE seahlpres
                CHANGING shlp TYPE shlp_descr
                         callcontrol LIKE ddshf4ctrl.
    * define local data
      DATA:
        ls_intf     LIKE LINE OF shlp-interface,
        ls_prop     LIKE LINE OF shlp-fieldprop.
      " Hide unwanted fields
      CLEAR: ls_prop-shlpselpos,
             ls_prop-shlplispos.
      MODIFY shlp-fieldprop FROM ls_prop
        TRANSPORTING shlpselpos shlplispos
      WHERE ( fieldname NE 'BUKRS'  AND
              fieldname NE 'KUNNR'  AND
              fieldname NE 'PERNR' ).
      " Overwrite selectable fields on search help
      REFRESH: shlp-interface.
      ls_intf-shlpfield = 'BUKRS'.
      ls_intf-valfield  = 'X'.
      APPEND ls_intf TO shlp-interface.
      ls_intf-shlpfield = 'KUNNR'.
      APPEND ls_intf TO shlp-interface.
    ENDFORM.                    " CALLBACK_F4
    Regards
      Uwe

  • F4IF_INT_TABLE_VALUE_REQUEST - return more than 1 field in return_values?

    In a dialog program I"m using the 'on value request' to call a routine that builds a dropdown on a field.  It looks like this:
    PROCESS ON VALUE-REQUEST.
      FIELD ekpo_ci-zzlicnum module build_search.
    Within build_search, I build itab_values with the dropdown values and the function module is called:
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
         EXPORTING RETFIELD = 'ZZLICNUM'
                   DYNPPROG = w_progname
                   DYNPNR = w_scr_num
                   DYNPROFIELD = 'ZZLICNUM'
                   VALUE_ORG = 'S'
         TABLES
                   VALUE_TAB = ITAB_VALUES
                   RETURN_TAB = RETURN_VALUES
         EXCEPTIONS
                   PARAMETER_ERROR = 1
                   NO_VALUES_FOUND = 2
                   OTHERS = 3.
    The routine calls F4IF_INT_TABLE_VALUE_REQUEST and in the dropdown, 5 fields are shown in each row (built in an internal table itab_values).  When I select one of the rows, it returns the field value for zzlicnum in return_values.  Is there a way to also return the other values I have in itab_values (other than just zzlicnum) - I need to use the other fields that are associated with zzlicnum in my program for some additional logic.
    I appreciate any help!

    hi,
           refer to these codes:
           you can change something according to your requirement.
    PARAMETERS:
      a TYPE char10,
      b TYPE char10,
      c TYPE char10.
    DATA:
      BEGIN OF tab OCCURS 0,
        field1 TYPE char10,
        field2 TYPE char10,
        field3 TYPE char10,
      END OF tab,
      wa LIKE LINE OF tab,
      DYNPFLD_MAPPING TYPE STANDARD TABLE OF DSELC,
      dyn_wa TYPE DSELC,
      lt_return TYPE TABLE OF DDSHRETVAL,
      lwa_return TYPE ddshretval.
    INITIALIZATION.
      wa-field1 = 'aaaaa'.
      wa-field2 = 'bbbbb'.
      wa-field3 = 'ccccc'.
      APPEND wa to tab.
      wa-field1 = 'aaaaa'.
      wa-field2 = 'bbccc'.
      wa-field3 = 'ddddd'.
      APPEND wa to tab.
      wa-field1 = 'aaaab'.
      wa-field2 = 'bbccc'.
      wa-field3 = 'eeeee'.
      APPEND wa to tab.
      dyn_wa-FLDNAME = 'FIELD1'.
      dyn_wa-DYFLDNAME = 'A'.
      APPEND dyn_wa to DYNPFLD_MAPPING.
      dyn_wa-FLDNAME = 'FIELD2'.
      dyn_wa-DYFLDNAME = 'B'.
      APPEND dyn_wa to DYNPFLD_MAPPING.
      dyn_wa-FLDNAME = 'FIELD3'.
      dyn_wa-DYFLDNAME = 'C'.
      APPEND dyn_wa to DYNPFLD_MAPPING.
    AT SELECTION-SCREEN on VALUE-REQUEST FOR a.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
    *     DDIC_STRUCTURE         = ' '
          retfield               = 'FIELD1'
    *     PVALKEY                = ' '
          DYNPPROG               = sy-cprog
          DYNPNR                 = '1000'
          DYNPROFIELD            = 'A'
    *     STEPL                  = 0
    *     WINDOW_TITLE           = WINDOW_TITLE
    *     VALUE                  = ' '
          VALUE_ORG              = 'S'
    *     MULTIPLE_CHOICE        = ' '
    *     DISPLAY                = ' '
         CALLBACK_PROGRAM       = sy-cprog
         CALLBACK_FORM          = 'CALLBACK_F4'
    *     MARK_TAB               = MARK_TAB
    *   IMPORTING
    *     USER_RESET             = USER_RESET
        TABLES
          value_tab              = tab
    *     FIELD_TAB              = FIELD_TAB
          RETURN_TAB             = lt_return
    *      DYNPFLD_MAPPING        = DYNPFLD_MAPPING
    *   EXCEPTIONS
    *     PARAMETER_ERROR        = 1
    *     NO_VALUES_FOUND        = 2
    *     OTHERS                 = 3
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    form callback_f4 TABLES record_tab STRUCTURE seahlpres
                CHANGING shlp TYPE shlp_descr
                         callcontrol LIKE ddshf4ctrl.
      DATA:
        ls_intf     LIKE LINE OF shlp-interface,
      ls_prop     LIKE LINE OF shlp-fieldprop.
    *Hide unwanted fields
      CLEAR: ls_prop-shlpselpos,
             ls_prop-shlplispos.
    *  MODIFY shlp-fieldprop FROM ls_prop
    *    TRANSPORTING shlpselpos shlplispos
    *  WHERE ( fieldname NE 'F0001'  AND
    *          fieldname NE 'F0002'  AND
    *          fieldname NE 'F0003' ).
    *  " Overwrite selectable fields on search help
      REFRESH: shlp-interface.
      ls_intf-shlpfield = 'F0001'.
      ls_intf-valfield  = 'A'.
      ls_intf-f4field   = 'X'.
      APPEND ls_intf TO shlp-interface.
      ls_intf-shlpfield = 'F0002'.
      ls_intf-valfield  = 'B'.
      ls_intf-f4field   = 'X'.
      APPEND ls_intf TO shlp-interface.
      ls_intf-shlpfield = 'F0003'.
      ls_intf-valfield  = 'C'.
      ls_intf-f4field   = 'X'.
      APPEND ls_intf TO shlp-interface.
    ENDFORM.

  • Looking for a changer of job

    Hi All,
    I am considering a change of job.
    Here is a brief of my experience.
    I am an engineering graduate with 5 years of experience in LabView, Data aquasition and control systems, automated test equipment. I have also executed few testing projects and got hands on experience with CAN tools.
    I am also a certified LabView associate developer(CLAD).
    I also have an additional 2 years of experience in
    Bio Medical Instrumentation.
    In case there are job openings matching my profile, kindly contact me at [email protected] for further details.
    Although I am looking for oppurtunities in Bangalore, I would be willing to think of relocation options.
    Thanks in advance
    Regards
    Dev

    Hi Neha,
    First of all, congratulation for becoming a certified SAP consultant.
    I suggest you to Surf through all the JOB portals, short list the job most appropriate for you.
    The most IMP thing is DO NOT USE COMMON CV FOR APPLYING TO ALL THESE JOB.
    Modify your CV for applying to each JOB keeping job description in mind. In other word as per Job description tailor-made your CV so that you get interview call for sure.
    Instead of applying 1000 job with common CV apply only 10 most appropriate job with Tailor-made CV.
    The second most IMP thing is NEVER USE WORD FRESHER.
    Keep this statement in your mind that "No employer is willing to conduct a training institute."
    You are a certified consultant, be confident and go KING SIZE.
    Till the time you get your JOB keep sharing your knowledge and keep training your Juniors. This will help refreshing and gaining more knowledge.
    Do not hesitate to ask any further questions.
    Wish you all the very best.
    Regards
    Chirag Shah
    TS : Please go through the given below links.
    ERP Consultancy (SAP Certification) – Transformation from Introduction Phase to Mature Phase (Part – 2)
    DOs & DON’Ts for SAP Career (Certification) on the basis of my on going journey from an Accountant to SAP FI Consultant.

  • Vista activation issue

    I have a T-61 6465 CTO  with Windows Vista Ultimate (OEM).  Something became corrupted and I contacted Lenovo and Microsoft about this issue.  MS provided a replacement disc to fix the issue.  I loaded it and it asked for the product key which I used from the sticker on the bottom of the computer.  It would not activate and thus did the numerous Microsoft remedies, to no avail.  Thus I reset it for yet another 30 days.  MS suggested contacting Lenovo as original Vista Ultimate was an OEM.  I could don't obtain the support from Lenovo as I had expected.  Any thoughts of how can I obtain a Vista Ultimate Product Key?

    I appreciate your information.  It appears that MS says it is Lenovo issue and Lenovo says it is a MS issue... Quite circular and time consuming.  To clarify: When I purchased my T61 it had Vista on it.  I elected to downgrade to XP and did so.  I recently decided to give the Vista a Try as some things were not compatible with my XP.  I reformatted and installed the Original OEM Vista.  It was fine for a few weeks then problems.  Lenovo would not assist as it was out of warranty, but MS helped and offered this option: I understand that the issue persists and you intend to do Clean Installation to fix the current issue. As an end-user myself, I can understand this is a time-consuming process. On the other hand, this is also a quick way to resolve the issue. Sometimes, when we have several issues at one time, it is very likely that some core components are corrupted. In this situation, a clean installation can help refresh the whole system and clear the unnecessary or corrupted information. I believe the system performance should improve as well. ....MS offered: that this issue can be resolved as soon as possible and the system can work perfectly. MS Technical support would like to to order a Vista Installation DVD with the legitimate Product Key for you free of charge to reinstall Vista. I obtained this, loaded it and attempted to activate, but it would not take my Key.  I called MS and Lenovo again with each pointing to the other, I was able to fix the issue and get another 30 days before it will return to limitless use as it could not be activated.  So I have a legitimate Vista Ultimate product, but can not get it activated.  I would appreciate advice.  Why is obtaining a Product Key so difficult when you have a legitimate version?  Any assistance would be most appreciated

  • Linking data from Excel 2007to Visio 2010

    Hi Visio Experts,
    I have a Visio diagram a warehouse. The diagram shows the area of the warehouse where there are shelves and within each shelf is stored a certain product and the number of items. I am trying to link the data from an Excel spreadsheet which
    has three columns, which are the shelf number, the product, and the quantity. I have used the tutorials to link, but it does not refresh the data when the source information changes, which is very frustrating. Also, since the data is relatively large (100
    rows) is there a way of linking to the right drawing box without manually dragging to each box?
    Please make yours suggestions into really clear steps to help me with this problem.
    Thank you,
    Visio Rookie

    Hi,
    You can have some changes appear either manually or automatically in the Visio drawing when making changes to the data source.
    First you have linked data to a Visio drawing, there is a live connection between the two files. After making changes to Excel spreadsheet, switch to Visio 2010, then click Data > Refresh All. As an alternative, you can also right-click in the External
    Data window and click Refresh Data.
    I follow these steps mentioned in this article, and it works fine.
    http://tutorial.programming4.us/windows_7/Microsoft-Visio-2010---Refreshing-All-Data-in-Linked-Diagrams.aspx
    For more detail information:
    http://office.microsoft.com/en-001/visio-help/refresh-imported-data-HA010014271.aspx

  • Videos that require flash player constantly restart and freeze

    Running Windows 7 and have tried multiple browers and versions of Adobe Flash Player (all set back to the latest versions as of right now), and have updated my video drivers, but no matter what if I go on any website like YouTube that uses Flash Player, I can watch a video for a couple minutes and then Flash Player will freeze and reboot the video to the beginning. Closing out the window doesn't help, refreshing the page doesn't help either, it will still just let me watch for a few minutes and then freeze and restart. Very frusterated here, any idea what the problem is??

    -Using 64 bit version and I've tried literally every available copy of Flash Player located in the archives. It only started doing this I'd say about a month ago maybe.
    -Not sure which parts of the dxdiag report you need but this is the overall system info:
    Operating System: Windows 7 Home Premium 64-bit (6.1, Build 7601) Service Pack 1 (7601.win7sp1_gdr.130318-1533)
               Language: English (Regional Setting: English)
    System Manufacturer: TOSHIBA
           System Model: Satellite L555D
                   BIOS: Ver 1.00PARTTBL
              Processor: AMD Turion(tm) II Dual-Core Mobile M520 (2 CPUs), ~2.3GHz
                 Memory: 4096MB RAM
    Available OS Memory: 3838MB RAM
              Page File: 2363MB used, 5311MB available
            Windows Dir: C:\windows
        DirectX Version: DirectX 11
    DX Setup Parameters: Not found
       User DPI Setting: Using System DPI
    System DPI Setting: 96 DPI (100 percent)
        DWM DPI Scaling: Disabled
         DxDiag Version: 6.01.7601.17514 32bit Unicode
    -The only difference I saw was that non-HTML loaded significantly faster. It usually takes a minimum of 3 min though before I might have restart trouble.

  • [WRT1900AC] "Linksyssmartwifi"/default firmware is... really bad.

    I've bought two WRT1900AC's, one for my home, one for my company's small office. After using them for a few months, I've run into a few problems which are basically going to force me to swap both of them to third party firmware (once it's stable enough to do so), at least until I replace them with Netgear/Asus routers. I am not inexperienced in this sort of thing, but I can't even tell if the options to fix some of these issues exist somewhere in the pages, or if they're simply nonexistent due to what looks like random reorganization and dumbing down of features.  1. When I try to log into my office router from my office via "linksyssmartwifi.com", it presents me with the email/password login, and logs me into my home router. There is no link to log into the local router on the page. I would much rather be able to go to 192.168.1.1 by default--you're not making anyone's lives easier with this "linksyssmartwifi", largely because existing tutorials usually direct readers to 192.168.1.1.  I had to interrupt someone working so I could log in to change the guest password, which leads me to the fact that... 2. I can't remove the guest network password. I have 100 megabits downstream in each of my locations, so let me deal with any pirates or bandwidth thieves; I'm fine when I see my neighbors' guests connect to my WiFi with their iPhones.  3. The "simplified" device view is often incorrect in matching the names of devices/IPs/manufacturers. Give me a proper table with all of this information, including DHCP lease times, preferably not in an oval-shaped format.  4. I'm limited to three devices for QoS prioritization. I have dozens of devices, including at least 4 Rokus. 5. I'm pretty sure there was no use of HTTPS when I initially registered my router account.  The router is probably fine for most people. The packaging was neat, the hardware feels solid, and the idea behind working with OpenWRT is great, but the existing firmware is irritating to use every time I need to use it. If 1 and 2 can be fixed by the time I change routers, I'll consider recommending Belkin products to my family again, but not until then. 

    Here are my takes on the challenges you are experiencing with the router. I hope you will find these answers helpful:
    1. When you access your office router's configuration page, do not use the username and password you assigned to you home network. Be sure to use the right login credentials when accessing the router's page.
    2. We cannot disable the security settings of the guest network but we can disable the router's Guest Access instead.
    3. A firmware upgrade may help refresh and update the Device List.
    4. You can connect all the other devices to the network. Adjust the router's wireless channel to improve the wireless connection.
    5. If you want to set the router to use https, you can enable it on the router's configuration page under Connectivity -> Administration.

Maybe you are looking for