Help - how to add my own data to a table

Hello,
I looked at the tutorials, but cannot get this to work.
I want to load a table (each row) with data I read from other tables.
I tried:
RowKey rk = objectArrayDataProvider1.appendRow();
FieldKey fk = new FieldKey("A");
objectArrayDataProvider1.setValue(fk,rk,"HELLO");
Can someone point me in the right direction with some good code?
Thanks
Frank

What I am trying to do is asemble data from three tables and add them to a datatable. Data may not be in all three tables, but all info from the first table must be added to the datatable.
table 1 has a list of procedures, these must be included.
table 2 has a list of providers
table 3 has a schedule that has date, procedure_id, provider_id.
I have to read table 3 for a given date, then add the provider if he is scheduled for a procedure.
Thanks
Frank

Similar Messages

  • How to add or remove data from one table to another in � jsp page

    I have two tables on my jsp page.
    On the fist table feed by a data base, u have in the first column radiobutton
    second colum data
    third columm data
    on the second table feed by the data of the first table, u have in the first
    columm checkbox
    second colum data
    this column data
    u have two link, one link to add and another to remove
    1 when u click one of the radiobutton of the fist table following by the click of the link add, u add the line into the second table.
    2 when u click on one or two checkboxes of the second table following by a click on the link remove, u remove the line or lines checked.
    Did somebody could send to me en example of code and give to me solution on way to make it. thank u.

    rather than sending you the whole code, i would like
    to see your code first, how far you implemented the
    code ? and where are you getting problem, asking the
    code like this is not a professional.
    All the Best !******************************************************************************************************************************
    that's what i have implements. U have a bean witch picked data in that the data base, and catch properties .
    i describe to u how work the page.
    when u chose or selected TypeDetoyer, it present to u the first table with all the toyer contains in the typeDeToyer, and presents the second table empty.
    Secondly, u click a radio button to select � toyer of typeDeToyer and by clicking to the link ada, u feed the second table with the toyer selected.
    the seconde table is fill with a checkbox.
    inverse, when u check a check box or many of the second table and clicking on the link remove, u remove the selected lines.
    the aim of all of this is to save in the data base
    the second table, after saving the page is redirect to the modifying form.
    I am waiting for ur answer.
    Coul u send to me how u implements the part beetween the two tables
    Thank s
    <%@ page language="java" import="java.util.*"%>
    <jsp:useBean id="nsimalenBean" scope="session" class="nsimalen.NsimalenBean" />
    <jsp:useBean id="toyerBean" scope="session" class="nsimalen.ToyerBean" />
    <jsp:useBean id="vectorLstTasks" scope="session" class="java.util.Vector" />
    <jsp:useBean id="hashtableToyerSelected" scope="session" class="java.util.Hashtable"/>
    <jsp:useBean id="hashtableRegimeFiscalToyers" scope="session" class="java.util.Hashtable"/>
    <%
    //nsimalen.NsimalenBean nsimalenBean=nsimalenBean();
    ///vectorLstTasks.removeElementAt(i);
    String cVide="";
    String typeOperation;
    String monCodeNsimalen;
    //String monCodeNsimalen=request.getParameter("txtCreateNsimalenFormCode");
    String monNomNsimalen;
    String maVilleNsimalen;
    String monPaysNsimalen;
    String monTypeDetoyerSelected;
    String codeToyerSelected;
    String codeToyerSelectedToAdd;
    String codeToyerSelectedToRemove;
    String currentlibelleTypeDetoyer=cVide;
    String typeAction;
    /// d�finition de variable dont les valeurs seront stock�es dans l'objet de session
    if(request.getParameter("txtCreateNsimalenFormCode")!=null)
    monCodeNsimalen=request.getParameter("txtCreateNsimalenFormCode");
    else
    monCodeNsimalen=cVide;
    if(request.getParameter("txtCreateNsimalenFormNom")!=null)
    monNomNsimalen=request.getParameter("txtCreateNsimalenFormNom");
    else
    monNomNsimalen=cVide;
    if(request.getParameter("txtCreateNsimalenFormVille")!=null)
    maVilleNsimalen=request.getParameter("txtCreateNsimalenFormVille");
    else
    maVilleNsimalen=cVide;
    if(request.getParameter("selCreateNsimalenFormPays")!=null)
    monPaysNsimalen=request.getParameter("selCreateNsimalenFormPays");
    else
    monPaysNsimalen=cVide;
    if(request.getParameter("optCreateNsimalenFormTypeToyer")!=null)
    {monTypeDetoyerSelected=request.getParameter("optCreateNsimalenFormTypeToyer");
    currentlibelleTypeDetoyer=toyerBean.getLibelleTypedeToyer(monTypeDetoyerSelected);
    else
    monTypeDetoyerSelected=cVide;
    if(request.getParameter("radioCreateNsimalenFormCodeToyers")!=null)
    codeToyerSelectedToAdd=request.getParameter("radioCreateNsimalenFormCodeToyers");
    else
    codeToyerSelectedToAdd=cVide;
    if(request.getParameter("radioCreateNsimalenFormCodeToyersRemove")!=null)
    codeToyerSelectedToRemove=request.getParameter("radioCreateNsimalenFormCodeToyersRemove");
    else
    codeToyerSelectedToRemove=cVide;
    if(request.getParameter("typeOperation")!=null)
    typeOperation=request.getParameter("typeOperation");
    else
    typeOperation=cVide;
    if(request.getParameter("typeAction")!=null)
    typeAction=request.getParameter("typeAction");
    else
    typeAction=cVide;
    // Stockage des valeurs dans l'objet
    nsimalenBean.setCodePays(monPaysNsimalen);
    nsimalenBean.setNomNsimalen(monNomNsimalen);
    nsimalenBean.setVilleNsimalen(maVilleNsimalen);
    nsimalenBean.setCodeNsimalen(monCodeNsimalen);
    nsimalenBean.setDateCreation("12/12/2001");
    // if typeOperation=Invalidation
    // nsimalenBean.setDatad'invalidation
    if(typeAction.equals("Save"))
    nsimalenBean.validationCreation();
    Vector validationErrors= nsimalenBean.getChampVide();
    %>
    <body>
    <%
    if (validationErrors!=null && validationErrors.size()!=0 )
    for (int i=0; i<validationErrors.size();i++)
    %>
    <BR> Champs Invalides : <%=(String)validationErrors.elementAt(i)%>; <BR>
    <%
    else
    if (hashtableToyerSelected!=null && hashtableToyerSelected.size()<=10)
    nsimalenBean.insertRowNsimalen();
    nsimalenBean.insertRowsToyersAssocieesNsimalen(hashtableToyerSelected);
    if (hashtableToyerSelected!=null && hashtableToyerSelected.size()>=0)
    %>
    <BR> num Toyers max 10 <BR>
    <%
    if (hashtableToyerSelected!=null && hashtableToyerSelected.size()==0)
    %>
    <BR> vous devez au moins selectionner une toyer pour un nsimalen <BR>
    <%
    %>
    <form method="post" name="CreateNsimalenForm" action="CreateNsimalen.jsp">
              <table cool width="681" height="424" usegridx usegridy showgridx showgridy gridx="16" gridy="16" border="0" cellpadding="0" cellspacing="0">
                   <tr height="16">
                        <td width="16" height="423" rowspan="11"></td>
                        <td width="288" height="16" colspan="3"></td>
                        <td width="376" height="144" colspan="3" rowspan="5"></td>
                        <td width="1" height="16"><spacer type="block" width="1" height="16"></td>
                   </tr>
                   <tr height="32">
                        <td width="100" height="32" valign="top" align="left" xpos="16"><label><font size="2" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular"><b>Code :</b></font></label></td>
                        <td width="188" height="32" colspan="2" valign="top" align="left" xpos="116"><input type="text" name="txtCreateNsimalenFormCode" size="24" value='<%=nsimalenBean.getCodeNsimalen()%>'></td>
                        <td width="1" height="32"><spacer type="block" width="1" height="32"></td>
                   </tr>
                   <tr height="32">
                        <td width="100" height="32" valign="top" align="left" xpos="16"><label><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="2"><b>Nom :</b></font></label></td>
                        <td width="188" height="32" colspan="2" valign="top" align="left" xpos="116"><input type="text" name="txtCreateNsimalenFormNom" size="24" value='<%=nsimalenBean.getNomNsimalen()%>'></td>
                        <td width="1" height="32"><spacer type="block" width="1" height="32"></td>
                   </tr>
    <input type="hidden" name="typeOperation" size="24" >
    <input type="hidden" name="typeAction" size="24" >
                   <tr height="32">
                        <td width="100" height="32" valign="top" align="left" xpos="16"><label><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="2"><b>Ville :</b></font></label></td>
                        <td width="188" height="32" colspan="2" valign="top" align="left" xpos="116"><input type="text" name="txtCreateNsimalenFormVille" size="24" value='<%=nsimalenBean.getNomVille()%>'></td>
                        <td width="1" height="32"><spacer type="block" width="1" height="32"></td>
                   </tr>
                   <tr height="32">
                        <td width="100" height="32" valign="top" align="left" xpos="16"><label><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="2"><b>Pays : </b></font></label></td>
                        <td width="188" height="32" colspan="2" valign="top" align="left" xpos="116"><select name="selCreateNsimalenFormPays" size="1">
    <option value="" ><b><font size="2" name="optCreateNsimalenFormPays"></font></b></option>
    <%
    //String cVide="";
    Vector nsimalenLst = new Vector();
    //strNomNsimalen=request.getParameter("txtSearchFormNom").trim();
    nsimalenLst = nsimalenBean.getAllPays();
    // Pour savoir la taille du vecteur
    if(nsimalenLst!=null && nsimalenLst.size()!=0)
    for(int i=0;i< nsimalenLst.size();i++)
    Hashtable myrecord = (Hashtable)nsimalenLst.elementAt(i);
    String monCodePays ="";
    String monLibelle="";
    monCodePays =(String)myrecord.get("NNAM_CODE");
    monLibelle =(String)myrecord.get("NNAM_LIBELLE");
    System.out.println("mon code pays= "+monCodePays+"i="+i+ " mon Libelle Pays="+monLibelle+"nsimalenLst.size() ="+nsimalenLst.size());
    %>
    <option value='<%=monCodePays%>' <%if(monCodePays.equals(monPaysNsimalen))
    out.print("selected");%> ><b><font name="optCreateNsimalenFormPays" size="2"><%=monCodePays%></font></b></option>
                             <%}
    %>
    </select></td>
                        <td width="1" height="32"><spacer type="block" width="1" height="32"></td>
                   </tr>
                   <tr height="16">
                        <td width="664" height="16" colspan="6" valign="top" align="left" xpos="16">
                             <hr width="644" size="2">
                        </td>
                        <td width="1" height="16"><spacer type="block" width="1" height="16"></td>
                   </tr>
                   <tr height="32">
                        <td width="100" height="32" valign="top" align="left" xpos="16"><label><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="2"><b>Type de toyer :</b></font></label></td>
                        <td width="32" height="32"></td>
                        <td width="156" height="32" valign="top" align="left" xpos="148"><select name="optCreateNsimalenFormTypeToyer" size="1" onChange="javascript:document.CreateNsimalenForm.submit();">
    <option value="" ><b><font size="2" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular"></font></b></option>
    <%
    //String cVide="";
    Vector toyerLst = new Vector();
    //strNomNsimalen=request.getParameter("txtSearchFormNom").trim();
    toyerLst = toyerBean.getAllTypeDeToyers();
    // Pour savoir la taille du vecteur
    if(toyerLst!=null && toyerLst.size()!=0)
    hashtableRegimeFiscalToyers = new Hashtable();
    for(int i=0;i< toyerLst.size();i++)
    Hashtable myrecord = (Hashtable)toyerLst.elementAt(i);
    String monTypeToyer ="";
    String monLibelleToyer="";
    monTypeToyer =(String)myrecord.get("TTOY_CODE");
    monLibelleToyer =(String)myrecord.get("TTOY_LIBELLE");
    // System.out.println("mon code pays= "+monTypeToyer+"i="+i+ " mon Libelle Pays="+monLibelleToyer+"nsimalenLst.size() ="+toyerLst.size());
    %>
    <option value=<%=monTypeToyer%> <%if(monTypeToyer.equals(monTypeDetoyerSelected))
    out.print("selected");%>><b><font size="2" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular"><%=monLibelleToyer%></font></b></option>
                             <%}
    }%>
    </select></td>
                        <td width="376" height="32" colspan="3"></td>
                        <td width="1" height="32"><spacer type="block" width="1" height="32"></td>
                   </tr>
                   <tr height="128">
                        <td width="288" height="128" colspan="3" valign="top" align="left" xpos="16">
                             <%if (!monTypeDetoyerSelected.equals(cVide))
    //String cVide="";
    Vector maTypeToyerDetailList = new Vector();
    //strNomNsimalen=request.getParameter("txtSearchFormNom").trim();
    maTypeToyerDetailList = toyerBean.getToyersDetailsSelected(monTypeDetoyerSelected);
    // Pour savoir la taille du vecteur
    if(maTypeToyerDetailList!=null && maTypeToyerDetailList.size()!=0)
    %>
    <table border="1" cellpadding="0" cellspacing="0" width="224" height="75">
              <tr height="19">
                                       <td height="19" width="20"></td>
                                       <td height="19" width="46"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="3"><b>Toyer</b></font></td>
                                       <td height="19" width="140"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="3"><b>Libell�</b></font></td>
                                  </tr>
    <%
    {  hashtableRegimeFiscalToyers= new Hashtable();
    System.out.println( " je passe dans le premier for");
    for(int i=0;i< maTypeToyerDetailList.size();i++)
    Hashtable myRecord = (Hashtable)maTypeToyerDetailList.elementAt(i);
    System.out.println( " je passe dans le premier for 1");
    String myCodeToyer ="";
    String myLibelleToyer="";
    String myTypeDeToyerCode="";
    myCodeToyer =(String)myRecord.get("TOY_CODE");
    myLibelleToyer =(String)myRecord.get("TOY_LIBELLE");
    // myTypeDeToyerCode=(String)myRecord.get("TTOY_CODE");
    System.out.println( " je passe dans le premier for 2");
    Hashtable hashToyerCaracteristique = new Hashtable();
    hashToyerCaracteristique.put("TOY_LIBELLE",myLibelleToyer);
    hashToyerCaracteristique.put("TTOY_CODE",monTypeDetoyerSelected);
    hashToyerCaracteristique.put("TTOY_LIBELLE",currentlibelleTypeDetoyer);
    hashtableRegimeFiscalToyers.put(myCodeToyer,hashToyerCaracteristique);
    System.out.println( " je passe dans le premier for 3");
    %>
                                  <tr height="19">
                                       <td height="19" width="20" align="center" valign="middle"><input type="radio" value='<%=myCodeToyer%>' name="radioCreateNsimalenFormCodeToyers"></td>
                                       <td height="19" width="46"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="2"><b><%=myCodeToyer%></b></font></td>
                                       <td width="140" height="19"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="2"><b><%=myLibelleToyer%></b></font></td>
                                  </tr>
    <%
    %>
    <%}%>
    </table>
                        </td>
    <% System.out.println( " je passe dans le premier for 4_1");
    if (hashtableToyerSelected==null)
    hashtableToyerSelected = new Hashtable();
    System.out.println( " je passe dans le premier for 4_2");
    if(hashtableToyerSelected!=null)
    System.out.println( " je passe dans le premier for 4_3");
    %>
    <td width="376" height="128" colspan="3" valign="top" align="left" xpos="304">
                             <table border="1" cellpadding="0" cellspacing="0" width="355" height="117">
                                  <tr height="38">
                                       <td height="38" width="32"></td>
                                       <td width="47" height="38"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="3"><b>Code</b></font></td>
                                       <td height="38" width="112"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="3"><b>Type de toyer</b></font></td>
                                       <td height="38" width="152"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="3"><b>valeur par d�faut</b></font></td>
                                  </tr>
    <%
    System.out.println( " je passe dans le premier for 3");
    if(!codeToyerSelectedToAdd.equals(cVide) && typeOperation.equals("add"))
    System.out.println( " je passe dans le premier for 3_a");
    Hashtable hashToyerCaracteristique = (Hashtable)hashtableRegimeFiscalToyers.get(codeToyerSelectedToAdd);
    hashtableToyerSelected.put(codeToyerSelectedToAdd,hashToyerCaracteristique);
    System.out.println( " je passe dans le premier for 3_a_fin");
    if(!codeToyerSelectedToRemove.equals(cVide) && typeOperation.equals("remove"))
    System.out.println( " je passe dans le premier for 3_a");
    System.out.println( "remove ");
    System.out.println(codeToyerSelectedToRemove);
    hashtableToyerSelected.remove(codeToyerSelectedToRemove);
    if (hashtableToyerSelected.size()!=0)
    for( Enumeration e=hashtableToyerSelected.keys();e.hasMoreElements();)
    System.out.println("je rentre dans la boucle");
    String codeToyer =(String)e.nextElement();
    Hashtable hashToyerCaracteristique = (Hashtable)hashtableToyerSelected.get(codeToyer);
    String libelleToyer =(String)hashToyerCaracteristique.get("TOY_LIBELLE");
    String libelleTypeToyer =(String)hashToyerCaracteristique.get("TTOY_LIBELLE");
    %>
    <tr height="19">
                                       <td height="19" width="32" align="center" valign="middle"><input type="checkbox" value="<%=codeToyer%>" name="radioCreateNsimalenFormCodeToyersRemove"></td>
                                       <td width="47" height="19"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="2"><b><%=codeToyer %></b></font></td>
                                       <td height="19" width="112"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="2"><b><%=libelleTypeToyer %></b></font></td>
                                       <td height="19" width="152"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="2"><b><%=libelleToyer %></b></font></td>
    </tr>
    <%
    /* if (!codeToyerSelected.equals(cVide) && hashtableToyerSelected==null)
    hashtableToyerSelected = new Hashtable();
    if(hashtableToyerSelected!=null)
    //insertion du code HTml pour afficher l'entete du tableau
    if(operationType.equals("ajout"))
    Hahstable toyersdetails = getToyersDetail(IdToyerSelected);
    hashtableToyerSelected.put( IdToyerSelected, toyersdetails);
    if(operationType.equals("remove"))
    hashtableToyerSelected.remove(IdToyerSelected);
    // avant d'afficher l'entete verifier qu'il ya des elements dans hashtableToyerSelected (
    // hashtableToyerSelected.size!=0
    //Affichage de la hashtable
    for( Enumeration e=hashtableToyerSelected.keys();e.hasMoreElements;)
    String IdToyers =(String)e.nextElement();
    Hashtable ToyersDetails = (Hashtable) hashtableToyerSelected.get(IdToyers);
    string defaultValue = (String)ToyersDetails.get(defaultValue);
    // on fait la mise en page apres avoir recuperer tous les caracteristiques
    %>
                   <!--     <td width="376" height="128" colspan="3" valign="top" align="left" xpos="304">
                             <table border="1" cellpadding="0" cellspacing="0" width="355" height="117">
                                  <tr height="38">
                                       <td height="38" width="32"></td>
                                       <td width="47" height="38"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="3"><b>Code</b></font></td>
                                       <td height="38" width="112"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="3"><b>Type de toyer</b></font></td>
                                       <td height="38" width="152"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="3"><b>valeur par d&eacute;faut</b></font></td>
                                  </tr>
                                  <tr height="19">
                                       <td height="19" width="32" align="center" valign="middle"><input type="checkbox" value="checkboxValue" name="checkboxName"></td>
                                       <td width="47" height="19"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="2"><b>J</b></font></td>
                                       <td height="19" width="112"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="2"><b>Sp&eacute;cifique</b></font></td>
                                       <td height="19" width="152"><b><font size="3" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="2">Nuit</font></b></td>
                                  </tr>
                                  <tr height="19">
                                       <td width="32" align="center" valign="middle" height="19"><input type="checkbox" value="checkboxValue" name="checkboxName"></td>
                                       <td width="47" height="19"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="2"><b>K</b></font></td>
                                       <td height="19" width="112"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="2"><b>Quantit&eacute;</b></font></td>
                                       <td height="19" width="152"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="2"><b>Kilo</b></font></td>
                                  </tr> -->
                             </table>
                        </td>
                        <td width="1" height="128"><spacer type="block" width="1" height="128"></td>
                   </tr>
                   <tr height="51">
                        <td width="100" height="51" valign="top" align="left" xpos="16"><label><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="2"><b>Add</b></font></label></td>
                        <td width="188" height="51" colspan="2"></td>
                        <td width="224" height="51" valign="top" align="left" xpos="304"><label><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="2"><b>Remove</b></font></label></td>
                        <td width="152" height="51" colspan="2"></td>
                        <td width="1" height="51"><spacer type="block" width="1" height="51"></td>
                   </tr>
                   <tr height="13">
                        <td width="664" height="13" colspan="6" valign="top" align="left" xpos="16">
                             <hr width="644" size="2">
                        </td>
                        <td width="1" height="13"><spacer type="block" width="1" height="13"></td>
                   </tr>
                   <tr height="39">
                        <td width="512" height="39" colspan="4"></td>
                        <td width="80" height="39" valign="top" align="left" xpos="528"><label><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="2"><b>Save</b></font></label></td>
                        <td width="72" height="39" valign="top" align="left" xpos="608"><label><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="2"><b>Fermer</b></font></label></td>
                        <td width="1" height="39"><spacer type="block" width="1" height="39"></td>
                   </tr>
                   <tr height="1" cntrlrow>
                        <td width="16" height="1"><spacer type="block" width="16" height="1"></td>
                        <td width="100" height="1"><spacer type="block" width="100" height="1"></td>
                        <td width="32" height="1"><spacer type="block" width="32" height="1"></td>
                        <td width="156" height="1"><spacer type="block" width="156" height="1"></td>
                        <td width="224" height="1"><spacer type="block" width="224" height="1"></td>
                        <td width="80" height="1"><spacer type="block" width="80" height="1"></td>
                        <td width="72" height="1"><spacer type="block" width="72" height="1"></td>
                        <td width="1" height="1"></td>
                   </tr>
              </table>
              <p></p>
    </form>
    </body>
    </html>

  • Help: How to add serial number data into Delivery Order document

    Dear Gurus,
    I am creating an interface program and I have problem in attaching the serial number data to the corresponding material code for a certain delivery order document in R/3 4.6C SP22 system.
    The serial number can be attached either during the creation of the Delivery Order itself or in the subsequent step after creating the Delivery Order (i.e.: create the D/O document first, and then update the D/O data).
    The BAPI_OUTB_DELIVERY_CONFIRM_DEC FM does not provide any input parameter to let me put the serial number in this R/3 version.
    By tracing in SE30 the standard program VL02N --> Menu --> Extras --> Serial Number --> Continue (Enter) --> Save (Ctrl+S), I found out that the serial attachment 'might' be done during sub-routine SERIAL_LISTE_POST_LS in program SAPLIPW1. It will in turn executes FM SERIAL_LISTE_POST_LS. The commit to database table will be done in update task by FM OBJK_POST_UPDATE_N and SERIAL_POST_UPDATE_LS.
    <b>My question:</b>
    ============
    1. Is FM SERNR_ADD_TO_LS can be used to attach the serial number to D/O?
    If yes, how to do it please because I already tried it I can not see the serial information in VL02N after that. There is no any insert or update to database in this function module. Should I call other FM after this? I want to try to call FM OBJK_POST_UPDATE_N and SERIAL_POST_UPDATE_LS but I do not know how I can retrieve the global object such as XOBJK_ALL that is necessary for the input parameter.
    2. If SERNR_ADD_TO_LS can not be used, what other FM can I use? Can I call SERIAL_LISTE_POST_LS instead? Is there any reliable way to generate the import parameter for this FM, such as XSER00, XSER01, XOBJK_ALL and XEQUI?
    Thank you in advanced for your kind assistance.
    Best Regards,
    Hiroshi

    Try something similar to this below...
    Afterwards you should do a call transaction to VL02N and immediately SAVE. This is sufficient to ensure the status on the serial numbers is updated correctly.
    FUNCTION z_mob_serialnr_update_ls.
    ""Local interface:
    *" IMPORTING
    *" VALUE(VBELN_I) LIKE LIKP-VBELN
    *" TABLES
    *" SERNO_TAB STRUCTURE RISERLS
    *" YSER00 STRUCTURE SER00 OPTIONAL
    *" YSER01 STRUCTURE RSERXX OPTIONAL
    *" YOBJK_ALL STRUCTURE RIPW0 OPTIONAL
    *" YEQUI STRUCTURE RIEQUI OPTIONAL
    *" YMASE STRUCTURE MASE OPTIONAL
    *" EXCEPTIONS
    *" NO_EQUIPMENT_FOUND
    The modified/confirmed table of serial numbers is supplied in
    SERNO_TAB.
    These are updated in the SAP tables
    YSER00 - General Header Table for Serial Number Management
    YSER01 - Document Header for Serial Numbers for Delivery
    YOBJK_ALL - Internal Table for Object List Editing/Serial Numbers
    YEQUI - Internal Structure for IEQUI
    local data
    DATA: BEGIN OF del_wa,
    vbeln LIKE likp-vbeln,
    posnr LIKE lips-posnr,
    matnr LIKE lips-matnr,
    lfimg LIKE lips-lfimg.
    DATA: END OF del_wa.
    DATA: del_tab LIKE del_wa OCCURS 0.
    DATA: _ct TYPE i.
    DATA: lastobknr LIKE objk-obknr.
    DATA: _debug.
    CLEAR: yser00, yser01, yobjk_all, yequi, ymase.
    REFRESH: yser00, yser01, yobjk_all, yequi, ymase.
    GET PARAMETER ID 'ZEDI_DEBUG' FIELD _debug.
    OBJECT KEYS
    read the delivery items with serial numbers to be processed
    SELECT * INTO CORRESPONDING FIELDS OF TABLE del_tab
    FROM lips
    WHERE vbeln = vbeln_i
    AND serail NE space.
    if nothing is relevant for serial numbers bailout
    DESCRIBE TABLE del_tab LINES _ct.
    IF _ct IS INITIAL.
    EXIT.
    ENDIF.
    ==== read the existing object keys for delivery items
    SELECT * INTO CORRESPONDING FIELDS OF TABLE yser01
    FROM ser01
    WHERE lief_nr = vbeln_i.
    IF sy-subrc = 0.
    yser01-dbknz = 'X'. "entry exists in db
    MODIFY yser01 TRANSPORTING dbknz WHERE dbknz = space.
    ENDIF.
    == check if there is a header entry for the delivery item
    LOOP AT del_tab INTO del_wa.
    READ TABLE yser01 WITH KEY lief_nr = del_wa-vbeln
    posnr = del_wa-posnr.
    IF sy-subrc NE 0.
    create one
    CALL FUNCTION 'OBJECTLIST_NUMBER'
    IMPORTING
    obknr = yser01-obknr.
    yser00-mandt = sy-mandt.
    yser00-obknr = yser01-obknr.
    APPEND yser00.
    SELECT SINGLE kunnr INTO (yser01-kunde)
    FROM likp
    WHERE vbeln = vbeln_i.
    yser01-mandt = sy-mandt.
    yser01-lief_nr = del_wa-vbeln.
    yser01-posnr = del_wa-posnr.
    yser01-vorgang = 'SDLS'.
    yser01-vbtyp = 'J'.
    yser01-bwart = '601'.
    yser01-dbknz = space. "not in db
    yser01-loknz = space. "do not delete
    APPEND yser01.
    ENDIF.
    ENDLOOP.
    check if any entries should be deleted
    LOOP AT yser01.
    READ TABLE serno_tab WITH KEY vbeln = yser01-lief_nr
    posnr = yser01-posnr.
    IF sy-subrc NE 0.
    yser01-loknz = 'X'. "mark for delete
    MODIFY yser01.
    ENDIF.
    ENDLOOP.
    collect all the object keys for the delivery item with s/n's
    LOOP AT yser01.
    READ TABLE serno_tab WITH KEY vbeln = yser01-lief_nr
    posnr = yser01-posnr.
    IF sy-subrc = 0.
    READ TABLE yser00 WITH KEY obknr = yser01-obknr.
    IF sy-subrc NE 0.
    yser00-mandt = yser01-mandt.
    yser00-obknr = yser01-obknr.
    APPEND yser00.
    ENDIF.
    ENDIF.
    ENDLOOP.
    IF NOT _debug IS INITIAL. BREAK-POINT. ENDIF.
    SERIAL NO OBJECTS
    ==== read the existing serial numbers from the database
    via object number into YOBJK_ALL
    LOOP AT yser00.
    SELECT * APPENDING CORRESPONDING FIELDS OF TABLE yobjk_all
    FROM objk
    WHERE obknr = yser00-obknr.
    ENDLOOP.
    yobjk_all-dbknz = 'X'.
    MODIFY yobjk_all TRANSPORTING dbknz WHERE dbknz = space.
    === add any new serial numbers
    LOOP AT serno_tab.
    READ TABLE yser01 WITH KEY lief_nr = serno_tab-vbeln
    posnr = serno_tab-posnr.
    READ TABLE yobjk_all WITH KEY sernr = serno_tab-sernr
    matnr = del_wa-matnr.
    IF sy-subrc NE 0.
    this is a new serial number
    yobjk_all-mandt = sy-mandt.
    yobjk_all-obknr = yser01-obknr.
    yobjk_all-obzae = 0.
    yobjk_all-equnr = yequi-equnr.
    yobjk_all-objvw = 'S'.
    yobjk_all-sernr = serno_tab-sernr.
    yobjk_all-matnr = del_wa-matnr.
    yobjk_all-datum = sy-datum.
    yobjk_all-taser = 'SER01'.
    yobjk_all-equpd = 'X'.
    yobjk_all-objnr = yequi-objnr.
    yobjk_all-dbknz = space.
    yobjk_all-loknz = space.
    APPEND yobjk_all.
    ENDIF.
    ENDLOOP.
    === mark any which are no longer confirmed as deleted
    LOOP AT yobjk_all.
    READ TABLE yser01 WITH KEY obknr = yobjk_all-obknr.
    READ TABLE serno_tab WITH KEY vbeln = yser01-lief_nr
    posnr = yser01-posnr
    sernr = yobjk_all-sernr.
    IF sy-subrc NE 0.
    yobjk_all-loknz = 'X'.
    MODIFY yobjk_all TRANSPORTING loknz.
    ENDIF.
    ENDLOOP.
    EQUIPMENT RECORDS
    == get the equipment records
    LOOP AT yobjk_all.
    SELECT SINGLE * INTO CORRESPONDING FIELDS OF yequi
    FROM equi
    WHERE sernr = yobjk_all-sernr
    AND matnr = yobjk_all-matnr.
    IF sy-subrc NE 0.
    CONTINUE.
    ENDIF.
    IF yobjk_all-dbknz = space AND
    yobjk_all-loknz = space.
    yequi-dbknz = 'X'.
    yequi-obknr = yobjk_all-obknr.
    yequi-j_vorgang = 'PMS3'. "add to delivery
    yequi-matnr_old = yequi-matnr.
    APPEND yequi.
    yobjk_all-equnr = yequi-equnr.
    MODIFY yobjk_all TRANSPORTING equnr.
    CONTINUE.
    ENDIF.
    IF yobjk_all-dbknz = 'X' AND
    yobjk_all-loknz = 'X'.
    yequi-dbknz = 'X'.
    yequi-j_vorgang = 'PMSA'. "delete from delivery
    yequi-matnr_old = yequi-matnr.
    APPEND yequi.
    CONTINUE.
    ENDIF.
    ENDLOOP.
    remove any Equipment records that do not need to be processed
    DELETE yequi WHERE j_vorgang IS initial.
    IF NOT _debug IS INITIAL. BREAK-POINT. ENDIF.
    fill the object counter
    LOOP AT del_tab INTO del_wa.
    READ TABLE yser01 WITH KEY lief_nr = del_wa-vbeln
    posnr = del_wa-posnr.
    DO del_wa-lfimg TIMES.
    READ TABLE yobjk_all WITH KEY obknr = yser01-obknr
    obzae = sy-index.
    IF sy-subrc NE 0.
    READ TABLE yobjk_all WITH KEY obknr = yser01-obknr
    obzae = 0.
    IF sy-subrc = 0.
    yobjk_all-obzae = sy-index.
    MODIFY yobjk_all INDEX sy-tabix TRANSPORTING obzae.
    ENDIF.
    ENDIF.
    ENDDO.
    ENDLOOP.
    IF NOT _debug IS INITIAL. BREAK-POINT. ENDIF.
    ===========================================
    update the delivery
    ===========================================
    CALL FUNCTION 'SERIAL_LISTE_POST_LS'
    TABLES
    xser00 = yser00
    xser01 = yser01
    xobjk_all = yobjk_all
    xequi = yequi
    xmase = ymase.
    TAB_CUOBJ =
    XSER03 =
    CALL FUNCTION 'STATUS_BUFFER_EXPORT_TO_MEMORY'
    EXPORTING
    i_memory_id = memid_status.
    COMMIT WORK AND WAIT.
    CALL FUNCTION 'Z_MOB_SERIALNR_REFRESH_LS'
    EXPORTING
    ctu = 'X'
    mode = 'N'
    UPDATE = 'L'
    GROUP =
    USER =
    KEEP =
    HOLDDATE =
    NODATA = '/'
    vbeln_i = vbeln_i.
    IMPORTING
    SUBRC =
    TABLES
    MESSTAB =
    ENDFUNCTION.
    FUNCTION z_mob_serialnr_refresh_ls.
    ""Local interface:
    *" IMPORTING
    *" VALUE(CTU) LIKE APQI-PUTACTIVE DEFAULT 'X'
    *" VALUE(MODE) LIKE APQI-PUTACTIVE DEFAULT 'N'
    *" VALUE(UPDATE) LIKE APQI-PUTACTIVE DEFAULT 'L'
    *" VALUE(GROUP) LIKE APQI-GROUPID OPTIONAL
    *" VALUE(USER) LIKE APQI-USERID OPTIONAL
    *" VALUE(KEEP) LIKE APQI-QERASE OPTIONAL
    *" VALUE(HOLDDATE) LIKE APQI-STARTDATE OPTIONAL
    *" VALUE(NODATA) LIKE APQI-PUTACTIVE DEFAULT '/'
    *" VALUE(VBELN_I) LIKE LIKP-VBELN
    *" EXPORTING
    *" VALUE(SUBRC) LIKE SYST-SUBRC
    *" TABLES
    *" MESSTAB STRUCTURE BDCMSGCOLL OPTIONAL
    DATA: vbeln_001 LIKE bdcdata-fval.
    vbeln_001 = vbeln_i.
    subrc = 0.
    PERFORM bdc_nodata USING nodata.
    PERFORM open_group USING group user keep holddate ctu.
    PERFORM bdc_dynpro USING 'SAPMV50A' '4004'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LIKP-VBELN'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    PERFORM bdc_field USING 'LIKP-VBELN'
    vbeln_001.
    PERFORM bdc_dynpro USING 'SAPMV50A' '1000'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=PSER_T'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LIPS-POSNR(01)'.
    PERFORM bdc_dynpro USING 'SAPLIPW1' '0200'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'RIPW0-SERNR(01)'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=RWS'.
    PERFORM bdc_dynpro USING 'SAPMV50A' '1000'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=SICH_T'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'LIPS-MATNR(02)'.
    PERFORM bdc_transaction TABLES messtab
    USING 'VL02N'
    ctu
    mode
    update.
    IF sy-subrc <> 0.
    subrc = sy-subrc.
    EXIT.
    ENDIF.
    PERFORM close_group USING ctu.
    ENDFUNCTION.
    INCLUDE bdcrecxy.

  • How to add a new data element for existing table filed(Primary key field)

    Hi Experts,
    How to add a new data element for existing table field(Primary key field)
    For this filed ther is no foreign key relation ships and even check table.
    while activating table it is giving message like below.
    can you help any one to solve this and wil steps to add new dataelement for existing primary key filed of a table.
    Check table (NAMING SPACE/TABLE NAME(EX:/TC/VENDOR)) (username/19.02.10/03:29)           
    Primary key change not permitted for value table /TC/VENDOR
    Check on table  /TC/VENDOR resulted in errors              
    Thanks
    Ravi

    Hi,
    Easiest way is to download the table eg into an Excel table (if possible) or text table. Drop the table from the database. Build your table with the new key field. Build the database table again and fill it.
    You can do it also over the database into a new table. Drop the old one. Build the enhanced one and fill it. Afterwards drop your (temporary) table.
    Maybe there are other ways, but this works.
    Success,
    Rob

  • I want to add image in column is it possible then how to add image in data base what data type we need to do

    I want to add image in column is it possible then how to add image in data base  what data type we need to give we required any casting  please show me one example
    jitendra

    Hi again,
    Several points that can help more:
    1. If you are working with Dot.Net, then I highly recommend read the first link that you got! This is nice and simple coding. Another option is this link which is even better in my opinion:
    http://www.dotnetgallery.com/kb/resource21-How-to-store-and-retrieve-images-from-SQL-server-database-using-aspnet.aspx
    2. As i mention above both link use the column's type image. There are several other option of working with Files. In most of my applications architecture I find that it is better to use a column which let us use any type of file and not an image column.
    In choosing the right column's type for your needs basically your fist question should be if if you want to store your data inside relational database environment or outside relational environment. It is a good idea to look for blogs on this issue. Next
    if you chose to store your data inside then you need to chose the right column type according to your server version. I highly recommend to look for blogs on the differences between those column's types: IMAGE, 
    Check those links:
    To BLOB or Not To BLOB: Large Object Storage in a Database or a Filesystem
    http://research.microsoft.com/apps/pubs/default.aspx?id=64525
    FILESTREAM feature of SQL Server 2008
    http://msdn.microsoft.com/library/hh461480
    FileTables feature of SQL Server 2012
    http://technet.microsoft.com/en-us/library/ff929144.aspx
    Compare Options for Storing Blobs (SQL Server)
    http://technet.microsoft.com/en-us/library/hh403405.aspx
    Binary Large Object (Blob) Data (SQL Server)
    http://technet.microsoft.com/en-us/library/bb895234.aspx
    Managing BLOBs using SQL Server FileStream via EF and WCF streaming
    * Very nice tutorial!
    http://petermeinl.wordpress.com/2012/02/20/managing-blobs-using-sql-server-filestream-via-ef-and-wcf-streaming/
    [Personal Site] [Blog] [Facebook]

  • How to add my own iview in Compliance Calibrator

    Hi Experts,
    can plaese tell me how to add my own iview in Compliance Calibrator 5.1.

    Anubha,
    If you are trying to add an iview or URL to Compliance Calibrator you have to login as an administrator go into the configuration tab, and go to Custom tabs toward the bottom of the left screen.  Here you can add custom URL links that will appear as tabs in Compliance Calibrator.
    Hope this helps
    Gabe

  • How to add our own applications to Cisco Connect Cloud?

    How to add our own applications to Cisco Connect Cloud?

    You might find this interesting.
    http://newsroom.cisco.com/press-release-content?type=webcontent&articleId=926074
    Interested developers are invited to visit the Linksys Developer Community at http://developer.cisco.com/web/ldc to register and develop apps for Linksys Smart Wi-Fi Routers. Cisco empowers developers with technical, marketing, and sales resources to help support every phase of their developmental and business cycles.

  • Help:  How to add a library item to hide the default Window menu

    Hi,
    In this post: Help: How to add a library item to hide the default Window menu, it described how to create an menu that will hide the default window menu.
    I'd like to know if there a way to put this component into library so that others can directly inherit this menu in other FORMS and how to implement it.
    Jimmy

    Hi,
    I found the solution and the post was not properly phrased. There is no need to add menu into library. All we need is to put the compiled menu into Oracle AS and add the menu name the menu module of the given form.
    Thanks.
    Jimmy

  • Plz help: how to Add a lens profile ? (mac)

    hello
    i am having problems with the lens profile.
    i am working with raw images and when i open in phoshop cs6 (on Mac) and click on lens correction
    cant detect what lens i m using (is the canon 16-35 mm) it just gives me option from other canon lens but not this one
    when i click search online - doesnt work as well.
    i even downloaded the Adobe lens profile downlaoder and find the profile for the lens and downloaded it but still doesnt apper in photoshop lens correcton.
    when i open the image in lens correction in the info box under the image gives all the correct info what camera and lenses are used !! but why there isnt any lenses avalable to select when tried to edit the image??
    please help how to Add a lens profile from Adobe lens profile downlaoder or how to add in anather way  canon lenses.
    thank you

    can anyone help please?

  • HT201270 i have just updated my old 3GS and now when i am on restore the window is comming up and asking for a password. i have not set up a password for restore, please help how i can restore my date???

    i have just updated my old 3GS and now when i am on restore the window is comming up and asking for a password. i have not set up a password for restore, please help how i can restore my date???

    capriz wrote:
    i have just updated my old 3GS ...
    To what... iOS 7 is Not supported on the 3 GS

  • How to add my own Layouts

    Hi
    Can anyone tell me where/how to add my own layouts so they
    are available in the New File dialogue?
    I'm on CS3 by the way. I'm sure I managed this way back in MX
    but just can't remember how.
    Many thanks
    Jon

    JonJackson wrote:
    > Can anyone tell me where/how to add my own layouts so
    they are available in
    > the New File dialogue?
    The 32 predefined CSS layouts in CS3 are stored in C:\Program
    Files\Adobe\Adobe Dreamweaver
    CS3\configuration\BuiltIn\Layouts.
    However, I have no idea how you list your own layouts in the
    New
    Document dialog box.
    David Powers
    Adobe Community Expert, Dreamweaver
    http://foundationphp.com

  • How to add my own tcode in easy access screen

    hi experts
    how to add my own tcode in easy access screen.
    thanks in addvance.

    Hi,
    I guess by adding your own transaction u mean maintaining your <b>Favourites</b>, this you can do by right clicking on the Favourites option and select the option <b>Insert Transaction</b>.This will solve the purpose...Hope it answered your question.Do award points if it does.
    Thanks.

  • How to add my own pdf into "Kobo Books"?

    Anyone knows how to add my own PDFs into "Kobo Books"?
    The "Adobe Reader" in playbook doesn't have bookmark function.

    Because the Adobe Reader pre-installed in Playbook doesn't have Bookmark function, while kobo has it.

  • How to add my own order of songs to my iphone

    How to add my own order of songs to my iphone

    Create a Playlist either from iTunes or your devices basing on your own preference of order.

  • How to load Matrix report data into basic table data using ODI

    Hi,
    How to load Matrix report data into basic table data using oracle Data Integrator ?
    Requirement Description:
    Following is the matrix report data:
    JOB                       DEPT10                DEPT20 
    ANALYST                                           6000
    CLERK                   1300                     1900 Need to convert it into below format:
    JOB                             Dept                        Salary
    ANALYST                  DEPT10     
    ANALYST                  DEPT20                     6000
    CLERK                       DEPT10                    1300
    CLERK                       DEPT20                    1900
        Thanks for your help in advance. Let me know if any further explanation is required.

    Your list seems to be a little restrictive, you can do a lot more with ODI procedures.
    If you create new procedure, and add a step. In the 'command on source' tab set you technology and schema as per your source database. Use the unpivot functionality as described in the link, please, rather than using 'SELECT *' use the appropriate column names and alias them for eg:
    SELECT job as job,
    deptsal as deptsal,
    saldesc as saledesc
    FROM pivoted_data
    UNPIVOT (
    deptsal --<-- unpivot_clause
    FOR saldesc --<-- unpivot_for_clause
    IN (d10_sal, d20_sal, d30_sal, d40_sal) --<-- unpivot_in_clause
    Then in your 'command on target' tab set the technology and schema to your target db, then put your INSERT statement for eg:
    INSERT INTO job_sales
    (job,
    deptsal,
    saledesc
    VALUES
    :job,
    :deptsal,
    :saledesc
    Therefore you are using bind variables from source to load data into target.
    Obviously if the source and target table are in the same database, then you can have it all in one statement in the 'command on target' as
    INSERT INTO job_sales
    (job,
    deptsal,
    saledesc
    SELECT job as job,
    deptsal as deptsal,
    saldesc as saledesc
    FROM pivoted_data
    UNPIVOT (
    deptsal --<-- unpivot_clause
    FOR saldesc --<-- unpivot_for_clause
    IN (d10_sal, d20_sal, d30_sal, d40_sal) --<-- unpivot_in_clause
    also set the log counter as 'Insert' on the tab where your INSERT statement is, so you know how many rows you insert into the table.
    Hope this helps.
    BUT remember that this feature only came out in Oracle 11g.

Maybe you are looking for

  • Error during link rdbms on suse:hidden symbol _fixunssf referenced by DSO

    I can't install Oracle 8.1.7 on SUse 9, encountering the following problem in make step : /usr/lib/gcc-lib/i586-suse-linux/3.3.1/../../../../i586-suse-linux/bin/ld: /opt/ oracle/ora817/rdbms/lib/oracle: hidden symbol `__fixunssfdi' in /usr/lib/gcc-li

  • Device malfunctioned

    When I plug my iPod Nano 3rd generation into my computer it says; "One of the USB devices attached to this computer has malfunctioned, and windows does not recognise it. Also the screen it black and restarting it doesn't work. When I turn on iTunes n

  • Newby: locking the table on a SELECT?

    I have just downloaded SQL developer and have been using it to look at the back end of my work database, but it seems just as I started browsing through tables (by clicking on them in the tree explorer) people started getting kicked out of their fron

  • Decimal conversion in abap

    hi, i have been trying to do this. 'Let the user populate field with a value with 2 decimals but make always the conversion for the record If a currency is managed with 3 decimals, apply rule of around with the top or with the lower. For example, 11.

  • Adode Reader XI

    I have just installed Adobe Reader XI and when I tried to run it I get a box that says it can not open in protected mode due to incompability with your system. What do I do to correct this problem? Also when i start my laptop I get an error message t