La Red de Conocimientos Pedagógicos - Currículum vitae - Importe por lotes datos SAP ABAP EXCEL en tablas creadas por usted mismo.

Importe por lotes datos SAP ABAP EXCEL en tablas creadas por usted mismo.

El siguiente es el procedimiento básico, que puede modificarse ligeramente según la situación ~ ~

1 Informe ZLLLL.

Datos: ZMSTUDENT inicio,

ZMSID tipo ZMSID,

ZMCNO tipo ZMCNO,

ZMKNO tipo ZMKNO,

ZMNAME tipo ZMNAME,

ZMSSEX tipo ZMSSEX,

ZMSAGE tipo ZMSAGE,

ZMSTEL tipo ZMSTEL,

ZMSTUDENT final.

Datos: tabla de clases itab del estudiante de zm (tabla de almacenamiento) con fila de encabezado

Los datos BDC similares a los datos BDC aparecen en 0 de la fila del encabezado (tabla de transferencia de parámetros de ejecución)

El mensaje _ bdcmsgcoll tipo tabla con fila de encabezado tiene 0 apariciones. (Devolver resultado de ejecución)

Datos: el comienzo de it_message aparece en 0,

msgtp escribe bdc_mart,

a matnr le gusta makt-matnr,

Texto (40),

termina el mensaje.

Select-Screen inicia el bloque BLK con el texto del encabezado del marco-001.

Parámetros: P_TYP tipo modo CTU fuerza valor predeterminado 'n',

P_FILE LIKE RLGRAP-FILENAME fuerza.

Finaliza la pantalla de selección del bloque BLK.

En la pantalla de selección de valor, solicite P_FILE.

Ejecutar SELECT_FILE.

Selecciona Iniciar.

Ejecutar GET_FILE_DATA.

Ejecutar pros_data.

* -

Formulario selección_archivo.

Datos: l_FILETAB tipo FILETABLE,

filas similares a L_FILETAB,

tipo L_RC.

Método de llamada CL_GUI_FRONTEND_ SERVICES = gtfile_open_dialog

Salir

WINDOW_TITLE = 'Abrir archivo'

initial_DIRECTORY = 'C:/'

Cambiar

Tabla de archivos = etiqueta de archivo

RC = L_RC

Excepción

Error al abrir el cuadro de diálogo de archivo = 1

cntl_error = 2

error_no_gui = 3

not_supported_by_gui = 4

Otros = 5

.

Si sy-subrc lt; gt0.

ID del mensaje sy-msgid tipo sy-msgty número sy-msgno

Igual que sy-msgv 1 sy- msg v2 sy-msg v3 sy-msg v4.

Salir.

En caso contrario.

Lea la tabla l_filetab en el índice 1 de l_waftab.

p_file = l_waftab-nombre de archivo.

Borrar: l_filetab,

l_wat iab.

ENDIF.

Forma final. "Select_File

* amp-

formulario para obtener datos del archivo.

Tabla de datos tipo lt_excel de alsmex_tabline con fila de encabezado.

Datos l_index como sy-tabix.

Símbolo de campo.

Llamar función "ALSM_EXCEL_TO_INTERNAL_TABLE"

Salir

Nombre de archivo = p_file

i_begin_col = '1'

i_begin_row = '2 '

i_end_col = '50 '

i_end_row = '50000 '

Tabla

intern = lt_excel

Excepciones

Parámetro inconsistente = 1

upload_ole = 2

Otro = 3.

* amp amp importa datos en formato EXCEL a la tabla interna TAB_LOAD.

Bucle en lt_excel.

Mueva lt_excel-col a l_index.

* Asignar componente l_index de la estructura itab a.

* Mover lt_excel-value a.

* al final de la línea.

* Convierte gt_user-uname a mayúsculas.

Caso L_INDEX.

Cuando '1'.

Mueva lT_EXCEL-VALUE a ZMSTUDENT-ZMSID.

Cuando '2'.

Mueva lT_EXCEL-VALUE a ZMSTUDENT-ZMCNO.

Cuando '3'.

Mueva lT_EXCEL-VALUE a ZMSTUDENT-ZMKNO.

Cuando '4'.

Mueva lT_EXCEL-VALUE a ZMSTUDENT-ZMNAME.

Cuando '5'.

Mueva lT_EXCEL-VALUE a ZMSTUDENT-ZMSSEX.

Cuando '6'.

Mueva lt_excel-value a zmstudent-zmsage.

Cuando '7'.

Mueva lt_excel-value a zmstudent-zmstel.

El final.

Al final de la línea.

Añadir itab.

Borrar itab.

Endat.

Finalizar el bucle.

Forma final. "Obtener datos de archivo"

* amp-

Formulario PROSS_DATA.

Datos: l_line1(6).

Datos: aa(3), bb(3), cc(3).

Fuente de datos: LC(5).

Bucle en itab.

Ejecute bdc_dynpro usando 'zmll001'' 2000'. (requiere nombre del programa y número de pantalla)

Ejecute bdc_field usando 'BDC_CURSOR'

' LS_ZMSTUDENT-ZMSTEL '.

Utilice "BDC_OKCODE" para realizar bdc_field

Guardar.

Mover ITAB-ZMCNO a AA. (Debido a que el campo zmcno es de tipo num, debe ampliarse en el campo de tipo char aquí)

Mueva ITAB-zmcno a BB.

Mover ITAB Zeger a CC.

* * * * * * * * * * * * * * * *La siguiente sección es el código de captura de pantalla~ ~ ~ ~ * * * * * * * * * * * * * * * * * * * * * * * *.

Utilice ' LS_ZMSTUDENT-ZMSID ' para ejecutar bdc_field

itab-zmsid.

*Registro-ZMSID_001.

Utilice ' LS_ZMSTUDENT-ZMCNO ' para ejecutar bdc_field

AA.

*itab-ZMCNO.

*Registro-ZMCNO_002.

Utilice ' LS_ZMSTUDENT-ZMKNO ' para ejecutar bdc_field

BB.

*itab-ZMKNO.

*Registro-ZMKNO_003.

Utilice ' LS_ZMSTUDENT-ZMNAME ' para ejecutar bdc_field

itab-ZMNAME.

*Registro-ZMNAME_004.

Utilice ' LS_ZMSTUDENT-ZMSSEX ' para ejecutar bdc_field

itab-ZMSSEX.

*Registro-ZMSSEX_005.

Utilice ' LS_ZMSTUDENT-ZMSAGE ' para realizar bdc_field

cc.

* itab-ZMSAGE.

*Registro-ZMSAGE_006.

Utilice ' LS_ZMSTUDENT-ZMSTEL ' para ejecutar bdc_field

itab-ZMSTEL.

*Registro-ZMSTEL_007.

Finalizar el bucle.

Ejecute bdc_field usando 'BDC_OKCODE'

=BACK1 '.

Llame a la transacción 'ZMM' usando el modo bdcdata p_typ

Actualice el mensaje "L"

a message_table.

Tabla de descripción message_table línea l_line1.

Leer mensaje de tabla _ TABLE INDEX l _ línea 1.

Si sy-subrc = 0.

it_message-msgtp = mensaje_table-msgtyp.

* it_message-matnr = itma-matnr.

Seleccione un solo texto

Comience desde t100

INTO it_message-text

donde sprsl = sy-Gu Lanhe

p>

arbgb = message_table-msgid y

msgnr = message_table-msgnr.

Reemplace la primera aparición de 'amp' en it_message-text CON message_table-msgv 1.

Reemplace la primera aparición de 'amp' en it_message-text CON message_table-msg v2.

Reemplace la primera aparición de ' amp'EN it _ message-text CON message _ table-msg v3.

Reemplace la primera aparición de 'amp' EN it _ message-text CON message _ table-msg v4.

ENDIF.

Añadir it_message.

Borrar it_message.

CLEAR: tabla_mensajes, tabla_mensajes[], bdcdata, bdcdata[].

Forma final. " PROSS_DATA

* amp-

Utilice el programa DYNPRO para formar BDC_DYNPRO.

Borrar bdcdata.

bdcdata-program=program.

p>

bdcdata-dynpro = dynpro.

bdcdata-dynbegin = 'X'

Fin del formulario.

Utilice fnam fval para formar BDC_FIELD.

Borrar datos bdc.

bdcdata-fnam = fnam.

bdcdata-fval = fval.

Añadir bdcdata.

Forma final. "BDC_FIELD