Someone have notice about this SAP project ?
Is possible to start the new certification ?
GMY
Someone have notice about this SAP project ?
Is possible to start the new certification ?
GMY
ok guys,
I have to prepare for a session to a meeting where I have to convince developers to switch from Visual Studio to Powerbuider.
Can you give me 10 good reasons for the mission?
ty
GMY
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
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.
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
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))
myoleobject = CREATE oleobject
rc = myoleobject.ConnectToNewObject ( "Excel.Application" )
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
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
Hi all,
I have a Problem with PB12.5.2.
The function
...
job = PrintOpen( )
result = PrintScreen(job, 1, 1, 7500, 6000)
PrintClose(job)
...
doesn't work in exe.
Now I want to use the Windows (global external function) function to get a hard copy to the clipboard.
...
keybd_event( 44,1,0,0 )
...
This works.
But how can I use to print directly from the clipboard without an external program? Does anyone have a solution? Thank you.
André
** Hot News **
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
I just noticed that there is a Code Exchange on SCN. Is anyone working to get the old PB/Sybase code exchange contents copied over?
We are planning to migrate our application from PB 10.2 to 12.5. Finally!! (and of course, EA Server 6.x if possible/needed. I've been posting about this separately). I did an initial migration of the code, it converted fine. So, I am confident it will work fine may be with minor changes.
I am just worried about compatibility of other tools we are using. For e.g., We have PVCS 8.02 and Powergen 6.5. Will these tools work with PB 12.5? I am afraid if the client will have budget for the upgrades to newer versions of these other tools within PB upgrade project. In that case, I am suggesting SVN for version control and PB Orca for the Build. I am sure a lot of you went through similar upgrades and/or decisions. Can you please share your experiences with upgrade to PB 12.5 in general?
In my other posts about EAS, I asked about migrating to EAS 6.x. Terry suggested against it. After initial tests with EAS 6.x, I am inclining towards keeping EAS 5.5. Has anyone used this combination (PB 12.5 + EAS 5.5) successfully?
I am currently testing these scenarios. I am also trying to tap into the vast experience and knowledge this forum members have in these topics. Any hints/suggestions you can give will be greatly appreciated.
Hi all,
I have a Problem with PB12.5.2.
The function
...
job = PrintOpen( )
result = PrintScreen(job, 1, 1, 7500, 6000)
PrintClose(job)
...
doesn't work in exe.
Now I want to use the Windows (global external function) function to get a hard copy to the clipboard.
...
keybd_event( 44,1,0,0 )
...
This works.
But how can I use to print directly from the clipboard without an external program? Does anyone have a solution? Thank you.
André
Can some one give me an example of how to get the name of the DataObject in the data window clicked event. All the examples seem to expect that a data window control will always have the same DataObject.
Thanks,
Hello,
Our PB Application is built from many Datawindow that hold Object shapes. This Application is working and running just fine for a long time. I am trying to use data from its Datawindow Objects to redraw them. I wondering if anyone knows of a way to tell which Shape is stacked in front or behind. Powerbuilder is not the most Graphical environment I know I figured that there has to be a way for the Datawindow to know the order. I could not find anything in the documentation or source code. Currently my best idea was to index the control based on there order of appearance when listed with :
ls_describe="DataWindow.objects"
ls_objects = idw_location.describe(ls_describe)
That method does not produce correct results.
Thanks,
Shai
In this Image, I would like to know that a 'Reducer Gear Box' should be drawn on top off the 'Torque Tube' Control and not the other way around.
By any chance do you know how to access the properties of an ole object in a datawindow in PB Clasic 12.1. First time I am playing with OLE object in a datawindow.
This is the scenario:
I have a data window dw_1 and in dw_1 I inserted an ole object ole_1 (ole_1 is an Angular Gauge to represent % of Labor Efficiency).
Then I have window with a datawindow control and I use dw_1 as my dataobject. The gauges show up perfectly and seems to be working because if I click on it the needle, it moves to where I click in the ole (at run time).
Also the datawindow work fine (retrieve the data).
The ole_1 object property I need to access is NeedleValue and you set the value with a method SetNeedleValue(Double x). How do I access this method ?
If I tray to set the value of NeedleValue it does not assign the value (at run time), but I think I am not accessing the property correctly. In the datawindow painter the properties are change without any problem
Help on How to access the properties of the ole_1 inside of a datawindow?
If I double click the object in the datawindow painter the properties window of the ole shows and I can change the properties. Now at run time I do not know how to access the properties.
Also this is the code I used to try to set the value to the mentioned property.
dw_1.object.datawindow.ole.ole_1.SetNeedleValue(ldd_est_vrs_actual_range)
As this line of code execute nothing happens. It just go thru like if it works.
I also use dw_1.object.ole_1.NeedleValue = 123 then I get "Error accessing external object property NeedleValue at line xxx".
Also I attached the ocx just in case somebody have a chance and give me an advice.
I will appreciate any input.
Regards,
Clarence A
I need to dynamically add a text object into the header and/or footer of all datawindow controls in my application. Most of these controls contain a grid style dataobject. The side effect of grids is that it chops the header and footer width to the first column's width in the detail band. This has always bothered me but now it produces an unacceptable visual.
If the text to be assigned to the new object is wider than can fit in the column it is chopped. Auto size height is not an option and is also visually unappealing. This object must not take away from the display area vertically. Ideally I would like the text to extend past the column boundary if necessary (like Excel does automatically). How can this be accomplished?
Hi -
In our project we have about 50-60 minor applications under our umbrella. Each application has a stand alone PBW and target (obviously)
I need to find the occurence of a specific string (the name of the database server, as we are migrating the same from one version to another under a different name) for analysis purposes
Basically, I am looking for something like the below:
1. Select a folder which has all the subfolders (one subfolder per application) - User Selection thro a windows native dialog. I did this one thro shell32.dll and of course, using some help online
2. Get a list of PBW's in the selected folder - This one I did using OLE
3. Search thro the application corresponding to each of the PBW's - This is where I don't have a clue. PB might surely have some API for this, but I don't have a clue about it
4. Display results in a window. So, there should be a feedback loop from step 3 to 4
Please help me here with any ideas. If we automate this, we could save a lot of time. Thanks a bunch :-)
Thanks,
Krishna
I searched on this issue... and, it looks like it was an old posting
which I can't bring up anymore
But, it seems to stop the build process without an error indication
it just doesn't create the rest of the DLL's in my project
if I remove the UF_IMBC function below
it will compile
could it be the blob conversion statement?
I have an external function that's designed to give me an intelligent mail barcode string
defined as this
Function long USPSEncode ( &
blob TrackPtr, &
blob RoutePtr, &
Ref string BarPtr &
) Library "usps4pb.dll" Alias For "pbEncoder;ansi"
------------------------------------------------------------------------------------------------------------------
and, I get the data... from calling this function
UF_IMBC
Blob lblb_Track, lblb_Route
string as_tracking, as_routing, as_barcode, ret_val, czipcode
long test, ll_retcode
If Pos(s_zip,"-") > 0 then
czipcode=mid(s_zip,1,Pos(s_zip,"-")-1)+mid(s_zip,Pos(s_zip,"-")+1,4)
else
czipcode=s_zip
End if
if len(v_mailer) > 6 then
as_tracking = '00' + v_service + v_mailer + string(v_serial,"000000")
else
as_tracking = '00' + v_service + v_mailer + string(v_serial,"000000000")
end if
//return as_tracking
as_routing = czipcode
//as_routing = ret_val
//return as_tracking
lblb_Track = blob(Trim(as_Tracking)+Space(21),encodingansi!)
lblb_Route = blob(Trim(as_Routing)+Space(12),encodingansi!)
as_BarCode = Space(65)
ll_retcode = USPSEncode(lblb_Track, lblb_Route, as_BarCode)
If ll_RetCode = 0 Then
return as_BarCode
Else
return string(ll_retcode)
End If
Hi All
We have an issues in our application (PB70).
Issue: When we open our application from external Monitor, only dropdown listbox values are popping up on Primary Monitor remaining application remain exist in external monitor.
Any suggestions, please ..
Regards
Siva
Hi,
I have noticed a problem trying to debug some code that is using a .NET assembly I created. I am using ConnectToNewObject via CCW to access the assembly. If I have created a PB executable everything works fine. The assembly loads and I can run the methods in the assembly.
When I run the application through the debugger the ConnectToNewObject returns a -3. The dll is in my applications directory. Anyone know if there is a way to get this to work while in the debugger, or is messagebox my best friend?
Thanks,
Mike
Hi There -
I have been working close to 7 years in PowerBuilder. I wanna get a professional certifiicate in PB
Could someone please help with details regarding this?
Thanks in advance :-)
Regards,
Krishna
Has anyone sucessfully deployed a PowerBuilder application to JBoss 6.1 or JBoss 7.1?
I'm trying to replace EaServer with JBoss because of licensing issues and would like to replace it with something more current than JBoss 4.04.
I'm currently trying to deploy to JBOSS 5.1 with PASP and I'm having problems. I would prefer the deployment to be seamless, but would be happy with a manual process as long as I am able to deploy to a current version of JBoss.
Can anyone help?
I have been using Powerbuilder 12.5 and I have migrate an old project from classic to .net recently. However there is an error regarding to my openwithparam() statement, each time I run the following code this exception occurred:
{System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Windows.Markup.XamlParseException: 'Initialization of 'AxMSCommLib.AxMSComm' threw an exception.' Line number '40' and line position '14'. ---> System.Runtime.InteropServices.COMException: Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
at System.Windows.Forms.AxHost.CreateWithLicense(String license, Guid clsid) at System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid, Object punkOuter, Int32 context, Guid& iid)
at System.Windows.Forms.AxHost.CreateInstanceCore(Guid clsid)
at System.Windows.Forms.AxHost.CreateInstance()
at System.Windows.Forms.AxHost.GetOcxCreate()
at System.Windows.Forms.AxHost.TransitionUpTo(Int32 state)
at System.Windows.Forms.AxHost.CreateHandle()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.AxHost.EndInit()
at MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xamlType, Object obj, Boolean begin)
--- End of inner exception stack trace ---
at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri)
at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
at System.Windows.Application.LoadBamlStreamWithSyncInfo(Stream stream, ParserContext pc)
at System.Windows.Application.LoadComponent(Uri resourceLocator, Boolean bSkipJournaledProperties)
at System.Windows.Application.LoadComponent(Uri resourceLocator)
at Sybase.PowerBuilder.WPF.PBWindow..ctor()
at c__w_platgi..ctor() in c:\Users\User\Desktop\Phase32.0\offshore.out\offshore5_w_platgi_w.cs:line 0
--- End of inner exception stack trace ---
at Sybase.PowerBuilder.PBSessionBase.CreateInstance[T](PBPowerObject parent, Type type, Boolean init, T& t)
at Sybase.PowerBuilder.PBWindowCreater.CreateWindow[T](Type type, Boolean init, T& t, PBPowerObject p)
at Sybase.PowerBuilder.PBWindowCreater.CreateWindow[T](Boolean& newWindow, IPBWindow w, Type type, Boolean init, T& t, PBPowerObject p)
at Sybase.PowerBuilder.PBWindowCreater.CreateWindow[T](Boolean& newWindow, IPBWindow w, Type type, T& t)
at Sybase.PowerBuilder.WPF.PBSystemFunctions.Open[T0](T0& w)
at c__gf_winopen.gf_winopen(PBString as_module, PBString as_inspcode, PBAny as_parm) in c:\Users\User\Desktop\Phase32.0\offshore.out\gf_winopen(QSSA):line 26
at c__w_tree.c__dw_strinsplist.doubleclicked(PBInt xpos, PBInt ypos, PBLong row, PBDWObject dwo) in c:\Users\User\Desktop\Phase32.0\offshore.out\w_tree.dw_strinsplist.doubleclicked:line 52
at Sybase.PowerBuilder.WPF.PBDataWindow.a(Object A_0, DWClickedEventArgs A_1)} | System.Exception {System.Reflection.TargetInvocationException} |
Please help me, I am stuck for days.
I searched on this issue... and, it looks like it was an old posting
which I can't bring up anymore
newsgroupstats.info/...powerbuilder.../pb-11-1-exe-creation-problem.html
But, it seems to stop the build process without an error indication
it just doesn't create the rest of the DLL's in my project
if I remove the UF_IMBC function below
it will compile
could it be the blob conversion statement?
I have an external function that's designed to give me an intelligent mail barcode string
defined as this
Function long USPSEncode ( &
blob TrackPtr, &
blob RoutePtr, &
Ref string BarPtr &
) Library "usps4pb.dll" Alias For "pbEncoder;ansi"
------------------------------------------------------------------------------------------------------------------
and, I get the data... from calling this function
UF_IMBC
Blob lblb_Track, lblb_Route
string as_tracking, as_routing, as_barcode, ret_val, czipcode
long test, ll_retcode
If Pos(s_zip,"-") > 0 then
czipcode=mid(s_zip,1,Pos(s_zip,"-")-1)+mid(s_zip,Pos(s_zip,"-")+1,4)
else
czipcode=s_zip
End if
if len(v_mailer) > 6 then
as_tracking = '00' + v_service + v_mailer + string(v_serial,"000000")
else
as_tracking = '00' + v_service + v_mailer + string(v_serial,"000000000")
end if
//return as_tracking
as_routing = czipcode
//as_routing = ret_val
//return as_tracking
lblb_Track = blob(Trim(as_Tracking)+Space(21),encodingansi!)
lblb_Route = blob(Trim(as_Routing)+Space(12),encodingansi!)
as_BarCode = Space(65)
ll_retcode = USPSEncode(lblb_Track, lblb_Route, as_BarCode)
If ll_RetCode = 0 Then
return as_BarCode
Else
return string(ll_retcode)
End If