ASP/AS400 error en parametros para ejecutar una CL

aquiles_pinto

Lanero Regular
7 Nov 2006
2
Estoy intentando llamar una CL en un AS400 , si ejecuto el codigo sin parametros ya se ejecuta la CL pero al colocar los parametros me manda el sig mensaje el explorer

ADODB.Command (0x800A0BB9)
Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros.
/llamacl/llampro.ASP, línea 10
mi codigo es el siguiente :
<%
private cnx
Private cmd
Private PA1
Private PA2
cnx ="Provider=IBMDA400;Data Source=xxx.xxx.xxx.x;User ID=a ;Password=e"
set cmd = CreateObject("ADODB.Command")
cmd.ActiveConnection = cnx
cmd.CommandText = "{{ CALL PROYECTO/CMS001(?,?)}}"
cmd.Parameters.Append cmd.CreateParameter("PA1", adChar, adParaminput, 1, A )
cmd.Parameters.Append cmd.CreateParameter("PA2", adChar, adParaminput, 1, 1 )
cmd.execute
response.write "Código ejecutado"
%>

sin parametros se ejecuta sin problema la cl es la sig

*************** Principio de datos **********************************
PGM PARM(&PA1 &PA2)
DCL VAR(&PA1) TYPE(*CHAR) LEN(1)
DCL VAR(&PA2) TYPE(*CHAR) LEN(1)
IF COND(&PA1 *EQ 'A') THEN(GOTO CMDLBL(PASO1))
PASO1: IF COND(&PA2 *EQ '1') THEN(GOTO CMDLBL(BORRA))
GOTO CMDLBL(FINPGM)
BORRA: CLRPFM FILE(PROYECTO/ARCHIVO)
FINPGM:
ENDPGM
****************** Fin de datos *************************************
 

aquiles_pinto

Lanero Regular
7 Nov 2006
2
ejecutar una CL del AS400 con ASPX

upps parece ke no hay interesados en el tema , de todas formas ya pude hacerlo evolucione un poco lo hice con ASPX , funciona perfecto:) . espero les sirva de algo.
Aqui esta el codigo :
-------------------------------------------->>>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Data.Oledb" %>
<script runat="server">
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim p1value, p2value As String
Dim cn As OleDbConnection
Dim myCmdVal As OleDbCommand
p1value = "AAAAAAAAAA"
p2value = "BBBBBBBBBB"
cn = New OleDbConnection("Provider=IBMDA400;Data Source=XXX.XXX.XXX.XXX;User ID=A;Password=E;")
cn.Open()
myCmdVal = cn.CreateCommand
myCmdVal.CommandText = "{{call PROYWEB/TESTCALLC(?,?,?)}}"
myCmdVal.Parameters.Add("p1", OleDbType.Char, 10)
myCmdVal.Parameters.Add("p2", OleDbType.Char, 10)
myCmdVal.Parameters.Add("p3", OleDbType.Char, 20)
myCmdVal.Parameters("p3").Direction = System.Data.ParameterDirection.Output
myCmdVal.Parameters("p1").Value = p1Value
myCmdVal.Parameters("p2").Value = p2Value
myCmdVal.ExecuteNonQuery()
ConStr.Text = cn.ConnectionString
DatBas.Text = cn.Database
DatSou.Text = cn.DataSource
Provid.Text = cn.Provider
Status.Text = cn.State
para3.Text = myCmdVal.Parameters("p3").Value
cn.Close()
End Sub
</script>

<html xmlns="