Quantcast
Channel: PowerBuilder Developer Center
Viewing all 203 articles
Browse latest View live

How To Develop PowerBuilder Apps In 64 bit

$
0
0

This is from a video I prepared for the SAP Database and Technology Academy.  Unfortunately, due to some personnel changes it hasn't been published there.  I'll update the link when it has.

 

 

Synopsis:

 

  • Currently only using the PowerBuilder.Net IDE, not available for Classic yet.
  • Must be using 12.5.1, the capability was added in that maintenance release.
  • You are actually compiling to either the x86 (32 bit) or AnyCPU (both 32 and 64 bit) target types.
  • If you aren't using ADO.Net for your database connections, you'll need to do so now.
  • If you are using System.Data.Odbc, then you need to make sure that you've created ODBC entries in the right area.  There are two separate ODBC managers and two different areas in the registries for 32 bit and 64 bit ODBC entries.
  • Web Services and .Net Assemblies will take on the bitness of the process that calls them.

PowerBuilder - is it just client server to you?

$
0
0

Wednesday night I was at the PowerBuilder user group meeting in Charlotte, NC. Matt Balent hosted the event and we even had a couple of first time attendees. The highlight of the evening was when Armeen Mazda, CEO of Appeon, did a demo for us and showed how easy and fast it was to take a PowerBuilder application and deploy it as native iOS code for an iPhone or an iPad. Nothing is as fast for app development on the iOS platform - if you want to check it out for yourself, the beta is still in progress http://www.appeon.com/form/form.php?mid=10

 

Most customers in attendance were frustrated that we couldn't provide more clarity around the PowerBuilder roadmap at this time, but we should have that information soon. 

 

One of the discussions we had was one that was quite familiar - one ISV has their main application built in PowerBuilder, but they desperately need a Web Solution. They know other companies who have successfully used Appeon but the cost is prohibitive for them and they want a native solution for PowerBuilder. This company has a small development team with  extensive development skills - they've used Java, Ruby, PHP, Python, WinDev, Visual Studio - and every time they use another product they always turn back to PowerBuilder, because it can't be beat for its productivity.  We hear this a lot from people. And, there's been strong momentum in the community where customers who failed at PowerBuilder rewrites are coming back because its productivity is simply unparalleled.

 

Let me know if you've had a similar experience in your company, I'd love to share your experience with others and encourage more folks to do the same.

 

While we hear about PowerBuilder's unmatched productivity quite often, there is also the mindset that PowerBuilder is ONLY a client/server tool.This is just not true - of course, you can easily and quickly build client/server apps, and it rose to prominence by defining this architecture. But, since the mid-90s, it's supported n-tier development and encouraged developers to use best practices to decouple UI and logic. It supported app servers before most customers knew what they were. PowerBuilder was built to evolov, and its premise is quite: abstract complex technologies and make them easy to use.  If we had no limits on the amount of money and people we could hire,  PowerBuilder's IDE would have a multitude of target types and all you'd need is your PB skills to build any of them. My questions to you are do you use PB in an n-tier environment, do you use services or do you rely mainly on a c/s architecture? Will you build new apps in PowerBuilder and if so, what architecture?

PowerBuilder User Group Germany Meeting in Walldorf - Mai 07 and 08 2013

$
0
0

Tuesday 07 th 10:00 - 18:00

Wednesday 08th 09:00 - 17:00

 

SAP Campus

Raum Biel im WDF 21

Hasso-Plattner-Ring 7

69190 Walldorf

Germany

 

Event Details:

 

Tuesday 07th
Communication: SAP and the PowerBuilder developer community
 

PowerBuilder developers will give SAP an overview about the systems they build with PowerBuilder, the markets they target and the opportunities they see in closer SAP integration.

SAP will explain their forward looking PowerBuilder strategy and show their broad range of products of specific interest to the developer community.
SAP will preview the upcoming PowerBuilder 15 release and demonstrate mobile and web deployment with Appeon.
 
Wednesday 08th

Going Global Today: A high-class, hands-on workshop by SAP Mentor, Yakov Werde:
“Building SOA Applications with PowerBuilder, WCF & IIS”
Will give you a hands on experience in deploying and exposing PowerBuilder application logic using global and industry standards.

Register and more information:http://www.pbugg.de/user-meeting-walldorf

PowerBuilder User Group Meeting, May 6th 2013 in Zurich

$
0
0

Dear all

 

The Swiss PowerBuilder User Group is inviting to our next event. The main topic is a PowerBuilder re-engineering workshop conducted by Mr. Yakov Werde. The workshop will take place on May 6th at the SAP premises in Regensdorf near Zurich. Attendance is free for members. SAP will be hosting an apéro at the end of the event.

 

Please find more information, agenda and meeting registration at our website http://www.spbug.ch

.

 

Kind regards
Preben Hansen
SPBUG

Current Enhancement Requests - 2013-04-22

$
0
0

Hi Everyone;

 

    Here are the latest statistics for the main product enhancements being tracked by ISUG-TECH. If you are an ISUG-TECH member, please remember to log-in and vote for your products enhancements so that ISUG-TECH can forward the key ones to SAP for possible inclusion in the next release!

 

Current Products in the System

Enhancement - Adaptive Server Enterprise347Apr 10, 2013 12:49 AM
Enhancement - Appeon for PowerBuilder8Jul 23, 2012 02:29 PM
Enhancement - PowerBuilder537Mar 27, 2013 08:49 AM
Enhancement - Sybase IQ18Mar 26, 2012 02:46 PM
Enhancement - Infomaker9Oct 21, 2011 02:14 PM
Enhancement - Replication Server16Feb 09, 2011 03:26 PM
Enhancement - SQL Anywhere Studio7Feb 10, 2010 10:44 AM

 

Each enhancement in the system can be voted on independently of other enhancements. You can assign one of 5 possible votes, each      expressing a different opinion that you may have about the request :

5:Needed
I have to have this in the product!
4:Recommended
I think is this is a good idea and can see how it could be beneficial
3:Undecided
I'm not sure; seems to be a mixed bag for me
2:Not Recommended
Bad idea; this enhancement will introduce negative effects to the product
1:Not Needed
This is not needed (equal functionality implemented in another way, etc.)

 

 

Regards ... Chris

PBTV - May 2013

$
0
0

Hi Everyone;

 

   Here is what is coming up on PowerBuilder TV for the month of May 2013 ...

 

 

Test Automation for PowerBuilder Applications 

 

Wednesday, May 29, 2013
8:00am PST (Los Angeles) / 17:00 CET (Paris)

 

    This presentation will provide details and demonstration of comprehensive test support for the DataWindow and other PB objects. It will also feature the step-based approach to building manual and automated tests to maximize reuse and minimize test maintenance.Automated testing support for PowerBuilder applications has been in demand and Zeenyx Software is happy to announce that support for versions 11.x and 12.x is now available in AscentialTest.

 

Presenter: Brian Le Suer

 

 

 

 

 

Regards ... Chris

PowerBuilder download will be back tomorrow - May 15

$
0
0

Just wanted to let folks know that our link will be back up tomorrow. Sorry for the lengthy delay in getting it reposted - I am just happy it will be ready to go live in the morning!

 

As for other info on PB, I am hoping we will have more to share soon. Beta for 15 should be available soon.

 

I am planning on posting some 1-1 interviews with folks who have been doing AMAZING things with Appeon Mobile - please let me know if you'd like to take part!

PowerBuilder 12.5 SP02 PL01 (build 5550) EBF Released...


PowerBuilder 12.5.2 EBF 21365 bug list

$
0
0

Here it is from the readme.txt file:

 

  List of Fixes for EBF 21365

   ---------------------------

 

 

   Following is a list of fixes which are cumulative to this release.  Each

   fix is listed along with the EBF in which it was first released and the

   description of the problem. The list is sorted by the EBFID column.

 

 

 

 

 

 

 

 

   EBFID   BugID          Description

   -----   ------------   ---------------------------------------------

   21365   737711         Toolbar icons disappear after customizing

                          PowerBar1.  When you add the icons back to

                          PowerBar1 and restart PB.   The icons are

                          still missing. It will only show 2 icons.

 

 

   21365   736647         Customer tried to create a PB.Net Assembly

                          target that uses iTextSharp. Resulted in

                          illegal datatype compile errors.   This works

                          in Visual Studio.

 

 

   21365   736348         Customer has an application that displays

                          tooltips with an expression.   Once enabled

                          and you move down the rows with the arrow

                          keys, the tooltip is still displayed for rows

                          not meeting the expression.

 

 

   21365   735774         Landscape orientation ignored if printername

                          greater than 30 characters.

 

 

   21365   735764         The function OleControl.InsertFile() fails if

                          the length of the full pathname is larger than

                          128 characters long.

 

 

   21365   733968         Importfile() returned -1 to Empty File.

 

 

   21365   733709         When you open a window containing a dw that

                          calls a global function that returns a global

                          variable, editing the global variables causes

                          PB to crash.

 

 

   21365   733175         Customer has XML that includes the following

                          datetime format that fails validation when

                          imported into a datetime column in a

                          datawindow using ImportString   <?xml

                          version="1.0" encoding="UTF-8"

                          standalone="yes"?>

                          <searchDisbursementDataList>   <list

                          xsi:type="searchDisbursementData"

                          xmlns:xsi="http://www.w3.org/2001/XMLSchema-

                          instance">   <addDate>2012-12-17T09:36:18-

                          07:00</addDate>   <busUid>1234567</busUid>

                          <disbTraceNumber></disbTraceNumber>

                          <disbursementAmt>000000</disbursementAmt>

                          <disbursementDate>2012-12-18T00:00:00-

                          07:00</disbursementDate>  In the resolution

                          for CR 290457 I see the following, customer

                          says XMLSchema and XMLSchema-instance should

                          be treated the same.  1. If the meta data type

                          is XMLNone or XMLDTD then the datetime format

                          is yyyy-mm-dd hh:mm:ss 2. If the meta data

                          type is XMLSchema, one of the acceptable

                          formats is yyyy-mm-ddThh:mm:ss where T is the

                          letter to seperate date and time (speciifed in

                          5.4 of ISO8601)

 

 

   21365   732586         DW Activex does not display in PB 12.5 using

                          Internet Explorer   Cannot register the

                          psdwc125.dll, it returns an error

                          DllRegisterServer failed with error code

                          0x80040200   According to the PB

                          documentation: The DataWIndow Web Control for

                          ActiveX is a deprecated technology and might

                          not be supported in future releases of

                          PowerBuilder.

 

 

   21365   732457         A Button placed in an N_Up DataWindow

                          evaluates expressions for the wrong row when

                          firing the buttonclicked event.

 

 

   21365   731949         The customer has a PB 9 app that processes

                          very large reports.  He retireves the reports

                          in a separate thread and once retrieved does a

                          GetFullState to pass a blob back to the main

                          PB thread. He can retrieve reports up to just

                          under 1 Gig, and then the GetFullState will

                          double the memory usage but still be under the

                          2 Gig limit.  All works fine as long as he

                          keeps the reports under 1 Gig.  He does this

                          by monitoring the datawindow storage property.

                          He is migrating this applcation to PB 12.5.

                          But he is finding that the thread in PB 12.5

                          is crashing when it reaches just 1 Gig of

                          total memory.  So he is limited now in PB 12.5

                          to reports of under 500 meg which when doubled

                          by the GetFullState will stay under the

                          apparent new limit of 1 Gig.  Why is this

                          happening in PB 12.5?  Why can't he get the

                          same 2 Gig of total memory usage as he had in

                          PB 9?

 

 

   21365   731712         Thread safety problem; when calling a

                          PowerBuilder nvo, deployed as a .NET assembly,

                          within a multithreaded environment, sometimes

                          a Messagebox appears:

                          System.NullReferenceException: Object

                          Reference not set to an instance of an object

                          at

                          Sybase.PowerBuilder.Win.PBSession.get_Currents

                          ession() at c__testproject.InitAssembly()

 

 

   21365   730125         Customer has a COM Interop .NET assembly that

                          works in VS 2010 but in PB 12.5.x .NET does

                          not seem to expose the GET and SET methods.

                          In VS 2010, one must 'Embed Interop Type' to

                          False. This appears to be new .NET 4

                          functionality for COM Interop.  This code

                          compiles in PB 12.1

                          EpicPremier.ConceptOne.Interop.PDFCreactiveX.P

                          DFCreactiveX i_pdfapp i_pdfapp = create

                          EpicPremier.ConceptOne.Interop.PDFCreactiveX.P

                          DFCreactiveXClass   System.Object x  x =

                          i_pdfapp.get_ObjectAttribute("x", "y");  In PB

                          12.5.x .NET the last line of code generates

                          IntelliSense error 'Cannot find the element

                          “”.'

                          EpicPremier.ConceptOne.Interop.PDFCreactiveX.P

                          DFCreactiveX i_pdfapp i_pdfapp = create

                          EpicPremier.ConceptOne.Interop.PDFCreactiveX.P

                          DFCreactiveXClass   System.Object x  x =

                          i_pdfapp.ObjectAttribute["x","y"]  This

                          version is OK with Intellisense    x =

                          i_pdfapp.ObjectAttribute  but the project

                          compiles with   “Indexed property

                          'EpicPremier.ConceptOne.Interop.PDFCreactiveX.

                          IPDFCreactiveX.ObjectAttribute' has non-

                          optional arguments which must be provided”

 

 

   21365   729698         When editing a large string in the debugger,

                          the string variable will get truncated and

                          data will be lost.  The string variable has

                          over 20,000 characters.

 

 

   21365   729380         PowerBuilder 12.5.1. Build 4953:  When

                          importing numeric XML data into a decimal(2)

                          DataWindow column only the first digit is

                          imported

 

 

   21365   728964         Rand PowerScript function not working in a PB

                          .NET WebService

 

 

   21365   728848         The Source Control currently used is Perforce

                          ( http://www.perforce.com ). It can use

                          Unicode but if the HEXASCII behaviour is right

                          its not necessary.  Now when exporting using

                          HEXASCII encoding Umlaut characters are not

                          encoded correctly. Problem exists in PB

                          Classic 12.5.1.4953, earlier Build 4595 is OK.

                          As it seems also characters with accents are

                          not correctly translated in HEXASCII.

 

 

   21365   727843         Tested with PB 12.5.1.4971  The webservice

                          worked in 11.5, but when migrated to PB 12.5.1

                          (classic), they get this error when trying to

                          deploy it: a_wf_ctn_act.asmx.cs(2111,28):

                          error CS0012: The type

                          'Sybase.PowerBuilder.WinWebDataWindowCommon.PB

                          DataStore' is defined in an assembly  Error:

                          C# Compilation error when invoking

                          pbwsemit.exe

 

 

   21365   727162         Webservice proxy client using decimal datatype

                          in return structure is ignoring the decimal

                          seperator in non english environment.

 

 

   21365   726731         RightA() may return empty or crash on

                          PowerBuilder .Net if a very long multi-byte

                          string is specified.

 

 

   21365   726726         Starting with build 4953, PrintOpen is

                          returning a -1 any time the showprintdialog

                          argument is false:  Job = PrintOpen()  //this

                          fails with -1  Job = PrintOpen("Print

                          Window",false)   //this also fails with -1

                          Job = PrintOpen("Print Window",true)   //this

                          code works

 

 

   21365   726700         In a nested report, objects are overlaying the

                          footer, when they should be pushed to the next

                          page. This happens when you have an

                          environment variable

                          DW_PUSH_CUT_CONTROL_TO_NEXT_PAGE=yes or =no

                          defined! Either way it does not push the cut

                          controls.  If you do not have this environment

                          variable defined then it does not push as

                          expected. In this case when it is not defined

                          if you set the datawindow property

                          dw_1.Modify('datawindow.PushCutControlToNextPa

                          ge=yes') then it pushes the cut controls

                          correctly for that datawindow.   But if you

                          have both the datawindow property and the

                          environment variable set to yes, it should

                          push obviously but it does not.  This is a

                          problem with the environment variable.    It

                          would also seem that what should happen is

                          that the code should override the enviornment

                          variable such that I could have all

                          datawindows do what the enviornment variable

                          is set to and override that behavior on

                          specific datawindows with the dw property.  I

                          think that is how it should work.

 

 

   21365   725298         The customer has a app the uses the RTE

                          control.  They have user's that type in text

                          and also use the Print Screen button or Alt-

                          PrintScreen button to capture a screen print

                          and paste it into the RTE control.  They may

                          do this many times. Then subsequently they use

                          the rtename.SaveDocument ( filename

                          ,FileTypeDoc!) to save a .doc file.  This file

                          in PB 10.5 contained all the screen shots

                          embedded in the document.  They then process

                          this file external to PB.    But now in PB

                          12.5 when the doc is saved both a .doc file

                          and a separate .wmf for each screen shot is

                          created. The screen print graphics are no

                          longer embedded into the document file. Both

                          PB 10.5 and PB 12.5 use the TX control, so

                          this apprears to be a regression after the RTE

                          change over to the TX Control.  We found

                          another issue than mentions the PB function

                          rte.InsertPicture().  This does embed an

                          image, but is not very useful to this customer

                          for the way they are constantly grabbing

                          screen images and pasting them into the RTE.

                          There is no easy way for them to use

                          insertpicture for their users to workaround

                          this issue.  According to this link:

                          http://www.textcontrol.com/en_US/blog/archive/

                          20050406/ the TX control does have a property

                          to determine if images are embedded or linked,

                          and another property to set the format on

                          images.  So it would seem that if these

                          properties were made available in

                          PowerBuilder, that users could have the

                          flexibility to do what they need either way.

 

 

   21365   725289         Treeview datawindow, scrolling through the

                          rows shows a memory leak only in the

                          executable.  Tested with both pcode and

                          machine code. When run in the PB IDE, the

                          memory leak is not present.

 

 

   21365   724809         Datawindow with computed fields referencing

                          other compute fields with cumulativeSum()

                          cannot be opened anymore once migrated to PB

                          .Net.

 

 

   21365   724644         A call is executed with an array argument to a

                          webservice, but only a nill argument is passed

                          to the webservice call.

 

 

   21365   724378         App migrated from PB 11 to PB 12.5.1 stops

                          responding.  The mdi application has an

                          external datawindow with a taborder

 

 

   21365   724043         Customer uses copyrtf() with just an image

                          that has been cut and pasted from Excel and in

                          PB 10.5 they received back an rtf string.

                          They are currently using PB 11.5 and they are

                          getting back an empty string.  Tested in PB

                          12.5.1 and this still returns and empty

                          string.     Through testing, if there is any

                          text including a space along with the pasted

                          image, an rtf string is returned.

 

 

   21365   723383         PB IDE cannot detect the user DLL who exists

                          in a current folder after connecting with

                          Orace Database using Oracle Client.

 

 

   21365   721280         Performance of .NET web service using xml

                          serializer is slower than in PB 11.5.

                          Performance is slower on first call and

                          subsequent calls.  Webservice is using xml

                          serializer workaround with the sgen.exe tool.

                          RESOLUTION:  Upgraded to PB 12.5.1 (build

                          4953) and performance improved

 

 

   21365   720492         WCF WS namespace attribute being ignored

 

 

   21365   720212         A datawindow button that is first in the tab

                          order is skipped and initial focus is on the

                          next object.

 

 

   21365   720138         Using setbasicauthentication for a

                          soapconnection will use the first call

                          unauthenticated, and then will do a second one

                          with uid and pwd. PB works against spec like

                          http://www.ietf.org/rfc/rfc2617.txt, however

                          we require a setting such as preemptive

                          authentication in order to prevent the first

                          call.

 

 

   21365   720022         Deploying an inherited WebService that was

                          based on pfc objects gave an error:  Error: C#

                          compilation error when invoking pbwsemit.exe

 

 

   21365   718713         Compiler Build Error when trying to build a

                          WPF application containing an external

                          assembly:  Error  The build was aborted

                          because of an internal failure.

                          System.ArgumentException: The project file

                          "C:\test\pbtest\main.out\.csproj" was not

                          found.

PBTV - June 2013

$
0
0

PBTV - June 2013

 

 

Upcoming webinars onPowerBuilderTV

 

May / June, 2013

Wednesday, May 29, 2013
at 8:00 AM PST (Los Angeles) - 17h00 CET (Paris)

Test Automation for PowerBuilder Applications

This presentation will provide details and demonstration of comprehensive test support for the DataWindow and other PB objects. It will also feature the step-based approach to building manual and automated tests to maximize reuse and minimize test maintenance. Automated testing support for PowerBuilder applications has been in demand and Zeenyx Software is happy to announce that support for versions 11.x and 12.x is now available in AscentialTest.

Presenter: Brian Le Suer

Register



Appeon Mobile

Appeon has announced the GA of Appeon Mobile! We've had a number of Appeon Mobile webinars building up to this announcement, and in case you have missed any of them you can check them out below in the PBTV archives:
How to Develop Mobile Apps with Appeon Mobile
Installing Appeon Mobile in less than 3 minutes
Appify Your UI: Designing a Mobile User Experience With PowerBuilder

Check out the archive of past webinars

New PowerBuilder "How to..." Videos on the SAP D&T Academy

$
0
0

The PowerBuilder Developer Center's own Matt Balent has authored two new instructional videos to add to your library and to the library of anyone seeking to reach the intermediate level of PowerBuilder development. Thanks Matt!

 

SAP D&T Academy - How to Implement Object Orientation: Polymorphism in PowerBuilder

http://www.youtube.com/watch?v=y3xXWVxmdEY

 

SAP D&T Academy - How to Implement Object Orientation: Inheritance

http://www.youtube.com/watch?v=BMNOyufvvU0

 

Certainly let us know if you'd like to submit a proposal for a topic that you'd like to record yourself.

PB Enhacement Requests - 2013-05-24

$
0
0

Hi Everyone;

 

   Please find below, the first and latest new feature requests that have been added this week to the ISUG product enhancement tracking system for PowerBuilder. ISUG/ISUG-TECH has been maintaining the enhancement forum for all Sybase products for over 15 years now!

 

3728DW Painter Update PropertiesWhen changing the syntax of a multi-table query, take me to the Update Properties and preserve some settings.
3729Warn before DW Painter removes stored procedure update

Right now when you specify procedures in the stored procedure update window for inserts/updates/deletes and then later add or remove a column in the DataWindow object all the information contained in the stored procedure update is silently deleted.

3730New SaveAs Type - Semicolon!

I need very often a semicolon separate output file for data exchange!

There are now 541 active enhancements in the PowerBuilder queue!

 

  If you are an ISUG-TECH member, please login, comment and most importantly vote for all these PB enhancements. This will provide SAP with better feedback in order to prioritize new feature development work. Especially now that ISUG-TECH will be participating in SAP's CCP program.

 

ISUG-TECH Enhancement Processhttp://my.isug.com/p/cm/ld?fid=187

 

Regards ... Chris

How to Use Pre-Compiled PowerBuilder.Net Assemblies

$
0
0

Another video I did for the SAP Database & Technology Academy.  For now I've uploaded to my own YouTube account, I'll update the blog when it gets posted in the Academy.

 

PB Assemblies are a new target type added in PowerBuilder.Net 12.5.  It addresses the need to be able to share framework libraries between PowerBuilder.Net targets (e.g., PFC).  Beginning with 12.1, it was possible to compile those framework libraries as a .Net Assembly, but that took a bit of work in order to resolve circular references and dealing with global variables.  With the addition of the PB Assembly, sharing framework libraries between PowerBuilder.Net applications became quite simple.

 

Credit has to go out to Yakov Werde, whose article in PBDJ on the topic was instrumental in helping me put the sample and the video together.

 

New PowerBuilder "How to..." Videos on the SAP D&T Academy

$
0
0

SAP Mentor, TeamSybase charter member and PowerBuilder Developer Center's own Bruce Armstrong has authored two new instructional videos to add to your library and to the library of anyone seeking to reach the intermediate level of PowerBuilder development. Thank you Bruce!

 

SAP D&T Academy - How to Develop and Deploy PowerBuilder Apps in 64bit

http://www.youtube.com/watch?v=ubuN4gOoLT4

 

 

SAP D&T Academy - How to Use Pre-Compiled PowerBuilder .NET Assemblies

http://www.youtube.com/watch?v=jAFFRFuyb1w

 

 

 

Certainly let us know if you'd like to submit a proposal for a topic that you'd like to record yourself.

Appeon Web - How Does It Work?

$
0
0

Appeon Web

How Does It Work?

 

 

 

     I was just putting together some information and slides for a presentation to my fellow coworkers on the high-level technical architecture that Appeon Web uses to webify any PowerBuilder Classic based application including ones built using the PowerBuilder Foundation Classes (PFC)!

 

    The main interesting aspects that I am always amazed at with the Appeon Web product are things like: removes the PBVM dependency, builds re-entrant & multi-threaded code, converts your 2 tier application into a 4-tier model, builds full 32 or 64 bit compliant code, includes its own Data Access Layer (DAL), supports all the popular DBMS systems (now including mySQL & HANNA), supports all the popular application servers, can deploy your PB application using either a J2EE or .Net architecture, provides its own security mechanism or allows you to integrate with LDAP, incorporates system monitoring, supports fail-over & load balancing, etc. To me .. that's a "whole lot of bang for the buck" when it comes down to adding up all the features you get right out-of-the-box!

 

 

 

(Click on me to make me bigger)

 

 

 

    Appeon Web automatically converts your PowerScript code and objects into C# / Java, jScript, XML and HTML. It needs to do this in order to support the web paradigm, as follows:

 

 

  • Web Browser: The Web browser delivers and runs the presentation layer of the Web application.
  • Firewall: Port 80 is supported to comply with corporate security requirements.
  • Web Server: The Web server hosts the presentation layer components for the Web application. The presentation layer is comprised of a set of HTML, XML, java script files and an ActiveX run-time library. The Browser and Web Server exchange information using standard web protocols.
  • Application Server (Java or .NET):  hosts the business and data access logic for the Web application.
  • Database: Existing DBMS & application databases used by the Web application.

 

 

Appeon Developer

    The Appeon Web product is actually delivered and utilized in various components. The first key component is the "developer plug-in" which integrates seamlessly into the PowerBuilder Classic integrated development environment.

 

 

(Click on me to make me bigger)

 

 

     Appeon Developer integrates seamlessly with the SAP PowerBuilder Classic IDE. Developers can rapidly deploy existing PowerBuilder applications to the Web or build new Web applications without having to write any HTML/JavaScript or Java/.NET code. Developers can utilize existing PowerBuilder constructs, user interface, DataWindows, PFC, and PowerScript.

 

 

Appeon Server

Appeon Server provides key services that make the web applications come to life and extend their high performance nature, as follows:

 

 

  • Database Connectivity
  • Data Access Management
  • Transaction Management
  • Session Management
  • Web Applications Management
  • Server-side Integration like calling Web Services, .NET components, Java components, etc.
  • Security Management
  • Load Balancing
  • Fail-over
  • etc

 

 

   The Appeon Web product allows the PowerBuilder developer to continue to use the IDE that they are most productive in and extend that into the web world by incrementally generating the web components that are needed and deploying these seemlessly as the programmer codes and saves their PB objects! Once the application is ready to test in the IDE, Appeon is also ready to test the web version ofr that application using the n-tier architecture of the web.

 

 

(Click on me to make me bigger)

 

 

   As you can see in the above diagram, as the PB developer saves objects into any of their PB Libraries - Appeon Web translates that work into the language of the web and deploys the related components to their respective server(s).

 

 

 

 

 

   You can give the Appeon Web system a try by downloading the trial version from Appeon. For those of you who are ISUG-TECH members at the Core (previously called "green") or Gold level, you can get the Appeon Web "developer" version for free as part of your membership.

 

Give Appeon Web a try .. you will be amazed at what it can do and why you did not try it sooner - Chris!


Como Usar Office Desde PowerBuilder

$
0
0

Desde PowerBuilder Podemos trabajar con documentos de office de dos maneras. Con interacción directa del usuario o sin ella.

Para tener interacción directa del usuario con el documento de office utilizamos un control ole sobre una ventana donde se puede vincular o incrustar un documento.Para trabajar un documento de office sin tener interacción directa del usuario podemos utilizar OLE o DDE

 

COMO FUNCIONA

 

OLE y DDE le permiten realizar acciones similares. Ambos permiten enviar comandos a otra aplicación, realizar acciones en dicha aplicación, y devolver los datos a su aplicación PowerBuilder. Hay, sin embargo, algunas diferencias fundamentales entre OLE y DDE. En las operaciones de OLE, el control del programa está realmente transferido temporalmente al otro programa (ej: Microsoft Excel con el propósito de manipular los datos de la hoja). Con DDE, las operaciones se producen cuando PowerBuilder envía una orden a Microsoft Excel para iniciar la comunicación entre las dos aplicaciones. PowerBuilder, sin embargo, siempre tiene el control del programa.

 

Otra diferencia, que es una ventaja de OLE, OLE es el que inicia automáticamente la aplicación de objetos cuando el control del programa se transfiere a la aplicación de objeto. Cuando utiliza DDE, usted debe comprobar que la aplicación que va a utilizar (el servidor DDE) se ha iniciado, y ponerlo en marcha si es necesario.

 

Además, con los datos de OLE siempre se muestra en una ventana dependiente o independiente tal y como aparece en la aplicación que creó el objeto. Por ejemplo, si la solicitud es objeto de Microsoft Excel, una ventana de objeto dependiente o independiente muestra los datos de la hoja de trabajo de la aplicación PowerBuilder (la aplicación contenedora) tal como aparece en el propio Microsoft Excel. DDE no le permiten ver la hoja de trabajo que aparece en la solicitud.

 

DDE (Dynamic Data Exchange )

 

 

Para utilizar DDE, el proceso requiere que por lo menos dos aplicaciones de estar involucrado. La aplicación que solicita datos o envía comandos ejecutables se llama el cliente, mientras que la aplicación que se ejecuta el comando solicitado o devuelve los datos solicitados se llama el servidor. Dependiendo de cómo se implementa el DDE, una aplicación puede ser capaz de actuar tanto como el cliente y un servidor. PowerBuilder ha sido desarrollado para apoyar DDE para ambos

Ejemplo

 

long handle

string s_regiondata[3]

handle = OpenChannel("Excel", "REGION.XLS",Handle(w_ddewin))

GetRemote("R1C2", s_regiondata[1], handle, Handle(w_ddewin))

GetRemote("R1C3", s_regiondata[2], handle, Handle(w_ddewin))

GetRemote("R1C4", s_regiondata[3], handle, Handle(w_ddewin))

CloseChannel(handle, Handle(w_ddewin))

 

AUTOMATIZACIONES CON OLE

 

myoleobject = CREATE oleobject

rc = myoleobject.ConnectToNewObject ( "Excel.Application" )

 

Como Abrir Documentos de Office

Aplicacion

Objeto Ole

Abreviado

Excel

Microsoft.Office.Interop.Excel

Excel.Application

Word

Microsoft.Office.Interop.Word

Word.Application

PowerPoint

Microsoft.Office.Interop.PowerPoint

PowerPoint.Application

Outlook

Microsoft.Office.Interop.Outlook

Outlook.Application

Infopath

Microsoft.Office.Infopath


Visio

Microsoft.Office.Interop.Visio


Project

Microsoft.Office.Interop.MSProject


Access

Microsoft.Office.Interop.Access

Access.Application

 

EJEMPLO

 

 

oleobject            myoleobject

integer                 rc, i, count, j, colcount

string                    mydata, colname, colnames

 

myoleobject = CREATE oleobject

rc = myoleobject.ConnectToNewObject ( "Excel.Application" )

IF rc <> 0 THEN

                MessageBox ( "Error", String ( rc ) )

                Return

END IF

 

try

                myoleobject.Application.Visible = TRUE  //  objeto Application  ver http://msdn.microsoft.com/en-us/library/dd787731(v=office.12).aspx

                myoleobject.Workbooks.Add()  // objeto Workbooks http://msdn.microsoft.com/en-us/library/bb259439(v=office.12).aspx

               // Propiedad ActiveWorkbook del objeto aplication (retorma un workbook) http://msdn.microsoft.com/en-us/library/bb220820(v=office.12).aspx

                count = myoleobject.ActiveWorkbook.Sheets.Count

 

                for i = 1 to count

 

                               colcount = Integer ( dw_1.object.DataWindow.column.count )

                               FOR j = 1 TO colcount

                                               colname = dw_1.Describe ( "#" + String ( j ) + ".Name" )

                                               CHOOSE CASE j

                                                               CASE 1

                                                                              colnames = colname

                                                               CASE ELSE

                                                                              colnames = colnames + '~t' + colname

                                               END CHOOSE

                               NEXT

                               colnames = colnames + "~r~n"

                               mydata = dw_1.Object.DataWindow.Data

                               ClipBoard ( colnames + mydata )

                               myoleobject.ActiveWorkbook.Sheets(i).Paste()

                next

                myoleobject.DisconnectObject()

catch ( exception e )

                MessageBox ( "Error", e.GetMessage() )

finally

                Destroy myoleobject

end try

 

 

 

 

REFERENCIAS

 

Visual Basic for Applications Language Reference

http://msdn.microsoft.com/en-us/library/ee441138.aspx

 

 

Office client development

http://msdn.microsoft.com/en-us/library/bb726434(v=office.12).aspx

 

 

Excel Object Model Reference

http://msdn.microsoft.com/en-us/library/bb149081(v=office.12).aspx

 

 

Word Object Model Reference

http://msdn.microsoft.com/en-us/library/bb244515(v=office.12).aspx

 

ISUG-TECH's New Membership Benefit - Appeon Mobile!

$
0
0

 

** Hot News **

 

 

 

 

New Member Benefit - Appeon Mobile!

 

 

   The International SAP Technical User Group is pleased to announce the immediate availability of their latest benefit for their Coreand GoldMembers - Appeon Mobile for PowerBuilder! The new mobility feature extends the existing Appeon membership benefit offering of Appeon Web with Appeon Mobile. The pair of products just released is also known as Appeon 2013. The new Appeon Mobile benefit is now available on ISUG-TECH's 'My Benefits' page.

     This new version of the Appeon software also includes the update to Appeon Web version 6.6. Appeon Web 6.6 includes new features like: new DBMS support for ASE (native driver), HANNA, mySQL; new cloud support in RackSpace & Amazon; enhanced QTP Automated Testing;  SAP NetWeaver support; updated UI for AEM IE 10 & Windows 8 Native Support; and more!

    The newly-released Appeon Mobile 1.0 is only the beginning ... later this year the benefit will upgrade you to Appeon for PowerBuilder 2013 R2, which will include Appeon Mobile 2.0.  This will become automatically available once Appeon releases the new version. The targeted new features for Appeon Mobile 2.0 will include: a local DBMS on the device and support for Android tablets and Smartphones!

     This is a truly awesome benefit for Core and Gold members. If you are not an ISUG-TECH Core or Gold member or have a lower level of membership and would like to access this new benefit, you must upgrade your membership first.  Corporate and Chartered members should contact support for more information.

Regards ... Chris

HANA or Bust!

$
0
0

According to the Phrase Finder back in the 1930s many American "dust bowl" farmers left the drought stricken mid-west for California with the phrase "California or bust!" emblazoned on their trucks. The drought and the Great Depression were a one-two punch that bankrupted farmers. Most had to use their last few dollars to trek west to start a new life.

 

While I think it wrong to compare the current long PowerBuilder update 'dry stretch' to the dust bowl and developer morosity to the great depression, there might be some who are tempted to draw parallels.

 

Rather than resting on my laurels, last month I dove headlong in SAP's HANA maelstrom, voraciously reading and watching content on the HANA Academy, setting up my own HANA Cloud server and using PowerBuilder as my client tool to drive my learning.  It's my gut feeling that PowerBuilder's 'golden ticket' to renewed vitality will be when SAP recognizes it as the HANA tool of choice for rich client RAD.  My bumper sticker should proclaim "HANA or Bust!'

 

I've formulated my "maiden voyage" into a 'follow-me' tutorial that started to appear today on SCN.  Here's the first installment; I included source code and a SQL AnyWhere database together with ToDo instructions, so you can mimic my accomplishments.

 

Organizations everywhere currently driven by PowerBuilder can benefit from HANA. Just this morning I had a conversation with Sr PB architect/developer at a Health Insurance provider.  He told me about some actuarial number crunching processes that take 5-6 hrs to run. Now that I demonstrated the PowerBuilder / HANA combo he will be asking his management to fund a POC app to demonstrate how using HANA might take that runtime down to less than 5 minutes!

 

Long Live PowerBuilder

PB TV - July 2013

$
0
0

Upcoming webinars on PowerBuilderTV

 

Tuesday, July 9, 2013
at 8:00 AM PDT (Los Angeles) - 17h00 CET (Paris)

 

Latest NEWS from the POWERBUILDER World

Like many in the PowerBuilder world, you're probably eager for some news! Join us for an exciting and informative webcast from the PowerBuilder sphere: a panel of presenters from the community will be discussing the future of PowerBuilder and possible evolutions for your applications. A number of topics will be covered including PB15, PB & HANA, Upcoming PB Events, New PB add-ons and more!


Register

 

Tuesday, July 16, 2013
at 9:00 AM PDT (Los Angeles) - 18h00 CET (Paris)

Make your application multilingual in one hour

In this webinar, Gian Luca De Bonis will show an application that is not only running in PowerBuilder and with Appeon, but also he will show you in detail how he made this application multilingual. By the end of the hour, you will see how to upgrade a monolingual application into multilingual application running both in PB and Appeon!

Presenter: Gian Luca De Bonis

Register

 

Tuesday, July 23, 2013
at 9:00 AM PDT (Los Angeles) - 18h00 CET (Paris)

PowerBuilder and HANA; Rich Client RAD for Big Data

HANA is a crucial element in SAP's growth march. HANA's potential for real-time big data based business support, places it at the center of an increasing number of SAP ERP and other applications.  PowerBuilder's RAD capabilities make it the ideal tool for building new or extending existing rich client applications on top the HANA platform.  Some industry insiders have suggested that PowerBuilder's continued viability as development platform depends on its ability to contribute to the HANA platform.  In this presentation, SAP Mentor Yakov Werde will succinctly introduce HANA technology, and show you have you can configure an inexpensive HANA development environment, connect PowerBuilder to it and begin exploring how HANA technology and skills can enrich your professional career and potentially improve your applications

Presenter: Yakov Werde

Register

 

 

 

Regards ... Chris

Extreme DataWindows!

Viewing all 203 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>