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.

No hay comentarios:

Publicar un comentario