Ver Mensaje Individual
  #4  
Viejo 17/01/08, 15:43:07
Avatar de Driau
Driau Driau is offline
Senior Member
 
Fecha de Ingreso: ago 2007
Mensajes: 235
A ver si lo saco...

A ver..he estado mirando el ejemplo que me habeis proporcionado. He creado la tabla con el Screen Painter y he aprovechado el codigo que me habeis pasado. Lo he modificado con el siguiente código:

*&---------------------------------------------------------------------*
*& Report ZCONTROL_LOTES
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ZCONTROL_LOTES .
CONTROLS TABLE_CONTROL TYPE TABLEVIEW USING SCREEN 9000.
TABLES AFPO.
*DATA AFPO_ITAB LIKE STANDARD TABLE OF AFPO.

DATA: BEGIN OF AFPO_ITAB OCCURS 0,
MATNR LIKE MARA-MATNR,
CHARG LIKE AFPO-CHARG,
END OF AFPO_ITAB.

DATA INIT.
DATA OK_CODE LIKE SY-UCOMM.
DATA SAVE_OK LIKE SY-UCOMM.
DATA MARK.
DATA COL TYPE CXTAB_COLUMN.

CALL SCREEN 9000.

*&---------------------------------------------------------------------*
*& Module STATUS_09000 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_09000 OUTPUT.
SET PF-STATUS 'ZSTATUS'.
SET TITLEBAR '9000'.
IF INIT IS INITIAL.
* Datenbeschaffung
SELECT MATNR CHARG
FROM AFPO
INTO CORRESPONDING FIELDS OF TABLE AFPO_ITAB.
DESCRIBE TABLE AFPO_ITAB LINES TABLE_CONTROL-LINES.
INIT = 'X'.
ENDIF.

ENDMODULE. " STATUS_09000 OUTPUT

*&---------------------------------------------------------------------*
*& Module FILL_TABLE_CONTROL OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE CHANGE_SDYN_CONN OUTPUT.
* you can change the content of current table control line via
* sdyn_conn
* READ TABLE AFPO_ITAB INTO sdyn_conn INDEX table_control-current_line.

ENDMODULE. " FILL_TABLE_CONTROL OUTPUT
*&---------------------------------------------------------------------*
*& Module READ_TABLE_CONTROL INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE READ_TABLE_CONTROL INPUT.
* Check input values

* IF MARK = 'X' AND SAVE_OK = 'DELETE'.
* DELETE TABLE AFPO_ITAB FROM A.
* DESCRIBE TABLE SDYN_ITAB LINES TABLE_CONTROL-LINES.
* ENDIF.
ENDMODULE. " READ_TABLE_CONTROL INPUT

*&---------------------------------------------------------------------*
*& Module USER_COMMAND_09000 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_09000 INPUT.
SAVE_OK = OK_CODE.
CLEAR OK_CODE.
CASE SAVE_OK.
WHEN 'SORT'.
DATA: FLDNAME(9000),HELP(9000).

READ TABLE TABLE_CONTROL-COLS INTO COL WITH KEY SELECTED = 'X'.
SPLIT COL-SCREEN-NAME AT '-' INTO HELP FLDNAME.
SORT AFPO_ITAB BY (FLDNAME).
ENDCASE.

ENDMODULE. " USER_COMMAND_09000 INPUT

*&---------------------------------------------------------------------*
*& Module EXIT INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE EXIT INPUT.
LEAVE PROGRAM.
ENDMODULE. " EXIT INPUT


El código funciona i se ejecuta la pantalla (como la que os adjunto). El problema es que a mi me gustaria que elo pudiera indicar un numero de material y al tabular en la columna de "Lote" (con un desplegable...por ejemplo) se le sugirieran los lotes relacionados a ése material. Ahora mismo tengo el efecto inverso. Es decir...si pongo un lote...automàticamente se me rellena el campo de material.

No se si me explico. Que estoy haciendo mal???? Como puedo seguir??

Grácias a todos!
Imágenes Adjuntas
Tipo de Archivo: jpg TABLE CONTROL.JPG (27.5 KB, 95 visitas)
Responder Con Cita