Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Carlos

Páginas: 1 [2] 3 4 ... 12
16
Programación ABAP / Re:Leer Bascula / puerto serial
« en: 11 de Abril de 2014, 09:31:05 am »
Entiendo que los datos van a ser grabados en SAP, por lo que yo pienso que todo lo que vaya directamente a SAP será mejor que andar dando vueltas por distintas máquinas o procesos.

Leer de una tabla SQL directamente tampoco estaría mal, pero entiendo que SAP será el que ordena o lanza el proceso de la pesada, y ya estamos trabajando con dos sistemas distintos. ¿no?

Al final creo que si todo se hace directamente con SAP mucho mejor.


Saludos,


17
Formularios / Re:Curso de smart forms
« en: 30 de Enero de 2014, 08:45:42 am »
Me ha encantado el curso de Smartforms, muy completo y muy bien explicado, no le falta detalle.


Gracias por el aporte. Saludos!  ;)

18
Programación ABAP / Re:Transaccion ME21n
« en: 23 de Mayo de 2013, 10:28:09 am »
Prueba con esta EXIT...

MM06E005 > EXIT_SAPMM06E_012 > ZXM06U43     


Saludos.

19
Programación ABAP / Re:LAYOUT en pantalla de selección
« en: 26 de Abril de 2013, 09:12:29 am »
Hola,

Ese campo esta definido en este INCLUDE que puedes añadir al programa.

Aquí tienes el enlace... Include ZALV


Saludos

20
Programación ABAP / Re:generar txt con campos separados por '|'
« en: 11 de Enero de 2013, 12:29:13 pm »
Hola Marisol,

Lo que veo es que tu tabla gt_campos esta declarada con un solo campo.


DATA: BEGIN OF gt_campos,
      campos(100) TYPE c,
END OF gt_campos.



Para que la función SAP_CONVERT_TO_TEX_FORMAT te reconozca los campos y pueda separarlos yo creo que tendría que declararse de esta otra manera. No digo que esta misma tabla la tengas que declarar así, pero igual es montarte otra tabla para luego pasarsela de esta manera a la función.


DATA: BEGIN OF gt_campos OCCURS 0.
  DATA: tabla(20),
        campos(60),
        condicion(100).
DATA: END OF gt_campos.




¿Nos cuentas que tal te fue?


Un saludo.


21
Programación ABAP / Re:Función CONVERT_DATE_TO_INTERNAL a partir del 2013
« en: 08 de Enero de 2013, 05:25:36 pm »
Hola,


SAP piensa que le estas pasando la fecha en formato externo...

* 2012 -> 12 (entiende que estamos en el mes 12)
* 2013 -> 13 (SAP piensa que estamos en el mes 13 ¡¡ERROR de formato, el mes 13 no existe!!)

La solución para esto sería pasarle la fecha en formato externo directamente y de esta forma SAP convertira luego la fecha a su formato interno.

Para ello cuando vayas a llamar a la función CSAP_MAT_BOM_READ convierte la fecha antes a su formato externo con la siguiente función CONVERT_DATE_TO_EXTERNAL.


En principio es lo que se me ocurre, ya nos cuentas si se te ocurre alguna otra idea.


22
ALV / Re:Quick Info en ALV
« en: 05 de Diciembre de 2012, 12:07:03 pm »
Hola, mírate este programa... BCALV_DEMO_TOOLTIP

Saludos!

23
Reports / Duplicidad en tabla EKKI
« en: 05 de Diciembre de 2012, 12:06:08 pm »
Cuando nos pega un DUMP por duplicidad en la tabla EKKI... SAPSQL_ARRAY_INSERT_DUPREC

Se le puede pasar este programa 'Z' para eliminar esos registros. Se le indica el pedido que da problemas y listo.




*&---------------------------------------------------------------------*
*& Report  ZZEKKI01
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Title: Delete EKKI records for items before correction              *
*&---------------------------------------------------------------------*

REPORT zzekki01.

TABLES: ekki, komk, ekko.

PARAMETERS: p_ebeln LIKE ekko-ebeln.

DATA: tekki LIKE ekki OCCURS 0 WITH HEADER LINE.
DATA: tkomv LIKE komv OCCURS 0 WITH HEADER LINE.

CHECK NOT p_ebeln IS INITIAL.
SELECT SINGLE * FROM  ekko
       WHERE  ebeln       = p_ebeln        .
CHECK sy-subrc EQ 0.
CHECK ( ekko-bstyp EQ 'F' OR ekko-bstyp EQ 'L' ) AND
      ekko-stako EQ space AND ekko-knumv NE space.
REFRESH tekki.
CLEAR komk.
komk-knumv = ekko-knumv.
CALL FUNCTION 'RV_KONV_SELECT'
  EXPORTING
    comm_head_i  = komk
    general_read = 'X'
  TABLES
    tkomv        = tkomv.

LOOP AT tkomv WHERE kntyp EQ 'B'.
  CLEAR tekki.
  tekki-mandt = sy-mandt.
  tekki-eknty = 'B'.
  tekki-klief = tkomv-lifnr.
  tekki-lifnr = ekko-lifnr.
  tekki-reswk = ekko-reswk.
  tekki-ebeln = ekko-ebeln.
  tekki-ebelp = tkomv-kposn.
  tekki-knumv = ekko-knumv.
  READ TABLE tekki.
  IF sy-subrc NE 0.
    APPEND tekki.
  ENDIF.
ENDLOOP.

DESCRIBE TABLE tekki LINES sy-tfill.
IF sy-tfill GT 0.
  DELETE ekki FROM TABLE tekki.
ENDIF.





24
ALV / Re:Posicionar cursor de un alv_grid_display
« en: 28 de Agosto de 2012, 03:10:32 pm »
Hola Mario,

Creo que esto es lo que buscas... http://www.abap.es/foro/index.php?topic=5486.msg6827#msg6827


Saludos!

25
Programación ABAP / Re:MiniSAP En Pocos Minutos
« en: 15 de Marzo de 2012, 04:32:54 pm »
Muchas gracias por compartirlo... lo chequearé a ver que tal.  ;)

26
Programación ABAP / Re:Modificar Tabla Z con Tabla interna con cabecera?
« en: 10 de Febrero de 2012, 12:32:45 pm »
Hola, que tal estas?

Veo cosas raras en el código... pero según intuyo lo que quieres hacer aquí te dejo el codigo.

Observa los cambios y nos cuentas que tal.


TABLES: ztfacturas.

DATA: BEGIN OF st_facturas OCCURS 0,
      idfactura     TYPE ztfacturas-idfactura,
      idcliente     TYPE ztfacturas-idcliente,
      fechafact     TYPE ztfacturas-fechafact,
      importe       TYPE ztfacturas-importe,
      moneda        TYPE ztfacturas-moneda,
      fechapago     TYPE ztfacturas-fechapago,
      END OF st_facturas.




*Leemos la tabla de la BBDD...
SELECT SINGLE * FROM ztfacturas
               WHERE idfactura = 5
                 AND idcliente = 3.
IF sy-subrc = 0.
*...y la pintamos.
  WRITE:/ ztfacturas-idfactura,
          ztfacturas-idcliente,
          ztfacturas-fechafact,
          ztfacturas-importe,
          ztfacturas-moneda,
          ztfacturas-fechapago.

  SKIP 3.


  SELECT * FROM ztfacturas INTO TABLE st_facturas.
  SORT st_facturas BY idfactura idcliente.

  READ TABLE st_facturas WITH KEY idfactura = 5
                                  idcliente = 3
                           BINARY SEARCH.

  IF sy-subrc EQ 0.
    st_facturas-fechafact = '20120208'.
    st_facturas-importe   = '200,00'.
    st_facturas-moneda    = 'EUR'.
    st_facturas-fechapago = '20120208'.

    WRITE:/ st_facturas-idfactura,
            st_facturas-idcliente,
            st_facturas-fechafact,
            st_facturas-importe,
            st_facturas-moneda,
            st_facturas-fechapago.

    MOVE-CORRESPONDING st_facturas TO ztfacturas.
    MODIFY ztfacturas.
  ENDIF.

  SKIP 3.

  FORMAT COLOR 4.
  WRITE 'AHORA CON LOS CAMBIOS'.
  SKIP 2.

* Tienes que volver a leer la tabla de la BBDD.
  SELECT SINGLE * FROM ztfacturas
                 WHERE idfactura = 5
                   AND idcliente = 3.

* ...y pintarla
  WRITE:/ ztfacturas-idfactura,
          ztfacturas-idcliente,
          ztfacturas-fechafact,
          ztfacturas-importe,
          ztfacturas-moneda,
          ztfacturas-fechapago.



Un saludo.



27
Programación ABAP / Re:PROBLEMA CON CALL TRANSACTION IW29
« en: 24 de Enero de 2012, 10:03:12 am »
Hola...

Cambia la línea que remarco en rojo por la que te pongo en color verde.


          TABLA-FNAM = 'DATUB'.
          TABLA-FVAL = ' '.
          APPEND TABLA.
          CLEAR TABLA.

          SET PARAMETER ID 'IQM' FIELD t_gnl-qmnum.
          SET PARAMETER ID 'DATUV' FIELD ' '.

*         SET PARAMETER ID 'DATUB' FIELD '31.12.9999'.
          SET PARAMETER ID 'DATUB' FIELD ' '.

        CALL TRANSACTION 'IW29' USING TABLA.
        MESSAGE s398(00) DISPLAY LIKE 'S' WITH 'Actualización exitosa'.


      ELSEIF t_gnl-qmart eq 'PQ'.
        SET PARAMETER ID 'IQM' FIELD t_gnl-qmnum.
        CALL TRANSACTION 'QM03' AND SKIP FIRST SCREEN.
      ENDIF.
      ENDIF.




Saludos!

28
Programación ABAP / Re:Metodos Avanzados de Debug
« en: 28 de Diciembre de 2011, 05:29:02 pm »
Te paso un ejemplo sencillo de un Field Symbol... y remarco en rojo lo mas importante.



  DATA: lf_var(30).
  DATA: lf_num TYPE n.

  DATA: BEGIN OF gt_ficha OCCURS 1.
          INCLUDE STRUCTURE ficha .
  DATA: END OF gt_ficha.

  FIELD-SYMBOLS <var> TYPE ANY.


  CLEAR gt_ficha.  REFRESH gt_ficha.
  CALL FUNCTION 'Z_FICHAS'
    EXPORTING
      pernr    = p_pernr
      ldate    = p_datum
    TABLES
      gt_teven = gt_ficha.


  LOOP AT gt_ficha.
    ADD 1 TO lf_num.
    CONCATENATE 'gf_f' lf_num INTO lf_var.

    ASSIGN (lf_var) TO <var>.
    MOVE gt_ficha-ltime TO <var>.


    IF lf_num = 9.
      EXIT.
    ENDIF.
  ENDLOOP.

  MOVE gt_ficha-ldate TO ficha-ldate.


Sobre los registros de cabecera, no se que comentarte. No es que sirvan o no sirvan, son formas de trabajar diferentes. Hay gente que se acostumbra a trabajar con las cabeceras en las tablas internas y otros utilizan Work Areas en su lugar.

Aquí tienes +Info
http://www.abap.es/foro/index.php?topic=178.0

Saludos.






29
Programación ABAP / Re:Recuperar atributos de un fichero
« en: 15 de Septiembre de 2011, 06:19:44 pm »
Hola, puedes utilizar la función ADS2KIPUPL_GET_FILE_ATTRIBUTES.


Ejemplo:

  DATA: lf_filepath TYPE  string.
  DATA: lf_date(10).

      CONCATENATE gf_dir_name gf_file_name INTO lf_filepath.

      CALL FUNCTION 'ADS2KIPUPL_GET_FILE_ATTRIBUTES'
        EXPORTING
          i_filepath          = lf_filepath
        IMPORTING
          e_modification_date = lf_date
        EXCEPTIONS
          failed              = 1
          OTHERS              = 2.

30
Programación ABAP / Re:Evento doble clic con ALV en clases
« en: 14 de Septiembre de 2011, 10:24:52 am »
Te pego un ejemplo, como verás le puedes pasar valores a la transacción.



*---------------------------------------------------------------------*
*       FORM user_command                                             *
*---------------------------------------------------------------------*
*       Interprete de comandos para las opciones no estándar de
* usuario sobre el listado
*---------------------------------------------------------------------*

FORM user_command USING r_ucomm LIKE sy-ucomm
                    rs_selfield TYPE slis_selfield.

  DATA: lf_ebeln    LIKE vfkp-ebeln.

  CASE r_ucomm.
    WHEN '&IC1'.
      CASE rs_selfield-fieldname.
        WHEN 'VBELN'.
          CHECK NOT rs_selfield-value IS INITIAL.

          SET PARAMETER ID 'AUN' FIELD rs_selfield-value.
          CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.

        WHEN 'ENTREGA'.
          CHECK NOT rs_selfield-value IS INITIAL.

          SET PARAMETER ID 'VL' FIELD rs_selfield-value.
          CALL TRANSACTION 'VL03N' AND SKIP FIRST SCREEN.

        WHEN 'TKNUM'.
          CHECK NOT rs_selfield-value IS INITIAL.

          SET PARAMETER ID 'TNR' FIELD rs_selfield-value.
          CALL TRANSACTION 'VT03N' AND SKIP FIRST SCREEN.

        WHEN 'FKNUM'.
          CHECK NOT rs_selfield-value IS INITIAL.

          SET PARAMETER ID 'FKK' FIELD rs_selfield-value.
          CALL TRANSACTION 'VI03' AND SKIP FIRST SCREEN.

        WHEN 'TDLNR'.
          CHECK NOT rs_selfield-value IS INITIAL.

          SET PARAMETER ID 'LIF' FIELD rs_selfield-value.
          SET PARAMETER ID 'KDY' FIELD '/130/380/110/120'.
          CALL TRANSACTION 'MK03'  AND SKIP FIRST SCREEN.

      ENDCASE.
  ENDCASE.

ENDFORM.                    "user_command



 ;)

Páginas: 1 [2] 3 4 ... 12