Ver Mensaje Individual
  #9  
Viejo 05/10/06, 04:09:37
Aottone Aottone is offline
Junior Member
 
Fecha de Ingreso: may 2006
Mensajes: 7
Post Funcion para obtener caracteristicas de un articulo

Johnny, aqui tienes una función que a partir del número de articulo te devuelve las caracteristicas del mismo.
Espero que te sirva.
*"----------------------------------------------------------------------
*"*"Interfase local
*" IMPORTING
*" VALUE(P_ARTICULO) LIKE MARA-MATNR
*" TABLES
*" P_CARACT_ART STRUCTURE ZCARACT_ART
*"----------------------------------------------------------------------
DATA: BEGIN OF I_CARACT_ART OCCURS 0,
OBJEK LIKE AUSP-OBJEK,
ATINN LIKE AUSP-ATINN,
ATWRT LIKE AUSP-ATWRT,
ATZHL LIKE CAWN-ATZHL,
ATNAM LIKE CABN-ATNAM,
ATKLA LIKE CABN-ATKLA,
ATWTB LIKE CAWNT-ATWTB.
DATA: END OF I_CARACT_ART.

DATA: v_CUOBF LIKE MARA-CUOBF.

CLEAR: I_CARACT_ART, I_CARACT_ART[], v_CUOBF.

* Codigo Objeto interno
SELECT SINGLE CUOBF
INTO v_CUOBF
FROM MARA
WHERE MATNR EQ p_ARTICULO.

* Caracteristicas de Articulo
SELECT OBJEK ATINN ATWRT
INTO TABLE I_CARACT_ART
FROM AUSP
WHERE OBJEK EQ v_CUOBF.

IF sy-subrc EQ 0.
* Nombre y Grupo de caracteristicas
LOOP AT I_CARACT_ART.
SELECT SINGLE ATNAM ATKLA
INTO (I_CARACT_ART-ATNAM, I_CARACT_ART-ATKLA)
FROM CABN
WHERE ATINN EQ I_CARACT_ART-ATINN.
MODIFY I_CARACT_ART.
* Valores y contador interno
SELECT SINGLE ATZHL
INTO I_CARACT_ART-ATZHL
FROM CAWN
WHERE ATINN EQ I_CARACT_ART-ATINN
AND ATWRT EQ I_CARACT_ART-ATWRT.
MODIFY I_CARACT_ART.
* descripciones
SELECT SINGLE ATWTB
INTO I_CARACT_ART-ATWTB
FROM CAWNT
WHERE ATINN EQ I_CARACT_ART-ATINN
AND ATZHL EQ I_CARACT_ART-ATZHL
AND SPRAS EQ 'S'.
MODIFY I_CARACT_ART.
ENDLOOP.
ENDIF.

* Cargo la Tabla Parametro
LOOP AT I_CARACT_ART.
CLEAR P_CARACT_ART.
P_CARACT_ART-ZVALOR_CAR = I_CARACT_ART-ATWRT.
P_CARACT_ART-ZNOMBRE_CAR = I_CARACT_ART-ATNAM.
P_CARACT_ART-ZGRUPO_CAR = I_CARACT_ART-ATKLA.
P_CARACT_ART-ZDESCVAL_CAR = I_CARACT_ART-ATWTB.
APPEND P_CARACT_ART.
ENDLOOP.

ENDFUNCTION.

Los parametros son:
Import: P_ARTICULO LIKE MARA-MATNR
Tablas: P_CARAT_ART LIKE ZCARACT_ART

Definición de ZCARACT_ART
Componente Tp.COmponente Tipo de dato
ZNOMBRE_CAR ATNAM CHAR(30)
ZVALOR_CAR ATWRT CHAR(30)
ZDESCVAL_CAR ATWTB CHAR(30)
ZGRUPO_CAR ATKLA CHAR(10)

Saludos
Responder Con Cita