| Products | Minisoft News | Events | Downloads | Product Manuals
 
  News

Minisoft News

Demo and Updates


Download an Evaluation today!

Updates and New Features (Jun 4, 2002)

Documentation


MiddleMan Manual

FAQ

  

Product Review


Features

MSJOB

Using INETD_NT

MiddleMan
Application Samples

Know Problem Reports

Type Libraries

MDMDA

MDMFT

MDMFTP

MDMSA

 
   

Using Data Access -
From PowerBuilder 5 with Arrays

The MDMDA session object is being called from a PowerSoft PowerBuilder 5 application. This sample includes references to an item array (12J1).

The dataset and items are defined as follows:

ITEMS:
  ITEM-NO, Z6;
  SALES-PERIODS, 12X6;
  SALES-HISTORY, 12P12;
  MISC, 12J1;
  OTHER, J2;

SETS:
  NAME: HISTORY, DETAIL (1/18);
  ENTRY: ITEM-NO(!HISTORY-M),
    SALES-PERIODS,
    SALES-HISTORY,
    MISC,
    OTHER;
  CAPACITY: 101;
END.

MDM_001.gif (4055 bytes)


Declare Global Variables

OLEObject da
OLEObject db
OLEObject ds
string upass

Open for window

string t1
integer result

  open (w_genapp_upass,w_genapp_frame)

  da = CREATE OLEObject
  result = da.ConnectToNewObject ( "MdmDA.Session" )
  if result <> 0 then
    MessageBox("OLE Error", "Object not created")
    close ( w_genapp_frame )
    return
  end if

  da.TraceLevel = 0
  da.HostAddress = "support"
  da.Port = "30002"
  da.LoginUser = "mgr"
  da.UserPassword = upass
  da.LoginGroup = "util"
  da.LoginAccount = "minisoft"
  If Not da.Connect Then
    MessageBox ("MDMDA Error", "Connect failed")
   close ( w_genapp_frame )
    return
  End If
  If da.LoginStatus = False Then
    MessageBox ("MDMDA Error", "Login failed")
    close ( w_genapp_frame )
    return
  End If
  db = da.AddImageDBRef("MSCARD")
  ds = db.AddDatasetRef("HISTORY")
  If Not db.Open("MSCARD", "UTIL", "MINISOFT", 1, "DO-ALL") Then
    MessageBox ("MDMDA Error", "Open failed")
    close ( w_genapp_frame )
    return
  End If
  ds.Delimiter = ""
  If Not ds.ReadSerialNext("@;") Then
    MessageBox ("MDMDA Error", "readserialnext failed")
    return
  End If

  sle_1.Text = ds.Item("ITEM-NO")
  t1 = ds.Item("MISC")
  sle_2.Text = t1
  sle_misc_1.Text = string(integer(Mid(t1, 1, 6)),"0")
  sle_misc_2.Text = string(integer(Mid(t1, 7, 6)),"0")
  sle_misc_3.Text = string(integer(Mid(t1, 13, 6)),"0")
  sle_misc_4.Text = string(integer(Mid(t1, 19, 6)),"0")
  sle_misc_5.Text = string(integer(Mid(t1, 25, 6)),"0")
  sle_misc_6.Text = string(integer(Mid(t1, 31, 6)),"0")
  sle_misc_7.Text = string(integer(Mid(t1, 37, 6)),"0")
  sle_misc_8.Text = string(integer(Mid(t1, 43, 6)),"0")
  sle_misc_9.Text = string(integer(Mid(t1, 49, 6)),"0")
  sle_misc_10.Text = string(integer(Mid(t1, 55, 6)),"0")
  sle_misc_11.Text = string(integer(Mid(t1, 61, 6)),"0")
  sle_misc_12.Text = string(integer(Mid(t1, 67, 6)),"0")

clicked for cb_next

string t1

  If Not ds.ReadSerialNext("@;") Then
    MessageBox ("MDMDA Error", "readserialnext failed")
    return
  End If

  sle_1.Text = ds.Item("ITEM-NO")
  t1 = ds.Item("MISC")
  sle_2.Text = t1
  sle_misc_1.Text = string(integer(Mid(t1, 1, 6)),"0")
  sle_misc_2.Text = string(integer(Mid(t1, 7, 6)),"0")
  sle_misc_3.Text = string(integer(Mid(t1, 13, 6)),"0")
  sle_misc_4.Text = string(integer(Mid(t1, 19, 6)),"0")
  sle_misc_5.Text = string(integer(Mid(t1, 25, 6)),"0")
  sle_misc_6.Text = string(integer(Mid(t1, 31, 6)),"0")
  sle_misc_7.Text = string(integer(Mid(t1, 37, 6)),"0")
  sle_misc_8.Text = string(integer(Mid(t1, 43, 6)),"0")
  sle_misc_9.Text = string(integer(Mid(t1, 49, 6)),"0")
  sle_misc_10.Text = string(integer(Mid(t1, 55, 6)),"0")
  sle_misc_11.Text = string(integer(Mid(t1, 61, 6)),"0")
  sle_misc_12.Text = string(integer(Mid(t1, 67, 6)),"0")

clicked for cb_previous

  If Not ds.Rewind Then
    MessageBox ("MDMDA Error", "rewind failed")
    return
  End If

clicked for cb_add

string t1

  t1 = ""
  t1 = t1 + string(integer(sle_misc_1.Text),"000000")
  t1 = t1 + string(integer(sle_misc_2.Text),"000000")
  t1 = t1 + string(integer(sle_misc_3.Text),"000000")
  t1 = t1 + string(integer(sle_misc_4.Text),"000000")
  t1 = t1 + string(integer(sle_misc_5.Text),"000000")
  t1 = t1 + string(integer(sle_misc_6.Text),"000000")
  t1 = t1 + string(integer(sle_misc_7.Text),"000000")
  t1 = t1 + string(integer(sle_misc_8.Text),"000000")
  t1 = t1 + string(integer(sle_misc_9.Text),"000000")
  t1 = t1 + string(integer(sle_misc_10.Text),"000000")
  t1 = t1 + string(integer(sle_misc_11.Text),"000000")
  t1 = t1 + string(integer(sle_misc_12.Text),"000000")
  ds.WriteItem("ITEM-NO",sle_1.Text)
  ds.WriteItem("MISC",t1)
  sle_2.Text = t1

  If Not ds.Write("@;") Then
    MessageBox ("MDMDA Error", "Write failed")
    return
  End If