viernes, 3 de enero de 2014

UML - Diagrama de Secuencias en la herramienta Enterprise Architect

Este es un pequeño y simple ejemplo de un diagrama de secuencias hecho en Enterprise Architect. Espero que les sirva. Saludos!

Primera parte:

Segunda parte:

miércoles, 4 de mayo de 2011

Siete secretos de la innovación, por Steve Jobs

Fuente: LaNacion.com - Martes 3 de mayo de 2011
Comentario personal: Me parece que a estos puntos le falta uno que diga "Sea Visionario!" que es una virtud innata de la que sólo algunos privilegiados como Jobs pueden gozar.
Steve Jobs es, sin duda, un personaje controversial, aunque respetado hasta por sus detractores más feroces. En primer lugar, por haber creado de la nada a Apple y luego por haberla rescatado y transformado en una de las empresas más innovadoras del mundo.
Lo cierto es que, por más creativo que sea, el hombre no improvisa sino que se atiene rigurosamente a su propio credo innovador. Varios libros han analizado, en mayor o menor profundidad, el "modelo Apple" y los métodos que utiliza Jobs para conducir su empresa. Uno de ellos es "Innovación: 100 consejos para inspirarla y gestionarla", en el que Enric Barba presenta siete principios clave que utiliza Jobs. Estos son los siete mandamientos de Apple:
1- Haga lo que le apasione. la pasión es la clave del genio. Jobs descubrió en su propia experiencia cómo alinear el trabajo con los propios gustos e intereses redunda en mayor energía, creatividad, constancia y resistencia a la adversidad. Si no está trabajando en algo que le guste y no puede cambiar eso a corto plazo, dé pasos que lo lleven con el tiempo a trabajar en algo que le sea más agradable. Si lidera personas, asegúrese de ubicar a cada uno en la tarea que más ajusta a sus habilidades y preferencias. Es la forma de sacar lo mejor de cada uno.
2- Cree una visión. Las visiones inspiran y motivan. Nos llevan a pensar en grande, a superar los límites y ayudan a liderar y unir los grupos de trabajo y darles un sentido de dirección y pertenencia. Jobs fue comparado muchas veces con un evangelizador, más que como un hombre de negocios. Puede estar lanzando un reproductor de audio o un nuevo teléfono, pero en su discurso parecerá que está cambiando al mundo. Y de hecho, lo está haciendo.
3- Reactive su cerebro. Hágase las preguntas que no se hace nadie. ¿Por qué? ¿Qué pasaría si.? Conecte aquello que parece disociado. Jobs vivió siempre en la frontera entre la tecnología y la cultura. Es un apasionado del diseño y la estética, y aplica permanentemente esa sensibilidad al desarrollo de productos electrónicos de consumo. Además los productos de Apple en los últimos años son excepcionales muestras de hibridización. Combinar telefonía, reproducción de audio, video, navegación web, etc. es la forma en que ha buscado dar a sus dispositivos una ventaja.
4- Venda sueños, no productos. Ayude a sus clientes a mejorar sus vidas con sus productos. Después de todo, es eso lo que ellos persiguen. No están enamorados de su empresa, sino de sus propias aspiraciones y deseos. Ayúdelos a alcanzarlos. Por ejemplo: la capacidad de edición de música y video que traen las computadoras Apple es importante sólo porque permite que el cliente se exprese creativamente, aunque no sea un profesional. El resto son detalles técnicos.
5- Mantenga el foco. Diga que no a 1000 cosas. La verdadera pregunta que debemos hacernos todo el tiempo es: ¿por qué me comprarían este producto? Todo lo que no lleve a responderla satisfactoriamente puede y debe ser eliminado. El resto no crea valor, dispersa energía. Elimine los productos no rentables de su portfolio y concéntrese en los más interesantes. En los negocios, la efectividad es hija de la concentración.
6- Brinde una gran experiencia. Preste atención no sólo al producto sino a la experiencia que provoca en el cliente, desde el momento mismo en que lo adquiere. Cuide el entorno en que ofrece sus productos, brinde un gran servicio, haga que el proceso de compra sea fácil y práctico para el cliente. Permita que experimenten su producto antes de comprarlo.
7- Comunique efectivamente. Que todos sepan que tiene un gran producto. Diga las cosas de forma sencilla. En una presentación no transmita más de tres ideas. Explique con dibujos y utilice historias. La comunicación es casi tan importante como el producto. Después de todo, ¿de qué sirve haber creado el mejor producto si no sabemos comunicarlo?

miércoles, 27 de abril de 2011

Algunas Funciones obsoletas en SAP y sus reemplazos...

NAMETAB_GET
DDIF_FIELDINFO_GET
CALL FUNCTION 'NAMETAB_GET'
    
EXPORTING
      langu               = pvi_langu
      tabname             = pvi_gstru
    
TABLES
      nametab             = pvi_wa_nametab
    
EXCEPTIONS
      internal_error      = 
01
      table_has_no_fields = 
03
      table_not_activ     = 
04.

CALL FUNCTION 'DDIF_FIELDINFO_GET'
   
EXPORTING
      tabname   = pvi_gstru
      langu     = pvi_langu
   
TABLES
      dfies_tab = pvi_wa_nametab
    EXCEPTIONS
      others      = 
00.
WS_EXECUTE
cl_gui_frontend_services=>execute
CONCATENATE lv_path '\test.xls' INTO commandline.

  
CALL FUNCTION 'WS_EXECUTE'
    
EXPORTING
      commandline    = commandline
      
program        'EXCEL.EXE'
    
EXCEPTIONS
      frontend_error = 
1
      no_batch       = 
2
      prog_not_found = 
3
      illegal_option = 
4
      
OTHERS         5.
      CALL METHOD cl_gui_frontend_services=>execute
    
EXPORTING
      application       = 
'EXCEL.EXE'
      
parameter         '\test.xls'
      default_directory = lv_path
    
EXCEPTIONS
      
OTHERS            5.
TYPE X VALUE '09'
cl_abap_char_utilities=>horizontal_tab.
DATA: tab TYPE X VALUE '09'.“Tabulador…
CLASS cl_abap_char_utilities DEFINITION LOAD.
DATA: tab TYPE c VALUE cl_abap_char_utilities=>horizontal_tab.
POPUP_TO_CONFIRM_STEP
POPUP_TO_CONFIRM
CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
          
EXPORTING
            textline1 = text-p10
            textline2 = text-p11
            titel     = text-p01
          
IMPORTING
            answer    = f_answer.


* f_answer can take this values: YES    = 'J'
*                                NO     = 'N'
*                                CANCEL = 'A' 
CONCATENATE text-p10 text-p11
       INTO lv_question SEPARATED BY space.CALL FUNCTION 'POPUP_TO_CONFIRM'
  
EXPORTING
     
titlebar      = text-p01
     text_question = lv_question
  
IMPORTING
     answer        = f_answer.

* f_answer can take this values: YES    = '1'
*                                NO     = '2'
*                                CANCEL = 'A'
POPUP_TO_CONFIRM_WITH_MESSAGE
POPUP_TO_CONFIRM
CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'
        
EXPORTING
          defaultoption = 
'N'
          diagnosetext1 = text-001
          diagnosetext2 = text-002
          diagnosetext3 = text-003
          textline1     = text-004
          textline2     = text-005
          titel         = text-006
        
IMPORTING
          answer        = answer
.

      
CASE answer.
        
WHEN 'A'
        WHEN 'N'.
        WHEN 'y'.
      ENDCASE.
CALL FUNCTION 'POPUP_TO_CONFIRM'
   
EXPORTING
     
 titlebar        = text-005
      diagnose_object = 
'DIAGNOSE001'
      text_question   = lv_question
      default_button  = 
'2'
   
IMPORTING
      answer          = answer.

CASE answer.
        
WHEN 'A'
        WHEN '2'.
        WHEN '1'.
ENDCASE.

* DIAGNOSE001 es un objeto de texto del tipo “Dialog text” que se crea desde la transacción SE61.
* En lv_question concatenamos los do symbol-text que antes eran asignado a textline1 y textline2.

WS_DOWNLOAD
cl_gui_frontend_services=>gui_download
CALL FUNCTION 'WS_DOWNLOAD'
     
EXPORTING
         codepage                = 
'IBM'
         filename                = archivo
         filetype                = tipo
     TABLES
         data_tab                = t_pedidos3
     
EXCEPTIONS
         
OTHERS                  9.
  DATA: lv_filename TYPE string,
        lv_filetype 
TYPE char10.

  
MOVE: archivo TO lv_filename,
        tipo    
TO lv_filetype.

  
CALL METHOD cl_gui_frontend_services=>gui_download
    
EXPORTING
      filename = lv_filename
      filetype = lv_filetype
      codepage = 
'IBM'
    
CHANGING
      data_tab = t_pedidos3[]
    
EXCEPTIONS
      
OTHERS   9.
DOWNLOAD
cl_gui_frontend_services=>file_save_dialog y
cl_gui_frontend_services=>gui_download
CALL FUNCTION 'DOWNLOAD'
  
EXPORTING
    filename      = 
'C:\Test.TXT'
    filetype      = 
'ASC'
  
TABLES
   data_tab       = ztabcitdls
  
EXCEPTIONS
   
OTHERS         9.
CALL METHOD cl_gui_frontend_services=>file_save_dialog
    
EXPORTING
      default_extension = 
'.TXT'
      default_file_name = 
'Test.TXT'
      file_filter       = 
'All Files (*.*)|*.*'
      initial_directory = 
'C:\'
    
CHANGING
      filename          = lv_filename    
"String
      path              = lv_path        
"String
      fullpath          = lv_fullpath    
"String
      user_action       = lv_user_action 
"Integer
    
EXCEPTIONS
      
OTHERS            00.

  
IF lv_user_action <> .
    
CALL METHOD cl_gui_frontend_services=>gui_download
      
EXPORTING
        filename = lv_fullpath
        filetype = 
'ASC'
      
CHANGING
        data_tab = ztabcitdls[]
      
EXCEPTIONS
        
OTHERS   00.
  
ENDIF.
WS_FILENAME_GET
cl_gui_frontend_services=>file_open_dialog
CALL FUNCTION 'WS_FILENAME_GET'
       
EXPORTING
            DEF_FILENAME     = P_FILENAME
            DEF_PATH         = P_DEF_PATH
            
MASK             = P_MASK
            
MODE             
= P_MODE
            
TITLE            
= P_TITLE       IMPORTING
            FILENAME         = P_FILENAME
       
EXCEPTIONS
            INV_WINSYS       = 
1
            NO_BATCH         = 
2
            SELECTION_CANCEL = 
3
            SELECTION_ERROR  = 
4
            
OTHERS           5.

  COD_RET = SY-SUBRC.
DATA: lv_filename    TYPE string,
      lv_path        
TYPE string,
      lv_fullpath   
TYPE string.
DATA: lt_filetable   TYPE filetable,
      lw_file_name   
TYPE file_table,
      lv_rc          
TYPE i,
      lv_user_action 
TYPE i.

* Los parametros de exporting default_filename e initial_director
* y son de tipo string por lo que las pasamos a variables de este
* tipo…
lv_filename = p_filename.
lv_fullpath = p_def_path.

CALL METHOD cl_gui_frontend_services=>file_open_dialog
  
EXPORTING
    window_title      = p_title
    default_extension = 
'*.TXT'
    default_filename  = lv_filename
    file_filter       = p_mask
    initial_directory = lv_fullpath
  
CHANGING
    file_table        = lt_filetable
    rc                = lv_rc
    user_action       = lv_user_action.

IF lv_user_action <> 9.
* El método devuelve una tabla con una sóla columna llamada
* filename. Leemos el primer registro y lo asignamos al parámetro
  READ TABLE lt_filetable INTO lw_file_name INDEX 1.
  p_filename = lw_file_name-filename.
  cod_ret = lv_rc.
ENDIF.
HELP_VELUES_GEET_WITH_MACO
F4IF_FIELD_VALUE_REQUEST
  CALL FUNCTION 'HELP_VALUES_GET_WITH_MACO'
       EXPORTING
           mc_object   = 'MEKK'
       IMPORTING
           selectvalue = p_ebeln       EXCEPTIONS
            OTHERS      = 01.

*  p_ebeln es el campo sobre el cual se aplica la
*  ayuda de búsqueda.
  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
    
EXPORTING
      tabname    = space
      fieldname  = space
      searchhelp = 
'MEKK'
    
TABLES
      return_tab = lt_return_tab.

  
IF sy-subrc <> 0.
    
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ELSE.
    
READ TABLE lt_return_tab INDEX INTO lw_return_tab.
    
MOVE lw_return_tab-fieldval TO p_ebeln.
  ENDIF.
HELP_VALUES_GET_WITH_TABLE_EXT
F4IF_INT_TABLE_VALUE_REQUEST
CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE_EXT'
      
EXPORTING
        FIELDNAME                 = 
'LGART'
        TABNAME                   = 
'T512Z '
      
TABLES
        
FIELDS                    = IHELP_FIELDS
        VALUETAB                  = HELPTAB
        SELECT_VALUES             = SEL_VALUES
      
EXCEPTIONS
        FIELD_NOT_IN_DDIC         = 
01
        MORE_THEN_ONE_SELECTFIELD = 
02
        NO_SELECTFIELD            = 
03.
TYPESBEGIN OF ty_return.
        
INCLUDE STRUCTURE ddshretval.TYPESEND OF ty_return.

DATA: lt_return TYPE STANDARD TABLE OF ty_return.

lv_retfield = 'LGART'.
lv_tabname  = 'T512Z'.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
  
EXPORTING
   retfield               = lv_retfield
  
TABLES
   value_tab              = helptab
   field_tab              = ihelp_fields
   return_tab             = lt_return.
IF lt_return IS NOT INITIAL.
  
READ TABLE lt_return INDEX INTO lw_return.
  sel_values-value    = lw_return-fieldval.
  sel_values-tabname  = lv_tabname.
  sel_values-fieldname = lv_retfield.
  
APPEND sel_values.
ENDIF.
CD_EVALUATION_PERIODS
cl_hr_cd_manager=>eval_periods
CALL FUNCTION 'CD_EVALUATION_PERIODS'
         
EXPORTING
            bonus_date      = lv_ipend
            inper_modif     = lv_iperm
            inper           = lv_inper
            pay_type        = lv_inpty
            pay_ident       = lv_inpid
         
TABLES
            rgdir           = rgdir
            evpdir          = evp_inper
*           IABKRS          =
         
EXCEPTIONS
            no_record_found = 
1
            
OTHERS          2.

DATA: le_result TYPE pay_eval_period.
DATA: lt_result 
TYPE pay_t_eval_period.

CALL METHOD cl_hr_cd_manager=>eval_periods
    
EXPORTING
      imp_inpty      = lv_inpty  
      imp_inper      = lv_inper  
      imp_iperm      = lv_iperm  
      imp_bondt      = lv_bondt  
      imp_inpid      = lv_inpid  
      imp_rgdir      = in_tab[]
    RECEIVING
      ret_result     = lt_result.

  
LOOP AT lt_result INTO le_result.
    
APPEND LINES OF le_result-evp TO evp_inper[].
  ENDLOOP.