Trying to run 4GL program from .NET GUI (UD40 Setup in my case)

Wow! Thank you Jose, that is some really good stuff! That will surely be handy to my dotnet counterparts here at PNY.

Doesn't quite address what I am trying to do though, in that I am trying to run an EXTERNAL ABL procedure, saved on disk, and not a business opject. But seeing how you did this does give me a few things to try.

I'll let you know how I fare, and if anyone knows how to prevent the as/activate.p ERROR I'm all ears.

This morning I tried connecting through the nameserver rather than direct to the AppServerDC. Same result.

Chris

--- In vantage@yahoogroups.com, Jose Gomez <jose@...> wrote:
>
> Here is an example I put together for some one else earlier in the year.
> Hope it helps
>
> http://www.youtube.com/watch?v=cGzk92TvEUE&feature=player_profilepage
>
> *Jose C Gomez*
> *Software Engineer*
> *
> *T: 904.469.1524 mobile
> E: jose@...
> http://www.josecgomez.com
> <http://www.linkedin.com/in/josecgomez> <http://www.facebook.com/josegomez>
> <http://www.google.com/profiles/jose.gomez> <http://www.twitter.com/joc85>
> <http://www.josecgomez.com/professional-resume/>
> <http://www.josecgomez.com/feed/>
>
> *Quis custodiet ipsos custodes?*
>
>
>
> On Tue, May 17, 2011 at 5:38 PM, reptcon <cheins@...> wrote:
>
> >
> >
> > After 10 hours or so trying to run the sample program Progress provides in
> > their .Net Open Client OpenAPI development guide. Basically a "Hello
> > World!".
> >
> > I'm OK up through the RunProc statement. It fires and in the appserver log,
> > and bounced back to the client, I get "ERROR condition: as/activate.p
> > activation procedure ended with an ERROR condition. (8025) (7211)"
> >
> > as/activate.p is encrypted and I don't know what the underlying error is.
> >
> > Anybody been down this road?
> >
> > Thanks!
> > Chris
> >
> > -----------------------------------
> >
> > Here is the code:
> >
> > public class samplecode {
> >
> > public static void NonPersistentProcedure( ) {
> >
> > try
> > {
> > // Connect to the AppServer - was AppServerDC
> > Connection myConn = new Connection("AppServerDC://ERP-APP1:9431", "", "",
> > ""); // tried it with and without user/password
> > // Epicor.Mfg.Core.Session.LicenseType.Default)
> > System.Windows.Forms.MessageBox.Show("after new Connection");
> >
> > OpenAppObject openAO = new OpenAppObject(myConn, "EpicorPilot905");
> > System.Windows.Forms.MessageBox.Show("after new OpenAppObject");
> >
> > // Set Session model for state-free
> > myConn.SessionModel = 1; // tried it both 0 and 1
> > // Create the parameters
> > System.String CustName = "abc";
> > System.String phone = "999-555-1234";
> > System.String email = "me@...";
> > System.Int32 outValue;
> > // Create a place for RETURN-VALUE
> > System.String retVal;
> > // Create the ParamArray
> > ParamArray parms = new ParamArray(4);
> > // Set up input parameters
> > parms.AddCharacter(0, CustName, ParamArrayMode.INPUT);
> > parms.AddCharacter(1, phone, ParamArrayMode.INPUT);
> > parms.AddCharacter(2, email, ParamArrayMode.INPUT);
> > // Set up Out parameters
> > parms.AddInteger(3, null, ParamArrayMode.OUTPUT);
> >
> > // Run the procedure
> > System.Windows.Forms.MessageBox.Show("before the run statement"); // I'm OK
> > to here ...
> > openAO.RunProc("pny/hello2.p", parms); // *** <- DIES HERE
> > System.Windows.Forms.MessageBox.Show("after the run statement");
> > // Get output parameters - use holder to handle unknown value
> > //outValue = (System.Int32)parms.GetOutputParameter(3);
> > // Get RETURN-VALUE. Will return null for AddCustomer( ) procedure
> > retVal = (System.String)parms.ProcReturnString;
> > System.Windows.Forms.MessageBox.Show(retVal);
> > openAO.Dispose( );
> > }
> > catch (System.Exception erc)
> > {
> > System.Windows.Forms.MessageBox.Show(erc.Message);
> > }
> >
> > }
> > }
> >
> >
> >
>
>
> [Non-text portions of this message have been removed]
>
After 10 hours or so trying to run the sample program Progress provides in their .Net Open Client OpenAPI development guide. Basically a "Hello World!".

I'm OK up through the RunProc statement. It fires and in the appserver log, and bounced back to the client, I get "ERROR condition: as/activate.p activation procedure ended with an ERROR condition. (8025) (7211)"

as/activate.p is encrypted and I don't know what the underlying error is.

Anybody been down this road?

Thanks!
Chris

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

Here is the code:

public class samplecode {

public static void NonPersistentProcedure( ) {

try
{
// Connect to the AppServer - was AppServerDC
Connection myConn = new Connection("AppServerDC://ERP-APP1:9431", "", "", ""); // tried it with and without user/password
// Epicor.Mfg.Core.Session.LicenseType.Default)
System.Windows.Forms.MessageBox.Show("after new Connection");

OpenAppObject openAO = new OpenAppObject(myConn, "EpicorPilot905");
System.Windows.Forms.MessageBox.Show("after new OpenAppObject");

// Set Session model for state-free
myConn.SessionModel = 1; // tried it both 0 and 1
// Create the parameters
System.String CustName = "abc";
System.String phone = "999-555-1234";
System.String email = "me@...";
System.Int32 outValue;
// Create a place for RETURN-VALUE
System.String retVal;
// Create the ParamArray
ParamArray parms = new ParamArray(4);
// Set up input parameters
parms.AddCharacter(0, CustName, ParamArrayMode.INPUT);
parms.AddCharacter(1, phone, ParamArrayMode.INPUT);
parms.AddCharacter(2, email, ParamArrayMode.INPUT);
// Set up Out parameters
parms.AddInteger(3, null, ParamArrayMode.OUTPUT);

// Run the procedure
System.Windows.Forms.MessageBox.Show("before the run statement"); // I'm OK to here ...
openAO.RunProc("pny/hello2.p", parms); // *** <- DIES HERE
System.Windows.Forms.MessageBox.Show("after the run statement");
// Get output parameters - use holder to handle unknown value
//outValue = (System.Int32)parms.GetOutputParameter(3);
// Get RETURN-VALUE. Will return null for AddCustomer( ) procedure
retVal = (System.String)parms.ProcReturnString;
System.Windows.Forms.MessageBox.Show(retVal);
openAO.Dispose( );
}
catch (System.Exception erc)
{
System.Windows.Forms.MessageBox.Show(erc.Message);
}

}
}
Here is an example I put together for some one else earlier in the year.
Hope it helps

http://www.youtube.com/watch?v=cGzk92TvEUE&feature=player_profilepage

*Jose C Gomez*
*Software Engineer*
*
*T: 904.469.1524 mobile
E: jose@...
http://www.josecgomez.com
<http://www.linkedin.com/in/josecgomez> <http://www.facebook.com/josegomez>
<http://www.google.com/profiles/jose.gomez> <http://www.twitter.com/joc85>
<http://www.josecgomez.com/professional-resume/>
<http://www.josecgomez.com/feed/>

*Quis custodiet ipsos custodes?*



On Tue, May 17, 2011 at 5:38 PM, reptcon <cheins@...> wrote:

>
>
> After 10 hours or so trying to run the sample program Progress provides in
> their .Net Open Client OpenAPI development guide. Basically a "Hello
> World!".
>
> I'm OK up through the RunProc statement. It fires and in the appserver log,
> and bounced back to the client, I get "ERROR condition: as/activate.p
> activation procedure ended with an ERROR condition. (8025) (7211)"
>
> as/activate.p is encrypted and I don't know what the underlying error is.
>
> Anybody been down this road?
>
> Thanks!
> Chris
>
> -----------------------------------
>
> Here is the code:
>
> public class samplecode {
>
> public static void NonPersistentProcedure( ) {
>
> try
> {
> // Connect to the AppServer - was AppServerDC
> Connection myConn = new Connection("AppServerDC://ERP-APP1:9431", "", "",
> ""); // tried it with and without user/password
> // Epicor.Mfg.Core.Session.LicenseType.Default)
> System.Windows.Forms.MessageBox.Show("after new Connection");
>
> OpenAppObject openAO = new OpenAppObject(myConn, "EpicorPilot905");
> System.Windows.Forms.MessageBox.Show("after new OpenAppObject");
>
> // Set Session model for state-free
> myConn.SessionModel = 1; // tried it both 0 and 1
> // Create the parameters
> System.String CustName = "abc";
> System.String phone = "999-555-1234";
> System.String email = "me@...";
> System.Int32 outValue;
> // Create a place for RETURN-VALUE
> System.String retVal;
> // Create the ParamArray
> ParamArray parms = new ParamArray(4);
> // Set up input parameters
> parms.AddCharacter(0, CustName, ParamArrayMode.INPUT);
> parms.AddCharacter(1, phone, ParamArrayMode.INPUT);
> parms.AddCharacter(2, email, ParamArrayMode.INPUT);
> // Set up Out parameters
> parms.AddInteger(3, null, ParamArrayMode.OUTPUT);
>
> // Run the procedure
> System.Windows.Forms.MessageBox.Show("before the run statement"); // I'm OK
> to here ...
> openAO.RunProc("pny/hello2.p", parms); // *** <- DIES HERE
> System.Windows.Forms.MessageBox.Show("after the run statement");
> // Get output parameters - use holder to handle unknown value
> //outValue = (System.Int32)parms.GetOutputParameter(3);
> // Get RETURN-VALUE. Will return null for AddCustomer( ) procedure
> retVal = (System.String)parms.ProcReturnString;
> System.Windows.Forms.MessageBox.Show(retVal);
> openAO.Dispose( );
> }
> catch (System.Exception erc)
> {
> System.Windows.Forms.MessageBox.Show(erc.Message);
> }
>
> }
> }
>
>
>


[Non-text portions of this message have been removed]