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 03/06/08, 19:36:30
marilinmendoza marilinmendoza is offline
Junior Member
 
Fecha de Ingreso: may 2008
Mensajes: 17
Alv...inspeccion De Materiales

Hola a todos.
Tengo el siguiente codigo ( esta completo para el que quiera copiar y
pegar para probarlo)


TABLES: mapl,
makt,
plmk,
qpac,
qpcd.

TYPES: BEGIN OF ti_datos,

matnr LIKE mapl-matnr,
maktx LIKE makt-maktx,
plnty LIKE mapl-plnty,
plnnr LIKE mapl-plnnr,
code LIKE qpac-code,
codegruppe LIKE qpac-codegruppe,
verwmerkm LIKE plmk-verwmerkm,
kurztext LIKE plmk-kurztext,
toleranzob LIKE plmk-pruefeinh,
toleranzun LIKE plmk-pruefeinh,
sollwert LIKE plmk-pruefeinh,
toleranzob_text LIKE plmk-kurztext,
toleranzun_text LIKE plmk-kurztext,
sollwert_text LIKE plmk-kurztext,
katab1 LIKE plmk-katab1,

END OF ti_datos.

DATA : datos TYPE TABLE OF ti_datos WITH HEADER LINE.
DATA : code LIKE qpac-code,
kurztext LIKE plmk-kurztext.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

SELECT-OPTIONS: s_mate FOR mapl-matnr OBLIGATORY.

SELECTION-SCREEN END OF BLOCK b1.

TYPE-POOLS: slis.

DATA: w_layout TYPE slis_layout_ alv.

DATA: i_fieldcat TYPE slis_t_fieldcat_ alv,
w_fieldcat TYPE slis_fieldcat_ alv.

DATA: i_sort TYPE TABLE OF slis_sortinfo_ alv,
w_sort TYPE slis_sortinfo_ alv.

DATA: i_events TYPE slis_t_event,
w_events TYPE slis_alv_event.

DATA: report LIKE sy-repid.

DATA: i_list_comments TYPE slis_t_listheader,
w_list_comments LIKE LINE OF i_list_comments.

DATA: w_disvariant TYPE disvariant,
w_es_variant LIKE disvariant,
w_variant_exit( 1) TYPE c.
INITIALIZATION.
report = sy-repid.

START-OF-SELECTION.

PERFORM cargar_datos .

END-OF-SELECTION.

PERFORM do_alv.

*&---------- --------- --------- --------- --------- --------- ---
-*
*& FORM cargar_datos
*&---------- --------- --------- --------- --------- --------- ---
-*
* text
*----------- --------- --------- --------- --------- --------- --
-*
* --> p1 text
* <-- p2 text
*----------- --------- --------- --------- --------- --------- --
-*
FORM cargar_datos.

SELECT matnr plnty plnnr
FROM mapl
INTO CORRESPONDING FIELDS OF TABLE datos
WHERE matnr IN s_mate AND
plnal EQ '01' AND
loekz NE 'X'.

IF sy-subrc = 0.

LOOP AT datos.

SELECT SINGLE matnr maktx
FROM makt
INTO CORRESPONDING FIELDS OF datos
WHERE matnr EQ datos-matnr AND
spras EQ 'S'.

SELECT SINGLE codegruppe code
FROM qpac
INTO (datos-codegruppe, datos-code)
WHERE bewertung = 'A'.

SELECT SINGLE verwmerkm kurztext toleranzob toleranzun sollwert
katab1
FROM plmk
INTO CORRESPONDING FIELDS OF datos
WHERE plnnr = datos-plnnr AND
plnty = datos-plnty AND
loekz NE 'X'.

MOVE datos-toleranzob TO datos-toleranzob_ text.
MOVE datos-toleranzun TO datos-toleranzun_ text.
MOVE datos-sollwert TO datos-sollwert_ text.

MODIFY datos.

ENDLOOP.

LOOP AT datos.

IF datos-katab1 EQ 'X'.

datos-toleranzob_ text = '---'.
datos-toleranzun_ text = '---'.

SELECT SINGLE code FROM qpac INTO code
WHERE codegruppe EQ datos-verwmerkm AND
bewertung EQ 'A'.

SELECT SINGLE kurztext FROM qpct INTO kurztext
WHERE code EQ code AND
codegruppe EQ datos-verwmerkm.
datos-sollwert_ text = kurztext.

MODIFY datos.

ENDIF.

ENDLOOP.

ENDIF.

ENDFORM. " cargar_datos

*&---------- --------- --------- --------- --------- --------- ---
-*
*& Form do_alv
*&---------- --------- --------- --------- --------- --------- ---
-*
* text
*----------- --------- --------- --------- --------- --------- --
-*
* --> p1 text
* <-- p2 text
*----------- --------- --------- --------- --------- --------- --
-*
FORM do_alv .
PERFORM do_layout.
PERFORM do_fieldcat.
PERFORM do_events.
* PERFORM do_sort.
PERFORM call_alv.
ENDFORM. " do_alv

*&---------- --------- --------- --------- --------- --------- ---
-*
*& Form do_layout
*&---------- --------- --------- --------- --------- --------- ---
-*
* text
*----------- --------- --------- --------- --------- --------- --
-*
* --> p1 text
* <-- p2 text
*----------- --------- --------- --------- --------- --------- --
-*
FORM do_layout .
CLEAR w_layout.
w_layout-zebra = 'X'. "striped pattern
w_layout-colwidth_ optimize = 'X'.
ENDFORM. " do_layout

*&---------- --------- --------- --------- --------- --------- ---
-*
*& Form do_fieldcat
*&---------- --------- --------- --------- --------- --------- ---
-*
* text
*----------- --------- --------- --------- --------- --------- --
-*
* --> p1 text
* <-- p2 text
*----------- --------- --------- --------- --------- --------- --
-*
FORM do_fieldcat .

REFRESH: i_fieldcat.
CLEAR w_fieldcat.

CLEAR w_fieldcat.
w_fieldcat-fieldnam e = 'MATNR'.
w_fieldcat-tabname = 'DATOS'.
w_fieldcat-seltext_ l = 'Material'.
w_fieldcat-outputle n = '12'.
w_fieldcat-no_ zero = 'X'.
APPEND w_fieldcat TO i_fieldcat.

CLEAR w_fieldcat.
w_fieldcat-fieldnam e = 'MAKTX'.
w_fieldcat-tabname = 'DATOS'.
w_fieldcat-seltext_ l = 'Descripción' .
w_fieldcat-outputle n = '50'.
APPEND w_fieldcat TO i_fieldcat.

CLEAR w_fieldcat.
w_fieldcat-fieldnam e = 'VERWMERKM'.
w_fieldcat-tabname = 'DATOS'.
w_fieldcat-seltext_ l = 'Características de Inspección'.
w_fieldcat-outputle n = '12'.
APPEND w_fieldcat TO i_fieldcat.

CLEAR w_fieldcat.
w_fieldcat-fieldnam e = 'KURZTEXT'.
w_fieldcat-tabname = 'DATOS'.
w_fieldcat-seltext_ l = 'Texto Breve de Características' .
w_fieldcat-outputle n = '50'.
APPEND w_fieldcat TO i_fieldcat.

CLEAR w_fieldcat.
w_fieldcat-fieldnam e = 'TOLERANZOB_ TEXT'.
w_fieldcat-tabname = 'DATOS'.
w_fieldcat-seltext_ l = 'Límite Superior'.
w_fieldcat-outputle n = '6'.
w_fieldcat-decimals _out = '2'.
APPEND w_fieldcat TO i_fieldcat.

CLEAR w_fieldcat.
w_fieldcat-fieldnam e = 'TOLERANZUN_ TEXT'.
w_fieldcat-tabname = 'DATOS'.
w_fieldcat-seltext_ l = 'Límite Inferior'.
w_fieldcat-outputle n = '6'.
w_fieldcat-decimals _out = '2'.
APPEND w_fieldcat TO i_fieldcat.

CLEAR w_fieldcat.
w_fieldcat-fieldnam e = 'SOLLWERT_TEXT' .
w_fieldcat-tabname = 'DATOS'.
w_fieldcat-seltext_ l = 'Valor Teórico'.
w_fieldcat-outputle n = '12'.
w_fieldcat-decimals _out = '2'.
APPEND w_fieldcat TO i_fieldcat.

ENDFORM. " do_fieldcat

*&---------- --------- --------- --------- --------- --------- ---
-*
*& Form do_events
*&---------- --------- --------- --------- --------- --------- ---
-*
* text
*----------- --------- --------- --------- --------- --------- --
-*
* --> p1 text
* <-- p2 text
*----------- --------- --------- --------- --------- --------- --
-*
FORM do_events .
REFRESH i_events.

CALL FUNCTION 'REUSE_ALV_EVENTS_ GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = i_events
EXCEPTIONS
list_type_wrong = 1
OTHERS = 2.

CLEAR w_events.
READ TABLE i_events INTO w_events WITH KEY name =
slis_ev_top_ of_page.

IF sy-subrc = 0.
MOVE 'MI_TOP_OF_PAGE' TO w_events-form.
MODIFY i_events FROM w_events INDEX sy-tabix.
ENDIF.

ENDFORM. "do_events*

*&---------- --------- --------- --------- --------- --------- ---
-
*
*& Form do_sort
*&---------- --------- --------- --------- --------- --------- ---
-
*
* text
*----------- --------- --------- --------- --------- --------- --
-
*
* --> p1 text
* <-- p2 text
*----------- --------- --------- --------- --------- --------- --
-
*
FORM do_sort .
CLEAR w_sort.
REFRESH i_sort.

w_sort-spos = '1'.
w_sort-fieldname = 'MATNR'.
w_sort-tabname = 'DATOS'.
w_sort-up = 'X'.
w_sort-subtot = 'X'.

APPEND w_sort TO i_sort.

ENDFORM. " do_sort

*&---------- --------- --------- --------- --------- --------- ---
-*
*& Form call_alv
*&---------- --------- --------- --------- --------- --------- ---
-*
* text
*----------- --------- --------- --------- --------- --------- --
-*
* --> p1 text
* <-- p2 text
*----------- --------- --------- --------- --------- --------- --
-*
FORM call_alv .
CALL FUNCTION 'REUSE_ALV_GRID_ DISPLAY'
EXPORTING
* I_INTERFACE_ CHECK = ' '
* I_BYPASSING_ BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = report
* I_CALLBACK_PF_ STATUS_SET = ' '
* I_CALLBACK_USER_ COMMAND = ' '
* I_CALLBACK_TOP_ OF_PAGE = ' '
* I_CALLBACK_HTML_ TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_ END_OF_LIST = ' '
* I_STRUCTURE_ NAME =
* I_BACKGROUND_ ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
is_layout = w_layout
it_fieldcat = i_fieldcat
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
it_sort = i_sort
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
i_save = 'X'
* is_variant = w_es_variant
it_events = i_events
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_ COLUMN = 0
* I_SCREEN_START_ LINE = 0
* I_SCREEN_END_ COLUMN = 0
* I_SCREEN_END_ LINE = 0
* I_HTML_HEIGHT_ TOP = 0
* I_HTML_HEIGHT_ END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_ BY_CALLER =
* ES_EXIT_CAUSED_ BY_USER =
TABLES
t_outtab = datos
EXCEPTIONS
program_error = 1
OTHERS = 2
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

ENDFORM. " call_alv

**&--------- --------- --------- --------- --------- --------- ----
--
**
**& Form mi_top_of_page
**&--------- --------- --------- --------- --------- --------- ----
--
**
** text
**---------- --------- --------- --------- --------- --------- ---
--
**
** --> p1 text
** <-- p2 text
**---------- --------- --------- --------- --------- --------- ---
--
**

FORM mi_top_of_page.

DATA: fecha(10),
fecha1(10),
w_bztxt LIKE t171t-bztxt,
w_zovta(35),
w_vtext LIKE tvkot-vtext,
w_orvta(35),
w_cadis(35).

CLEAR: i_list_comments[ ].

w_list_comments- typ = 'H'. "H=Header, S=Selection, A=Action
w_list_comments- key = ''.
w_list_comments- info = 'MOLDEADOS ANDINOS, C.A. (MOLANCA)'.
APPEND w_list_comments TO i_list_comments.

w_list_comments- typ = 'H'. "H=Header, S=Selection, A=Action
w_list_comments- key = ''.
w_list_comments- info = 'Caractarísticas de Inspección por Material'.
APPEND w_list_comments TO i_list_comments.

w_list_comments- typ = 'S'. "H=Header, S=Selection, A=Action
w_list_comments- key = 'Usuario: '.
w_list_comments- info = sy-uname.
APPEND w_list_comments TO i_list_comments.

WRITE sy-datum TO fecha.

w_list_comments- typ = 'S'. "H=Header, S=Selection, A=Action
w_list_comments- key = 'Fecha: '.
w_list_comments- info = fecha.
APPEND w_list_comments TO i_list_comments.

w_list_comments- typ = 'S'. "H=Header, S=Selection, A=Action
w_list_comments- key = 'Página: '.
w_list_comments- info = sy-pagno.
APPEND w_list_comments TO i_list_comments.

CALL FUNCTION 'REUSE_ALV_COMMENTA RY_WRITE'
EXPORTING
* i_logo = ' '
it_list_commentary = i_list_comments.

ENDFORM. "mi_top_of_page

*&---------- --------- --------- --------- --------- --------- ---
-*
*& Form validate_variant
*&---------- --------- --------- --------- --------- --------- ---
-*
* text
*----------- --------- --------- --------- --------- --------- --
-*
* --> p1 text
* <-- p2 text
*----------- --------- --------- --------- --------- --------- --
-*
*FORM validate_variant .

*ENDFORM.

El problema que tengo es que no me muestra el detalle del material
52000021 o se repite el material 42000012 y asi.

Debe salir la caracteristica de inspeccion TER-PESO TER-ALTU
TER-PMEC y SAL-VISU . el codigo hace que salga solo la primera
y la ultima y no las dos del medio.

Y por ultimo el texto breve de caracteristica se lo trae incorrectamente, es decir se trae uno pero no es el que pide el usuario.

Por fa , Auxilio, alguien que me ayude
__________________
Marilin Mendoza
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 17:14:49.


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