KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ



Podobne dokumenty
KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ

Informatyzacja Przedsiębiorstw

Informatyzacja Przedsiębiorstw

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ

Autor: Joanna Karwowska

Laboratorium 7 Blog: dodawanie i edycja wpisów

Oracle PL/SQL. Paweł Rajba.

Wykład 5: PHP: praca z bazą danych MySQL

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Oracle Application Express

5.4. Tworzymy formularze

OPTYMALIZACJA PRACY SQL SERVER PRZY WSPÓŁPRACY Z MICROSOFT DYNAMICS NAV - ZALECENIA PROGRAMISTYCZNE

REJESTRACJA PROJEKTÓW

Oracle11g: Wprowadzenie do SQL

1. Opis ogólny. 2. Opis techniczny. 3. Wymagania techniczne

TRX API opis funkcji interfejsu

6. Formularze tabelaryczne, obiekty nawigacji - rozgałęzienia

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

Wstęp do programowania 2

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

1 Kursory 1. 2 Wyjątki Wyjątki predefiniowane Wyjątki niezdefiniowane wcześniej Definiowanie własnych wyjątków...

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Baza numerów Wersja 1.1

Tabela wewnętrzna - definicja

INSTRUKCJA OBSŁUGI Wersja: 1.8

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. zadania

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

PTI S1 Tabele. Tabele. Tabele

Ćwiczenie 4 Aktualizacja tabel. 1. Skopiuj aplikację przygotowaną na poprzednich zajęciach w katalogu SKOKI1 do nowego katalogu SKOKI2.

BAZY DANYCH Panel sterujący

Stworzenie klasy nie jest równoznaczne z wykorzystaniem wielowątkowości. Uzyskuje się ją dopiero poprzez inicjalizację wątku.

Przychodnia 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę Osoba.

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Integracja sklepu internetowego z serwisem aukcyjnym Swistak.pl

1. Zarządzanie informacją w programie Access

Podstawy Programowania Podstawowa składnia języka C++

Jak zacząć korzystać w HostedExchange.pl ze swojej domeny

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Access - Aplikacja. Tworzenie bazy danych w postaci aplikacji

onfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

Ref. 7 - Język SQL - polecenia DDL i DML

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 3

BAZY DANYCH Cz III. Transakcje, Triggery

Microsoft Access zajęcia 3 4. Tworzenie i wykorzystanie kwerend, formularzy i raportów

Lista dwukierunkowa - przykład implementacji destruktorów

Konfiguracja i uruchomienie usługi Filtry adresów IP dla użytkowników Centrum Usług Internetowych dla Klientów Banku Spółdzielczego w Łęcznej.

Systemy GIS Tworzenie zapytań w bazach danych

Ogranicz listę klasyfikacji budżetowych do powiązanych z danym kontem księgowym

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby

Instalacja i obsługa aplikacji MAC Diagnoza EW

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Konfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Pętle. Programowanie komputerowe

2. Tabele w bazach danych

Modele danych walidacja widoki zorientowane na model

Definiowanie filtrów IP

Oracle PL/SQL. Paweł Rajba.

Projekt Hurtownia, realizacja skojarzeń dostawców i produktów

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

INSTRUKCJA OBSŁUGI Wersja: 2.5

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę

Database Connectivity

Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie.

UMOWY INSTRUKCJA STANOWISKOWA

MODYFIKACJE FORMATEK DOKUMENTÓW, KART MELDUNKOWYCH I POTWIERDZEŃ REZERWACJI W PROGRAMIE FAST REPORT

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

1. Logowanie do systemu

Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.

Materiały. Technologie baz danych. Plan wykładu Kursory. Wykład 5: Kursory jawne. Podprogramy. Kursory jawne. Kursory niejawne

System Obsługi Zleceń

7. Pętle for. Przykłady

Profil pracy wariant konfiguracji programu obejmujący m.in język, walutę, konto allegro, szablon aukcji, zdefiniowane koszty wysyłki itp.

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Zakład Usług Informatycznych OTAGO

Administracja i programowanie pod Microsoft SQL Server 2000

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: 2 CELE LEKCJI: 2.1 Wiadomości: 2.2 Umiejętności: 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE

PRZEWODNIK. Dodawanie i usuwanie rachunków bankowych

INSTRUKCJA UŻYTKOWNIKA

Instrukcja obsługi Szybkiego paragonu w programie LiderSim [ProLider].

Bazy danych wykład dwunasty PL/SQL, c.d. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)

Oracle PL/SQL. Paweł Rajba.

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

UWAGA!!! Przed przystąpieniem do zamknięcia roku proszę zrobić kopie bezpieczeństwa

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

15. Funkcje i procedury składowane PL/SQL

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

Plan wykładu BAZY DANYCH II WYKŁAD 4. Co to jest kursor? Rodzaje kursorów

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

Transkrypt:

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ Wykład 4 Katedra Inżynierii Komputerowej Jakub Romanowski jakub.romanowski@kik.pcz.pl

Operacje na tabelach C/AL Poniższe funkcje odpowiadają za operacje modyfikacji rekordów bazy danych INSERT MODIFY MODIFYALL DELETE DELETEALL

Operacje na tabelach C/AL Niektóre z tych funkcji zwracają wartości logiczne bool Warto sprawdzać warunkiem IF poprawność wykonania we wszystkich możliwych funkcjach W wypadku braku obsługi wykonania tych funkcji program zakończy działanie przez błąd

Funkcja INSERT Służy do dodawania rekordów do tabel Składnia jest następująca: [Ok :=] Record.INSERT([RunTrigger]) Aby dodać rekord musimy zadeklarować zmienną typu Record oraz nadać jej podtyp, którym jest nazwa tabeli do, której dodajemy wpis

Funkcja INSERT przykład (1) Customer.INIT; Customer."No." := '4711'; Customer.Name := 'Andrew Dixon'; Customer.INSERT; Powyższy przykład dodaje wpis z określonymi wartościami, wszystkie pozostałe o ile istnieją będą zainicjowane wartościami domyślnymi

Funkcja INSERT przykład (2) Jeśli pole No. jest kluczem głównym to jest zarazem unikatowe. W wypadku gdy nie istnieje wpis o takim No. rekord będzie dodany poprawnie W wypadku gdy wpis o takim No. jest już zawarty w tabeli otrzymamy komunikat o błędzie, który należy odpowiednio obsłużyć

Funkcja MODIFY Modyfikuje istniejące już rekordy tabeli Składnia: [Ok :=] Record.MODIFY([RunTrigger]) Ta funkcja zwraca wartość Bool. Jeśli rekord jest poprawnie zmodyfikowany zwraca TRUE w przeciwnym wypadku rezultatem wykonania jest FALSE

Funkcja MODIFY przykład Customer.GET('4711'); Customer.Name := 'Richard Roe'; Customer.MODIFY; Powyższy przykład pokazuje zmianę pola Name użytkownika o numerze 4711 Taka operacja wymaga utworzenia zmiennej typu Record oraz podtypu, którym jest nazwa tabeli, na której operujemy

Funkcja MODIFYALL(1) Funkcja MODIFYALL wykonuje operacje zbiorowe Składnia: Record.MODIFYALL(Field, NewValue [, RunTrigger]) Funkcja ta używa bieżącego filtra co oznacza, że operuje na grupie rekordów określonych filtrem

Funkcja MODIFYALL(2) Funkcja MODIFYALL nie zwraca żadnej wartości co za tym idzie nie powoduje błędu programu w momencie gdy pobrany zbiór rekordów jest pusty W celu stworzenia zbioru do modyfikacji należy stworzyć zmienną typu Record oraz podtypu, którym jest nazwa tabeli, na której rekoordach dokonujemy zmian

Funkcja MODIFYALL przykład Customer.SETRANGE("Salesperson Code",'PS','PS'); Customer.MODIFYALL("Salesperson Code",'JR'); W powyższym przykładzie SETRANGE wybier sprzedawców na podstawie kodu PS MDIFYALL dokonuje zmiany kodu sprzedawcy w wybranej grupie z PS na JR

Funkcja DELETE Funkcja DELETE usuwa rekord z wybranej tabeli Składnia: [Ok :=] Record.DELETE([RunTrigger]) Rekord, który chcemy usunąć musi być określony kluczem głównym Funkcja DELETE nie bierze pod uwagę filtrów

Funkcja DELETE przykład Customer."No." := '4711'; Customer.DELETE; Przykład przedstawia usuwanie klienta o No. równym 4711 Aby dokonywać operacji usuwania należy stworzyć zmienną typu Record i podtypu, którym jest nazwa tabeli

Funkcja DELETE uwagi Funkcja ta zwraca wartość typu Bool i z uwagi na to należy zastosować obsługę wyjątku gdy nie zostanie odnaleziony rekord do usunięcia (zwróci FALSE) W wypadku odnalezienia rekordu do usunięcia funkcja zwraca TRUE

Funkcja DELETE scenariusz (1) Trzy kroki, które należy wykonać używając funkcji DELETE: Pobieramy rekord z bazy danych Dokonujemy wszelkich kontroli i sprawdzenia warunków czy dany rekord może zostać usunięty Jeśli w poprzednim kroku nie ma zastrzeżeń usuwamy rekord

Funkcja DELETE scenariusz (2) Szereg sprawdzeń ma na celu uniknięcie kolizji w operacjach na rekordach i tabelach W systemie, na którym pracuje wiele osób istnieje duże ryzyko, że ktoś zmodyfikuje nasz rekord lub nawet usunie go w trakcje naszych operacji co spowoduje przerwanie programu zakończone błędem W systemach używanych przez wiele osób jednocześnie można zastosować funkcję LOCKTABLE

Funkcja DELETEALL (1) Funkcja DELETEALL usuwa zestawy rekordów określone poprzez filtry W wypadku braku filtrów funkcja ta usunie wszystkie rekordy z tabeli, na której jej używamy Składnia: Record.DELETEALL([RunTrigger])

Funkcja DELETEALL (2) Działanie tego typu wymaga stworzenia zmiennej typu Record i podtypu o nazwie przetwarzanej tabeli Poniższy przykład usuwa wszystkie rekordy gzie kod sprzedawcy to PS Przykład: Customer.SETRANGE("Salesperson Code", 'PS', 'PS'); Customer.DELETEALL;

Funkcja DELETEALL (3) Kiedy używamy funkcji DELETEALL wywoływany jest trigger dla tabeli na której działamy a wartości do usunięcia przechowywane są w kopii(zmiennej) automatycznie tworzonej przez C/AL. Jeśli chcemy kontrolować poprawność usuwania rekordów uzyskując rezultat TRUE/FALSE należy używać funkcji DELETE w pętli

Funkcja LOCKTABLE Służy do bezpiecznych operacji na tabelach Blokuje tabelę na czas wykonania operacji na niej Składni: Record.LOCKTABLE([Wait] [, VersionCheck])

Funkcja LOCKTABLE schemat

Bibliografia Microsoft Dynamics NAV 2005 Application Designer s Guide Microsoft Dynamics NAV Programming Guide Microsoft Official Training Materials for Microsoft Dynamics C/AL. Functions http://msdn.microsoft.com/enus/library/dd355277.aspx