MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Otros lenguajes: VB, JAVA
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
 
 
Herramientas Buscar en Tema Desplegado
Prev Mensaje Previo   Próximo Mensaje Próx
  #1  
Viejo 07/05/12, 10:35:12
rogerclavell rogerclavell is offline
Junior Member
 
Fecha de Ingreso: may 2012
Mensajes: 7
Ejemplo BAPI_PRODORDCONF_CREATE_TT y BAPI_GOODSMVT_CREATE

Hola gente,

Os paso un ejemplo de como utilizar las bapis BAPI_PRODORDCONF_CREATE_TT y BAPI_GOODSMVT_CREATE. Esta hecho de manera rápida simplemente para ver que funciona.

Para programar he utilizado el VS2010 y el connector sap 3.0

Imports SAP.Middleware.Connector

Private Sub notificar()

'Parametros de conexión de SAP
Dim SapParametros As New RfcConfigParameters
SapParametros(RfcConfigParameters.User) = "tu_usuario"
SapParametros(RfcConfigParameters.Password) = "tu_password"
SapParametros(RfcConfigParameters.SystemID) = "sap_maquina"
SapParametros(RfcConfigParameters.Client) = "sap_mandante"
SapParametros(RfcConfigParameters.Name) = "sap_groupname"
SapParametros(RfcConfigParameters.AppServerHost) = "sap_ip"
SapParametros(RfcConfigParameters.SystemNumber) = "sap_numero_systema"
SapParametros(RfcConfigParameters.Language) = "ES"


Try
'Conexión SAP
Dim destino As RfcDestination
destino = RfcDestinationManager.GetDestination(SapParametros)


'Nueva función para ejecutar la BAPI_PRODORDCONF_CREATE_TT
Dim funcion As IRfcFunction = destino.Repository.CreateFunction("BAPI_PRODORDCONF_CREATE_TT")

'Notificaciones para guardar en SAP
Dim tbl_TIMETICKETS As IRfcTable = funcion.GetTable("TIMETICKETS")
tbl_TIMETICKETS.Append()
tbl_TIMETICKETS.SetValue("ORDERID", "000001001811") 'Orden de fabricación
tbl_TIMETICKETS.SetValue("SEQUENCE", "000000") 'Sequencia
tbl_TIMETICKETS.SetValue("OPERATION", "0010") 'Operación
tbl_TIMETICKETS.SetValue("WORK_CNTR", "puesto_trabajo") 'Puesto de trabajo
tbl_TIMETICKETS.SetValue("PLANT", "sap_centro") 'Centro
tbl_TIMETICKETS.SetValue("YIELD", "400") 'Cantidad buena
tbl_TIMETICKETS.SetValue("CONF_ACTIVITY1", "5") 'Tiempo a notificar
tbl_TIMETICKETS.SetValue("RECORDTYPE", "L20")
tbl_TIMETICKETS.SetValue("FIN_CONF", "")
tbl_TIMETICKETS.SetValue("POSTG_DATE", Format(Now, "yyyyMMdd")) 'Fecha contable
tbl_TIMETICKETS.SetValue("DEV_REASON", "P010")
tbl_TIMETICKETS.SetValue("SCRAP", "2") 'Cantidad de rotura
tbl_TIMETICKETS.SetValue("CONF_TEXT", "PRUEBAS") 'Texto notificación


'Ejecutar la BAPI
Dim ejecuta As New RfcTransaction
funcion.Invoke(destino)
ejecuta.AddFunction(funcion)
ejecuta.Commit(destino)

'Resultados de la BAPI
Dim tbl_DETAIL_RETURN As IRfcTable = funcion.GetTable("DETAIL_RETURN")



'Nueva función para ejecutar la BAPI_GOODSMVT_CREATE
Dim funcion2 As IRfcFunction = destino.Repository.CreateFunction("BAPI_GOODSMVT_CREATE")

'Parametros de GOODSMVT_HEADER
Dim str_GOODSMVT_HEADER As IRfcStructure = funcion2.GetStructure("GOODSMVT_HEADER")
str_GOODSMVT_HEADER.SetValue("PSTNG_DATE", Format(Now, "yyyyMMdd"))
str_GOODSMVT_HEADER.SetValue("DOC_DATE", Format(Now, "yyyyMMdd"))
str_GOODSMVT_HEADER.SetValue("PR_UNAME", "rfcuser")

'Parametros de GOODSMVT_CODE
Dim str_GOODSMVT_CODE As IRfcStructure = funcion2.GetStructure("GOODSMVT_CODE")
str_GOODSMVT_CODE.SetValue("GM_CODE", "02")

'Movimientos de mercancia a generar en SAP
Dim tbl_GOODSMVT_ITEM As IRfcTable = funcion2.GetTable("GOODSMVT_ITEM")
tbl_GOODSMVT_ITEM.Append()
tbl_GOODSMVT_ITEM.SetValue("MATERIAL", "000000000100010264") 'Material
tbl_GOODSMVT_ITEM.SetValue("PLANT", "sap_centro") 'Centro
tbl_GOODSMVT_ITEM.SetValue("STGE_LOC", "sap_almacen") 'Almacén
tbl_GOODSMVT_ITEM.SetValue("BATCH", "lote_material") 'Lote
tbl_GOODSMVT_ITEM.SetValue("MOVE_TYPE", "901") 'Tipo mov.
tbl_GOODSMVT_ITEM.SetValue("MVT_IND", "F") 'Indicador mov.
tbl_GOODSMVT_ITEM.SetValue("STCK_TYPE", "F") 'T.Stock
tbl_GOODSMVT_ITEM.SetValue("ORDERID", "000001001811") 'Orden de fabricación
tbl_GOODSMVT_ITEM.SetValue("ENTRY_QNT", "400") 'Cantidad
tbl_GOODSMVT_ITEM.SetValue("ENTRY_UOM", "PZS") 'UMB

'Ejecutar la BAPI
Dim ejecuta2 As New RfcTransaction
funcion2.Invoke(destino)
ejecuta2.AddFunction(funcion2)
ejecuta2.Commit(destino)

'Resultado de la ejecución
Dim tbl_RETURN As IRfcTable = funcion2.GetTable("RETURN")

Catch ex As Exception
MsgBox(ex.ToString)
End Try

End Sub


Espero sirva de ayuda para la gente que esta empezando, como yo.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 16:09:26.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web