Search

Google
 

Kamis, 24 Juli 2008

ABAP Pertamaku

*&---------------------------------------------------------------------*
*& Report ZHELLOWORLD *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT ZHELLOWORLD .

*ini buat mendeklarisasi variable
DATA: cValue type I
, cValue1 type I.
start-of-selection.
cValue = 0.

*ini merupakan sintak untuk looping
*while disini prinsipnya beda dengan while yang pernah kita pelajari baik di java maupun c
*fungsi while ini sama dengan if
*ia akan menjalankan jika kondisi nya sesuai dengan yang di while
WHILE cValue = 0.
write: cValue1.
cValue1 = cValue1 + 1.
IF cValue1 = 5.
cValue = 5.
ENDIF.
ENDWHILE.

Menurutku ABAP itu gampang untuk saat ini, namun saya tidak tau bagaimana selanjutnya
Thanks banget buat orang-orang yang sudah mau melihat dan membaca di blog saya
GBU

Robby

Rabu, 16 Juli 2008

SMS gateway

Ini adalah aplikasi yang saya buat untuk pertama kalinya untuk perusahaan
walaupun masih sedikit banyak kelemahan namun saya ingin membagikan ilmu yang saya.
disini saya buat satu form dan satu module

Dalam form ini terdapat 1 timer, 1 list, 1 button test koneksi, dan 1 textfield (ini optional untuk mengecek timer jalan atau tidak), 1 MSComm (anda dapat mencarinya di internet)

Dalam module yang saya buat isinya berupa koding yang mengambil dan menginsert data ke dalam MySQL

Saya menggunakan Database karena saya akan menggunakan lebih dari 1 modem untuk aplikasi sms gateway ini.

kiranya Postingan ini bermanfaat bagi yang membaca
kiranya jika ingin menambahkan kodingnya silakan tambahkan di comment
terima kasih

'Created by Robby
'Contact us robby_juli@yahoo.com
'Contact number 085217539260 / 021-98013015
Dim Signal
Dim nilaisignal
Dim cariIn
dexDim i As Double

Private Sub terimaSMS()
Dim tmpIsiIndex
Dim tmpSplitNoHP
Dim tmpSplitTanggal
Dim tmpSplitPesan
On Error GoTo err_handler
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
MSComm1.PortOpen = True
Dim waktu As Date
waktu = Now() buffer$ = ""
Do
MSComm1.Output = "AT+CMGL=""ALL""" & Chr$(13)
Do
DoEvents
buffer$ = buffer$ & MSComm1.Input
Loop Until InStr(buffer$, "OK") Or InStr(buffer$, "ERROR") Or Now > _
DateAdd("s", 10, waktu)
Loop Until InStr(buffer$, "OK") Or Now > DateAdd("s", 10, waktu)
MSComm1.PortOpen = False
cariIndex = Split(buffer$, "+CMGL: ")
List1.Clear
For i = 1 To UBound(cariIndex)
tmpIsiIndex = ""
tmpSplitNoHP = ""
List1.AddItem cariIndex(i)
tmpIsiIndex = Split(cariIndex(i), ",")
tmpSplitNoHP = Split(tmpIsiIndex(2), """")
tmpSplitTanggal = Split(tmpIsiIndex(4), """")
tmpSplitPesan = Split(tmpIsiIndex(5), """")
kirim tmpSplitNoHP(1), tmpSplitTanggal(1), tmpSplitPesan(1)
hapusSMS (tmpIsiIndex(0))
Nexterr_handler:
If Err.Number = 8002 Or Err.Number = 8005 Then MsgBox CStr(Err.Number)
End Sub

Function kirim(NoHP, Tanggal, Pesan)
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
MSComm1.PortOpen = True
Dim waktu As Date
waktu = Now() buffer$ = ""
Do
MSComm1.Output = "AT+CMGS=" & NoHP & Chr$(13)
MSComm1.Output = "Terima Kasih" & Chr$(26)
Do
DoEvents
buffer$ = buffer$ & MSComm1.Input
Loop Until InStr(buffer$, "OK") Or InStr(buffer$, "ERROR") Or Now > _
DateAdd("s", 10, waktu)
Loop Until InStr(buffer$, "OK") Or Now > DateAdd("s", 10, waktu)
MSComm1.PortOpen = False
insertData NoHP, Pesan, Tanggal
End Function

Private Sub tmpSignal()
On Error GoTo err_handler
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
MSComm1.PortOpen = True
Dim waktu As Date
waktu = Now()
bufferS$ = ""
Do
MSComm1.Output = "AT+CSQ" & Chr$(13)
Do
DoEvents
bufferS$ = bufferS$ & MSComm1.Input
Loop Until InStr(bufferS$, "OK") Or InStr(bufferS$, "ERROR") Or Now > _
DateAdd("s", 10, waktu)
Loop Until InStr(bufferS$, "OK") Or Now > DateAdd("s", 10, waktu)
MSComm1.PortOpen = False
Signal = Split(bufferS$, " ")
nilaisignal = Split(Signal(1), ",")
ProgressBar1.Value = nilaisignal(0)
err_handler:
If Err.Number = 8002 Or Err.Number = 8005 Then MsgBox CStr(Err.Number)
End Sub

Private Sub btnTestPort_Click()
On Error GoTo err_handler
Dim waktu As Date
waktu = Now()
Do
MSComm1.Output = "AT+CGMI" & Chr$(13)
Do
DoEvents
buffer$ = buffer$ & MSComm1.Input
Loop Until InStr(buffer$, "OK") Or InStr(buffer$, "ERROR") Or Now > _
DateAdd("s", 10, waktu)
Loop Until InStr(buffer$, "OK") Or Now > DateAdd("s", 10, waktu)
MSComm1.PortOpen = False
If InStr(buffer$, "OK") Then
MsgBox "Kondisi port OK."
Else
MsgBox "Port tidak dapat digunakan saat ini."
End Iferr_handler:
If Err.Number = 8002 Or Err.Number = 8005 Then MsgBox CStr(Err.Number)
End Sub
Private Sub hapusSMS(indexHapus)
Dim waktu As Date
waktu = Now()
Do
MSComm1.Output = "AT+CMGD=" & indexHapus & Chr$(13)
Do
DoEvents
buffer$ = buffer$ & MSComm1.Input
Loop Until InStr(buffer$, "OK") Or InStr(buffer$, "ERROR") Or Now > _
DteAdd("s", 10, waktu) Loop Until InStr(buffer$, "OK") Or Now > DateAdd("s", 10, waktu) MSComm1.PortOpen = False
End Sub

Private Sub Form_Load()
koneksiDB
seleksiInput
Set DataGrid1.DataSource = rs
init
ProgressBar1.Max = 33
ProgressBar1.Min = 0
Timer1.Interval = 1000
End

SubPrivate Sub init()
With MSComm1
.CommPort = 5
.Settings = "115200,N,8,1"
.InputLen = 0
.RTSEnable = True
.PortOpen = True
End With
End Sub
Private Sub Timer1_Timer()
i = i + 1
Text2.Text = i
tmpSignal
If i = 5 Then
terimaSMS
i = 0 End if
End Sub
Public con As New ADODB.Connection
Public rs As New ADODB.Recordset
Public Sub koneksiDB()
Set con = New ADODB.Connectioncon.Open "Provider=MSDASQL. 1;Persist Security Info=false;Data Source=myodbc"
con.CursorLocation = adUseClient
End Sub

Public Sub seleksiInput()
Set rs = New ADODB.Recordset
rs.Open "select * from m_user", con, 1, 3
End Sub

Public Sub insertData(HP, Pesan, Tgl)
SQL = "insert into tr_inbox(NO_HP,PESAN,TANGGAL, NO_HP_PENERIMA_PESAN) value('" & HP & "','" & Pesan & "','" & Tgl & "', '087882093708')"
con.Execute SQL
End Sub