Data from Front end to Back end of ALV Grid

Hi Experts,
I developed interactive ALV for maintaining master data for some BW Objects. I also included custom F4 for all fields.
Problem:
When entered new record or modified a record by using F4 help of fields, it doesn't work properly. For collecting front end data i wrote below specified code.
for new record insert.
METHOD handle_data_changed.
    DATA: mod_cell        TYPE lvc_s_modi,
          del_row TYPE lvc_s_moce,
          del_index TYPE i,
          new_index TYPE sy-tabix.
    DATA:   l_assum TYPE /bic/pzassum-/bic/zassum,
            l_assum_modl TYPE /bic/pzassum-/bic/zass_mdl,
            l_assum_typ TYPE /bic/pzassum-/bic/zass_typ,
            l_drv_assum TYPE /bic/pzassum-/bic/zdriver,
            l_infl_assum TYPE /bic/pzassum-/bic/zinflate,
            l_sht_text TYPE /bic/tzassum-txtsh,
            l_mdm_text TYPE /bic/tzassum-txtmd.
    CLEAR error_record.
  IF e_onf4 IS INITIAL.
******Get Inserted Data from Frontend
   CALL FUNCTION 'MESSAGES_INITIALIZE'.
    IF er_data_changed->mt_inserted_rows IS NOT INITIAL.
      IF er_data_changed->mt_mod_cells IS NOT INITIAL.
       REFRESH : gt_inserted_data,gt_inserted_text.
        LOOP AT er_data_changed->mt_mod_cells INTO mod_cell.
          CALL METHOD er_data_changed->get_cell_value
            EXPORTING
              i_row_id    = mod_cell-row_id
              i_fieldname = '/BIC/ZASSUM'
            IMPORTING
              e_value     = l_assum.
          wa_changed_data-/bic/zassum = l_assum.
          CALL METHOD er_data_changed->get_cell_value
            EXPORTING
              i_row_id    = mod_cell-row_id
              i_fieldname = '/BIC/ZASS_MDL'
            IMPORTING
              e_value     = l_assum_modl.
          wa_changed_data-/bic/zass_mdl = l_assum_modl.
          CALL METHOD er_data_changed->get_cell_value
            EXPORTING
              i_row_id    = mod_cell-row_id
              i_fieldname = '/BIC/ZASS_TYP'
            IMPORTING
              e_value     = l_assum_typ.
          wa_changed_data-/bic/zass_typ = l_assum_typ.
          CALL METHOD er_data_changed->get_cell_value
            EXPORTING
              i_row_id    = mod_cell-row_id
              i_fieldname = '/BIC/ZDRIVER'
            IMPORTING
              e_value     = l_drv_assum.
          IF sy-subrc = 0.
            wa_changed_data-/bic/zdriver = l_drv_assum.
          ENDIF.
          CALL METHOD er_data_changed->get_cell_value
            EXPORTING
              i_row_id    = mod_cell-row_id
              i_fieldname = '/BIC/ZINFLATE'
            IMPORTING
              e_value     = l_infl_assum.
          IF sy-subrc = 0.
            wa_changed_data-/bic/zinflate = l_infl_assum.
          ENDIF.
          CALL METHOD er_data_changed->get_cell_value
            EXPORTING
              i_row_id    = mod_cell-row_id
              i_fieldname = 'TXTSH'
            IMPORTING
              e_value     = l_sht_text.
          IF sy-subrc = 0.
            wa_changed_text-txtsh = l_sht_text.
          ENDIF.
          CALL METHOD er_data_changed->get_cell_value
            EXPORTING
              i_row_id    = mod_cell-row_id
              i_fieldname = 'TXTMD'
            IMPORTING
              e_value     = l_mdm_text.
          wa_changed_text-txtmd = l_mdm_text.
          APPEND wa_changed_data TO gt_inserted_data.
          wa_changed_text-/bic/zassum = wa_changed_data-/bic/zassum.
          APPEND wa_changed_text TO gt_inserted_text.
        ENDLOOP.
        DELETE ADJACENT DUPLICATES FROM gt_inserted_data.
        DELETE ADJACENT DUPLICATES FROM gt_inserted_text.
      ENDIF.
For Modified Record
IF er_data_changed->mt_mod_cells IS NOT INITIAL AND
              er_data_changed->mt_inserted_rows IS INITIAL.
     REFRESH : gt_modified_text,gt_modified_data.
     REFRESH : gt_valid_text,gt_modified_text.
      LOOP AT er_data_changed->mt_mod_cells INTO mod_cell.
        row_index = mod_cell-row_id.
        CALL METHOD er_data_changed->get_cell_value
          EXPORTING
            i_row_id    = mod_cell-row_id
            i_fieldname = '/BIC/ZASSUM'
          IMPORTING
            e_value     = l_assum.
        wa_changed_data-/bic/zassum = l_assum.
        CALL METHOD er_data_changed->get_cell_value
          EXPORTING
            i_row_id    = mod_cell-row_id
            i_fieldname = '/BIC/ZASS_MDL'
          IMPORTING
            e_value     = l_assum_modl.
        wa_changed_data-/bic/zass_mdl = l_assum_modl.
        CALL METHOD er_data_changed->get_cell_value
          EXPORTING
            i_row_id    = mod_cell-row_id
            i_fieldname = '/BIC/ZASS_TYP'
          IMPORTING
            e_value     = l_assum_typ.
        wa_changed_data-/bic/zass_typ = l_assum_typ.
        CALL METHOD er_data_changed->get_cell_value
          EXPORTING
            i_row_id    = mod_cell-row_id
            i_fieldname = '/BIC/ZDRIVER'
          IMPORTING
            e_value     = l_drv_assum.
        IF sy-subrc = 0.
          wa_changed_data-/bic/zdriver = l_drv_assum.
        ENDIF.
        CALL METHOD er_data_changed->get_cell_value
          EXPORTING
            i_row_id    = mod_cell-row_id
            i_fieldname = '/BIC/ZINFLATE'
          IMPORTING
            e_value     = l_infl_assum.
        IF sy-subrc = 0.
          wa_changed_data-/bic/zinflate = l_infl_assum.
        ENDIF.
        CALL METHOD er_data_changed->get_cell_value
          EXPORTING
            i_row_id    = mod_cell-row_id
            i_fieldname = 'TXTSH'
          IMPORTING
            e_value     = l_sht_text.
        IF sy-subrc = 0.
          wa_changed_text-txtsh = l_sht_text.
        ENDIF.
        CALL METHOD er_data_changed->get_cell_value
          EXPORTING
            i_row_id    = mod_cell-row_id
            i_fieldname = 'TXTMD'
          IMPORTING
            e_value     = l_mdm_text.
        wa_changed_text-txtmd = l_mdm_text..
        APPEND wa_changed_data TO gt_modified_data.
        wa_changed_text-/bic/zassum = wa_changed_data-/bic/zassum.
        APPEND wa_changed_text TO gt_modified_text.
      ENDLOOP.
      DELETE ADJACENT DUPLICATES FROM gt_modified_data.
      DELETE ADJACENT DUPLICATES FROM gt_modified_text.
    ENDIF.
Custom F4 is working properly.
Below i am specifing one test case which is my program failed.
i entered  2 new records by choosing F4 help. The 2nd record only inserted in data base.
Please help me....
Thanks in Advance

Hello Siva
Some people like to do extensive coding in the event handler method for DATA_CHANGED.
I do NOT belong to these people.
My recommendation is (almost) always the same:
- If required store values in (static) attributes of your event handler class / instance
- Trigger PAI (using method CL_GUI_CFW=>SET_NEW_OK_CODE)
At PAI of your screen you can now easily work with your OUTTAB itab used for the ALV list.
Regards
  Uwe

Similar Messages

  • Front end and Back end experience in SAP BW

    Hi Friends...
         Can ne1 plz explain wht things in SAP BW come under Front end and Back end experience......Thanks in advance

    Generally, back-end would consist of the taks associated with configuration of data targets (ODS, Cubes), working with extractors, mapping data to the data targets, writing transfer/start rtn/update rules, and creating Infopkgs/ Process Chains.
    Front-end deals with the use of the BW - writing queries, workbooks, web (although I think some of the infrastructure aspects of web reporting. e.g. javascript/templates might really could be considered backend).  Think of Front-end as all of the client/customer/user facing components.

  • Is there a way to find out details about, who approved the RMA on system using front end or back end?

    Is there a way to find out details about, who approved the RMA on system using front end or back end?

    But is there a way (simple or not-so-simple) to find
    out EVERY SINGLE FILE that's referenced on a
    timeline? (I have lots of stuff imported into the
    project that I know isn't used on any timeline, but
    I'm afraid of moving or deleting things for fear of
    never finding it again.)
    I'd love to get some sort of "printout" (a list or
    something) of every single file.
    There is, go to browser and cntrl click on any one of the columns,
    and select - show/source. A new column named "source" will pop up and will show where everything "lives". Click on the header at the top and it will justify the column as well. You'll notice this won't show anything for your seq.'s. of course, but will show stills/audio/motion files...
    Once you have the new column, you can drag it next to the "name" column and get a grab of it and print it if you like, or whatever.
    If you want to do this for just 1 seq., then can create a new bin and double click it to open it. Cntrl-A (select all) in your main seq. and just drag all into the new bin. You will see only what's in that seq. with the "source" column right next to it.
    From what I've read, you seem to get the MM thing and it's obviously what you'll need to do to archive as the guys said. But what your missing is a file path system to where everything resides.
    Hope this helps and that I've read you properly,
    Peace
    P-Book 1.5, 17" 2gsRAM   Mac OS X (10.4.4)   FCStudio

  • How do i parse data from the second jframe back to the first?

    Hello.
    I have a jFrame were I promt users to keep a list of Names in a jTable. (I keep data for something else, but lets say names.. ) Anyway, afterwords I want to add some extra parameters for each name. So I created a new frame, which is opened when user press an Edit button. The new frame opens and users can add for the specific name some extra data, like age, height, color, sex.. etc. that characterizes this person.
    On this second form i have a save button, which when its pressed i would like to keep this information for this name, so as when user press edit again from the first frame on the same Name the data that previously entered will be loaded (lets say that the user can not enter the say name again)
    I haven' t figured the code for the save Button, but with the rest I am fine.
    Can you give any ideas with structures that I have to use and how the action listener will have to be??
    When I set visible the new form i have made a constructor that loads the new form which have a label with the name of the person that is edited., but how do i parse data from the second form back to the first that is already opened??
    Thanks very much..

    I found it.. it was not so hard afterall..
    anyway, i quote the new code..
    package namelist;
    // Java core packages
    import java.awt.event.*;
    import java.util.*;
    // Java extension packages
    import javax.swing.*;
    import javax.swing.table.*;
    public class NamesGUI extends javax.swing.JFrame {
        //Variables for managing the jTables
        DefaultTableModel tableModel;
        Vector rows,cols;
        String[] colName1 = {"List of Names"};
        ManageJTables mJT = new ManageJTables();
        Hashtable h;
        /** Creates new form ProsAgentGUI */
        public NamesGUI() {
            h = new Hashtable();
            initComponents();
        /** 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 Form Editor.
        private void initComponents() {
            Panel = new javax.swing.JPanel();
            ToolBar = new javax.swing.JToolBar();
            ADD = new javax.swing.JButton();
            EDIT = new javax.swing.JButton();
            REMOVE = new javax.swing.JButton();
            jButton1 = new javax.swing.JButton();
            TScrollPane = new javax.swing.JScrollPane();
            Table = new javax.swing.JTable();
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setTitle("Names");
            setBackground(new java.awt.Color(0, 51, 51));
            Panel.setBorder(javax.swing.BorderFactory.createTitledBorder("List of Names"));
            ToolBar.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
            ADD.setText("ADD");
            ADD.setToolTipText("");
            ADD.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
            ADD.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    ADDActionPerformed(evt);
            ToolBar.add(ADD);
            EDIT.setText("EDIT");
            EDIT.setToolTipText("");
            EDIT.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
            EDIT.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    EDITActionPerformed(evt);
            ToolBar.add(EDIT);
            REMOVE.setText("REMOVE");
            REMOVE.setToolTipText("");
            REMOVE.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
            REMOVE.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    REMOVEActionPerformed(evt);
            ToolBar.add(REMOVE);
            jButton1.setText("jButton1");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
            ToolBar.add(jButton1);
            rows=new Vector();
            cols= new Vector();
            cols=mJT.addColumns(colName1, cols);
            tableModel =new DefaultTableModel();
            tableModel.setDataVector(rows,cols);
            Table.setModel(tableModel);
            TScrollPane.setViewportView(Table);
            org.jdesktop.layout.GroupLayout PanelLayout = new org.jdesktop.layout.GroupLayout(Panel);
            Panel.setLayout(PanelLayout);
            PanelLayout.setHorizontalGroup(
                PanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(ToolBar, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 210, Short.MAX_VALUE)
                .add(TScrollPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 210, Short.MAX_VALUE)
            PanelLayout.setVerticalGroup(
                PanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(PanelLayout.createSequentialGroup()
                    .add(ToolBar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 34, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(TScrollPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 159, Short.MAX_VALUE))
            org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
                    .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .add(Panel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap())
            layout.setVerticalGroup(
                layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
                    .addContainerGap(29, Short.MAX_VALUE)
                    .add(Panel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap())
            pack();
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
            System.out.println(h.toString());
    public void updateNamesTable (int id, String na){
         Integer i2 = new Integer(id);
         Object o2 = (Object)i2;
         if (h.containsKey(o2)){
            Name a = (Name)h.get(o2);
            a.name = na;
            h.put(o2,a);
         else {
             Name aa = new Name();
             aa.name=na;
             h.put(o2,(Object)aa);
        private void EDITActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
            String name = Table.getValueAt(Table.getSelectedRow(),0).toString();
            int rowNum= Table.getSelectedRow();
            Integer i = new Integer(rowNum);
            Object o = (Object)i;
            updateNamesTable (rowNum, name);
            //public NameEditor(Name n,  Hashtable h, int id)
            NameEditor re = new NameEditor((Name)h.get(o), h, rowNum );
            re.setVisible(true);
        private void REMOVEActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
            mJT.deleteRow(Table.getSelectedRow(), rows, Table);
        private void ADDActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
            mJT.addRow(rows, Table);
         * @param args the command line arguments
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new NamesGUI().setVisible(true);
        // Variables declaration - do not modify
        javax.swing.JButton ADD;
        javax.swing.JButton EDIT;
        javax.swing.JPanel Panel;
        javax.swing.JButton REMOVE;
        javax.swing.JScrollPane TScrollPane;
        javax.swing.JTable Table;
        javax.swing.JToolBar ToolBar;
        javax.swing.JButton jButton1;
        // End of variables declaration
    public class NameEditor extends javax.swing.JFrame {
        Hashtable h;
        Name n;
        int id;
        /** Creates new form NameEditor */
        public NameEditor() {
            initComponents();
        public NameEditor(Name n,  Hashtable h, int id) {
            this.h=h;
            this.n=n;
            this.id=id;
            initComponents();
            NameField.setText(n.name);
            jTextField2.setText(n.weight);
            jTextField1.setText(n.height);
            setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        /** 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 Form Editor.
        private void initComponents() {
            NameLabel = new javax.swing.JLabel();
            NameField = new javax.swing.JTextField();
            SaveBut = new javax.swing.JButton();
            jLabel3 = new javax.swing.JLabel();
            jLabel4 = new javax.swing.JLabel();
            jTextField1 = new javax.swing.JTextField();
            jTextField2 = new javax.swing.JTextField();
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setTitle("Name Editor");
            getAccessibleContext().setAccessibleName("Name Editor");
            NameLabel.setText("Name: ");
            NameField.setEditable(false);
            NameField.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    NameFieldActionPerformed(evt);
            SaveBut.setText("SAVE");
            SaveBut.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    SaveButActionPerformed(evt);
            jLabel3.setText("Height");
            jLabel4.setText("Weight");
            org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(layout.createSequentialGroup()
                    .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                        .add(layout.createSequentialGroup()
                            .addContainerGap()
                            .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                                .add(layout.createSequentialGroup()
                                    .add(jLabel4)
                                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED))
                                .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
                                    .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                                        .add(jLabel3)
                                        .add(NameLabel))
                                    .add(16, 16, 16)))
                            .add(17, 17, 17)
                            .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                                .add(NameField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 138, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)
                                    .add(org.jdesktop.layout.GroupLayout.LEADING, jTextField2)
                                    .add(org.jdesktop.layout.GroupLayout.LEADING, jTextField1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 46, Short.MAX_VALUE))))
                        .add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup()
                            .add(127, 127, 127)
                            .add(SaveBut)))
                    .addContainerGap())
            layout.setVerticalGroup(
                layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(layout.createSequentialGroup()
                    .addContainerGap()
                    .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(NameLabel)
                        .add(NameField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(30, 30, 30)
                    .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(jLabel3)
                        .add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(12, 12, 12)
                    .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(jLabel4)
                        .add(jTextField2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 27, Short.MAX_VALUE)
                    .add(SaveBut)
                    .addContainerGap())
            pack();
        public void updateNameTable (){
         Integer i2 = new Integer(id);
         Object o2 = (Object)i2;
         h.put(o2,n);       
        private void SaveButActionPerformed(java.awt.event.ActionEvent evt) {                                       
    // TODO add your handling code here:
            n.height= jTextField1.getText();
            n.weight = jTextField2.getText();
        private void NameFieldActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
         * @param args the command line arguments
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new NameEditor().setVisible(true);
        // Variables declaration - do not modify
        javax.swing.JTextField NameField;
        javax.swing.JLabel NameLabel;
        javax.swing.JButton SaveBut;
        javax.swing.JLabel jLabel3;
        javax.swing.JLabel jLabel4;
        javax.swing.JTextField jTextField1;
        javax.swing.JTextField jTextField2;
        // End of variables declaration
    }

  • How do i restore all my data from a time machine back up from an iMac to a Macbook Pro?

    How do i restore all my data from a time machine back up on an external hard dirve???
    From an iMac to a Macbook Pro.

    I tried this but my external drive is not appearing for some reason. Although it is accessible through finder.
    Is ther perhaps another way of doing this??
    Your help is massively appreciated!!

  • How long does it take to transfer data from a time  machine back up?

    I am in the process of transferring my data from my time machine back up from my old mac to my new mac and this seems to be taking a long time.  What is everyone's experience for how long this takes?

    That does seem a tad excessive. What connection are you using? Ideal is firewire; Airport would be slowest (quite possibly as long as you say).

  • HT3275 I backed up by computer to an external HD and lost all my data from TC. I backed it back up FROM the external HD, but I lost the dateline on Time Machine. Can I restore the dates and timess of my backups?

    I backed up by computer to an external HD and lost all my data from TC. I backed it back up FROM the external HD, but I lost the dateline on Time Machine. Can I restore the dates and timess of my backups?

    Another one that Apple doesn't make obvious. 
    See #E3 in Time Machine - Troubleshooting. 

  • Differnec in front end and back end of ESS record time from ABAP point

    HI Expert,
    Here I need information regarding employee working time.
    Quary is we are trying to restricts the records entered in time sheet through user exit CATS0006.
    Here in CATS0006 one table is there CHECK_TABLE.
    when I am executing time sheet from back end(t code  CAT2) the table Check_table is having forward and backword 6 weeks data from the key date and date_from and date_to fields have correct value for week start and end.So that I am able to validate records.
    But when I am executing from ESS>Working time>Record working time and set an external debugger on CATS0006 I got that at this time CHECK_TABLE has only edited entry and date_from and date_to field value are also not correct one.
    Please suggest what may the cause of problem ,is it the case with your system as well?
    Is it a problem with SAP standard code?
    << Moderator message - Please do not promise points >>
    << Moderator message - The answers in the forum are provided by volunteers. Please do not ask for help quickly. >>
    Thanks,
    Subhashree.
    Edited by: Rob Burbank on Dec 2, 2011 9:26 AM

    Hi,
    What password are you talking about, the one created with the workgroup manager? That will be difficult since 2010 doesn't have the workgroup manager anymore. You can still use the database in the 2010 environment but you can't make any changes to the original
    database without the password.
    Maurice

  • How to stop BAPI(FM) when enter data from front end is calling a BAPI

    Hi Experts
    We are entering the data through front end , that is calling one BAPI and upadating the data
    into SAP .
    could any one tell me how to stop this BAPI , is it possible to stop that BAPI using external break points
    Thanks.

    Is this BAPI Called in another task? Otherwise, you should be able to debug it like any other Function module in foreground.

  • Front end and back end questions

    Hi,
    If I want to develop a web base SOA application by using Jcaps, I have several question want to ask.
    1.) In the front end, if i create the page by using eVision to create the page
    flow and the page layout, how can I match the fields of the page (such
    as the username, email, tel no... with the back end web services?
    2.) Does the flow of the front end web pages are control by the page flow in
    eVision? When will the eVision supported AJAX or JSF?
    3.) What is the use of the eInsight Business process manager, does it
    control all the back end flow, such as the flow of each web services?
    Does Jcaps has the Bpel engine to control the flow of web services?
    4.) I know that in JBoss, there is a jBPM server to control the flow of the front
    end pages, does JCAPS has this kind of server?
    5.) If i want to connect to the Database? I know that there is a eTL to extract
    the data from the database, it is true? Or do u recommend to connect the
    database directly through the web services by using JDBC or other
    framework as well?
    6.) If I have an existing application that is developed by .Net (With no web
    services). How can i integrate with other systems? What can I do in order
    to reuse the system? Or what Jcaps can do in this manner?
    Thanks for you reply! ^ ^

    Generally, back-end would consist of the taks associated with configuration of data targets (ODS, Cubes), working with extractors, mapping data to the data targets, writing transfer/start rtn/update rules, and creating Infopkgs/ Process Chains.
    Front-end deals with the use of the BW - writing queries, workbooks, web (although I think some of the infrastructure aspects of web reporting. e.g. javascript/templates might really could be considered backend).  Think of Front-end as all of the client/customer/user facing components.

  • Authentication with UME separation of front end and back end

    My webdynpro project has 2 application. One for Admin one for Rating.
    Is it possible to create a java class at Webdynpro level and share it between the 2 applications?
    Why the need?
    Created a custom class (lets called it CommonEJB), to point to the right pages and set of UI controls after the initial login with UME. This class utilizes the IWDClientUser.getSAPUset() method to get IUser object.
    If it is not possible to create a java class at Webdynpro, then this ejb will need to be deployed to the backend.
    Putting it at the backend is not good as security wise, its always better to separate the authentication between front and back end.
    Any ideas/solutions?
    thanks

    s0003358504
    au-?Krup
    LDAP
    ==============================================
    Computer Associates Int'l  [eTrust Directory]  
    Critical Path  [CP Directory Server (CP DS)]  
    Microsoft  [Windows 2000 Active Directory Server]  
    Microsoft  [Windows 2003 Server - Active Directory]  
    Netscape Communications  [Netscape Directory Server]   
    Novell  [DirXML Driver for User Management]  
    Novell  [Novell DirXML Driver for SAP HR/PA]  
    Novell  [Novell eDirectory]  
    Oracle Deutschland  [Oracle Internet Directory (OID)]  
    Siemens  [DirX Directory Server]  
    Siemens  [DirX Extranet Edition]  
    Sun Microsystems  [Sun Java System Directory Server] 
    •     Test Objectives
    •     Testing Scope
    •     Test Approach
    •     Test Environment
    •     Test Data
    •     Entry / Exit Criteria
    •     Risks
    •     Schedule and Resources
    •     SIT Deliverables
    •     Test Planning Source Documents
    Well, i wish to create a java class that can separate the view areas depending on their login.
    lets say you're a manager, u can see certain views. and if you're a supervisor u see another. This is achieved using the java class with information from getSAPUser() position. After retrieving the position, using the java class will programmatically assigned the appropriate views, buttons, tabs etc.
    so this class need to in front end, and not back end. problem is we have 2 application.
    if the class is created front end in one application can it be shared with another.

  • Java Front End, PHP Back End

    Hi all, I am trying to create a java front end with a php back end. Using a tip from Core Java Technologies Tech Tips (http://java.sun.com/developer/JDCTechTips/2004/tt0210.html#2). I tried to convert their code from a command line to a GUI and have gotten preaty far but it is only allowing me to get one row of data from the php file. Here is my code so far:
    package test;
    import java.net.URL;
    import java.net.MalformedURLException;
    import java.net.URLConnection;
    import java.io.IOException;
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    * @author bdeonline
    public class test extends javax.swing.JFrame {
    private static URLConnection connection;
    private String inputLine;
    private static void connect( String urlString ) {
    try {
    URL url = new URL(urlString);
    connection = url.openConnection();
    } catch (MalformedURLException e){
    } catch (IOException e) {
    private String readContents() {
    BufferedReader in = null;
    try {
    in = new BufferedReader(
    new InputStreamReader(
    connection.getInputStream()));
    String inputLine;
    while (
    (inputLine = in.readLine()) != null) {
    return(inputLine);
    } catch (IOException e) {
    return inputLine;
    /** Creates new form test */
    public test() {
    initComponents();
    /** 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 Form Editor.
    private void initComponents() {
    jButton1 = new javax.swing.JButton();
    jScrollPane1 = new javax.swing.JScrollPane();
    jTextArea1 = new javax.swing.JTextArea();
    addWindowListener(new java.awt.event.WindowAdapter() {
    public void windowClosing(java.awt.event.WindowEvent evt) {
    exitForm(evt);
    jButton1.setText("jButton1");
    jButton1.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    jButton1ActionPerformed(evt);
    getContentPane().add(jButton1, java.awt.BorderLayout.SOUTH);
    jScrollPane1.setViewportView(jTextArea1);
    getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER);
    pack();
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    connect("http://localhost/test.php");
    jTextArea1.setText(readContents());
    /** Exit the Application */
    private void exitForm(java.awt.event.WindowEvent evt) {
    System.exit(0);
    * @param args the command line arguments
    public static void main(String args[]) {
    new test().show();
    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextArea jTextArea1;
    // End of variables declaration
    I am preaty new at java, I know PHP preaty well though so something like this could help me out alot. Most of this code was generated with the help of Netbeans.

    I dont see why it would unles it has something to do with your URLConnection being static. setText() is only going to give you one line as well. try
    jTextArea.append(inputLine);
    and make only one declairation of inputLine.
    The only thing that should be static in your code is the main method.

  • Front-end and back-end

    Hi experts,
    My client is having an integration with a Warehouse Management System. Obviously, SAP Business One is going to be back-end. Our job is to suck in all the transactions occurred from the front-end system. Here is the requirement and the problem, a Credit Note based on an A/R Invoice. It can be done manually by putting in the BaseEntry, BaseLine and BaseType in the credit note document lines template. Common sense, who the hell is going to do that, not the users.
    Data is extracted from WMS system into .txt file(tab delimited).The WMS consultant is refused to generate 3 new columns to indicate BaseEntry, BaseLine and BaseType which are not making any sense as they are front-end system(not accounting). I would like to know how can we(SAP) know the BaseEntry, BaseType and BaseLine during migration?
    Please advice.
    Thank you.
    Regards,
    Lim Tou Lead

    Hi!
    Why your front end system doesn't having any link between its AR invoice and Credit Note ?
    If its there use that as a tracking mech.
    Also, if you planned to go with SAP DTW, you can't get the BaseType,Num... You need to write a SDK import which should extract the details (Baseref,type) with the help of the refrence from front end system

  • Help with EJB Arch: Synchronous front-end -- Asynchronous back-end

    Hi folks, We are developing an application with the following characteristics: - users can invoke requests on our appl and they will expect a quick response - to obtain the information requested by the user, our application talks with Tibco using RV. This communication follows a pub/sub messaging paradigm and is asynchronous. - thus, we have a synchronous req/resp front-end and an asynch back-end.
    We would like some advice as to the best way of architecting this application. Here is our approach. Please critic and suggest alternatives.
    1. Consider an user who has requested something from our app. 2. The user will be using a JSP based front-end. (S)he submits the request on a form and a servlet is driven. 3. The servlet uses a session EJB and invokes one of its methods, which handles some business-specific logic. 4. The method in the session EJB then instantiates a helper class. 5. A method on our helper class is now driven. This method sends a message to Tibco and it provides a callback method in the helper class. 6. The method in the helper class blocks the thread - basically, it waits. 7. Meanwhile, Tibco does the processing and invokes the callback method (in the helper class) with the result. 8. In the callback method, the data sent by Tibco is stored in member variables of the helper class. 9. The callback method wakes up the blocking thread. 10. The method in step 6 wakes up and returns the information to the session EJB. 11. The session EJB returns the information to the invoking servlet. 12. The servlet provides the information back to the user.
    The version of Tibco-RV that we are using is not JMS compliant.
    We keep hearing that threads should be handled very carefully in an EJB container environment, so we would like to know if the way we are handling the thread in the helper class is okay. Could we remove the helper class and do the same thread-handling in the session EJB itself?
    Can we use JMS in this solution even though our Tibco-RV does not support JMS?
    Tools: Weblogic App Server 6.1, JBuilder 5.0.
    Thanks for your advice and suggestions!

    Let me start off by mentioning that Sonic MQ (an excellent JMS server) now provides a bridge for TIB/Rendezous. I am also wrestling with a simliar issue, something that requires threading at the servlet or ejb level, and have given some thought to using JMS. My concern was that JMS is an asynchronous process so it's model does not fit well with the synchronous front end. Technically I can see a few ways to implement it but architecturally I am not convinced that they are sound. You could send a message from the session bean to the TIB via SonicMQ and have a JMS message bean registered as a listener for messages from the TIB, again via SonicMQ. The JMS bean could update a static class or singleton which your session checks but you still have the issue of making the session bean wait on that event.
    I'll do a bit more digging and see if there's a design pattern available for this situation.
    -Dat

  • Sharepoint recovery 1 front-end one back-end

    I have a simple SharePoint environment with a SharePoint 2010 front end and a dedicated SQL back-end. Both virtualized on Hyper-V 2008 R2 host. There are no complicated apps - it is just a file serving SharePoint implementation.
    The VHD for the front end server (it only had one drive) got corrupted. I have an export of the complete server from the 29th December, including the VHD.
    The back end (SQL and all the databases) if unaffected.
    I tried creating a new VM with the three day old VHD from the export, but it does not seem to correctly connect to the back end.
    I also have DPM 2012 backups of the whole thing systems, though they are made via the SharePoint front end.
    With a whole panoply of solutions I can:
    1. import the exported front end and see if that works better than just re-creating the machine (GUIDs and all that)
    2. Forget the export of the front end on the 29th and do a fully fledged DR from DPM
    Any other ideas?
    CarolChi

    One thing to note is that SharePoint does not support VM backups (that is, snapshots or full backups of the VHD itself). Since your VHD is older than the data within the Configuration database, it is best to start with a new front end.
    You should be able to install SharePoint up to the same patch level on the new front end, "join" the existing farm, and then forcibly remove the defunct SharePoint server from Central Administration.
    Trevor Seward
    Follow or contact me at...
    &nbsp&nbsp
    This post is my own opinion and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

Maybe you are looking for