Sunteți pe pagina 1din 17

TRANSACCIONES DEL ENTORNO DE PROGRAMACIÓN/BÁSICAS

Este es resumen de las transacciones del entorno de programación y de administración del sistema
más utilizadas de la versión 3.x del sistema SAP R/3:

Código de Transacción Descripción


BMV0 Gestión de los log de direct input.
OY19 Comparación del contenido de una tabla entre dos sistemas SAP R/3
SCAM CATT Management
SCAT Computer Aided Test Tool
SE01 Sistema de gestión de transportes
SE07 Estatus de las ordenes de transporte
SE09 Órdenes de transporte Workbench
SE10 Órdenes de transporte Customizong
SE11 Mantenimiento del diccionario de datos
SE12 Visualización del diccionario de datos
SE13 Mantenimiento de tablas
SE14 Diccionario de datos, utilidad para bases de datos
SE15 Sistema del repositorio
SE16 Visor de datos (Datos Browser)
SE17 Visor de tablas
SE30 Análisis de tiempos de ejecución
SE32 Mantenimiento de elementos de texto.
SE35 Mantenimiento de módulos de diálogo
SE36 Mantenimiento de bases de datos lógicas
SE37 Mantenimiento de módulos de función
SE38 Mantenimiento de programas (editor ABAP/4)
SE39 Editor split screen
SE41 Manteniemiento de menús (menú Painter)
SE43 Mantenimiento de menús de área.
SE51 Mantenimiento de dynpros (screen painter)
SE54 Mantenimiento de vistas
SE61 Gestión de la documentación
SE62 Utilidad ramo industrial
SE63 Traductor
SE65 Documentación estadística de textos breves
SE66 Documentación estadística de textos explicativos
SE68 Gestión del departamento de traducción
SE71 SAPscript layout set
SE72 SAPscript estilos
SE73 SAPscript fonts
SE74 SAPscript conversión de formato
SE75 SAPscript settings
SE76 SAPscript traductor Layout Sets
SE77 SAPscript traductor estilos
SE80 Visor de objetos (object browsers)
SE81 Jerarquía de aplicación (SAP)
SE82 Jerarquía de aplicación (cliente)
SE84 Sistema de información del repositorio.
SE85 Sistema de información del repositorio.
SE86 Sistema de información del repositorio.
SE87 Gestión del modelo de datos (data modeler)
SE88 Sistema de información
SE91 Gestión de mensajes
SE92 Gestión de mensajes del log del sistema
SE93 Gestión de códigos de transacción
SEU Gestión de objetos (object browser)
SO32 Gestión de usuarios SAPOffice
SHDO Mantenimiento de variantes
SQ00 ABAP/4 Query: queries
SQ01 ABAP/4 Query: mantenimiento de queries
SQ02 ABAP/4 Query: mantenimiento de areas funcionales
SQ03 ABAP/4 Query: mantenimiento de grupos de usuarios
SQ07 ABAP/4 Query: comparación del lenguaje
SM35 Gestión de juegos de datos (Batch-Input)
SE37 Mantenimiento de JOBS
SM21 Ver el log del sistema. Se utiliza para ver más información cuando ocurre un DUMP.
SHD0 Mantenimiento de transacciones de variante.
SO00 Envia un mensaje a través de SAP. El destinatario puede ser de Internet, X400, etc..
SMOD Gestión de User-exits.

TRANSACCIONES DE CONTROL DE ACCESOS

Este es resumen de las transacciones del módulo de control accesos (CA) de la versión 3.x del
sistema SAP R/3:

Código de Transacción Descripción


SU01 Administración de usuarios
SU02 Administración de perfiles
SU03 Administración de autorizaciones
PFCG Generador automático de perfiles
SUIM Sistema de información

TRANSACCIONES DE LOGÍSTICA

Este es resumen amplio de las transacciones del módulo de logística (MM) de la versión 3.x del
sistema SAP R/3:

Código de Transacción Descripción


ME00 Gestión Materiales. Compras
MB00 Gestión Materiales. Gestión de Stocks
MR00 Gestión Materiales. Verificar Facturas
MRBE Gestión Materiales. Valoración
LPRO Gestión Materiales. Pronostico de Material
MD00 Gestión Materiales. Planificación Necesidades
MI00 Gestión Materiales. Inventario
MM00 Gestión Materiales. Maestro Materiales
CL00 Gestión Materiales. Clasificación
VA00 Gestión comercial. Ventas
VL00 Gestión Materiales. Expedición
MCE9 Sistema Info. Compras.
MCC2 Sistema Info. Gestión Stocks
MCT2 Sistema Info. Comercial
MC01 Sistema Info. Buscar vía Set Info.
MC02 Sistema Info. Buscar vía Texto
MCB1 Sistema Info. Controlling Stocks
ME90 Imprimir Orden de Entrega
MBSF Conformidad. Liberar Recepción
MK03 Entorno. Consulta de Proveedores
ME3N Entorno. Consulta Contratos
MM03 Entorno. Consulta de maestro de materiales
MR03 Entorno. Consulta Facturas
MMBE Entorno. Resumen de Stocks
MB51 Entorno. Consulta Mov. Material
MB01 Mvtos. Almacén. Entrada por pedido
MB1A Mvtos. Almacén. Salida de material
MBST Mvtos. Almacén. Anular documento
MBRL Mvtos. Almacén. Devolución a Proveedor
MB03 Mvtos. Almacén. Visualizar documento
ME56 Solicitud de Pedido. Asignar contrato.
ME5A Sol. Pedido. Listados. Generalidades
ME5K Sol. Pedido. Listados. Por imputación
ME5W Sol. Pedido. Listados. Nueva presentación
ME56 Sol. Pedido. Funciones siguiente. Asignar
ME57 Sol. Pedido. Funciones siguientes. Asignar y tratar
ME52 Sol. Pedido. SolP generadas. MRP. Modificar
ME53 Sol. Pedido. SolP generadas MRP. Visualizar
ME4L Pet. Ofertas/Oferta. Listados. Por proveedor
ME4M Pet. Ofertas/Oferta. Listados. Por material
ME4S Pet. Ofertas/Oferta. Listados. Por licitación
ME4C Pet. Ofertas/Oferta. Listados. Por grupo artículos
ME4N Pet. Ofertas/Oferta. Listados. Por petición oferta
ME2L Pet. Ofertas/Oferta. Listados. Por proveedor.
ME41 Pet. Ofertas/Oferta. Crear
ME42 Pet. Ofertas/Oferta. Modificar
ME43 Pet. Ofertas/Oferta. Visualizar
ME47 Pet. Ofertas/Oferta. Actualizar
ME48 Pet. Ofertas/Oferta. Visualizar
ME49 Pet. Ofertas/Oferta. Comparación precios
ME21 Pedido/Contrato. Crear
ME58 Pedido/Contrato. Mediante sol. pedido
ME22 Pedido/Contrato. Modificar
ME23 Pedido/Contrato. Visualizar
ME28 Pedido/Contrato. Liberar
ME2L Pedido/Contrato. Listados. Por proveedor
ME2M Pedido/Contrato. Listados. Por material
ME2K Pedido/Contrato. Listados. Por imputación
ME2C Pedido/Contrato. Listados. Por grupo de artículos
ME2N Pedido/Contrato. Listados. Por número de pedido
ME31 Pedido/Contrato. Pedido Abierto. Crear
ME32 Pedido/Contrato. Pedido Abierto. Modificar
ME33 Pedido/Contrato. Pedido Abierto. Visualizar
ME58 Pedido/Contrato. Pedido de Baremo. Mediante sol. Pedido
MB01 Conformidad. Crear
MB02 Conformidad. Modificar
MB03 Conformidad. Visualizar
ME11 Conformidad. Registro Info. Crear
ME12 Conformidad. Registro Info. Modificar
ME13 Conformidad. Registro Info. Visualizar
ME14 Conformidad. Registro Info. Modificaciones
ME15 Conformidad. Registro Info. Petición de borrado
ME01 Conformidad. Libro de Pedidos. Actualizar
ME03 Conformidad. Libro de Pedidos. Visualizar
ME04 Conformidad. Libro de Pedidos. Modificaciones
MEQ1 Conformidad. Regulación por cuota. Actualizar
MEQ3 Conformidad. Regulación por cuota. Visualizar
MEQ4 Conformidad. Regulación por cuota. Modificaciones
MEQM Conformidad. Regulación por cuota. Listado por material
ME61 Conformidad. Evaluación proveedor. Actualizar
ME62 Conformidad. Evaluación proveedor. Visualizar
ME63 Conformidad. Evaluación proveedor. Reevaluación autom.
ME64 Conformidad. Evaluación proveedor. Comparación evaluac.
ME6A Conformidad. Evaluación proveedor. Modificaciones
ME6H Conformidad. Evaluación proveedor. Análisis estándar
ME1l Conformidad. Listados. Por proveedor
ME1M Conformidad. Listados. Por material
ME1W Conformidad. Listados. Por grupo artículos
ME1P Conformidad. Listados. Histor. precio-pedido
ME1E Conformidad. Listados. Histor. precio-oferta.
ME0M Conformidad. Visualizar listado. Por material.
SU53 Visualiza los objetos de autorización de un usuario.

TRANSACCIONES DE RECURSOS HUMANOS

Este es resumen de las transacciones del módulo de recursos humanos (HR) de la versión 3.x del
sistema SAP R/3:

Código de Transacción Descripción


PA03 Cambia el registro de control de nóminas
PA20 Visualiza infotipo PA
PA30 Crearo modifica infotipos PA.
PP02 Entrada rápida para objetos de tipo PD
PU00 Borra infotipo PA de un empleado.

TRANSACCIONES DE VENTAS Y DISTRIBUCIÓN

Este es resumen de las transacciones del módulo de ventas y distribución (SD) de la versión 3.x del
sistema SAP R/3:

Código de Transacción Descripción


OLSD Configuración de SD
VB21 Volumen de ventas y compras
VK15 Múltiples condiciones de ventas.
VA01 Sol. Material Almacén. Crear
VA02 Sol. Material Almacén. Modificar
VA03 Sol. Material Almacén. Visualizar
VA05 Sol. Material Almacén. Lista
VA11 Crear solicitud de venta
VA12 Modificar solicitud de venta
VA13 Visualizar solicitud de venta
VA15 Lista solicitud de venta
VL02 Entrega

TRANSACCIONES DE ADMINISTRACIÓN FINANCIERA


Este es resumen de las transacciones administración financiera (FI) de la versión 3.x del sistema
SAP R/3:

Código de Transacción Descripción


FGRP Pantalla del report writer
FM12 Visualiza documentos bloqueados por el usuario.
FST2 Inserta un nombre específico para una cuenta de tipo G/L.
FST3 Visualiza el nombre de una cuenta G/L.
KEA0 Mantenimiento de operaciones de interés.
KEKE Actividad CO-PA.
KEKK Asignación de operaciones de interés.
KL04 Borrar un tipo de actividad.
KS04 Borra un centro de coste.
KSH2 Cambia o borro un grupo de centro de coste.
OBR2 Borra el programa de clientes, vendedores y cuentas G/L.
OKC5 Borra un grupo de elementos/costes.
OKE1 Borra datos de una transacción.
OKE2 Borra un centro de beneficio.
OKI1 Determina el numero de actividad de los tipos de actividad.
OMZ1 Define el papel de los socios.

Ejemplo: ZWRITE

Espara ordenar tables internas (it_spfli es la tabla interna, carrid y connid son los campos por
los que voy a ordenar)

SORT it_spfli BY carrid ASCENDING connid DESCENDING.

Cortes de control (siempre para hacer un corte de control la tabla debe estar ordenada ya sea
por un sort o bien un order by en sql)

LOOP AT it_spfli.
lv_distance = it_spfli-distance.

Hay un Nuevo connid?


at new connid.
WRITE: / IT_SPFLI-CARRID, IT_SPFLI-CONNID, lv_distance .
endat.

Llegue al ultimo carrid (igual al anterior)


at END OF carrid.
SUM.
WRITE: / IT_SPFLI-DISTANCE.
endat.
ENDLOOP.

Cortes de control: at new


at END
at first
at lost
antes de cualquier corte de control debo guardar en una variable los campos que
deseo escribir después ya que los cortes de control ponen **** si es char o 000 si es numérico
a los campos de la tabla int.

Sy-tabix guarda el numero de indice en el que estoy parado


ALV (abap list view):
Tipos de alv
Simples ejemplo: zalvlist
Bloques ejemplo: zalvblock
Jerárquicos ejemplo: ZALVHIERSEQ

* Type-pools slis. para habilitar las estructuras

Modulo de funciones:
/ose37 modulo de funciones: acá por ejemplo están todos las funciones de conversión

REUSE_ALV_LIST_DISPLAY (funcion que muestra el reporte en pantalla de tipo


simple)
Import export y tablas: mirar cuales parámetros son obligatorios (en este caso lo unico
obligatorio es la tabla)

Modo de llamar a la funcion


CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
Import export y tablas: mirar cuales parámetros son obligatorios

SMARTFORMS – FORMULARIOS
Transacción : SMARTFORMS

(SE71 sap-scrip otro tipo de form)

Main: cuerpo principal de un form.

Un programa “Z” es el ejecutable que va a llamar a una función que va a llamar a nuestro
formulario. Este programa z se denomina programa impresor.

Ejemplo programa impresor:

*&---------------------------------------------------------------------*
*& Report Z_EJEMPLOSMART_2 *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*

REPORT z_ejemplosmart_2 .

CONSTANTS:
c_formname TYPE tdsfname VALUE 'ZEJEMPLO_2'.
DATA:
l_fm_name TYPE rs38l_fnam.
*DATA V_vbeln like VBAK-VBELN .
parameters: p_vbeln like VBAK-VBELN obligatory.
*V_vbeln = p_vbeln .
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = c_formname
IMPORTING
fm_name = l_fm_name
EXCEPTIONS
no_form =1
no_function_module = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

CALL FUNCTION l_fm_name


EXPORTING
USER_SETTINGS = 'X'
v_vbeln = p_vbeln
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error =3
user_canceled = 4
OTHERS = 5.

IF sy-subrc <> 0.
* error handling
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

PASO AL SMARTFORM UNA TABLA DESDE EL PROGRAM IMPRESOR

*&---------------------------------------------------------------------*
*& Report ZPROGIMPRESOR12 *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*

REPORT zprogimpresor12 .

TABLES: makt.

CONSTANTS:
c_formname TYPE tdsfname VALUE 'ZSMARTEJEMPLO12'.

DATA:
l_fm_name TYPE rs38l_fnam.
*DATA V_vbeln like VBAK-VBELN .
SELECT-OPTIONS: s_matnr FOR makt-matnr.
*V_vbeln = p_vbeln .

DATA: ty_material LIKE Zmakt OCCURS 0.

SELECT matnr maktx INTO CORRESPONDING FIELDS OF TABLE


ty_material
FROM makt
WHERE matnr
IN s_matnr.

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'


EXPORTING
formname = c_formname
IMPORTING
fm_name = l_fm_name
EXCEPTIONS
no_form =1
no_function_module = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

CALL FUNCTION l_fm_name


* EXPORTING
* W_MATNR = s_MATNR
TABLES

BATCH INPUT (BDC)

La información tiene que estar en formato electrónico (excel o txt). Chequea y controla
datos asegurando la integridad de los mismos.

Transacciones: SHDB
SM35

Métodos:
1. Clásico (batch-input que va a crear una session)
2. Call transaction (a diferencia del primero es que no va a crear una session,
sino que va a llamar una transacción on-line, en forma directa)
3. Direct Input. No es recomendado por SAP

EJEMPLO::: tipo (1) Clásico (batch-input que va a crear una session)

*&---------------------------------------------------------------------*
*& Report ZBI_PERSONAS_6 *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*

*REPORT zbi_personas_6 .

*DECLARACIONES GLOBALES
INCLUDE zbi_personas_6_top.
*RUTINAS DE BATH INPUT
INCLUDE zbi_personas_6_f01.
INCLUDE zbi_personas_6_b1.

*****************AT SELECTION-SCREEN OUTPUT******************

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_arch.

CALL FUNCTION 'KD_GET_FILENAME_ON_F4'


CHANGING
file_name = p_arch.

****************START-OF-SELECTION***************************
START-OF-SELECTION.
BREAK-POINT.

PERFORM levantar_archivo.

PERFORM batch_input.

*&---------------------------------------------------------------------*
*& Include ZBI_PERSONAS_6_TOP *
*&---------------------------------------------------------------------*

REPORT zbi_personas_6.

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

PARAMETERS:
p_arch LIKE rlgrap-filename OBLIGATORY,
p_server RADIOBUTTON GROUP 1,
p_pc RADIOBUTTON GROUP 1 DEFAULT 'X',
p_group(12).
SELECTION-SCREEN: END OF BLOCK b1.

TYPES: BEGIN OF st_file,

dni(8) TYPE c,
nombre(30) TYPE c,
localidad(3) TYPE c,

END OF st_file.

****TABLES

DATA: gt_file TYPE TABLE OF st_file,


wa_file TYPE st_file.

******************DECLARACIONES PARA EL BATH INPUT******************

DATA: BEGIN OF gt_bdcprog OCCURS 0.


INCLUDE STRUCTURE bdcdata.

DATA: END OF gt_bdcprog.


DATA: gt_bdcmsgcoll TYPE TABLE OF bdcmsgcoll WITH HEADER LINE.

*&---------------------------------------------------------------------*
*& Include ZBI_PERSONAS_6_F01 *
*&---------------------------------------------------------------------*

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

DATA: vl_path TYPE string.

vl_path = p_arch.

CALL FUNCTION 'GUI_UPLOAD'


EXPORTING
filename = vl_path
filetype = 'ASC'
has_field_separator = 'X'
* HEADER_LENGTH =0
* READ_BY_LINE = 'X'
* DAT_MODE =''
* CODEPAGE =''
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* CHECK_BOM =''
* IMPORTING
* FILELENGTH =
* HEADER =
TABLES
data_tab = gt_file
EXCEPTIONS
file_open_error =1
file_read_error =2
no_batch =3
gui_refuse_filetransfer =4
invalid_type =5
no_authority =6
unknown_error =7
bad_data_format =8
header_not_allowed =9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17
.
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. " levantar_archivo

*&---------------------------------------------------------------------*
*& Include ZBI_PERSONAS_6_B1 *
*&---------------------------------------------------------------------*

FORM f_pantalla USING p_program TYPE bdc_prog


p_dynpro TYPE bdc_dynr.

CLEAR gt_bdcprog.
gt_bdcprog-program = p_program.
gt_bdcprog-dynpro = p_dynpro.
gt_bdcprog-dynbegin = 'X'.
APPEND gt_bdcprog.

ENDFORM. "F_PANTALLA

*&--------------------------------------------------------------------*
*& Form f_CAMPO
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->P_NOMBRE text
* -->P_VALOR text
*---------------------------------------------------------------------*
FORM f_campo USING p_nombre TYPE c
p_valor TYPE c.

CLEAR gt_bdcprog.
gt_bdcprog-fnam = p_nombre.
gt_bdcprog-fval = p_valor.
APPEND gt_bdcprog.

ENDFORM. "F_CAMPO

*&---------------------------------------------------------------------*
*& Form BATCH_INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM batch_input .

DATA: lv_modo_ejecucion TYPE c VALUE 'A'.


CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
client = sy-mandt
group = p_group
user = sy-uname
EXCEPTIONS
client_invalid =1
destination_invalid = 2
group_invalid =3
group_is_locked =4
holddate_invalid = 5
internal_error =6
queue_error =7
running =8
system_lock_error = 9
user_invalid = 10
OTHERS = 11.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

LOOP AT gt_file INTO wa_file.

*PANTALLA 1 ACTUALIZAR VISTA DE TABLA


PERFORM f_pantalla USING 'SAPMSVMA' '0100'.
PERFORM f_campo USING 'BDC_OKCODE' '=UPD'.
PERFORM f_campo USING 'VIEWNAME' 'ZPERSONAS_6'.
PERFORM f_campo USING 'VIMDYNFLDS-LTD_DTA_NO' 'X'.

*PANTALLA 2: MODIFICAR TABLA

PERFORM f_pantalla USING 'SAPLZPERSONAS_6' '0001'.


PERFORM f_campo USING 'BDC_OKCODE' '=NEWL'.

*PANTALLA 3: ENTRADAS NUEVAS

PERFORM f_pantalla USING 'SAPLZPERSONAS_6' '0002'.


PERFORM f_campo USING 'BDC_OKCODE' '=SAVE'.
PERFORM f_campo USING 'ZPERSONAS_6-DNI' wa_file-dni.
PERFORM f_campo USING 'ZPERSONAS_6-NOMBRE' wa_file-nombre.
PERFORM f_campo USING 'ZPERSONAS_6-LOCALIDAD' wa_file-localidad.

* PERFORM f_campo USING 'ZCIUDADES_6-CODIGO' wa_file-codigo.


* PERFORM f_campo USING 'ZCIUDADES_6-NOMBRE' wa_file-nombre.

*PANTALLA 4: 1ER BACK

PERFORM f_pantalla USING 'SAPLZPERSONAS_6' '0002'.


PERFORM f_campo USING 'BDC_OKCODE' '=ENDE'.
PERFORM f_campo USING 'ZPERSONAS_6-NOMBRE' wa_file-nombre.
PERFORM f_campo USING 'ZPERSONAS_6-LOCALIDAD' wa_file-localidad.

**PANTALLA 4: 2DO BACK

PERFORM f_pantalla USING 'SAPMSVMA' '0100'.


PERFORM f_campo USING'BDC_OKCODE' '/EENDE'.

CALL FUNCTION 'BDC_INSERT'


EXPORTING
tcode = 'SM30'
TABLES
dynprotab = gt_bdcprog
EXCEPTIONS
internal_error = 1
not_open =2
queue_error =3
tcode_invalid = 4
printing_invalid = 5
posting_invalid = 6
OTHERS = 7.

REFRESH: gt_bdcprog, gt_bdcmsgcoll.


CLEAR gt_bdcmsgcoll.

ENDLOOP.

*INVOCAR SM30
CALL FUNCTION 'BDC_CLOSE_GROUP'.
IF sy-subrc <> 0.
WRITE: ' error'.
ELSE.
WRITE: ' la sesión ha sido creada exitosamente'.
ENDIF.
ENDFORM. " BATCH_INPUT

BATCH INPUT (BDC)

La información tiene que estar en formato electrónico (excel o txt). Chequea y controla
datos asegurando la integridad de los mismos.

Transacciones: SHDB
SM35

Métodos:
4. Clásico (batch-input que va a crear una session)
5. Call transaction (a diferencia del primero es que no va a crear una session,
sino que va a llamar una transacción on-line, en forma directa)
6. Direct Input. No es recomendado por SAP

1y2 llegan al mismo resultado.

Pasos a seguir para creación.


1. Analizar los datos
2. generar estructuras de datos
3. crear el programa de tranferencias de datos
4. exportar los datos
5. Leer el archivo
6. Procesar los datos e ingresarlos
7. chequear los datos
8. procesar y corregir los datos
Siempre se parte de una grabación para la simulación de entrada de datos de un usuario.

EJEMPLO::: tipo (2)Call transaction

*&---------------------------------------------------------------------*
*& Report ZBI_CIUDADES_6 *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*

*DECLARACIONES GLOBALES
INCLUDE zbi_ciudades_6_top.

*RUTINAS DE BATH INPUT


INCLUDE zbi_ciudades4_f01.
INCLUDE zbiciudades_6_b1.

*****************AT SELECTION-SCREEN OUTPUT******************

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_arch.

CALL FUNCTION 'KD_GET_FILENAME_ON_F4'


CHANGING
file_name = p_arch.

****************START-OF-SELECTION***************************
START-OF-SELECTION.
BREAK-POINT.

PERFORM levantar_archivo.

PERFORM BATCH_INPUT.

*&---------------------------------------------------------------------*
*& Include ZBICIUDADES_6_B1 *
*&---------------------------------------------------------------------*

FORM f_pantalla USING p_program TYPE bdc_prog


p_dynpro TYPE bdc_dynr.

CLEAR gt_bdcprog.
gt_bdcprog-program = p_program.
gt_bdcprog-dynpro = p_dynpro.
gt_bdcprog-dynbegin = 'X'.
APPEND gt_bdcprog.

ENDFORM. "F_PANTALLA

*&--------------------------------------------------------------------*
*& Form f_CAMPO
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->P_NOMBRE text
* -->P_VALOR text
*---------------------------------------------------------------------*
FORM f_campo USING p_nombre TYPE c
p_valor TYPE c.

CLEAR gt_bdcprog.
gt_bdcprog-fnam = p_nombre.
gt_bdcprog-fval = p_valor.
APPEND gt_bdcprog.

ENDFORM. "F_CAMPO

*&---------------------------------------------------------------------*
*& Form BATCH_INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM batch_input .

DATA: lv_modo_ejecucion TYPE c VALUE 'A'.

LOOP AT gt_FILE INTO wa_file.

*PANTALLA 1 ACTUALIZAR VISTA DE TABLA


PERFORM f_pantalla USING 'SAPMSVMA' '0100'.
PERFORM f_campo USING 'BDC_OKCODE' '=UPD'.
PERFORM f_campo USING 'VIEWNAME' 'ZCIUDADES_6'.
PERFORM f_campo USING 'VIMDYNFLDS-LTD_DTA_NO' 'X'.

*PANTALLA 2: MODIFICAR TABLA

PERFORM f_pantalla USING 'SAPLZCIUDADES_6' '0001'.


PERFORM f_campo USING 'BDC_OKCODE' '=NEWL'.

*PANTALLA 3: ENTRADAS NUEVAS

PERFORM f_pantalla USING 'SAPLZCIUDADES_6' '0002'.


PERFORM f_campo USING 'BDC_OKCODE' '=SAVE'.
PERFORM f_campo USING 'ZCIUDADES_6-CODIGO' wa_file-codigo.
PERFORM f_campo USING 'ZCIUDADES_6-NOMBRE' wa_file-nombre.

*PANTALLA 4: ENTRADAS NUEVAS

PERFORM f_pantalla USING 'SAPLZCIUDADES_6' '0002'.


PERFORM f_campo USING 'BDC_OKCODE' '=UEBE'.
* PERFORM f_campo USING 'ZCIUDADES_6-NOMBRE' 'BUENOS AIRES'

*INVOCAR SM30
CALL TRANSACTION 'SM30'
USING gt_bdcprog
MODE lv_modo_ejecucion
MESSAGES INTO gt_bdcmsgcoll.

REFRESH: gt_bdcprog, gt_bdcmsgcoll.


CLEAR gt_bdcmsgcoll.

ENDLOOP.
ENDFORM. " BATCH_INPUT

*&---------------------------------------------------------------------*
*& Include ZBI_CIUDADES_6_TOP *
*&---------------------------------------------------------------------*

REPORT zbi_ciudades_6.

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

PARAMETERS:
p_arch LIKE rlgrap-filename OBLIGATORY,
p_server RADIOBUTTON GROUP 1,
p_pc RADIOBUTTON GROUP 1 DEFAULT 'X'.

SELECTION-SCREEN: END OF BLOCK b1.

TYPES: BEGIN OF st_file,


codigo(3) TYPE c,
nombre(30) TYPE c,
END OF st_file.

****TABLES

DATA: gt_file TYPE TABLE OF st_file,


WA_FILE TYPE ST_FILE.

******************DECLARACIONES PARA EL BATH INPUT******************

DATA: BEGIN OF gt_bdcprog OCCURS 0.


INCLUDE STRUCTURE bdcdata.

DATA: END OF gt_bdcprog.

DATA: GT_BDCMSGCOLL TYPE TABLE OF BDCMSGCOLL WITH HEADER LINE.

*&---------------------------------------------------------------------*
*& Include ZBI_CIUDADES4_F01 *
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form levantar_archivo
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM levantar_archivo .
DATA: vl_path TYPE string.

vl_path = p_arch.

CALL FUNCTION 'GUI_UPLOAD'


EXPORTING
filename = vl_path
filetype = 'ASC'
has_field_separator = 'X'
* HEADER_LENGTH =0
* READ_BY_LINE = 'X'
* DAT_MODE =''
* CODEPAGE =''
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* CHECK_BOM =''
* IMPORTING
* FILELENGTH =
* HEADER =
TABLES
data_tab = gt_file
EXCEPTIONS
file_open_error =1
file_read_error =2
no_batch =3
gui_refuse_filetransfer =4
invalid_type =5
no_authority =6
unknown_error =7
bad_data_format =8
header_not_allowed =9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17
.
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. " levantar_archivo

S-ar putea să vă placă și