Eliminating/workarounding key date concept in Student File

Hi,
Short question: can I safely use a default key date of January 1, 1900 everywhere in Student File/Student Master data? with all organizational structure objects also created using this date?
The rationale behind this decision is to reduce confusion for the end user, which I noticed is more than likely.
A classical example is the possibility to version birth dates in Student Master Data even though logically this should be a single instance of data only. Ever. However, if we set the key date as "today" or the beginning of an academic period, any corrections would be seen as versions. This confuses the end user, which version is the current one and which one is merely a data correction (and shouldn't be visible at all).
However, won't setting the key date to 1900 have unexpected complications somewhere else? One complication I already noticed was with creating faculty as HR personnel (they serve as advisors for students and are later assigned in Student File). Faculty birth dates are not allowed to be entered in this case because (I assume) the system thinks faculty can't be born later than the object created (although student birth dates are OK even though the corresponding objects were also created at January 1, 1900)
Overall, is it possible to eliminate the key date concept from the Student File/Master Data completely? As it feels to do more harm than good.
Janek

Janek,
Of course becasue there is validity dating of the data values, it is necessary to use a key date when you display/change the data.
For the issue of fields like birthdate, you are right that any 'change' is pretty much a data correction.  It is not possible for a student to really have different brithdates that were valid for different periods!
It really is something that users must be trained to do.  If they are doing a data correction, they should change the data from the first data 'period', rather than just as of the current date.
Michael

Similar Messages

  • Student file & master data change according to authority

    Deal all,
    I have following requirements about student file and master data that certain IT are not displayed when i do not have authority.
    for example, if A student is belong to my department, IT1702 must be dislayed but student B is not belong to my department IT1702 must be disabled or must dissappear.
    if i can adjust student file & master data according authority (student belong to my department or not) it would be very nice.
    regards,
    jin dal

    Hi,
    The authorizations checks in Campus Management consist of the basic authorization and the structural HR authorization.
    The basic authorization determines whether the user is allowed to execute a certain function, while the structural authorization determines the objects for which the user is allowed to execute this function. In other words, the basic authorization defines what function the user is allowed to use, and the structural authorization defines for which objects the user is allowed to use this function.
    For example, the basic authorization can define that the user is allowed to perform the create module booking activity. With the structural authorization you can restrict this activity only to modules offered by the faculty of Mathematics, for example. (The user can then access these modules whenever required; see also Structural Authorization).
    Basic Authorization
    In release CM 4.64, three authorization objects are used in Campus Management:
    At the first level is the transaction code check. The system performs this check each time the user starts a transaction using the menu or command line. For this check to be successful, the user requires an authorization for the relevant transaction code in the authorization object S_TCODE.
    At the second level, the Campus Management function is divided into two parts. The first part includes activities such as create request, create registration, create re-registration, cancel module booking, and so on. The second part covers master data like student master data and a major part of the academic structure.
    When checking the authorizations for master data, the system uses the HR authorization object PLOG for master data authorization checks. A new authorization object ( P_CM_PROC) has been implemented for activities in release CM 4.64. The system now only checks whether the user is authorized to use the activity. It no longer checks if the user is authorized to read or change the data in this activity. The new authorization concept has the following advantages:
    It simplifies authorization assignment. The system no longer uses the comprehensive data model with its many objects and object interrelationships as the basis for the activity authorization (authorization assignment via authorization object PLOG);
    Changes in the data model have no effects on the authorization checks for activities;
    It is now possible to distinguish between create and change operations, for example in re-registrations;
    You can now distinguish between re-registrations and leaves of absence.
    The table T7PIQPROCESS (Activities) contains all Campus Management activities. The system performs authorization checks for all activities with the exception of the ones listed below.
    Authorization checkes are not performed for the following activities:
    AC10 (Send Reminder for Outstanding Payments)
    HSMA (Create Status Indicator Manually)
    PR11 (Create Applicability List Automatically)
    These activities do not contain any activity-related authorization checks.
    In the standard system, the authorization check for activities is independent of the objects for which the activities are performed, and of their attributes. (The structural authorization only restricts the objects which the user can then process irrespective of the activity.). If you require additional checks, you can use the business add-in HRPIQ00AUTHORITY.
    Structural Authorization
    The structural authorization enables you to define the set of objects the user is authorized to process. You determine these objects using evaluation paths. You can define whether the user should only be given a display authorization for these objects or a maintenance authorization as well.
    You cannot combine the structural authorization with the basic authorization. The user is therefore authorized to process the assigned set of objects irrespective of the function (s)he is currently using.
    Further notes
    As functions from other applications areas (Training and Event Management, Notification Processing) and from Student Accounting are integrated in Campus Management, users also need authorizations from these areas.
    Campus Management contains a number of roles which you can combine with the roles of other application areas to create composite roles. You can either assign a composite role or individual roles to users.
    Component Prefix of the roles provided
    Campus Management SAP_CM_
    Training and Event Management SAP_HR_PE
    Notification processing SAP_CA_NO_NOTIF
    Student Accounting SAP_FI_CA_
    You create the business partner authorizations in separate IMG activities which you can find in Customizing for Campus Management in Campus Management Master Data -> Students -> Students as Business Partners -> Basic Business Partner Settings -> SAP Business Partner -> Business Partner -> Basic Settings -> Authorization Management.
    In the SAP Reference IMG under Basis Components -> System Administration -> Users and Authorizations, you can find more IMG activities in which you can make general settings for authorizations.

  • Concept to retrieve GL for open at key date (back date)

    Dear All,
    Need help in finding the concept for retrieving the GL items for open at key date (back date).
    I have a  requirement to retrieve all the open items of GL at particular  date.Please help me to write a query to retrieve those items which are present in BSAS table opened till that particular date.
    For example : suppose I need to find all the open items of GL till date 01.01.2014.Then we need to retrieve from BSAS table also.What will be the fetching criteria to retrieve from BSAS table.
    Regards
    Sushant

    Hi,
    As Jelena & Nabheet mentioned, these details are already available in standard transactions  FBL3N or FAGLL03. 
    One question is why do you need this report.
    i) In case, you need  to display only selected fields, you can ask the user to create a layout variant. If you want additional fields, there are BTE's available to add extra fields in the transaction. Other option is to create a custom report, call FBL3N transaction using submit statement and then read the runtime ALV data in the calling program.
    ii) If you are using it in smartforms print program, It is always better to copy the logic from FBL3N  than extracting data from BSIS & BSAS tables as that won't always give correct results ( Explanation given below ).
    For some GL's ,  accounting data does not get stored in tables BSIS & BSAS.  Configuration in GL master decides whether accounting document's detail will get stored in indexed tables BSIS & BSAS or not.
    Transaction FS00 ( GL master data)
    If line item display checkbox is ticked- GL accounting details will get stored in BSEG, BSIS & BSAS.
    If line item display checkbox is not set - GL accounting details will be available only in BSEG.
    Regards,
    DPM

  • Key Date variable; Interval in query properties for Time Dep. Masterdata

    Hi,
    I've been searching on the forum, and I think I know the answer already, but still I'd like
    to ask you all whether it's possible to create a Key Date Interval variable to be used in the query properties.
    As far as I can see you can only report by a single key date used in the query properties field for time dependant masterdata, but my customer has asked me to investigate the possibility to enter a date range.
    As all masterdata is time dependant I don't see how this would work, but if someone can shine a light on this maybe there is a solution available?
    Thanks for your help.
    M.

    Hi marc
    I understand your problem.
    I had an idea for a workaround.
    If you can create master data compounded with Valid from and Valid to both of these characteristics , how the query is computing
    the keyfigures.
    Every change in valid from or valid to is unique for the system in this case.
    Thanks
    N.Ganesh

  • How can I extract data from a sound file in carbon

    hello,
    I am a student and I start recently learning carbon. I have to do a application which can read and extract data from a sound file and use that data to do some kind of visual representation of the file. I would like to know if someone can give some directions, tutorial,some code sample etc.
    thank you for your help
    chenita7

    hello orangekay
    My idea is to create an application that can read a sound file( AIFF, MP3 or other) in order to extract some kind of data ( numbers or any values) and use that data to represent the sound file visually.
    I dont know which kind of data can be extract from a sound file, and in which way i can manipulate that data to became a visual representation of the sound file. this is what I want to do as my second assignment for a subject at school, introduction to programming. has to be done based in carbon.
    regards
    chenita7

  • Storing Persistent Data In A Flat File -- Design Ideas?

    I have an application that needs to store a small amount of persistent data. I want to store it in a flat config file, with categories and key-value pairs. The flat file might look something like this:
    John:
    hair=green
    weight=170
    Sally:
    eyes=blue
    weight=110
    and so on. My application will initialize a custom class with the data stored in the file, and then work with that class. When updates are made to the data as the application runs, the file will need to be changed too (so that changes will be reflected even if the program crashes, eg).
    What is the best way to implement this? Does Java have any built in classes that allow for something like this? I was thinking about Serializable (which I've never used), but I want the file to be human readable and editable. How about using RandomAccessFile? I'm guessing there is a better way....
    Thanks for any advice,
    John

    I'd use a XML structure; classes for XML storing/parsing are part of the API, the structure of XML is flexible enough and human-readable.

  • Rejecting the Data to a flat file

    Hi,
    I want to reject the bad data to a flat file. For example, for primary key violation, the bad data should be loaded to a flat file, instead of giving the error and stopping my mapping job (after the error limit of 50).
    Can I do this? Please do help me.
    Thanks,
    Harsha

    Hi,
    what is your actual requirement?
    If you do not want the mapping to fail after raising the 50 errors, then configure your mapping and increase the value for Maximum number of errors tab under runtime parameters.
    If you actually want to capture all the PK violations into a flat file, there is no direct way of doing this.
    Either you have to query RT repository views (write your own sql) to produce a file OR
    While in Mapping Configure window
    expand Sources and Targets
    expand constraint management
    set Enable constraints to FALSE
    set Exceptions Table Name <your own exceptions table>.
    Have a look in Oracle Documentation for constraint management. That should give you an idea how to create your own exceptions table etc.
    HTH
    mahesh

  • Uploading Data from a Flat File

    Hi
    I am trying to Upload data from a Flat File to the MDS. I have a few questions on the Process.
    a) XI would be the Interface, and one end would be a file adapter with the Flat File format. On the other end, which Interface should I use - ABA Business Partner In or MDM Business Partner In. I do not understand the differences between them and where should which one be used?
    B) At the moment,I want to map the data to standard Object type, Business Partner  BUS1006. This also has a staging area already defined in the System. Can I view the data which is imported into the Staging area ? How so ?
    C) The struture (or data) that I wish to upload has few fields, and does not map to the BP structure easily. In such a scenario does it make sense to
    Create a new Object type
    (ii) Create a new Business Partner type with the appropriate fields only ..
    What I need to know is if either of these options is feasible and what are the pros & cons of doing this, in terms of effort, skillset & interaction with SAP Development ?
    Kindly do reply if you have any answers to these questions.
    Regards,
    Gaurav

    Hi Markus,
    Thanks for your inputs.
    I have tried uploading some dats from a Flat file to the Business Partner Onject type, BUS1006. I initially got some ABAP Parsing errors on the MDM side, but after correcting that, I find my message triggers a short dump - with the Method SET_OBJECTKEYS, not finding any keys in the BP structure that has been created.
    Q1 - How do I get around this problem ? Is it necessary for me to specify Keys in the PartyID node of the Interface ABABusinessPartnerIn. or is it something else ?
    Q2 - How is this general process supposed to work? I would assume that for staging, I would get incomplete Master data or data from flat files, which need not neccesarily contain keys. The aim is to use the matching strategies in the CI to identify duplicates and consolidate them.
    Thanks in advance for your reply.
    Regards,
    Gaurav

  • GUI_UPLOAD to read data from an Excel File

    Hi Folks,
    I'm using FM GUI_UPLOAD to read data from an Excel File. But all I see in the table returned is 1 row with garbage values (special chacaters). Excel Workbook has proper data in the sheet, but its not getting uploaded properly. Sy-subrc is 0.
    What could be the reason?
    Thanks

    use FM : ALSM_EXCEL_TO_INTERNAL_TABLE
    See the example program to get from XLS file to Internal table
    REPORT ZLWMI151_UPLOAD no standard page heading
                           line-size 100 line-count 60.
    *tables : zbatch_cross_ref.
    data : begin of t_text occurs 0,
           werks(4) type c,
           cmatnr(15) type c,
           srlno(12) type n,
           matnr(7) type n,
           charg(10) type n,
           end of t_text.
    data: begin of t_zbatch occurs 0,
          werks like zbatch_cross_ref-werks,
          cmatnr like zbatch_cross_ref-cmatnr,
          srlno like zbatch_cross_ref-srlno,
          matnr like zbatch_cross_ref-matnr,
          charg like zbatch_cross_ref-charg,
          end of t_zbatch.
    data : g_repid like sy-repid,
           g_line like sy-index,
           g_line1 like sy-index,
           $v_start_col         type i value '1',
           $v_start_row         type i value '2',
           $v_end_col           type i value '256',
           $v_end_row           type i value '65536',
           gd_currentrow type i.
    data: itab like alsmex_tabline occurs 0 with header line.
    data : t_final like zbatch_cross_ref occurs 0 with header line.
    selection-screen : begin of block blk with frame title text.
    parameters : p_file like rlgrap-filename obligatory.
    selection-screen : end of block blk.
    initialization.
      g_repid = sy-repid.
    at selection-screen on value-request for p_file.
      CALL FUNCTION 'F4_FILENAME'
           EXPORTING
                PROGRAM_NAME = g_repid
           IMPORTING
                FILE_NAME    = p_file.
    start-of-selection.
    Uploading the data into Internal Table
      perform upload_data.
      perform modify_table.
    top-of-page.
      CALL FUNCTION 'Z_HEADER'
      EXPORTING
        FLEX_TEXT1       =
        FLEX_TEXT2       =
        FLEX_TEXT3       =
    *&      Form  upload_data
          text
    FORM upload_data.
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
           EXPORTING
                FILENAME                = p_file
                I_BEGIN_COL             = $v_start_col
                I_BEGIN_ROW             = $v_start_row
                I_END_COL               = $v_end_col
                I_END_ROW               = $v_end_row
           TABLES
                INTERN                  = itab
           EXCEPTIONS
                INCONSISTENT_PARAMETERS = 1
                UPLOAD_OLE              = 2
                OTHERS                  = 3.
      IF SY-SUBRC <> 0.
        write:/10 'File '.
      ENDIF.
      if sy-subrc eq 0.
        read table itab index 1.
        gd_currentrow = itab-row.
        loop at itab.
          if itab-row ne gd_currentrow.
            append t_text.
            clear t_text.
            gd_currentrow = itab-row.
          endif.
          case itab-col.
            when '0001'.
              t_text-werks = itab-value.
            when '0002'.
              t_text-cmatnr = itab-value.
            when '0003'.
              t_text-srlno = itab-value.
            when '0004'.
              t_text-matnr = itab-value.
            when '0005'.
              t_text-charg = itab-value.
          endcase.
        endloop.
      endif.
      append t_text.
    ENDFORM.                    " upload_data
    *&      Form  modify_table
          Modify the table ZBATCH_CROSS_REF
    FORM modify_table.
      loop at t_text.
        t_final-werks = t_text-werks.
        t_final-cmatnr = t_text-cmatnr.
        t_final-srlno = t_text-srlno.
        t_final-matnr = t_text-matnr.
        t_final-charg = t_text-charg.
        t_final-erdat = sy-datum.
        t_final-erzet = sy-uzeit.
        t_final-ernam = sy-uname.
        t_final-rstat = 'U'.
        append t_final.
        clear t_final.
      endloop.
      delete t_final where werks = ''.
      describe table t_final lines g_line.
      sort t_final by werks cmatnr srlno.
    Deleting the Duplicate Records
      perform select_data.
      describe table t_final lines g_line1.
      modify zbatch_cross_ref from table t_final.
      if sy-subrc ne 0.
        write:/ 'Updation failed'.
      else.
        Skip 1.
        Write:/12 'Updation has been Completed Sucessfully'.
        skip 1.
        Write:/12 'Records in file ',42 g_line .
        write:/12 'Updated records in Table',42 g_line1.
      endif.
      delete from zbatch_cross_ref where werks = ''.
    ENDFORM.                    " modify_table
    *&      Form  select_data
          Deleting the duplicate records
    FORM select_data.
      select werks
             cmatnr
             srlno from zbatch_cross_ref
             into table t_zbatch for all entries in t_final
             where werks = t_final-werks
             and  cmatnr = t_final-cmatnr
             and srlno = t_final-srlno.
      sort t_zbatch by werks cmatnr srlno.
      loop at t_zbatch.
        read table t_final with key werks = t_zbatch-werks
                                    cmatnr = t_zbatch-cmatnr
                                    srlno = t_zbatch-srlno.
        if sy-subrc eq 0.
          delete table t_final .
        endif.
        clear: t_zbatch,
               t_final.
      endloop.
    ENDFORM.                    " select_data

  • Do not want key date in the selection screen in query

    Hi,
    I have made a query for Customer Ageing. I do not want a selection screen- however, i still get a prompt for the 'Key Date'.
    Can someone suggest me a workaround?
    Many Thanks,
    Deepinder

    Hi Deepinder,
    Though Key date is not there in the filter area, it is being used in any restrcited key figures in your report. Check all the RKFs used in your report. Also the ones indirectly involved in calculations. May be you are calculating diff between key date and posting date and then used this difference for further calculations.
    Either you remove those RKFs if not needed, or in the property of your formula variable uncheck ready for input.
    Best Wishes,
    Mayank

  • How to set a Student Profile Picture in Student File (PIQST10)

    Hi Experts,
    I want to ask your help to know if there's a standard functionality for showing a student profile picture in the main screen of the student file (piqst10).
    Thanks so much for your suggestions in advance.
    Best regards,
    Johann Daniels

    Hi Johann,
    Currently in the standard it is only visible in the PIQSTM transaction. The Generic object services* provide you a framework to upload and relate documents to an object (in this example the ST object).
    I do not know which system/version/etc you are using but you can check the following if it already is configured out of the standard:
    1. piqst00
    2. click on the little black arrow-button next to the titel of transaction 'student file'
    3. click on 'create'
    4. click on 'store business document'
    5. doubleclick on document type 'student photo'
    6. upload your photo from your local pc
    7. click on the green flag.
    8. It should be there on the right of the header ata once you open piqstm/d (if you double-click the photo a pop-up will open with the photo).
    Please drop me an e-mail so that I can share a document with you that describes the steps to take to prepare your system.
    br
    Rob
    also in STIC (student information center) self-service webdynpro
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVOBS/BCSRVOBS.pdf

  • Step by Step details on how to load data from a flat file

    hi can anyone explain how to load data from a flat file. Pls giv me step by step details. thnx

    hi sonam.
    it is very easy to load data from flat file. whn compared with other extrations methods...
    here r the step to load transation data from a flat file.......
    step:1 create a Flat File.
    step:2 log on to sap bw (t.code : rsa1 or rsa13).
    and observe the flat file source system icon. i.e pc icon.
    step:3 create required info objects.
    3.1: create infoarea
         (infoObjects Under Modeling > infoObjects (root node)-> context menu -
    > create infoarea).
    3.2:  create char /keyfig infoObject Catalog.(select infoArea ---.context menu --->create infoObject catalog).
    3.3:   create char.. infoObj and keyFig infoObjects accourding to ur requirement and activate them.
    step:4 create infoSource for transaction data and create transfer structure and maintain communication structure...
        4.1: first create a application component.(select InfoSources Under modeling-->infosources<root node>>context menu-->create  applic...component)
       4.2: create infoSource  for transation data(select appl..comp--.context menu-->create infosource)
    >select O flexible update and give info source name..
    >continue..
    4.4: *IMp* ASSIGN DATASOURCE..
      (EXPAND APPLIC ..COMP..>EXPAND YOUR INFOSOURCE>CONTEXT MENU>ASSIGN DATASOURCE.)
    >* DATASOURCE *
    >O SOURCE SYSTEM: <BROWSE AND CHOOSE YOUR FLAT FILE SOURCE SYSTEM>.(EX:PC ICON).
    >CONTINUE.
    4.5: DEFINE DATASOURCE/TRANSFER STRUCTURE  FOR IN FOSOURCE..
    > SELECT TRANSFER STRUCTURE TAB.
    >FILL THE INFOOBJECT FILLED WITH THE NECESSARY  INFOOBJ IN THE ORDER OR SEQUENCE OF FLAT FILE STRUCTURE.
    4.6: ASSIGN TRANSFER RULES.
    ---> NOW SELECT TRANSFER RULES TAB. AND SELECT PROPOSE TRANSFER RULES SPINDLE LIKE ICON.
    (IF DATA TARGET IS ODS -
    INCLUDE 0RECORDMODE IN COMMUNICATION STRUCTURE.)
    --->ACTIVATE...
    STEP:5  CREATE DATATARGET.(INFOCUBE/ODS OBJECT).
    5.1: CREATE INFO CUBE.
    -->SELECT YOUR INFOAREA>CONTEXT MENU>CREATE INFOCUBE.
    5.2: CREATE INFOCUBE STRUCTURE.
    ---> FILL THE STRUCTURE PANE WILL REQUIRE INFOOBJECTS...(SELECT INFOSOURCE ICON>FIND UR INFOSOURCE >DOUBLE CLICK > SELECT "YES" FOR INFOOBJECT ASSIGNMENT ).
    >MAINTAIN ATLEAST  ON TIME CHAR.......(EX; 0CALDAY).
    5.3:DEFINE AND ASSIGN DIMENSIONS FOR YOUR CHARACTERISTICS..
    >ACTIVATE..
    STEP:6 CREATE UPDATE RULES FOR INFOCUDE USING INFOSOURCE .
    >SELECT UR INFOCUBE >CONTEXT MENU> CREATE UPDATE RULES.
    > DATASOURCE
    > O INFOSOURCE : _________(U R INFOSOURCE). AND PRESS ENTER KEY.......
    >ACTIVATE.....UR UPDATE RULES....
    >>>>SEE THE DATA FLOW <<<<<<<<----
    STEP:7  SCHEDULE / LOAD DATA..
    7.1 CREATE INFOPACKAGE.
    --->SELECT INFOSOURCE UNDER MODELING> EXPAND UR APPLIC.. COMP..> EXPAND UR INFOSOURCE..> SELECT UR DATASOURCE ASSIGN MENT ICON....>CONTEXT MENU> CREAE INFOPACKAGE..
    >GIVE INFOPACKAGE DISCREPTION............_________
    >SELECT YOUR DATA SOURCE.-------> AND PRESS CONTINUE .....
    >SELECT EXTERNAL DATA TAB...
    > SELECT *CLIENT WORKSTATION oR APPLI SERVER  >GIVE FILE NAME > FILE TYPE> DATA SAPARATER>
    >SELECT PROCESSING TAB
    > PSA AND THEN INTO DATATARGETS....
    >DATATARGET TAB.
    >O SELECT DATA TARGETS
    [ ] UPDATE DATATARGET CHECK BOX.....
    --->UPDATE TAB.
    O FULL UPDATE...
    >SCHEDULE TAB..
    >SELECT O START DATA LOAD IMMEDIATELY...
    AND SELECT  "START" BUTTON........
    >>>>>>>>>>
    STEP:8 MONITOR DATA
    > CHECK DATA IN PSA
    CHECK DATA IN DATA TARGETS.....
    >>>>>>>>>>> <<<<<<<<<----
    I HOPE THIS LL HELP YOU.....

  • I need to import data from a CSV file to an Oracle table

    I need to import data from a CSV file to an Oracle table. I'd prefer to use either SQL Developer or SQL Plus code.
    As an example, my target database is HH910TS2, server is ADDb0001, my dB login is em/em, the Oracle table is AE1 and the CSV file is AECSV.
    Any ideas / help ?

    And just for clarity, it's good to get your head around some basic concepts...
    user635625 wrote:
    I need to import data from a CSV file to an Oracle table. I'd prefer to use either SQL Developer or SQL Plus code.SQL Developer is a GUI front end that submits code to the database and displays the results. It does not have any code of it's own (although it may have some "commands" that are SQL Developer specific)
    SQL*Plus is another front end (character based rather than GUI) that submits code to the database and displays the results. It also does not have code of it's own although there are SQL*Plus commands for use only in the SQL*Plus environment.
    The "code" that you are referring to is either SQL or PL/SQL, so you shouldn't limit yourself to thinking it has to be for SQL Developer or SQL*Plus. There are many front end tools that can all deal with the same SQL and/or PL/SQL code. Focus on the SQL and/or PL/SQL side of your coding and don't concern yourself with limitations of what tool you are using. We often see people on here who don't recognise these differences and then ask why their code isn't working when they've put SQL*Plus commands inside their PL/SQL code. ;)

  • Comparing SQL Data Results with CSV file contents

    I have the following scenario that I need to resolve and I'm unsure of how to approach it. Let me explain what I am needing and what I have currently done.
    I've created an application that automatically marks assessments that delegates complete by comparing SQL Data to CSV file data. I'm using C# to build the objects required that will load the data from SQL into a dataset which is then compared to the
    associated CSV file that contains the required results to mark against.
    Currently everything is working as expected but I've noticed that if there is a difference in the number of rows returned into the SQL-based dataset, then my application doesn't mark the items at all.
    Here is an example:
    ScenarioCSV contains 4 rows with 8 columns of information, however, let's say that the delegate was only able to insert 2 rows of data into the dataset. When this happens it marks everything wrong because row 1 in both CSV and dataset files were correct,
    however, row 2 in the dataset holds the results found in row 4 in the CSV file and because of this it is comparing it against row 2 in the CSV file.
    How can I check whether a row, regardless of its order, can be marked as it does exist but not in the same order, so I don't want the delegate to lose marks just because the row data in the dataset is not perfectly in the same order of the row data
    in the CSV file???
    I'm at a loss and any assistance will be of huge help to me. I have implemented a ORDER BY clause in the dataset and ensured that the same order is set in the CSV file. This has helped me for scenarios where there are the right number of rows in the dataset,
    but as soon as there is 1 row that is missing in the dataset, then the marking just doesn't allow for any marks for both rows even if the data is correct.
    I hope I've made sense!! If not, let me know and I will provide a better description and perhaps examples of the dataset data and the csv data that is being compared.
    Thanks in advance....

    I would read the CSV into a datatable using oledb. Below is code I wrote a few weeks ago to do this.
    Then you can compare two datatables by a common primary key (like ID number)
    Below is the webpage to compare two datatables
    http://stackoverflow.com/questions/10984453/compare-two-datatables-for-differences-in-c
    You can find lots of examples by perform following google search
    "c# linq compare two dattatable"
    //Creates a CSVReader Class
    public class CSVReader
    public DataSet ReadCSVFile(string fullPath, bool headerRow)
    string path = fullPath.Substring(0, fullPath.LastIndexOf("\\") + 1);
    string filename = fullPath.Substring(fullPath.LastIndexOf("\\") + 1);
    DataSet ds = new DataSet();
    try
    if (File.Exists(fullPath))
    string ConStr = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}" + ";Extended Properties=\"Text;HDR={1};FMT=Delimited\\\"", path, headerRow ? "Yes" : "No");
    string SQL = string.Format("SELECT * FROM {0}", filename);
    OleDbDataAdapter adapter = new OleDbDataAdapter(SQL, ConStr);
    adapter.Fill(ds, "TextFile");
    ds.Tables[0].TableName = "Table1";
    foreach (DataColumn col in ds.Tables["Table1"].Columns)
    col.ColumnName = col.ColumnName.Replace(" ", "_");
    catch (Exception ex)
    MessageBox.Show(ex.Message);
    return ds;
    jdweng

  • PGC has an error--data rate of this file is too high for DVD

    Getting one of those seemingly elusive PGC errors, though mine seems to be different from many of the ones listed here. Mine is telling me that the data rate of my file is too high for DVD. Only problem is, the file it's telling me has a datarate that is too high, is a slideshow which Encore has built using imported jpg files. I got the message, tried going into the slideshow and deleting the photo at the particular spot in the timeline where it said it had the problem, now getting the same message again with a different timecode spot in the same slideshow. The pictures are fairly big, but I assumed that Encore would automatically resize them to fit an NTSC DVD timeline. Do I need to open all the pictures in Photoshop and scale them down to 720x480 before I begin with the slideshows?

    With those efforts, regarding the RAM, it would *seem* that physical memory was not the problem.
    I'd look to how Windows is managing both the RAM addresses and also its Virtual Memory. To the former, I've seen programs/Processes that lock certain memory addresses upon launch (may be in startup), and do not report this to Windows accurately. Along those lines, you might want to use Task Manager to see what Processes are running from startup on your machine. I'll bet that you've got some that are not necessary, even if IT is doing a good job with the system setup. One can use MSCONFIG to do a trial of the system, without some of these.
    I also use a little program, EndItAll2 for eliminating all non-necessary programs and Processes, when doing editing. It's freeware, has a tiny footprint and usually does a perfect job of surveying your running programs and Processes, to shut them down. You can also modify its list, incase it wants to shut down something that IS necessary. I always Exit from my AV, spyware, popup-blocker, etc., as these progams will lie to EndItAll2 and say that they ARE necessary, as part of their job. Just close 'em out in the Tasktray, then run EndItAll2. Obviously, you'll need to do this with the approval of IT, but NLE machines need all available resources.
    Now, to the Virtual Memory. It is possible that Windows is not doing a good job of managing a dynamic Page File. Usually, it does, but many find there is greater stability with a fixed size at about 1.5 to 2.5x the physical RAM. I use the upper end with great results. A static Page File also makes defragmenting the HDD a bit easier too. I also have my Page File split over two physical HDD's. Some find locating to, say D:\ works best. For whatever reason, my XP-Pro SP3 demanded that I have it on C:\, or split between C:\ and D:\. Same OS on my 3 HDD laptop was cool having it on D:\ only. Go figure.
    These are just some thoughts.
    Glad that you got part of it solved and good luck with the next part. Since this seems to affect both PrPro and En, sounds system related.
    Hunt
    PS some IT techs love to add all sorts of monitors to the computers, especially if networkded. These are not usually bad, but are usually out of the mainstream, in that most users will never have most of these. You might want to ask about any monitors. Also, are you the only person with an NLE computer under the IT department? In major business offices, this often happens. Most IT folk do not have much, if any, experience with graphics, or NLE workstations. They spend their days servicing database, word processing and spreadsheet boxes.

Maybe you are looking for

  • I always have a problem with the silverlight plug-in crashing when I use Firefox 3.6. What is the solution to this?

    The problem occurs when I try to respond to an email or forward an attachment with an email. I always get a message that "the silverlight plug-in has crashed". I send a crash report or reload the page but it does not solve the problem.

  • Hi all New to WebDynpro for ABAP

    Hi All, I am New to WebDynpro. I try to create an Hello world program for the first time. I first created a WebDynpro by using SE80. Then i created a view by right clicking on it. but once the View was created at the Layout tab i am getting the error

  • IBook to video projector

    In the past I have connected my iBook G4 to a video projector with the video adapter cable using an RCA cord from the adapter to the "video in" of the projector. The projector automatically recognizes the input and it works. The past two times I have

  • Consolidating songs into one album using iTunes 12

    In earlier versions of iTunes I was able to dump songs into one album, but with the new iTunes 12.0.1.26 I cannot seem to get the songs into one album.  Anyone have any ideas. Thanks for your time.

  • Download to Excel" function cuts off leading zeros in string

    When a text column contains leading zeros for example "000250" the download to Excel stores the string as "250" in the spreadsheet I am unable to find a log about this thanks Muthanna