MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 15/01/10, 15:55:48
andresf02 andresf02 is offline
Senior Member
 
Fecha de Ingreso: nov 2009
Mensajes: 190
Llenar una tabla Z pediendo lo datos al usuario

Buenos Dias

Estoy dando mis primeros pasos en ABAP. He tenido experiencia con queries (creandolos o consultandolos) y ya puedo programar mis queries desde abap.

Pero ahora quiero crear mis propias tablas y poder hacer queries y joins sobre ellas. Ya se como crear mis tablas y activarlas pero quisiera saber como poder llenarlas con datos

Es decir, por ejemplo:

Tabla: Zusuarios
Campos: Numero, Nombre, Apellido

Lo que quiero hacer es poder ingresar un registro en dicha tabla como por ejemplo:

14709678 --- Andres --- Velasco

para hacer esto quisiera poder hacerlo de 3 formas (o almenos cualquiera de ellas)

1) Desde una transaccion en SAP (aclaro que uso minisap y no tengo se16n)

2) Desde codigo ABAP (supongo que con el comando INSERT)

3) creando una interfaz donde el usuario vaya ingresando los datos y al final
con un boton que diga GUARDAR, se almacenen directamente los datos en la tabla.



Me interesan mucho las 2 ultimas opciones.


Por favor cualquier idea o solucion se los agradeceria muchisimo para continuar aprendiendo y poder generar solucion en mi trabajo.

Muchas Gracias!
Responder Con Cita
  #2  
Viejo 15/01/10, 18:43:49
kreuzigen kreuzigen is offline
Member
 
Fecha de Ingreso: feb 2009
Mensajes: 53
Hola, que bueno que hayas entrado al mundo de SAP, es bastante interesante y la programación lo es mas.

1 Si quieres darle mantenimiento a tu tabla, puedes crear una vista de mantenimiento, esto lo haces desde la transaccion SE11. Cuando la hayas creado, puedes ejecutar tu vista con la Tx. SM30.

2 DATA scarr_wa TYPE scarr.

scarr_wa-carrid = 'FF'.
scarr_wa-carrname = 'Funny Flyers'.
scarr_wa-currcode = 'EUR'.
scarr_wa-url = 'http://www.funnyfly.com'.

INSERT INTO scarr VALUES scarr_wa.

3 Es mas complejo, tienes que diseñar una transaccion y dynpro
Responder Con Cita
  #3  
Viejo 15/01/10, 21:46:00
andresf02 andresf02 is offline
Senior Member
 
Fecha de Ingreso: nov 2009
Mensajes: 190
kreuzigen,
mil gracias por su colaboracion, fue de enorme ayuda para mi ya que me aclaró muchas dudas.

Le comento que para el punto 3) de crear una pantalla para pedirle datos al usuario para llenar la tabla lo solucione gracias a su concejo de crear la vista de mantenimineto. Lo que hice fue crear una transaccion por la se93 y le puse que llamara a la transaccion sm30 en modo de UPDATE omitiendo la pantalla inicial y logre lo que necesisitaba.

Respecto a la programacion en abap, quisiera preguntarle es si existe alguna forma de crear una especie de ciclo que le vaya pidiendo al usuario en campos los datos necesarios. como por ejemplo cuando uno define un parametro y al ejecutar el programa de una pide al usuario dicho parametro. Quisiera saber si se podria hacer de igual manera un campo que cuando el usuario digite un valor, el programa lo almacene en alguna variable para luego hacer la asignacion al campo de la tabla tal cual como usted lo explico.

obviamente esto lo hago porque quiero conocer ya que con la creacion de la transaccion Z que llama a la SM30 solucione el problema.

Muchas gracias!!
Responder Con Cita
  #4  
Viejo 27/06/12, 15:17:47
Avatar de MetalGod
MetalGod MetalGod is offline
Senior Member
 
Fecha de Ingreso: jun 2012
Localización: Tandil - Argentina
Mensajes: 110
Hola, muy buena tu pregunta, yo tambien recien me inicio y quiero saber como llenar una tabla con tadotos que el usuario ingresa, es buena tu solucion, pero me gustaria practicar haciendo yo una transaccion y una pantalla, alguien tendria un tutorial o me explica cuaales son los pasos a seguir para realizar esto? dese ya muchas gracias
Responder Con Cita
  #5  
Viejo 29/06/12, 19:44:51
AlexFrias AlexFrias is offline
Junior Member
 
Fecha de Ingreso: jun 2008
Mensajes: 9
Una forma muy sencilla es desde la transacción SE38, para crear tu programa ABAP. Ahí:

parameters:
p_numero type zusuarios-numero,
p_nombre type zusuarios-nombre,
p_apellido type zusuarios-apellido.

wa_zusuarios type zusuarios.

wa_zusuarios-numero = p_numero.
wa_zusuarios-nombre = p_nombre.
wa_zusuarios-apellido = p_apellido.

* ACTUALIZACIÓN DE LA TABLA DE FORMA DIRECTA
INSERT INTO zusuarios VALUES wa_zusuarios.
Responder Con Cita
  #6  
Viejo 29/06/12, 19:55:38
Avatar de MetalGod
MetalGod MetalGod is offline
Senior Member
 
Fecha de Ingreso: jun 2012
Localización: Tandil - Argentina
Mensajes: 110
muchas gracias, habia hecho algo parecido, con lo que me dijiste me lo pude terminar, muchas gracias.
Responder Con Cita
  #7  
Viejo 08/08/12, 15:41:25
lucia7272 lucia7272 is offline
Junior Member
 
Fecha de Ingreso: ago 2012
Mensajes: 6
ayuda para llenar una tabla


Hola a todos, recien me inicio en esto de sap, tengo que llenar una tabla por medio de un loop con un append a gt_alv que es donde tengo mi estructura del alv, realmente estoy bastante perdida con esto, enviare parte de mi código quiza alguien que me pueda ayudar, esto tiene fecha de entrega y estoy muy presionada

Method search_data.

Data: lt_lfa1 type table of lfa1,
lt_bkpf type table of bkpf,
lt_rbkp type table of rbkp,
lt_t001 type table of t001,
lt_vbsegk type table of vbsegk,
lt_rseg type table of rseg,
lt_gjahr type bkpf-gjahr,
lt_zt1_pagos type table of zt1_pagos.



Field-symbols: <wa_bkpf> like lt_bkpf,
<lf> like line of lt_lfa1,
<vb> like line of lt_vbsegk,
<zp> like line of lt_zt1_pagos,
<bk> like line of lt_bkpf,
<rb> like line of lt_rbkp.


Data:lt_budat type table of bkpf.

Field-symbols: <wa_budat> like line of gs_param-budat.

*Tabla del ALV.

Data: lt_data type table of zstr_alv_pagos.
Field-symbols: <wa_data> type zstr_alv_pagos.

*Para el id de contraseña

Data: NI(10) type N,
NE(10) TYPE C.


READ TABLE gs_param-budat ASSIGNING <wa_budat> INDEX 1.
*ASSIGN gs_param-budat to <wa_budat>.

if sy-subrc = 0.

if <wa_budat>-low is not initial.
lt_gjahr = <wa_budat>-low(4).
ELSEIF
<wa_budat>-high is not initial.
lt_gjahr = <wa_budat>-high(4).
endif.

endif.

CLEAR: lt_lfa1, lt_bkpf, lt_t001, lt_vbsegk.


*Para bkpf:

select *
into table lt_bkpf
from bkpf
where bukrs EQ gs_param-bukrs and
budat in gs_param-budat and
gjahr EQ lt_gjahr and
belnr in gs_param-belnr and "factura
( bstat = 'V' or bstat = 'W' or bstat = 'Z').


*Para rbkp:
select *
into table lt_rbkp
from rbkp
where budat in gs_param-budat and
gjahr EQ lt_gjahr and
belnr in gs_param-belnr and "factura
( rbstat = 'A' or rbstat = 'B' or rbstat = 'C' or
rbstat = 'D' or rbstat = 'E').


*Para vbsegk:
SELECT *
INTO TABLE lt_vbsegk
FROM vbsegk
FOR ALL ENTRIES IN lt_rbkp
WHERE vbsegk~belnr EQ lt_rbkp-belnr AND
vbsegk~gjahr EQ lt_rbkp-gjahr AND
bukrs EQ gs_param-bukrs AND
belnr IN gs_param-belnr AND
Lifnr IN gs_param-lifnr.


*Para rseg:

SELECT *
INTO TABLE lt_rseg
FROM rseg
FOR ALL ENTRIES IN lt_rbkp
WHERE rseg~belnr EQ lt_rbkp-belnr AND
rseg~Gjahr EQ lt_rbkp-gjahr AND
Lifnr IN gs_param-lifnr.


*Acreedor
LOOP AT lt_lfa1 ASSIGNING <lf>.

write: / <lf>-lifnr.

ENDLOOP.


* Nombre del acreedor

SELECT lifnr name1 INTO CORRESPONDING FIELDS OF TABLE lt_lfa1
FROM lfa1
FOR ALL ENTRIES IN lt_VBSEGK
WHERE lifnr = lt_VBSEGK-lifnr.

*Numero del Documento

SELECT lifnr belnr INTO CORRESPONDING FIELDS OF TABLE lt_rbkp
FROM rbkp
FOR ALL ENTRIES IN lt_vbsegk
WHERE lifnr = lt_VBSEGK-lifnr.

*Referencia

SELECT bukrs xblnr INTO CORRESPONDING FIELDS OF TABLE lt_bkpf
FROM bkpf
FOR ALL ENTRIES IN lt_rbkp
WHERE bukrs = lt_rbkp-bukrs.

"posicion

LOOP AT lt_vbsegk ASSIGNING <vb>.

write: / <vb>-sgtxt.

ENDLOOP.

*Numero Interno

SELECT MAX( NUM_I ) into NI from zt2_pagos
where zt2_pagos~sociedad = gs_param-BUKRS.

ni = ni + 1.

en este parte de aca iniciaría mi loop con un append a la gt_alv porfavor si me dan una idea de como continuar
Responder Con Cita
  #8  
Viejo 08/08/12, 16:11:24
AlexFrias AlexFrias is offline
Junior Member
 
Fecha de Ingreso: jun 2008
Mensajes: 9
Pero... qué es exactamente lo que tienes que mostrar en tu ALV?, cuál es la estructura de zstr_alv_pagos?
Responder Con Cita
Respuesta


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 23:48:04.


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