report ztas_test.
types:
begin of ty_mara,
matnr type matnr,
mtart type mtart,
matkl type matkl,
bstme type bstme,
zeinr type dzeinr,
zeiar type dzeiar,
brgew type brgew,
ntgew type ntgew,
volum type volum,
spart type spart,
breit type breit,
hoehe type hoehe,
end of ty_mara.
data: imara type table of ty_mara with header line.
data: iout type table of string .
data: xout type string.
data: temp type string.
field-symbols: <fs> type any.
select matnr mtart matkl bstme zeinr zeiar brgew ntgew volum spart breit hoehe
into table imara from mara.
loop at imara.
clear xout.
do.
assign component sy-index of structure imara to <fs>.
if sy-subrc <> 0.
exit.
endif.
if sy-index = 1.
clear temp.
temp = <fs>.
xout = temp.
condense temp.
else.
clear temp.
temp = <fs>.
condense temp.
concatenate xout temp into xout separated by ';'.
endif.
enddo.
append xout to iout.
endloop.
call function 'GUI_DOWNLOAD'
exporting
filename = 'C:\temp\test.csv'
tables
data_tab = iout. "need to declare and populate
Showing posts with label SAP ABAP. Show all posts
Showing posts with label SAP ABAP. Show all posts
Export Internal table contents into CSV file in SAP ABAP
ABAP methods to download internal table contents into Excel
data: begin of it_header occurs 0,
header(30) ,
end of it_header.
move 'FIELD NAME1' to it_header-header.
append it_header.
move ' FIELD NAME2' to it_header-header.
append it_header.
move ' FIELD NAME3' to it_header-header.
append it_header.
move ' FIELD NAME4' to it_header-header.
append it_header.
move ' FIELD NAME5' to it_header-header.
append it_header.
*Method to POP Up the file path to save
call method cl_gui_frontend_services=>file_save_dialog
exporting
* window_title = ' '
default_extension = 'XLS'
default_file_name = lf_save_filename
initial_directory = 'c:\temp\'
changing
filename = lf_save_filename
path = lf_save_filepath
fullpath = lf_save_filefullpath
user_action = lf_result.
* Check user did not cancel request
check lf_result eq '0'.
*Function module to download the internal table data into excel
call function 'GUI_DOWNLOAD'
exporting
filename = lf_save_filename
filetype = 'ASC'
* HEADER = it_header
* APPEND = 'X'
write_field_separator = 'X'
* CONFIRM_OVERWRITE = 'X'
tables
data_tab = lt_result[] "need to declare and populate
fieldnames = it_header[]
exceptions
file_open_error = 1
file_write_error = 2
others = 3.
SIMPLE SAP ABAP PROGRAM FOR ALV LIST DISPLAY
*&---------------------------------------------------------------------*
*& Report ZSSR_ALV_LIST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zsan_alv_list_display.
TYPE-POOLS: slis.
TABLES: mara.
DATA: g_t_mara TYPE mara OCCURS 0 WITH HEADER LINE.
* ALV specific data objects
DATA : g_f_repid LIKE sy-repid.
DATA : g_t_fieldcat TYPE slis_t_fieldcat_alv.
DATA : g_r_fieldcat TYPE slis_fieldcat_alv.
DATA : g_t_events TYPE slis_t_event.
DATA : g_r_events TYPE slis_alv_event.
DATA : g_r_layout TYPE slis_layout_alv.
DATA : g_f_callback_user_command TYPE slis_formname.
DATA : g_f_callback_pf_status_set TYPE slis_formname.
DATA : g_r_x_variant LIKE disvariant.
DATA : g_r_variant LIKE disvariant.
DATA : g_f_exit(1) TYPE c.
DATA : g_f_save(1) TYPE c.
SELECT-OPTIONS: s_matnr FOR mara-matnr.
START-OF-SELECTION.
PERFORM get_data.
PERFORM display_data.
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM get_data .
SELECT *
INTO TABLE g_t_mara
FROM mara
WHERE matnr IN s_matnr.
ENDFORM. " GET_DATA
*&---------------------------------------------------------------------*
*& Form DISPLAY_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM display_data .
g_f_repid = sy-repid.
* Attributes for layout
g_r_layout-zebra = 'X'.
* g_r_layout-min_linesize = 119.
g_r_layout-colwidth_optimize = 'X'.
g_r_layout-f2code = '&ETA'.
g_r_layout-detail_initial_lines = 'X'.
g_r_layout-get_selinfos = 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE = ' '
i_callback_program = g_f_repid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
i_structure_name = 'MARA'
is_layout = g_r_layout
* IT_FIELDCAT =
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* IR_SALV_LIST_ADAPTER =
* IT_EXCEPT_QINFO =
* I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = g_t_mara
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_DATA
*& Report ZSSR_ALV_LIST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zsan_alv_list_display.
TYPE-POOLS: slis.
TABLES: mara.
DATA: g_t_mara TYPE mara OCCURS 0 WITH HEADER LINE.
* ALV specific data objects
DATA : g_f_repid LIKE sy-repid.
DATA : g_t_fieldcat TYPE slis_t_fieldcat_alv.
DATA : g_r_fieldcat TYPE slis_fieldcat_alv.
DATA : g_t_events TYPE slis_t_event.
DATA : g_r_events TYPE slis_alv_event.
DATA : g_r_layout TYPE slis_layout_alv.
DATA : g_f_callback_user_command TYPE slis_formname.
DATA : g_f_callback_pf_status_set TYPE slis_formname.
DATA : g_r_x_variant LIKE disvariant.
DATA : g_r_variant LIKE disvariant.
DATA : g_f_exit(1) TYPE c.
DATA : g_f_save(1) TYPE c.
SELECT-OPTIONS: s_matnr FOR mara-matnr.
START-OF-SELECTION.
PERFORM get_data.
PERFORM display_data.
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM get_data .
SELECT *
INTO TABLE g_t_mara
FROM mara
WHERE matnr IN s_matnr.
ENDFORM. " GET_DATA
*&---------------------------------------------------------------------*
*& Form DISPLAY_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM display_data .
g_f_repid = sy-repid.
* Attributes for layout
g_r_layout-zebra = 'X'.
* g_r_layout-min_linesize = 119.
g_r_layout-colwidth_optimize = 'X'.
g_r_layout-f2code = '&ETA'.
g_r_layout-detail_initial_lines = 'X'.
g_r_layout-get_selinfos = 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE = ' '
i_callback_program = g_f_repid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
i_structure_name = 'MARA'
is_layout = g_r_layout
* IT_FIELDCAT =
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* IR_SALV_LIST_ADAPTER =
* IT_EXCEPT_QINFO =
* I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = g_t_mara
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_DATA
SIMPLE SAP ABAP PROGRAM FOR ALV GRID DISPLAY
*&---------------------------------------------------------------------*
*& Report ZSAN_ALV
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZSAN_ALV.
TYPE-POOLS:SLIS.
TABLES:ZSAN_EMP_DETAILS.
DATA:SAN_ITABLE TYPE ZSAN_EMP_DETAILS OCCURS 0 WITH HEADER LINE.
* ALV specific data objects
DATA : g_f_repid LIKE sy-repid.
DATA : g_t_fieldcat TYPE slis_t_fieldcat_alv.
DATA : g_r_fieldcat TYPE slis_fieldcat_alv.
DATA : g_t_events TYPE slis_t_event.
DATA : g_r_events TYPE slis_alv_event.
DATA : g_r_layout TYPE slis_layout_alv.
DATA : g_f_callback_user_command TYPE slis_formname.
DATA : g_f_callback_pf_status_set TYPE slis_formname.
DATA : g_r_x_variant LIKE disvariant.
DATA : g_r_variant LIKE disvariant.
DATA : g_f_exit(1) TYPE c.
DATA : g_f_save(1) TYPE c.
SELECT-OPTIONS:S_INP FOR ZSAN_EMP_DETAILS-EMP_NO.
START-OF-SELECTION.
PERFORM GETDATA.
PERFORM DISPLAYDATA.
FORM GETDATA.
SELECT * INTO TABLE SAN_ITABLE FROM ZSAN_EMP_DETAILS WHERE EMP_NO IN S_INP.
ENDFORM.
FORM DISPLAYDATA.
g_f_repid = sy-repid.
* Attributes for layout
g_r_layout-zebra = 'X'.
* g_r_layout-min_linesize = 119.
g_r_layout-colwidth_optimize = 'X'.
g_r_layout-f2code = '&ETA'.
g_r_layout-detail_initial_lines = 'X'.
g_r_layout-get_selinfos = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_f_repid
i_structure_name = 'ZSAN_EMP_DETAILS'
* is_layout = g_r_layout
TABLES
t_outtab = SAN_ITABLE
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM.
*& Report ZSAN_ALV
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZSAN_ALV.
TYPE-POOLS:SLIS.
TABLES:ZSAN_EMP_DETAILS.
DATA:SAN_ITABLE TYPE ZSAN_EMP_DETAILS OCCURS 0 WITH HEADER LINE.
* ALV specific data objects
DATA : g_f_repid LIKE sy-repid.
DATA : g_t_fieldcat TYPE slis_t_fieldcat_alv.
DATA : g_r_fieldcat TYPE slis_fieldcat_alv.
DATA : g_t_events TYPE slis_t_event.
DATA : g_r_events TYPE slis_alv_event.
DATA : g_r_layout TYPE slis_layout_alv.
DATA : g_f_callback_user_command TYPE slis_formname.
DATA : g_f_callback_pf_status_set TYPE slis_formname.
DATA : g_r_x_variant LIKE disvariant.
DATA : g_r_variant LIKE disvariant.
DATA : g_f_exit(1) TYPE c.
DATA : g_f_save(1) TYPE c.
SELECT-OPTIONS:S_INP FOR ZSAN_EMP_DETAILS-EMP_NO.
START-OF-SELECTION.
PERFORM GETDATA.
PERFORM DISPLAYDATA.
FORM GETDATA.
SELECT * INTO TABLE SAN_ITABLE FROM ZSAN_EMP_DETAILS WHERE EMP_NO IN S_INP.
ENDFORM.
FORM DISPLAYDATA.
g_f_repid = sy-repid.
* Attributes for layout
g_r_layout-zebra = 'X'.
* g_r_layout-min_linesize = 119.
g_r_layout-colwidth_optimize = 'X'.
g_r_layout-f2code = '&ETA'.
g_r_layout-detail_initial_lines = 'X'.
g_r_layout-get_selinfos = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_f_repid
i_structure_name = 'ZSAN_EMP_DETAILS'
* is_layout = g_r_layout
TABLES
t_outtab = SAN_ITABLE
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM.
SAP ABAP BASIC DML QUERIES (INSERT, UPDATE, DELETE, MODIFY)
*&---------------------------------------------------------------------*
*& Report ZSAN_DML
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZSAN_DML.
TABLES:ZSAN_EMP_DETAILS.
DATA:SAN_ITABLE TYPE TABLE OF ZSAN_EMP_DETAILS,
SAN_STRUCT TYPE ZSAN_EMP_DETAILS.
PARAMETERS:P_EMPNO TYPE ZSAN_EMP_DETAILS-EMP_NO,
P_ENAME TYPE ZSAN_EMP_DETAILS-EMP_NAME,
P_SALARY TYPE ZSAN_EMP_DETAILS-EMP_SALARY.
** p_cunt type i.
START-OF-SELECTION.
PERFORM insert.
PERFORM UPDATE.
PERFORM DELETE.
PERFORM MODIFY.
*&---------------------------------------------------------------------*
*& Form INSERT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM INSERT .
SAN_STRUCT-EMP_NO = P_EMPNO.
SAN_STRUCT-EMP_NAME = P_ENAME.
SAN_STRUCT-EMP_SALARY = P_SALARY.
APPEND SAN_STRUCT TO SAN_ITABLE.
INSERT ZSAN_EMP_DETAILS FROM TABLE SAN_ITABLE.
LOOP AT SAN_ITABLE INTO SAN_STRUCT.
WRITE: SAN_STRUCT-EMP_NO,SAN_STRUCT-EMP_NAME,SAN_STRUCT-EMP_SALARY.
ENDLOOP.
ENDFORM.
" INSERT
*&---------------------------------------------------------------------*
*& Form UPDATE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM UPDATE .
LOOP AT SAN_ITABLE INTO SAN_STRUCT.
IF SAN_STRUCT-EMP_NO = P_EMPNO.
SAN_STRUCT-EMP_SALARY = '12345'.
APPEND SAN_STRUCT TO SAN_ITABLE.
UPDATE ZSAN_EMP_DETAILS FROM TABLE SAN_ITABLE.
ENDIF.
ENDLOOP.
UPDATE ZSAN_EMP_DETAILS SET EMP_SALARY = P_SALARY WHERE EMP_NO = P_EMPNO.
WRITE:'UPDATE SUCCESS'.
ENDFORM. " UPDATE
*&---------------------------------------------------------------------*
*& Form DELETE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DELETE .
DELETE FROM ZSAN_EMP_DETAILS WHERE EMP_NO = P_EMPNO.
WRITE: 'DELETE SUCCCESS'.
ENDFORM. " DELETE
*&---------------------------------------------------------------------*
*& Form MODIFY
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM MODIFY .
SAN_STRUCT-EMP_NO = P_EMPNO.
SAN_STRUCT-EMP_NAME = P_ENAME.
SAN_STRUCT-EMP_SALARY = P_SALARY.
MODIFY ZSAN_EMP_DETAILS FROM SAN_STRUCT .
WRITE: 'MODIFY SUCCESS'.
ENDFORM. " MODIFY
*& Report ZSAN_DML
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZSAN_DML.
TABLES:ZSAN_EMP_DETAILS.
DATA:SAN_ITABLE TYPE TABLE OF ZSAN_EMP_DETAILS,
SAN_STRUCT TYPE ZSAN_EMP_DETAILS.
PARAMETERS:P_EMPNO TYPE ZSAN_EMP_DETAILS-EMP_NO,
P_ENAME TYPE ZSAN_EMP_DETAILS-EMP_NAME,
P_SALARY TYPE ZSAN_EMP_DETAILS-EMP_SALARY.
** p_cunt type i.
START-OF-SELECTION.
PERFORM insert.
PERFORM UPDATE.
PERFORM DELETE.
PERFORM MODIFY.
*&---------------------------------------------------------------------*
*& Form INSERT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM INSERT .
SAN_STRUCT-EMP_NO = P_EMPNO.
SAN_STRUCT-EMP_NAME = P_ENAME.
SAN_STRUCT-EMP_SALARY = P_SALARY.
APPEND SAN_STRUCT TO SAN_ITABLE.
INSERT ZSAN_EMP_DETAILS FROM TABLE SAN_ITABLE.
LOOP AT SAN_ITABLE INTO SAN_STRUCT.
WRITE: SAN_STRUCT-EMP_NO,SAN_STRUCT-EMP_NAME,SAN_STRUCT-EMP_SALARY.
ENDLOOP.
ENDFORM.
" INSERT
*&---------------------------------------------------------------------*
*& Form UPDATE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM UPDATE .
LOOP AT SAN_ITABLE INTO SAN_STRUCT.
IF SAN_STRUCT-EMP_NO = P_EMPNO.
SAN_STRUCT-EMP_SALARY = '12345'.
APPEND SAN_STRUCT TO SAN_ITABLE.
UPDATE ZSAN_EMP_DETAILS FROM TABLE SAN_ITABLE.
ENDIF.
ENDLOOP.
UPDATE ZSAN_EMP_DETAILS SET EMP_SALARY = P_SALARY WHERE EMP_NO = P_EMPNO.
WRITE:'UPDATE SUCCESS'.
ENDFORM. " UPDATE
*&---------------------------------------------------------------------*
*& Form DELETE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DELETE .
DELETE FROM ZSAN_EMP_DETAILS WHERE EMP_NO = P_EMPNO.
WRITE: 'DELETE SUCCCESS'.
ENDFORM. " DELETE
*&---------------------------------------------------------------------*
*& Form MODIFY
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM MODIFY .
SAN_STRUCT-EMP_NO = P_EMPNO.
SAN_STRUCT-EMP_NAME = P_ENAME.
SAN_STRUCT-EMP_SALARY = P_SALARY.
MODIFY ZSAN_EMP_DETAILS FROM SAN_STRUCT .
WRITE: 'MODIFY SUCCESS'.
ENDFORM. " MODIFY
SAP ABAP BASIC STRING OPERATIONS
*&---------------------------------------------------------------------*
*& Report ZSTA_STRING_OPERATIONS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZSAN_STRING_OPERATIONS.
data:g_f_value1 type char10 value 'Sankarganesh',
g_f_value2 type char10 value 'Thirumalaisamy',
g_f_value3 type char50,
g_f_value4 type char40 VALUE 'this is small example',
g_f_str1 type char10,
g_f_str2 type char10,
g_f_str3 type char10,
g_f_str4 type char10,
g_f_value5 type char10 VALUE '000000012'.
START-OF-SELECTION.
* Concatenate operation
CONCATENATE g_f_value1 g_f_value2 into g_f_value3 SEPARATED BY space.
write:g_f_value3.
* condense operation
write:/.
write:'before condense operation'.
write:/.
WRITE:g_f_value4.
write:/.
condense g_f_value4.
write:'After condense operation'.
write:/.
write: g_f_value4.
* split operation
split g_f_value4 at space into :g_f_str1 g_f_str2 g_f_str3 g_f_str4.
write:/.
write:g_f_str1.
write:/.
write:g_f_str2.
write:/.
write:g_f_str3.
write:/.
write:g_f_str4.
* Translate operation
TRANSLATE g_f_value4 to UPPER CASE.
write:/.
write:g_f_value4.
* Replace operation
replace 'Sankarganesh' with 'Thirumalaisamy' into g_f_value3.
write:/.
write:g_f_value3.
* Search operation
SEARCH g_f_value1 for 's'.
write:/.
write:sy-fdpos.
* Shift operation
write:/.
write:g_f_value5.
write:/.
shift g_f_value5 LEFT DELETING LEADING '0'.
write: g_f_value5.
*& Report ZSTA_STRING_OPERATIONS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZSAN_STRING_OPERATIONS.
data:g_f_value1 type char10 value 'Sankarganesh',
g_f_value2 type char10 value 'Thirumalaisamy',
g_f_value3 type char50,
g_f_value4 type char40 VALUE 'this is small example',
g_f_str1 type char10,
g_f_str2 type char10,
g_f_str3 type char10,
g_f_str4 type char10,
g_f_value5 type char10 VALUE '000000012'.
START-OF-SELECTION.
* Concatenate operation
CONCATENATE g_f_value1 g_f_value2 into g_f_value3 SEPARATED BY space.
write:g_f_value3.
* condense operation
write:/.
write:'before condense operation'.
write:/.
WRITE:g_f_value4.
write:/.
condense g_f_value4.
write:'After condense operation'.
write:/.
write: g_f_value4.
* split operation
split g_f_value4 at space into :g_f_str1 g_f_str2 g_f_str3 g_f_str4.
write:/.
write:g_f_str1.
write:/.
write:g_f_str2.
write:/.
write:g_f_str3.
write:/.
write:g_f_str4.
* Translate operation
TRANSLATE g_f_value4 to UPPER CASE.
write:/.
write:g_f_value4.
* Replace operation
replace 'Sankarganesh' with 'Thirumalaisamy' into g_f_value3.
write:/.
write:g_f_value3.
* Search operation
SEARCH g_f_value1 for 's'.
write:/.
write:sy-fdpos.
* Shift operation
write:/.
write:g_f_value5.
write:/.
shift g_f_value5 LEFT DELETING LEADING '0'.
write: g_f_value5.
SAP ABAP ALL BASIC INTERNAL TABLE (Open SQL) OPERATIONS
*&---------------------------------------------------------------------*
*& Report ZTAS_ITAB_OPERATIONS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZTAS_ITAB_OPERATIONS.
* Data Type Declaration
TABLES: T001.
TYPES:BEGIN OF T_TY_ITAB,
BUKRS TYPE BUKRS, "Company Code
BUTXT TYPE BUTXT, "Company name
ORT01 TYPE ORT01, "City
LAND1 TYPE LAND1, "Country Key
END OF T_TY_ITAB.
DATA: ITAB TYPE TABLE OF T_TY_ITAB,
WA_ITAB TYPE T_TY_ITAB.
*Fetch data from the table T001 to Internal table
SELECT BUKRS BUTXT ORT01 LAND1 INTO TABLE ITAB FROM T001 WHERE LAND1 = 'DE'.
SORT ITAB DESCENDING BY BUKRS.
* Display Data
CLEAR:SY-INDEX.
LOOP AT ITAB INTO WA_ITAB .
* CLEAR:SY-INDEX.
WRITE :/ SY-ULINE(84). " ULINE DRAWS THE HORIZANTAL LINE , VLINE DRAWS VERTICAL LINE
WRITE: / SY-VLINE(1),SY-TABIX,SY-VLINE(1),
WA_ITAB-BUKRS,SY-VLINE(1),
WA_ITAB-BUTXT,SY-VLINE(1),
WA_ITAB-ORT01,SY-VLINE(1),
WA_ITAB-LAND1,SY-VLINE(1).
* WRITE:SY-INDEX.
ENDLOOP.
WRITE:/ SY-ULINE(84).
*ADDING MORE RECORDS
CLEAR : WA_ITAB. "CLEAR CONTENTS OF WORK AREA
WA_ITAB-BUKRS = 'A100'.
WA_ITAB-BUTXT = 'INVINCIBLER'.
WA_ITAB-ORT01 = 'MUMBAI'.
WA_ITAB-LAND1 = 'IN'.
APPEND WA_ITAB TO ITAB.
*Display Data AFTER ADDING RECORD
WRITE : / 'AFTER APPENDING DATA TO INTERNAL TABLE' COLOR 5.
LOOP AT ITAB INTO WA_ITAB .
WRITE :/ SY-ULINE(84). " ULINE DRAWS THE HORIZANTAL LINE , VLINE DRAWS VERTICAL LINE
WRITE: / SY-VLINE(1),SY-TABIX,SY-VLINE(1),
WA_ITAB-BUKRS,SY-VLINE(1),
WA_ITAB-BUTXT,SY-VLINE(1),
WA_ITAB-ORT01,SY-VLINE(1),
WA_ITAB-LAND1,SY-VLINE(1).
ENDLOOP.
WRITE:/ SY-ULINE(84).
CLEAR : WA_ITAB. "CLEAR CONTENTS OF WORK AREA
WA_ITAB-BUKRS = 'B100'.
WA_ITAB-BUTXT = 'LITTLEMASTER'.
WA_ITAB-ORT01 = 'DELHI'.
WA_ITAB-LAND1 = 'IN'.
INSERT WA_ITAB INTO ITAB INDEX 10. " INDEX 10 MEANS THE RECORD IS INSERTED AT 10 TH POSITION IN THE TABLE
* Display Data AFTER ADDING RECORD
WRITE : / 'AFTER INSERTING DATA TO INTERNAL TABLE' COLOR 5.
LOOP AT ITAB INTO WA_ITAB .
WRITE :/ SY-ULINE(84). " ULINE DRAWS THE HORIZANTAL LINE , VLINE DRAWS VERTICAL LINE
WRITE: / SY-VLINE(1),SY-TABIX,SY-VLINE(1), " SY-TABIX FINDS THE CURRENT LINE IN THE INTERNAL TABLE
WA_ITAB-BUKRS,SY-VLINE(1),
WA_ITAB-BUTXT,SY-VLINE(1),
WA_ITAB-ORT01,SY-VLINE(1),
WA_ITAB-LAND1,SY-VLINE(1).
ENDLOOP.
WRITE:/ SY-ULINE(84).
* DELETING DATA FROM INTERNAL TABLE
DELETE ITAB FROM 6 TO 9.
* SKIP 1. " specifies No of blank line
* DISPLAY DATA AFTER DELETING
WRITE : / 'AFTER DELETING DATA FROM INTERNAL TABLE' COLOR 5.
LOOP AT ITAB INTO WA_ITAB .
WRITE :/ SY-ULINE(84). " ULINE DRAWS THE HORIZANTAL LINE , VLINE DRAWS VERTICAL LINE
WRITE: / SY-VLINE(1),SY-TABIX,SY-VLINE(1), " SY-TABIX FINDS THE CURRENT LINE IN THE INTERNAL TABLE
WA_ITAB-BUKRS,SY-VLINE(1),
WA_ITAB-BUTXT,SY-VLINE(1),
WA_ITAB-ORT01,SY-VLINE(1),
WA_ITAB-LAND1,SY-VLINE(1).
ENDLOOP.
WRITE:/ SY-ULINE(84).
* MODIFICATION
CLEAR :WA_ITAB.
WA_ITAB-LAND1 = 'US'.
MODIFY ITAB FROM WA_ITAB TRANSPORTING LAND1 WHERE BUKRS = 'A100' OR BUKRS = 'B100'.
WRITE : / 'AFTER MODIFICATION DATA FROM INTERNAL TABLE' COLOR 5.
LOOP AT ITAB INTO WA_ITAB .
WRITE :/ SY-ULINE(84). " ULINE DRAWS THE HORIZANTAL LINE , VLINE DRAWS VERTICAL LINE
WRITE: / SY-VLINE(1),SY-TABIX,SY-VLINE(1), " SY-TABIX FINDS THE CURRENT LINE IN THE INTERNAL TABLE
WA_ITAB-BUKRS,SY-VLINE(1),
WA_ITAB-BUTXT,SY-VLINE(1),
WA_ITAB-ORT01,SY-VLINE(1),
WA_ITAB-LAND1,SY-VLINE(1).
ENDLOOP.
WRITE:/ SY-ULINE(84).
* READ INTERNAL TABLE
SORT ITAB DESCENDING BY BUKRS.
CLEAR :WA_ITAB.
READ TABLE ITAB INTO WA_ITAB WITH KEY LAND1 = 'US' BINARY SEARCH.
WRITE : / 'DATA AFTER READ' COLOR 5.
LOOP AT ITAB INTO WA_ITAB .
WRITE :/ SY-ULINE(84). " ULINE DRAWS THE HORIZANTAL LINE , VLINE DRAWS VERTICAL LINE
WRITE: / SY-VLINE(1),SY-TABIX,SY-VLINE(1), " SY-TABIX FINDS THE CURRENT LINE IN THE INTERNAL TABLE
WA_ITAB-BUKRS,SY-VLINE(1),
WA_ITAB-BUTXT,SY-VLINE(1),
WA_ITAB-ORT01,SY-VLINE(1),
WA_ITAB-LAND1,SY-VLINE(1).
ENDLOOP.
WRITE:/ SY-ULINE(84).
* DELETE ADJACENT DUPLICATES
CLEAR:WA_ITAB.
WA_ITAB-BUKRS = 'C100'.
WA_ITAB-BUTXT = 'MASTERBLASTER'.
WA_ITAB-ORT01 = 'CHENNAI'.
WA_ITAB-LAND1 = 'IN'.
DO 3 TIMES.
APPEND WA_ITAB TO ITAB.
ENDDO.
WRITE : / 'DATA AFTER ADDING DUPLICATES' COLOR 5.
LOOP AT ITAB INTO WA_ITAB .
WRITE :/ SY-ULINE(84). " ULINE DRAWS THE HORIZANTAL LINE , VLINE DRAWS VERTICAL LINE
WRITE: / SY-VLINE(1),SY-TABIX,SY-VLINE(1), " SY-TABIX FINDS THE CURRENT LINE IN THE INTERNAL TABLE
WA_ITAB-BUKRS,SY-VLINE(1),
WA_ITAB-BUTXT,SY-VLINE(1),
WA_ITAB-ORT01,SY-VLINE(1),
WA_ITAB-LAND1,SY-VLINE(1).
ENDLOOP.
WRITE:/ SY-ULINE(84).
SORT ITAB BY BUKRS. " SORT IS MANDATORY TO PERFORM ADJCENT DUPLICATES
DELETE ADJACENT DUPLICATES FROM ITAB COMPARING BUKRS.
WRITE : / 'DATA AFTER ADJACENT DUPLICATES' COLOR 5.
LOOP AT ITAB INTO WA_ITAB .
WRITE :/ SY-ULINE(84). " ULINE DRAWS THE HORIZANTAL LINE , VLINE DRAWS VERTICAL LINE
WRITE: / SY-VLINE(1),SY-TABIX,SY-VLINE(1), " SY-TABIX FINDS THE CURRENT LINE IN THE INTERNAL TABLE
WA_ITAB-BUKRS,SY-VLINE(1),
WA_ITAB-BUTXT,SY-VLINE(1),
WA_ITAB-ORT01,SY-VLINE(1),
WA_ITAB-LAND1,SY-VLINE(1).
ENDLOOP.
WRITE:/ SY-ULINE(84).
*& Report ZTAS_ITAB_OPERATIONS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZTAS_ITAB_OPERATIONS.
* Data Type Declaration
TABLES: T001.
TYPES:BEGIN OF T_TY_ITAB,
BUKRS TYPE BUKRS, "Company Code
BUTXT TYPE BUTXT, "Company name
ORT01 TYPE ORT01, "City
LAND1 TYPE LAND1, "Country Key
END OF T_TY_ITAB.
DATA: ITAB TYPE TABLE OF T_TY_ITAB,
WA_ITAB TYPE T_TY_ITAB.
*Fetch data from the table T001 to Internal table
SELECT BUKRS BUTXT ORT01 LAND1 INTO TABLE ITAB FROM T001 WHERE LAND1 = 'DE'.
SORT ITAB DESCENDING BY BUKRS.
* Display Data
CLEAR:SY-INDEX.
LOOP AT ITAB INTO WA_ITAB .
* CLEAR:SY-INDEX.
WRITE :/ SY-ULINE(84). " ULINE DRAWS THE HORIZANTAL LINE , VLINE DRAWS VERTICAL LINE
WRITE: / SY-VLINE(1),SY-TABIX,SY-VLINE(1),
WA_ITAB-BUKRS,SY-VLINE(1),
WA_ITAB-BUTXT,SY-VLINE(1),
WA_ITAB-ORT01,SY-VLINE(1),
WA_ITAB-LAND1,SY-VLINE(1).
* WRITE:SY-INDEX.
ENDLOOP.
WRITE:/ SY-ULINE(84).
*ADDING MORE RECORDS
CLEAR : WA_ITAB. "CLEAR CONTENTS OF WORK AREA
WA_ITAB-BUKRS = 'A100'.
WA_ITAB-BUTXT = 'INVINCIBLER'.
WA_ITAB-ORT01 = 'MUMBAI'.
WA_ITAB-LAND1 = 'IN'.
APPEND WA_ITAB TO ITAB.
*Display Data AFTER ADDING RECORD
WRITE : / 'AFTER APPENDING DATA TO INTERNAL TABLE' COLOR 5.
LOOP AT ITAB INTO WA_ITAB .
WRITE :/ SY-ULINE(84). " ULINE DRAWS THE HORIZANTAL LINE , VLINE DRAWS VERTICAL LINE
WRITE: / SY-VLINE(1),SY-TABIX,SY-VLINE(1),
WA_ITAB-BUKRS,SY-VLINE(1),
WA_ITAB-BUTXT,SY-VLINE(1),
WA_ITAB-ORT01,SY-VLINE(1),
WA_ITAB-LAND1,SY-VLINE(1).
ENDLOOP.
WRITE:/ SY-ULINE(84).
CLEAR : WA_ITAB. "CLEAR CONTENTS OF WORK AREA
WA_ITAB-BUKRS = 'B100'.
WA_ITAB-BUTXT = 'LITTLEMASTER'.
WA_ITAB-ORT01 = 'DELHI'.
WA_ITAB-LAND1 = 'IN'.
INSERT WA_ITAB INTO ITAB INDEX 10. " INDEX 10 MEANS THE RECORD IS INSERTED AT 10 TH POSITION IN THE TABLE
* Display Data AFTER ADDING RECORD
WRITE : / 'AFTER INSERTING DATA TO INTERNAL TABLE' COLOR 5.
LOOP AT ITAB INTO WA_ITAB .
WRITE :/ SY-ULINE(84). " ULINE DRAWS THE HORIZANTAL LINE , VLINE DRAWS VERTICAL LINE
WRITE: / SY-VLINE(1),SY-TABIX,SY-VLINE(1), " SY-TABIX FINDS THE CURRENT LINE IN THE INTERNAL TABLE
WA_ITAB-BUKRS,SY-VLINE(1),
WA_ITAB-BUTXT,SY-VLINE(1),
WA_ITAB-ORT01,SY-VLINE(1),
WA_ITAB-LAND1,SY-VLINE(1).
ENDLOOP.
WRITE:/ SY-ULINE(84).
* DELETING DATA FROM INTERNAL TABLE
DELETE ITAB FROM 6 TO 9.
* SKIP 1. " specifies No of blank line
* DISPLAY DATA AFTER DELETING
WRITE : / 'AFTER DELETING DATA FROM INTERNAL TABLE' COLOR 5.
LOOP AT ITAB INTO WA_ITAB .
WRITE :/ SY-ULINE(84). " ULINE DRAWS THE HORIZANTAL LINE , VLINE DRAWS VERTICAL LINE
WRITE: / SY-VLINE(1),SY-TABIX,SY-VLINE(1), " SY-TABIX FINDS THE CURRENT LINE IN THE INTERNAL TABLE
WA_ITAB-BUKRS,SY-VLINE(1),
WA_ITAB-BUTXT,SY-VLINE(1),
WA_ITAB-ORT01,SY-VLINE(1),
WA_ITAB-LAND1,SY-VLINE(1).
ENDLOOP.
WRITE:/ SY-ULINE(84).
* MODIFICATION
CLEAR :WA_ITAB.
WA_ITAB-LAND1 = 'US'.
MODIFY ITAB FROM WA_ITAB TRANSPORTING LAND1 WHERE BUKRS = 'A100' OR BUKRS = 'B100'.
WRITE : / 'AFTER MODIFICATION DATA FROM INTERNAL TABLE' COLOR 5.
LOOP AT ITAB INTO WA_ITAB .
WRITE :/ SY-ULINE(84). " ULINE DRAWS THE HORIZANTAL LINE , VLINE DRAWS VERTICAL LINE
WRITE: / SY-VLINE(1),SY-TABIX,SY-VLINE(1), " SY-TABIX FINDS THE CURRENT LINE IN THE INTERNAL TABLE
WA_ITAB-BUKRS,SY-VLINE(1),
WA_ITAB-BUTXT,SY-VLINE(1),
WA_ITAB-ORT01,SY-VLINE(1),
WA_ITAB-LAND1,SY-VLINE(1).
ENDLOOP.
WRITE:/ SY-ULINE(84).
* READ INTERNAL TABLE
SORT ITAB DESCENDING BY BUKRS.
CLEAR :WA_ITAB.
READ TABLE ITAB INTO WA_ITAB WITH KEY LAND1 = 'US' BINARY SEARCH.
WRITE : / 'DATA AFTER READ' COLOR 5.
LOOP AT ITAB INTO WA_ITAB .
WRITE :/ SY-ULINE(84). " ULINE DRAWS THE HORIZANTAL LINE , VLINE DRAWS VERTICAL LINE
WRITE: / SY-VLINE(1),SY-TABIX,SY-VLINE(1), " SY-TABIX FINDS THE CURRENT LINE IN THE INTERNAL TABLE
WA_ITAB-BUKRS,SY-VLINE(1),
WA_ITAB-BUTXT,SY-VLINE(1),
WA_ITAB-ORT01,SY-VLINE(1),
WA_ITAB-LAND1,SY-VLINE(1).
ENDLOOP.
WRITE:/ SY-ULINE(84).
* DELETE ADJACENT DUPLICATES
CLEAR:WA_ITAB.
WA_ITAB-BUKRS = 'C100'.
WA_ITAB-BUTXT = 'MASTERBLASTER'.
WA_ITAB-ORT01 = 'CHENNAI'.
WA_ITAB-LAND1 = 'IN'.
DO 3 TIMES.
APPEND WA_ITAB TO ITAB.
ENDDO.
WRITE : / 'DATA AFTER ADDING DUPLICATES' COLOR 5.
LOOP AT ITAB INTO WA_ITAB .
WRITE :/ SY-ULINE(84). " ULINE DRAWS THE HORIZANTAL LINE , VLINE DRAWS VERTICAL LINE
WRITE: / SY-VLINE(1),SY-TABIX,SY-VLINE(1), " SY-TABIX FINDS THE CURRENT LINE IN THE INTERNAL TABLE
WA_ITAB-BUKRS,SY-VLINE(1),
WA_ITAB-BUTXT,SY-VLINE(1),
WA_ITAB-ORT01,SY-VLINE(1),
WA_ITAB-LAND1,SY-VLINE(1).
ENDLOOP.
WRITE:/ SY-ULINE(84).
SORT ITAB BY BUKRS. " SORT IS MANDATORY TO PERFORM ADJCENT DUPLICATES
DELETE ADJACENT DUPLICATES FROM ITAB COMPARING BUKRS.
WRITE : / 'DATA AFTER ADJACENT DUPLICATES' COLOR 5.
LOOP AT ITAB INTO WA_ITAB .
WRITE :/ SY-ULINE(84). " ULINE DRAWS THE HORIZANTAL LINE , VLINE DRAWS VERTICAL LINE
WRITE: / SY-VLINE(1),SY-TABIX,SY-VLINE(1), " SY-TABIX FINDS THE CURRENT LINE IN THE INTERNAL TABLE
WA_ITAB-BUKRS,SY-VLINE(1),
WA_ITAB-BUTXT,SY-VLINE(1),
WA_ITAB-ORT01,SY-VLINE(1),
WA_ITAB-LAND1,SY-VLINE(1).
ENDLOOP.
WRITE:/ SY-ULINE(84).
SAP ABAP-Advanced Business Application Programming
ENTERPRISE RESOURCE PLANNING (ERP):
ERP is a package which provides solution for departmental functionalities of
an organization.
SAP ADVANTAGES:
* SAP can support any database at the back end.
* Platform independent.
* Supports multiple languages.
* Faster b/w networks.
* Can support any database in the backend.
* Transaction failure is very less comparing 2 other erp packages(0.03%).
SAP life cycle implementation.
* Package evaluation.
* Project planning and designing.
* Proto type.
* Gap analysis.
* Business process re-engineering.
* s/w installation and testing.
* End user training.
* Application transportation.
* Go live.
* Support and maintenance.
SAP landscape:
* Development server (functional).
* Quality server( testing).
* Production server (end-user uses the system).
Role of ABAPer:
* Screen creation.
* Table creation.
* Data migration.
* Reporting.
* Redirecting SAP data from d-base to o/p devices.(scripts & forms).
R/3 – real time data processing.
ABAP/4 – advanced business application programming. If a language
provides a d-base by default is called 4th generation language.
Subscribe to:
Posts (Atom)
