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 ... 8 9 [10] 11 12
136
Programación ABAP / Re: Busco función para explosionar materiales
« en: 19 de Diciembre de 2007, 05:05:48 pm »
Hasta el día de hoy la función que me dijiste me fue de maravilla. Pero por causas desconocidas con un material no me funcionaba correctamente.

Y después de buscar y buscar encontré esta otra función: CSAP_MAT_BOM_READ

Por ahora me va bien, de todas formas por si a alguien le viene bien he podido ver que las tablas que guardan las explosiones de los materiales se encuentran en las siguientes...

Código: [Seleccionar]
MAST.   " Enlace material - lista de materiales
STKO.   " Cabecera de lista de materiales
STPO.   " Posición de lista de materiales

Saludos.  ;)

137
Programación ABAP / Re: Usuario Demo para desarrollador
« en: 11 de Diciembre de 2007, 04:17:01 pm »
Hola.

No hay usuarios predefinidos para poder trabajar, te toca esperar a que te den tu usuario.

Un saludo.

138
Programación ABAP / Buscando la ejecución de un report
« en: 10 de Diciembre de 2007, 08:54:45 am »
Hola, estoy buscando un programa que ejecuté hace un tiempo.

Hay alguna transacción o algún truco para ver los últimos reports ejecutados? Un historial o algo similar?

Gracias...

139
Formularios / Re: URGENTE! ¿Cómo se dibuja un espacio en blanco?
« en: 05 de Diciembre de 2007, 01:04:28 pm »
Hola, estas trabajando con Sapscript o con Smartforms.

Me imagino que será Sapscript, puede ser que necesites en los tabuladores mas espacio, mira a ver si es eso.

140
Programación ABAP / Busco función para explosionar materiales
« en: 04 de Diciembre de 2007, 11:35:32 am »
Hola, exactamente lo que estoy buscando es una función que me de algo así:

Un material A consume un material B y este a su vez consume un material C...

Saludosss

141
Programación ABAP / Re: Problemas en la actualizacion de Datos
« en: 30 de Noviembre de 2007, 10:51:44 pm »
Hola,

Para subir el fichero plano puedes utilizar la funcion GUI_UPLOAD, te adjunto un ejemplo.

Código: [Seleccionar]
CALL FUNCTION 'GUI_UPLOAD'
 EXPORTING
   FILENAME                      = 'c:\datos.txt'  "Ruta del fichero
   FILETYPE                      = 'ASC'
   HAS_FIELD_SEPARATOR           = 'X'             "X es el tabulador como delimitador
 TABLES
   DATA_TAB                      = t_datos         "Tabla donde meto los datos del fichero
 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.

Y para sobrescribir los datos puedes utilizar la instrucción MODIFY, que lo que hace es que si ya existe algún registro con los mismos campos clave te lo sobrescribe y si no existe te crea uno nuevo.

Saludos.

142
Formularios / Re: Cajas redondeadas en formulario
« en: 30 de Noviembre de 2007, 08:29:42 am »
Muchas gracias Oscar, no se me había ocurrido.  ;D

143
Programación ABAP / Re: Excel con diferentes hojas
« en: 29 de Noviembre de 2007, 01:27:27 pm »
Hola, este es un ejemplo de como trabajar con las hojas de un excel.

Este programa lo encontré en internet y me llamó la atención, pero nunca lo he tenido que usar.

Espero que te sea de ayuda.

Código: [Seleccionar]
REPORT ztestme.

TYPE-POOLS ole2.

TABLES: bsid. "Contabilidad: índice secundario para deudores

SELECT-OPTIONS: s_kunnr FOR bsid-kunnr.

DATA: excel TYPE ole2_object,
       application TYPE ole2_object,
       books TYPE ole2_object,
       book TYPE ole2_object,
       sheet TYPE ole2_object,
       cell TYPE ole2_object,
       column TYPE ole2_object.

DATA: v_kunnr LIKE bsid-kunnr, "Nº de cliente
       v_no TYPE i,
       v_ln TYPE i,
       v_tabix LIKE sy-tabix,
       v_index LIKE sy-index,
       v_sheet(10),
       row TYPE i.

DATA: BEGIN OF itab OCCURS 10,
        index LIKE sy-index,
         kunnr LIKE bsid-kunnr, "Nº de cliente
      END OF itab.

DATA: BEGIN OF jtab OCCURS 50,
         kunnr LIKE bsid-kunnr, "Nº de cliente
         gjahr LIKE bsid-gjahr, "Ejercicio
         budat LIKE bsid-budat, "Fecha de contabilización en el documento
         wrbtr LIKE bsid-wrbtr, "Importe en la moneda del documento
      END OF jtab.

SELECT kunnr gjahr budat wrbtr
  INTO (jtab-kunnr, jtab-gjahr, jtab-budat, jtab-wrbtr)
  FROM bsid
 WHERE bukrs = '0010'
   AND kunnr IN s_kunnr
  ORDER BY kunnr.

  IF sy-subrc EQ 0.
    itab-kunnr = jtab-kunnr.
    APPEND itab.
    CLEAR itab.
    APPEND jtab.
    CLEAR jtab.
  ENDIF.
ENDSELECT.

DELETE ADJACENT DUPLICATES FROM itab.

LOOP AT itab.
  v_index = v_index + 1.
  itab-index = v_index.
  MODIFY itab TRANSPORTING index.
ENDLOOP.

DELETE itab WHERE index > 3.

IF NOT itab[] IS INITIAL.
  CREATE OBJECT excel 'EXCEL.SHEET'.
  GET PROPERTY OF excel 'Application'    = application.
  SET PROPERTY OF application 'Visible'  = 1.
  CALL METHOD OF application 'Workbooks' = books.
  CALL METHOD OF books 'Add' = book.


  LOOP AT itab.
    v_sheet = itab-kunnr.
    v_no = v_no + 1.  row = 1.
    PERFORM fill_sheet USING v_no v_sheet.
  ENDLOOP.

  FREE OBJECT:  column,  sheet,  book,  books,  application,
                excel NO FLUSH.

  CALL FUNCTION 'FLUSH'.

ENDIF.

*&---------------------------------------------------------------------*
*& Form FILL_SHEET
*&---------------------------------------------------------------------*
FORM fill_sheet USING v_no v_sheet.

  CALL METHOD OF book 'worksheets' = sheet NO FLUSH EXPORTING #1 = v_no.
  SET PROPERTY OF sheet 'Name'  = v_sheet no flush.
  LOOP AT jtab WHERE kunnr = v_sheet.
    PERFORM fill_cell USING row 1 jtab-kunnr.
    PERFORM fill_cell USING row 2 jtab-gjahr.
    PERFORM fill_cell USING row 3 jtab-budat.
    PERFORM fill_cell USING row 4 jtab-wrbtr.
    row = row + 1.
  ENDLOOP.

  CALL METHOD OF sheet 'Columns' = column NO FLUSH.
  FREE OBJECT sheet NO FLUSH.
  CALL METHOD OF column 'Autofit' NO FLUSH.
  FREE OBJECT column NO FLUSH.

  CALL FUNCTION 'FLUSH'.

ENDFORM. " FILL_SHEET

*&---------------------------------------------------------------------*
*& Form FILL_CELL
*&---------------------------------------------------------------------*
FORM fill_cell USING row col val.

  CALL METHOD OF sheet 'cells' = cell NO FLUSH
    EXPORTING #1 = row #2 = col.
  SET PROPERTY OF cell 'value'  = val.
  FREE OBJECT cell NO FLUSH.

ENDFORM. " FILL_CELL


144
Formularios / Cajas redondeadas en formulario
« en: 29 de Noviembre de 2007, 08:41:01 am »
Hola,

Aunque me parece que la respuesta va a ser negativa, por si las moscas la pregunto.

Hay alguna manera de hacer las cajas de un formulario con las esquinas redondeadas?
 ???
Gracias...

145
Programación ABAP / Re: Consulta job
« en: 21 de Noviembre de 2007, 06:37:26 pm »
Hola,

Si fuese del catalogo del ALV puedes utilizar esto:
Código: [Seleccionar]
  outputlen = '10'.
  fieldcat_ln-outputlen = outputlen.

146
Programación ABAP / Re: Diferencia hay entre WS_DOWNLOAD y GUI_DOWNLOAD
« en: 13 de Noviembre de 2007, 05:02:51 pm »
La función WS_DOWNLOAD esta obsoleta, aunque sigue funcionando ahora se debe utilizar la GUI_DOWNLOAD.

La nueva versión tiene algunas opciones mas en las entradas y salidas como parámetros.


Un saludo.

147
Programación ABAP / Re: Cambiar el color de cada mandante
« en: 13 de Noviembre de 2007, 01:30:47 pm »
En el último icono de la pantalla inicial de sap, el que parece una carta de ajuste, abres el desplegable y se cambia donde dice... FIJAR COLOR EL SISTEMA.

Anteriormente tendrás que cambiar el color en la opción de encima... DISEÑO VISUAL NUEVO

148
Basis / Re: Backup de programas 'Z'
« en: 13 de Noviembre de 2007, 01:29:26 pm »
Muchas gracias oscar.  ;)

Buscando por internet encontré este programa de Alvaro (Blag) en el siguiente enlace:

http://atejada.blogspot.com/2006/10/backup-de-programas-en-abap.html


**************************************************************
* Programa : Z_PROGRAMS_DOWNLOAD.                            *
* Módulo : BC - Basis.                                       *
* Consultor ABAP : Alvaro Tejada Galindo.                    *
* February 14, 2006 12:33:22 PM                              *
**************************************************************

REPORT z_dummy_atg NO STANDARD PAGE HEADING.

*=============================================================
* VARIABLES
*=============================================================
DATA: fullname(30) TYPE c,
one LIKE pcfile-drive,
two LIKE pcfile-path,
filepath(128) TYPE c.

DATA: app_name TYPE string,
ddtext_name TYPE string,
dummy TYPE string,
include_name TYPE string.

*=============================================================
* TABLAS INTERNAS
*=============================================================
DATA: BEGIN OF source_table OCCURS 0,
linea(150) TYPE c.
DATA: END OF source_table.

DATA: BEGIN OF include_table OCCURS 0,
linea(150) TYPE c.
DATA: END OF include_table.

DATA: BEGIN OF dynpro_table OCCURS 0,
linea(250) TYPE c.
DATA: END OF dynpro_table.

DATA: BEGIN OF t_trdir OCCURS 0,
name LIKE trdir-name,
END OF t_trdir.

DATA: BEGIN OF t_log OCCURS 0,
error TYPE string,
END OF t_log.

DATA: data_ddtext TYPE STANDARD TABLE OF textpool
WITH HEADER LINE.

*=============================================================
* SELECTION-SCREEN
*=============================================================
SELECTION-SCREEN BEGIN OF BLOCK test WITH FRAME.
PARAMETERS:
prgname LIKE trdir-name,
listname LIKE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK test.

*=============================================================
* AT SELECTION-SCREEN
*=============================================================
AT SELECTION-SCREEN ON VALUE-REQUEST FOR listname.
  PERFORM get_filename CHANGING listname.

*=============================================================
* START-OF-SELECTION
*=============================================================
START-OF-SELECTION.
  PERFORM load_data.

  IF NOT t_log[] IS INITIAL.
    WRITE: 'se encontraron los siguientes errores: '.
  ENDIF.

  ULINE.
  SKIP 1.

  LOOP AT t_log.
    WRITE:/ t_log-error.
  ENDLOOP.

*———————————————————–*
* FORM GET_FILENAME  *
*———————————————————–*
FORM get_filename CHANGING listname.

  CALL FUNCTION 'ws_filename_get'
    EXPORTING
      def_filename     = listname
      def_path         = 'c:\downloads\lista'
      mask             = ',*.*,*.*. '
      mode             = 's'
      title            = 'guardar en'
    IMPORTING
      filename         = listname
    EXCEPTIONS
      inv_winsys       = 1
      no_batch         = 2
      selection_cancel = 3
      selection_error  = 4
      OTHERS           = 5.

ENDFORM.                    "GET_FILENAME

*———————————————————–*
* FORM LOAD_DATA     *
*———————————————————–*
FORM load_data.

  DATA: w_file LIKE pcfile-path.
  w_file = listname.
  CALL FUNCTION 'pc_split_complete_filename'
    EXPORTING
      complete_filename = w_file
    IMPORTING
      drive             = one
      path              = two
    EXCEPTIONS
      invalid_drive     = 1
      invalid_extension = 2
      invalid_name      = 3
      invalid_path      = 4
      OTHERS            = 5.
  CONCATENATE one ':' two INTO filepath.

  CONCATENATE prgname '%' INTO fullname.

  SELECT name
  INTO TABLE t_trdir
  FROM trdir
  WHERE name LIKE fullname.

  IF sy-subrc EQ 0.
    PERFORM fill_list.

    PERFORM download_apps.
  ENDIF.

ENDFORM.                    "LOAD_DATA

*———————————————————–*
* FORM FILL_LIST     *
*———————————————————–*
FORM fill_list.

  CALL FUNCTION 'ws_download'
    EXPORTING
      filename            = filepath
      filetype            = 'asc'
    TABLES
      data_tab            = t_trdir
    EXCEPTIONS
      file_open_error     = 1
      file_write_error    = 02
      invalid_filesize    = 03
      invalid_table_width = 04
      invalid_type        = 05
      no_batch            = 06
      unknown_error       = 07.

ENDFORM.                    "FILL_LIST

*————————————————————————*
* FORM FILL_LIST_INCLUDE *
*————————————————————————*
FORM fill_list_include.

  CONCATENATE filepath 'includes.txt' INTO listname.

  CALL FUNCTION 'ws_download'
    EXPORTING
      filename            = listname
      filetype            = 'asc'
      mode                = 'a'
    TABLES
      data_tab            = include_table
    EXCEPTIONS
      file_open_error     = 1
      file_write_error    = 02
      invalid_filesize    = 03
      invalid_table_width = 04
      invalid_type        = 05
      no_batch            = 06
      unknown_error       = 07.

ENDFORM.                    "FILL_LIST_INCLUDE

*&———————————————————-*
*& Form DOWNLOAD_APPS *
*&———————————————————-*
FORM download_apps.

  LOOP AT t_trdir.
    CLEAR: app_name, include_name.

    REFRESH: source_table.
    CLEAR: source_table.

    READ REPORT t_trdir-name INTO source_table.
    READ TEXTPOOL t_trdir-name INTO data_ddtext LANGUAGE sy-langu.

    CONCATENATE filepath t_trdir-name '.abp' INTO app_name.
    CONCATENATE filepath t_trdir-name '_ddtext.txt'
    INTO ddtext_name.

    PERFORM download_form USING app_name.
    PERFORM download_ddtext USING ddtext_name.

    LOOP AT source_table.
      SEARCH source_table-linea FOR 'include'.
      IF sy-subrc EQ 0.

        IF source_table-linea+0(8) NE 'include'.
          CONTINUE.
        ENDIF.

        CLEAR include_name.

        SPLIT source_table-linea AT space
        INTO dummy include_name.
        SPLIT include_name AT '.'
        INTO include_name dummy.

        REFRESH: source_table.
        CLEAR: source_table.

        MOVE include_name TO include_table.
        READ TABLE include_table WITH KEY linea = include_table.
        IF sy-subrc NE 0.
          APPEND include_table.
        ENDIF.

        READ REPORT include_table INTO source_table.

        IF sy-subrc EQ 0.
          CONCATENATE filepath include_name '.abp'
          INTO include_name.
          PERFORM download_form USING include_name.
          PERFORM fill_list_include.
        ENDIF.

      ENDIF.
    ENDLOOP.

  ENDLOOP.

ENDFORM.                    "DOWNLOAD_APPS

*———————————————————–*
* FORM DOWNLOAD_FORM *
*———————————————————–*
FORM download_form USING app_name.

  CALL FUNCTION 'gui_download'
    EXPORTING
      filename         = app_name
      filetype         = 'asc'
    TABLES
      data_tab         = source_table
    EXCEPTIONS
      file_write_error = 1
      no_batch         = 2
      invalid_type     = 4
      no_authority     = 5
      unknown_error    = 6
      file_not_found   = 19
      OTHERS           = 22.

  IF sy-subrc NE 0.
    t_log-error = app_name.
    APPEND t_log.
  ENDIF.

ENDFORM.                    "DOWNLOAD_FORM

*———————————————————–--*
* FORM DOWNLOAD_DDTEXT *
*———————————————————–--*
FORM download_ddtext USING ddtext_name.

  CALL FUNCTION 'gui_download'
    EXPORTING
      filename         = ddtext_name
      filetype         = 'asc'
    TABLES
      data_tab         = data_ddtext
    EXCEPTIONS
      file_write_error = 1
      no_batch         = 2
      invalid_type     = 4
      no_authority     = 5
      unknown_error    = 6
      file_not_found   = 19
      OTHERS           = 22.

  IF sy-subrc NE 0.
    t_log-error = ddtext_name.
    APPEND t_log.
  ENDIF.

ENDFORM.                    "DOWNLOAD_DDTEXT



149
Basis / Backup de programas 'Z'
« en: 13 de Noviembre de 2007, 11:49:46 am »
Hola, queremos hacer un Backup de nuestros programas y funciones 'Z'.

¿Me podéis aconsejar?

Gracias.

150
Programación ABAP / Re: Copiar Variante
« en: 06 de Noviembre de 2007, 05:47:43 pm »
Buahhhhhhhhhh....

Muchas gracias... me viene de pelas.

Gracias...  ;D

Páginas: 1 ... 8 9 [10] 11 12