Registration

Dear SAP Community Member,
In order to fully benefit from what the SAP Community has to offer, please register at:
http://scn.sap.com
Thank you,
The SAP Community team.
Skip to end of metadata
Go to start of metadata

                                                   ALV
 1) What is ALV programming in ABAP? When is this grid used in ABAP? 
ALV is Application List viewer.
Sap provides a set of ALV (ABAP LIST VIEWER) function modules which can be put into use to embellish the output of a report. This set of ALV functions is used to enhance the readability and functionality of any report output. Cases arise in sap when the output of a report contains columns extending more than 255 characters in length. 
In such cases, this set of ALV functions can help choose selected columns and arrange the different columns from a report output and also save different variants for report display. This is a very efficient tool for dynamically sorting and arranging the columns from a report output. 
The report output can contain up to 90 columns in the display with the wide array of display options.
The commonly used ALV functions used for this purpose are;
1. REUSE_ALV_VARIANT_DEFAULT_GET
2. REUSE_ALV_VARIANT_F4
3. REUSE_ALV_VARIANT_EXISTENCE
4. REUSE_ALV_EVENTS_GET
5. REUSE_ALV_COMMENTARY_WRITE
6. REUSE_ALV_FIELDCATALOG_MERGE
7. REUSE_ALV_LIST_DISPLAY
8. REUSE_ALV_GRID_DISPLAY
9. REUSE_ALV_POPUP_TO_SELECT
   2)How you call this function in your report?
After completion of all the data fetching from the database and append this data into an Internal Table. say I_ITAB.
Then use follwing function module.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
            I_CALLBACK_PROGRAM       = 'Prog.name'
            I_STRUCTURE_NAME         = 'I_ITAB'
            I_DEFAULT                = 'X'
            I_SAVE                   = 'A'
       TABLES
            T_OUTTAB                 = I_ITAB.
  IF SY-SUBRC <> 0.
    WRITE: 'SY-SUBRC: ', SY-SUBRC .
  ENDIF.
ENDFORM.                    " GET_FINAL_DATA
 3) Upload Logo for REUSE_ALV_COMMENTARY_WRITE
For those who wish to upload and use a picture in your ALV abap reports.
Steps for uploading Logo :-:
1.  Goto the transaction OAER
2.  Enter the class name as 'PICTURES'
3.  Enter the class type as 'OT'
4.  Enter the object key as the name of the logo you wish to give
5.  Execute
6.  Then in the new screen select Standard doc. types in bottom window
     Click on the Screen icon 
     Now, it will ask for the file path where you have to upload the logo
7.  Now you can use this logo in REUSE_ALV_COMMENTARY_WRITE
or 
Import Logo and Background Picture for Reporting
In this step, you can import a customer-specific logo and a background picture into the R/3 System. These will be displayed in the header area of reports in HR Funds and Position Management.
From the SPRO: 
HR Funds and Position Management -> Dialog Control --> Customize Reporting Interface -> Import Logo and Background Picture for Reporting.
Activities
1. Enter the Name of your logo/background picture as an object key in the initial screen.
2. Make sure that the class name is PICTURES, and the class type is OT.
3. Choose Execute.
4. Double-click the document type Picture on the Create tab page.  A dialog box will appear in which you can enter the path in which the logo/background picture can be found.
5. Enter the path and choose Open.  The logo will be uploaded into the current R/3 System. If the logo/background picture is to be transported into other systems as well, choose Transport.
6. Return to the initial screen and repeat the procedure after having entered the Name of your background picture as an object key.
Please note that the logo/background picture can only be displayed in ALV-based reports with an HTML header. Manually programmed reports such as business distribution plans are not based on the ALV.
If you have selected several initial objects, ALV-based reports in HR Funds and Position Management will automatically use a hiearchical-sequential display. A logo is not displayed here either. Note also that the logo cannot be printed (see print preview in program).
Make sure that the logo does not exceed a height of 100 pixels because it would mean that the header of the report will be scrollable.
 4) How can I insert my company logo in the standard report?
It is not possible to print logo in the ordinary report, but it can be done through ALV.
Write  the code in Top-of-page event in ALV.
The following is the code for inserting the logo in ALV.
FORM TOP_OF_PAGE.
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
       EXPORTING
           I_LOGO             = 'ENJOYSAP_LOGO'
            IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
  5) How to Refresh ALV List/Grid once it is displayed? 
This mean to say that if you have a 'refresh' push button in your gui status, every time you press the button, the list should get refreshed.
In ALV, to refresh the table you have to call the method "refresh_table_display". 
It has the syntax very similar to creating the table. 
It has two parameters. In the first one, you can mention if you want to refresh only the data (the icons are not refreshed) 
or 
if you want to refresh only the icons around the grid (the data is not refreshed - this option is mostly not used in day to day applications).
the synatx is :-
call method grid (name of grid )->refresh_table_display
exporting
IS_STABLE = <STRUCT OF TYPE LVC_S_STBL> (THIS IS FOR DATA REFRESHING)
I_SOFT_REFRESH = <VARIABLE OF CHAR 01>  (THIS IS FOR ICON REFRESHING).

program to refresh alv grid control.

https://www.sdn.sap.com/irj/scn/wiki?path=/display/Snippets/demo+program+to+refresh+alv+grid%2528oops%2529
 6)  Sample programs on ALV Grid
report zbnstest.
************************************************************************
* TABLES AND DATA DECLARATION.
************************************************************************
*TABLES: mara,makt.",marc.
data syrepid like sy-repid.
data sydatum(10). " LIKE sy-datum.
data sypagno(3) type n.
 
* WHEN USING MORE THAN ONE TABLE IN ALV WE NEEED TO DECLARE THE TYPE
* GROUP (TYPE-POOLS--------->SLIS)
type-pools : slis.
 
************************************************************************
* INTERNAL TABLE DECLARATION.
************************************************************************
* INTERNAL TABLE TO HOLD THE VALUES FROM THE MARA TABLE
data: begin of t_mara occurs 0,
matnr like mara-matnr,
meins like mara-meins,
mtart like mara-mtart,
matkl like mara-matkl,
end of t_mara.
* INTERNAL TABLE TO HOLD THE CONTENTS FROM THE EKKO TABLE
data : begin of t_marc occurs 0,
matnr like mara-matnr,
werks like marc-werks,
minbe like marc-minbe.
data: end of t_marc.
* INTERNAL TABLE TO HOLD THE VALUES FROM MAKT TABLE.
data : begin of t_makt occurs 0,
matnr like mara-matnr,
maktx like makt-maktx,
spras like makt-spras,
end of t_makt.
* INTERNAL TABLE WHICH ACTUALLY MERGES ALL THE OTHER INTERNAL TABLES.
data: begin of itab1 occurs 0,
matnr like mara-matnr,
meins like mara-meins,
maktx like makt-maktx,
spras like makt-spras,
werks like marc-werks,
minbe like marc-minbe,
end of itab1.
 
* THE FOLLOWING DECLARATION IS USED FOR DEFINING THE FIELDCAT
* AND THE LAYOUT FOR THE ALV.
* HERE AS slis_t_fieldcat_alv IS A INTERNAL TABLE WITHOUT A HEADER LINE
* WE EXPLICITELY DEFINE AN INTERNAL TABLE OF THE SAME STRUCTURE AS THAT
* OF slis_t_fieldcat_alv BUT WITH A HEADER LINE IN THE DEFINITION.
* THIS IS DONE TO MAKE THE CODE SIMPLER.
* OTHERWISE WE MAY HAVE TO DEFINE THE STRUCTURE AS IN THE NORMAL SAP
* PROGRAMS.
* IN THE FIELDCATALOG TABLE WE ACTUALLY PASS THE FIELDS FROM ONE OR
* MORE TABLES AND CREATE A STRUCTURE
* IN THE LAYOUT STRUCTURE WE BASICALLY DEFINE THE FORMATTING OPTIONS
* LIKE DISPLAY IN THE ZEBRA PATTERN ,THE HOTSPOT OPTIONS ETC.
data: fieldcatalog type slis_t_fieldcat_alv with header line,
fieldlayout type slis_layout_alv.
 
* DECLARING THE EVENTTABLE INTERNL TABLE FOR USING EVENTS LIKE
* TOP-OF-PAGE ETC.
data : eventstab type slis_t_event with header line.
* DECLARING AN INTERNAL TABLE TO HOLD THE DATA FOR THE TOP-OF-PAGE
data : heading type slis_t_listheader with header line.
data : heading1 type slis_t_listheader with header line.
data : heading2 type slis_t_listheader with header line.
data : heading3 type slis_t_listheader with header line.
data : heading4 type slis_t_listheader with header line.
data : heading5 type slis_t_listheader with header line.
data : heading6 type slis_t_listheader with header line.
data : heading7 type slis_t_listheader with header line.
data : heading8 type slis_t_listheader with header line.
 
* STRUCTURE TO PASS THE COLOR ATTRIBUTES FOR DISPLAY.
data : colorstruct type slis_coltypes.
************************************************************************
* INITIALIZATION. *
************************************************************************
initialization.
syrepid = sy-repid.
sypagno = sy-pagno.
clear fieldcatalog.
 
************************************************************************
* START-OF-SELECTION. *
************************************************************************
start-of-selection.
* SUBROUTINE TO POPULATE THE COLORSTRUCT
perform fill_colorstruct using colorstruct.
* SUBROUTINE TO POPULATE THE FIELDS OF THE FIELD CATALOGUE
perform populate_fieldcatalog.
* SUBROUTINE TO SELECT DATA FROM VARIOUS TABLES AND POPULATE IT IN THE
* INTERNAL TABLE.
perform selectdata_and_sort.
* SUBROUTINE TO POPULATE THE LAYOUT STRUCTURE.
perform populate_layout using fieldlayout.
* SUBROUTINE TO CALL THE FUNCTION MERGE TO ENSURE PROPER DISPLAY.
perform merge_fieldcatalog.
* SUBROUTINE TO POPULATE THE EVENTSTAB.
perform fill_eventstab tables eventstab.
* SUBROUTINE TO POPULATE THE HEADING TABLES.
perform fill_headingtable tables heading using 'HEADING'.
perform fill_headingtable tables heading1 using 'HEADING1'.
perform fill_headingtable tables heading2 using 'HEADING2'.
perform fill_headingtable tables heading3 using 'HEADING3'.
perform fill_headingtable tables heading4 using 'HEADING4'.
perform fill_headingtable tables heading5 using 'HEADING5'.
perform fill_headingtable tables heading6 using 'HEADING6'.
perform fill_headingtable tables heading7 using 'HEADING7'.
perform fill_headingtable tables heading8 using 'HEADING8'.
* SUBROUTINE TO DISPLAY THE LIST.
perform display_alv_list.
 
 
************************************************************************
* FORMS
************************************************************************
* IN THIS SUBROUTINE WE POPULATE THE FIELDCATALOG TABLE WITH THE NAMES
* OF THE TABLE,FIELDNAME,WHETHER IT IS KEY FIELD OR NOT,HEADING AND
* COLUMN JUSTIFICATION.
form populate_fieldcatalog.
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MATNR' 'X' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MEINS' ' '.
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MAKTX' ' ' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MTART' ' ' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MATKL' ' ' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'SPRAS' ' ' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'WERKS' ' ' .
perform fill_fields_of_fieldcatalog tables fieldcatalog
using 'ITAB1' 'MINBE' ' ' .
endform. " POPULATE_FIELDCATALOG
 
*---------------------------------------------------------------------*
* FORM FILL_FIELDS_OF_FIELDCATALOG *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> FIELDCATALOG *
* --> P_TABNAME *
* --> P_FIELDNAME *
* --> P_KEY *
* --> P_KEY *
*---------------------------------------------------------------------*
form fill_fields_of_fieldcatalog tables fieldcatalog
structure fieldcatalog
using p_tabname
p_fieldname
p_key.
* p_no_out.
fieldcatalog-tabname = p_tabname.
fieldcatalog-fieldname = p_fieldname.
fieldcatalog-key = p_key.
fieldcatalog-emphasize = '1234'.
*fieldcatalog-no_out = p_no_out.
append fieldcatalog.
endform. " FILL_FIELDSOFFIELDCATALOG
 
*---------------------------------------------------------------------*
* FORM POPULATE_LAYOUT *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> FIELDLAYOUT *
*---------------------------------------------------------------------*
form populate_layout using fieldlayout type slis_layout_alv.
fieldlayout-f2code = '&ETA' .
fieldlayout-zebra = 'X'.
* FOR THE WINDOW TITLE.
fieldlayout-window_titlebar = 'ALV with Events'.
fieldlayout-colwidth_optimize = 'X'.
fieldlayout-no_vline = ' '.
*fieldlayout-no_input = 'X'.
fieldlayout-confirmation_prompt = ''.
fieldlayout-key_hotspot = 'X'.
* This removes the column headings if the flag is set to 'X'
fieldlayout-no_colhead = ' '.
*fieldlayout-hotspot_fieldname = 'MAKTX'.
fieldlayout-detail_popup = 'X'.
* fieldlayout-coltab_fieldname = 'X'.
endform. " POPULATE_LAYOUT
*---------------------------------------------------------------------*
* FORM SELECTDATA_AND_SORT *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
form selectdata_and_sort.
select matnr meins mtart matkl from mara
into corresponding fields of t_mara
up to 500 rows .
select matnr maktx spras from makt
into corresponding fields of t_makt
where matnr = t_mara-matnr and
spras = sy-langu.
select matnr werks minbe from marc
into corresponding fields of t_marc
where matnr = t_mara-matnr.
append t_marc.
endselect.
append t_makt.
endselect.
append t_mara.
endselect.
perform populate_itab1.
sort itab1 by matnr.
endform. " SELECTDATA_AND_SORT
*---------------------------------------------------------------------*
* FORM MERGE_FIELDCATALOG *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
form merge_fieldcatalog.
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = syrepid
i_internal_tabname = 'ITAB1'
* i_structure_name = 'COLORSTRUCT'
* I_CLIENT_NEVER_DISPLAY = 'X'
i_inclname = syrepid
changing
ct_fieldcat = fieldcatalog[]
exceptions
inconsistent_interface = 1
program_error = 2
others = 3.
endform. " MERGE_FIELDCATALOG
 
* IN THIS FUNCTION THE MINIMUM PARAMETERS THAT WE NEED TO PASS IS AS
* FOLLOWS:-
* i_callback_program --> CALLING PROGRAM NAME
* i_structure_name --> STRUCTURE NAME.
* is_layout --> LAYOUT NAME.
* it_fieldcat ---> BODY OF THE FIELD CATALOGUE INTERNAL TABLE
form display_alv_list.
call function 'REUSE_ALV_LIST_DISPLAY'
exporting
* I_INTERFACE_CHECK = ' '
i_callback_program = syrepid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
i_structure_name = 'ITAB1'
is_layout = fieldlayout
it_fieldcat = fieldcatalog[]
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* THE FOLLOWING PARAMETER IS SET AS 'A' INORDER TO DISPLAY THE STANDARD
* TOOL BAR
i_save = 'A'
* IS_VARIANT = ' '
it_events = eventstab[]
* IT_EVENT_EXIT =
* IS_PRINT =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
tables
t_outtab = itab1
exceptions
program_error = 1
others = 2.
endform. " DISPLAY_ALV_LIST
*&---------------------------------------------------------------------*
*& Form POPULATE_ITAB1
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form populate_itab1.
loop at t_mara.
loop at t_makt where matnr = t_mara-matnr.
loop at t_marc where matnr = t_mara-matnr.
move-corresponding t_mara to itab1.
move-corresponding t_makt to itab1.
move-corresponding t_marc to itab1.
append itab1.
endloop.
endloop.
endloop.
endform. " POPULATE_ITAB1
*&---------------------------------------------------------------------*
*& Form FILL_EVENTSTAB
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_EVENTSTAB text *
*----------------------------------------------------------------------*
form fill_eventstab tables p_eventstab structure eventstab.
* WHEN THE FOLLOWING FUNCTION IS CALLED THE SYSTEM POPULATES THE
* INTERNAL TABLE EVENTSTAB WITH A LIST OF EVENTS NAME.
* AS SHOWN BELOW WHEN USING I_LIST_TYPE = 0 THE FUNCTION RETURNS 14
* EVENTS NAME.
call function 'REUSE_ALV_EVENTS_GET'
exporting
i_list_type = 0
importing
et_events = p_eventstab[]
exceptions
list_type_wrong = 1
others = 2.
* BY CALLING THE ABOVE FUNCTION WE FIRST POPULATE THE EVENTSTAB WITH
* THE PREDEFINED EVENTS AND THEN WE MOVE THE FORM NAME AS SHOWN BELOW.
* WE ASSIGN A FORM NAME TO THE EVENT AS REQUIRED BY THE USER.
* FORM NAME CAN BE ANYTHING.THE PERFORM STATEMENT FOR THIS FORM
* IS DYNAMICALY CALLED.
read table p_eventstab with key name = slis_ev_top_of_page.
if sy-subrc = 0 .
move 'TOP_OF_PAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_top_of_coverpage.
if sy-subrc = 0 .
move 'TOP_OF_COVERPAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_end_of_coverpage .
if sy-subrc = 0 .
move 'END_OF_COVERPAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_foreign_top_of_page.
if sy-subrc = 0 .
move 'FOREIGN_TOP_OF_PAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_foreign_end_of_page.
if sy-subrc = 0 .
move 'FOREIGN_END_OF_PAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_list_modify.
if sy-subrc = 0 .
move 'LIST_MODIFY' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_top_of_list.
if sy-subrc = 0 .
move 'TOP_OF_LIST' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_end_of_page.
if sy-subrc = 0 .
move 'END_OF_PAGE' to p_eventstab-form.
append p_eventstab.
endif.
read table p_eventstab with key name = slis_ev_end_of_list .
if sy-subrc = 0 .
move 'END_OF_LIST' to p_eventstab-form.
append p_eventstab.
endif.
endform. " FILL_EVENTSTAB
*&---------------------------------------------------------------------*
*& Form FILL_HEADINGTABLE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_HEADING text *
*----------------------------------------------------------------------*
form fill_headingtable tables p_heading structure heading
using tablename.
case tablename.
when 'HEADING'.
p_heading-typ = 'H'.
concatenate
' REPORT NAME:-' syrepid
' ABB Industry Pte Ltd' into p_heading-info.
append p_heading.
write sy-datum using edit mask '_//___' to sydatum.
concatenate
' DATE:-' sydatum ' USER: ' sy-uname 'PAGE NO:' sypagno
into p_heading-info.
append p_heading.
when 'HEADING1'.
p_heading-typ = 'H'.
p_heading-info = 'TOP-OF-COVER-PAGE'.
append p_heading.
when 'HEADING2'.
p_heading-typ = 'H'.
p_heading-info = 'END-OF-COVER-PAGE'.
append p_heading.
when 'HEADING3'.
p_heading-typ = 'H'.
p_heading-info = 'FOREIGN-TOP-OF-PAGE'.
append p_heading.
when 'HEADING4'.
p_heading-typ = 'H'.
p_heading-info = 'FOREIGN-END-OF-PAGE'.
append p_heading.
* WHEN 'HEADING5'.
* P_HEADING-TYP = 'H'.
* P_HEADING-INFO = 'LIST-MODIFY'.
* APPEND P_HEADING.
when 'HEADING6'.
p_heading-typ = 'H'.
p_heading-info = 'END-OF-PAGE'.
append p_heading.
when 'HEADING7'.
p_heading-typ = 'H'.
p_heading-info = 'END-OF-LIST'.
append p_heading.
when 'HEADING8'.
p_heading-typ = 'H'.
p_heading-info = 'TOP-OF-LIST'.
append p_heading.
endcase.
endform. " FILL_HEADINGTABLE
*---------------------------------------------------------------------*
* FORM TOP_OF_PAGE *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
form top_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading[]
exceptions
others = 1.
endform.
*&---------------------------------------------------------------------*
*& Form FILL_COLORSTRUCT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_COLORSTRUCT text *
*----------------------------------------------------------------------*
form fill_colorstruct using p_colorstruct type slis_coltypes .
p_colorstruct-heacolfir-col = 6.
p_colorstruct-heacolfir-int = 1.
p_colorstruct-heacolfir-inv = 1.
endform. " FILL_COLORSTRUCT
*---------------------------------------------------------------------*
* FORM TOP_OF_COVERPAGE *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
form top_of_coverpage.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading1[]
exceptions
others = 1.
endform.
*---------------------------------------------------------------------*
* FORM END_OF_COVERPAGE *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
form end_of_coverpage.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading2[]
exceptions
others = 1.
endform.
*---------------------------------------------------------------------*
* FORM FOREIGN_TOP_OF_PAGE *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
form foreign_top_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading3[]
exceptions
others = 1.
endform.
*---------------------------------------------------------------------*
* FORM FOREIGN_END_OF_PAGE *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
form foreign_end_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading4[]
exceptions
others = 1.
endform.
*---------------------------------------------------------------------*
* FORM LIST_MODIFY *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
*FORM LIST_MODIFY.
* CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
* EXPORTING
* IT_LIST_COMMENTARY = HEADING5[]
* EXCEPTIONS
* OTHERS = 1.
*ENDFORM.
*---------------------------------------------------------------------*
* FORM END_OF_PAGE *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
form end_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading6[]
exceptions
others = 1.
endform.
*---------------------------------------------------------------------*
* FORM END_OF_LIST *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
form end_of_list.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading7[]
exceptions
others = 1.
endform.
*---------------------------------------------------------------------*
* FORM TOP_OF_LIST *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
form top_of_list.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = heading8[]
exceptions
others = 1.
endform.
*--- End of Program
 8) List of ABAP Functions


ABAP_DOCU_DOWNLOAD

Download ABAP documentation in HTML format.

 

APPL_LOG_DELETE

With this function module you delete logs in the database according to specified selection conditions

 

APPL_LOG_DISPLAY

With this function module you can analyze logs in the database.

 

APPL_LOG_DISPLAY_INTERN

With this function module you can analyze logs in local memory, e.g. when you have only collected log records at runtime and do not want to write to the database.

 

APPL_LOG_INIT

This function module checks whether the specified object or sub-object exists and deletes all existing associated data in local memory.

 

APPL_LOG_READ_DB

With this function module you read the log data in the database for an object or sub-object according to specified selection conditions.

 

APPL_LOG_READ_INTERN

With this function module you read all log data whose log class has at least the specified value, from local memory, for the specified object or sub-object.

 

APPL_LOG_SET_OBJECT

With this function module, you create a new object or sub-object for writing in local memory. With a flag you can control whether the APPL_LOG_WRITE_... messages are written in local memory or are output on the screen.

 

APPL_LOG_WRITE_DB

With this function module you write all data for the specified object or sub-object in local memory to the database. If the log for the object or sub-object in question is new, the log number is returned to the calling program.

 

APPL_LOG_WRITE_HEADER

With this function module, you write the log header data in local memory.

 

APPL_LOG_WRITE_LOG_PARAMETERS

With this function module, you write the name of the log parameters and the associated values for the specified object or sub-object in local memory. If this function module is called repeatedly for the same object or sub-object, the existing parameters are updated accordingly. If you do not specify an object or sub-object with the call, the most recently used is assumed.

 

APPL_LOG_WRITE_MESSAGE_PARAMS

With this function module you write a single message, with parameters, in local memory. Otherwise the function module works like APPL_LOG_WRITE_SINGLE_MESSAGE.

 

APPL_LOG_WRITE_MESSAGES

With this function module you write one or more messages, without parameters, in local memory.

 

APPL_LOG_WRITE_SINGLE_MESSAGE

With this function module you write a single message, without parameters, in local memory. If no header entry has yet been written for the object or sub-object, it is created. If you do not specify an object or sub-object with the call, the most recently used is assumed.

 

ARFC_GET_TID

will return the IP address of the terminal in hex.

 

BAL_CNTL_CREATE

Create Control for log display

 

BAL_CNTL_FREE

Release Control

 

BAL_CNTL_REFRESH

Put new data in log display

 

BAL_DB_DELETE

Delete logs from the database

 

BAL_DB_DEQUEUE

Unlock log

 

BAL_DB_ENQUEUE

Lock log

 

BAL_DB_LOAD

Load logs from the database

 

BAL_DB_LOAD

Load log(s)

 

BAL_DB_SAVE

Save logs in the database

 

BAL_DB_SAVE

Save log(s)

 

BAL_DB_SAVE_PREPARE

Prepare save

 

BAL_DB_SEARCH

Find logs in the database

 

BAL_DSP_LOG_DISPLAY

Display messages in memory

 

BAL_DSP_LOG_DISPLAY

Display Log

 

BAL_DSP_LOG_PARAMETERS

Either output extended long text or call a callback routine (based on the data in BAL_S_LOG-PARAMS)

 

BAL_DSP_LOG_TECHNICAL_DATA

Output all log header data

 

BAL_DSP_MSG_LONGTEXT

Display message long text

 

BAL_DSP_MSG_PARAMETERS

Either output extended long text or call a callback routine (based on the data in BAL_S_MSG-PARAMS)

 

BAL_DSP_MSG_TECHNICAL_DATA

Output technical data of a message such as work area, error number, etc.

 

BAL_DSP_OUTPUT_FREE

End output

 

BAL_DSP_OUTPUT_INIT

Initialize output

 

BAL_DSP_OUTPUT_SET_DATA

Set dataset to be displayed

 

BAL_DSP_PROFILE_DETLEVEL_GET

Message hierarchy in DETLEVEL

 

BAL_DSP_PROFILE_NO_TREE_GET

Display without tree (fullscreen)

 

BAL_DSP_PROFILE_POPUP_GET

Display without tree (popup)

 

BAL_DSP_PROFILE_SINGLE_LOG_GET

Standard profile (SLG1) for one log

 

BAL_DSP_PROFILE_STANDARD_GET

Standard profile (SLG1) for a lot of logs

 

BAL_GLB_AUTHORIZATION_GET

Assign authorization

 

BAL_GLB_AUTHORIZATION_RESET

Reset authorization

 

BAL_GLB_CONFIG_GET

Read configuration

 

BAL_GLB_CONFIG_SET

Set configuration

 

BAL_GLB_MEMORY_EXPORT

Put function group memory in ABAP-MEMORY

 

BAL_GLB_MEMORY_IMPORT

Get function group memory from ABAP-MEMORY

 

BAL_GLB_MEMORY_REFRESH

(Partially) reset global memory

 

BAL_GLB_MEMORY_REFRESH

(Partially) initialize memory

 

BAL_GLB_MSG_CURRENT_HANDLE_GET

Get current message handle

 

BAL_GLB_MSG_DEFAULTS_GET

Get message defaults

 

BAL_GLB_SEARCH_LOG

Find logs in memory

 

BAL_GLB_SEARCH_MSG

Find messages in memory

 

BAL_LOG_CREATE

Create log with header data

 

BAL_LOG_CREATE

Create log with header data

 

BAL_LOG_DELETE

Delete log (from database also at Save)

 

BAL_LOG_EXIST

Check existence of a log in memory

 

BAL_LOG_HDR_CHANGE

Change log header

 

BAL_LOG_HDR_CHECK

Check log header data for consistency

 

BAL_LOG_HDR_READ

Read log header and other data

 

BAL_LOG_MSG_ADD

Put message in log

 

BAL_LOG_MSG_ADD

Put message in log

 

BAL_LOG_MSG_CHANGE

Change message

 

BAL_LOG_MSG_CHANGE

Change message

 

BAL_LOG_MSG_CHECK

Check message data for consistency

 

BAL_LOG_MSG_CUMULATE

Add message cumulated

 

BAL_LOG_MSG_DELETE

Delete message

 

BAL_LOG_MSG_DELETE

Delete message

 

BAL_LOG_MSG_EXIST

Check existence of a message in memory

 

BAL_LOG_MSG_READ

Read message and other data

 

BAL_LOG_MSG_REPLACE

Replace last message

 

BAL_LOG_REFRESH

Delete log from memory

 

BAL_LOG_REFRESH

Delete log from memory

 

BAL_MSG_DISPLAY_ABAP

Output message as ABAP-MESSAGE

 

BAL_OBJECT_SELECT

Read Application Log objects table record

 

BAL_OBJECT_SUBOBJECT

Check whether object and subobject exist and the combination is allowed

 

BAL_SUBOBJECT_SELECT

Read subobject table record

 

BP_EVENT_RAISE

Trigger an event from ABAP/4 program

 

BP_JOBLOG_READ

Fetch job log executions

 

CHANGEDOCUMENT_READ_HEADERS

Get the change document header for a sales document, and put the results in an internal table.

 


Example:
CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
EXPORTING
objectclass = 'EINKBELEG'
objectid = l_objectid
username = space
TABLES
i_cdhdr = lt_cdhdr.
LOOP AT lt_cdhdr WHERE udate IN s_aedat.
CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
EXPORTING
changenumber = lt_cdhdr-changenr
TABLES
editpos = lt_editpos.
LOOP AT lt_editpos WHERE fname = 'LOEKZ'
AND f_new = 'L'.
p_desc = text-r01. " Cancel Contract
ENDLOOP.
ENDLOOP.

CHANGEDOCUMENT_READ_POSITIONS

Get the details of a change document, and store them in an internal table. This will tell you whether a field was changed, deleted, or updated.

 


Example:
CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
EXPORTING
objectclass = 'EINKBELEG'
objectid = l_objectid
username = space
TABLES
i_cdhdr = lt_cdhdr.
LOOP AT lt_cdhdr WHERE udate IN s_aedat.
CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
EXPORTING
changenumber = lt_cdhdr-changenr
TABLES
editpos = lt_editpos.
LOOP AT lt_editpos WHERE fname = 'LOEKZ'
AND f_new = 'L'.
p_desc = text-r01. " Cancel Contract
ENDLOOP.
ENDLOOP.

CLAF_CLASSIFICATION_OF_OBJECTS

Return all of the characteristics for a material

 

CLOI_PUT_SIGN_IN_FRONT

Move the negative sign from the left hand side of a number, to the right hand side of the number. Note that The result will be left justified (like all character fields), not right justifed as numbers normally are.

 

CLPB_EXPORT

Export a text table to the clipboard (on presentation server)

 

CLPB_IMPORT

Import a Text Table from the Clipboard (on presentation server)

 

COMMIT_TEXT

To load long text into SAP

 

CONVERSION_EXIT_ALPHA_INPUT

converts any number into a string fill with zeroes, with the number at the extreme right

 


Example:
input = 123
output = 0000000000000...000000000000123

CONVERSION_EXIT_ALPHA_OUTPUT

converts any number with zeroes right into a simple integer

 


Example:
input = 00000000000123
output = 123

CONVERT_ABAPSPOOLJOB_2_PDF

convert abap spool output to PDF

 

CONVERT_OTF

Convert SAP documents (SAPScript) to other types.

 


Example:
CALL FUNCTION "CONVERT_OTF"
EXPORTING FORMAT = "PDF"
IMPORTING BIN_FILESIZE = FILE_LEN
TABLES OTF = OTFDATA
LINES = PDFDATA
EXCEPTIONS ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV_NOT_POSSIBLE = 3
OTHERS = 4.

CONVERT_OTFSPOOLJOB_2_PDF

converts a OTF spool to PDF (i.e. Sapscript document)

 

CONVERT_TO_FOREIGN_CURRENCY

Convert local currency to foreign currency.

 

CONVERT_TO_LOCAL_CURRENCY

Convert from foreign currency to local currency

 

DATE_CHECK_PLAUSIBILITY

Check to see if a date is in a valid format for SAP. Works well when validating dates being passed in from other systems.

 

DATE_COMPUTE_DAY

Returns a number indicating what day of the week the date falls on. Monday is returned as a 1, Tuesday as 2, etc.

 

DATE_GET_WEEK

will return the week that a date is in.

 

DATE_IN_FUTURE

Calculate a date N days in the future.

 

DAY_ATTRIBUTES_GET

Return useful information about a day. Will tell you the day of the week as a word (Tuesday), the day of the week (2 would be Tuedsay), whether the day is a holiday, and more.(provided by Francois Henrotte)

 

DOWNLOAD

download a file to the presentation server (PC)

 

DYNP_VALUES_READ

Read the values from a dynpro. This function can be used to read the values from a report's selection screen too (Another example).

 

DYNP_VALUES_UPDATE

Similar to DYNP_VALUES_READ, this function will allow the updating of fields on a dynpro. Very useful when you want to change a field based on the value entered for another field.

 

ENQUE_SLEEP

Wait a specified period of time before continuing processing.

 

ENQUEUE_ESFUNCTION

Lock an abap program so that it cannot be executed.

 


Example:
Set the parameters as follows:
RELID = 'ZZ'
SRTF2 = 0
SRTF = (your report name)

Please note that you should not use SY-REPID to pass your report name to the function. The value of SY-REPID will change as it is being passed to the function module, and will no longer hold the value of the calling report.

EPS_GET_DIRECTORY_LISTING

return a list of filenames from a local or network drive

 

EPS_GET_FILE_ATTRIBUTES

Pass in a filename and a path, and will return attributes for the file

 

F4_DATE

displays a calendar in a popup window and allows user to choose a date, or it can be displayed read only.

 

F4_IF_FIELD_VALUE_REQUEST

Use values from a DDIC table to provide a list of possible values. TABNAME and FIELDNAME are required fields, and when MULTIPLE_CHOICE is selected, more than one value can be returned.

 

F4IF_INT_TABLE_VALUE_REQUEST

F4 help that returns the values selected in an internal table. Very handy when programming your very own F4 help for a field.

 


Example:
data:
begin of t_values occurs 2,
value like kna1-begru,
end of t_values,
t_return like ddshretval occurs 0 with header line.
t_values = 'PAR*'.
append t_values.
t_values = 'UGG'.
append t_values.
call function 'F4IF_INT_TABLE_VALUE_REQUEST'
exporting
retfield = 'BEGRU'
value_org = 'S'
tables
value_tab = t_values
return_tab = t_return
exceptions
parameter_error = 1
no_values_found = 2
others = 3.
if sy-subrc = 0.
read table t_return index 1.
o_begru-low = t_return-fieldval.
if o_begru-low = 'PAR*'.
o_begru-option = 'CP'.
else.
o_begru-option = 'EQ'.
endif.
o_begru-sign = 'I'.
append o_begru to s_begru.
else.
o_begru = i_begru.
endif.

F4IF_SHLP_EXIT_EXAMPLE

documents the different reasons to use a search help exit, and shows how it is done.

 

F4IP_INT_TABLE_VALUE_REQUEST

This function does not exist in 4.6 and above. Use F4IF_INT_TABLE_VALUE_REQUEST instead.

 

FILENAME_GET

popup to get a filename from a user, returns blank filename if user selects cancel

 

FORMAT_MESSAGE

Takes a message id and number, and puts it into a variable. Works better than WRITE_MESSAGE, since some messages use $ as a place holder, and WRITE_MESSAGE does not accommadate that, it only replaces the ampersands (&) in the message.

 

FTP_COMMAND

Execute a command on the FTP server

 

FTP_CONNECT

Open a connection (and log in) to an FTP server

 

FTP_DISCONNECT

Close the connection (and log off) the FTP server

 

FU CSAP_MAT_BOM_READ

You can use this function module to display simple material BOMs. You cannot display BOM groups (for example, all variants of a variant BOM). as in transaction CS03. Current restrictions: You cannot display long texts. You cannot display sub-items. You cannot display classification data of BOM items for batches. You can only display one alternative or variant. You cannot enter an alternative for module CSAP_MAT_BOM_READ, so you always see alternative 01. The following example came from a posting on the SAP-R3-L mailing list.

 


Example:
data: begin of tstk2 occurs 0.
include structure stko_api02.
data: end of tstk2.
data: begin of tstp2 occurs 0.
include structure stpo_api02.
data: end of tstp2.
data: begin of tdep_data occurs 0.
include structure csdep_data.
data: end of tdep_data.
data: begin of tdep_descr occurs 0.
include structure csdep_descr.
data: end of tdep_descr.
data: begin of tdep_source occurs 0.
include structure csdep_source.
data: end of tdep_source.
data: begin of tdep_order occurs 0.
include structure csdep_order.
data: end of tdep_order.
data: begin of tdep_doc occurs 0.
include structure csdep_doc.
data: end of tdep_doc.
data: flg_warning like capiflag-flwarning.
call function 'CSAP_MAT_BOM_READ'
exporting
material = 'MAT100'
plant = '0001'
bom_usage = '1'
valid_from = '20.12.1996'

  • valid_to
    importing
    fl_warning = flg_warning
    tables
    t_stko = tstk2
    t_stpo = tstp2
    t_dep_data = tdep_data
    t_dep_descr = tdep_descr
    t_dep_source = tdep_source
    t_dep_order = tdep_order
    t_dep_doc = tdep_doc
    exceptions
    error = 1.

Function Group GRAP is now obsolete.

SAP recommends using functions in function group SFES instead. Below is an overview of the changes.

 

G_SET_GET_ALL_VALUES

Fetch values from a set.

 

GET_CURRENT_YEAR

Get the current fiscal year.

 


Example:
CALL FUNCTION 'GET_CURRENT_YEAR'
EXPORTING
BUKRS = '1000' " Company Code
DATE = SY-DATUM " Date to find fiscal year for
IMPORTING
CURRM = w_currm " Current Fiscal Month
CURRY = w_curry " Current Fiscal Year
PREVM = w_prevm " Previous Fiscal Month
PREVY = w_prevy. " Previous Fiscal Year

GET_GLOBAL_SYMBOLS

Returns a list of all tables, select options, texts, etc for a program. Even includes the text definitions for the selection screen

 

GET_INCLUDETAB

Returns a list of all INCLUDES in a program

 

GET_JOB_RUNTIME_INFO

Get the current job number from a program. Also returns other useful info about the current job.

 

GUI_CREATE_DIRECTORY

Create a directory on the presentation server

 

GUI_DELETE_FILE

Replaces WS_FILE_DELETE. Delete a file on the presentation server

 

GUI_DOWNLOAD

Replaces WS_DOWNLOAD. Download table from the app server to presentation server

 

GUI_EXEC

Replaces WS_EXECUTE. Start a File or Program Asynchronously with WinExec

 

GUI_GET_DESKTOP_INFO

Replaces WS_QUERY. Delivers Information About the Desktop (client)

 

GUI_REMOVE_DIRECTORY

Delete a directory on the presentation server

 

GUI_RUN

Start a File or Program Asynchronously with ShellExecute

 

GUI_UPLOAD

Replaces WS_UPLOAD. Upoad file from presentation server to the app server

 

HELP_START

Display help for a field. Useful for doing AT SELECTION SCREEN ON VALUE REQUEST for those fields that do not provide F4 help at the DDIC level.

 

HELP_VALUES_GET_WITH_TABLE

Show a list of possible values for F4 popup help on selection screens. This function module pops up a screen that is just like all the other F4 helps, so it looks like the rest of the SAP system. Very useful for providing dropdowns on fields that do not have them predefined.

 


Example:
tables: t001w.
DATA: lc_werks LIKE t001w-werks,
ltab_fields LIKE help_value OCCURS 0 with header line,
BEGIN OF ltab_values OCCURS 0,
feld(40) TYPE c,
END OF ltab_values.

  • *- *-- Set up fields to retrieve data
    ltab_fields-tabname = 'T001W'.
    ltab_fields-fieldname = 'WERKS'.
    ltab_fields-selectflag = 'X'.
    APPEND ltab_fields.
    ltab_fields-tabname = 'T001W'.
    ltab_fields-fieldname = 'NAME1'.
    ltab_fields-selectflag = space.
    APPEND ltab_fields.
    • *-- Fill values
      select * from t001w.
      ltab_values-feld = t001w-werks.
      append ltab_values.
      ltab_values-feld = t001w-name1.
      append ltab_values.
      endselect.
      CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE'
      EXPORTING
      fieldname = 'WERKS'
      tabname = 'T001W'
      title_in_values_list = 'Select a value'
      IMPORTING
      select_value = lc_werks
      TABLES
      fields = ltab_fields
      valuetab = ltab_values
      EXCEPTIONS
      field_not_in_ddic = 01
      more_then_one_selectfield = 02
      no_selectfield = 03.

HOLIDAY_CHECK_AND_GET_INFO

Useful for determining whether or not a date is a holiday. Give the function a date, and a holiday calendar, and you can determine if the date is a holiday by checking the parameter HOLIDAY_FOUND.

 


Example:
data: ld_date like scal-datum default sy-datum,
lc_holiday_cal_id like scal-hcalid default 'CA',
ltab_holiday_attributes like thol occurs 0 with header line,
lc_holiday_found like scal-indicator.
CALL FUNCTION 'HOLIDAY_CHECK_AND_GET_INFO'
EXPORTING
date = ld_date
holiday_calendar_id = lc_holiday_cal_id
WITH_HOLIDAY_ATTRIBUTES = 'X'
IMPORTING
HOLIDAY_FOUND = lc_holiday_found
tables
holiday_attributes = ltab_holiday_attributes
EXCEPTIONS
CALENDAR_BUFFER_NOT_LOADABLE = 1
DATE_AFTER_RANGE = 2
DATE_BEFORE_RANGE = 3
DATE_INVALID = 4
HOLIDAY_CALENDAR_ID_MISSING = 5
HOLIDAY_CALENDAR_NOT_FOUND = 6
OTHERS = 7.
if sy-subrc = 0 and
lc_holiday_found = 'X'.
write: / ld_date, 'is a holiday'.
else.
write: / ld_date, 'is not a holiday, or there was an error calling the function'.
endif.

HOLIDAY_GET

Provides a table of all the holidays based upon a Factory Calendar &/ Holiday Calendar.

 

HR_DISPLAY_BASIC_LIST

is an HR function, but can be used for any data. You pass it data, and column headers, and it provides a table control with the ability to manipulate the data, and send it to Word or Excel. Also see the additional documentation here.

 

HR_GET_LEAVE_DATA

Get all leave information (includes leave entitlement, used holidays/paid out holidays)

 

HR_IE_NUM_PRSI_WEEKS

Return the number of weeks between two dates.

 

HR_PAYROLL_PERIODS_GET

Get the payroll period for a particular date. (provided by Francois Henrotte)

 


Example:
DATA: IT_T549Q TYPE T549Q OCCURS 0 WITH HEADER LINE,
IT_ZL TYPE PC2BF OCCURS 0 WITH HEADER LINE.
W_BEGDA = '20010101'.
W_PERNR = '00000001'.
CALL FUNCTION 'HR_PAYROLL_PERIODS_GET'
EXPORTING
get_begda = w_begda
TABLES
get_periods = it_t549q
EXCEPTIONS
no_period_found = 1
no_valid_permo = 2.
CHECK sy-subrc = 0.
CALL FUNCTION 'HR_TIME_RESULTS_GET'
EXPORTING
get_pernr = w_pernr
get_pabrj = it_t549q-pabrj
get_pabrp = it_t549q-pabrp
TABLES
get_zl = it_zl
EXCEPTIONS
no_period_specified = 1
wrong_cluster_version = 2
no_read_authority = 3
cluster_archived = 4
technical_error = 5.
NOTE: it_zl-iftyp = 'A' absence
it_zl-iftyp = 'S' at work

HR_TIME_RESULTS_GET

Get the time results for a payroll period. (provided by Francois Henrotte)

 


Example:
DATA: IT_T549Q TYPE T549Q OCCURS 0 WITH HEADER LINE,
IT_ZL TYPE PC2BF OCCURS 0 WITH HEADER LINE.
W_BEGDA = '20010101'.
W_PERNR = '00000001'.
CALL FUNCTION 'HR_PAYROLL_PERIODS_GET'
EXPORTING
get_begda = w_begda
TABLES
get_periods = it_t549q
EXCEPTIONS
no_period_found = 1
no_valid_permo = 2.
CHECK sy-subrc = 0.
CALL FUNCTION 'HR_TIME_RESULTS_GET'
EXPORTING
get_pernr = w_pernr
get_pabrj = it_t549q-pabrj
get_pabrp = it_t549q-pabrp
TABLES
get_zl = it_zl
EXCEPTIONS
no_period_specified = 1
wrong_cluster_version = 2
no_read_authority = 3
cluster_archived = 4
technical_error = 5.
NOTE: it_zl-iftyp = 'A' absence
it_zl-iftyp = 'S' at work

INIT_TEXT

To load long text into SAP

 

K_WERKS_OF_BUKRS_FIND

Return a list of all plants for a given company code.

 

LIST_FROM_MEMORY

Retrieves the output of a report from memory when the report was executed using SUBMIT... EXPORTING LIST TO MEMORY. See also WRITE_LIST.

 

LIST_TO_ASCII

convert an ABAP report (displayed on screen) from OTF to ASCII format

 

MBEW_EXTEND

Get the stock position for the previous month. This displays the same info that you see in MM03.

 

MONTH_NAMES_GET

It returns all the month and names in repective language.

 

MONTH_PLUS_DETERMINE

Add or subtract months from a date. To subtract a month, enter a negative value for the 'months' parameter.

 


Example:
data: new_date type d.
CALL FUNCTION 'MONTH_PLUS_DETERMINE'
EXPORTING
months = -5 " Negative to subtract from old date, positive to add
olddate = sy-datum
IMPORTING
NEWDATE = new_date.
write: / new_date.

MS_EXCEL_OLE_STANDARD_OLE

will build a file, and automatically start Excel

 

OTF_CONVERT

wraps several other function modules. Will convert OTF to ASCII or PDF

 

POPUP_TO_CONFIRM_LOSS_OF_DATA

Create a dialog box in which you make a question whether the user wishes to perform a processing step with loss of data.

 

POPUP_TO_CONFIRM_STEP

Create a dialog box in which you make a question whether the user wishes to perform the step.

 

POPUP_TO_CONFIRM_WITH_MESSAGE

Create a dialog box in which you inform the user about a specific decision point during an action.

 

POPUP_TO_CONFIRM_WITH_VALUE

Create a dialog box in which you make a question whether the user wishes to perform a processing step with a particular object.

 

POPUP_TO_DECIDE

Provide user with several choices as radio buttons

 

POPUP_TO_DECIDE_WITH_MESSAGE

Create a dialog box in which you inform the user about a specific decision point via a diagnosis text.

 

POPUP_TO_DISPLAY_TEXT

Create a dialog box in which you display a two line message

 

POPUP_TO_SELECT_MONTH

Popup to choose a month

 

POPUP_WITH_TABLE_DISPLAY

Provide a display of a table for user to select one, with the value of the table line returned when selected.

 

PRICING

Return pricing conditions in an internal table. Use structure TCOMK for parameter COMM_HEAD_1, and structure TCOMP for parameter COMM_ITEM_1, and set CALCULATION_TYPE to B. The pricing conditions will be returned in XOMV. You must fill TCOMP, and TCOMK with the appropriate values before callling the function in order for it to work.

 

PROFILE_GET

Read an Entry in an INI File on the frontend

 

PROFILE_SET

Write an Entry in an INI File on the frontend

 

READ_TEXT

To load long text into SAP

 

REGISTRY_GET

Read an Entry from the Registry

 

REGISTRY_SET

Set an entry in the Registry

 

RFC_ABAP_INSTALL_AND_RUN

Runs an ABAP program that is stored in the table PROGRAM when the MODE = 'F'. Table WRITES contains the ouput of the program. Allows you to run a program without having the source code in the target system.

 

RH_GET_ACTIVE_WF_PLVAR

Return the active HR Plan

 

RH_GET_DATE_DAYNAME

return the day based on the date provied

 

RH_START_EXCEL_WITH_DATA

starts Excel with the contents of an internal table. This function finds Excel in the desktop registry. It also uses a local PC working directory to save the file (that's what the 'W' value for data path flag does). Very transparent to user!

 

RH_STRUC_GET

Returns all related org info

 

RHP0_POPUP_F4_SEARK

is a matchcode for any type of HR Planning object, including the possibility to fill the field that you want

 


Example:
Examples: search for any organizational structure
F4 = 'X'
PLVAR = '01'
OTYPE = 'O '
search for any persons
F4 = 'X'
PLVAR = '01'
OTYPE = 'P '
MULTI_SELECT = 'X' to allow multiple selection
EASY = 'X' for user-dependent matchcode
Unfortunately, the use of table BASE_OBJIDS is disabled, so you can't specify
a root for the hierarchy you display

RKD_WORD_WRAP

Convert a long string or phrase into several lines.

 

RP_CALC_DATE_IN_INTERVAL

Add/subtract years/months/days from a date

 

RP_LAST_DAY_OF_MONTHS

Determine last day of month

 

RPY_DYNPRO_READ

Read dynpro, including screen flow

 

RPY_TRANSACTION_READ

Given a transaction, return the program and screen or given a program and screen, return the transactions that use the program and screen.

 

RS_COVERPAGE_SELECTIONS

Returns an internal table that contains a formatted list of all the selection parameters entered for a report. Table is ready to print out.

 

RS_REFRESH_FROM_SELECTOPTIONS

Get the current contents of selection screen

 

RS_SEND_MAIL_FOR_SPOOLLIST

Send message from ABAP/4 program to SAPoffice.

 

RS_VARIANT_CONTENTS

Returns the contents of the specified variant in a table.

 

RSPO_DOWNLOAD_SPOOLJOB

Download the spool from a program to a file. Requires spool number.

 

RSPO_RETURN_ABAP_SPOOLJOB

Fetch printer spool according to the spool number informed.

 

RZL_READ_DIR

If the server name is left blank, it reads a directory from local presentation server, otherwise it reads the directory of the remote server

 

RZL_READ_DIR_LOCAL

Read a directory on the Application Server

 

RZL_READ_FILE

Read a file from the presentation server if no server name is given, or read file from remote server. Very useful to avoid authority checks that occur doing an OPEN DATASET. This function using a SAP C program to read the data.

 

RZL_SLEEP

Hang the current application from 1 to 5 seconds.

 

RZL_SUBMIT

Submit a remote report.

 

RZL_WRITE_FILE_LOCAL

Saves table to the presentation server (not PC). Does not use OPEN DATASET, so it does not suffer from authority checks!

 

SAP_CONVERT_TO_XLS_FORMAT

Convert data to Microsoft Excel format.

 

SAPGUI_PROGRESS_INDICATOR

Display a progress bar on the SAP GUI, and give the user some idea of what is happening

 

SAVE_TEXT

To load long text into SAP

 

SCROLLING_IN_TABLE

If you are coding a module pool and using a table control, you can use this function SCROLLING_IN_TABLE to handle any scrolling. (provided by Paul Kjaer)

 

SD_DATETIME_DIFFERENCE

Give the difference in Days and Time for 2 dates

 

SO_NEW_DOCUMENT_ATT_SEND_API1

Send a document as part of an email. The documentation is better than normal for this function, so please read it.

 

SO_SPLIT_FILE_AND_PATH

Split a fully pathed filename into a filename and a path.

 

SO_SPOOL_READ

Fetch printer spool according to the spool number informed. See also RSPO_RETURN_ABAP_SPOOLJOB

 

SO_WIND_SPOOL_LIST

Browse printer spool numbers according to user informed.

 

SWD_HELP_F4_ORG_OBJECTS

HR Matchcode tailored for organizational units. Includes a button so that you can browse the hierarchy too.

 

SX_OBJECT_CONVERT_OTF_PDF

Conversion From OTF to PDF (SAPScript conversion)

 

SX_OBJECT_CONVERT_OTF_PRT

Conversion From OTF to Printer Format (SAPScript conversion)

 

SX_OBJECT_CONVERT_OTF_RAW

Conversion From OTF to ASCII (SAPScript conversion)

 

SXPG_CALL_SYSTEM

you can check the user's authorization for the specified command and run the command. The command runs on the host system on which the function module is executed. The function module is RFC capable. It can therefore be run on the host system at which a user happens to be active or on another designated host system at which an R/3 server is active.

 

SXPG_COMMAND_CHECK

Check whether the user is authorized to execute the specified command on the target host system with the specified arguments.

 

SXPG_COMMAND_DEFINITION_GET

Read the definition of a single external OS command from the R/3 System's database.

 

SXPG_COMMAND_EXECUTE

Check a user's authorization to use a command, as in SXPG_COMMAND_CHECK. If the authorization check is successful, then execute the command on the target host system.

 

SXPG_COMMAND_LIST_GET

Select a list of external OS command definitions.

 

TERMINAL_ID_GET

Return the terminal id

 

TH_DELETE_USER

Logoff a user. Similar results to using SM04.

 

TH_ENVIRONMENT

Get the UNIX environment

 

TH_POPUP

Display a popup system message on a specific users screen.

 

TH_REMOTE_TRANSACTION

Run a transaction on a remote server. Optionally provide BDC data to be used in the transaction

 

TH_USER_INFO

Give information about the current user (sessions, workstation logged in from, etc)

 

TH_USER_LIST

Show which users are logged into an app server

 

TMP_GUI_DIRECTORY_LIST_FILES

Retrieve all of the files and subdirectories on the Presentation Server (PC) for a given directory.

 

When a value other than * or *.* is used for the filter, you will not get any directories, unless they match your wildcard filter. For example, if you entered *.png, then only files and directories that end in png will be returned by the function.


Example:
data: lc_directory like bdschko16-target_dir value 'C:\TEMP\',
lc_filter(20) type c default '.'.
li_file_count type i,
li_dir_count type i,
ltab_dir_table like sdokpath occurs 0 with header line,
ltab_file_file_table like sdokpath occurs 0 with header line.

call function 'TMP_GUI_DIRECTORY_LIST_FILES'
exporting
directory = lc_directory
filter = lc_filter importing
file_count = li_file_count
dir_count = li_dir_count
tables
file_table = ltab_file_table
dir_table = ltab_dir_table
exceptions
cntl_error = 1
others = 2. |

UNIT_CONVERSION_SIMPLE

convert weights from one UOM to another.

 

UPLOAD

upload a file to the presentation server (PC)

 

UPLOAD_FILES

Will load one or more files from app or presentation server

 

WEEK_GET_FIRST_DAY

For a given week (YYYYMM format), this function returns the date of the Monday of that week.

 

WRITE_LIST

Useful for writing out the list contents that result from the function LIST_FROM_MEMORY.

 

WS_DOWNLOAD

Save Internal Table as File on the Presentation Server

 

WS_EXCEL

Start EXCEL on the PC

 

WS_EXECUTE

execute a program on a windows PC

 

WS_FILE_DELETE

Delete File at the Frontend

 

WS_FILENAME_GET

Call File Selector

 

WS_MSG

Create a dialog box in which you display an one line message

 

WS_UPLOAD

Load Files from the Presentation Server to Internal ABAP Tables

 

WS_VOLUME_GET

Get the label from a frontend device.

 

WWW_LIST_TO_HTML

After running a report, call this function to convert the list output to HTML.

 


ABAP_DOCU_DOWNLOAD

Download ABAP documentation in HTML format.

 

APPL_LOG_DELETE

With this function module you delete logs in the database according to specified selection conditions

 

APPL_LOG_DISPLAY

With this function module you can analyze logs in the database.

 

APPL_LOG_DISPLAY_INTERN

With this function module you can analyze logs in local memory, e.g. when you have only collected log records at runtime and do not want to write to the database.

 

APPL_LOG_INIT

This function module checks whether the specified object or sub-object exists and deletes all existing associated data in local memory.

 

APPL_LOG_READ_DB

With this function module you read the log data in the database for an object or sub-object according to specified selection conditions.

 

APPL_LOG_READ_INTERN

With this function module you read all log data whose log class has at least the specified value, from local memory, for the specified object or sub-object.

 

APPL_LOG_SET_OBJECT

With this function module, you create a new object or sub-object for writing in local memory. With a flag you can control whether the APPL_LOG_WRITE_... messages are written in local memory or are output on the screen.

 

APPL_LOG_WRITE_DB

With this function module you write all data for the specified object or sub-object in local memory to the database. If the log for the object or sub-object in question is new, the log number is returned to the calling program.

 

APPL_LOG_WRITE_HEADER

With this function module, you write the log header data in local memory.

 

APPL_LOG_WRITE_LOG_PARAMETERS

With this function module, you write the name of the log parameters and the associated values for the specified object or sub-object in local memory. If this function module is called repeatedly for the same object or sub-object, the existing parameters are updated accordingly. If you do not specify an object or sub-object with the call, the most recently used is assumed.

 

APPL_LOG_WRITE_MESSAGE_PARAMS

With this function module you write a single message, with parameters, in local memory. Otherwise the function module works like APPL_LOG_WRITE_SINGLE_MESSAGE.

 

APPL_LOG_WRITE_MESSAGES

With this function module you write one or more messages, without parameters, in local memory.

 

APPL_LOG_WRITE_SINGLE_MESSAGE

With this function module you write a single message, without parameters, in local memory. If no header entry has yet been written for the object or sub-object, it is created. If you do not specify an object or sub-object with the call, the most recently used is assumed.

 

ARFC_GET_TID

will return the IP address of the terminal in hex.

 

BAL_CNTL_CREATE

Create Control for log display

 

BAL_CNTL_FREE

Release Control

 

BAL_CNTL_REFRESH

Put new data in log display

 

BAL_DB_DELETE

Delete logs from the database

 

BAL_DB_DEQUEUE

Unlock log

 

BAL_DB_ENQUEUE

Lock log

 

BAL_DB_LOAD

Load logs from the database

 

BAL_DB_LOAD

Load log(s)

 

BAL_DB_SAVE

Save logs in the database

 

BAL_DB_SAVE

Save log(s)

 

BAL_DB_SAVE_PREPARE

Prepare save

 

BAL_DB_SEARCH

Find logs in the database

 

BAL_DSP_LOG_DISPLAY

Display messages in memory

 

BAL_DSP_LOG_DISPLAY

Display Log

 

BAL_DSP_LOG_PARAMETERS

Either output extended long text or call a callback routine (based on the data in BAL_S_LOG-PARAMS)

 

BAL_DSP_LOG_TECHNICAL_DATA

Output all log header data

 

BAL_DSP_MSG_LONGTEXT

Display message long text

 

BAL_DSP_MSG_PARAMETERS

Either output extended long text or call a callback routine (based on the data in BAL_S_MSG-PARAMS)

 

BAL_DSP_MSG_TECHNICAL_DATA

Output technical data of a message such as work area, error number, etc.

 

BAL_DSP_OUTPUT_FREE

End output

 

BAL_DSP_OUTPUT_INIT

Initialize output

 

BAL_DSP_OUTPUT_SET_DATA

Set dataset to be displayed

 

BAL_DSP_PROFILE_DETLEVEL_GET

Message hierarchy in DETLEVEL

 

BAL_DSP_PROFILE_NO_TREE_GET

Display without tree (fullscreen)

 

BAL_DSP_PROFILE_POPUP_GET

Display without tree (popup)

 

BAL_DSP_PROFILE_SINGLE_LOG_GET

Standard profile (SLG1) for one log

 

BAL_DSP_PROFILE_STANDARD_GET

Standard profile (SLG1) for a lot of logs

 

BAL_GLB_AUTHORIZATION_GET

Assign authorization

 

BAL_GLB_AUTHORIZATION_RESET

Reset authorization

 

BAL_GLB_CONFIG_GET

Read configuration

 

BAL_GLB_CONFIG_SET

Set configuration

 

BAL_GLB_MEMORY_EXPORT

Put function group memory in ABAP-MEMORY

 

BAL_GLB_MEMORY_IMPORT

Get function group memory from ABAP-MEMORY

 

BAL_GLB_MEMORY_REFRESH

(Partially) reset global memory

 

BAL_GLB_MEMORY_REFRESH

(Partially) initialize memory

 

BAL_GLB_MSG_CURRENT_HANDLE_GET

Get current message handle

 

BAL_GLB_MSG_DEFAULTS_GET

Get message defaults

 

BAL_GLB_SEARCH_LOG

Find logs in memory

 

BAL_GLB_SEARCH_MSG

Find messages in memory

 

BAL_LOG_CREATE

Create log with header data

 

BAL_LOG_CREATE

Create log with header data

 

BAL_LOG_DELETE

Delete log (from database also at Save)

 

BAL_LOG_EXIST

Check existence of a log in memory

 

BAL_LOG_HDR_CHANGE

Change log header

 

BAL_LOG_HDR_CHECK

Check log header data for consistency

 

BAL_LOG_HDR_READ

Read log header and other data

 

BAL_LOG_MSG_ADD

Put message in log

 

BAL_LOG_MSG_ADD

Put message in log

 

BAL_LOG_MSG_CHANGE

Change message

 

BAL_LOG_MSG_CHANGE

Change message

 

BAL_LOG_MSG_CHECK

Check message data for consistency

 

BAL_LOG_MSG_CUMULATE

Add message cumulated

 

BAL_LOG_MSG_DELETE

Delete message

 

BAL_LOG_MSG_DELETE

Delete message

 

BAL_LOG_MSG_EXIST

Check existence of a message in memory

 

BAL_LOG_MSG_READ

Read message and other data

 

BAL_LOG_MSG_REPLACE

Replace last message

 

BAL_LOG_REFRESH

Delete log from memory

 

BAL_LOG_REFRESH

Delete log from memory

 

BAL_MSG_DISPLAY_ABAP

Output message as ABAP-MESSAGE

 

BAL_OBJECT_SELECT

Read Application Log objects table record

 

BAL_OBJECT_SUBOBJECT

Check whether object and subobject exist and the combination is allowed

 

BAL_SUBOBJECT_SELECT

Read subobject table record

 

BP_EVENT_RAISE

Trigger an event from ABAP/4 program

 

BP_JOBLOG_READ

Fetch job log executions

 

CHANGEDOCUMENT_READ_HEADERS

Get the change document header for a sales document, and put the results in an internal table.

 


Example:
CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
EXPORTING
objectclass = 'EINKBELEG'
objectid = l_objectid
username = space
TABLES
i_cdhdr = lt_cdhdr.
LOOP AT lt_cdhdr WHERE udate IN s_aedat.
CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
EXPORTING
changenumber = lt_cdhdr-changenr
TABLES
editpos = lt_editpos.
LOOP AT lt_editpos WHERE fname = 'LOEKZ'
AND f_new = 'L'.
p_desc = text-r01. " Cancel Contract
ENDLOOP.
ENDLOOP.

CHANGEDOCUMENT_READ_POSITIONS

Get the details of a change document, and store them in an internal table. This will tell you whether a field was changed, deleted, or updated.

 


Example:
CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
EXPORTING
objectclass = 'EINKBELEG'
objectid = l_objectid
username = space
TABLES
i_cdhdr = lt_cdhdr.
LOOP AT lt_cdhdr WHERE udate IN s_aedat.
CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
EXPORTING
changenumber = lt_cdhdr-changenr
TABLES
editpos = lt_editpos.
LOOP AT lt_editpos WHERE fname = 'LOEKZ'
AND f_new = 'L'.
p_desc = text-r01. " Cancel Contract
ENDLOOP.
ENDLOOP.

CLAF_CLASSIFICATION_OF_OBJECTS

Return all of the characteristics for a material

 

CLOI_PUT_SIGN_IN_FRONT

Move the negative sign from the left hand side of a number, to the right hand side of the number. Note that The result will be left justified (like all character fields), not right justifed as numbers normally are.

 

CLPB_EXPORT

Export a text table to the clipboard (on presentation server)

 

CLPB_IMPORT

Import a Text Table from the Clipboard (on presentation server)

 

COMMIT_TEXT

To load long text into SAP

 

CONVERSION_EXIT_ALPHA_INPUT

converts any number into a string fill with zeroes, with the number at the extreme right

 


Example:
input = 123
output = 0000000000000...000000000000123

CONVERSION_EXIT_ALPHA_OUTPUT

converts any number with zeroes right into a simple integer

 


Example:
input = 00000000000123
output = 123

CONVERT_ABAPSPOOLJOB_2_PDF

convert abap spool output to PDF

 

CONVERT_OTF

Convert SAP documents (SAPScript) to other types.

 


Example:
CALL FUNCTION "CONVERT_OTF"
EXPORTING FORMAT = "PDF"
IMPORTING BIN_FILESIZE = FILE_LEN
TABLES OTF = OTFDATA
LINES = PDFDATA
EXCEPTIONS ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV_NOT_POSSIBLE = 3
OTHERS = 4.

CONVERT_OTFSPOOLJOB_2_PDF

converts a OTF spool to PDF (i.e. Sapscript document)

 

CONVERT_TO_FOREIGN_CURRENCY

Convert local currency to foreign currency.

 

CONVERT_TO_LOCAL_CURRENCY

Convert from foreign currency to local currency

 

DATE_CHECK_PLAUSIBILITY

Check to see if a date is in a valid format for SAP. Works well when validating dates being passed in from other systems.

 

DATE_COMPUTE_DAY

Returns a number indicating what day of the week the date falls on. Monday is returned as a 1, Tuesday as 2, etc.

 

DATE_GET_WEEK

will return the week that a date is in.

 

DATE_IN_FUTURE

Calculate a date N days in the future.

 

DAY_ATTRIBUTES_GET

Return useful information about a day. Will tell you the day of the week as a word (Tuesday), the day of the week (2 would be Tuedsay), whether the day is a holiday, and more.(provided by Francois Henrotte)

 

DOWNLOAD

download a file to the presentation server (PC)

 

DYNP_VALUES_READ

Read the values from a dynpro. This function can be used to read the values from a report's selection screen too (Another example).

 

DYNP_VALUES_UPDATE

Similar to DYNP_VALUES_READ, this function will allow the updating of fields on a dynpro. Very useful when you want to change a field based on the value entered for another field.

 

ENQUE_SLEEP

Wait a specified period of time before continuing processing.

 

ENQUEUE_ESFUNCTION

Lock an abap program so that it cannot be executed.

 


Example:
Set the parameters as follows:
RELID = 'ZZ'
SRTF2 = 0
SRTF = (your report name)

Please note that you should not use SY-REPID to pass your report name to the function. The value of SY-REPID will change as it is being passed to the function module, and will no longer hold the value of the calling report.

EPS_GET_DIRECTORY_LISTING

return a list of filenames from a local or network drive

 

EPS_GET_FILE_ATTRIBUTES

Pass in a filename and a path, and will return attributes for the file

 

F4_DATE

displays a calendar in a popup window and allows user to choose a date, or it can be displayed read only.

 

F4_IF_FIELD_VALUE_REQUEST

Use values from a DDIC table to provide a list of possible values. TABNAME and FIELDNAME are required fields, and when MULTIPLE_CHOICE is selected, more than one value can be returned.

 

F4IF_INT_TABLE_VALUE_REQUEST

F4 help that returns the values selected in an internal table. Very handy when programming your very own F4 help for a field.

 


Example:
data:
begin of t_values occurs 2,
value like kna1-begru,
end of t_values,
t_return like ddshretval occurs 0 with header line.
t_values = 'PAR*'.
append t_values.
t_values = 'UGG'.
append t_values.
call function 'F4IF_INT_TABLE_VALUE_REQUEST'
exporting
retfield = 'BEGRU'
value_org = 'S'
tables
value_tab = t_values
return_tab = t_return
exceptions
parameter_error = 1
no_values_found = 2
others = 3.
if sy-subrc = 0.
read table t_return index 1.
o_begru-low = t_return-fieldval.
if o_begru-low = 'PAR*'.
o_begru-option = 'CP'.
else.
o_begru-option = 'EQ'.
endif.
o_begru-sign = 'I'.
append o_begru to s_begru.
else.
o_begru = i_begru.
endif.

F4IF_SHLP_EXIT_EXAMPLE

documents the different reasons to use a search help exit, and shows how it is done.

 

F4IP_INT_TABLE_VALUE_REQUEST

This function does not exist in 4.6 and above. Use F4IF_INT_TABLE_VALUE_REQUEST instead.

 

FILENAME_GET

popup to get a filename from a user, returns blank filename if user selects cancel

 

FORMAT_MESSAGE

Takes a message id and number, and puts it into a variable. Works better than WRITE_MESSAGE, since some messages use $ as a place holder, and WRITE_MESSAGE does not accommadate that, it only replaces the ampersands (&) in the message.

 

FTP_COMMAND

Execute a command on the FTP server

 

FTP_CONNECT

Open a connection (and log in) to an FTP server

 

FTP_DISCONNECT

Close the connection (and log off) the FTP server

 

FU CSAP_MAT_BOM_READ

You can use this function module to display simple material BOMs. You cannot display BOM groups (for example, all variants of a variant BOM). as in transaction CS03. Current restrictions: You cannot display long texts. You cannot display sub-items. You cannot display classification data of BOM items for batches. You can only display one alternative or variant. You cannot enter an alternative for module CSAP_MAT_BOM_READ, so you always see alternative 01. The following example came from a posting on the SAP-R3-L mailing list.

 


Example:
data: begin of tstk2 occurs 0.
include structure stko_api02.
data: end of tstk2.
data: begin of tstp2 occurs 0.
include structure stpo_api02.
data: end of tstp2.
data: begin of tdep_data occurs 0.
include structure csdep_data.
data: end of tdep_data.
data: begin of tdep_descr occurs 0.
include structure csdep_descr.
data: end of tdep_descr.
data: begin of tdep_source occurs 0.
include structure csdep_source.
data: end of tdep_source.
data: begin of tdep_order occurs 0.
include structure csdep_order.
data: end of tdep_order.
data: begin of tdep_doc occurs 0.
include structure csdep_doc.
data: end of tdep_doc.
data: flg_warning like capiflag-flwarning.
call function 'CSAP_MAT_BOM_READ'
exporting
material = 'MAT100'
plant = '0001'
bom_usage = '1'
valid_from = '20.12.1996'

  • valid_to
    importing
    fl_warning = flg_warning
    tables
    t_stko = tstk2
    t_stpo = tstp2
    t_dep_data = tdep_data
    t_dep_descr = tdep_descr
    t_dep_source = tdep_source
    t_dep_order = tdep_order
    t_dep_doc = tdep_doc
    exceptions
    error = 1.

Function Group GRAP is now obsolete.

SAP recommends using functions in function group SFES instead. Below is an overview of the changes.

 

G_SET_GET_ALL_VALUES

Fetch values from a set.

 

GET_CURRENT_YEAR

Get the current fiscal year.

 


Example:
CALL FUNCTION 'GET_CURRENT_YEAR'
EXPORTING
BUKRS = '1000' " Company Code
DATE = SY-DATUM " Date to find fiscal year for
IMPORTING
CURRM = w_currm " Current Fiscal Month
CURRY = w_curry " Current Fiscal Year
PREVM = w_prevm " Previous Fiscal Month
PREVY = w_prevy. " Previous Fiscal Year

GET_GLOBAL_SYMBOLS

Returns a list of all tables, select options, texts, etc for a program. Even includes the text definitions for the selection screen

 

GET_INCLUDETAB

Returns a list of all INCLUDES in a program

 

GET_JOB_RUNTIME_INFO

Get the current job number from a program. Also returns other useful info about the current job.

 

GUI_CREATE_DIRECTORY

Create a directory on the presentation server

 

GUI_DELETE_FILE

Replaces WS_FILE_DELETE. Delete a file on the presentation server

 

GUI_DOWNLOAD

Replaces WS_DOWNLOAD. Download table from the app server to presentation server

 

GUI_EXEC

Replaces WS_EXECUTE. Start a File or Program Asynchronously with WinExec

 

GUI_GET_DESKTOP_INFO

Replaces WS_QUERY. Delivers Information About the Desktop (client)

 

GUI_REMOVE_DIRECTORY

Delete a directory on the presentation server

 

GUI_RUN

Start a File or Program Asynchronously with ShellExecute

 

GUI_UPLOAD

Replaces WS_UPLOAD. Upoad file from presentation server to the app server

 

HELP_START

Display help for a field. Useful for doing AT SELECTION SCREEN ON VALUE REQUEST for those fields that do not provide F4 help at the DDIC level.

 

HELP_VALUES_GET_WITH_TABLE

Show a list of possible values for F4 popup help on selection screens. This function module pops up a screen that is just like all the other F4 helps, so it looks like the rest of the SAP system. Very useful for providing dropdowns on fields that do not have them predefined.

 


Example:
tables: t001w.
DATA: lc_werks LIKE t001w-werks,
ltab_fields LIKE help_value OCCURS 0 with header line,
BEGIN OF ltab_values OCCURS 0,
feld(40) TYPE c,
END OF ltab_values.

  • *- *-- Set up fields to retrieve data
    ltab_fields-tabname = 'T001W'.
    ltab_fields-fieldname = 'WERKS'.
    ltab_fields-selectflag = 'X'.
    APPEND ltab_fields.
    ltab_fields-tabname = 'T001W'.
    ltab_fields-fieldname = 'NAME1'.
    ltab_fields-selectflag = space.
    APPEND ltab_fields.
    • *-- Fill values
      select * from t001w.
      ltab_values-feld = t001w-werks.
      append ltab_values.
      ltab_values-feld = t001w-name1.
      append ltab_values.
      endselect.
      CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE'
      EXPORTING
      fieldname = 'WERKS'
      tabname = 'T001W'
      title_in_values_list = 'Select a value'
      IMPORTING
      select_value = lc_werks
      TABLES
      fields = ltab_fields
      valuetab = ltab_values
      EXCEPTIONS
      field_not_in_ddic = 01
      more_then_one_selectfield = 02
      no_selectfield = 03.

HOLIDAY_CHECK_AND_GET_INFO

Useful for determining whether or not a date is a holiday. Give the function a date, and a holiday calendar, and you can determine if the date is a holiday by checking the parameter HOLIDAY_FOUND.

 


Example:
data: ld_date like scal-datum default sy-datum,
lc_holiday_cal_id like scal-hcalid default 'CA',
ltab_holiday_attributes like thol occurs 0 with header line,
lc_holiday_found like scal-indicator.
CALL FUNCTION 'HOLIDAY_CHECK_AND_GET_INFO'
EXPORTING
date = ld_date
holiday_calendar_id = lc_holiday_cal_id
WITH_HOLIDAY_ATTRIBUTES = 'X'
IMPORTING
HOLIDAY_FOUND = lc_holiday_found
tables
holiday_attributes = ltab_holiday_attributes
EXCEPTIONS
CALENDAR_BUFFER_NOT_LOADABLE = 1
DATE_AFTER_RANGE = 2
DATE_BEFORE_RANGE = 3
DATE_INVALID = 4
HOLIDAY_CALENDAR_ID_MISSING = 5
HOLIDAY_CALENDAR_NOT_FOUND = 6
OTHERS = 7.
if sy-subrc = 0 and
lc_holiday_found = 'X'.
write: / ld_date, 'is a holiday'.
else.
write: / ld_date, 'is not a holiday, or there was an error calling the function'.
endif.

HOLIDAY_GET

Provides a table of all the holidays based upon a Factory Calendar &/ Holiday Calendar.

 

HR_DISPLAY_BASIC_LIST

is an HR function, but can be used for any data. You pass it data, and column headers, and it provides a table control with the ability to manipulate the data, and send it to Word or Excel. Also see the additional documentation here.

 

HR_GET_LEAVE_DATA

Get all leave information (includes leave entitlement, used holidays/paid out holidays)

 

HR_IE_NUM_PRSI_WEEKS

Return the number of weeks between two dates.

 

HR_PAYROLL_PERIODS_GET

Get the payroll period for a particular date. (provided by Francois Henrotte)

 


Example:
DATA: IT_T549Q TYPE T549Q OCCURS 0 WITH HEADER LINE,
IT_ZL TYPE PC2BF OCCURS 0 WITH HEADER LINE.
W_BEGDA = '20010101'.
W_PERNR = '00000001'.
CALL FUNCTION 'HR_PAYROLL_PERIODS_GET'
EXPORTING
get_begda = w_begda
TABLES
get_periods = it_t549q
EXCEPTIONS
no_period_found = 1
no_valid_permo = 2.
CHECK sy-subrc = 0.
CALL FUNCTION 'HR_TIME_RESULTS_GET'
EXPORTING
get_pernr = w_pernr
get_pabrj = it_t549q-pabrj
get_pabrp = it_t549q-pabrp
TABLES
get_zl = it_zl
EXCEPTIONS
no_period_specified = 1
wrong_cluster_version = 2
no_read_authority = 3
cluster_archived = 4
technical_error = 5.
NOTE: it_zl-iftyp = 'A' absence
it_zl-iftyp = 'S' at work

HR_TIME_RESULTS_GET

Get the time results for a payroll period. (provided by Francois Henrotte)

 


Example:
DATA: IT_T549Q TYPE T549Q OCCURS 0 WITH HEADER LINE,
IT_ZL TYPE PC2BF OCCURS 0 WITH HEADER LINE.
W_BEGDA = '20010101'.
W_PERNR = '00000001'.
CALL FUNCTION 'HR_PAYROLL_PERIODS_GET'
EXPORTING
get_begda = w_begda
TABLES
get_periods = it_t549q
EXCEPTIONS
no_period_found = 1
no_valid_permo = 2.
CHECK sy-subrc = 0.
CALL FUNCTION 'HR_TIME_RESULTS_GET'
EXPORTING
get_pernr = w_pernr
get_pabrj = it_t549q-pabrj
get_pabrp = it_t549q-pabrp
TABLES
get_zl = it_zl
EXCEPTIONS
no_period_specified = 1
wrong_cluster_version = 2
no_read_authority = 3
cluster_archived = 4
technical_error = 5.
NOTE: it_zl-iftyp = 'A' absence
it_zl-iftyp = 'S' at work

INIT_TEXT

To load long text into SAP

 

K_WERKS_OF_BUKRS_FIND

Return a list of all plants for a given company code.

 

LIST_FROM_MEMORY

Retrieves the output of a report from memory when the report was executed using SUBMIT... EXPORTING LIST TO MEMORY. See also WRITE_LIST.

 

LIST_TO_ASCII

convert an ABAP report (displayed on screen) from OTF to ASCII format

 

MBEW_EXTEND

Get the stock position for the previous month. This displays the same info that you see in MM03.

 

MONTH_NAMES_GET

It returns all the month and names in repective language.

 

MONTH_PLUS_DETERMINE

Add or subtract months from a date. To subtract a month, enter a negative value for the 'months' parameter.

 


Example:
data: new_date type d.
CALL FUNCTION 'MONTH_PLUS_DETERMINE'
EXPORTING
months = -5 " Negative to subtract from old date, positive to add
olddate = sy-datum
IMPORTING
NEWDATE = new_date.
write: / new_date.

MS_EXCEL_OLE_STANDARD_OLE

will build a file, and automatically start Excel

 

OTF_CONVERT

wraps several other function modules. Will convert OTF to ASCII or PDF

 

POPUP_TO_CONFIRM_LOSS_OF_DATA

Create a dialog box in which you make a question whether the user wishes to perform a processing step with loss of data.

 

POPUP_TO_CONFIRM_STEP

Create a dialog box in which you make a question whether the user wishes to perform the step.

 

POPUP_TO_CONFIRM_WITH_MESSAGE

Create a dialog box in which you inform the user about a specific decision point during an action.

 

POPUP_TO_CONFIRM_WITH_VALUE

Create a dialog box in which you make a question whether the user wishes to perform a processing step with a particular object.

 

POPUP_TO_DECIDE

Provide user with several choices as radio buttons

 

POPUP_TO_DECIDE_WITH_MESSAGE

Create a dialog box in which you inform the user about a specific decision point via a diagnosis text.

 

POPUP_TO_DISPLAY_TEXT

Create a dialog box in which you display a two line message

 

POPUP_TO_SELECT_MONTH

Popup to choose a month

 

POPUP_WITH_TABLE_DISPLAY

Provide a display of a table for user to select one, with the value of the table line returned when selected.

 

PRICING

Return pricing conditions in an internal table. Use structure TCOMK for parameter COMM_HEAD_1, and structure TCOMP for parameter COMM_ITEM_1, and set CALCULATION_TYPE to B. The pricing conditions will be returned in XOMV. You must fill TCOMP, and TCOMK with the appropriate values before callling the function in order for it to work.

 

PROFILE_GET

Read an Entry in an INI File on the frontend

 

PROFILE_SET

Write an Entry in an INI File on the frontend

 

READ_TEXT

To load long text into SAP

 

REGISTRY_GET

Read an Entry from the Registry

 

REGISTRY_SET

Set an entry in the Registry

 

RFC_ABAP_INSTALL_AND_RUN

Runs an ABAP program that is stored in the table PROGRAM when the MODE = 'F'. Table WRITES contains the ouput of the program. Allows you to run a program without having the source code in the target system.

 

RH_GET_ACTIVE_WF_PLVAR

Return the active HR Plan

 

RH_GET_DATE_DAYNAME

return the day based on the date provied

 

RH_START_EXCEL_WITH_DATA

starts Excel with the contents of an internal table. This function finds Excel in the desktop registry. It also uses a local PC working directory to save the file (that's what the 'W' value for data path flag does). Very transparent to user!

 

RH_STRUC_GET

Returns all related org info

 

RHP0_POPUP_F4_SEARK

is a matchcode for any type of HR Planning object, including the possibility to fill the field that you want

 


Example:
Examples: search for any organizational structure
F4 = 'X'
PLVAR = '01'
OTYPE = 'O '
search for any persons
F4 = 'X'
PLVAR = '01'
OTYPE = 'P '
MULTI_SELECT = 'X' to allow multiple selection
EASY = 'X' for user-dependent matchcode
Unfortunately, the use of table BASE_OBJIDS is disabled, so you can't specify
a root for the hierarchy you display

RKD_WORD_WRAP

Convert a long string or phrase into several lines.

 

RP_CALC_DATE_IN_INTERVAL

Add/subtract years/months/days from a date

 

RP_LAST_DAY_OF_MONTHS

Determine last day of month

 

RPY_DYNPRO_READ

Read dynpro, including screen flow

 

RPY_TRANSACTION_READ

Given a transaction, return the program and screen or given a program and screen, return the transactions that use the program and screen.

 

RS_COVERPAGE_SELECTIONS

Returns an internal table that contains a formatted list of all the selection parameters entered for a report. Table is ready to print out.

 

RS_REFRESH_FROM_SELECTOPTIONS

Get the current contents of selection screen

 

RS_SEND_MAIL_FOR_SPOOLLIST

Send message from ABAP/4 program to SAPoffice.

 

RS_VARIANT_CONTENTS

Returns the contents of the specified variant in a table.

 

RSPO_DOWNLOAD_SPOOLJOB

Download the spool from a program to a file. Requires spool number.

 

RSPO_RETURN_ABAP_SPOOLJOB

Fetch printer spool according to the spool number informed.

 

RZL_READ_DIR

If the server name is left blank, it reads a directory from local presentation server, otherwise it reads the directory of the remote server

 

RZL_READ_DIR_LOCAL

Read a directory on the Application Server

 

RZL_READ_FILE

Read a file from the presentation server if no server name is given, or read file from remote server. Very useful to avoid authority checks that occur doing an OPEN DATASET. This function using a SAP C program to read the data.

 

RZL_SLEEP

Hang the current application from 1 to 5 seconds.

 

RZL_SUBMIT

Submit a remote report.

 

RZL_WRITE_FILE_LOCAL

Saves table to the presentation server (not PC). Does not use OPEN DATASET, so it does not suffer from authority checks!

 

SAP_CONVERT_TO_XLS_FORMAT

Convert data to Microsoft Excel format.

 

SAPGUI_PROGRESS_INDICATOR

Display a progress bar on the SAP GUI, and give the user some idea of what is happening

 

SAVE_TEXT

To load long text into SAP

 

SCROLLING_IN_TABLE

If you are coding a module pool and using a table control, you can use this function SCROLLING_IN_TABLE to handle any scrolling. (provided by Paul Kjaer)

 

SD_DATETIME_DIFFERENCE

Give the difference in Days and Time for 2 dates

 

SO_NEW_DOCUMENT_ATT_SEND_API1

Send a document as part of an email. The documentation is better than normal for this function, so please read it.

 

SO_SPLIT_FILE_AND_PATH

Split a fully pathed filename into a filename and a path.

 

SO_SPOOL_READ

Fetch printer spool according to the spool number informed. See also RSPO_RETURN_ABAP_SPOOLJOB

 

SO_WIND_SPOOL_LIST

Browse printer spool numbers according to user informed.

 

SWD_HELP_F4_ORG_OBJECTS

HR Matchcode tailored for organizational units. Includes a button so that you can browse the hierarchy too.

 

SX_OBJECT_CONVERT_OTF_PDF

Conversion From OTF to PDF (SAPScript conversion)

 

SX_OBJECT_CONVERT_OTF_PRT

Conversion From OTF to Printer Format (SAPScript conversion)

 

SX_OBJECT_CONVERT_OTF_RAW

Conversion From OTF to ASCII (SAPScript conversion)

 

SXPG_CALL_SYSTEM

you can check the user's authorization for the specified command and run the command. The command runs on the host system on which the function module is executed. The function module is RFC capable. It can therefore be run on the host system at which a user happens to be active or on another designated host system at which an R/3 server is active.

 

SXPG_COMMAND_CHECK

Check whether the user is authorized to execute the specified command on the target host system with the specified arguments.

 

SXPG_COMMAND_DEFINITION_GET

Read the definition of a single external OS command from the R/3 System's database.

 

SXPG_COMMAND_EXECUTE

Check a user's authorization to use a command, as in SXPG_COMMAND_CHECK. If the authorization check is successful, then execute the command on the target host system.

 

SXPG_COMMAND_LIST_GET

Select a list of external OS command definitions.

 

TERMINAL_ID_GET

Return the terminal id

 

TH_DELETE_USER

Logoff a user. Similar results to using SM04.

 

TH_ENVIRONMENT

Get the UNIX environment

 

TH_POPUP

Display a popup system message on a specific users screen.

 

TH_REMOTE_TRANSACTION

Run a transaction on a remote server. Optionally provide BDC data to be used in the transaction

 

TH_USER_INFO

Give information about the current user (sessions, workstation logged in from, etc)

 

TH_USER_LIST

Show which users are logged into an app server

 

TMP_GUI_DIRECTORY_LIST_FILES

Retrieve all of the files and subdirectories on the Presentation Server (PC) for a given directory.

 

When a value other than * or *.* is used for the filter, you will not get any directories, unless they match your wildcard filter. For example, if you entered *.png, then only files and directories that end in png will be returned by the function.


Example:
data: lc_directory like bdschko16-target_dir value 'C:\TEMP\',
lc_filter(20) type c default '.'.
li_file_count type i,
li_dir_count type i,
ltab_dir_table like sdokpath occurs 0 with header line,
ltab_file_file_table like sdokpath occurs 0 with header line.

call function 'TMP_GUI_DIRECTORY_LIST_FILES'
exporting
directory = lc_directory
filter = lc_filter importing
file_count = li_file_count
dir_count = li_dir_count
tables
file_table = ltab_file_table
dir_table = ltab_dir_table
exceptions
cntl_error = 1
others = 2. |

UNIT_CONVERSION_SIMPLE

convert weights from one UOM to another.

 

UPLOAD

upload a file to the presentation server (PC)

 

UPLOAD_FILES

Will load one or more files from app or presentation server

 

WEEK_GET_FIRST_DAY

For a given week (YYYYMM format), this function returns the date of the Monday of that week.

 

WRITE_LIST

Useful for writing out the list contents that result from the function LIST_FROM_MEMORY.

 

WS_DOWNLOAD

Save Internal Table as File on the Presentation Server

 

WS_EXCEL

Start EXCEL on the PC

 

WS_EXECUTE

execute a program on a windows PC

 

WS_FILE_DELETE

Delete File at the Frontend

 

WS_FILENAME_GET

Call File Selector

 

WS_MSG

Create a dialog box in which you display an one line message

 

WS_UPLOAD

Load Files from the Presentation Server to Internal ABAP Tables

 

WS_VOLUME_GET

Get the label from a frontend device.

 

WWW_LIST_TO_HTML

After running a report, call this function to convert the list output to HTML.

    

  • No labels

1 Comment

  1. Huge collection of FM and explanation.