Showing posts with label Abap. Show all posts
Showing posts with label Abap. Show all posts

Monday, December 19, 2011

Abap how to create an excel file sample

REPORT ZEX_DATATOEXCEL .

Parameters: P_file like RLGRAP-FILENAME.

data : begin of int_head occurs 0,
Filed1(20) type c, " Header Data
end of int_head.

data : begin of int_data occurs 0,
Field1(20) type c, " Data
Field2(20) type c,
Field3(20) type c,
Field4(20) type c,
end of int_data.


int_head-Filed1 = 'Sales Ord'.
APPEND int_head.
CLEAR int_head.

int_head-Filed1 = 'Sold-to-Party'.
APPEND int_head.
CLEAR int_head.

int_head-Filed1 = 'Purchase Ord'.
APPEND int_head.
CLEAR int_head.

int_head-Filed1 = 'Ship-to-Party'.
APPEND int_head.
CLEAR int_head.

int_data-field1 = '1JOHN'.
int_data-field2 = '2TOM'.
int_data-field3 = '3BRAD'.
int_data-field4 = '4PETER'.
Append int_data.
Clear int_data.


CALL FUNCTION 'MS_EXCEL_OLE_STANDARD_DAT'
EXPORTING
file_name = p_file " path offile where u need to download
* CREATE_PIVOT = 0
* DATA_SHEET_NAME = ' '
* PIVOT_SHEET_NAME = ' '
* PASSWORD = ' '
* PASSWORD_OPTION = 0
TABLES
* PIVOT_FIELD_TAB =
data_tab = int_data "internal table with data
fieldnames = int_head "internal table with header
EXCEPTIONS
file_not_exist = 1
filename_expected = 2
communication_error = 3
ole_object_method_error = 4
ole_object_property_error = 5
invalid_filename = 6
invalid_pivot_fields = 7
download_problem = 8
OTHERS = 9
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.


source
http://abaplovers.blogspot.com/2008/05/abap-internal-table-to-excel-sheet.html

Monday, December 12, 2011

Sample ALV Grid program using the function module REUSE_ALV_GRID_DISPLAY

Sample ALV Grid program using the function module REUSE_ALV_GRID_DISPLAY

By Vikram Chellappa, Mouri Tech Solutions

*&---------------------------------------------------------------------* *& Report  ZALV_REPORT_SFLIGHT *& *&---------------------------------------------------------------------* * Published at SAPTechnical.COM *&---------------------------------------------------------------------*
REPORT  ZALV_REPORT_SFLIGHT. TABLES : SFLIGHT. TYPE-POOLS : SLIS.
**INTERNAL TABLE DECLARTION DATA : WA_SFLIGHT TYPE SFLIGHT,        IT_SFLIGHT TYPE TABLE OF SFLIGHT.
**DATA DECLARTION DATA: FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,       GD_LAYOUT    TYPE SLIS_LAYOUT_ALV,       GD_REPID     LIKE SY-REPID,       G_SAVE TYPE C VALUE 'X',       G_VARIANT TYPE DISVARIANT,       GX_VARIANT TYPE DISVARIANT,       G_EXIT TYPE C,       ISPFLI TYPE TABLE OF SPFLI.
* To understand the importance of the following parameter, click here. **SELECTION SCREEN DETAILS SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-002 . PARAMETERS: VARIANT LIKE DISVARIANT-VARIANT. SELECTION-SCREEN END OF BLOCK B1. **GETTING DEFAULT VARIANT INITIALIZATION.   GX_VARIANT-REPORT = SY-REPID.   CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'     EXPORTING       I_SAVE     = G_SAVE     CHANGING       CS_VARIANT = GX_VARIANT     EXCEPTIONS       NOT_FOUND  = 2.   IF SY-SUBRC = 0.     VARIANT = GX_VARIANT-VARIANT.   ENDIF.
**PERFORM DECLARATIONS START-OF-SELECTION.   PERFORM DATA_RETRIVEL.   PERFORM BUILD_FIELDCATALOG.   PERFORM DISPLAY_ALV_REPORT. 
*&---------------------------------------------------------------------* *&      Form  BUILD_FIELDCATALOG *&---------------------------------------------------------------------* *       text *----------------------------------------------------------------------* *  -->  p1        text *  <--  p2        text *----------------------------------------------------------------------* FORM BUILD_FIELDCATALOG .
  FIELDCATALOG-FIELDNAME   = 'CARRID'.   FIELDCATALOG-SELTEXT_M   = 'Airline Code'.   FIELDCATALOG-COL_POS     = 0.   APPEND FIELDCATALOG TO FIELDCATALOG.   CLEAR  FIELDCATALOG. 
  FIELDCATALOG-FIELDNAME   = 'CONNID'.   FIELDCATALOG-SELTEXT_M   = 'Flight Connection Number'.   FIELDCATALOG-COL_POS     = 1.   APPEND FIELDCATALOG TO FIELDCATALOG.   CLEAR  FIELDCATALOG.
  FIELDCATALOG-FIELDNAME   = 'FLDATE'.   FIELDCATALOG-SELTEXT_M   = 'Flight date'.   FIELDCATALOG-COL_POS     = 2.   APPEND FIELDCATALOG TO FIELDCATALOG.   CLEAR  FIELDCATALOG.
  FIELDCATALOG-FIELDNAME   = 'PRICE'.   FIELDCATALOG-SELTEXT_M   = 'Airfare'.   FIELDCATALOG-COL_POS     = 3.   FIELDCATALOG-OUTPUTLEN   = 20.   APPEND FIELDCATALOG TO FIELDCATALOG.   CLEAR  FIELDCATALOG. ENDFORM.                    " BUILD_FIELDCATALOG   *&---------------------------------------------------------------------* *&      Form  DISPLAY_ALV_REPORT *&---------------------------------------------------------------------* *       text *----------------------------------------------------------------------* *  -->  p1        text *  <--  p2        text *----------------------------------------------------------------------* FORM DISPLAY_ALV_REPORT .   GD_REPID = SY-REPID.   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'     EXPORTING       I_CALLBACK_PROGRAM      = GD_REPID       I_CALLBACK_TOP_OF_PAGE  = 'TOP-OF-PAGE'  "see FORM       I_CALLBACK_USER_COMMAND = 'USER_COMMAND'       IT_FIELDCAT             = FIELDCATALOG[]       I_SAVE                  = 'X'       IS_VARIANT              = G_VARIANT     TABLES       T_OUTTAB                = IT_SFLIGHT     EXCEPTIONS       PROGRAM_ERROR           = 1       OTHERS                  = 2.   IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.   ENDIF. ENDFORM.                    "DISPLAY_ALV_REPORT
" DISPLAY_ALV_REPORT *&---------------------------------------------------------------------* *&      Form  DATA_RETRIVEL *&---------------------------------------------------------------------* *       text *----------------------------------------------------------------------* *  -->  p1        text *  <--  p2        text *----------------------------------------------------------------------* FORM DATA_RETRIVEL .   SELECT * FROM SFLIGHT INTO TABLE IT_SFLIGHT. ENDFORM.                    " DATA_RETRIVEL
*-------------------------------------------------------------------* * Form  TOP-OF-PAGE                                                 * *-------------------------------------------------------------------* * ALV Report Header                                                 * *-------------------------------------------------------------------* FORM TOP-OF-PAGE. *ALV Header declarations   DATA: T_HEADER TYPE SLIS_T_LISTHEADER,         WA_HEADER TYPE SLIS_LISTHEADER,         T_LINE LIKE WA_HEADER-INFO,         LD_LINES TYPE I,         LD_LINESC(10) TYPE C.
* Title   WA_HEADER-TYP  = 'H'.   WA_HEADER-INFO = 'SFLIGHT Table Report'.   APPEND WA_HEADER TO T_HEADER.   CLEAR WA_HEADER.
* Date   WA_HEADER-TYP  = 'S'.   WA_HEADER-KEY = 'Date: '.   CONCATENATE  SY-DATUM+6(2) '.'                SY-DATUM+4(2) '.'                SY-DATUM(4) INTO WA_HEADER-INFO.   "todays date   APPEND WA_HEADER TO T_HEADER.   CLEAR: WA_HEADER. 
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'     EXPORTING       IT_LIST_COMMENTARY = T_HEADER. ENDFORM.                    "top-of-page

SOURCE
http://www.saptechnical.com/Tutorials/ALV/SampleALVGridProgram.htm

Abap: Country Grouping

DATA P_MOLGA TYPE MOLGA.

CALL FUNCTION 'HR_COUNTRYGROUPING_GET'
EXPORTING
PERNR = WD_COMP_CONTROLLER->PERNR
* TCLAS = 'A'
* BEGDA = '18000101'
* ENDDA = '99991231'
* WERKS =
IMPORTING
MOLGA = P_MOLGA
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2

IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.


source

Tuesday, November 1, 2011

SAP Remove Comma / Remove full stop




**********************************************************************

* FORM    :   remove_comma

* Created :  13.09.2011 18:33:22

**********************************************************************

FORM REMOVE_COMMA CHANGING $FIELD.



  DATA : WA_INDEX(02) TYPE I.

  DATA : F3(10) TYPE C.



  F3 = $FIELD.



  DO 10 TIMES.

    IF F3+WA_INDEX(01) EQ ','.

      F3+WA_INDEX(01) = ''.

    ENDIF.

    ADD 1 TO WA_INDEX.

  ENDDO.



  CONDENSE F3 NO-GAPS.

  $FIELD = F3.



ENDFORM. " remove_comma



**********************************************************************


* FORM    :   remove_fullstop

* Created :  13.09.2011 18:33:22

**********************************************************************

FORM REMOVE_FULLSTOP CHANGING $FIELD.



  DATA : WA_INDEX(02) TYPE I.

  DATA : F3(10) TYPE C.



  F3 = $FIELD.



  DO 10 TIMES.

    IF F3+WA_INDEX(01) EQ '.'.

      F3+WA_INDEX(01) = ''.

    ENDIF.

    ADD 1 TO WA_INDEX.

  ENDDO.



  CONDENSE F3 NO-GAPS.

  $FIELD = F3.



ENDFORM. " remove_fullstop