mandante:400 usuario:dgutirriez pass:daniel17 opcion 2 seguir en secion abierta se38 trancciones editor abad ZPROGRAMA9_ARV SINTAXIS PARA REALIZAR UN PROGRAMA OFFSET --- VARIABLE DEL SISTEMA EVALUADOR DE CADENAS LOS ESPACIOS CUENTAN EN OPERADORES DE CADENAS PAQUETE Z001 PARA GRABAR VAMOS A CREADOR 4 RADIO BOTON 2 PARA MITER 5 CARACT. 8 RADIO BOTON pretty printer co regresa verdadero regresa el no de caracteres encontrados
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
mandante:400
usuario:dgutirriez
pass:daniel17
opcion 2 seguir en secion abierta
se38 trancciones
editor abad
ZPROGRAMA9_ARV
SINTAXIS PARA REALIZAR UN PROGRAMA
OFFSET --- VARIABLE DEL SISTEMA
EVALUADOR DE CADENAS
LOS ESPACIOS CUENTAN EN OPERADORES DE CADENAS
PAQUETE Z001
PARA GRABAR
VAMOS A CREADOR 4 RADIO BOTON
2 PARA MITER 5 CARACT.
8 RADIO BOTON
pretty printer
co regresa verdadero regresa el no de caracteres encontrados
co falso regresa la posicion del caparacter del parametro1 el caracter que no se encontró
aun uno no escriba los espacios los toma en cuenta
RB_1
RB_2
RB_4
RB_5
RB_6
RB_7
RB_8
Todos los caracteres se evalúan de los operadores 1 deben existir en el operador 2. Incluyendo espacio aunque uno no lo ponga.
Cualquier carácter se evalúa del p1 al p2
Verdadero porque no importa el orden. VERDAD PQ CONTIENE LA STRING
Write:/’ expresion’.
Case f.
When
Endcase
Chek evalua la expression
While
Do.
Contador=contador+1.
Chek contador LT 10. (en ciclos)
….. no va a ser cuando se cumpla la condicion
Enddo.
FALSO PORQUE SE EVALUA DEL PARAMETRO2 EN EL 1 COMO STRING
**************** BLOQUE DE DOCUMENTACION PRINCIPAL ********************** Nombre del Programa : REPORT ZEJERCICIO11_MVG.* Descripcion : EN ESTE PROGRAMA ESTA DESCRITO COMO HACER Y MANDAR LLAMAR INCLUDES,
* SUBRUTINAS Y PROCEDIMIENTOS.* Autor del Programa : MARICELA VALENZUELA GOMEZ* Fecha : 23 DE JULIO 2010* Referencia de Diseno: N.A.* Numero de version : 1.0.************************************************************************* REPORT .************************************************************************* Log de Modificaciones************************************************************************* Fecha Nombre ID de Cambio Nro.Orden Descripcion************************************************************************************************************************************************
* PROGRAMAS INCLUIDOS************************************************************************INCLUDE ZEJERCICIO11_ARV_TOP. " PARA DEFINIR EL INCLUDE, DAR DOBLE CLIC EN LA PALABRA INCLUDEINCLUDE ZEJERCICIO11_ARV_FORMS. " CORTAMOS Y PEGAMOS LA PARTE QUE DEFINE LAS DECLARACIONES Y EN EL OTRO LA DE LAS FORMAS.
* AT SELECTION-SCREEN************************************************************************
*&---------------------------------------------------------------------**& Include ZEJERCICIO11_ARV_TOP*&---------------------------------------------------------------------**&---------------------------------------------------------------------**& Include ZEJERCICIO11_MVG_TOP*&---------------------------------------------------------------------*
************************************************************************* TYPE POOLS************************************************************************TYPES: BEGIN OF TY_MARA, MATNR TYPE MATNR, MEINS TYPE MEINS, END OF TY_MARA.************************************************************************* TABLAS************************************************************************TABLES: MARA.************************************************************************* ESTRUCTURAS************************************************************************
DATA IT_MARA TYPE TY_MARA OCCURS 0 WITH HEADER LINE.
************************************************************************* VARIABLES************************************************************************DATA: A TYPE I VALUE 2, B TYPE I VALUE 3, C TYPE I, AC TYPE C, BC TYPE C, CC TYPE C.************************************************************************* CONSTANTES************************************************************************
************************************************************************SELECT-OPTIONS S_MATNR FOR MARA-MATNR.
*&---------------------------------------------------------------------**& Include ZEJERCICIO11_ARV_FORMS*&---------------------------------------------------------------------**&---------------------------------------------------------------------**& Include ZEJERCICIO11_MVG_FORMS*&---------------------------------------------------------------------************************************************************************************************************************************************** FORMS = SUBRUTINAS************************************************************************FORM GET_DATA.
SELECT MATNR MEINS FROM MARA INTO CORRESPONDING FIELDS OF TABLE IT_MARA WHERE MATNR IN S_MATNR.
ENDFORM. "GET_DATA
*&---------------------------------------------------------------------**& Form WRITES*&---------------------------------------------------------------------** text*----------------------------------------------------------------------*FORM WRITES.
WRITE: 'MATERIAL', 20 'UMB'.
LOOP AT IT_MARA.
WRITE: / IT_MARA-MATNR UNDER 'MATERIAL', IT_MARA-MEINS UNDER 'UMB'.
ENDLOOP.
WRITE: / AC, '+', BC, '=', CC.ENDFORM. "WRITES
DEFINE SUMA. "ESTO ES UNA MACRO, NO SABE DE TIPOS DE DATO EL ORDEN EN QUE SE MANDAN LAS VARIABLES ES COMO SABE QUIEN ES 1,2 Y 3 &3 = &1 + &2. END-OF-DEFINITION.
DEFINE I_TO_C. &1 = A. &2 = B. &3 = C. END-OF-DEFINITION.
TABLA CON CABECERA (UN ESPACIO RESEVADO EN MEMORIA)
CABECERA ESPACIO RESERVADO
CABECERA ESPACIO RESERVADO
CABECERA ESPACIO RESERVADO
CABECERA ESPACIO RESERVADO
INSTRUCCIÓN:
LOOP AT IT_MARA INTO WA_MARA (LEER)
MODIFY IT_MARA (MODIFICAR)
TABLA SIN CABECERA (POR MEDIO DE UNA ESTRUTURA DE MANEJA EL ACCESO A LOS DATOS)
INSTRUCCIÓN:
LOOP AT IT_MARA INTO WA_MARA (LEER)
MODIFY WA_MARA TO IT_MARA (MODIFICAR)
DECLARANDO TABLAS CON CABECERA.
FORMA 1: (FORMA PARA PONER LOS TIPOS DE DATOS EN FORMA ESTRUCTURAL)
DATA: BEGIN OF IT_MARA OCCURS 0.
….
END OF IT_MARA
FORMA 2: (DEFINIENDO SOLO LA TABLA CON CABECERA)
DATA: IT_MARA LIKE MARA OCCURS 0 WITH HEADER LINE.
FORMA3: (TABLA CON CEBECERA Y UNA ESTRUTURA PARA DEFINIR LOS TIPOS DE DATOS)
DATA: IT_MARA LIKE TY_MARA OCCURS 0 WITH HEADER LINE.
ANTERIORMENTE DEFINIENDO EL TYPO DE ESTRUCTURA:
TYPE: BEGIN OF TY_MARA,
…..
END OF TY_MARA.
TABLAS SIN CABECERA DECLARACION
<N>: 0 ES EL NUMERO DE REGISTROS QUE PUEDE CONTENER DEPENDIENDO DEL BUFFER. 1 POR EJEMPLO ES DEL REGISTRO 1-100 ETC.
DATA: <ITTAB> TYPE <TIPO> OCCURS <N>.
EJEMPLO EN EL MANUAL
EN LA SINTAXIS DE LA DECLARA LA TABLA INTERNA
TYPE STANDARD TABLEOF = OCCURS 0
PAGINA ENTRE LA 77 Y 78
APPEND PARA AGREGAR REGISTRO A LA TABLA INTERNA
CON CABECERA
APPEND IT_MARA
SIN CABECERA
APPEND WA_MARA TO IT_MARA
BORRA UN SOLO REGISTRO
CON CABECERA
DELETE CAMISA
BORRA EL REGISTRO EN QUE ESTA POSICIONADO
WA = OBLIGATORIA SI ES DEL WORK AREA.
DELETE [TABLE] <ITAB> [FROM WA] [WHERE <COND>].
CON CABECERA MODIFICAR
MODIFY <ITAB>
SIN CABECERA
MODIFY WA_TAB TO IT_TAB
HAY FORMA DE MODIFICAR EL POR MEDIO DEL INDICE.
MODIFY IT_TAB INDEX SY-TABIX FROM WA_TAB.
COLLECT NOS SUMA TODOS LOS VALORES NUMERICOS DENTRO LA TABAL INTERNA
DESCRIBE NOS DICE EL NO DE REGISTROS DE UNA TABLA INTERNA.
SORT NOS ORDENA LA TABLA POR LOS CAMPOS QUE REUQERIMOS
SORT <ITTAB> BY CAMPO1 CAMPO2.
LOOP AT INTERATURA EN LOS REGISTROS
LOOP AT ITAB INTO WA_ITAB.
WRITE WA_IT_ITAB-CAMPO1.
ENDLOOP.
AT SE MUEVE EN LOS REGISTRO
LEER TABLAS
READ TABLE <ITTAB> INTO <VARIABLE>
[ [ WITH KEY <CAMPO1>=<VALOR1>……] ----------SIN CAMPO LLAVE
[ [ WITH TABLE KEY <CAMPO1>=<VALOR1>……] ----------CON CAMPO LLAVE
Se11 para accesar visualizador de tablas y creacion
LUEGO OPCIONES TECNICAS
CAT TAMAÑO 0
DAR CLICK EN REVISADO <> ACTIVO
GUARDAR
DAR CLICK EN LAS LLAVES
LUEGO DETALLES
PARa que no aya problrma s de agregar nuevas llaves y evitar incosistencias de datos para el usuario.
SY-SUBRC RETORNA VALORES SI 0 SI EXISTEN VALORES Y 4 U 8 ERROR.
SELECT * FROM ZTEST WHERE SALARIO GT 100000.
ENDSELECT.
ES OBSOLETO PERO LO PERMITE… O SOLO PARA IR EN UN GRUPO DE DATOS
SELECT SINGLE * FROM TABLA.
SOLO VA POR EL PRIMER REGISTRO
SE GUARDAN LOS RESULTADOS EN VARIABLES CON EL “INTO”
SE16N ES PARA VER EL NOMBRE DE LA TABLA Y VER LOS DATOS.
SELECT SINGLE * INTO CORRESPONDING FIELDS OF STR_MARA “SI ES UNA ESTRUCTURA”
SELECT * INTO CORRESPONDING FIELDS OF TABLE IT_MARA FROM MARA “SI ES UNA TABLA”
CUANDO SE MANEJA TILDE ~ CUANDO SE MANEJA ALIAS.
AS
UP TANTOS REGISTROS COMO QUIERAMOS
BY PADDING BUFFER (LO PERMITE PERO NO DEBEMOS USAR PARA NO TRONAR UNA TABLA)
LIKE PARA USAR UN PATRON
SIEMPRE VAMOS DESARROLLAR EN
DEV
QAR ES CALIDAD
PRO EN PRODUCTIVO ES GRAN CANTIDAD DE DATOS
CUIDADO CON LA FORMA DE PROGRAMAR
SI SON CAMPOS DIFERENTES NO PONER ALIAS PERO SI SON IGUALES PONER EL ALIAS
LEFT OUTER JOIN PONE QUE ESTEN EN LA IZQUIERDA AUN NO ESTEN EN LA DERECHA.
EL CAMPO QUE HACE EL MATCH ES LA D PAG. 116 EN EL ON ES EL CAMPO QUE INDICA HACER EL MATCH
Se37 entrar para crear alv
OAOR PARA
REUSE_ALV_GRID_DISPLAY motrar alv’s
PARA MANDAR LAS VARIABLES A LA FUNCION DEBEN SER DEL MISMO TIPO DE DATOS Y CHECAR EL IMPORT PARA ASI MANDAR LOS DATOS.
DE LAS TABLAS QUE SE VAN A USAR DEL ALV
MARC | MARA | MAKT
MATNR MATNR MKTX
WERKS MEINS MATNR
MTART
BRGEW
NTEGW
/H
ENTRA AL DEBUGIN
F8 TERMINA DEBUGIN
JALAMOS LAS ENTRADAS DEL ALV DANDO DOBLE CLICK EN LA FUNCIONES
ENTRANDO POR EL TYPE DE ESTRUCTURA DE WA DE LA
OAOR
PARA LO DE IMÁGENES
PONER NOMBRE CLAVE OBJETO Y ESA ES LA REFERENCIA PARA LEER LA IMAGEN
MB5
CUANDO UNA ABAPI SE EJECUTE CORRECTAMENTE
VAMOS A LLAMAR A LA BAPI_TRANSACTION_COMMIT
SI SE TRUENA BAPI_TRANSACTION_ROLBACK
A DE ABORT I WARNING
S FULL
At selection-screm ouptu.
Se llena antes de que muestre la pantalla para list box
PARA CREAR TRANSACCIONES
COM SE38 ETC..
CREE LA ZARV
PARA REALIZAR LA ACCION
TRANSACCIONES
SE30 CON PARAMETROS DEFINIDOS
SE93 TRANSACCIONES
SE80 REPOSITORIO DE CODIGO DE ABAP
PARA TRANSACCIONES PARA VISTAS
VERIFICAR LOS VALORES QUE SE LE MANDA.
CREAR TRANSACCION CON VISTA
DAR VALORES DE PARAMETROS
DAR F1 LUEGO CLICK EN INF. TECNICA
LA TRANSACCION SON LAS DE EJECUTAR EL MISMO VISTA
ES UNA LISTA A VARIAS TABLAS RELACIONADAS
EL MISMO PROGRAMA PERO ATRAVES DE UNA VISTA
MARA Y MAKT
REVISAR VISTA DE BASE DE DATOS
SE16N
CREACION DE INDICES
NO HACER VISTA ES MUY CONFLICTIVO
SE80
EL PRIMERO QUE SE EJECUTA ES OUT
AT SELECTION-SCREEN OUTPUT
DESPUES DEL INICIALIZATION. BUSCA SIEMPRE AL PRINCIPIO O AL FINAL Y DESPUES EL OPSELECTION.
ANTES DE QUE SE EJECUTA LA PANTALLA Y SE EJECUTA UNA SOLA VEZ
Opt selección se llama el reporte o alv
El momento se ejecutA CUANDO SE EJECUTA EL RELOJ
START-OF-SELECTION
INICIAL….
END-OF-SELECION ES UN EVENTO AL FINAL DEL REPORTE.
NO PODEMOS DECLARA PARAMETER CON LA PANTALLA DE SELECION DENTRO DE UNOS EVENTOS. TODOS SE DECLARAN AL PRINCIPIO DE TODOS LOS EVENTOS.
AT USER COMA ES CUANDO UN USARIO
EL PICK SON LAS TECLAS DEL SUARIO EN SELECCIÓN
SUBMIT
PARA UN ALV ALL RIGTH BACK
TAMAÑO = DESCRIBE IT_TABLA
EN TAMAÑO NO. DE ENTRADAS EN LA TABLA INTERNA
SY-TFILL = NO DE ENTRADAS DE LA TABLA. SE MODIFICA CADA VEZ QUE HACE UN LOOP.
TYPE-POLS: AGRUPADOR DE TIPOS DE ESTRUCTURAS. VRM.
EN TIPO DE ESTRUCTURA NO METES DATOS.
ESA TIEPE TYPOLS TIENE TODAS LAS VARIABLES PARA LLAMAR UNA FUNCION
C#
Si ocupamos todos los campos de la tabla declarar una tabla interna
DATA: IT_MARA TYPE ESTÁNDAR TABLE OF MARA.
SI QUEREMOS TIPO DE TABLA
TYPES: BEGIN OF IT_MARA OCCURS 0,
MATNR TYPE MATNR,
MEINS TYPE MEINS,
END OF TY-MARA.
LA CABECERA SE DECLARA HASTA QUE DECLARA LA TABLA INTERNA
SELECTION OPCTION EN NECERARIOS DECLARAR TABLES: MARA
SI FUERA ASI DATA: WA_MARA LIKE LIKE LINE OF IT_MARA.
La bc no usar y no pueden crear indices
EJERCICIO
CON MARA
Se41 y se80 estatus bar
Dinpro se genra el botón
Hay una estructura de ambiente que se llama screen lo que vamos hacer en el evento que queramos evaluar el parámetro va a ser
AT SELECTION-SCREEN ON P_1 SE EJECUTA CUANDO LE DEMOS CLIN EN ESE PARAMETRO
IF R_1 CS ‘X’
LOOP AT SCREEN. “VA A RECORRER LA PANTALLA
IF SCREEN-NAME CS ‘P_2’.
SCREEN-OUTPUT = 0. “LO OCULTA
SCREEN-INPUT = 0 “LO DESABILITA O PONE EN GRIS
MODIFY SCREEN.
ENDIF.
ENDLOOP.
SI HACEMOS UN CONSULTA CON DOS PARAMETROS
EN EL MATCH TENEMOS QUE PONER WL WITH KEY NO PEDIDO DE TABALA Y EL O
READ
SUMIT ZXXX SLECTION-SCREEN WITH P_1= ‘ ’.
Y OTROS
LAS BAPIS NOS REGRES AUNA TABLA RETURN NOS DA UN LOG DE QUE SE CREO SATISFACTORIAMENTE.
BAPI TRANSACCION COMIT
PARA LOS CAMBIOS DE QUE ESTA BAPI HAGA LOS CAMPIOS EN EL SISTEMA.
O UN ROLLBACK
SPLIT
FI01
CARGA INICIAL
CONTRASACCION
ZFI_002
BATCH INPUTS
SON GRABACIONES EN LAS CUALES LE VAMOS A MANDAR INFORMACION POREJEMPLO:
ENTRAR A UNA TRANSACCION LE DAMOS GRABACION NUEVA EL NOMBRE DE GRABACION NOS PIDE EL CODIGO LA TRANSACCION SI ES SINCRONO O ASINCRONO.
CON /A SON GRABACIONES SEW SE HACEN GRABACIONES. ASINCRONO: NOSOTROS TENEMOS QUE ENVIAR Y RECIBIR INFORMACION Y HACE VARIAS OPERACIONES. SINCRONO: ES CUANDO SE TIENE QUE EJECUTAR UNO POR UNO.
UNA GRABACION ES QUE SE QUEDE GUARDADO CADA MOVIMIENTO DE LA PANTALLA Y SE VA APARECIENDO LO QUE HACEMOS . NO NODE BEMOS EQUIVOCAR PORQUE SE REFLEJA EN EL CODIGO. KA ES UN ARCHIVO DE TEXTO PLANO.. LOS PROGRAMADORES NO HACEMOS ESTO A NOSTROS NOS INTERESA EL CODIGO QUE SE GENERA DE TODAS LAS TRANSACCIONES GRABADA.
NOS APARECE DESPUES DE TERMINAR LA GRABACION.
LE DAMOS CLIC EN PROGRAMAS EN PROGRAMA NOS VA A MOSTRAR EL CODIGO FUENTE.
EL BOTON DE JUEGO DE DATOS (SE35) ME VA A MANDAR A EJECUTAR EL BATCH Y CUANDO LO HACEMOS CON ARCHIVOS.
PUEDE SER CON UNA TABLA INTERNA Y PUEDE SER CON UN ARCHIVO LOS BATCH.
EN UNA TE PONE LOS DATOS COMO SON . CON IT INTERNA
NOS INTERESA EL CODIGO REPITE YA QUE NOSOTROS AL HACER LOS PROGRAMAS SOLO JALAMOS LOS DATOS CON SOLO CIERTOS DATOS.
LO QUE NOSOTROS VAMOS HACER CON EL CATH INPUT ES IDENTIFICAR LAS PARTES DE LA GABRACION PARA TOMAR CODIGO PARA HACER NUESTROS PROGRAMAS.
CONTENIDOS DE CAMPOS PUEDEN SER :
LEER DEL FICHERO
TOMAR DE LA GABRACION (ESTE DE PREFERENCIA PARA VER LOS DATOS CON VARIABLES)
CONTRASACCION ES CUANDO ONLINE SE MANDA LOS DATOS LOS USUARIO
tables: ztestudiantes, ztprofes, ztnotas, ztprofes_curso, ztcursos.data cont type i VALUE 0.DATA FLAG TYPE C.start-of-selection.FORMAT INTENSIFIED ON COLOR = 5.write: ' NO.',' Estudiante:','Materia: ' , ' Notas: ','Profesor: '.get ztestudiantes.get ztprofes.get ztnotas.get ztprofes_curso.get ztcursos.
ADD 1 TO CONT.if ztnotas-znota gt 20. IF FLAG EQ 'X'. FORMAT INTENSIFIED ON COLOR = 3. write: cont UNDER 'NO.',ztestudiantes-znombre under ' Estudiante:', ztcursos-zmateria under 'Ma
teria: ' , ztnotas-znota under 'Notas: ', ztprofes-zprofe under 'Profesor: '. FLAG = ''. ELSE. FORMAT INTENSIFIED OFF COLOR = 3. write: cont UNDER 'NO.',ztestudiantes-znombre under ' Estudiante:', ztcursos-zmateria under 'Materia: ' , ztnotas-znota under 'Notas: ', ztprofes-zprofe under 'Profesor: '. FLAG = 'X'. ENDIF.
endif.
ZT22 LLER LOS DOWN
CON GET EN EL PROGRAMA SI LO QUITAMOS NO SE IMPRIME LOS DATOS
DATA: CALLBACK TYPE TABLE OF LDBCB, CALLBACK_WA LIKE LINE OF CALLBACK, SELTAB TYPE TABLE OF RSPARAMS, SELTAB_WA LIKE LINE OF SELTAB, TEXPR TYPE RSDS_TEXPR,
FSEL TYPE RSFS_FIELDS.
*** FORM'S QUE SE EJECUTAN UNA VEZ QUE SE LLAMA LA LDB ***
*** S_EST ES EL SELECT-OPTIONS CREADO EN ZLD_EXAMPLE ***
SELTAB_WA-KIND = 'S'.SELTAB_WA-SELNAME = 'S_EST'.
LOOP AT SL_EST. MOVE-CORRESPONDING SL_EST TO SELTAB_WA. APPEND SELTAB_WA TO SELTAB.
ENDLOOP.
*** FUNCION PARA LLAMAR LDB A PARTIR DE LA VERSION 4.5A ***"'ZBDL_ARV'CALL FUNCTION 'LDB_PROCESS' EXPORTING ldbname = 'ZBDL2_JAM' VARIANT = ' ' EXPRESSIONS = TEXPR FIELD_SELECTION = FSEL
IF sy-subrc <> 0. WRITE: 'EXCEPTION WITH SY-SUBRC', SY-SUBRC.* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.
FORM CALLBACK_ZTESTUDIANTES USING NAME TYPE LDBN-LDBNODE WA TYPE ZTESTUDIANTES EVT TYPE C CHECK TYPE C. CASE EVT. WHEN 'G'. WRITE: / WA-ZNOMBRE, WA-ZAPE1, WA-ZAPE2. ULINE. WHEN 'L'. ULINE. ENDCASE. ENDFORM.
FORM CALLBACK_ZTNOTAS USING NAME TYPE LDB
N-LDBNODE WA TYPE ZTNOTAS EVT TYPE C CHECK TYPE C. WRITE: / WA-ZNOTA. ENDFORM.
NATURALESA DEL SELECT-OPTION ES DE UNA TABLA INTERNA
DATA: CALLBACK TYPE TABLE OF LDBCB, CALLBACK_WA LIKE LINE OF CALLBACK, SELTAB TYPE TABLE OF RSPARAMS, SELTAB_WA LIKE LINE OF SELTAB, TEXPR TYPE RSDS_TEXPR, FSEL TYPE RSFS_FIELDS.
*** FORM'S QUE SE EJECUTAN UNA VEZ QUE SE LLAMA LA LDB ***
*** S_EST ES EL SELECT-OPTIONS CREADO EN ZLD_EXAMPLE ***
SELTAB_WA-KIND = 'S'.SELTAB_WA-SELNAME = 'S_EST'.
LOOP AT SL_EST. MOVE-CORRESPONDING SL_EST TO SELTAB_WA. APPEND SELTAB_WA TO SELTAB.
ENDLOOP.
*** FUNCION PARA LLAMAR LDB A PARTIR DE LA VERSION 4.5A ***"'ZBDL_ARV'CALL FUNCTION 'LDB_PROCESS' EXPORTING ldbname = 'ZBDL2_JAM' VARIANT = ' ' EXPRESSIONS = TEXPR FIELD_SELECTION = FS
IF sy-subrc <> 0. WRITE: 'EXCEPTION WITH SY-SUBRC', SY-SUBRC.* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.
FORM CALLBACK_ZTESTUDIANTES USING NAME TYPE LDBN-LDBNODE WA TYPE ZTESTUDIANTES EVT TYPE C CHECK TYPE C. CASE EVT. WHEN 'G'. WRITE: / WA-ZNOMBRE, WA-ZAPE1, WA-ZAPE2. ULINE. WHEN 'L'. ULINE. ENDCASE. ENDFORM.FORM CALLBACK_ZTCURSOS USING NAME TYPE LDBN-
LDBNODE WA TYPE ZTCURSOS EVT TYPE C CHECK TYPE C. WRITE: / WA-ZMATERIA. ENDFORM.
FORM CALLBACK_ZTNOTAS USING NAME TYPE LDBN-LDBNODE WA TYPE ZTNOTAS EVT TYPE C CHECK TYPE C. WRITE: WA-ZNOTA. ENDFORM.
SE80 PARA VER EL CODIGO
Y EL DYMPRO
UNA PANTALLA PUEDE ESTAR ASOCIADA A UN PROGRAMA NO A VARIOS
SAPMZXXXXX <- NOMENCLATURA PARA DYMPROS
LOS CONCEPTOS DE PBO Y PAI
TODOS LOS DYMPROS SON INDEPENDIENTES DE SUS PROCESOS
CUANDO TENEMOS MUCHAS VENTANAS DE DYMPRO ES MEJOR HACER UNOS INCLUDES
APARTE DE TOP Y FORM
OTROS INCLUDE _PBO Y _PAI
PBO : ANTES DE QUE LA PANTALLA ENTRE.
PAI: SE GENERAN LOS BOTONES.
INPUT = AT SLECTION-SCREEN COMO EN LOS REPORT
POH= INVALUE REQUEST REPORT
EL POH ES PARA EJECUTAR AYUDA.
POV=INVALID REQUEST
CREAR DYMPRO
Todos los elementos del dynpro
los campos obligatorios son los de color fuerte
CUANDO VUELVE EL COLOR NORMAL QUIERE DECIR QUE
YA NO TIENE ERRORES Y LO PODEMOS USAR.
CREAR OTRO DYNPRO CON BOTONES DE ANTERIOR Y FINALIZAR
1. CREAR DYNPRO 02002. CREAR MODULSO PAI PBO3. OK_CODE VARIABLE4. BOTONES 25. GUI STATUS6. GUI TITLE
ZT22 ANALIZAR DOWNS
EJECUTAR DESDE LA TRANSACCION
CATH CX_SY_OPEN_SQL_DB (etiquetas)
UTILIZANDO UN AREA DE SUBSCRIM ES UN DE LOS ICONOS DE LA 4 HACIA ARRIBA.
INSERTAMOS ESA AREA LO ACTIVAMOS Y LO LLAMAMOS VENTA.
LO PASAMOS A NUESTRO PROGRAMA. TOP
Selección-screen begin of screen 500 as subscreen.
Selection-options: s_werks for marc-werks.
Selection-screen end of screen 500.
Y declarer la table
En el se manda a llamar lo siguiente
process beforo output.
MODULE STATUS _0100.
Call subscreen: VENTANA including ‘SAPMZDYNPRO_ARV’ ‘0500’.
BADY = AMPLIACION DE CODIGO ESTANDAR
BADY SE PUE EJECUTAR EN N CANTIDAD DE PROGRAMAS (ORIENTADO A UNA CLASE U OBJETOS)
Y USER-EXIT SOLO SE PUEDE USAR EN UN SOLO PROGRAMA. (ORIENTADO A INCLUDES)
NOMAS LA BADY QUE ESTA ACTIVA SE PUEDE UTILIZAR.
HAY VARIAS FORMAS DE ENCOTRAR UN BADY O UN USER-EXIT PERO LA MAS FACIL ES GOOGLE.
LOS USER-EXIT EMPIENSAN CON LA PALABRA EXIT.
APUNTES DE BADY’S
SE19 SE HACEN LAS IMPLEMENTACION DE BADYS
SE VEN SD18 ->BADY
DESVENTAJA DE LAS BADYS ES QUE SOLO SE PUEDEN HACER CON LOS CAMPOS QUE NOS DICE Y ES LA LIMITANTE.
Mrm_udc_distribuible
BADY PARA MIRO
SABER EN QUE MOMENTO SE EJECUTA LA BADY
BREAK-POINT.
PARA VER SI ME FUNCIONA
HASTA QUE LE DE ACTIVAR SE PASA Y SE EJECUTA
1.- IDENTIFICAR LA TRANSACCION VAMOS A IMPLEMENTAR LA BADY (EJEMPLO ESTE CASO ES LA MIRO).
2.- TENIENDO EL NOMBRE DE LA BADY QUE VAMOS A IMPLEMENTAR NOS VAMOS A LA SE19 (ESTE CASO ES LA MRM_UDC_DISTRIBUTE PARA VER EL CODIGO)
NOS VAMOS A METODOS Y PODEMOS VER TODOS LOS DATOS DE ENTRADA Y SALIDA.
3.- YA QUE SABEMOS LA BADY QUE FUNCIONA PARA NOSOTROS.
4.- SE19 SE VA A CREAR LA IMPLEMENTACION.
5.- EN LA IMPLEMENTACION USAR Z_UDC_DISITRIBUTE
NOS VA A DEJAR QUE MODIFIQUEMOS EL METODO.
Y LE PONEMOS UN BREAK-POINT.
PARA VER SI YA SE IMPLEMENTO LA BADY Y VER QUE FUNCIONE DENTRO DE LA TRANSACCION.
BADY TOTALMENTE ORIENTADA A OBJETOS.
EN BADY SE PUEDEN CREAR VARIAS PERO SE VA A UTILIZAR LA QUE ESTA ACTIVA.
PARA VALIDAR.
ES TALACHUDO.
SOLO DEJAR ACTIVA UNA BADY.
CL_EXIT ASI EMPIEZAN LOS METODOS DE LAS BADYS.
ESTE METODO LLAMA A TODAS LAS BADYS
LEGACY SYSTEM MIGRATION WORKBEACH
212 INICIA LSMW
PIDE:
PROJECT
SUBPROYECT
OBJECT
SMEW HICIERON GRABACION DE DATOS MAESTRSO
ALTA DE BANCOS CARGA MASIBA
CON LA OPICION SOURCE FIELD DANDOLE UN CLIC EL MATCH DE LA ESTRUCTURA QUE GRABARON CON LA ESTRUCTURA. APARECE LA ZBANCOS Y SE LE DA DOBLE CLIC
SELECCONAMOS PRIMERO LOS FELDER Y LE DAMOS CLIC EN SOURCE FIELDS Y BUSCAMOS LA QUE AYAMOS SELECCIONADO
Y DESPUES YA QUE LE DIMOS A TODOS CAMPOS LE DAMOS GUARDAR.
TAMBIEN PODEMOS ASIGNARLE UN VALOR
POR EJEMPLO AL PAIS SIEMPRE QUEREMOS QUE SEA MEXICO Y TENEMOS UNA OPCION DE CONSTANTE. DANDO CLICK EN EL BOTON CONSTANT.
DESPUES SE CREA UN ARCHIVO DE EXCEL Y CREAMOS UN ARCHIVO TEXTO DELIMITADO POR TABULACIONES.
MX ARV2 BANCO CURSO FERTINAL
MX SIEMPRE VIVA # 7
CIUDAD NEZA
LA NEGRA
SE SALTA EL PASO DE MAINT FIXED VALUES, TRANSACCIONES USER –DEFINIDES ROUTINES.
LEGACY DATA
LE DAMOS CLIC EN LAGCY DATA Y EN EL LAPICITO
OTRAVEZ EN LEGACY DATA Y LUEGO EN CLIC EN NUEVO
Y NOS ABRE UNA PANTALLA DONDE NOS ABRE UNA OPCION QUE DICE FILE:
LA DAMOS CLIC EN MATCHCOM Y VAMOS A BURCAR EL ARCHIVO QUE GENERAMOS CON EXCEL.
Y LE DAMOS CLICK EN ABRIR.
COPIEN EL NOMBRE DEL ARCHIVO SIN EXTENCION Y LO PONEMOS EN NAME.
QUE CONTIENE EL ARCHIVO
FILE CONTENTSDAMOS EN
DATA FOR ONE SOURCE STRUCTUCTURE
DELIMITER
TABULADOR
FILE STRUCTURE
Field order matches source structure definition (el mismo orden como tenemos la estructura)
FILE TYPE
Record end marker text file
Y LE DAMOS GUARDAR Y HACIA ATRAS
EL PASO DE ASIGNAR FILES NOMAS ENTRAMOS DOBLE EN EL Y LUEGO ESCRIBIR
EN EL LAPICITO Y DESPUES GUARDAR.
NOS QUEDAMOS EN READ DATA
En read ejecutar
Después nos pregunta que registros vamos a leer
Si fuera con cabeceralo leen apartir del 2
Y los que no tienen encabezado lo hacen apartir del 1.
Y después vamos a ver el display read data
Nos regresamos y ejecutamos
O modificamos el archivo o modificamos la estructura.
Ya que salió mal el registro.
Lo mas fácil es modificar el archivo.
Se cambia el orden del archivo conforme a la estructura para volver a darle y en read table.
Debe salir un solo registro.
El paso que sigue es el bath input
Y le damos ejecutar.
Y se genera un bath input se genera
Create batch input y se deja como estaba y después se pasa al