48
UNIVERZA V MARIBORU FAKULTETA ZA ORGANIZACIJSKE VEDE Diplomsko delo visokošolskega strokovnega študija Smer: Informatika v organizaciji in managementu Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji Mentor: prof. dr. Vladislav Rajkovič Kandidat: Gašper Vrezovnik Kranj, februar 2008

Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

  • Upload
    vodieu

  • View
    217

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

UNIVERZA V MARIBORU FAKULTETA ZA ORGANIZACIJSKE VEDE

Diplomsko delo visokošolskega strokovnega študija Smer: Informatika v organizaciji in managementu

Programska rešitev za pripravo predplačniškega poročila v mobilni

telefoniji Mentor: prof. dr. Vladislav Rajkovič Kandidat: Gašper Vrezovnik

Kranj, februar 2008

Page 2: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

ZAHVALA Na tem mestu bi se rad zahvalil mentorju prof. dr. Vladislavu Rajkoviču za vse konstruktivne predloge in vodenje v procesu izdelave te naloge. Zahvaljujem se tudi družini za potrpljenje in podporo ter Barbari Vrezovnik za lektoriranje naloge. Posebej bi se še zahvalil sodelavcem: g. Iztoku Kavčič, sistemski inžinir specialist, g. Jerneju Slapar, sistemski inžinir specialist in g. Primožu Rozman, vodja sektorja obračun.

Page 3: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

POVZETEK Izdelava poročil je eden od osnovnih procesov v podjetjih. Zaradi števila poročil je potrebno različne poizvedbe združiti v aplikacijo. To nam omogoči izdelavo poročil iz ene aplikacije, ki bi bila dostopna pooblaščenim osebam z določenimi pravicami. Problem predstavlja raztresenost poizvedb za izdelavo poročil, hitrost izdelave in preglednost. Eno od programskih orodij, ki se uporablja za razvoj aplikaciji za izdelavo poročil, je Sybase Powerbuilder. Podatki za izdelavo poročil se nahajajo na Oracle bazi podatkov. Zaradi svojih lastnosti, količine podatkov, hitrosti analiz in pridobivanja podatkov, je Oracle podatkovna baza najprimernejša. Cilj diplomske naloge je združiti določene poizvedbe v aplikacijo in s tem zagotoviti hitro, varno in zanesljivo izdelavo. Rezultat diplomske naloge je izdelava poročil v že naprej določeni obliki. Pridobljene poizvedb se bodo shranile v dva tipa datotek: - Microsoft Excel (.xls) - Tekstovno datoteko (.txt) Datoteke, shranjene v Microsoft Excel, bodo služile za poročila, tekstovne datoteke pa se bodo uporabile za dodatne analize pridobljenih podatkov. KLJUČNE BESEDE

- Mobilna telefonija - Predplačniška poročila - Programska rešitev - Sybase Powerbuilder - Oracle podatkovna baza

Page 4: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

ABSTRACT Making reports is one of the basic company processes. Due to the number of reports it is necessary to incorporate different queries into one application. Thus, making reports in one application that is accessible to authorized persons with certain rights. One of the program tools used for developing report making applications is also Sybase PowerBuilder. Data for making reports can be found in Oracle database. Due to its characteristic, data volume, analysis speed and data retrieving the Oracle database is the most suitable. The aim of this diploma thesis is to incorporate certain queries into an application and to ensure fast, secure and reliable making, and its result is to make a report in a previously determined form. The obtained queries will be saved in two file types: - Microsoft Excel (.xls) - Text file (.txt) Microsoft Excel files will be used for reports and text files for additional analyses of obtained data. KEYWORDS

- Mobile telephony - Prepaid reports - Program solution - Sybase Powerbuilder - Oracle database

Page 5: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

KAZALO 1 Uvod.................................................................................................................1 2 Okolje programske rešitve .............................................................................2

2.1 Shema poteka podatkov do aplikacije in končnega poročila.......................3

3 Zasnova programske rešitve..........................................................................6

3.1 Diagram poteka dogodkov v aplikaciji ........................................................6

4 Podatkovni model ...........................................................................................9

4.1 Podatkovni model za izdelavo predplačniškega poročila ..........................9 4.2 Podatkovni model za izdelavo predplačniškega poročila prejetih in izdanih

računov.................................................................................................... 10 5 Predlagana programska rešitev ................................................................... 12

5.1 Slikovna in besedna predstavitev ............................................................. 12

6 Kritična ocena rešitve ................................................................................... 18

6.1 SWOT Analiza ......................................................................................... 18 6.2 Zaključki................................................................................................... 19

Literatura in viri .................................................................................................... 21 Kazalo slik ............................................................................................................ 22 Kazalo tabel .......................................................................................................... 22 Pojmovnik............................................................................................................. 22 Kratice in akronimi ............................................................................................... 23 Priloge................................................................................................................... 24

Page 6: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 1

1 UVOD Družba Mobitel je slovenski operater mobilnih telekomunikacij, ki s svojo inovativnostjo, lastnim razvojem in samoiniciativnostjo širi uporabo mobilnih telekomunikacij na področju Republike Slovenije z naprednimi tehnološkimi in storitvenimi rešitvami. S svojim delovanjem želi uporabnikom mobilnih telekomunikacij zagotoviti najsodobnejše tehnologije in storitve po ugodnih cenah, uvajati svetovne novosti in ponuditi najboljše, kar trg v danem trenutku ponuja. Z dobro poslovno politiko in zadovoljstvom svojih zaposlenih ter lastnikov mu to tudi uspeva. Zadovoljstvo uporabnikov se odraža v visokem številu uporabnikov Mobitelovih omrežij in njihovi zvestobi, saj je Mobitel z visokim tržnim deležem vodilni mobilni operater v Sloveniji, kjer je stopnja penetracije mobilnih telekomunikacij med najvišjimi v Evropi. Družba Mobitel svojim uporabnikom zagotavlja najsodobnejše storitve in ponuja napredne generacije mobilnih telekomunikacij GSM 900/1800, 2GPRS in UMTS, skupaj s tehnologijo WLAN in videotelefonijo. V svojem delovanju nam je poleg tehnološke inovativnosti in naprednosti vodilo tudi družbeno odgovorno ravnanje, zato tesno sodelujemo z najširšim okoljem, kar se odraža v širokem naboru dejavnosti, s katerimi se Mobitel ukvarja. V duhu tovrstnega sodelovanja je Mobitel leta 2002 postal lastnik podjetja Soline, pridelava soli, s čimer si prizadeva za ohranitev naravne in kulturne dediščine Sečoveljskih solin, leta 2003 je ustanovil Planet 9, ki je dobavitelj mobilnih vsebin, z Novo KBM pa se je kot soustanovitelj skupnega podjetja M-Pay leta 2004 zavezal razvoju in promociji mobilnega plačevanja (vir: Mobitel d. d.). Kot samostojni skrbnik računalniško informacijskega sistema sem zaposlen v podjetju Mobitel d. d., področje za tehnologijo, enota informatike, sektor obračun. Ekipa, ki jo trenutno sestavljava jaz in sodelavec, skrbi za tekoče delovanje obračunskih procesov. Sektor je sestavljen iz večih skupin. Vsaka skupina ima svoje zadolžitve. Poleg rednega dela enkrat mesečno izdelujem tudi različna poročila za interne potrebe. V tej nalogi bom predstavil prototip aplikacije za izdelavo mesečnih poročil. Namen naloge je izbolšava oziroma izdelava poročil s pomočjo aplikacije. Pri izdelavi rešitve za izbrano nalogo smo uporabil aplikacije in orodja, ki so nam na voljo, zato ne pričakujemo, da bi se pri izdelavi pokazale težave oziroma omejitve. Na koncu bomo kritično analizirali prototipno rešitev in navedli ključne dejavnike uspeha projekta.

Page 7: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 2

2 OKOLJE PROGRAMSKE REŠITVE Pri izdelavi aplikacije ni potrebe po testnem okolju, ker bo aplikacija potrebovala le dostop do baze oziroma do produkcijskih tabel za pridobitev določenih podatkov za izdelavo poročila. Za izdelavo aplikacije potrebujemo:

• Osebni računalnik za izdelavo aplikacije • Podatkovni strežnik Oracle 9.0.1 • Exchange strežnik

Konfiguracija osebnega računalnika DELL Precision 450 na katerem bomo izdelovali mesečna poročila:

• Procesor Intel Xeon(TM) 2.4 GHz • 1 GB pomnilnika • 500 GB trdega diska (RAID 1)

Programska oprema oziroma aplikacije, ki jih potrebujemo:

• Operacijski sistem Microsoft Windows XP Professional Service Pack 2 • Sybase PowerBuilder Version 9.0 • PL/SQL Developer Version 5.1.2.687 • Microsoft Excel 2000 • Microsoft Outlook 2000 • Microsoft Visio 2000

Vsa našteta programska oprema je nameščena na zgoraj opisanem osebnem računalniku.

Page 8: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 3

2.1 SHEMA POTEKA PODATKOV DO APLIKACIJE IN KONČNEGA POROČILA Opis:

• Sistem baznih postaj • Mobilna postaja • Drugi elementi omrežja • Inicializacija mobilne postaje • Klic iz mobilne postaje

Sistem baznih postaj Preko BSS in MS vzpostavi zvezo s MSC. BSS se funkcionalno deli na dva dela. To sta:

• BTS • BSC

BSS vsebuje BSC in eno ali več BTS. Medsebojno so BSC in BTS povezani preko A-bis vmesnika. Operaterji navadno z eno gradnjo pokrijejo dva ali tri sektorje – celice. BST si po navadi predstavljamo kot antenski drog, na katerem je nameščenih več anten za oddajnike in sprejemnike, ki se nahajajo ob stolpu v ustrezno zavarovanem prostoru. Konfiguracije so različne. BSC se navadno nahaja v posebni zgradbi in nadzoruje več BST. Naloge bazne postaje so povezane z upravljanjem radijskih kanalov, vključno z dodeljevanjem kanalov, prenosom signalnih informacij in s signalom povezanih informacij, nadzorovanjem kakovosti zveze in oddajne moči ter frekvenčno skakanje. Njene nadaljnje funkcije so korekcijsko kodiranje in dekodiranje, kodiranje digitalnega govora, predaje zveze znotraj celice zaradi prehoda na boljši radio-frekvenčni kanal itd. Vse kontrolne funkcije BSS opravlja BSC. Mobilna postaja Mobilna postaja je terminal, ki ga uporablja GSM uporabnik. Sestavljata jo:

• SIM • ME

SIM modul je uporabniška prepoznavna kartica, ki vsebuje IMSI in druge uporabnikove podatke. SIM kartica mora biti aktivirana in vstavljena v ME, da ima uporabnik dostop do GSM omrežja. ME je GSM terminal ali drug tip mobilne opreme, ki je zgrajen v skladu z GSM standardom. ME je izjemno kompleksna naprava, ki opravlja funkcije radijskega prenosa, upravljanja z radijskim kanalom, merjenja jakosti signala, dekodiranja in kodiranja govora, enkripcije kodiranih podatkov, vodenja predaje klicev ter upravljanja s prenosom podatkov. Sodobni GSM terminali poleg tega podpirajo še številne uporabniške storitve in se po funkcionalnosti približujejo dlančnikom.

Page 9: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 4

Drugi elementi omrežja Vsako komercialno omrežje ima poleg naštetih elementov tudi BC. BC operaterju omogoča periodično povzeti vse CDR ter jih obdelati tako, da je na njihovi podlagi strankam mogoče izdati račune za koriščene storitve. GSM standard je dosegel veliko fleksibilnost pri uvajanju novih in izboljševanju obstoječih storitev, ker omogoča nadgrajevanje omrežja z dodatnimi elementi. Ti elementi so tako imenovani storitveni centri, ki omogočajo dodatne storitve, kot so storitev SMS, VMS, GPRS, HSCSD, MMS in podobno. Inicializacija mobilne postaje Ko prvič prižgemo GSM terminal z aktivno SIM kartico v GSM omrežju, prične najprej s procesom, ki ga imenujemo inicializacija. Sledi mu pregledovanje možnih kanalov. Navadno najde nosilne kanale z močnim signalom na več frekvencah. Tedaj vsakega od njih preišče ter izbere tistega, ki vsebuje kontrolni kanal. Na tem kanalu si začne izmenjevati podatke z omrežjem. Med podatki, ki mu jih pošlje omrežje, so tudi podatki, ki so potrebni za registracijo v omrežje. Med podatki, ki jih pridobi od BSS, so:

• koda mobilnega omrežja MNC - številka, ki jo periodično oddaja BST in določa operaterja. Na podlagi te kode se prepreči, da bi se uporabnik registriral na tujem omrežju, če mu je na voljo domače.

• ID sistema, dostopni način ter seznam dostopnih in kontrolnih kanalov, MS si izbere frekvenco, na kateri posreduje BSS svoje podatke, se tako prijavi na omrežje ter podatke o razpoložljivih frekvencah shrani v svojem spominu za kasnejšo uporabo. MS se javlja ob vsaki operaciji (vzpostavitev klica, SMS, prehod območje druge celice) ali pa vsaj ob izteku časovnega intervala, ki ga določi operater.

Klic iz mobilne postaje Kadar uporabnik začne klic iz MS, ta najprej pošlje klicano MSISDN ter identifikacijske podatke SIM kartice v BSS, kjer se uporabnik nahaja. Ti podatki so poslani v MSC, ki avtorizira klic (preveri ali ima ta SIM dovoljenje za uporabo storitev). Če MSC ugotovi, da se klicana številka ne nahaja v njegovem omrežju, klic preko zunanjega voda usmeri na klicano omrežje. BSS nato dodeli MS nosilno frekvenco ter časovno zarezo in poveže klic. Med klicem BTS ves čas preverja moč signala, MS pa po posebni metodi meri BER, kar je merilo kakovosti vzpostavljene povezave. Prejem klica na MS je v osnovi podoben procesu klica iz MS. Edina razlika je, da ko MSC prejme zahtevo za povezavo klica na MSISDN v svojem omrežju, najprej preveri HLR, v območju katere BTS se SIM s tem MSISDN nahaja.

Page 10: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 5

Slika 1: Potek od opravljenih klicev do končne izdelave poročil Kratek opis slike:

• uporabnik mobilnega predplačniškega sistema opravi telefonski klic • informacije o dogodku se obdelajo v BGW, ta jih zapišeje v CDR in jih pošlje

v obračunski sistem • na obračunskem strežniku se dobljeni podatki obdelajo in zapišejo v Oracle

podatkovno bazo • ob koncu mesečnega obračuna se kreirajo mesečna poročila, podatke

dobimo iz Oracle podatkovne baze o izdelana poročila tiskamo za potrebe arhiva o poročila, ki so v tekstovni in Microsoft Excel datotekah, pošljemo

preko Excange strežnika do področja za finance in kontroling

Page 11: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 6

3 ZASNOVA PROGRAMSKE REŠITVE Aplikacija je sestavljena iz treh delov. V prvem delu pridobivamo podatke. V drugem delu jih obdelamo, v tretjem pa jih shranimo v že naprej določeni obliki in formatu. 3.1 DIAGRAM POTEKA DOGODKOV V APLIKACIJI Z diagramom poteka dogodkov v aplikaciji želimo prikazati podroben potek izvajanja procesov ozimora dogodkov. Ob zagonu aplikacije se nam pojavi avtentikacija uporabnika, s katero preprečimo dostop nezaželenim osebam, ki bi lahko namerno ali nenamerno škodovale informacijskim dobrinam. Predstavljene so vse možnosti, ki nam jih program ponuja.

Zagon aplikacije

Ali se želimoprijaviti v

aplikacijo?

KONEC

NE

MENI(možnost izbiranja)

DA

KONEC

Izbor poročilaPoročilo 1

Prijava vaplikacijo

Ali je prijavauspela?

DA NE

Ali lahkodostopamo do

baze?KONEC

DA NE

Opozorilo onapaki

Poročilo 2

Poročilo 3

Opozorilo onapaki

Vračanje v glavni meni

Slika 2: Zagon aplikacije za izdelavo poročil in izbiro želenega poročila

Page 12: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 7

Ker se izdelava Poročila 1 razlikuje od ostalih, je prikazana v svojem diagramu poteka dogodkov.

Poročilo 1Kreiranjeporočila

Prodobivanjepodatkov

Oblikovanjeporočila inobvestilo oshranitvi

Opozorilo onapaki

Ali soizpolnjeni vsi

pogoji zaizdelavoporočila?

NE

Ali shranimopodatke vdatoteko?

Ali želimonatisniti

poročilo?

DA

NEDA

Ali je biloshranjevanje

uspešno?

DA Opozorilo onapaki

NE

Opozorilo onapaki

NE

DA Ali je bilotiskanje

uspešno?

DA

NE

Izbrano poročilo

Vračanje v glavni meni

Slika 3: Potek izdelave predplačniškega poročila

Page 13: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 8

Načina izdelave Poročila 2 in 3 sta si tako podobna, da sta prikazana v istem diagramu poteka dogodkov.

Poročilo 2 in 3Kreiranjeporočila

Prodobivanjepodatkov

Oblikovanjeporočila inobvestilo oshranitvi

Opozorilo onapaki

Ali soizpolnjeni vsi

pogoji zaizdelavoporočila?

NE

Ali shranimopodatke vdatoteko?

Ali želimonatisniti

poročilo?

DA

NEDA

Ali je biloshranjevanje

uspešno?

DA Opozorilo onapaki

NE

Opozorilo onapaki

NE

DA Ali je bilotiskanje

uspešno?

DA

NE

Izbrano poročilo

Vračanje v glavni meni

Izbiranje vrsteporočila

Ostale državeDržave EU

Slika 4: Potek izdelave predplačniškega poročila prejetih in izdanih računov

Page 14: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 9

4 PODATKOVNI MODEL Za pridobivanje podatkov za poročilo potrebujemo štiri tabele. Te so:

• T_RECORD_IN • T_RECORD_OUT • T_ROAMING_PARTNER • T_ROAMING_PARTNER_CUSTOMER

Ker smo tabele uporabljali že v preteklosti, ni bilo potrebno dodajati novih pravic za branje. Tabele vsebuje podatke o plačilnem prometu in roaming partnerjih. Tabele vsebujejo podatke za daljše obdobje, zato si pri pridobivanju podatkov pomagamo s particijami na tabeli. Particijo enkrat mesečno naredi administrator baze podatkov. 4.1 PODATKOVNI MODEL ZA IZDELAVO PREDPLAČNIŠKEGA POROČILA Za izdelavo predplačniškega poročila potrebujemo eno tabelo.

Slika 5: Tabela za izdelavo predplačniškega poročila Iskana polja za določeni mesec:

• CAMEL • DOHODNI KLICI • GPRS ROAMING • ROAMING SMS

Page 15: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 10

CAMEL Vsota vseh gostovanj naših naročnikov v tujini za določeni mesec. DOHODNI KLICI Vsota vseh dohodnih klicev za določeni mesec. GPRS ROAMING Vsota vseh prenosov podatkov za določeni mesec. ROAMING SMS Vsota vseh sporočil za določeni mesec. 4.2 PODATKOVNI MODEL ZA IZDELAVO PREDPLAČNIŠKEGA POROČILA PREJETIH IN IZDANIH RAČUNOV Za izdelavo predplačniškega poročila prejetih in izdanih računov potrebujemo tri tabele.

Slika 6: Podatkovni model za izdelavo prejetih računov

Page 16: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 11

Slika 7: Podatkovni model za izdelavo izdanih računov Iskana polja za določeni mesec pri izdelavi prejetih in izdanih računov:

• TADIG NAME • MOBILE CUSTOMER ID • TAX REGION ID • ID NUMBER • CHARGE SDR • CHARGE TAX SDR • CHARGE EURO • CHARGE TAX EURO

TADIG NAME Ime TADIG je določeno s strani TADIG skupine. MOBILE CUSTOMER ID ID stranke v mobilnem sistemu. TAX REGION ID ID regije obdavčitve. ID NUMBER ID idnetifikator. CHARGE SDR Zaračunan znesek v SDR. CHARGE TAX SDR Zaračunan znesek v SDR. CHARGE EURO Cena v EUR. CHARGE TAX EURO Cena v EUR.

Page 17: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 12

5 PREDLAGANA PROGRAMSKA REŠITEV Za izdelavo programske rešitve za pripravo predplačniškega poročila v mobilni telefoniji, smo izbrali programska orodja in strojno opremo, ki nam je na voljo. Za razvoj aplikacije za izdelavo poročil smo izbrali programsko orodje Sybase PowerBuilder. To orodje nam ponuja možnost izdelave aplikacije, ki bo preprosta in zanesljiva. Delovanje aplikacije je predstavljeno slikovno zaradi lažjega razumevanja. Predstavitev je narejena po korakih, za pomoč pa je poleg tudi opis posamezne slike. 5.1 SLIKOVNA IN BESEDNA PREDSTAVITEV

Slika 8: Prijava v aplikacijo Zaradi varnosti in zaupnosti podatkov je potrebno ob zagonu aplikacije vnesti uporabniško ime in geslo. Ko uporabnik to vnese, klikne na gumb Potrdi. V primeru, da sta bili obe polji pravilno izpolnjeni, se nam prijavno okno zapre, hkrati pa se nam odpre novo okno za izdelavo poročil. V primeru, da se ne želimo prijaviti v aplikacijo, kliknemo na gumb Izhod.

Slika 9: Kreiranje predplačniškega poročila

Page 18: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 13

Ob uspešni prijavi se nam odpre glavno okno aplikacije. Takrat se aplikacija poveže na Oracle bazo podatkov. V primeru, da povezava na bazo ne uspe, nas aplikacija obvesti in konča izvajanje. Ob uspešni povezavi na bazo nam aplikacija ponudi dva zavihka za izdelavo poročil. Ker poročila niso odvisna drug od drugega, zaporedje izdelave poročil ni pomembno. Na sliki je prikazana izdelava poročila za predplačniške naročnike. V času izvajanja poročil nas aplikacija obvesti o svojih aktivnostih. Poročila se vedno izdelujejo za prejšnji mesec, zato je aplikacija narejena tako, da avtomatsko vzame podatke iz prejšnjega meseca. Gumb Tiskaj je onemogočen toliko časa, dokler aplikacija ne izdela poročila.

Slika 10: Shranjevanje poročil Ko nas aplikacija obvesti, da je poročilo kočnano, nam ponudi možnost, da ga shranimo na želeno lokacijo na disku. Ker so za vsa poročila že v naprej določeni formati in oblike poročil, nam aplikacija pri shranjevanju ponudi ime datoteke: Mobi-2007-07.xls. Javi pa nam tudi ali je bilo shranjevanje uspešno oziroma neuspešno. Tiskanje je omogočeno, če poročilo shranimo ali pa ne, pa tudi če je prišlo do napake pri shranjevanju v datoteko.

Slika 11: Tiskanje poročil za potrebe arhiva

Page 19: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 14

Ob pritisku na gumb Tiskaj se pojavi novo okno. Ponudi nam izbiro nameščenih tiskalnikov oziroma tiskalnikov, do katerih imamo dostop. Ponudijo se nam tri možnosti:

• Prva možnost je gumb OK. To pomeni, da bomo poročilo natisnili z obstoječimi nastavitvami.

• Druga možnost je gumb Cancel, ki pomeni preklic tiskanja poročila. • Tretja možnost je gumb Setup. Ta nam omogoči nastavitve tiskalnika.

V primeru, da pride do kakše napake pri izvajanju tiskanja, nam aplikacija javi, do kakšne napake je prišlo. Če bi želeli ponoviti celoten postopek izdelave poročila, bi morali ponovno pritisniti gumb Kreiraj poročilo. Aplikacija bi se ponovno nastavila v prvotno stanje. S tem bi preprečili popačenje oziroma podvajanje podatkov.

Slika 12: Izdelava predplačniških poročil za prejete račune

Izdelava predplačniškega poročila za prejete račune je zelo podobna izdelavi poročila za predplačniške naročnike. Razlika je v tem, da imamo v tem zavihku še možnost izbire Ostale države. Poročila se izdelujejo za države, ki so v EU in ostale države, ki niso v EU. V drugem zavihku tako dobimo osem poročil:

• OCENA IZDANIH RAČUNOV za mesec JULIJ(NOT EU).xls • OCENA IZDANIH RAČUNOV za mesec JULIJ.xls • OCENA PREJETIH RAČUNOV za mesec JULIJ(NOT EU).xls • OCENA PREJETIH RAČUNOV za mesec JULIJ.xls • Roaming_IN_2007_07(NOT EU).TXT • Roaming_IN_2007_07.TXT • Roaming_OUT_2007_07(NOT EU).TXT • Roaming_OUT_2007_07.TXT

Narejena poročila pošljemo preko Excange strežnika do področja za finance in kontroling. Poročila, ki so shranjena v tekstovnih datotekah, služijo za vnos v bazo podatkov in dodatne analize.

Page 20: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 15

Slika 13: Shranjevanje poročil

Slika 14: Izdelava predplačniških poročil za izdane račune

Page 21: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 16

Slika 15: Shranjevanje poročil Kadar hočemo iz aplikacije, kliknemo na X, ki se nahaja v zgornjem desnem kotu in pomeni izhod iz programa za izdelavo poročil. Ob izhodu se uničijo vse povezave, ki smo jih imeli na bazi podatkov. S tem preprečimo kopičenje neaktivnih povezav na Oracle podatkovnem strežniku.

Slika 16: Primer predplačniškega poročila v Microsoft Excel datoteki

Page 22: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 17

Slika 17: Primer predplačniških poročil za izdane račune v Microsoft Excel datoteki

Slika 18: Primer predplačniških poročil za izdane račune v tekstovni datoteki

Page 23: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 18

6 KRITIČNA OCENA REŠITVE 6.1 SWOT ANALIZA Prototipno rešitev smo kritično analizirali po metodi SWOT glede na dejavnike iz zunanjega okolja (priložnosti, nevarnosti) in notranje dejavnike (prednosti, slabosti). Vzpostavili smo medsebojne relacije dejavnikov in izdelali strategije po metodi, prikazani v naslednji tabeli: Notranji dejavniki Zunanji dejavniki

Prednosti Slabosti

Priložnosti PP-strategije: izraba prednosti, ko se pokažejo priložnosti

SP-strategije: premagati slabosti, da izkoristimo priložnosti

Nevarnosti PN-strategije: izraba prednosti, da se izognemo nevarnostim

SN-strategije: razreševati slabosti in se izogibati nevarnostim

Tabela 1: Metoda SWOT analize

V naslednji tabeli smo definirali notranje in zunanje dejavnike:

Tabela 2: Definirani notranji in zunanji dejavniki

Prednosti Slabosti • program je zelo enostaven za

uporabo • dostopne pravice, ki omogočajo

dostop do aplikacije samo določenim osebam

• hitra implementacija sprememb • podpora podrobnim analizam • modularna zgradba rešitve • relativno nizki stroški razvoja

rešitve • večja produktivnost

• ne omogoča sočasne rabe aplikacije

• rast količine izvornih podatkov • stroški zaradi izobraževanja

zaposlenih

Priložnosti Nevarnosti • rast trga • veliko inovacij in novosti na trgu • hiter tehnološki razvoj na

področju sistemov za poslovno obveščanje

• padec kupne moči strank • prisotnost konkurence na trgu • restriktivna cenovna politika

državnih in naddržavnih organov

• restriktivna zakonodaja glede varstva osebnih podatkov

Page 24: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 19

PP-strategije Prednosti rešitve in hitrega tehnološkega razvoja na področju sistemov za poslovno obveščanje lahko izrabimo ob zagotovljeni podpori managementa glede na ponujene zunanje priložnosti. Na rastoči trg telekomunikacij s številnimi inovacijami in novostmi lahko hitro reagiramo zaradi modularne zgradbe rešitve. Nove informacijske tokove tako lahko ustrezno in hitro integriramo v sistem. S konceptom podpore agregiranim in podrobnim analizam lahko ustrezno ovrednotimo priložnosti na trgu ter simuliramo vpliv na poslovne procese do zadnjega atoma podatkov. S postavljenimi temelji za informacijsko ambasado lahko širimo pozitivno poslovno kulturo, dvignemo ugled organizacije in morda celo izkoristimo kot nov vir prihodkov zaradi sodelovanja z organizacijami, ki so zainteresirane za informacije v našem sistemu za poslovno obveščanje. SP-strategije Relativno nizke stroške razvoja rešitve nam ponuja večjo konkurenčnost in hitri tehnološki razvoj na področju sistemov za poslovno obveščanje. Zaradi številnih inovacij in novosti na trgu je treba ustrezno obvladovati število in vsebino izvornih sistemov ter upoštevati rast količine izvornih podatkov, kar lahko delno kompenziramo tudi s spremljanjem in implementacijo novih tehnologij s področja sistemov za poslovno obveščanje. PN-strategije Glede na pojav padca kupne moči strank in prisotnost konkurence na trgu je treba izkoristiti prednosti modularne zgradbe rešitve, hitre implementacije sprememb in podpore tako agregiranim kot podrobnim analizam za natančno segmentacijo. V skladu z zakonodajo o varstvu osebnih podatkov so možnosti koncepta informacijske ambasade sicer omejene, še vedno pa lahko za ta namen izkoristimo ustrezno agregirane informacije. SN-strategije Zaradi zunanjih dejavnikov, kot so padec kupne moči strank, prisotnosti konkurence na trgu in restriktivne cenovne politike regulatornih organov, je treba zmanjševati stroške razvoja rešitve in ustrezno obvladovati kompleksnost izvornih sistemov. Če se zgodi eskalacija slabosti rešitve, lahko postane organizacija še bolj dovzetna za zunanje nevarnosti in je posledično še težje razreševati slabosti rešitve zaradi nižjih prihodkov ter poslabšanega položaja na trgu. 6.2 ZAKLJUČKI Prototipna rešitev se je izkazala kot ustrezna glede na postavljene zahteve in strateške usmeritve. S podrobno analizo in razumevanjem izvornih poslovnih procesov ter pripadajočih informacijskih tokov smo s sodelovanjem končnih uporabnikov definirali funkcionalnosti rešitve. Na trgu dostopne tehnologije omogočajo izgradnjo učinkovitega sistema. S predstavljenimi koncepti lahko izdelamo poslovnemu uporabniku prijazne in razumljive aplikacije, izkoristimo in obogatimo obstoječe informacijske tokove ter povečamo konkurenčno prednost

Page 25: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 20

organizacije. S pristopom do rešitve prek prototipa in z modularno zgradbo sistema smo lahko že med samim razvojem vračali transparentno sliko vlaganj virov v projekt in z delujočo aplikacijo, ki smo jo integrirali v poslovne procese, demonstrirali prihodnje pozitivne učinke in nakazali nove vire prihodkov za organizacijo. Zaradi potrebe po čim hitrejši, varnejši in zaneslivejši izdelavi mesečnih poročil, se je nova aplikacija začela izvajati vzporedno z dosedanjo izdelavo poročil.Tako naj bi ugotovili pravilno delovanje nove aplikacije. Po mesecu testiranja je aplikacija prešla v produkcijo. Modularnost aplikacije nam v prihodnosti omogoča dodajanje novih poročil brez posebnih težav. Ker aplikacija ni procesorsko zahtevna, tudi ob dodajanju novih poročil ni potrebe po nadgradnji strojne opreme, kar pomeni manjše stroške za podjetje.

Page 26: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 21

LITERATURA IN VIRI

1. Bukauskas P. (1996), Professional Powerbuilder Programming, Prentice Hall, ZDA

2. Database management, Mobile Solutions and Messaging, Data

Warehousing, Data Integrations - Sybase, http://www.sybase.com/, 04. 07. 2007

3. Hieber C. (1999), Advanced PowerBuilder 7.0 Programming, Envision

Software Systems, ZDA

4. Introduction to Sybase Help, http://infocenter.sybase.com/, 04. 07. 2007

5. Kyte T. (2005), Expert Oracle Database Architecture: 9i and 10g Programming Techniques and Solutions, Apress, ZDA

6. Mobitel d.d., http://www.mobitel.si/slo/, 10. 01. 2008

7. Oracle 10g, Siebel, PeopleSoft, http://www.oracle.com/index.html,

04. 07. 2007

8. Oracle Help, Oracle Tutorials, Oracle Programming, Oracle Tricks, http://www.devshed.com/c/b/Oracle/, 04. 07. 2007

9. Oracle Help Technologies,

http://www.oracle.com/technology/tech/java/help/index.html, 04. 07. 2007

10. W3schools Online Web Tutorials, http://www.w3schools.com/, 04. 09. 2007

11. Wikipedia, the free encyclopedia, http://en.wikipedia.org/wiki/Main_Page, 04. 07. 2007

Page 27: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 22

KAZALO SLIK Slika 1: Potek od opravljenih klicev do končne izdelave poročil ............................5 Slika 2: Zagon aplikacije za izdelavo poročil in izbiro želenega poročila ...............6 Slika 3: Potek izdelave predplačniškega poročila .................................................7 Slika 4: Potek izdelave predplačniškega poročila prejetih in izdanih računov .......8 Slika 5: Tabela za izdelavo predplačniškega poročila...........................................9 Slika 6: Podatkovni model za izdelavo prejetih računov...................................... 10 Slika 7: Podatkovni model za izdelavo izdanih računov...................................... 11 Slika 8: Prijava v aplikacijo ................................................................................. 12 Slika 9: Kreiranje predplačniškega poročila ........................................................ 12 Slika 10: Shranjevanje poročil .............................................................................. 13 Slika 11: Tiskanje poročil za potrebe arhiva.......................................................... 13 Slika 12: Izdelava predplačniških poročil za prejete račune .................................. 14 Slika 13: Shranjevanje poročil .............................................................................. 15 Slika 14: Izdelava predplačniških poročil za izdane račune .................................. 15 Slika 15: Shranjevanje poročil .............................................................................. 16 Slika 16: Primer predplačniškega poročila v Microsoft Excel datoteki ................... 16 Slika 17: Primer predplačniških poročil za izdane račune v Microsoft Excel datoteki

................................................................................................................ 17 Slika 18: Primer predplačniških poročil za izdane račune v tekstovni datoteki ...... 17 KAZALO TABEL Tabela 1: Metoda SWOT analize.......................................................................... 18 Tabela 2: Definirani notranji in zunanji dejavniki ................................................... 18 POJMOVNIK ROAMING: omogoča mednarodno gostovanje GSM uporabnikov

Page 28: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 23

KRATICE IN AKRONIMI BC: Billing Centre; modul za obračunavanje storitev. BER: Bit Error Rate; delež napačnih bitov. BGW: Billing GateWay; zaračunavanje storitev in generiranje datotek. BSC: Base Station Controller; krmilnik baznih postaj. BSS: Base Station Subsystem; sistem baznih postaj. BTS: Base Transceiver Station; bazna oddajno – sprejemna postaja. CAMEL: Customised Applications for Mobile Enhanced Logic; prilagojene

aplikacije za nadgrajene mobilne storitve. CDR: Call Detail Records; podrobni podatki o klicih. EU: European Union; evropska skupnost. GPRS: General Packet Radio Service; podatkovna storitev mobilnega sistema

GSM2+, ki zagotavlja trajno zvezo z omrežjem IP. GSM: Global System for Mobile Communication; globalni sistem mobilne

komunikacije. HLR: Home Location Register; register domačih naročnikov. HSCSD: High Speed Circuit Switched Data; hitri prenos podatkov. ID: Identity; identifikacijska številka. IMSI: International Mobile Subscriber Identity; mednarodni identifikator

mobilne postaje - identiteta GSM uporabnika, ki je shranjena na SIM kartici in se jo uporablja znotraj omrežja.

LAN: Local Area Network; povezujejo računalnike in računalniško opremo na geografsko omejenem območju.

ME: Mobile Equipment; mobilna oprema. MMS: Multimedia Messaging System; multimedijski sporočilni sistem. MNC: Mobile Network Code; koda mobilnega omrežja. MS: Mobile Station; mobilna postaja. MSC: Mobile Switching Center; komunikacijski center za mobilne storitve. MSISDN: Mobile Subscriber Identity Serial Digital Number; uporabnikova

identifikacijska serijska digitalna številka. RAID: Redundant Array of Independent Disks; standard povezovanja dveh ali

več trdih diskov in upravljanja z njimi. SDR: Special Drawing Rights; SDR je poseben finančni instrument, ki ga je

leta 1969 uveljavil IMF (Mednarodni monetarni sklad). SIM: Subscriber Identity Module; modul za identifikacijo uporabnika. SMS: Short Message Service; kratka sporočila. SWOT: Strengths, Weaknesses, Opportunities, Threats; metoda analize

prednosti, slabosti, priložnosti in nevarnosti. TADIG: Transferred Account Data Interchange Group (GSM Association);

skupina znotraj GSM asociacije. VMS: Voice Mail Service; storitev avtomatičnega telefonskega odzivnika. WLAN: Wireless LAN; komunikacija med napravami v omejenem področju

izkorišča tehnologijo na podlagi radijskih valov.

Page 29: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 24

PRILOGE Priloga 1: Programska koda za pripravo predplačniškega poročila v mobilni telefoniji:

• zagon aplikacije in avtentikacija • izdelava poročil • izhod iz aplikacije

// - komentar Zagon aplikacije in avtentikacija Globalne spremenljivke: Transaction ORACLE_Roaming-Saturn String gs_uporabnik, gs_geslo Integer gi_tip_porocila_IN, gi_tip_porocila_OUT Zagon aplikacije: Open(w_login) Polje za vnos uporabniškega imena: //Pridobivanje vsebine gs_uporabnik = This.text Polje za vnos gesla imena: //Pridobivanje vsebine gs_geslo = This.text Gumb Potrdi: IF gs_uporabnik="vrezovnikg" AND gs_geslo="test" THEN Open(w_main) Close(w_login) ELSE MessageBox("Napaka!","Vpisali ste napačne podatke!") sle_1.text="" sle_2.text="" sle_1.SetFocus() END IF Gumb Izhod: Close(w_login)

Page 30: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 25

Izdelava poročil Glavno okno: ORACLE_Roaming-Saturn = Create Transaction ORACLE_Roaming-Saturn.DBMS = "O90 Oracle9i (9.0.1)" ORACLE_Roaming-Saturn.LogPass = "xy" ORACLE_Roaming-Saturn.ServerName = "xy" ORACLE_Roaming-Saturn.LogId = "xy" ORACLE_Roaming-Saturn.AutoCommit = True ORACLE_Roaming-Saturn.DBParm = "" Connect using ORACLE_Roaming-Saturn; IF ORACLE_Roaming-Saturn.SQLCode <> 0 THEN MessageBox("Napaka!", ORACLE_Roaming-Saturn.SQLErrText) Close(w_main) END IF tab_1.tabpage_2.st_1.Visible = FALSE tab_1.tabpage_2.rr_1.Visible = FALSE tab_1.tabpage_1.st_3.Visible = FALSE tab_1.tabpage_1.rr_4.Visible = FALSE tab_1.tabpage_1.st_7.Visible = FALSE tab_1.tabpage_1.rr_5.Visible = FALSE // 3 - države EVROPSKE UNIJE - DEFAULT // 2 - ostale države gi_tip_porocila_IN = 3 gi_tip_porocila_OUT = 3 Zavihek Poročilo 1: Gumb Kreiraj poročilo: String ls_new_sql, ls_mesec, ls_leto Integer li_mesec, li_leto, li_zanka Long ll_st_vrstic Decimal ld_vsota // Onemogočimo gumb za tiskanje POROČILA cb_1.Enabled = FALSE st_1.Visible = TRUE rr_1.Visible = TRUE st_1.Text = "Trenutno poteka kreiranje poročila..." li_leto=Integer(String(Now(), "yyyy"))

Page 31: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 26

li_mesec=Integer(String(Now(), "mm")) //Ob prelomu leta //------------------------- IF li_mesec=1 THEN li_mesec=12 li_leto= (li_leto - 1) ELSE li_mesec= (li_mesec - 1) END IF //------------------------- ls_leto=String(li_leto) //V primeru da je mesec manjši od 10 se mu spredaj doda 0, ker je tako v tabeli NPR.:RO_RECORD_IN_LIVE_200412 IF li_mesec < 10 THEN ls_mesec="0"+String(li_mesec) ELSE ls_mesec=String(li_mesec) END IF st_4.text="Predplačniško poročilo za mesec: "+ls_leto+"-"+ls_mesec //MessageBox("", ls_leto+ls_mesec) ll_st_vrstic=0 ls_new_sql="SELECT "& +" CASE"& +" WHEN RECORD_TYPE = '30' THEN 'DOHODNI KLICI'"& +" WHEN RECORD_TYPE = '20' AND SERVICE_TYPE = 0 AND SERVICE_CODE = '22' THEN 'ROAMING SMS'"& +" WHEN RECORD_TYPE = '27' THEN 'CAMEL'"& +" when RECORD_TYPE = '20' AND NOT (SERVICE_TYPE = 0 AND SERVICE_CODE = '22') THEN '_OBRAČUNANO_'"& +" WHEN RECORD_TYPE = '80' THEN 'GPRS ROAMING'"& +" END Vrsta,"& +" SUM((CHARGE + CHARGE_TAX) * SDR_RATE) Znesek_EURO"& +" FROM T_RECORD_IN partition (p_record_in_"+ls_leto+ls_mesec+")"& +" WHERE billing_destination = 'P'"& +" GROUP BY CASE"& +" WHEN RECORD_TYPE = '30' THEN 'DOHODNI KLICI'"& +" WHEN RECORD_TYPE = '20' AND SERVICE_TYPE = 0 AND SERVICE_CODE = '22' THEN 'ROAMING SMS'"& +" WHEN RECORD_TYPE = '27' THEN 'CAMEL'"& +" WHEN RECORD_TYPE = '20' AND not (SERVICE_TYPE = 0 AND SERVICE_CODE = '22') THEN '_OBRAČUNANO_'"& +" WHEN RECORD_TYPE = '80' THEN 'GPRS ROAMING'"& +" END"& +" ORDER BY 1" tab_1.tabpage_2.dw_3.SETTRANSOBJECT(ORACLE_Roaming-Saturn) //Vsilimo mu nov SELECT!!! tab_1.tabpage_2.dw_3.SetSQLSelect(ls_new_sql)

Page 32: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 27

//Resetiranje dw_3 dw_3.Reset() //Branje podatkov iz baze. IF (tab_1.tabpage_2.dw_3.Retrieve() = -1) THEN MessageBox("Napaka!","Tezave pri pridobivanju podatkov iz BAZE!") END IF //Pogledamo koliko je vrstic v dw_3 ll_st_vrstic=tab_1.tabpage_2.dw_3.RowCount() ld_vsota=0 //Seštevek drugega stolpca FOR li_zanka=1 TO ll_st_vrstic ld_vsota= ld_vsota + dw_3.GetItemDecimal(li_zanka, 2) NEXT //MessageBox("", ld_vsota) //dw_3.insertrow(0) ll_st_vrstic=ll_st_vrstic+1 dw_3.SetItem(ll_st_vrstic - 1, 2, ld_vsota) st_1.Text = "Poročilo je končano." //-----------< SHRANJEVANJE >----------- String ls_docname, ls_named Integer li_value, li_shrani ls_docname="Mobi-"+ls_leto+"-"+ls_mesec+".xls" li_value = GetFileSaveName("Select File", ls_docname, ls_named, "*.XLS", "EXCEL Files (*.XLS),*.XLS") IF li_value = 1 THEN //--------------------------------------------------------------------------------------------- IF ls_docname<>"" THEN //SHRANI TABELO V DATOTEKO (EXCEL) li_shrani=integer(dw_3.SaveAs(ls_docname, Excel!, TRUE)) IF li_shrani=1 THEN FileClose(li_value) MessageBox("Pozor!","Datoteka je shranjena. Stevilo vrstic: "+String(ll_st_vrstic)) ELSE MessageBox("Napaka!","PRIŠLO JE DO NAPAKE. DATOTEKA NI SHRANJENA.") END IF END IF //--------------------------------------------------------------------------------------------- END IF

Page 33: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 28

//----------< KONEC SHRANJEVANJE >---------- IF li_shrani=1 THEN OLEObject iOLEExcel iOLEExcel = CREATE OLEObject iOLEExcel.ConnectToNewObject("excel.application") iOLEExcel.Visible = FALSE iOLEExcel.Workbooks.Open(ls_docname) //----< MACRO >---- // NOV FORMAT ZA 2 STOLPEC iOLEExcel.Columns("B:B").Select iOLEExcel.Selection.NumberFormat = "#.##0,00000" //NOVA VREDNOST iOLEExcel.Range("A1").Select iOLEExcel.ActiveCell.FormulaR1C1 = "Vrsta" iOLEExcel.Range("B1").Select iOLEExcel.ActiveCell.FormulaR1C1 = "Znesek EURO" //BOLD (2 stolpca - glavi boldamo) iOLEExcel.Range("A1:B1").Select iOLEExcel.Selection.Font.Bold = True //BOLD VSOTE iOLEExcel.Range("B6").Select iOLEExcel.Selection.Font.Bold = True // RAZTEGNEMO STOLPEC 1 in 2 iOLEExcel.Columns("A:A").EntireColumn.AutoFit iOLEExcel.Columns("B:B").EntireColumn.AutoFit //----< END MACRO >---- iOLEExcel.Application.Activeworkbook.Save() //Zapre alikacijo iOLEExcel.Application.Quit //Prekinemo povezavo z Objektom iOLEExcel.DisConnectObject() //Izbrišemo vse iz spomina Destroy iOLEExcel END IF // Omogočimo gumb za tiskanje POROČILA cb_1.Enabled = TRUE tab_1.tabpage_2.st_1.Visible = FALSE tab_1.tabpage_2.rr_1.Visible = FALSE

Page 34: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 29

Gumb Tiskaj: Long ll_natisni // Natisne vsebino, ki se nahaja v DataWindow PrintSetup() ll_natisni = PrintOpen() IF ll_natisni=-1 THEN MessageBox("Napaka!","Prišlo je do NAPAKE pri tiskanju dokumenta!. Za nadaljevanje pritisni OK.") ELSE PrintDataWindow(ll_natisni, tab_1.tabpage_2.dw_3) PrintClose(ll_natisni) END IF Zavihek Poročilo 2: Ocena prejetih računov: Kontrolno polje: if cbx_1.Checked = TRUE then gi_tip_porocila_IN=2 // MessageBox("2","Obkljukano") end if if cbx_1.Checked = FALSE then gi_tip_porocila_IN=3 // MessageBox("3","Prazno") end if Gumb Kreiraj poročilo: // Onemogočimo gumb za tiskanje POROČILA cb_2.Enabled = FALSE // * ROAMING IN * String ls_new_sql, ls_mesec, ls_mesec_select, ls_mesec_file, ls_leto, ls_ostale_drzave Integer li_mesec, li_leto, li_zanka, li_parameter Long ll_st_vrstic Decimal ld_vsota1, ld_vsota2, ld_vsota3, ld_vsota4 Dec {5} ld_vsote st_3.Visible = TRUE rr_4.Visible = TRUE st_3.Text = "Trenutno poteka kreiranje poročila..." // 3 - države EVROPSKE UNIJE // 2 - ostale države

Page 35: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 30

ll_st_vrstic=0 li_mesec=Integer(String(Now(), "mm")) li_leto=Integer(String(Now(), "yyyy")) //Ob prelomu leta //------------------------- IF li_mesec=1 THEN li_mesec=12 li_leto= (li_leto - 1) ELSE li_mesec= (li_mesec - 1) END IF ls_leto=String(li_leto) //Messagebox("LETO", ls_leto) //V primeru da je mesec manjši od 10 se mu spredaj doda 0 IF li_mesec < 10 THEN ls_mesec_select="0"+String(li_mesec) ELSE ls_mesec_select=String(li_mesec) END IF if gi_tip_porocila_IN = 3 then st_5.text="OCENA PREJETIH RAČUNOV za mesec: "+ls_leto+"-"+ls_mesec_select+" (države EU)." li_parameter=3 else st_5.text="OCENA PREJETIH RAČUNOV za mesec: "+ls_leto+"-"+ls_mesec_select+" (ostale države)." li_parameter=2 ls_ostale_drzave = "(NOT EU)" end if IF li_mesec=1 THEN ls_mesec="JANUAR" IF li_mesec=2 THEN ls_mesec="FEBRUAR" IF li_mesec=3 THEN ls_mesec="MAREC" IF li_mesec=4 THEN ls_mesec="APRIL" IF li_mesec=5 THEN ls_mesec="MAJ" IF li_mesec=6 THEN ls_mesec="JUNIJ" IF li_mesec=7 THEN ls_mesec="JULIJ" IF li_mesec=8 THEN ls_mesec="AVGUST" IF li_mesec=9 THEN ls_mesec="SEPTEMBER" IF li_mesec=10 THEN ls_mesec="OKTOBER" IF li_mesec=11 THEN ls_mesec="NOVEMBER" IF li_mesec=12 THEN ls_mesec="DECEMBER"

Page 36: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 31

//V primeru da je mesec manjši od 10 se mu spredaj doda 0 IF li_mesec < 10 THEN ls_mesec_file="0"+String(li_mesec) ELSE ls_mesec_file=String(li_mesec) END IF ls_new_sql="SELECT"& +" tadig_name TADIG_NAME,"& +" customer_id MOBILE_CUSTOMER_ID,"& +" tax_region_id TAX_REGION_ID,"& +" id_number ID_NUMBER,"& +" sum(charge) CHARGE_SDR,"& +" sum(charge_tax) CHARGE_TAX_SDR,"& +" sum(charge*SDR_rate) CHARGE_EURO,"& +" sum(charge_tax*sdr_rate) CHARGE_TAX_EURO"& +" from"& +" T_RECORD_IN partition (p_record_in_"+ls_leto+ls_mesec_select+")"& +" ,t_roaming_partner,"& +" t_roaming_partner_customer"& +" where"& +" t_roaming_partner.roaming_partner_id = t_record_in.roaming_partner_id and"& +" t_roaming_partner_customer.roaming_partner_id = t_record_in.roaming_partner_id and"& +" charge+charge_tax > '0' and tax_region_id = "+String(li_parameter)+& +" group by"& +" tadig_name,"& +" customer_id,"& +" tax_region_id,"& +" id_number" dw_1.SETTRANSOBJECT(ORACLE_Roaming-Saturn) //Vsilimo nov SELECT dw_1.SetSQLSelect(ls_new_sql) //Resetiranje dw_1 dw_1.Reset() //Branje podatkov iz baze. IF (dw_1.Retrieve() = -1) THEN MessageBox("Napaka!","Tezave pri pridobivanju podatkov iz BAZE!") END IF //Pogledamo koliko je vrstic v dw_1 ll_st_vrstic=dw_1.RowCount() * Podatke prenesemo iz DW v DATOTEKO * //------------------------------------------------------------------------------------ Long li_FileNum, ll_xx, ll_yy, ll_zz, ll_mz String ls_vsebina_zac, ls_vsebina_vrstice

Page 37: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 32

//Roaming_IN_2005_03.txt if gi_tip_porocila_IN = 3 then li_FileNum = FileOpen("C:\Roaming_IN_"+String(li_leto)+"_"+ls_mesec_file+".TXT", LineMode!, Write!, Shared!, Replace!) if gi_tip_porocila_IN = 2 then li_FileNum = FileOpen("C:\Roaming_IN_"+String(li_leto)+"_"+ls_mesec_file+""+ls_ostale_drzave+".TXT", LineMode!, Write!, Shared!, Replace!) ls_vsebina_zac='' ll_mz=0 //MessageBox("","ŠTEVILO VRSTIC"+String(ll_st_vrstic)) FOR ll_xx=1 TO ll_st_vrstic /*ŠTEVILO VRSTIC*/ ls_vsebina_vrstice="" FOR ll_yy=1 TO 8 /*ŠTEVILO STOLPCEV*/ ls_vsebina_zac="" IF (ll_yy = 1) OR (ll_yy = 4) THEN //-------------------------------------------- ls_vsebina_zac=dw_1.GetItemString(ll_xx,ll_yy) IF IsNUll(ls_vsebina_zac) THEN ls_vsebina_zac="" IF Len(ls_vsebina_zac)<30 THEN ll_mz=(30 - Len(ls_vsebina_zac)) FOR ll_zz=1 TO ll_mz ls_vsebina_zac=ls_vsebina_zac+" " NEXT END IF //-------------------------------------------- END IF IF (ll_yy = 2) OR (ll_yy = 3)THEN //-------------------------------------------- ls_vsebina_zac=String(dw_1.GetItemNumber(ll_xx,ll_yy)) IF IsNUll(ls_vsebina_zac) THEN ls_vsebina_zac="" IF Len(ls_vsebina_zac)<30 THEN ll_mz=(30 - Len(ls_vsebina_zac)) FOR ll_zz=1 TO ll_mz ls_vsebina_zac=ls_vsebina_zac+" " NEXT END IF //-------------------------------------------- END IF IF (ll_yy = 5) OR (ll_yy = 6) OR (ll_yy = 7) OR (ll_yy = 8) THEN //-------------------------------------------- ld_vsote=dw_1.GetItemDecimal(ll_xx,ll_yy) IF ld_vsote=0 THEN ls_vsebina_zac=String(ld_vsote)+",00" ELSE

Page 38: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 33

ls_vsebina_zac=String(ld_vsote) END IF IF IsNUll(ls_vsebina_zac) THEN ls_vsebina_zac="" IF Len(ls_vsebina_zac)<30 THEN ll_mz=(30 - Len(ls_vsebina_zac)) FOR ll_zz=1 TO ll_mz ls_vsebina_zac=ls_vsebina_zac+" " NEXT END IF //-------------------------------------------- END IF ls_vsebina_vrstice = ls_vsebina_vrstice+ls_vsebina_zac NEXT FileWrite(li_FileNum, ls_vsebina_vrstice) NEXT FileClose(li_FileNum) //------------------------------------------------------------------------------------ //Seštevek stolpcev FOR li_zanka=1 TO ll_st_vrstic ld_vsota1= ld_vsota1 + dw_1.GetItemDecimal(li_zanka, 5) ld_vsota2= ld_vsota2 + dw_1.GetItemDecimal(li_zanka, 6) ld_vsota3= ld_vsota3 + dw_1.GetItemDecimal(li_zanka, 7) ld_vsota4= ld_vsota4 + dw_1.GetItemDecimal(li_zanka, 8) NEXT //MessageBox("", ld_vsota) dw_1.insertrow(0) dw_1.SetItem(ll_st_vrstic+1, 5, ld_vsota1) dw_1.SetItem(ll_st_vrstic+1, 6, ld_vsota2) dw_1.SetItem(ll_st_vrstic+1, 7, ld_vsota3) dw_1.SetItem(ll_st_vrstic+1, 8, ld_vsota4) st_3.Text = "Poročilo je končano." //-----------< SHRANJEVANJE >----------- String ls_docname, ls_named Integer li_value, li_shrani if gi_tip_porocila_IN = 3 then ls_docname="OCENA PREJETIH RAČUNOV za mesec "+ls_mesec+".xls" if gi_tip_porocila_IN = 2 then ls_docname="OCENA PREJETIH RAČUNOV za mesec "+ls_mesec+""+ls_ostale_drzave+".xls" li_value = GetFileSaveName("Select File", ls_docname, ls_named, "*.XLS", "EXCEL Files (*.XLS),*.XLS")

Page 39: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 34

IF li_value = 1 THEN //--------------------------------------------------------------------------------------------- IF ls_docname<>"" THEN //SHRANI TABELO V DATOTEKO (EXCEL) li_shrani=integer(dw_1.SaveAs(ls_docname, Excel!, TRUE)) IF li_shrani=1 THEN FileClose(li_value) MessageBox("Pozor!","Datoteka je shranjena. Stevilo vrstic: "+String(ll_st_vrstic+4)) //+4 ELSE MessageBox("Napaka!","PRIŠLO JE DO NAPAKE. DATOTEKA NI SHRANJENA.") END IF END IF //--------------------------------------------------------------------------------------------- END IF //----------< KONEC SHRANJEVANJE >---------- IF li_shrani=1 THEN OLEObject iOLEExcel iOLEExcel = CREATE OLEObject iOLEExcel.ConnectToNewObject("excel.application") iOLEExcel.Visible = FALSE iOLEExcel.Workbooks.Open(ls_docname) //----< MACRO >---- //FOKUS NA PRVO VRSTICO IN PRVI STOLPEC iOLEExcel.Range("A1").Select //NOVA VRSTICA(2 vrstici) iOLEExcel.Selection.EntireRow.Insert iOLEExcel.Selection.EntireRow.Insert // - NOVA VREDNOST iOLEExcel.Range("A1").Select iOLEExcel.ActiveCell.FormulaR1C1 = "OCENA PREJETIH RAČUNOV za mesec "+ls_mesec // - BOLD iOLEExcel.Range("A1").Select iOLEExcel.Selection.Font.Bold = True iOLEExcel.Range("A3:H3").Select iOLEExcel.Selection.Font.Bold = True iOLEExcel.Range("E"+String(ll_st_vrstic+4)+":H"+String(ll_st_vrstic+4)).Select iOLEExcel.Selection.Font.Bold = True // - NOVA VREDNOST iOLEExcel.Range("A3").Select iOLEExcel.ActiveCell.FormulaR1C1 = "TADIG_NAME"

Page 40: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 35

iOLEExcel.Range("B3").Select iOLEExcel.ActiveCell.FormulaR1C1 = "MOBILE_CUSTOMER_ID" iOLEExcel.Range("C3").Select iOLEExcel.ActiveCell.FormulaR1C1 = "TAX_REGION_ID" iOLEExcel.Range("D3").Select iOLEExcel.ActiveCell.FormulaR1C1 = "ID_NUMBER" iOLEExcel.Range("E3").Select iOLEExcel.ActiveCell.FormulaR1C1 = "CHARGE_SDR" iOLEExcel.Range("F3").Select iOLEExcel.ActiveCell.FormulaR1C1 = "CHARGE_TAX_SDR" iOLEExcel.Range("G3").Select iOLEExcel.ActiveCell.FormulaR1C1 = "CHARGE_EURO" iOLEExcel.Range("H3").Select iOLEExcel.ActiveCell.FormulaR1C1 = "CHARGE_TAX_EURO" // NOV FORMAT ZA 4 STOLPEC iOLEExcel.Columns("E:E").Select iOLEExcel.Selection.NumberFormat = "#.##0,00000" iOLEExcel.Columns("F:F").Select iOLEExcel.Selection.NumberFormat = "#.##0,00000" iOLEExcel.Columns("G:G").Select iOLEExcel.Selection.NumberFormat = "#.##0,00000" iOLEExcel.Columns("H:H").Select iOLEExcel.Selection.NumberFormat = "#.##0,00000" // RAZTEGNEMO STOLPEC iOLEExcel.Columns("A:A").EntireColumn.AutoFit iOLEExcel.Columns("B:B").EntireColumn.AutoFit iOLEExcel.Columns("C:C").EntireColumn.AutoFit iOLEExcel.Columns("D:D").EntireColumn.AutoFit iOLEExcel.Columns("E:E").EntireColumn.AutoFit iOLEExcel.Columns("F:F").EntireColumn.AutoFit iOLEExcel.Columns("G:G").EntireColumn.AutoFit iOLEExcel.Columns("H:H").EntireColumn.AutoFit //FOKUS NA PRVO VRSTICO IN PRVI STOLPEC iOLEExcel.Range("A1").Select //----< END MACRO >---- iOLEExcel.Application.Activeworkbook.Save() //Zapre alikacijo iOLEExcel.Application.Quit //Prekinemo povezavo z Objektom iOLEExcel.DisConnectObject() //Izbrišemo vse iz spomina Destroy iOLEExcel END IF

Page 41: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 36

// Omogočimo gumb za tiskanje POROČILA cb_2.Enabled = TRUE st_3.Visible = FALSE rr_4.Visible = FALSE Gumb Tiskaj: Long ll_natisni // Natisne vsebino, ki se nahaja v DataWindow PrintSetup() ll_natisni = PrintOpen() IF ll_natisni=-1 THEN MessageBox("Napaka!","Prišlo je do NAPAKE pri tiskanju dokumenta!. Za nadaljevanje pritisni OK.") ELSE PrintDataWindow(ll_natisni, tab_1.tabpage_1.dw_1) PrintClose(ll_natisni) END IF Ocena izdanih računov: Kontrolno polje: if cbx_2.Checked = TRUE then gi_tip_porocila_OUT=2 // MessageBox("2","Obkljukano") end if if cbx_2.Checked = FALSE then gi_tip_porocila_OUT=3 // MessageBox("3","Prazno") end if Gumb Kreiraj poročilo: // Onemogočimo gumb za tiskanje POROČILA cb_5.Enabled = FALSE // * ROAMING OUT * String ls_new_sql, ls_mesec, ls_mesec_select, ls_mesec_file, ls_leto, ls_ostale_drzave Integer li_mesec, li_leto, li_zanka, li_parameter Long ll_st_vrstic Decimal ld_vsota1, ld_vsota2, ld_vsota3, ld_vsota4 Dec {5} ld_vsote st_7.Visible = TRUE rr_5.Visible = TRUE st_7.Text = "Trenutno poteka kreiranje poročila..."

Page 42: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 37

// 3 - države EVROPSKE UNIJE // 2 - ostale države ll_st_vrstic=0 li_mesec=Integer(String(Now(), "mm")) li_leto=Integer(String(Now(), "yyyy")) //Ob prelomu leta //------------------------- IF li_mesec=1 THEN li_mesec=12 li_leto= (li_leto - 1) ELSE li_mesec= (li_mesec - 1) END IF ls_leto=String(li_leto) //Messagebox("LETO", ls_leto) //V primeru da je mesec manjši od 10 se mu spredaj doda 0 IF li_mesec < 10 THEN ls_mesec_select="0"+String(li_mesec) ELSE ls_mesec_select=String(li_mesec) END IF if gi_tip_porocila_OUT = 3 then st_6.text="OCENA IZDANIH RAČUNOV za mesec: "+ls_leto+"-"+ls_mesec_select+" (države EU)." li_parameter=3 else st_6.text="OCENA IZDANIH RAČUNOV za mesec: "+ls_leto+"-"+ls_mesec_select+" (ostale države)." li_parameter=2 ls_ostale_drzave = "(NOT EU)" end if IF li_mesec=1 THEN ls_mesec="JANUAR" IF li_mesec=2 THEN ls_mesec="FEBRUAR" IF li_mesec=3 THEN ls_mesec="MAREC" IF li_mesec=4 THEN ls_mesec="APRIL" IF li_mesec=5 THEN ls_mesec="MAJ" IF li_mesec=6 THEN ls_mesec="JUNIJ" IF li_mesec=7 THEN ls_mesec="JULIJ" IF li_mesec=8 THEN ls_mesec="AVGUST" IF li_mesec=9 THEN ls_mesec="SEPTEMBER" IF li_mesec=10 THEN ls_mesec="OKTOBER" IF li_mesec=11 THEN ls_mesec="NOVEMBER" IF li_mesec=12 THEN ls_mesec="DECEMBER"

Page 43: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 38

//V primeru da je mesec manjši od 10 se mu spredaj doda 0 IF li_mesec < 10 THEN ls_mesec_file="0"+String(li_mesec) ELSE ls_mesec_file=String(li_mesec) END IF ls_new_sql="SELECT"& +" tadig_name TADIG_NAME,"& +" customer_id MOBILE_CUSTOMER_ID,"& +" tax_region_id TAX_REGION_ID,"& +" id_number ID_NUMBER,"& +" sum(charge) CHARGE_SDR,"& +" sum(charge_tax) CHARGE_TAX_SDR,"& +" sum(charge*SDR_rate) CHARGE_EURO,"& +" sum(charge_tax*sdr_rate) CHARGE_TAX_EURO"& +" from"& +" t_record_out partition (p_record_out_"+ls_leto+ls_mesec_select+")"& +" ,t_roaming_partner,"& +" t_roaming_partner_customer"& +" where"& +" t_roaming_partner.roaming_partner_id = t_record_out.roaming_partner_id and"& +" t_roaming_partner_customer.roaming_partner_id = t_record_out.roaming_partner_id and"& +" charge+charge_tax > '0' and tax_region_id = "+String(li_parameter)+& +" group by"& +" tadig_name,"& +" customer_id,"& +" tax_region_id,"& +" id_number" dw_2.SETTRANSOBJECT(ORACLE_Roaming-Saturn) //Vsilimo nov SELECT dw_2.SetSQLSelect(ls_new_sql) //Resetiranje dw_2 dw_2.Reset() //Branje podatkov iz baze. IF (dw_2.Retrieve() = -1) THEN MessageBox("Napaka!","Tezave pri pridobivanju podatkov iz BAZE!") END IF //Pogledamo koliko je vrstic v dw_2 ll_st_vrstic=dw_2.RowCount() //* Podatke prenesemo iz DW v DATOTEKO * //------------------------------------------------------------------------------------ Long li_FileNum, ll_xx, ll_yy, ll_zz, ll_mz String ls_vsebina_zac, ls_vsebina_vrstice

Page 44: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 39

//Roaming_OUT_2005_02.txt if gi_tip_porocila_OUT = 3 then li_FileNum = FileOpen("C:\Roaming_OUT_"+String(li_leto)+"_"+ls_mesec_file+".TXT", LineMode!, Write!, Shared!, Replace!) if gi_tip_porocila_OUT = 2 then li_FileNum = FileOpen("C:\Roaming_OUT_"+String(li_leto)+"_"+ls_mesec_file+""+ls_ostale_drzave+".TXT", LineMode!, Write!, Shared!, Replace!) ls_vsebina_zac='' ll_mz=0 //MessageBox("","ŠTEVILO VRSTIC"+String(ll_st_vrstic)) FOR ll_xx=1 TO ll_st_vrstic /*ŠTEVILO VRSTIC*/ ls_vsebina_vrstice="" FOR ll_yy=1 TO 8 /*ŠTEVILO STOLPCEV*/ ls_vsebina_zac="" IF (ll_yy = 1) OR (ll_yy = 4) THEN //-------------------------------------------- ls_vsebina_zac=dw_2.GetItemString(ll_xx,ll_yy) IF IsNUll(ls_vsebina_zac) THEN ls_vsebina_zac="" IF Len(ls_vsebina_zac)<30 THEN ll_mz=(30 - Len(ls_vsebina_zac)) FOR ll_zz=1 TO ll_mz ls_vsebina_zac=ls_vsebina_zac+" " NEXT END IF //-------------------------------------------- END IF IF (ll_yy = 2) OR (ll_yy = 3)THEN //-------------------------------------------- ls_vsebina_zac=String(dw_2.GetItemNumber(ll_xx,ll_yy)) IF IsNUll(ls_vsebina_zac) THEN ls_vsebina_zac="" IF Len(ls_vsebina_zac)<30 THEN ll_mz=(30 - Len(ls_vsebina_zac)) FOR ll_zz=1 TO ll_mz ls_vsebina_zac=ls_vsebina_zac+" " NEXT END IF //-------------------------------------------- END IF IF (ll_yy = 5) OR (ll_yy = 6) OR (ll_yy = 7) OR (ll_yy = 8) THEN //-------------------------------------------- ld_vsote=dw_2.GetItemDecimal(ll_xx,ll_yy) IF ld_vsote=0 THEN ls_vsebina_zac=String(ld_vsote)+",00" ELSE

Page 45: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 40

ls_vsebina_zac=String(ld_vsote) END IF IF IsNUll(ls_vsebina_zac) THEN ls_vsebina_zac="" IF Len(ls_vsebina_zac)<30 THEN ll_mz=(30 - Len(ls_vsebina_zac)) FOR ll_zz=1 TO ll_mz ls_vsebina_zac=ls_vsebina_zac+" " NEXT END IF //-------------------------------------------- END IF ls_vsebina_vrstice = ls_vsebina_vrstice+ls_vsebina_zac NEXT FileWrite(li_FileNum, ls_vsebina_vrstice) NEXT FileClose(li_FileNum) //------------------------------------------------------------------------------------ //Seštevek stolpcev FOR li_zanka=1 TO ll_st_vrstic ld_vsota1= ld_vsota1 + dw_2.GetItemDecimal(li_zanka, 5) ld_vsota2= ld_vsota2 + dw_2.GetItemDecimal(li_zanka, 6) ld_vsota3= ld_vsota3 + dw_2.GetItemDecimal(li_zanka, 7) ld_vsota4= ld_vsota4 + dw_2.GetItemDecimal(li_zanka, 8) NEXT //MessageBox("", ld_vsota) dw_2.insertrow(0) dw_2.SetItem(ll_st_vrstic+1, 5, ld_vsota1) dw_2.SetItem(ll_st_vrstic+1, 6, ld_vsota2) dw_2.SetItem(ll_st_vrstic+1, 7, ld_vsota3) dw_2.SetItem(ll_st_vrstic+1, 8, ld_vsota4) st_7.Text = "Poročilo je končano." //-----------< SHRANJEVANJE >----------- String ls_docname, ls_named Integer li_value, li_shrani if gi_tip_porocila_OUT = 3 then ls_docname="OCENA IZDANIH RAČUNOV za mesec "+ls_mesec+".xls" if gi_tip_porocila_OUT = 2 then ls_docname="OCENA IZDANIH RAČUNOV za mesec "+ls_mesec+""+ls_ostale_drzave+".xls" li_value = GetFileSaveName("Select File", ls_docname, ls_named, "*.XLS", "EXCEL Files (*.XLS),*.XLS")

Page 46: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 41

IF li_value = 1 THEN //--------------------------------------------------------------------------------------------- IF ls_docname<>"" THEN //SHRANI TABELO V DATOTEKO (EXCEL) li_shrani=integer(dw_2.SaveAs(ls_docname, Excel!, TRUE)) IF li_shrani=1 THEN FileClose(li_value) MessageBox("Pozor!","Datoteka je shranjena. Stevilo vrstic: "+String(ll_st_vrstic+4)) //+3-zgoraj +1-vsota ELSE MessageBox("Napaka!","PRIŠLO JE DO NAPAKE. DATOTEKA NI SHRANJENA.") END IF END IF //--------------------------------------------------------------------------------------------- END IF //----------< KONEC SHRANJEVANJE >---------- IF li_shrani=1 THEN OLEObject iOLEExcel iOLEExcel = CREATE OLEObject iOLEExcel.ConnectToNewObject("excel.application") iOLEExcel.Visible = FALSE iOLEExcel.Workbooks.Open(ls_docname) //----< MACRO >---- //FOKUS NA PRVO VRSTICO IN PRVI STOLPEC iOLEExcel.Range("A1").Select //NOVA VRSTICA(2 vrstici) iOLEExcel.Selection.EntireRow.Insert iOLEExcel.Selection.EntireRow.Insert // - NOVA VREDNOST iOLEExcel.Range("A1").Select iOLEExcel.ActiveCell.FormulaR1C1 = "OCENA IZDANIH RAČUNOV za mesec "+ls_mesec // - BOLD iOLEExcel.Range("A1").Select iOLEExcel.Selection.Font.Bold = True iOLEExcel.Range("A3:H3").Select iOLEExcel.Selection.Font.Bold = True iOLEExcel.Range("E"+String(ll_st_vrstic+4)+":H"+String(ll_st_vrstic+4)).Select iOLEExcel.Selection.Font.Bold = True // - NOVA VREDNOST iOLEExcel.Range("A3").Select

Page 47: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 42

iOLEExcel.ActiveCell.FormulaR1C1 = "TADIG_NAME" iOLEExcel.Range("B3").Select iOLEExcel.ActiveCell.FormulaR1C1 = "MOBILE_CUSTOMER_ID" iOLEExcel.Range("C3").Select iOLEExcel.ActiveCell.FormulaR1C1 = "TAX_REGION_ID" iOLEExcel.Range("D3").Select iOLEExcel.ActiveCell.FormulaR1C1 = "ID_NUMBER" iOLEExcel.Range("E3").Select iOLEExcel.ActiveCell.FormulaR1C1 = "CHARGE_SDR" iOLEExcel.Range("F3").Select iOLEExcel.ActiveCell.FormulaR1C1 = "CHARGE_TAX_SDR" iOLEExcel.Range("G3").Select iOLEExcel.ActiveCell.FormulaR1C1 = "CHARGE_EURO" iOLEExcel.Range("H3").Select iOLEExcel.ActiveCell.FormulaR1C1 = "CHARGE_TAX_EURO" // NOV FORMAT ZA 4 STOLPEC iOLEExcel.Columns("E:E").Select iOLEExcel.Selection.NumberFormat = "#.##0,00000" iOLEExcel.Columns("F:F").Select iOLEExcel.Selection.NumberFormat = "#.##0,00000" iOLEExcel.Columns("G:G").Select iOLEExcel.Selection.NumberFormat = "#.##0,00000" iOLEExcel.Columns("H:H").Select iOLEExcel.Selection.NumberFormat = "#.##0,00000" // RAZTEGNEMO STOLPEC iOLEExcel.Columns("A:A").EntireColumn.AutoFit iOLEExcel.Columns("B:B").EntireColumn.AutoFit iOLEExcel.Columns("C:C").EntireColumn.AutoFit iOLEExcel.Columns("D:D").EntireColumn.AutoFit iOLEExcel.Columns("E:E").EntireColumn.AutoFit iOLEExcel.Columns("F:F").EntireColumn.AutoFit iOLEExcel.Columns("G:G").EntireColumn.AutoFit iOLEExcel.Columns("H:H").EntireColumn.AutoFit //FOKUS NA PRVO VRSTICO IN PRVI STOLPEC iOLEExcel.Range("A1").Select //----< END MACRO >---- iOLEExcel.Application.Activeworkbook.Save() //Zapre alikacijo iOLEExcel.Application.Quit //Prekinemo povezavo z Objektom iOLEExcel.DisConnectObject() //Izbrišemo vse iz spomina Destroy iOLEExcel END IF

Page 48: Programska rešitev za pripravo predpla čniškega poro čila ...diplome.fov.uni-mb.si/vis/12994Vrezovnik.pdf · applications is also Sybase PowerBuilder. Data for making reports

Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delov visokošolskega strokovngea študija

Gašper Vrezovnik: Programska rešitev za pripravo predplačniškega poročila v mobilni telefoniji stran 43

// Omogočimo gumb za tiskanje POROČILA cb_5.Enabled = TRUE st_7.Visible = FALSE rr_5.Visible = FALSE Gumb Tiskaj: Long ll_natisni // Natisne vsebino, ki se nahaja v DataWindow PrintSetup() ll_natisni = PrintOpen() IF ll_natisni=-1 THEN MessageBox("Napaka!","Prišlo je do NAPAKE pri tiskanju dokumenta!. Za nadaljevanje pritisni OK.") ELSE PrintDataWindow(ll_natisni, tab_1.tabpage_1.dw_2) PrintClose(ll_natisni) END IF Izhod iz aplikacije Izhod iz aplikacije: DISCONNECT USING ORACLE_Roaming-Saturn; Destroy ORACLE_Roaming-Saturn