Ver Mensaje Individual
  #4  
Viejo 12/03/09, 17:38:36
Avatar de Jonathan Barrio Rodriguez
Jonathan Barrio Rodriguez Jonathan Barrio Rodriguez is offline
Senior Member
 
Fecha de Ingreso: oct 2007
Localización: MADRID
Mensajes: 199
A ver...

me imagino que esto es para un Batch input....

La verdad no tengo mucha idea de Table Control y es un follón pero alguna vez debuguando he sacado esto de por ahí (si te sirve.. te he ahorrado un buen rato):

***&---------------------------------------------------------------------*
***& Form FCODE_INSERT_ROW *
***&---------------------------------------------------------------------*
** FORM fcode_insert_row
** USING P_TC_NAME TYPE DYNFNAM
** P_TABLE_NAME .
**
***&SPWIZARD: BEGIN OF LOCAL DATA----------------------------------------*
** DATA L_LINES_NAME LIKE FELD-NAME.
** DATA L_SELLINE LIKE SY-STEPL.
** DATA L_LASTLINE TYPE I.
** DATA L_LINE TYPE I.
** DATA L_TABLE_NAME LIKE FELD-NAME.
** FIELD-SYMBOLS <TC> TYPE CXTAB_CONTROL.
** FIELD-SYMBOLS <TABLE> TYPE STANDARD TABLE.
** FIELD-SYMBOLS <LINES> TYPE I.
***&SPWIZARD: END OF LOCAL DATA------------------------------------------*
**
** ASSIGN (P_TC_NAME) TO <TC>.
**
***&SPWIZARD: get the table, which belongs to the tc *
** CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
** ASSIGN (L_TABLE_NAME) TO <TABLE>. "not headerline
**
***&SPWIZARD: get looplines of TableControl *
** CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_LINES_NAME.
** ASSIGN (L_LINES_NAME) TO <LINES>.
**
***&SPWIZARD: get current line *
** GET CURSOR LINE L_SELLINE.
** IF SY-SUBRC <> 0. " append line to table
** L_SELLINE = <TC>-LINES + 1.
***&SPWIZARD: set top line *
** IF L_SELLINE > <LINES>.
** <TC>-TOP_LINE = L_SELLINE - <LINES> + 1 .
** ELSE.
** <TC>-TOP_LINE = 1.
** ENDIF.
** ELSE. " insert line into table
** L_SELLINE = <TC>-TOP_LINE + L_SELLINE - 1.
** L_LASTLINE = <TC>-TOP_LINE + <LINES> - 1.
** ENDIF.
***&SPWIZARD: set new cursor line *
** L_LINE = L_SELLINE - <TC>-TOP_LINE + 1.
**
***&SPWIZARD: insert initial line *
** INSERT INITIAL LINE INTO <TABLE> INDEX L_SELLINE.
** <TC>-LINES = <TC>-LINES + 1.
***&SPWIZARD: set cursor *
** SET CURSOR LINE L_LINE.
**
** ENDFORM. " FCODE_INSERT_ROW
**

Creo que esto es posible que te sirva... Es del stardar, me suena que había otra forma de hacerlo, comprobando el númro de línea que lleva el TC y sumandole una... ( como lo hacemos en el PAI al hacerle el loop ) pero son vagas ideas.

De todas formas como veo que estás conectado, mandame un mensje o al messenger y a ver si te puedo ayudar más...
__________________
Barrio Rodriguez, Jonathan.
_____________________________________
"No sigas a quien haya encontrado la verdad sino a quien la busque"
Responder Con Cita