AUD and STAT file

Hi All,
Please let me know how AUD(Security Audit log) and STATSAP Workload Business Transaction Analysis file is generated. Whether there is any collector job running in background? What is the SAP standard object involved in generating these 2 files.
Thank you.
With Regards,
Gandhi Subramani

Hi ,
Before you activate the Security audit in  SM19, need to do many validations in the system.
Job SAP_COLLECTOR_FOR_NONE_R3_STAT is for Business stats.
The collector is started by the job SAP_COLLECTOR_FOR_NONE_R3_STAT. By default, this job runs hourly and is an SAP standard job; you can schedule it using transaction SM36 (Define Job) by choosing the Standard Jobs button.
PurposeABAP statistics records are generated to measure and analyze the performance of an ABAP system and its components. These statistics records provide information about the workload generated and the resources used in the system by actions. This provides you with a very exact picture of the quality of a system. If performance bottlenecks are detected, you can use this data to determine which component is responsible for them, and can then make the appropriate changes in a targeted way. The Distributed Statistics Records (DSRs) extend this concept for non-ABAP components.
There are two types of statistics records: main records and subrecords:
     A main record is always generated when a business action is triggered in the system. An action of this type can be:
       In dialog: a dialog step (start of a transaction, triggering of a function code, start of a program)
      In background processing: start of a job
A main record forms the logical brackets around a business action. A transaction usually consists of multiple business actions.
    A subrecord describes the subactions that are processed within a business action, such as RFC calls or DB accesses. One or more subrecords are always assigned to a main record.
You can use the statistics data to analyze performance problems in great detail. They are the basis of the SAP performance analysis tools, which are mainly used by SAP Support. These analysis tools are:
     Business Transaction Analysis (Transaction STAD)
The Business Transactions Analysis calculates the system resource usage of individual transactions for the local ABAP system and provides a detailed analysis of a transaction and its dialog steps. The data is taken directly from the statistics files.
     Functional Trace (transaction STATTRACE)
You can use the functional trace to display individual statistics records from ABAP and non-ABAP systems from complex system landscapes. The statistical data of remote ABAP systems is accessed by RFC. For remote non-ABAP systems, the data is read using the SAPCCMSR agent.
  Workload Monitor (transaction ST03)
You can use the workload monitor to analyze statistical data for the ABAP kernel. You can display the data for all instances of the local system. The aggregates of the statistics files that are stored in the systemu2019s database are displayed.
  Global Workload Monitor (transaction ST03G)
The Global Workload Monitor displays statistical records for entire landscapes and therefore allows you to analyze statistics data for both ABAP and non-ABAP systems. The aggregates of the statistics files are also displayed here.
As of BI Content 7.03 Add-On (Plug-In release 2005.1, OLTP release 7.00), the statistics records are available to you in the Business Warehouse. Both the statistics files themselves and the aggregates are available.
pre-requisistes for acitviation Audit log
rsau/max_diskspace/local and rsau/max_diskspace/perfile
parameters?
rsau/max_diskspace/local
rslg/max_diskspace/central
rslg/max_diskspace/local
rstr/max_diskspace
rsau/max_diskspace/local
rslg/max_diskspace/central
rslg/max_diskspace/local
rstr/max_diskspace
Activating the audit log
The following instance profiles must be set in order to activate audit logging (use transaction RZ10 to do so).
rsau/enable: Set to 1 to activates audit logging
rsau/local/file: Name and location of the audit log file
rsau/max_diskspace/local: Max. space of the audit file. If maximum size is reached auditing stops.
rsau/selection_slots: Max. number of filters
The settings are activated after the instance has been restarted.
Purpose
The Security Audit Log is a tool designed for auditors who need to take a detailed look at what occurs in the SAP System. By activating the audit log, you keep a record of those activities you consider relevant for auditing. You can then access this information for evaluation in the form of an audit analysis report.
The audit log's main objective is to record:
Security-related changes to the SAP System environment
(for example, changes to user master records)
Information that provides a higher level of transparency
(for example, successful and unsuccessful logon attempts)
Information that enables the reconstruction of a series of events
(for example, successful or unsuccessful transaction starts)
Specifically, you can record the following information in the Security Audit Log:
Successful and unsuccessful dialog logon attempts
Successful and unsuccessful RFC logon attempts
RFC calls to function modules
Successful and unsuccessful transaction starts
Successful and unsuccessful report starts
Changes to user master records
Changes to the audit configuration

Similar Messages

  • HT5654 iTunes auto update downloaded and installed on 28/01/2014. iTunes now won't launch and error message states file MSVCR80.dll is missing. Tried uninstalling and downloading/installing again to no avail. Any clues?

    iTunes auto-update dowloaded and installed on 28/01/2014. iTunes now won't launch and error message states file MSVCR80.dll is missing. Tried unistalling and downloading/installing again to no avail.  Any clues?

    Click here and follow the instructions. You may need to completely remove and reinstall iTunes and all related components, or run the process multiple times; this won't normally affect its library, but that should be backed up anyway.
    (99269)

  • My free Adobe subscription is expired. I tried uninstalling the Reader and installing the new free Reader, but my system will not let me open a file and states I need to purchase the Adobe Reader. Any other way to view a PDF file?

    My free Adobe Reader has expired. I tried uninstalling the Reader and installing the new Free Reader trial, but my system still will not open a PDF file and states I need to subscribe to Adobe. Any way around this?

    Thank you.
    On Thu, Jun 26, 2014 at 9:44 AM, Bernd Alheit <[email protected]>

  • File 2 of 3 with Indesign states" file archive is missing..." we have already downloaded part 1 and 3. help?  what does this mean

              Indesign states" file archive is missing..." we have already downloaded part 1 and 3. help?  what does this mean

    In this case , you may try alternate method.
    Install apps like Winzip or Winrar or 7-zip.
    http://www.rarlab.com/download.htm
    or
    http://www.7-zip.org/download.html
    Right click on File 1 of 3 : InDesign_8_LS16.7z  [1.9 GB]
    Then extract the file and then open extracted folder and run setup.exe .
    It will install InDesign CS 6.

  • Peformance - IO and virtual file stats

    I was looking at this article :
    https://www.simple-talk.com/sql/performance/a-performance-troubleshooting-methodology-for-sql-server/
    under the 'Virtual File Statistics', the author makes several points which I found difficult to understand. appreciate any clarification :
    >If the data and log files are on a shared disk array in the server, and the calculated
    avg_total_latency is >the same across all of the databases, and higher than what is acceptable for the specific workload, then the >problem may be that the workload has outgrown the disk
    I/O subsystem.
    how do we define what is 'acceptable for the specific workload'?
    is there any prior/historical statistics that we can avail of for the above?
    also does "the workload has outgrown the disk I/O subsystem" mean the disk space available or disk controllers/spindles etc?
    also would not a comparison of data/log files in terms of read, writes, stall etc - point to bad performing individual disks? ie if disk 1 stalled for 10 seconds for 1000 reads and 1000 writes and disk 2 stalled for 30 seconds for the same work load,
    then would disk 2 be considered poor performing?
    appreciate the insights.

    If the disks are spread over the SAN (many instances) it is pretty difficult to diagnose the problem.
    http://mssqlwiki.com/category/sql-server-io/
    Go to "How
    to  troubleshoot?" topic
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • I am connected to a time capsule both wirelessly and through ethernet...and state of the time capsule is solid green...the internet however doesn't work...The internet works fine when directly connected to my macbook pro but it won't work through the tc

    I have deleted time machine preferences...restarted the modem a bunch of times, restored time capsule to it's original settings...after I first set it up in Airport Ulitity its shows a page quickly that states there is a internet problem, but the page quickly goes away before I can read what it says exaclty and states the internet connection problem is resolved...
    However it's not resolved, I'm also having trouble doing a back up to my time capsule...I recently purchased a new macbook and retrieved/restore what was on the time capsule to the new computer...that worked fine...wireless worked fine...however when I tried to back up the new macbook...it would faii stating that there isn't enough room on the TC to do a back up...
    I didn't end up keeping the new macbook, I was just using it/trying it out while my current macbook pro was being repaired (logic board)
    Ever since I got my current macbook back from repair...my backups have failed due to their not being enough space to perform the back up...in the past the back ups would happen and old back ups would be replaced...
    I think this has to do with my current computer having a new name after the repair..."Adam's macbook pro 2" vs "Adam's macbook pro"
    The internet was working fine wirelessly through the TC a day ago, but it wasn't allowing my other laptop that was connected via ethernet access to the internet...I had a self assigned IP address error then...I don't have that problem now, but it's not transmitting internet at all...even though it's in a solid green state.
    I have no problem completely wiping out my TC including the previous back ups on it...just don't know how to go about it...I have restored it to factory settings a bunch of times and created the network from scratch...just hasn't fixed the issue
    Is there more prefences files I should delete

    If the modem is also a router, either use the modem in bridge and run pppoe client on the TC.. that is assuming ADSL or similar eg vdsl. If it is cable service.. and the modem is a router, then bridge the TC.. go to internet page and select connect by ethernet and below that set connection sharing to bridge.
    Please tell us more about the modem if the above gives you issues.

  • Implicit vs explicit close of resultsets and statements?

    Hi friends.I am a newbie Java Developer..Okay Here goes
    I have just made a LAN based Java application using Swing,JDBC with backend as MS-Access..The backend is on a shared network drive..
    The application is distributed as jar files on the LAN PCs..
    Everywhere I have connected to the database I have just closed the connection explicitly like this
    con.close();
    I do not close the associated resultset and statement explicitly
    The specification says associated statements and resultsets close when you close
    the connection,even if you don't explicitly close them
    Also I am not using connection pool..its simple basic connection using DriverManager
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String url = "jdbcdbcSN name";
    String user = "";
    String pw = "";
    con = DriverManager.getConnection(url, user, pw);
    Statement stmt = con.createStatement();
    String select = "" ;
    ResultSet rows = stmt.executeQuery(select);
    On the net everyone says to explicitly close everything..but I did not know that
    earlier..
    If specification says everything closes on
    closing connection why do ppl insist on closing everything explicitly..?
    Or is this driver dependent..don't the drivers go through the specification..
    My driver is the Sun JDBC ODBC bridge.....
    I found this method DriverManager.setLogwriter()
    It prints out a trace of all JDBC operations..
    So I ran a sample program with this method included...
    I redirected output to a log file..
    In that program I just explicitly close the connection without closing the
    statements and resultsets explicitly...
    After running the program and seeing the log I saw that the statements
    and resultsets are closed implicitly If I just close the connection explicitly..
    I am putting the log file and the code..
    Have a look at the end of the log file..
    Code
    import java.sql.;
    import java.io.;
    class gc4test
    public static void main(String args[])
    Connection con = null;
    try
    FileWriter fwTrace = new FileWriter("c:\\log.txt");
    PrintWriter pwTrace= new PrintWriter(fwTrace);
    DriverManager.setLogWriter(pwTrace);
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String url = "jdbc:odbc:pravahcon";
    String user = "admin";
    String pw = "ash123";
    con = DriverManager.getConnection(url, user, pw);
    Statement stmt = con.createStatement();
    Statement stmt1 = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    Statement stmt2 = con.createStatement();
    Statement stmt3 = con.createStatement();
    Statement stmt4 = con.createStatement();
    Statement stmt5 = con.createStatement();
    Statement stmt6 = con.createStatement();
    Statement stmt7 = con.createStatement();
    String select = "SELECT * FROM Users" ;
    ResultSet rows = stmt.executeQuery(select);
    ResultSet rows1 = stmt1.executeQuery(select);
    while(rows.next())
    con.close();
    catch (ClassNotFoundException f)
    System.out.println(f.getMessage());
    System.exit(0);
    catch (SQLException g)
    System.out.println(g.getMessage());
    System.exit(0);
    catch (Exception e)
    System.out.println(e.getMessage());
    System.exit(0);
    End of Log File
    Setting statement option (SQLSetStmtAttr), hStmt=50275112, fOption=25
    Fetching (SQLFetch), hStmt=50274224
    Fetching (SQLFetch), hStmt=50274224
    Fetching (SQLFetch), hStmt=50274224
    Fetching (SQLFetch), hStmt=50274224
    Fetching (SQLFetch), hStmt=50274224
    Fetching (SQLFetch), hStmt=50274224
    Fetching (SQLFetch), hStmt=50274224
    Fetching (SQLFetch), hStmt=50274224
    Fetching (SQLFetch), hStmt=50274224
    Fetching (SQLFetch), hStmt=50274224
    Fetching (SQLFetch), hStmt=50274224
    Fetching (SQLFetch), hStmt=50274224
    Fetching (SQLFetch), hStmt=50274224
    Fetching (SQLFetch), hStmt=50274224
    Fetching (SQLFetch), hStmt=50274224
    Fetching (SQLFetch), hStmt=50274224
    Fetching (SQLFetch), hStmt=50274224
    Fetching (SQLFetch), hStmt=50274224
    Fetching (SQLFetch), hStmt=50274224
    Fetching (SQLFetch), hStmt=50274224
    End of result set (SQL_NO_DATA)
    *Connection.close
    8 Statement(s) to close
    *Statement.close
    Free statement (SQLFreeStmt), hStmt=50281544, fOption=1
    deregistering Statement sun.jdbc.odbc.JdbcOdbcStatement@2e7263
    *Statement.close
    Free statement (SQLFreeStmt), hStmt=50277224, fOption=1
    deregistering Statement sun.jdbc.odbc.JdbcOdbcStatement@1bf216a
    *Statement.close
    *ResultSet.close
    *ResultSet has been closed
    Free statement (SQLFreeStmt), hStmt=50274224, fOption=1
    deregistering Statement sun.jdbc.odbc.JdbcOdbcStatement@156ee8e
    *Statement.close
    Free statement (SQLFreeStmt), hStmt=50280464, fOption=1
    deregistering Statement sun.jdbc.odbc.JdbcOdbcStatement@c20e24
    *Statement.close
    Free statement (SQLFreeStmt), hStmt=50278304, fOption=1
    deregistering Statement sun.jdbc.odbc.JdbcOdbcStatement@12ac982
    *Statement.close
    *ResultSet.close
    *ResultSet has been closed
    Free statement (SQLFreeStmt), hStmt=50275112, fOption=1
    deregistering Statement sun.jdbc.odbc.JdbcOdbcStatement@e0e1c6
    *Statement.close
    Free statement (SQLFreeStmt), hStmt=50276144, fOption=1
    deregistering Statement sun.jdbc.odbc.JdbcOdbcStatement@6ca1c
    *Statement.close
    Free statement (SQLFreeStmt), hStmt=50279384, fOption=1
    deregistering Statement sun.jdbc.odbc.JdbcOdbcStatement@1389e4
    Disconnecting (SQLDisconnect), hDbc=50271048
    Closing connection (SQLFreeConnect), hDbc=50271048
    Closing environment (SQLFreeEnv), hEnv=50270880
    So like what these implicitly closed statements and resultsets are different from explicitly closed
    resultsets and statements..?

    Please do not crosspost/doublepost the same question again. It is rude in terms of netiquette.
    Stick to one topic: [http://forums.sun.com/thread.jspa?threadID=5393387&messageID=10745794#10745794].

  • How to combine both DAQ AI signal, write and read file in single VI

    Hi
     I am the new user of LabVIEW version 7.1 for testing automation application. I have to measure 33 signals ( mostly analog like temp, pressure, etc...) from NI USB 6210 DAQ system and write in master file for future verfication.From real data or from master file back up have to write  one more file if only the signal reaches steady state , which will used for analysis and same signals to be read from this file parallely & make a waveform and/or table display format.
    Pl. help me to shortout this problem 
    note: I have plan to ugrade labVIEW version 2011 shortly, so let me know doing parrel acquistion write and read file for data analysis in same VI in version 7.1...... 

    Parallel operations in LabVIEW are very simple.  Just code it in parallel and it will work.
    Try taking a look at some of the examples in the NI Example Finder (Help > Find Examples).  There you will find example for writing to and reading from files, as well as data acquistion in parallel with other operations.
    You might need a producer/consumer architecture is you are acquiring data very quickly.
    Chris
    Certified LabVIEW Architect
    Certified TestStand Architect

  • 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

  • XML and XSD file to an internal table

    I had read a lot of thread  but i don't understand how to deal with xml/xsd in R3.
    I need someone that have a definite example for this escenary please.
    With OPEN DATASET took from the server XML and XSD file, and put it in two internal tables type string.
    What functions or method have to use, and how to use them, to charge the XML file in an internal table?
    This is an example of XML and XDS:
    XML
    AND CONTINUE
    Best Regards,

    I just tried to interpret your question, it was not obvious what you wanted.
    I guess what you mean is that you have defined (statically) a deep structure, and you want to decode the XML into it. That is called a transformation (transaction STRANS, statement CALL TRANSFORMATION). You have the choice between 2 transformation languages: XSLT and ST. Of course, it depends what release you are running.
    I advise you to play first with the ID transformation, to convert an ABAP deep structured data object into XML, so that you see what XML is generated, this one is called asXML. If you create your own transformation, when you call it, it will first convert automatically the data object to asXML, and the transformation has to do the rest of the job.
    You can do the opposite, i.e. converting from XML to a data object, according to the same principle (intermediate asXML).
    Well, there are lots of things to say, I recommend you to read articles and documentation on XSLT and ST (search on SDN).
    About XSD, it won't help (and I did never see any possibility to use it) to decode the XML, as you must anyway define the target data object statically (and there's no tool to generate the ABAP code of the data object definition from the XSD).
    Note that you may also use iXML libraries to parse the XML.
    Please tell us more.
    BR
    Sandra

  • Diff between logical and physical file path

    Hi ,
    Could you please explain difference between logical and physical file path's and their importance in ABAP.
    Thanks and regards,
    shyla

    Hi
    The function module FILE_GET_NAME convert a logical path into its corresponding physical path.
    The advantage of using logical pathes within your applications is obivous:
    If you need to change the physical path you just adjust it within transaction FILE yet no changes are required to your application.
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/25/ab3a57df3b11d189fc0000e829fbbd/frameset.htm
    The file names that you use in ABAP statements for processing files are physical names. This means that they must be syntactically correct filenames for the operating system under which your R/3 System is running. Once you have created a file from an ABAP program with a particular name and path, you can find the same file using the same name and path at operating system level.
    Since the naming conventions for files and paths differ from operating system to operating system, ABAP programs are only portable from one operating system to another if you use the tools described below.
    To make programs portable, the R/3 System has a concept of logical filenames and paths. These are linked to physical files and paths. The links are created in special tables, which you can maintain according to your own requirements. In an ABAP program, you can then use the function module FILE_GET_NAME to generate a physical filename from a logical one.
    Maintaining platform-independent filenames is part of Customizing. For a full description, choose Tools ® Business Engineer ® Customizing, followed by
    Implement. projects ® SAP Reference IMG. On the next screen, choose Basis Components System Administration ® Platform-independent File Names.
    For a more detailed description of the function module FILE_GET_NAME, enter its name on the initial screen of the Function Builder and choose Goto Documentation. On the next screen, choose Function module doc.
    Another way of maintaining platform-independent filenames is to use the Transaction FILE. The following sections provide an overview of the transaction.
    To create a logical filename, choose Logical filename definition, client-independent from the Navigation group box in Transaction FILE, then choose New entries. You define logical filenames
    You can either define a logical filename and link it to a logical path (as displayed here), or you can enter the full physical filename in the Physical file field. In the latter case, the logical filename is only valid for one operating system. The rules for entering the complete physical filename are the same as for the definition of the physical path for the logical file. To display further information and a list of reserved words, choose Help.
    If you link a logical path to a logical file, the logical file is valid for all syntax groups that have been maintained for that logical path. The filename specified under Physical file replaces the reserved word  in the physical paths that are assigned to the logical path. To make the name independent of the operating system, use names that begin with a letter, contain up to 8 letters, and do not contain special characters.
    Save your changes.

  • File paths and archiving (and referenced files).

    I've come to the stage where I need to start using referenced files (out of disk space on my laptop) and also start archiving projects. One of my plans was to start keeping an off-site backup of all the originals in case something really bad happened. I'm also going to have on-site backup of projects. But for the off-site originals I would like to have some simple way of finding the photos in case something bad happens, my idea was to simply create a PDF from the list view where I could see the photo and the file path to where it's stored (I plan to store them in simple year-month-day hierarchy).
    The reason why I'm not going to archive the projects off-site is simply the cost, I did a test yesterday and it looks like just storing the originals would be approx 1/3 in size of the projects.
    If someone has a better idea of how to handle this please let me knoe

    I'll try to explain.
    About the cost: Hard disk space is really cheap and I can not see how the cost should be that expensive. This is based on your statement that you still have your images on your laptop and that itself limits the amount of space hence a rather small library.
    When it comes to backing up your projects you have several options. First, if you really want to be cheap about hard disk space (I think you should not since your images really are priceless) you can export projects of your referenced images and not consolidate the images into the exported project. Not to consolidate vs. consolidate images on export really makes a difference in the exported project size. On the other hand, not consolidate images on export of a project makes you back up your images separately, which leads to more work.
    My advice is then; buy two disks (preferable three disks), and export your projects with the images consolidated into one of them and start using the other one with your referenced images.
    I always advice users to have their images in at least three different locations and IMHO the ideal solution for you would be to have your images referenced on one disk and mirrored backups on the other two disks, either one stored in two different locations in case of burglary, fire etc.
    Regards
    Paul K

  • "Error saving state file"

    I am getting an error that shows up on the alarm screen - it says "Error saving state file:c\program files\national instruments\lookout 5.0\petco.l4t".
    Background:  An old XP pro machine running the application died and was replaced with a new Dell, business class PC, Optiplex 360, Win XP Pro sp3, 2.2ghz dual core.
    After moving the application and setting up the PC, I get the following message every time it trie to say the state file.
    Is this a compatibility problem with the new hardware?
    What can I do?
    any ideas?
    THANKS
    Mark

    Does this machine have an auto-backup feature?
    Some backup applications can actually lock the partition, making it read only.
    Something to check
    Mike
    Mike Crabtree - Lead Developer
    Destek of Nevada, Inc. / Digital Telemetry Systems, Inc.
    (866) 964-6948 / (760) 247-9512

  • Timestamp in Java log and trace files.

    Hi SAP'ies
    Running PI 7.11 on AIX 6.3 we face an issue with the content of log and trace files from Java.
    Eg.
    The file DefaultTrace_00.0.trc is timestamped 18-05-10 11:16:15. (The same time as the time of the OS/AIX)
    Looking inside the file the last statement is timestamped 2010 05 18 09:16:15.
    How can we ensure that the content of these Java files are timestamped with OS time?
    Looking into ABAP files like dev_w0 the timestamp of the file and the content are equal.
    Best regards,
    Teddy Løv Andersen

    Hello All
    Best way to convert the default trace time is , visit the site
    http://www.csgnetwork.com/epochtime.html
    here enter , for example if you have the following in default trace
    #1.#00265510DE7300120000000F000022030004C77AD7309DF5#1345230317066#com.sap.portal.fpn.rdl
    1345230317066   is time stamp , enter this in the above site to get the time
    Fri Aug 17 2012 21:05:17 GMT+0200
    Regards

  • PLEASE HELP!  iMovie and .MPG Files

    Hello. Please help me. I'm on a G5. 10.5.3. iMovie 7.1.2 (577) I have a series of .MPG files that I need to import into iMovie to edit, arrange and then export over to iDVD, etc. iMovie does not see the .MPG files. The Apple site states that iMovie sees only MPEG-4 files and DV files. I also own Quicktime Pro 7.5 (149.5). When I open the .MPG file in Quicktime Pro, even though the file plays perfectly, when I select "Export to MPEG-4" so I can create a readable file by iMovie, I get an error message that say's "Failed: Export process terminated unexpectedly (10). Complete frustration. Is there another way I can convert these files so iMovie can see them? What's wrong with my Quicktime Pro? I bought DivX Pro last night. I thought maybe that program would make an iMovie readable file. No luck. I used DivX to convert and it created a DivX file with NO SOUND. Wasted money.
    If anyone has any solutions for my problems noted here or possible alternatives so I can achieve what I'm trying to do successfully, PLEASE ADVISE as soon as possible.
    Thank you for taking the time to read this and THANKS, in advance, for your help.
    Message was edited by: Lloyd Winston

    Lloyd Winston wrote:
    I'm still wondering why QT Pro is failing to convert with that error message.
    Well, if the video codec used in the .MPG container is MPEG2, QuickTime cannot export with a source of this format; it can only play it.
    I remember reading about the reason for Apple doing this, and I forgot exactly why it is, but I think it had something to do with some legal issue. I also read that this is why Mac OS has a separate DVD Player instead of just playing DVDs right inside of QuickTime.

Maybe you are looking for

  • Unexpected Signal : 11 Function name=XmRenderTableFree

    Hi, Could someone please help me. I am trying to install Oracle9i but when I run the installer I'm getting an error. A copy of the log file is below. Thanks for any assistance. An unexpected exception has been detected in native code outside the VM.

  • Why can't I reply to e-mail

    I am having trouble with e-mail. Sometimes I can reply to a sender and sometimes I can't. I also can't always send new e-mails. The send mail button is grayed out. What am I doing wrong? Thanks, John K

  • A new type of virus?

    I got a message from a friend I haven't talked to in years this morning, saying nothing but " {hi} Vee! {mess} {links}/{folder}/[Removed for privacy] " after which he promptly went offline again. Now, I'm guessing I'm seeing the hyphenated stuff beca

  • Embedding flv file

    I want to embed a flv video file into a html page. The flv file is approx. 40MB. I embed the video using the insert > media > flash video command in Dreamweaver CS3. Everything works fine, but: As soon as the page is loaded in a browser, it starts do

  • Avaialabilty Check

    Hi, There are three types of availabilty check: Rule based, ATP and product allocation. Can you please explain me the two except ATP that how it works? Regrads Deepak Sharma