viernes, 20 de febrero de 2015

Rutinas Mes, Año, Día


Rutina para Dia

PROGRAM trans_routine.


*---------------------------------------------------------------------*
*       CLASS routine DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_transform DEFINITION.
  
PUBLIC SECTION.

*  Attributs
    
DATA:
      p_check_master_data_exist
            
TYPE RSODSOCHECKONLY READ-ONLY,
*-    Instance for getting request runtime attributs;
*     Available information: Refer to methods of
*     interface 'if_rsbk_request_admintab_view'
      p_r_request
            
TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.

  
PRIVATE SECTION.

    
TYPE-POOLSrsdrstr.

*   Rule specific types
    
TYPES:
      
BEGIN OF _ty_s_SC_1,
*      Field: POSTING_DATE Cronomarcador.
        POSTING_DATE           
TYPE P LENGTH DECIMALS 0,
*      Field: RECORD.
        RECORD           
TYPE RSARECORD,
      
END   OF _ty_s_SC_1.
    
TYPES:
      
BEGIN OF _ty_s_TG_1,
*      InfoObject: ZPDIA Días.
        /BIC/ZPDIA           
TYPE /BIC/OIZPDIA,
      
END   OF _ty_s_TG_1.

*$*$ begin of global - insert your declaration only below this line  *-*
    
... "insert your code here
*$*$ end of global - insert your declaration only before this line   *-*

    
METHODS
      compute_ZPDIA
        
IMPORTING
          request                  
type rsrequest
          datapackid               
type rsdatapid
          SOURCE_FIELDS              
type _ty_s_SC_1
          segid                    
type RSBK_SEGID
        
EXPORTING
          RESULT                   
type _ty_s_TG_1-/BIC/ZPDIA
          monitor                  
type rstr_ty_t_monitor
        
RAISING
          cx_rsrout_abort
          cx_rsrout_skip_record
          cx_rsrout_skip_val
          cx_rsbk_errorcount
.
    
METHODS
      invert_ZPDIA
        
IMPORTING
          i_th_fields_outbound         
TYPE rstran_t_field_inv
          i_r_selset_outbound          
TYPE REF TO cl_rsmds_set
          i_is_main_selection          
TYPE rs_bool
          i_r_selset_outbound_complete 
TYPE REF TO cl_rsmds_set
          i_r_universe_inbound         
TYPE REF TO cl_rsmds_universe
        
CHANGING
          c_th_fields_inbound          
TYPE rstran_t_field_inv
          c_r_selset_inbound           
TYPE REF TO cl_rsmds_set
          c_exact                      
TYPE rs_bool.
ENDCLASS.                    "routine DEFINITION

*$*$ begin of 2nd part global - insert your code only below this line  *
... "insert your code here
*$*$ end of 2nd part global - insert your code only before this line   *

*---------------------------------------------------------------------*
*       CLASS routine IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_transform IMPLEMENTATION.

*----------------------------------------------------------------------*
*       Method compute_ZPDIA
*----------------------------------------------------------------------*
*       This subroutine allows the mapping from source to target fields
*       of a transformation rule using ABAP for application specific
*       coding.
*----------------------------------------------------------------------*
*       Customer comment:
*----------------------------------------------------------------------*
  
METHOD compute_ZPDIA.

*   IMPORTING
*     request     type rsrequest
*     datapackid  type rsdatapid
*     SOURCE_FIELDS-POSTING_DATE TYPE P LENGTH 000008 DECIMALS 000000
*    EXPORTING
*      RESULT type _ty_s_TG_1-/BIC/ZPDIA

    
DATA:
      MONITOR_REC    
TYPE rsmonitor.

*$*$ begin of routine - insert your code only below this line        *-*
    
... "insert your code here
*--  fill table "MONITOR" with values of structure "MONITOR_REC"
*-   to make monitor entries
    
... "to cancel the update process
*    raise exception type CX_RSROUT_ABORT.
    
... "to skip a record"
*    raise exception type CX_RSROUT_SKIP_RECORD.
    
... "to clear target fields
*    raise exception type CX_RSROUT_SKIP_VAL.

    
data l_datetime(15type c.
    
data :l_date type sy-datum.
    
datadia  type /BI0/OICALMONTH.


    l_datetime 
SOURCE_FIELDS-POSTING_DATE.
    l_date 
l_datetime+00(08).
    dia 
l_date+6(2).

    RESULT 
dia.

*$*$ end of routine - insert your code only before this line         *-*
  
ENDMETHOD.                    "compute_ZPDIA
*----------------------------------------------------------------------*
*       Inverse method invert_ZPDIA
*----------------------------------------------------------------------*
*       This subroutine needs to be implemented only for direct access
*       (for better performance) and for the Report/Report Interface
*       (drill through).
*       The inverse routine should transform a projection and
*       a selection for the target to a projection and a selection
*       for the source, respectively.
*       If the implementation remains empty all fields are filled and
*       all values are selected.
*----------------------------------------------------------------------*
*       Customer comment:
*----------------------------------------------------------------------*
  
METHOD invert_ZPDIA.

*   IMPORTING
*     i_r_selset_outbound          TYPE REF TO cl_rsmds_set
*     i_th_fields_outbound         TYPE HASHED TABLE
*     i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
*     i_r_universe_inbound         TYPE REF TO cl_rsmds_universe
*   CHANGING
*     c_r_selset_inbound           TYPE REF TO cl_rsmds_set
*     c_th_fields_inbound          TYPE HASHED TABLE
*     c_exact                      TYPE rs_bool

*$*$ begin of inverse routine - insert your code only below this line*-*
    
... "insert your code here
*$*$ end of inverse routine - insert your code only before this line *-*

  
ENDMETHOD.                    "invert_ZPDIA
ENDCLASS.                    "routine IMPLEMENTATION


 

Rutina para mes:




PROGRAM trans_routine.


*---------------------------------------------------------------------*
*       CLASS routine DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_transform DEFINITION.
  
PUBLIC SECTION.

*  Attributs
    
DATA:
      p_check_master_data_exist
            
TYPE RSODSOCHECKONLY READ-ONLY,
*-    Instance for getting request runtime attributs;
*     Available information: Refer to methods of
*     interface 'if_rsbk_request_admintab_view'
      p_r_request
            
TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.

  
PRIVATE SECTION.

    
TYPE-POOLSrsdrstr.

*   Rule specific types
    
TYPES:
      
BEGIN OF _ty_s_SC_1,
*      Field: POSTING_DATE Cronomarcador.
        POSTING_DATE           
TYPE P LENGTH DECIMALS 0,
*      Field: RECORD.
        RECORD           
TYPE RSARECORD,
      
END   OF _ty_s_SC_1.
    
TYPES:
      
BEGIN OF _ty_s_TG_1,
*      InfoObject: ZPMES Mes.
        /BIC/ZPMES           
TYPE /BIC/OIZPMES,
      
END   OF _ty_s_TG_1.

*$*$ begin of global - insert your declaration only below this line  *-*
    
... "insert your code here
*$*$ end of global - insert your declaration only before this line   *-*

    
METHODS
      compute_ZPMES
        
IMPORTING
          request                  
type rsrequest
          datapackid               
type rsdatapid
          SOURCE_FIELDS              
type _ty_s_SC_1
          segid                    
type RSBK_SEGID
        
EXPORTING
          RESULT                   
type _ty_s_TG_1-/BIC/ZPMES
          monitor                  
type rstr_ty_t_monitor
        
RAISING
          cx_rsrout_abort
          cx_rsrout_skip_record
          cx_rsrout_skip_val
          cx_rsbk_errorcount
.
    
METHODS
      invert_ZPMES
        
IMPORTING
          i_th_fields_outbound         
TYPE rstran_t_field_inv
          i_r_selset_outbound          
TYPE REF TO cl_rsmds_set
          i_is_main_selection          
TYPE rs_bool
          i_r_selset_outbound_complete 
TYPE REF TO cl_rsmds_set
          i_r_universe_inbound         
TYPE REF TO cl_rsmds_universe
        
CHANGING
          c_th_fields_inbound          
TYPE rstran_t_field_inv
          c_r_selset_inbound           
TYPE REF TO cl_rsmds_set
          c_exact                      
TYPE rs_bool.
ENDCLASS.                    "routine DEFINITION

*$*$ begin of 2nd part global - insert your code only below this line  *
... "insert your code here
*$*$ end of 2nd part global - insert your code only before this line   *

*---------------------------------------------------------------------*
*       CLASS routine IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_transform IMPLEMENTATION.

*----------------------------------------------------------------------*
*       Method compute_ZPMES
*----------------------------------------------------------------------*
*       This subroutine allows the mapping from source to target fields
*       of a transformation rule using ABAP for application specific
*       coding.
*----------------------------------------------------------------------*
*       Customer comment:
*----------------------------------------------------------------------*
  
METHOD compute_ZPMES.

*   IMPORTING
*     request     type rsrequest
*     datapackid  type rsdatapid
*     SOURCE_FIELDS-POSTING_DATE TYPE P LENGTH 000008 DECIMALS 000000
*    EXPORTING
*      RESULT type _ty_s_TG_1-/BIC/ZPMES

    
DATA:
      MONITOR_REC    
TYPE rsmonitor.

*$*$ begin of routine - insert your code only below this line        *-*
    
... "insert your code here
*--  fill table "MONITOR" with values of structure "MONITOR_REC"
*-   to make monitor entries
    
... "to cancel the update process
*    raise exception type CX_RSROUT_ABORT.
    
... "to skip a record"
*    raise exception type CX_RSROUT_SKIP_RECORD.
    
... "to clear target fields
*    raise exception type CX_RSROUT_SKIP_VAL.

    
data l_datetime(15type c.
    
data :l_date type sy-datum.
    
dataanomes  type /BI0/OICALMONTH.


    l_datetime 
SOURCE_FIELDS-POSTING_DATE.
    l_date 
l_datetime+00(08).
    anomes 
l_date+4(2).


    RESULT 
anomes.


*$*$ end of routine - insert your code only before this line         *-*
  
ENDMETHOD.                    "compute_ZPMES
*----------------------------------------------------------------------*
*       Inverse method invert_ZPMES
*----------------------------------------------------------------------*
*       This subroutine needs to be implemented only for direct access
*       (for better performance) and for the Report/Report Interface
*       (drill through).
*       The inverse routine should transform a projection and
*       a selection for the target to a projection and a selection
*       for the source, respectively.
*       If the implementation remains empty all fields are filled and
*       all values are selected.
*----------------------------------------------------------------------*
*       Customer comment:
*----------------------------------------------------------------------*
  
METHOD invert_ZPMES.

*   IMPORTING
*     i_r_selset_outbound          TYPE REF TO cl_rsmds_set
*     i_th_fields_outbound         TYPE HASHED TABLE
*     i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
*     i_r_universe_inbound         TYPE REF TO cl_rsmds_universe
*   CHANGING
*     c_r_selset_inbound           TYPE REF TO cl_rsmds_set
*     c_th_fields_inbound          TYPE HASHED TABLE
*     c_exact                      TYPE rs_bool

*$*$ begin of inverse routine - insert your code only below this line*-*
    
... "insert your code here
*$*$ end of inverse routine - insert your code only before this line *-*

  
ENDMETHOD.                    "invert_ZPMES
ENDCLASS.                    "routine IMPLEMENTATION


 

Rutina para Año


 



PROGRAM trans_routine.


*---------------------------------------------------------------------*
*       CLASS routine DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_transform DEFINITION.
  
PUBLIC SECTION.

*  Attributs
    
DATA:
      p_check_master_data_exist
            
TYPE RSODSOCHECKONLY READ-ONLY,
*-    Instance for getting request runtime attributs;
*     Available information: Refer to methods of
*     interface 'if_rsbk_request_admintab_view'
      p_r_request
            
TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.

  
PRIVATE SECTION.

    
TYPE-POOLSrsdrstr.

*   Rule specific types
    
TYPES:
      
BEGIN OF _ty_s_SC_1,
*      Field: POSTING_DATE Cronomarcador.
        POSTING_DATE           
TYPE P LENGTH DECIMALS 0,
*      Field: RECORD.
        RECORD           
TYPE RSARECORD,
      
END   OF _ty_s_SC_1.
    
TYPES:
      
BEGIN OF _ty_s_TG_1,
*      InfoObject: ZPANIO Año.
        /BIC/ZPANIO           
TYPE /BIC/OIZPANIO,
      
END   OF _ty_s_TG_1.

*$*$ begin of global - insert your declaration only below this line  *-*
    
... "insert your code here
*$*$ end of global - insert your declaration only before this line   *-*

    
METHODS
      compute_ZPANIO
        
IMPORTING
          request                  
type rsrequest
          datapackid               
type rsdatapid
          SOURCE_FIELDS              
type _ty_s_SC_1
          segid                    
type RSBK_SEGID
        
EXPORTING
          RESULT                   
type _ty_s_TG_1-/BIC/ZPANIO
          monitor                  
type rstr_ty_t_monitor
        
RAISING
          cx_rsrout_abort
          cx_rsrout_skip_record
          cx_rsrout_skip_val
          cx_rsbk_errorcount
.
    
METHODS
      invert_ZPANIO
        
IMPORTING
          i_th_fields_outbound         
TYPE rstran_t_field_inv
          i_r_selset_outbound          
TYPE REF TO cl_rsmds_set
          i_is_main_selection          
TYPE rs_bool
          i_r_selset_outbound_complete 
TYPE REF TO cl_rsmds_set
          i_r_universe_inbound         
TYPE REF TO cl_rsmds_universe
        
CHANGING
          c_th_fields_inbound          
TYPE rstran_t_field_inv
          c_r_selset_inbound           
TYPE REF TO cl_rsmds_set
          c_exact                      
TYPE rs_bool.
ENDCLASS.                    "routine DEFINITION

*$*$ begin of 2nd part global - insert your code only below this line  *
... "insert your code here
*$*$ end of 2nd part global - insert your code only before this line   *

*---------------------------------------------------------------------*
*       CLASS routine IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_transform IMPLEMENTATION.

*----------------------------------------------------------------------*
*       Method compute_ZPANIO
*----------------------------------------------------------------------*
*       This subroutine allows the mapping from source to target fields
*       of a transformation rule using ABAP for application specific
*       coding.
*----------------------------------------------------------------------*
*       Customer comment:
*----------------------------------------------------------------------*
  
METHOD compute_ZPANIO.

*   IMPORTING
*     request     type rsrequest
*     datapackid  type rsdatapid
*     SOURCE_FIELDS-POSTING_DATE TYPE P LENGTH 000008 DECIMALS 000000
*    EXPORTING
*      RESULT type _ty_s_TG_1-/BIC/ZPANIO

    
DATA:
      MONITOR_REC    
TYPE rsmonitor.

*$*$ begin of routine - insert your code only below this line        *-*
    
... "insert your code here
*--  fill table "MONITOR" with values of structure "MONITOR_REC"
*-   to make monitor entries
    
... "to cancel the update process
*    raise exception type CX_RSROUT_ABORT.
    
... "to skip a record"
*    raise exception type CX_RSROUT_SKIP_RECORD.
    
... "to clear target fields
*    raise exception type CX_RSROUT_SKIP_VAL.

    
data l_datetime(15type c.
    
data :l_date type sy-datum.
    
dataanio type /BI0/OICALYEAR.

    l_datetime 
SOURCE_FIELDS-POSTING_DATE.
    l_date 
l_datetime+00(08).
    anio 
l_date+0(4).



    RESULT 
anio.


*$*$ end of routine - insert your code only before this line         *-*
  
ENDMETHOD.                    "compute_ZPANIO
*----------------------------------------------------------------------*
*       Inverse method invert_ZPANIO
*----------------------------------------------------------------------*
*       This subroutine needs to be implemented only for direct access
*       (for better performance) and for the Report/Report Interface
*       (drill through).
*       The inverse routine should transform a projection and
*       a selection for the target to a projection and a selection
*       for the source, respectively.
*       If the implementation remains empty all fields are filled and
*       all values are selected.
*----------------------------------------------------------------------*
*       Customer comment:
*----------------------------------------------------------------------*
  
METHOD invert_ZPANIO.

*   IMPORTING
*     i_r_selset_outbound          TYPE REF TO cl_rsmds_set
*     i_th_fields_outbound         TYPE HASHED TABLE
*     i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
*     i_r_universe_inbound         TYPE REF TO cl_rsmds_universe
*   CHANGING
*     c_r_selset_inbound           TYPE REF TO cl_rsmds_set
*     c_th_fields_inbound          TYPE HASHED TABLE
*     c_exact                      TYPE rs_bool

*$*$ begin of inverse routine - insert your code only below this line*-*
    
... "insert your code here
*$*$ end of inverse routine - insert your code only before this line *-*

  
ENDMETHOD.                    "invert_ZPANIO
ENDCLASS.                    "routine IMPLEMENTATION

No hay comentarios:

Publicar un comentario

  SAP BW 4hana DTP ABAP Filter Range using DTP Routine data: lv_date_low TYPE sy-datum, lv_date_high TYPE sy-datum, lv_date TYPE dats, lv_mo...