Manual de debugging

Buenas tardes,

Como he comentado anteriormente en mi presentación es que soy un consultor muy funcional.

El tema del debugging es muy necesario para pode detectar errores y ser autónomo sin depender de un programador para hacer un análisis del problema.

He visto manuales sobre programación Abap, pero ni hay ningún manual especifico de Debbuing para funcionales que yo conozca, podríais pasarme alguno por favor?

Muchas gracias de antemano.

Joan

1 me gusta

Muy buena tu intencion, pero digamos que pasas por un loop, y luego ves un read table. que haras para sanear el error? mi punto es que el debugging es para los programadores precisamente. Es una herramienta de mucha ayuda pero para depurar los codigos, en si, un debugging no es log de mensajes de errores, asi que en tu condicion de funcional, podras ver algun error que aprendas a reconocer con el debugging, pero vas a perder mas tiempo tratando de decifrar el error, y luego descubriras que necesitas de un lector de codigos (ABAP).

Opciones que aconcejo, aprende un poco de cprogramacion abap, y conjuntamente podras ir usando el debugging.

3 Me gusta

Buenos dias chicos os pondre un ejemplo a mi me gustaria saber como interpretar este codigo por ejemplo y saber que hace:

CLEAR it_mkpf_mseg.
REFRESH it_mkpf_mseg.
SELECT * FROM wb2_v_mkpf_mseg2 INTO TABLE it_mkpf_mseg WHERE
  matnr_i = material_sap AND
  werks_i = centro_io AND
  lgort_i = almacen AND
  ( insmk_i = 'F' OR
  insmk_i EQ space ).

LOOP AT it_mkpf_mseg.
  IF it_mkpf_mseg-bldat > sy-datum.
    CASE it_mkpf_mseg-shkzg_i.
      WHEN 'S'. cantidad_futura = cantidad_futura + it_mkpf_mseg-menge_i.
      WHEN 'H'. cantidad_futura = cantidad_futura - it_mkpf_mseg-menge_i.
    ENDCASE.
  ENDIF.


  IF a_fecha NE sy-datum.

    IF it_mkpf_mseg-bldat > a_fecha AND it_mkpf_mseg-bldat <= sy-datum.
      CASE it_mkpf_mseg-shkzg_i.
        WHEN 'S'. cantidad_entre_fechas = cantidad_entre_fechas + it_mkpf_mseg-menge_i.
        WHEN 'H'. cantidad_entre_fechas = cantidad_entre_fechas - it_mkpf_mseg-menge_i.
      ENDCASE.
    ENDIF.
  ENDIF.


ENDLOOP.

Excelente, esa parte es plenamente abap, debes ir por los libros ABAP.
Ahora si, no es el debugging lo que necesitas, es aprender abap. aunque sea lobasico. Pero el debugging es avanzado, sin enbargo podras ver codigos como esos. Te recomiendo los BC de SAP para aprender a programar.

A que te refieres con los BC de sap?

Son libros que te enseñan a programar abap, con ejemplo y todo. Asi podras practicar un poco, porque necesitaras realizar algunos programas, para que te quede mas claro lo que hace el lenguaje abap. Tambien hay otros libros abap que te podran servir de ayuda.

Tienes como practicar, tu user, tiene privilegios para debuging, y para crear programas?

Por si te sirve de ayuda…

CLEAR it_mkpf_mseg.

Limpia la cabecera de la tabla o limpia la estructura.

REFRESH it_mkpf_mseg.

Libera la tabla. la deja en cero.
SELECT * FROM wb2_v_mkpf_mseg2 INTO TABLE it_mkpf_mseg WHERE matnr_i = material_sap AND werks_i = centro_io AND lgort_i = almacen AND ( insmk_i = 'F' OR insmk_i EQ space ).

Esto es una seleccion de datos, una extraccion de datos de la base de datos.

LOOP AT it_mkpf_mseg. IF it_mkpf_mseg-bldat &gt; sy-datum. CASE it_mkpf_mseg-shkzg_i. WHEN 'S'. cantidad_futura = cantidad_futura + it_mkpf_mseg-menge_i. WHEN 'H'. cantidad_futura = cantidad_futura - it_mkpf_mseg-menge_i. ENDCASE. ENDIF.

Esto es un bucle, algo que da vueltas, es mas parecido al do while. y dentro hay una bifurcacion y un caso de uso.

IF a_fecha NE sy-datum.

Esto es una bifurcacion, asi se pregunta. y ya luego tienes un cierre de bucle. endloop.

Todo eso y mas, lo aprendes estudiando ABAP.

3 Me gusta

@smota te lo ha dicho todo @joanrojo…cuando estés haciendo el debug te vas a conseguir con muchas sentencias de código que vas a quedar en blanco si no conoces algo de abap !!

y así como pusiste varias sentencias de ejemplo, podrás ver muchas mas y vas a tener la duda cada vez que veas algo nuevo, porque son muchas mas las cosas que podrás ver

No es difícil el lenguaje por lo que veo… me doy cuenta que es una gran ventaja ser programador Cobol :smile:

1 me gusta

es que hasta donde tengo entendido abap viene de cobol…y abap es estructurado !!

Pero de verdad no hay ningun maual de debbugin? con todas las sentacias principales para que me haga una idea de lo que hace el programa y pueda leer abap… :frowning:

Mas que un manual de debbug @joanrojo y como ya comentaron lo mejor es que aprendas algo de abap.
Y ya que estamos con eso, alguien tiene un manual de ABAP para comenzar a conocer este nuevo mundillo en SAP que pudiera compartir? :grin:

Oye yo nunca he visto ningún manual…acá no se si lo tengan !! es como te mencionamos por acá, para entender el debug vas a tener que saber abap !! ahora si sabes abap y lo que quieres es hacer algo en especifico comenta a ver en que te podemos ayudar !!

@joanrojo no hay manuales de debugging para lo que quieres realizar.

Te sirve mas un manual de ABAP. y aun sin debugging vas a poder entender que hacen los programas, ademas no les tengas miedos a los abapers que te ayudan, miralo asi, ellos no saben de configuraciones y tu no sabes de abap, estan a mano. Si sientes que te esta barajando o rebotando los soporte, trata de conseguir un mejor abap, o alguien de confianza que si sepa. Pero en tu perfil funcional no ayuda el conocimiento abap.

1 me gusta

Y agrego que cuando dice esto:

CASE it_mkpf_mseg-shkzg_i.
WHEN ‘S’. cantidad_entre_fechas = cantidad_entre_fechas + it_mkpf_mseg-menge_i.
WHEN ‘H’. cantidad_entre_fechas = cantidad_entre_fechas - it_mkpf_mseg-menge_i.
ENDCASE.

lo que està haciendo es decir en Caso que sea S que haga tal cosa y en caso que sea H otra y si distinto que no haga nada.
Pero como dice Smota te conviene aprender un poco de ABAP para entender fàcilmente estos debugs.

Saludos!

1 me gusta

Gracias Koken por tus comentarios :smile:

Este tema se cerró automáticamente 30 días después de la última publicación. No se permiten nuevas respuestas.