Who fills my Data file

Hello all, I have a general Question: How can I find out, who fills up a Data file? I've several identical databases (7.4.3/AIX) in different locations; In one location the TRANSFER.dta grows up very fast. The datafile grows in April up to 2GB - Problems (AIX allows a max size from 2GB), so I altered a second File - TRANSFER_2.dta. But now - 4 month later - the file is grown up to 1,9GB.
In the other locations the files have between 300MB and 800MB. The stuff produce the same, have the same way to work with the database and works with the same Application.
Now I want to know where the reason is. The extents are 17 - not so much i think.
Did you have any Ideas?
Thanks a lot

First of all, people don't fill up datafiles. They insert records into tables which are assigned to tablespaces which write to datafiles. So what you actually need to do is find out which table on the tablespace using these files is growing so fast. A query like this might help...
select s.segment_name, s.segment_type, sum(s.bytes) total_bytes_for_table
from dba_segments s
where s.tablespace_name in ( select f.tablespace_name
                             from dba_data_files f
                             where f.file_name = '&filename')
group by s.segment_name, s.segment_type
order by 3 DESC
/In an ideal world there will a single table or index that will be way bigger than anything else and that's your culprit.
The "why" bit can only be answered then. A likely cause would be some logging activity that is enabled in one database but not the other and which people have forgotten to housekeep.
Cheers, APC

Similar Messages

  • I have an application on PXI 8146RT who save several data files in the comppact flash mémory. I am looking for the best solution to transfert thoses files to a host PC without stop my application. Can you help me?

    My application is not an RT application

    Your PXI-8146RT runs an FTP server, which could be leveraged to transfer files to a host PC while your application continues to run.
    There is an FTP client in MAX and several available for free on the internet. Alternately you can open a web browser such as Internet Explorer and type ftp://www.xxx.yyy.zzz to access the PXI's file system. Then just copy/paste the files you want.

  • Filling PDF Form with XML data file

    Hello everybody.
    I need help.
    I created a form with LiveCycle Designer. I filled it and generated a XML data files. Now, I would like to fill the same blank PDF form with this XML data file.
    I know that I can do it with Adobe 8.0 but I must do it in an C# / .NET application that I have to create.
    (Forms I'm creating are not for me, I create the forms. Client uses them form but he don't have Adobe Acrobat 8.0, so he can't realise the automatic PDF filling with Adobe Acrobat 8.0)
    So I am looking for help with ".NET" "COM" or other library to help me to do it. If someone has other idea just give it.
    Thanks for your reply
    Jean Pierre (sorry for my bad English)

    Hello Mike
    Thank's for your reply. I used XPAAJ and it works very well but my company his develloping software with C# langage.
    I tried to convert XPPAJ to C#, I did it with the Java Langage Conversion Assistant but "Adobe Library" included in jar files cannot be translated to C#/.NET library. So, I can't use it.
    I found some C#/.NET API on the NET but they are very expensive and my company don't want to pay. They want me to create my own solution with library given by Adobe when you buy Adobe 8. So I am looking for this library.
    Is there an Adobe LiveCycle Designer SDK to help me.
    Thank you in advance for your reply
    Jean Pierre (student developing with LiveCycle Designer)

  • Who owns "dat" files? or how can I get my OS to keep its house tidy?

    I had a problem with Mozilla Firefox suddenly not displaying video content: swf, quicktime, wmv, you name it. Safari did not have a problem. I spent several months as OS tweaks and updates to MozFire and QT arrived - I did repair permissions, I did repair disc, fsck -fy everything I could think of; yet the problem still persisted. I am currently using 10.4.11, and MozFire 2.0.0.11. I researched the problem on the Apple forum and the Mozfire forums and I was unable find any thing that worked. Then one groggy night I happened to notice that the "pluginreg.dat" file (located at userme>Library>Application Support>Firefox>pluginreg.dat) was "assigned" by the OS to an application of the Windows flavor. First it was a CanonVideo software until I deleted it, then the file took on the guise of a VLC.app file. It is supposed to be a document, and not belong to any app (i think). I opened get info and assigned the file to TextEdit which does do documents and VOILA! upon restart MozFire loaded the video files!!!!! hurrah. however, I still have a question why are these dat and inf and other windows type of files being assigned to applications? I thought they were "app less" files or system files. Is there some way to stop this? For example when I mount a flashmemory stick disc the FINDER.DAT file and the FILEID.DAT on the Wintel formated stick show up with VLC.app logos and are assigned to VLC which will try to open and read the file if I happen to double click it. I hope that there is another solution besides a reinstall of the OS!!!!!. WHat on earth could be causing this problem?
    thanks for any help
    v

    From a google search: +DAT files are data files, usually comma delimited, that contain data in ASCII format. These files are able to be open in a variety of programs including Microsoft Word and Microsoft Notepad.+
    Sounds like your LaunchServices database is fouled up. See these for steps on resetting it:
    http://www.thexlab.com/faqs/resetlaunchservices.html
    http://www.macosxhints.com/article.php?story=20031215144430486

  • Merging randomly-named XML data file on client-side with pdf designed in Livecycle 7.0 (and addition

    Okay, as a heads up I work for a financial institution and we are converting our legacy "jetforms" to pdf format. I have in my staff for the project, 2 code developers and myself- a form designer. We have currently spent 2 months in trial and error attempting to resolve this problem, please let us know anything you can have. All client-side (internal) machines are running Windows XP and Adobe Reader 7.0.7
    The software we use as a financial institution allows our users to export a customer's data file onto their machine which is then renamed to include the member's account number and first and last name for our staff to determine which data file they need more accurately. In legacy jetforms, we have developed a program that pushes the data from the customers file that they select, into the jetform that they want to open and the matching fields in the data file fill in the fields of the jetform. Clean and simple.
    Now, i have hit nothing but frustration when attempting to perform the same process with pdfs using a form designed in livecycle designer 7. First, i see no obvious command for opening a pdf and importing a data file using a command line, like pdfmerge or something of the sort in which an xml data file can be specified and a pdf can be specified. I saw something like it using an fdf format and attempted to do this but apparently reader cannot import the data into the pdf that was designed adobe livecycle 7. All i have been seeing is database connections and using javascript inside the form to populate fields based on these database connections, etc. etc. or doing a manual file>import data>etc. which we don't want to have our staff do. We do not have reader extensions enabled, simply because i cannot get an adobe representative to call me and discuss pricing nor see any estimated pricing chart around. I don't know if reader extensions are necessary for this or not but i'm becoming very very frustrated with it.
    We don't want a complex server-side data connection binding with dynamic input. No, we just want it where our developers can say "if this data file is selected, and this pdf form is selected run this command" which would be a simple pdfmerge type solution. Is this possible or do i need to stay with jetforms until our software the billion dollar financial institution uses does form building inside its own application? I don't want to fight about who is better, what version to use, etc. I just want the straight up honest truth. If you need to know the pricing that the reader extensions would have to go by, assume there will be 500 client computers that will need to use it.

    From your post it sounds like you are Central Pro (a product for which I am by no means an expert), but you say you want to upgrade to a newer product from your "legacy" one. Is there a reason for this? Have your requirements change so that it no longer fits them? Central is still in the current Adobe roster and as far as I know there is no plans to get rid of it any time soon, so if it does everything you want I don't see why you would want to change.
    There is no product in the LiveCycle suite that merges xml data into a form from the command line. LiveCycle (with the exception of Designer) is a suite of server products, so the closest you would come is LiveCycle Forms (merge the xml and create a fillable PDF) or LiveCycle Print (merge the xml and print the form).
    Hope this helps somewhat.
    Chris
    Adobe Enterprise Developer Support

  • Fixed format data file output

    Does anyone know how to generate fixed format text file? I have few fields in the select which are null and hence messes up the file format, as space does not take up same amount of character width than any alphabets.
    Basically I want to generate fixed length data file which is scheduled through DBMS_JOBS. I am using UTL_FILE utility.
    Every suggestion are welcome
    Thanks in advance for help :)
    email your response at [email protected]

    hello,
    using spaces as filler is sufficient. a space takes up the same room (one character) as any other letter in the alphabet.
    if you look at the output in any word-processing tool or editor, that uses fonts like times, helvetica, arial, etc. those fonts are rendering the space-character smaller. in fact they are rendering each letter different. if you want to see what your output looks like, choose a font like courier.
    if you just generate the file and then process it further, you should be OK. don't let you be fooled by what you see in your editor.
    regards,
    philipp

  • Problem with ArrayLists and writing and reading from a .dat file (I think)

    I'm brand new to this forum, but I'm sure hoping someone can help me with a problem I'm having with ArrayLists. This program was originally created with an array of objects that were displayed on a GUI with jtextFields, then cycling thru them via jButtons: First, Next, Previous, Last. Now I need to add the ability to modify, delete and add records. Both iterations of this program needed to write to and read from a .dat file.
    It worked just like it was suppose to when I used just the array, but now I need to use a "dynamic array" that will grow or shrink as needed: i.e. an ArrayList.
    When I aded the ArrayList I had the ArrayList use toArray() to fill my original array so I could continue to use all the methods I'd created for using with my array. Now I'm getting a nullPointerException every time I try to run my program, which means somewhere I'm NOT filling my array ???? But, I'm writing just fine to my .dat file, which is confusing me to no end!
    It's a long program, and I apologize for the length, but here it is. There are also 2 class files, a parent and 1 child below Inventory6. This was written in NetBeans IDE 5.5.1.
    Thank you in advance for any help anyone can give me!
    LabyBC
    package my.Inventory6;
    import java.awt.Container;
    import java.awt.Dimension;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.Insets;
    import java.awt.Toolkit;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.text.DecimalFormat;
    import javax.swing.JOptionPane;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JTextField;
    import java.io.*;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.lang.IllegalStateException;
    import java.util.NoSuchElementException;
    import java.util.ArrayList;
    import java.text.NumberFormat;
    // Class Inventory6
    public class Inventory6 extends javax.swing.JFrame {
    private static InventoryPlusColor[] inventory;
    private static ArrayList inList;
    // create a tool that insure the specified format for a double number, when displayed
    private DecimalFormat doubleFormat = new DecimalFormat( "0.00" );
    private DecimalFormat singleFormat = new DecimalFormat( "0");
    // the index within the array of products of the current displayed product
    private int currentProductIndex;
    /** Creates new form Inventory6 */
    public Inventory6() {
    initComponents();
    currentProductIndex = 0;
    } // end Inventory6()
    private static InventoryPlusColor[] getInventory() {
    ArrayList<InventoryPlusColor> inList = new ArrayList<InventoryPlusColor>();
    inList.add(new InventoryPlusColor(1, "Couch", 3, 1250.00, "Blue"));
    inList.add(new InventoryPlusColor(2, "Recliner", 10, 525.00, "Green"));
    inList.add(new InventoryPlusColor(3, "Chair", 6, 125.00, "Mahogany"));
    inList.add(new InventoryPlusColor(4, "Pedestal Table", 2, 4598.00, "Oak"));
    inList.add(new InventoryPlusColor(5, "Sleeper Sofa", 4, 850.00, "Yellow"));
    inList.add(new InventoryPlusColor(6, "Rocking Chair", 2, 459.00, "Tweed"));
    inList.add(new InventoryPlusColor(7, "Couch", 4, 990.00, "Red"));
    inList.add(new InventoryPlusColor(8, "Chair", 12, 54.00, "Pine"));
    inList.add(new InventoryPlusColor(9, "Ottoman", 3, 110.00, "Black"));
    inList.add(new InventoryPlusColor(10, "Chest of Drawers", 5, 598.00, "White"));
    for (int j = 0; j < inList.size(); j++)
    System.out.println(inList);
    InventoryPlusColor[] inventory = (InventoryPlusColor[]) inList.toArray
    (new InventoryPlusColor[inList.size()]);
    return inventory;
    } // end getInventory() method
    /** 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.
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">
    private void initComponents() {
    jPanel1 = new javax.swing.JPanel();
    IDNumberLbl = new javax.swing.JLabel();
    IDNumberField = new javax.swing.JTextField();
    prodNameLbl = new javax.swing.JLabel();
    prodNameField = new javax.swing.JTextField();
    colorLbl = new javax.swing.JLabel();
    colorField = new javax.swing.JTextField();
    unitsInStockLbl = new javax.swing.JLabel();
    unitsInStockField = new javax.swing.JTextField();
    unitPriceLbl = new javax.swing.JLabel();
    unitPriceField = new javax.swing.JTextField();
    invenValueLbl = new javax.swing.JLabel();
    invenValueField = new javax.swing.JTextField();
    restockingFeeLbl = new javax.swing.JLabel();
    restockingFeeField = new javax.swing.JTextField();
    jbtFirst = new javax.swing.JButton();
    jbtNext = new javax.swing.JButton();
    jbtPrevious = new javax.swing.JButton();
    jbtLast = new javax.swing.JButton();
    jbtAdd = new javax.swing.JButton();
    jbtDelete = new javax.swing.JButton();
    jbtModify = new javax.swing.JButton();
    jbtSave = new javax.swing.JButton();
    jPanel2 = new javax.swing.JPanel();
    searchIDNumLbl = new javax.swing.JLabel();
    searchIDNumbField = new javax.swing.JTextField();
    jbtSearch = new javax.swing.JButton();
    searchResults = new javax.swing.JLabel();
    jbtExit = new javax.swing.JButton();
    jbtExitwoSave = new javax.swing.JButton();
    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "Inventory Program"));
    IDNumberLbl.setText("ID Number");
    IDNumberField.setEditable(false);
    prodNameLbl.setText("Product Name");
    prodNameField.setEditable(false);
    colorLbl.setText("Product Color");
    colorField.setEditable(false);
    colorField.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    colorFieldActionPerformed(evt);
    unitsInStockLbl.setText("Units In Stock");
    unitsInStockField.setEditable(false);
    unitPriceLbl.setText("Unit Price $");
    unitPriceField.setEditable(false);
    invenValueLbl.setText("Inventory Value $");
    invenValueField.setEditable(false);
    restockingFeeLbl.setText("5% Restocking Fee $");
    restockingFeeField.setEditable(false);
    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
    jPanel1.setLayout(jPanel1Layout);
    jPanel1Layout.setHorizontalGroup(
    jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(jPanel1Layout.createSequentialGroup()
    .addContainerGap()
    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
    .addComponent(unitPriceLbl)
    .addComponent(unitsInStockLbl)
    .addComponent(colorLbl)
    .addComponent(prodNameLbl)
    .addComponent(IDNumberLbl)
    .addComponent(restockingFeeLbl)
    .addComponent(invenValueLbl))
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
    .addComponent(IDNumberField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
    .addComponent(prodNameField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
    .addComponent(colorField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
    .addComponent(unitsInStockField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
    .addComponent(unitPriceField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
    .addComponent(restockingFeeField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
    .addComponent(invenValueField, javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE))
    .addContainerGap())
    jPanel1Layout.setVerticalGroup(
    jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(jPanel1Layout.createSequentialGroup()
    .addContainerGap()
    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    .addComponent(IDNumberLbl)
    .addComponent(IDNumberField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    .addComponent(prodNameLbl)
    .addComponent(prodNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    .addComponent(colorField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(colorLbl))
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    .addComponent(unitsInStockField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(unitsInStockLbl))
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    .addComponent(unitPriceField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(unitPriceLbl))
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    .addComponent(restockingFeeField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(restockingFeeLbl))
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 10, Short.MAX_VALUE)
    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    .addComponent(invenValueField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(invenValueLbl))
    .addContainerGap())
    jbtFirst.setText("First");
    jbtFirst.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    jbtFirstActionPerformed(evt);
    jbtNext.setText("Next");
    jbtNext.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    jbtNextActionPerformed(evt);
    jbtPrevious.setText("Previous");
    jbtPrevious.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    jbtPreviousActionPerformed(evt);
    jbtLast.setText("Last");
    jbtLast.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    jbtLastActionPerformed(evt);
    jbtAdd.setText("Add");
    jbtAdd.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    jbtAddActionPerformed(evt);
    jbtDelete.setText("Delete");
    jbtModify.setText("Modify");
    jbtModify.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    jbtModifyActionPerformed(evt);
    jbtSave.setText("Save");
    jbtSave.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    jbtSaveActionPerformed(evt);
    jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "Search by:"));
    searchIDNumLbl.setText("Item Number:");
    jbtSearch.setText("Search");
    searchResults.setFont(new java.awt.Font("Tahoma", 1, 12));
    javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
    jPanel2.setLayout(jPanel2Layout);
    jPanel2Layout.setHorizontalGroup(
    jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(jPanel2Layout.createSequentialGroup()
    .addContainerGap()
    .addComponent(searchIDNumLbl)
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(jPanel2Layout.createSequentialGroup()
    .addGap(259, 259, 259)
    .addComponent(searchResults, javax.swing.GroupLayout.PREFERRED_SIZE, 213, javax.swing.GroupLayout.PREFERRED_SIZE))
    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
    .addComponent(jbtSearch, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(searchIDNumbField, javax.swing.GroupLayout.PREFERRED_SIZE, 143, javax.swing.GroupLayout.PREFERRED_SIZE)))
    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    jPanel2Layout.setVerticalGroup(
    jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(jPanel2Layout.createSequentialGroup()
    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    .addComponent(searchIDNumLbl)
    .addComponent(searchIDNumbField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(jPanel2Layout.createSequentialGroup()
    .addGap(32, 32, 32)
    .addComponent(searchResults, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE))
    .addGroup(jPanel2Layout.createSequentialGroup()
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addComponent(jbtSearch)))
    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    jbtExit.setText("Save and Exit");
    jbtExit.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    jbtExitActionPerformed(evt);
    jbtExitwoSave.setText("Exit");
    jbtExitwoSave.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    jbtExitwoSaveActionPerformed(evt);
    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addContainerGap()
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 248, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 44, Short.MAX_VALUE)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
    .addComponent(jbtExitwoSave, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    .addComponent(jbtExit)))
    .addGroup(layout.createSequentialGroup()
    .addComponent(jbtFirst)
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addComponent(jbtNext)
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addComponent(jbtPrevious)
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addComponent(jbtLast))
    .addGroup(layout.createSequentialGroup()
    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    .addGap(12, 12, 12)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
    .addComponent(jbtAdd)
    .addComponent(jbtDelete)
    .addComponent(jbtModify)
    .addComponent(jbtSave))))
    .addContainerGap())
    layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jbtFirst, jbtLast, jbtNext, jbtPrevious});
    layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jbtAdd, jbtDelete, jbtModify, jbtSave});
    layout.setVerticalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGroup(layout.createSequentialGroup()
    .addGap(21, 21, 21)
    .addComponent(jbtAdd)
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addComponent(jbtDelete)
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addComponent(jbtModify)
    .addGap(39, 39, 39)
    .addComponent(jbtSave))
    .addGroup(layout.createSequentialGroup()
    .addContainerGap()
    .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    .addComponent(jbtFirst)
    .addComponent(jbtNext)
    .addComponent(jbtPrevious)
    .addComponent(jbtLast))
    .addGap(15, 15, 15)
    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
    .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addGroup(layout.createSequentialGroup()
    .addComponent(jbtExit)
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addComponent(jbtExitwoSave)))
    .addContainerGap())
    pack();
    }// </editor-fold>
    private void jbtExitwoSaveActionPerformed(java.awt.event.ActionEvent evt) {                                             
    System.exit(0);
    private void jbtSaveActionPerformed(java.awt.event.ActionEvent evt) {                                       
    String prodNameMod, colorMod;
    double unitsInStockMod, unitPriceMod;
    int idNumMod;
    idNumMod = Integer.parseInt(IDNumberField.getText());
    prodNameMod = prodNameField.getText();
    unitsInStockMod = Double.parseDouble(unitsInStockField.getText());
    unitPriceMod = Double.parseDouble(unitPriceField.getText());
    colorMod = colorField.getText();
    if(currentProductIndex == inventory.length) {
    inList.add(new InventoryPlusColor(idNumMod, prodNameMod,
    unitsInStockMod, unitPriceMod, colorMod));
    InventoryPlusColor[] inventory = (InventoryPlusColor[]) inList.toArray
    (new InventoryPlusColor[inList.size()]);
    } else {
    inventory[currentProductIndex].setIDNumber(idNumMod);
    inventory[currentProductIndex].setProdName(prodNameMod);
    inventory[currentProductIndex].setUnitsInStock(unitsInStockMod);
    inventory[currentProductIndex].setUnitPrice(unitPriceMod);
    inventory[currentProductIndex].setColor(colorMod);
    displayProduct(inventory[currentProductIndex]);
    private static void writeInventory(InventoryPlusColor i,
    DataOutputStream out) {
    try {
    out.writeInt(i.getIDNumber());
    out.writeUTF(i.getProdName());
    out.writeDouble(i.getUnitsInStock());
    out.writeDouble(i.getUnitPrice());
    out.writeUTF(i.getColor());
    } catch (IOException e) {
    JOptionPane.showMessageDialog(null, "I/O Exception writing data",
    "", JOptionPane.ERROR_MESSAGE);
    System.exit(0);
    } //end writeInventory()
    private static DataOutputStream openOutputStream(String name) {
    DataOutputStream out = null;
    try {
    File file = new File(name);
    out =
    new DataOutputStream(
    new BufferedOutputStream(
    new FileOutputStream(file)));
    } catch (IOException e) {
    JOptionPane.showMessageDialog(null, "I/O Error", "", JOptionPane.ERROR_MESSAGE);
    System.exit(0);
    return out;
    } // end openOutputStream()
    private static void closeFile(DataOutputStream out) {
    try {
    out.close();
    } catch (IOException e) {
    JOptionPane.showMessageDialog(null, "I/O Exception closing file",
    "", JOptionPane.ERROR_MESSAGE);
    System.exit(0);
    } // end closeFile()
    private static DataInputStream getStream(String name) {
    DataInputStream in = null;
    try {
    File file = new File(name);
    in = new DataInputStream(
    new BufferedInputStream(
    new FileInputStream(file)));
    } catch (FileNotFoundException e) {
    JOptionPane.showMessageDialog(null, "The file doesn't exist",
    "", JOptionPane.ERROR_MESSAGE);
    System.exit(0);
    } catch (IOException e) {
    JOptionPane.showMessageDialog(null, "I/O Error creating file",
    "", JOptionPane.ERROR_MESSAGE);
    System.exit(0);
    return in;
    private static void closeInputFile(DataInputStream in) {
    try {
    in.close();
    } catch (IOException e) {
    JOptionPane.showMessageDialog(null, "I/O Exception closing file",
    "", JOptionPane.ERROR_MESSAGE);
    System.exit(0);
    } // end closeInputFile()
    private double entireInventory() {
    // a temporary double variable that the method will return ...
    // after each product's inventory is added to it
    double entireInventory = 0;
    // loop to control number of products
    for (int index = 0; index < inventory.length; index++) {
    // add each inventory to the entire inventory
    entireInventory += inventory[index].setInventoryValue();
    } // end loop to control number of products
    return entireInventory;
    } // end method entireInventory
    private void jbtLastActionPerformed(java.awt.event.ActionEvent evt) {                                       
    currentProductIndex = inventory.length-1; // move to the last product
    // display the information for the last product
    displayProduct(inventory[currentProductIndex]);
    private void jbtPreviousActionPerformed(java.awt.event.ActionEvent evt) {                                           
    if (currentProductIndex != 0) // it's not the first product displayed
    currentProductIndex -- ; // move to the previous product (decrement the current index)
    } else // the first product is displayed
    currentProductIndex = inventory.length-1; // move to the last product
    // after the current product index is set, display the information for that product
    displayProduct(inventory[currentProductIndex]);
    private void jbtNextActionPerformed(java.awt.event.ActionEvent evt) {                                       
    if (currentProductIndex != inventory.length-1) // it's not the last product displayed
    currentProductIndex ++ ; // move to the next product (increment the current index)
    } else // the last product is displayed
    currentProductIndex = 0; // move to the first product
    // after the current product index is set, display the information for that product
    displayProduct(inventory[currentProductIndex]);
    private void jbtFirstActionPerformed(java.awt.event.ActionEvent evt) {                                        
    currentProductIndex = 0;
    // display the information for the first product
    displayProduct(inventory[currentProductIndex]);
    private void colorFieldActionPerformed(java.awt.event.ActionEvent evt) {                                          
    // TODO add your handling code here:
    private void jbtModifyActionPerformed(java.awt.event.ActionEvent evt) {                                         
    prodNameField.setEditable(true);
    prodNameField.setFocusable(true);
    unitsInStockField.setEditable(true);
    unitPriceField.setEditable(true);
    private void jbtAddActionPerformed(java.awt.event.ActionEvent evt) {                                      
    IDNumberField.setText("");
    IDNumberField.setEditable(true);
    prodNameField.setText("");
    prodNameField.setEditable(true);
    colorField.setText("");
    colorField.setEditable(true);
    unitsInStockField.setText("");
    unitsInStockField.setEditable(true);
    unitPriceField.setText("");
    unitPriceField.setEditable(true);
    restockingFeeField.setText("");
    invenValueField.setText("");
    currentProductIndex = inventory.length;
    private void jbtExitActionPerformed(java.awt.event.ActionEvent evt) {                                       
    DataOutputStream out = openOutputStream("inventory.dat");
    for (InventoryPlusColor i : inventory)
    writeInventory(i, out);
    closeFile(out);
    System.exit(0);
    private static InventoryPlusColor readProduct(DataInputStream in) {
    int idNum = 0;
    String prodName = "";
    double inStock = 0.0;
    double pric

    BalusC -- The line that gives me my NullPointerException is when I call the "DisplayProduct()" method. Its a dumb question, but with NetBeans how do I find out which reference could be null? I'm not very familiar with how NetBeans works with finding out how to debug. Any help you can give me would be greatly appreciated.The IDE is com-plete-ly irrelevant. It's all about the source code.
    Do you understand anyway when and why a NullPointerException is been thrown? It is a subclass of RuntimeException and those kind of exceptions are very trival and generally indicate an design/logic/thinking fault in your code.
    SomeObject someObject = null; // The someObject reference is null.
    someObject.doSomething(); // Invoking a reference which is null would throw NPE.

  • SAP data files

    Hi
    My SAP version is ECC 5.0 with oracle 9.2.0.7 on SOLARIS 10.
    My current DB size is 300GB where i have 23 data files on my oracle/<SID>/sapdata1...4
    I have implemented MM,FICO,PP,QM modules.My monthly DB growth rate is 30-35 GB.
    My Questions
    01.Is this growing rate is acceptable.If not how can i find the error.
    02.PSAP<SID> table space is the place where my data is written.I have to keep on monitoring the space on this table space and i have to manually extend that once it is filled.Why do i need to do this whwre i have enable "AUTOEXTEND ON" and why it is not automatically extend.
    03.Table reqorganization/Index Rebuilding  is not giving me any gain and why?
    Pls give me your feed back.
    With the current growing rate i can go for another 1.5 yrs but after that what should i do..
    Roshantha

    Hi,
    Including the brtools,
    >> we are using Oracle 10g on RHEL5.4 64Bit i want to move all my sap data files along with Temp are there any specific notes that i need to follow apart form 868750 and there is no mention of Temp file in this note.
    You can move all the datafiles including TEMP tablespace, by the statement, below;
    ALTER DATABASE RENAME FILE '<old_full_path>' TO '<new_full_path>';
    >> Apart from this i want to know what changes need to be done in the control file for the information of the new file system,so that the database can be started using changed control file having information of the renamed and moved file system.
    You will not change anything on control files, manually. It will be updated after you executed the statement, respectfully
    >> Are there any oracle parameters or profile parameters that needs to be changed and how much downtime is required.
    No you don't need to change any database profile parameter after you move the datafile(s). If you prepare a script and execute it, it will be done in a few seconds. This is because only configuration will be updated. The datafiles will not be created from the scratch.
    Best regards,
    Orkun Gedik

  • How to read the data file and write into the same file without a temp table

    Hi,
    I have a requirement as below:
    We are running lockbox process for several business, but for a few businesses we have requirement where in we receive a flat file in different format other than how the transmission format is defined.
    This is a 10.7 to 11.10 migration. In 10.7 the users are using a custom table into which they are first loading the raw data and writing a pl/sql validation on that and loading it into a new flat file and then running the lockbox process.
    But in 11.10 we want to restrict using temp table how can we achieve this.
    Can we read the file first and then do validations accordingly and then write to the same file and process the lockbox.
    Any inputs are highly appreciated.
    Thanks & Regards,
    Lakshmi Kalyan Vara Prasad.

    Hello Gurus,
    Let me tell you about my requirement clearly with an example.
    Problem:
    i am receiving a dat file from bank in below format
    105A371273020563007 07030415509174REF3178503 001367423860020015E129045
    in this detail 1 record starting from 38th character to next 15 characters is merchant reference number
    REF3178503 --- REF denotes it as Sales Order
    ACC denotes it as Customer No
    INV denotes it as Transaction Number
    based on this 15 characters......my validation comes.
    If i see REF i need to pick that complete record and then fill that record with the SO details as per my system and then submit the file for lockbox processing.
    In 10.7 they created a temporary table into which they are loading the data using a control file....once the data is loaded into the temporary table then they are doing a validation and updating the record exactly as required and then creating one another file and then submitting the file for lockbox processing.
    Where as in 11.10 they want to bypass these temporary tables and writing it into a different file.
    Can this be handled by writing a pl/sql procedure ??
    My findings:
    May be i am wrong.......but i think .......if we first get the data into ar_payments_interface_all table and then do the validations and then complete the lockbox process may help.
    Any suggestions from Oracle GURUS is highly appreciated.
    Thanks & Regards,
    Lakshmi Kalyan Vara Prasad.

  • Hi all,  need data file and co file after single transport in 6.4 or 6.7

    hi all
    following is the requirement
    To process/compile the attached programs (given below) in 6.4/7 Kernel (SAP 6.4 version  or 6.7 version )and send a single transport (Data File and Co File).
    these data file and co file are flat files.
    CAN ANYONE HELP ME GETTING THESE FLAT FILES.   I need these flat files urgently.
    WHAT U HAVE TO DO IS:
    IF U HAVE 6.4 OR 6.7 VERSION, JUST TRANSPORT FOLLOWING 10 PROGRAMS IN SINGLE TRANSPORT IN TESTING SYSTEM OR DEVELOPEMENT SYSTEM AND AFTER GETTING DATA FILE AND CO FILE U CAN REVERT THE TRANSPORT.
    Programs files are as follows:  (total number of prog is 10)
    1.
    FUNCTION Z_3N_CKS_EXIST_USER .
    ""Local interface:
    *" IMPORTING
    *" VALUE(CKSUSRID) TYPE USR02-BNAME
    *" VALUE(CKSMDTID) TYPE USR02-MANDT DEFAULT SY-MANDT
    *" EXPORTING
    *" VALUE(RCODE) TYPE SY-SUBRC
    *" EXCEPTIONS
    *" USER_DONT_EXIST
    *" USER_EXISTS
    FUNCTION TO CHECK IF USER EXISTS
    CLEAR RCODE.
    CALL FUNCTION 'USER_EXISTS'
    EXPORTING
    BNAME = CKSUSRID
    CLIENT = CKSMDTID
    EXCEPTIONS
    USER_DONT_EXIST = 1
    USER_EXISTS = 0.
    RCODE = SY-SUBRC.
    ENDFUNCTION.
    2.
    FUNCTION Z_3N_CKS_LOCKSTATE.
    ""Local interface:
    *" IMPORTING
    *" VALUE(CKSUSRID) TYPE USR02-BNAME
    *" EXPORTING
    *" VALUE(RCODE) TYPE SY-SUBRC
    FUNCTION TO OBTAIN THE CURRENT LOCK STATUS FOR A USER
    *{ PASSGOAPR06
    *\DATA:LOCKSTATE(50) type c,
    *\C_LOCKED_BY_ADMIN like usr02-uflag.
    *\tables:usr02.
    DATA:LOCKSTATE(50) type c.
    *} PASSGOAPR06
    CLEAR: RCODE, LOCKSTATE.
    SELECT SINGLE * FROM USR02 WHERE BNAME = CKSUSRID.
    IF SY-SUBRC <> 0.
    RCODE = 01. "No such User
    EXIT.
    ENDIF.
    *{ PASSGOAPR06
    IF USR02-UFLAG Z C_LOCKED_BY_ADMIN AND
    USR02-UFLAG Z C_LOCKED_BY_FAILED_LOGON.
    LOCKSTATE = 'UNLOCKED'.
    RCODE = 00.
    ELSE.
    IF USR02-UFLAG O C_LOCKED_BY_FAILED_LOGON.
    LOCKSTATE = 'LOCKED_BY_FAILED_LOGON'.
    RCODE = 02.
    ENDIF.
    IF USR02-UFLAG O C_LOCKED_BY_ADMIN.
    LOCKSTATE = 'LOCKED_BY_ADMIN'.
    RCODE = 02.
    ENDIF.
    ENDIF.
    uflag = usr02-uflag.
    IF UFLAG Z C_LOCKED_BY_ADMIN AND
    UFLAG Z C_LOCKED_BY_FAILED_LOGON.
    LOCKSTATE = 'UNLOCKED'.
    RCODE = 00.
    ELSE.
    IF UFLAG O C_LOCKED_BY_FAILED_LOGON.
    LOCKSTATE = 'LOCKED_BY_FAILED_LOGON'.
    RCODE = 02.
    ENDIF.
    IF UFLAG O C_LOCKED_BY_ADMIN.
    LOCKSTATE = 'LOCKED_BY_ADMIN'.
    RCODE = 02.
    ENDIF.
    ENDIF.
    *} PASSGOAPR06
    ENDFUNCTION.
    3.
    FUNCTION Z_3N_CKS_PWDCHG_INITIAL.
    ""Local interface:
    *" IMPORTING
    *" VALUE(CKSUSRID) TYPE USR02-BNAME
    *" VALUE(CKSUSRPWD) TYPE RSYST-BCODE
    *" EXPORTING
    *" VALUE(RCODE) TYPE SY-SUBRC
    *" TABLES
    *" RETURN STRUCTURE BAPIRET2
    FUNCTION TO INITIALISE USERs PASSWORD, USER WILL BE FORCED
    TO CHANGE PASSWORD ON NEXT LOGIN
    CLEAR: USR02, RCODE.
    SELECT SINGLE * from USR02 WHERE BNAME = CKSUSRID.
    IF SY-SUBRC <> 0.
    RCODE = 01.
    else.
    CALL FUNCTION 'BAPI_USER_CHANGE'
    EXPORTING
    USERNAME = CKSUSRID
    PASSWORD = CKSUSRPWD
    PASSWORDX = 'X'
    TABLES
    RETURN = RETURN.
    loop at return.
    if return-type eq 'E' or return-type eq 'A'.
    rcode = 13.
    endif.
    endloop.
    endif.
    ENDFUNCTION.
    4.
    FUNCTION Z_3N_CKS_VERIFY_USER.
    ""Local interface:
    *" IMPORTING
    *" VALUE(CKSUSRID) TYPE RSYST-BNAME
    *" VALUE(CKSUSRPWD) TYPE RSYST-BCODE OPTIONAL
    *" EXPORTING
    *" VALUE(RCODE) TYPE SY-SUBRC
    FUNCTION TO VALIDATE A USER
    *{ PASSGOAPR06
    TABLES:USR02.
    CLEAR: USR02, RCODE.
    SELECT SINGLE * from USR02 WHERE BNAME = CKSUSRID.
    IF SY-SUBRC = 4.
    RCODE = 01. "no such user
    EXIT.
    ELSEIF CKSUSRPWD = SPACE.
    RCODE = 03. "invalid old password
    EXIT.
    ELSE.
    CALL FUNCTION 'SUSR_LOGIN_CHECK_RFC'
    EXPORTING
    BNAME = CKSUSRID
    PASSWORD = CKSUSRPWD
    EXCEPTIONS
    WAIT = 1
    USER_LOCKED = 2
    USER_NOT_ACTIVE = 3
    PASSWORD_EXPIRED = 4
    WRONG_PASSWORD = 5
    NO_CHECK_FOR_THIS_USER = 6
    INTERNAL_ERROR = 7
    OTHERS = 8
    CASE SY-SUBRC.
    WHEN '2'. RCODE = 02. "user disabled/blocked
    WHEN '3'. RCODE = 02. "user disabled/blocked
    WHEN '4'. RCODE = 03. "invalid old password
    WHEN '5'. RCODE = 03. "invalid old password
    WHEN '8'. RCODE = 12. "internal error
    ENDCASE.
    ENDIF.
    *} PASSGOAPR06
    ENDFUNCTION.
    5.
    *& Include ZMS01JTOP *
    PROGRAM MS01JTOP MESSAGE-ID 01 LINE-SIZE 132. "Berechtigungsdatenpflege
    13.08.93
    INCLUDE MS01CTP2.
    INCLUDE MS01CTCO.
    TABLES: XU200, XU213, XU310, XU350, XU390, XU400.
    TABLES: TSTC, TSP03, TPARA, TPARAT.
    TABLES: *USR01, *USR03, USR15.
    TABLES: SOUD, SOUD3.
    *ABLES: ZCSA, ADRS.
    *{ PASSGOAPR06
    TABLES: usr02.
    DATA: uflag type x.
    DATA: begin of return occurs 0.
    INCLUDE structure bapiret2.
    DATA: end of return.
    DATA calling_cksusrid like usr02-bname.
    DATA: init_pass like BAPIPWD.
    INCLUDE USER_CONSTANTS.
    *} PASSGOAPR06
    CONTROLS TC213 TYPE TABLEVIEW USING SCREEN 213.
    CONTROLS TC520 TYPE TABLEVIEW USING SCREEN 350.
    DATA: COPYOK TYPE I,
    RENAMEOK TYPE I,
    DATFM1,
    DATFM2,
    DATFM3,
    DATFM4,
    DCPFM1,
    DCPFM2,
    USERNAME LIKE USR01-BNAME,
    LOCK,
    UNLO,
    STATFLAG TYPE I VALUE 0,
    NAVIFLAG TYPE I VALUE 0,
    PARTOPIX TYPE I,
    PARFILL TYPE I,
    PARAMETER LIKE USR05-PARVA,
    PARID LIKE USR05-PARID,
    PARLOOP LIKE SY-STEPL,
    SHOW_ONLY VALUE ' ',
    INTPRO_LOADED TYPE I VALUE 0,
    EXT_SECURITY VALUE ' '.
    DATA: H_201_USGRP LIKE USGRP-USERGROUP,
    H_201_VALID TYPE C,
    CC201 LIKE SY-CUCOL VALUE 2,
    CR201 LIKE SY-CUROW VALUE 6,
    SAVE_LINE201 LIKE SY-LILLI VALUE 1,
    SAVE_LSIND201 LIKE SY-LSIND VALUE 1.
    DATA: OFFICENAME LIKE SOUD-USRNAM.
    DATA: BEGIN OF NAME_IN.
    INCLUDE STRUCTURE SOUD3.
    DATA: END OF NAME_IN.
    DATA: BEGIN OF NAME_OUT.
    INCLUDE STRUCTURE SOUD3.
    DATA: END OF NAME_OUT.
    DATA: BEGIN OF EMPTYPROF OCCURS 2.
    INCLUDE STRUCTURE USREF.
    DATA: END OF EMPTYPROF.
    DATA: BEGIN OF PROFILES OCCURS 10.
    INCLUDE STRUCTURE USREF.
    DATA: END OF PROFILES.
    DATA: MAXPAR TYPE I VALUE 300.
    DATA: BEGIN OF TABPAR OCCURS 300,
    PARID LIKE USR05-PARID,
    PARVA LIKE USR05-PARVA,
    END OF TABPAR.
    DATA: BEGIN OF DELTAB OCCURS 50,
    USGRP LIKE USR02-CLASS,
    END OF DELTAB.
    DATA: BEGIN OF ADDTAB OCCURS 50,
    USGRP LIKE USR02-CLASS,
    END OF ADDTAB.
    DATA: BEGIN OF ADDRESS_DATA.
    INCLUDE STRUCTURE SADRP_USR.
    DATA: END OF ADDRESS_DATA.
    DATA:
    CLEAR TYPE X VALUE '00'.
    *ATA: BEGIN OF ADRSDATEN.
    INCLUDE STRUCTURE ADRS.
    *ATA: END OF ADRSDATEN.
    06.10.95 Tosun
    DATA 930_FLAG.
    "$$
    6.
    FUNCTION Z_3N_CKS_LOCK_USER.
    ""Local interface:
    *" IMPORTING
    *" VALUE(CKSUSRID) TYPE USR02-BNAME
    *" EXPORTING
    *" VALUE(RCODE) TYPE SY-SUBRC
    CLEAR RCODE.
    *{ PASSGOAPR06
    *\ PERFORM LOCK_USER IN PROGRAM ZSAPMS01J USING CKSUSRID.
    *\ IF SY-SUBRC <> 0.
    *\ RCODE = SY-SUBRC.
    *\ EXIT.
    *\ ELSE.
    *\ COMMIT WORK.
    *\ ENDIF.
    the report (form) is dumping.
    so we try it with the correct BAPI
    CALL FUNCTION 'BAPI_USER_LOCK'
    EXPORTING
    USERNAME = CKSUSRID
    TABLES
    RETURN = return
    IF return-type <> 'S'.
    RCODE = '8'.
    rollback work.
    EXIT.
    ENDIF.
    *} PASSGOAPR06
    ENDFUNCTION.
    7.
    FUNCTION Z_3N_CKS_PWDCHG_DIRECT.
    ""Local interface:
    *" IMPORTING
    *" VALUE(CKSUSRID) TYPE USR02-BNAME
    *" VALUE(CKSUSRPWD) TYPE RSYST-BCODE
    *" EXPORTING
    *" VALUE(RCODE) TYPE SY-SUBRC
    *" TABLES
    *" RETURN STRUCTURE BAPIRET2
    FUNCTION TO CHANGE USERs PASSWORD
    Password is initialised to a fixed value,
    to avoid having to provide the valid old password
    If the password change fails, the change is
    rolled back - this is required because
    BAPI_USER_CHANGE does an internal commit.
    CLEAR: USR02, RCODE.
    DATA: L_TIME LIKE SY-UZEIT,
    ZLIN TYPE I.
    *{ PASSGOAPR06
    calling_cksusrid = cksusrid. "Save calling userid
    init_pass = 'INITPASS'.
    *} PASSGOAPR06
    do 1 times.
    SELECT SINGLE * from USR02 WHERE BNAME = CKSUSRID.
    IF SY-SUBRC <> 0.
    RCODE = 1.
    else.
    * Change login to initpass.
    CALL FUNCTION 'BAPI_USER_CHANGE'
    EXPORTING
    USERNAME = CKSUSRID
    *{ PASSGOAPR06
    *\ PASSWORD = 'INITPASS'
    PASSWORD = init_pass
    *} PASSGOAPR06
    PASSWORDX = 'X'
    TABLES
    RETURN = RETURN.
    * Evaluate return table, if not success, rcode = 13
    describe table return lines zlin.
    IF zlin > 0.
    IF return-type ne 'S'.
    rcode = 13.
    exit.
    ENDIF.
    ENDIF.
    * Wait 1 second, otherwise table ush02 gets the same key as before.
    * Not very good, but its the only way, because the wait up to
    * statement includes a db-commit.
    L_TIME = sy-uzeit.
    WHILE L_TIME = sy-uzeit.
    GET TIME.
    ENDWHILE.
    * Change 'INITPASS' to input login
    CALL FUNCTION 'SUSR_USER_CHANGE_PASSWORD_RFC'
    EXPORTING
    BNAME = CKSUSRID
    PASSWORD = 'INITPASS'
    NEW_PASSWORD = CKSUSRPWD
    NEW_BCODE = '0000000000000000'
    NEW_CODVN = ' '
    EXCEPTIONS
    CHANGE_NOT_ALLOWED = 1
    PASSWORD_NOT_ALLOWED = 2
    INTERNAL_ERROR = 3
    CANCELED_BY_USER = 4
    OTHERS = 5.
    case sy-subrc.
    when '0'. rcode = 0.
    when '1'. rcode = 2.
    when '2'. rcode = 4.
    when '3'. rcode = 12.
    when '4'. rcode = 2.
    when '5'. rcode = 12.
    ENDCASE.
    ENDIF.
    exit. "end of do 1 times "
    enddo.
    * rollback if it didn't work
    if not rcode is initial.
    rollback work.
    endif.
    ENDFUNCTION.
    8.
    FUNCTION Z_3N_CKS_UNLOCK_USER.
    ""Local interface:
    *" IMPORTING
    *" VALUE(CKSUSRID) TYPE USR02-BNAME
    *" EXPORTING
    *" VALUE(RCODE) TYPE SY-SUBRC
    CLEAR RCODE.
    *{ PASSGOAPR06
    *\ PERFORM UNLOCK_USER IN PROGRAM ZSAPMS01J USING CKSUSRID.
    *\ IF SY-SUBRC <> 0.
    *\ RCODE = SY-SUBRC.
    *\ EXIT.
    *\ ELSE.
    *\ COMMIT WORK.
    *\ ENDIF.
    the report (form) is dumping.
    so we try it with the correct BAPI
    CALL FUNCTION 'BAPI_USER_UNLOCK'
    EXPORTING
    USERNAME = CKSUSRID
    TABLES
    RETURN = return
    IF return-type <> 'S'.
    RCODE = '8'.
    rollback work.
    EXIT.
    ENDIF.
    *} PASSGOAPR06
    ENDFUNCTION.
    9.
    *& Include ZMS01JO10 *
    MS01JO10 Module before Output
    14.05.93
    MODULE D150_SELECT *
    Einen Eintrag aus der Liste uebernehmen. *
    MODULE D150_SELECT OUTPUT.
    IF SELE = 1.
    IF SY-LILLI < 3.
    MESSAGE S209.
    ELSE.
    IF USRFLAG = 10 AND SY-LILLI = 3.
    MESSAGE S209.
    ELSE.
    IF USRFLAG = 10.
    XU150-VON = SY-LISEL.
    ELSE.
    COUNTX = PUSR - 1.
    ASSIGN SY-LISEL+COUNTX(12) TO <TEXT>. " unicode
    WRITE <TEXT> TO XU150-VON.
    ENDIF.
    ENDIF.
    ENDIF.
    SELE = 0.
    ENDIF.
    IF FERTIG = 2.
    FCODE = 'BACK'.
    SUPPRESS DIALOG.
    ENDIF.
    ENDMODULE.
    MODULE D150_SETSTATUS *
    PF-Status setzen *
    MODULE D150_SETSTATUS OUTPUT.
    PERFORM SET_STATUS USING 150.
    XU150-SELPROF = XU150-SELFEST = XU150-SELADRE = XU150-SELPARA = 'X'.
    XU150-SELMENU = 'X'.
    ENDMODULE.
    MODULE D155_SETSTATUS *
    PF-Status setzen *
    MODULE D155_SETSTATUS OUTPUT.
    PERFORM SET_STATUS USING 155.
    ENDMODULE.
    MODULE D200_SELECT *
    Einen Eintrag aus der Liste ins Dynpro uebernehmen *
    MODULE D200_SELECT OUTPUT.
    IF SELE = 1.
    IF SY-LILLI < 3.
    MESSAGE S209.
    ELSE.
    XU200-XUSER = SY-LISEL.
    ENDIF.
    SELE = 0.
    ENDIF.
    IF FCODE2 = 'USER' OR FCODE2 = 'FEST' OR FCODE2 = 'ADRE' OR
    FCODE2 = 'PARA' OR FCODE2 = 'ADMI' OR FCODE2 = 'RESE' OR
    FCODE2 = 'N '.
    SUPPRESS DIALOG.
    ENDIF.
    PERFORM SET_STATUS USING 200.
    ENDMODULE.
    MODULE D213_VALOUT *
    Festwerte auf das Dynpro schreiben. *
    MODULE D213_VALOUT OUTPUT.
    DEL = 0.
    XU213-DIA = '.'.
    XU213-ODC = '.'.
    XU213-BDC = '.'.
    XU213-CPIC = '.'.
    XU213-BATCH = '.'.
    CASE USR02-USTYP.
    WHEN TYPDIA.
    XU213-DIA = 'X'.
    WHEN TYPBATCH.
    XU213-BATCH = 'X'.
    WHEN TYPCPIC.
    XU213-CPIC = 'X'.
    WHEN TYPBDC.
    XU213-BDC = 'X'.
    WHEN TYPODC.
    XU213-ODC = 'X'.
    ENDCASE.
    IF USR02-LTIME <> SPACE AND USR02-LTIME <> '000000'.
    LOOP AT SCREEN.
    CASE SCREEN-GROUP1.
    WHEN 'MOD'.
    SCREEN-INVISIBLE = '1'.
    SCREEN-INPUT = '0'.
    MODIFY SCREEN.
    ENDCASE.
    ENDLOOP.
    SET CURSOR FIELD 'USR02-CLASS'.
    IF F <> ' ' AND L <> 0.
    SET CURSOR FIELD F LINE L.
    ENDIF.
    CODEFLAG = 1.
    ELSE.
    CLEAR XU213-BCODE.
    CLEAR XU213-BCODE2.
    IF USR02-BCODE <> '0000000000000000' AND BCODE_C = SPACE.
    CODEFLAG = 0.
    ENDIF.
    IF CODEFLAG = -2.
    SET CURSOR FIELD 'XU213-BCODE'.
    MESSAGE S290.
    ELSE.
    SET CURSOR FIELD 'USR02-CLASS'.
    IF F <> ' ' AND L <> 0.
    SET CURSOR FIELD F LINE L.
    ENDIF.
    ENDIF.
    ENDIF.
    ENDMODULE.
    MODULE D213_SELECT *
    Einen Eintrag aus der Liste uebernehmen. *
    MODULE D213_SELECT OUTPUT.
    IF SELE = 1.
    IF SY-LILLI < 4.
    MESSAGE S209.
    ELSE.
    ASSIGN SY-LISEL(PROFLNG) TO <TEXT>.
    MOVE <TEXT> TO XU213-PROFILE.
    PERFORM AUTH_CHECK USING OBJ_PROF
    XU213-PROFILE SPACE ACT_INCLUDE RC.
    IF RC <> 0.
    MESSAGE S478 WITH XU213-PROFILE.
    ELSE.
    FOUND = 0.
    LOOP AT TABUSR.
    IF TABUSR-PROFILE = XU213-PROFILE.
    FOUND = 1.
    MESSAGE S268 WITH XU213-PROFILE.
    EXIT.
    ENDIF.
    ENDLOOP.
    IF FOUND = 0.
    PERFORM EXIST_USR10
    USING XU213-PROFILE AKTIVATED SPACE RC.
    CLEAR TABUSR.
    TABUSR-PROFILE = XU213-PROFILE.
    IF USR10-TYP = COLECTPROF.
    TABUSR-SAMPROF = 'X'.
    ENDIF.
    Profiletext lesen
    CLEAR USR11.
    SELECT SINGLE * FROM USR11
    WHERE LANGU = SY-LANGU
    AND PROFN = TABUSR-PROFILE
    AND AKTPS = AKTIVATED.
    TABUSR-PTEXT = USR11-PTEXT.
    APPEND TABUSR.
    XU213-FILL = XU213-FILL + 1.
    IF XU213-FILL >= MAXUSR.
    MESSAGE S269.
    ENDIF.
    UCHANGE = 1.
    PERFORM NOTSAVED.
    ENDIF.
    ENDIF.
    ENDIF.
    SELE = 0.
    ENDIF.
    PERFORM SET_STATUS USING 213.
    PERFORM MESSAGE.
    IF EXT_SECURITY <> '1'.
    LOOP AT SCREEN.
    IF SCREEN-GROUP1 = 'EXT'.
    SCREEN-INPUT = '0'.
    SCREEN-INVISIBLE = '1'.
    SCREEN-ACTIVE = '0'.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    ENDIF.
    ENDMODULE.
    MODULE D213_PROFOUT *
    Profiles auf den Bildschirm ausgeben. *
    MODULE D213_PROFOUT OUTPUT.
    include <symbol>.
    COUNTX = XU213-TOPIX + SY-STEPL - 1. "Bild-oben-Pos. in Tab. feststell
    IF COUNTX <= XU213-FILL. "Am Ende der Tabelle ?
    READ TABLE TABUSR INDEX COUNTX. "Tab. lesen
    IF SY-SUBRC = 0.
    MOVE-CORRESPONDING TABUSR TO XU213. "Daten auf den Bildschirm
    xu213-samprof = sym_documents.
    ENDIF.
    ENDIF.
    USRLOOP = SY-LOOPC.
    ENDMODULE.
    MODULE D254_SUPPRESS *
    Dialog fuer Dynpro 254 unterdruecken *
    MODULE D254_SUPPRESS OUTPUT.
    SUPPRESS DIALOG.
    ENDMODULE.
    MODULE D310_SETSTATUS *
    PF-Status setzen *
    MODULE D310_SETSTATUS OUTPUT.
    IF SHOW_ONLY = SPACE.
    PERFORM SET_STATUS USING 310.
    IF STATFLAG = 1.
    LOOP AT SCREEN.
    IF SCREEN-NAME = 'USR01-CATTKENNZ '.
    AUTHORITY-CHECK OBJECT 'S_DEVELOP'
    ID 'DEVCLASS' DUMMY
    ID 'OBJTYPE' FIELD 'SCAT'
    ID 'OBJNAME' DUMMY
    ID 'P_GROUP' DUMMY
    ID 'ACTVT' FIELD '70'.
    IF SY-SUBRC <> 0.
    SCREEN-INPUT = 0.
    SCREEN-INVISIBLE = 1.
    MODIFY SCREEN.
    ENDIF.
    ENDIF.
    ENDLOOP.
    ENDIF.
    ELSE.
    PERFORM SET_STATUS USING 330.
    LOOP AT SCREEN.
    IF SCREEN-GROUP1 = 'RO '.
    SCREEN-INPUT = 0.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    ENDIF.
    CLEAR FCODE.
    ENDMODULE.
    MODULE D310_FORMAT_OUT. *
    Datumsformat und Dezimalpunktformat entsprechend Daten aus usr01 *
    ankreuzen. *
    MODULE D310_FORMAT_OUT OUTPUT.
    XU310-DATFM1 = ' '.
    XU310-DATFM2 = ' '.
    XU310-DATFM3 = ' '.
    XU310-DATFM4 = ' '.
    XU310-DATFM5 = ' '.
    XU310-DCPFM1 = ' '.
    XU310-DCPFM2 = ' '.
    XU310-SPDB1 = ' '.
    XU310-SPDA1 = ' '.
    IF USR01-DATFM < 1 OR USR01-DATFM > 5.
    CALL 'C_SAPGPARAM'
    ID 'NAME' FIELD 'zcsa/moddatfm'
    ID 'VALUE' FIELD USR01-DATFM.
    ENDIF.
    CASE USR01-DATFM.
    WHEN 1.
    XU310-DATFM1 = 'X'.
    WHEN 2.
    XU310-DATFM2 = 'X'.
    WHEN 3.
    XU310-DATFM3 = 'X'.
    WHEN 4.
    XU310-DATFM4 = 'X'.
    WHEN 5.
    XU310-DATFM5 = 'X'.
    WHEN OTHERS.
    XU310-DATFM1 = 'X'.
    ENDCASE.
    IF USR01-DCPFM = ' '.
    XU310-DCPFM1 = 'X'.
    ELSE.
    XU310-DCPFM2 = 'X'.
    ENDIF.
    IF USR01-SPDB = 'G'.
    XU310-SPDB1 = 'X'.
    ENDIF.
    IF USR01-SPDA = 'D'.
    XU310-SPDA1 = 'X'.
    ENDIF.
    CLEAR TSP03.
    SELECT SINGLE * FROM TSP03
    WHERE PADEST = USR01-SPLD.
    ENDMODULE.
    MODULE D320_SETSTATUS *
    PF-Status setzen *
    MODULE D320_SETSTATUS OUTPUT.
    IF SHOW_ONLY = SPACE.
    PERFORM SET_STATUS USING 320.
    ELSE.
    PERFORM SET_STATUS USING 340.
    LOOP AT SCREEN.
    IF SCREEN-GROUP1 = 'RO '.
    SCREEN-INPUT = 0.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    ENDIF.
    CLEAR FCODE.
    ENDMODULE.
    MODULE D330_SETSTATUS *
    PF-Status setzen *
    MODULE D330_SETSTATUS OUTPUT.
    PERFORM SET_STATUS USING 330.
    ENDMODULE.
    MODULE D340_SETSTATUS *
    PF-Status setzen *
    MODULE D340_SETSTATUS OUTPUT.
    PERFORM SET_STATUS USING 340.
    ENDMODULE.
    MODULE D350_SETSTATUS *
    PF-Status setzen *
    MODULE D350_SETSTATUS OUTPUT.
    IF SELE = 1.
    IF SY-LILLI < 3.
    MESSAGE S209.
    ELSE.
    TABPAR-PARID = SY-LISEL.
    APPEND TABPAR.
    PARFILL = PARFILL + 1.
    ENDIF.
    SELE = 0.
    ENDIF.
    IF SHOW_ONLY = SPACE.
    PERFORM SET_STATUS USING 350.
    ELSE.
    PERFORM SET_STATUS USING 360.
    LOOP AT SCREEN.
    IF SCREEN-GROUP1 = 'RO '.
    SCREEN-INPUT = 0.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    ENDIF.
    CLEAR FCODE.
    ENDMODULE.
    MODULE D350_PAROUT *
    Parameter auf den Bildschirm ausgeben. *
    MODULE D350_PAROUT OUTPUT.
    COUNTX = PARTOPIX + SY-STEPL - 1. "Bild-oben-Pos. in Tab. feststell
    IF COUNTX <= PARFILL. "Am Ende der Tabelle ?
    READ TABLE TABPAR INDEX COUNTX. "Tab. lesen
    IF SY-SUBRC = 0.
    MOVE-CORRESPONDING TABPAR TO XU350. "Daten auf den Bildschirm
    SELECT SINGLE * FROM TPARAT
    WHERE SPRACHE = SY-LANGU
    AND PARAMID = TABPAR-PARID.
    ENDIF.
    ENDIF.
    PARLOOP = SY-LOOPC.
    ENDMODULE.
    MODULE D351_SETSTATUS *
    PF-Status setzen *
    *ODULE D351_SETSTATUS OUTPUT.
    IF SELE = 1.
    IF SY-LILLI < 3.
    MESSAGE S209.
    ELSE.
    XU350-PARID = SY-LISEL.
    ENDIF.
    SELE = 0.
    ENDIF.
    PERFORM SET_STATUS USING 352.
    SUPPRESS DIALOG.
    *NDMODULE.
    MODULE D360_SETSTATUS *
    PF-Status setzen *
    MODULE D360_SETSTATUS OUTPUT.
    PERFORM SET_STATUS USING 360.
    ENDMODULE.
    MODULE D390_STATUS *
    PF-Status setzen. *
    MODULE D390_STATUS OUTPUT.
    data uflag_x type x. " unicode
    SELECT SINGLE * FROM USR02
    WHERE BNAME = XU200-XUSER.
    uflag_x = USR02-UFLAG. " unicode
    IF SY-SUBRC <> 0.
    XU390-STATTEXT = ' Nicht vorhanden.'(222).
    ELSE.
    IF uflag_x Z YULOCK AND uflag_x Z YUSLOC. " unicode
    PERFORM SET_STATUS USING 390.
    XU390-STATTEXT = ' Nicht gesperrt. '(223).
    ELSE.
    IF uflag_x O YULOCK. " unicode
    PERFORM SET_STATUS USING 391.
    XU390-STATTEXT = ' Durch Falschanmeldungen gesperrt !!!'(224).
    ENDIF.
    IF uflag_x O YUSLOC. " unicode
    PERFORM SET_STATUS USING 391.
    XU390-STATTEXT = ' Durch Systemmanager gesperrt !!!'(225).
    ENDIF.
    ENDIF.
    ENDIF.
    LOCK = '.'.
    UNLO = '.'.
    ENDMODULE.
    MODULE D400_CLEAR_CODE *
    Passwortfeld loeschen. *
    MODULE D400_CLEAR_CODE OUTPUT.
    CLEAR XU400-NEWCODE.
    CLEAR XU400-NEWCODE1.
    ENDMODULE.
    MODULE D400_SETSTATUS *
    PF-Status setzen *
    MODULE D400_SETSTATUS OUTPUT.
    PERFORM SET_STATUS USING 400.
    ENDMODULE.
    MODULE D500_SUPPRESS *
    Dynpro unterdruecken *
    MODULE D500_SUPPRESS OUTPUT.
    SET PF-STATUS '0200'.
    SUPPRESS DIALOG.
    ENDMODULE.
    *& Module D214_SETSTATUS OUTPUT
    MODULE D214_SETSTATUS OUTPUT.
    SET PF-STATUS '0214'.
    SET TITLEBAR '214'.
    ENDMODULE. " D214_SETSTATUS OUTPUT
    *& Module D216_PROFOUT OUTPUT
    MODULE D216_PROFOUT OUTPUT.
    COUNTX = XU213-TOPIX2 + SY-STEPL - 1. "Bild-oben-Pos. in Tab. festst
    IF COUNTX <= XU213-FILL2. "Am Ende der Tabelle ?
    READ TABLE INTPRO2 INDEX COUNTX. "Tab. lesen
    IF SY-SUBRC = 0.
    MOVE-CORRESPONDING INTPRO2 TO XU213. "Daten auf den Bildschirm
    ENDIF.
    ENDIF.
    ENDMODULE. " D216_PROFOUT OUTPUT
    *& Module D504_STATUS OUTPUT
    MODULE D504_STATUS OUTPUT.
    SET PF-STATUS '0504'.
    SET TITLEBAR '604'.
    ENDMODULE. " D504_STATUS OUTPUT
    *& Module D217_SETSTATUS
    MODULE D217_SETSTATUS OUTPUT.
    PERFORM SET_STATUS USING 217.
    PERFORM MESSAGE.
    IF FERTIG = -1.
    SUPPRESS DIALOG.
    ENDIF.
    ENDMODULE. " D217_SELECT OUTPUT
    *& Module D202_SETSTATUS OUTPUT
    text *
    MODULE D202_SETSTATUS OUTPUT.
    SET PF-STATUS '0203'.
    SET TITLEBAR '203'.
    ENDMODULE. " D202_SETSTATUS OUTPUT
    *& Module D200_LESEN_MEMORY OUTPUT
    Schnittstelle mit RSUSR008
    call transaction su01 and skip first screen
    MODULE D200_LESEN_MEMORY OUTPUT.
    IMPORT FCODE FROM MEMORY ID 'OK_CODE'.
    EXPORT FCODE FROM SPACE TO MEMORY ID 'OK_CODE'.
    ENDMODULE. " D200_LESEN_MEMORY OUTPUT
    "$$
    10.
    *& Report ZSAPMS01J *
    23.10.92
    set extended check off.
    INCLUDE ZMS01JTOP.
    *INCLUDE MS01JTOP. "Datendeklarationen
    INCLUDE ZMS01JO10.
    *INCLUDE MS01JO10. "PBO-Module
    *INCLUDE ZMS01JI10.
    INCLUDE MS01JI10. "PAI-Module
    *INCLUDE ZMS01JF10.
    INCLUDE MS01JF10. "Forms
    *INCLUDE ZMS01JR10.
    INCLUDE MS01JR10. "Reporting
    *INCLUDE ZMS01CC10.
    INCLUDE MS01CC10. "Checks
    *INCLUDE ZMS01CD10.
    INCLUDE MS01CD10. "Datenzugriffe
    set extended check on.
    see there are in total 10 prog that should go in one trasport order. this will creat data file and co file. these are flat files. i want these flat files.
    do it in developement server or testing server and then delete it or revert it once you get data file or co file.
    i will greatful to u if you could send me these flat files.
    thanx in advance
    raj

    hi all,
    this can be done in 4.6 version also.
    thanx for spending time on this.
    thanx&regards
    raj

  • Cannot open your default e-mail folders. You must connect to Microsoft Exchange with the current profile before you can synchronize your folders with your Outlook data file (.ost)

    Fresh installation of Exchange Server 2013 on Windows Server 2012.
    Our first test account cannot access their email via Outlook but can access fine through OWA. The following message appears - "Cannot open your default e-mail folders. You must connect to Microsoft Exchange with the current profile before you can synchronize
    your folders with your Outlook data file (.ost)" is displayed.
    If I turn off cached Exchange mode, setting the email account to not
    cache does not resolve the issue and i get a new error message - "Cannot open your default e-mail folders. The file (path\profile name).ost is not an Outlook data file (.ost). Very odd since it creates its own .ost file when you run it for the first
    time.
    I cleared the appdata local Outlook folder and I tested on a new laptop that has never connected to Outlook, same error message on any system.
    Microsoft Exchange RPC Client Access service is running.
    No warning, error or critical messages in the eventlog, it's like the healthiest server alive.
    Any help would be greatly appreciated. I haven't encountered this issue with previous versions of Exchange.

    So it looks like a lot of people are having this issue and seeing how Exchange 2013 is still new (relatively to the world) there isn't much data around to answer this. I've spend ALOT of time trying to figure this out.
    Here is the answer. :) - No I don't know all but I'm going to try to give you the most reasonable answer to this issue, in a most logical way.
    First thing I did when I was troubleshooting this issue is that I ignored Martina Miskovic's suggestion for Step4 http://technet.microsoft.com/library/jj218640(EXCHG.150)because it didn't make sense to me because I was trying to connect
    Outlook not outside the LAN but actually inside. However, Martina's suggestion does fix the issue if it's applied in the correct context.
    This is where the plot thickens (it's stew). She failed to mention that things like SSL (which I configure practically useless - anyone who ever worked in a business environment where the owner pretty much trusts anyone in the company, otherwise they don't
    work there - very good business practice in my eyes btw, can confirm that...) are some sort of fetish with Microsoft lately. Exchange 2013 was no exception.
    In exchange 2003, exchange 2007 and exchange 2010 - you could install it and then go to outlook and set it up. And when outlook manual Microsoft Exchange profile would ask you for server name, you would give it and give the name of the person who you setting
    up - as long as machine is on the domain, not much more is needed. IT JUST WORKS! :) What a concept, if the person already on premises of the business - GIVE HIM ACCESS. I guess that was too logical for Microsoft. Now if you're off premises you can use things
    like OutlookAnywhere - which I might add had their place under that scenario.
    In Exchange 2013, the world changed. Ofcourse Microsoft doesn't feel like telling it in a plain english to people - I'm sure there is an article somewhere but I didn't find it. Exchange 2013 does not support direct configuration of Outlook like all of it's
    previous versions. Did you jaw drop? Mine did when I realized it. So now when you are asked for your server name in manual outlook set up and you give it Exchange2013.yourdomain.local - it says cannot connect to it. This happens because ALL - INTERNAL AND
    EXTERNAL connection are now handled via OutlookAnywhere. You can't even disable that feature and have it function the reasonable way.
    So now the question still remains - how do you configure outlook. Well under server properties there is this nice section called Outlook anywhere. You have a chance to configure it's External and Internal address. This is another thing that should be logical
    but it didn't work that way for me. When I configured the external address different from the internal - it didn't work. So I strongly suggest you get it working with the same internal address first and then ponder how you want to make it work for the outside
    users.
    Now that you have this set up you have to go to virtual directories and configure the external and internal address there - this is actually what the Step 4 that Martina was refering to has you do.
    Both external and internal address are now the same and you think you can configure your outlook manually - think again. One of the most lovely features of Outlook Anywhere, and the reason why I had never used it in the past is that it requires a TRUSTED
    certificate.
    See so it's not that exchange 2013 requires a trusted certificate - it's that exchange 2013 lacks the feature that was there since Windows 2000 and Exchange 5.5.
    So it's time for you to install an Active Direction Certificate Authority. Refer to this wonderful article for exact steps - http://careexchange.in/how-to-install-certificate-authority-on-windows-server-2012/
    Now even after you do that - it won't work because you have to add the base private key certificate, which you can download now from your internal certsrv site, to Default Domain Policy (AND yes some people claim NEVER mess with the Default Domain Policy,
    always make an addition one... it's up to you - I don't see direct harm if you know what you want to accomplish) see this: http://technet.microsoft.com/en-us/library/cc738131%28v=ws.10%29.aspx if you want to know exact steps.
    This is the moment of ZEN! :) Do you feel the excitement? After all it is your first time. Before we get too excited lets first request and then install the certificate to actual Exchange via the gui and assign it to all the services you can (IIS, SMTP and
    there is a 3rd - I forgot, but you get the idea).
    Now go to your client machine where you have the outlook open, browse to your exchange server via https://exchang2013/ in IE and if you don't get any certificate errors - it's good. If you do run on hte client and the server: gpupdate /force This will refresh
    the policy. Don't try to manually install the certificate from Exchange's website on the client. If you wanna do something manually to it to the base certificate from the private key but if you added it to the domain policy you shouldn't have to do it.
    Basically the idea is to make sure you have CA and that CA allows you to browse to exchange and you get no cert error and you can look at the cert and see that's from a domain CA.
    NOW, you can configure your outlook. EASY grasshoppa - not the manual way. WHY? Cause the automatic way will now work. :) Let it discover that exachange and populate it all - and tell you I'm happy! :)
    Open Outlook - BOOM! It works... Was it as good for you as it was for me?
    You may ask, why can't I just configure it by manual - you CAN. It's just a nightmare. Go ahead and open the settings of the account that got auto configed... How do you like that server name? It should read something like [email protected]
    and if you go to advanced and then connection tab - you'll see Outlook Anywhere is checked as well. Look at the settings - there is the name of the server, FQDN I might add. It's there in 2 places and one has that Mtdd-something:Exchange2013.yourdomain.local.
    So what is that GUID in the server name and where does it come from. It's the identity of the user's mailbox so for every user that setting will be different but you can figure it out via the console on the Exchange server itself - if you wish.
    Also a note, if your SSL certs have any trouble - it will just act like outlook can't connect to the exchange server even though it just declines the connection cause the cert/cert authority is not trusted.
    So in short Outlook Anywhere is EVERYWHERE! And it has barely any gui or config and you just supposed to magically know that kind of generic error messages mean what... Server names are now GUIDs of the [email protected] - THAT MAKES PERFECT
    SENSE MICROSOFT! ...and you have to manage certs... and the only place where you gonna find the name of the server is inside the d*** Outlook Anywhere settings in the config tab, un it's own config button - CAN WE PUT THE CONFIG ANY FURTHER!
    Frustrating beyond reason - that should be Exchange's new slogan...
    Hope this will help people in the future and won't get delete because it's bad PR for Microsoft.
    PS
    ALSO if you want to pick a fight with me about how SSL is more secure... I don't wanna hear it - go somewhere else...

  • Data file recovery from Windows 7

    A Macbook that was running OS X with data files and pictures was taken by someone without their permission.
    That person then wiped the hard drive and installed Windows 7.
    The Laptop has since been returned to the original owner and to her dismay realizes all her files have been deleted.
    Is there any chance of recovering any of her previous OS X data files and pictures before she reinstalls OS X.

    Kappy and Limnos are both correct, depending on what was done to the hard drive.
    It's most likely that the person who put Windows 7 on the Mac did a quick erase, which would leave all but the first few cylinders of data on the drive untouched.
    After changing the partition scheme to NTFS and and installing Win 7, then the data that will be difficult to impossible to recover will be those areas that were written over with the Windows OS files, the swap file it creates, and any other areas of the drive that were written over during that person's use of the Mac.
    The first thing you will need to do before you can use either FileSalvage or Data Rescue 3, is boot to the disks the Mac came with, run Disk Utility from the DVD and change the partition back to Mac OS Extended. Neither of these recovery programs will read anything but a Mac drive. As in changing the drive to NTFS, you would only be overwriting the first few cylinders of the drive to do this. Just make sure not to install OS X. Only use the DVD to get the drive back to Mac OS Extended.
    Since the drive will have no bootable system on it at this point, you will need to purchase one recovery program or the other on a bootable CD/DVD. The only other option is a bootable external drive so you can try the demo versions before purchasing. The external drive will also need to have enough free space to recover files to.
    Now run either recovery program. As mentioned a few times now, getting any data back that was sitting on the areas overwritten with Win 7 are slim to none. But any data on the drive that was never written to during that time can be. What you recover all depends on what was sitting where.

  • How recover data from .dat file without application

    Dears,
    We are active for a few customers who will use an windows application with, so far we can see, an flat file UNIX structure database. It seems that the structure of the database is nearly the structure who used in Berkeley DB. That means that we have analysed the database and found 'information blocks' like Btree, hash tables etc.
    Is their any way to start reverse engineering on the single .dat file, if we have no idea what fields or record the application uses.
    It is hard to believe but the software firm did not want to make the data free .. only for a lot of money .. so far we know the customer is the owner of the data, and the firm have to do that!
    But we can't wait to get the data out this file ... we need some little more help.. to analyse the database and its block structure .. so when we know the database structure (the blocks) we can start analysing the data.
    Many thanks,
    for any reply
    Eric

    Hi Eric,
    We've rarely seen applications using BDB use that extension for the database (it's of course possible to name the file any way you want, but generally the BDB database files use .db as the extension). So, I have a feeling you're facing a file created with another database engine. Nevertheless, here is what you can do:
    - determine the file's size on the disk and post it here;
    - run the following BDB utilities on the .dat file (we'll call it "file.dat")
    db_verify file.dat
    db_stat -d file.datand post here the output.
    You can download Berkeley DB here:
    http://www.oracle.com/technology/software/products/berkeley-db/db/index.html
    For information on how to build on Windows:
    http://www.oracle.com/technology/documentation/berkeley-db/db/ref/build_win/intro.html
    Detailed description of the utilities I've mentioned:
    http://www.oracle.com/technology/documentation/berkeley-db/db/utility/db_verify.html
    http://www.oracle.com/technology/documentation/berkeley-db/db/utility/db_stat.html
    Also, I would like to suggest you the following.
    Since the data within the file is probably confidential, I can take this issue in private and open a Metalink SR for you. I can assure you that we will treat all information as confidential.
    If you would like me to help this way, just send me an email at: andrei dot costache at oracle dot com.
    Regards,
    Andrei

  • Dynamic Fill in PDF Files

    Hello,
    i have a PHP Site where a user can type his personal data. When he click on the Button "Send", a PDF form open and fill the data into the form. The static PDF works with FDF, but the dynamic PDF with XFDF doesn´t work. Here my XFDF:
    <?php
    $pdf_file= 'http://localhost/Kunde2.pdf';
    function array2xfdf($xfdf_data, $pdf_file)
    // Creates an XFDF File from a 2 dimensional
    // Array Format: "array ("key1" => "content1", "key2" => "content2");
    $xfdf = "<?xml version='1.0' encoding='UTF-8'?>\n";
    $xfdf .= "<xfdf xmlns='http://ns.adobe.com/xfdf/' xml:space='preserve'>\n";
    $xfdf .= "<fields>\n";
    // Loop -> Array to XFDF Data
    foreach ($xfdf_data as $key => $val)
    $xfdf .= "<field name='".$key."'>\n";
    $xfdf .= "<value>".$val."</value>\n";
    $xfdf .= "</field>\n";
    // XFDF "Footer"
    $xfdf .= "</fields>";
    $xfdf .= "<f href='".$pdf_file."'/>";
    $xfdf .= "</xfdf>";
    return $xfdf;
    $xfdf_data = array(
    "KUNDE"=> $_POST['KUNDE'],
    header('Content-type: application/vnd.adobe.xfdf');
    echo array2xfdf($xfdf_data, $pdf_file);
    ?>
    The Script open my PDF but without my data. What´s wrong? The XML Structur is ok. I work with the LiveCycle Designer 8. Must I change in the Designer any configuration?
    greetings
    Daniela

    I have a vital form that clients fill out, which is passed to many people in the company along the workflow. The form is a Planner and we have in the following PDF, Word Doc..
    Well before, the Planner.pdf was originally created in Word, since most people have access to Word.. but evolved to a PDF form created from the Word Doc via Adobe LiveCycle Designer 8.0 w/ User Rights enabled so that the form could be filled out and saved using Adobe Reader.. which was a step better than Word.. being that it is free. But this needed to be easier and more to the point b/c some clients don't particularly like installing the latest version of Reader, even if you provide them the link. Nor do they like saving the form, filling the form, and attaching the form to send back.
    My goal is to have the client fill an HTML version of the form, submit and be done with it, but everyone in the workflow be able to easily receive the filled Planner as a PDF form.
    So some months ago I ran into this post Chris Trip, "Populate Livecycle PDF from mySQL database using PHP" #8, 22 Sep 2007 4:37 pm
    which uses the command line Win32 pdftk.exe to merge an FDF file into an existing PDF on the remote server, and serve this to whoever.
    My problem was with shared hosting and having the ability to use the Win32 pdftk.exe along with PHP which is predominantly used on Linux boxes. And we used a Linux box.
    so i created the following unorthodox method, which a client fills the HTML version of the Planner, all field values are INSERTED into a table in MySQL DB, I and all filled planners that have been filled by clients to date can be viewed from a repository page where an XML file is served up of the corresponding client, but someone would have to have Acrobat Professional, to import the form data from the XML file into a blank form.. altoughh this is simple for me.. I have the PHP file already created so that when a Planner is filled and client submits. >> the an email is sent to me with a table row from the repository of the client name, #, email, and a link to d-load the XML file,
    But I also have the PHP files created so that the Planner can be sent to by email to various people in the workflow with certain fileds ommitted they they do not need to see, but instead of the XML file beiong served up i need the filled PDF Planner to be served.
    I can do this locally with ease on a testing server, but I am currently trying to use another host that uses cross-platform compatibility so i can use PHP and the pdftk.exe to achieve this, as that is why I am having to serve up an XML file b/c we use a Linux server for our website, and cant execute the exe.
    Now that I am testing the other server (cross-platform host), just to use them to do the PDF handling (and it's only $5 per month) I am having problems with getting READ, WRITE, EXECUTE permissions..
    Si guess a good question to ask is can PHP do the same procedure as the pdftk.exe, and i can eleminate it.
    or how in the heck can i get this data from the DB into a blank PDF form, like i have described??
    here are some link to reference
    Populating a LiveCycle PDF with PHP and MySQL
    http://www.andrewheiss.com/Tutorials?page=LiveCycle_PDFs_and_MySQL
    HTML form that passed data into a PDF
    http://www.mactech.com/articles/mactech/Vol.20/20.11/FillOnlinePDFFormsUsingHTML/index.htm l
    and an example
    http://accesspdf.com/html_pdf_form/

  • SQL Loader and foreign characters in the data file problem

    Hello,
    I have run into an issue which I can't find an answer for. When I run SQL Loader, one of my control files is used to get file content (LOBFILE) and one of the fields in the data file has a path to that file. The control file looks like:
    LOAD DATA
    INFILE 'PLACE_HOLDER.dat'
    INTO TABLE iceberg.rpt_document_core APPEND
    FIELDS TERMINATED BY ','
    doc_core_id "iceberg.seq_rpt_document_core.nextval",
    -- created_date POSITION(1) date "yyyy-mm-dd:hh24:mi:ss",
    created_date date "yyyy-mm-dd:hh24:mi:ss",
    document_size,
    hash,
    body_format,
    is_generic_doc,
    is_legacy_doc,
    external_filename FILLER char(275) ENCLOSED by '"',
    body LOBFILE(external_filename) terminated by EOF
    A sample data file looks like:
    0,2012-10-22:10:09:35,21,BB51344DD2127002118E286A197ECD4A,text,N,N,"E:\tmp\misc_files\index_testers\foreign\شیمیایی.txt"
    0,2012-10-22:10:09:35,17,CF85BE76B1E20704180534E19D363CF8,text,N,N,"E:\tmp\misc_files\index_testers\foreign\ลอบวางระเบิด.txt"
    0,2012-10-22:10:09:35,23552,47DB382558D69F170227AA18179FD0F0,binary,N,N,"E:\tmp\misc_files\index_testers\foreign\leesburgis_á_ñ_é_í_ó_ú_¿_¡_ü_99.doc"
    0,2012-10-22:10:09:35,17,83FCA0377445B60CE422DE8994900A79,binary,N,N,"E:\tmp\misc_files\index_testers\foreign\làm thế nào bạn làm ngày hôm nay"
    The problem is that whan I run this, SQL Loader throws an error that it can't find the file. It appears that it can't interpret the foreign characters in a way that allows it to find that path. I have tried adding a CHARACTERSET (using AL32UTF8 or UTF8) value in the control file but that only has some success with Western languages, not the ones listed above. Also, there is no set of defined languages that could be found in the data file. It essentaially could be any language.
    Does anyone know if there is a way to somehow get SQL Loader to "understand" the file system paths when a folder and/or file name could be in some other langauge?
    Thanks for any thoughts - Peter

    Thanks for the reply Harry. If I try to open the file in various text editors like Wordpad, Notepad, GVIM, andTextpad, they all display the foreign characters differently. Only Notepad comes close to displaying the characters properly. I have a C# app that will read the file and display the contents and it renders it fine. If you look at the directory of files in Windows Explorer, they all are displayed properly. So it seems things like .Net and Windows have some mechanism to understand the characters in order to render them properly. Other applications, again like Wordpad, do not know how to render them properly. It would seem that whatever SQL Loader is using to "read" the data files also is not rendering the characters properly which prevents it from finding the directory path to the file. If I add "CHARACTERSET AL32UTF8" in the control file, all is fine when dealing with Western langauges (ex, German, Spanish) but not for the Eastern languages (ex. Thai, Chinese). So .... telling SQL Loader to use a characterset seems to work, but not in all cases. The AL32UTF8 is the characterset that the Oracle database was created with. I have not had any luck if I try to set the CHARACTERSET to whatever the Thai character set is, for example. There problem there though is that even if that did work, I can't target specific lagauages because the data could come from anywhere. It's like I need some sort of global "super set" characterset to use. It seems like the CHARACTERSET is the right track to follow but I am not sure, and even if it is, is there a way to handle all languages.
    Thanks - Peter

Maybe you are looking for

  • Problem in creating a callable object of type Business Logic

    Hi SDN, I am trying to create a callable object of type Business Logic in CE. When I give all information and click Next, I get this error message. Error while loading configuration dialog: Failed to create delegate for component com.sap.caf.eu.gp.ui

  • Window Arrange problem in dual monitors

    When attempting to arrange photographs which have been dragged to my primary monitor (entire Photoshop CS6 beta program opens [as I have set it up]  in my secondary monitor), the photos are arranged, but moved back to the monitor where Photoshop resi

  • Access to SAP Netweaver 2004s --- ECC 6.0

    Good evening.... The question is: Must I install the java engine in my sap ECC 6.0 to access via web to SAP or isn't necessary ??? I've read in the marketplace and I think isn't necessary but I need to be sure. I'll can access via web (internet explo

  • Oracle Support and XMLP

    Is it only me or anyone else experiencing less than stellar responses from Oracle Support for XMLP ? We are on 5.6.2 + EBiz suite and I am not able to generate an eText file using APIs. According to OSS, I should be reading 5.6.1 documentation. Does

  • How to restrict the screen field TASK in SWI2_FREQ tcode

    Hi All, The user who ever has authorization for this transaction code is able to access all the task types irrespective of SAP modules from back end. The concern is that the task type of any module should not be visible for un-authorized people. In t