Thursday, 15 December 2011
Import and Export statements in enhancement
Importing value to variable.
ENHANCEMENT 1 ZENHIZEV05R0032. "active version
export PRDEST to MEMORY ID 'LDF_PRINT'.
ENDENHANCEMENT.
export PRDEST to MEMORY ID 'LDF_PRINT'.
ENDENHANCEMENT.
To import the value.
IMPORT prdest FROM MEMORY ID 'LDF_PRINT'.
FREE MEMORY ID 'LDF_PRINT'.
FREE MEMORY ID 'LDF_PRINT'.
Monday, 12 December 2011
Sunday, 11 December 2011
ALV report documentation-good and usefull fn modules
http://wiki.sdn.sap.com/wiki/display/ABAP/Alv+in+Detail
8) List of ABAP Functions
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. |
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. |
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'
| |
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.
| |
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. |
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. |
TO display the selection screen in the report output
* Print input selection criteria
PERFORM print_selections.
LOOP AT gdt_list_comments INTO gds_list_comments.
*Adding Line
CALL METHOD top->new_line.
ldf_text = gds_list_comments-info.
CALL METHOD top->add_text
EXPORTING
text = ldf_text.
CLEAR gds_list_comments.
***********************************************
FORM print_selections .
IF gdf_flag3 IS INITIAL.
DATA:
ldf_report TYPE raldb_repo,
ldf_variante TYPE raldb_vari,
ldf_string TYPE string.
DATA:
ldf_text TYPE char255,
ldf_date TYPE char10,
ldf_time TYPE char15.
DATA:
BEGIN OF %selections OCCURS 24,
z(2) TYPE c,
line TYPE raldb_info, " Zeile des Selektionsbildes
END OF %selections.
DESCRIBE TABLE %selections LINES sy-tfill.
IF sy-tfill EQ 0.
ldf_report = gcf_prog_name.
ldf_variante = sy-slset.
CALL FUNCTION 'RS_COVERPAGE_SELECTIONS'
EXPORTING
report = ldf_report
variant = ldf_variante
no_import = 'X'
TABLES
infotab = %selections
* infotab = mtab_sel_options
EXCEPTIONS
error_message = 01
variant_not_found = 02
OTHERS = 03.
IF sy-subrc EQ 0.
DELETE %selections FROM 1 TO 5.
DESCRIBE TABLE %selections LINES sy-tfill.
DELETE %selections INDEX sy-tfill.
sy-tfill = sy-tfill - 1.
DELETE %selections INDEX sy-tfill.
CLEAR: gds_list_comments.
gds_list_comments-typ = 'A'. "A = Action
gds_list_comments-key = ''.
LOOP AT %selections.
IF NOT %selections+4(1) IS INITIAL.
gds_list_comments-info = %selections+4.
CONCATENATE gds_list_comments-info ':'
INTO gds_list_comments-info.
ELSE.
** if not %selections+5(75) cs 'No selections' and
** %selections+5(75) ne ''.
IF %selections+5(75) NE ''.
CONCATENATE gds_list_comments-info %selections+5(75)
INTO ldf_string.
CONDENSE ldf_string.
gds_list_comments-info = ldf_string.
APPEND gds_list_comments TO gdt_list_comments.
ENDIF.
CLEAR: gds_list_comments-info.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
gdf_flag3 = '1'.
ENDIF.
ENDFORM. " PRINT_SELECTIONS
PERFORM print_selections.
LOOP AT gdt_list_comments INTO gds_list_comments.
*Adding Line
CALL METHOD top->new_line.
ldf_text = gds_list_comments-info.
CALL METHOD top->add_text
EXPORTING
text = ldf_text.
CLEAR gds_list_comments.
***********************************************
FORM print_selections .
IF gdf_flag3 IS INITIAL.
DATA:
ldf_report TYPE raldb_repo,
ldf_variante TYPE raldb_vari,
ldf_string TYPE string.
DATA:
ldf_text TYPE char255,
ldf_date TYPE char10,
ldf_time TYPE char15.
DATA:
BEGIN OF %selections OCCURS 24,
z(2) TYPE c,
line TYPE raldb_info, " Zeile des Selektionsbildes
END OF %selections.
DESCRIBE TABLE %selections LINES sy-tfill.
IF sy-tfill EQ 0.
ldf_report = gcf_prog_name.
ldf_variante = sy-slset.
CALL FUNCTION 'RS_COVERPAGE_SELECTIONS'
EXPORTING
report = ldf_report
variant = ldf_variante
no_import = 'X'
TABLES
infotab = %selections
* infotab = mtab_sel_options
EXCEPTIONS
error_message = 01
variant_not_found = 02
OTHERS = 03.
IF sy-subrc EQ 0.
DELETE %selections FROM 1 TO 5.
DESCRIBE TABLE %selections LINES sy-tfill.
DELETE %selections INDEX sy-tfill.
sy-tfill = sy-tfill - 1.
DELETE %selections INDEX sy-tfill.
CLEAR: gds_list_comments.
gds_list_comments-typ = 'A'. "A = Action
gds_list_comments-key = ''.
LOOP AT %selections.
IF NOT %selections+4(1) IS INITIAL.
gds_list_comments-info = %selections+4.
CONCATENATE gds_list_comments-info ':'
INTO gds_list_comments-info.
ELSE.
** if not %selections+5(75) cs 'No selections' and
** %selections+5(75) ne ''.
IF %selections+5(75) NE ''.
CONCATENATE gds_list_comments-info %selections+5(75)
INTO ldf_string.
CONDENSE ldf_string.
gds_list_comments-info = ldf_string.
APPEND gds_list_comments TO gdt_list_comments.
ENDIF.
CLEAR: gds_list_comments-info.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
gdf_flag3 = '1'.
ENDIF.
ENDFORM. " PRINT_SELECTIONS
Different types of top of pages in ALV report
1) CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = gcf_prog_name
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
i_callback_top_of_page = lcf_top_of_page
lcf_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.
FORM top_of_page.
DATA: lcf_text LIKE gds_listheader-info VALUE 'Multi Plant MRP Report',
lcf_s TYPE c VALUE 'S',
lcf_h TYPE c VALUE 'H',
lcf_program(8) TYPE c VALUE 'Program:',
lcf_user(10) TYPE c VALUE 'User Name:',
lcf_execdat(12) TYPE c VALUE 'Executed On:',
lcf_pgno(5) TYPE c VALUE 'Page:',
lcf_material(9) TYPE c VALUE 'Material:',
lcf_mrpcontoller(15) TYPE c VALUE 'MRP Controller:',
lcf_mrpprofile(12) TYPE c VALUE 'MRP Profile:',
lcf_stockplant(12) TYPE c VALUE 'Stock Plant:',
lcf_supplyplant(16) TYPE c VALUE 'Supplying plant:',
lcf_to(2) TYPE c VALUE 'TO'.
DATA: ldf_matnr TYPE matnr,
ldf_matnr1 TYPE matnr,
ldf_dispo TYPE dispo,
ldf_dispo1 TYPE dispo,
ldf_dispr TYPE dispr,
ldf_dispr1 TYPE dispr,
ldf_werks TYPE werks,
ldf_werks1 TYPE werks.
MOVE: s_matnr-low TO ldf_matnr,
s_matnr-high TO ldf_matnr1,
s_dispo-low TO ldf_dispo,
s_dispo-high TO ldf_dispo1,
s_dispr-low TO ldf_dispr,
s_dispr-high TO ldf_dispr1,
s_werks-low TO ldf_werks,
s_werks-high TO ldf_werks1.
CLEAR: gds_listheader.
gds_listheader-typ = lcf_h.
gds_listheader-info = lcf_text.
APPEND gds_listheader TO gdt_listheader.
CLEAR gds_listheader.
gds_listheader-typ = lcf_s.
gds_listheader-key = lcf_program.
WRITE sy-cprog TO gds_listheader-info.
APPEND gds_listheader TO gdt_listheader.
CLEAR gds_listheader.
gds_listheader-typ = lcf_s.
gds_listheader-key = lcf_user.
WRITE gdf_name_text TO gds_listheader-info.
APPEND gds_listheader TO gdt_listheader.
CLEAR gds_listheader.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = gdt_listheader."it_listheader.
* I_LOGO = 'ENJOYSAP_LOGO'.
REFRESH gdt_listheader. "it_listheader.
ENDFORM. "TOP_OF_PAGE
******************************************************************
2) CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = gcf_prog_name
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* i_callback_top_of_page = lcf_top_of_page
i_callback_html_top_of_page = 'HTML_TOP_OF_PAGE1'
to display heading top left side and right side.
FORM html_top_of_page1 USING top TYPE REF TO cl_dd_document.
DATA: ldf_text(255) TYPE c.
DATA: ldf_date(10),
ldf_time(8),
ldf_name TYPE ad_namtext.
CREATE OBJECT top.
* heading of Report
ldf_text = text-005. "'Sales UoM Report'.
* Add gap
CALL METHOD top->add_gap
EXPORTING
width = 140.
*Dispaly heading
CALL METHOD top->add_text
EXPORTING
text = ldf_text
sap_fontsize = 'LARGE'
sap_emphasis = cl_dd_document=>strong.
*New line
CALL METHOD top->new_line.
CLEAR ldf_text.
* Program Name
CONCATENATE text-006 "'Program:'(006)
sy-repid
INTO ldf_text SEPARATED BY space.
CALL METHOD top->add_text
EXPORTING
text = ldf_text.
CALL METHOD top->add_gap
EXPORTING
width = 186.
* Execution Date and Time
WRITE sy-datum TO ldf_date DD/MM/YYYY.
WRITE sy-uzeit TO ldf_time ENVIRONMENT TIME FORMAT.
CONCATENATE text-003 "'Executed on'(003)
ldf_date
text-004 "'at'(004)
' '
ldf_time
INTO ldf_text SEPARATED BY space.
CALL METHOD top->add_text
EXPORTING
text = ldf_text.
CALL METHOD top->new_line.
* Display user and logon details on report
SELECT SINGLE name_text
INTO ldf_name
FROM v_username
WHERE bname = sy-uname.
CONCATENATE text-007 "'User Name:'(007)
ldf_name
INTO ldf_text SEPARATED BY space.
CALL METHOD top->add_text
EXPORTING
text = ldf_text.
CALL METHOD top->add_gap
EXPORTING
width = 180.
* Display page numbers
ldf_text = text-009. "'Page: 1 of 1'(009).
CALL METHOD top->add_text
EXPORTING
text = ldf_text.
CALL METHOD top->new_line.
Print input selection criteria
PERFORM print_selections.
LOOP AT gdt_list_comments INTO gds_list_comments.
*Adding Line
CALL METHOD top->new_line.
ldf_text = gds_list_comments-info.
CALL METHOD top->add_text
EXPORTING
text = ldf_text.
CLEAR gds_list_comments.
ENDLOOP.
ENDFORM. "top_of_page
********************************************************************
3)IN list top of page
* it_events = gdt_events
**FORM build_events .
**
** CLEAR gdt_events.
**
** gds_events-form = 'TOP_OF_PAGE'.
** gds_events-name = 'TOP_OF_PAGE1'.
** APPEND gds_events TO gdt_events.
** CLEAR gds_events.
**
**ENDFORM. " BUILD_EVENTS
*&---------------------------------------------------------------------*
*& Form TOP_OF_PAGE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
**FORM top_of_page1.
**
** DATA: ldt_headings TYPE slis_t_listheader,
** lds_headings LIKE LINE OF ldt_headings,
** ldf_text(255) TYPE c,
** ldf_uname(80) TYPE c,
** ldf_lines TYPE i,
** ldf_pagno TYPE cfcount,
** ldf_tot_pages TYPE cfcount,
** ldf_date(10),
** ldf_uzeit(8).
**
** CONSTANTS : lcf_lines_per_page TYPE i VALUE 30.
**
*** Date
** WRITE sy-datum TO ldf_date DD/MM/YYYY.
*** Time
** WRITE sy-uzeit TO ldf_uzeit ENVIRONMENT TIME FORMAT.
*** Executed on (SY-datum) at (sy-uzeit)
** CONCATENATE text-003 "'Executed on'(003)
** ldf_date
** text-004 "'at'(004)
** ' '
** ldf_uzeit
** INTO ldf_text SEPARATED BY space.
**
*** Select name of current user
** SELECT SINGLE name_text
** INTO ldf_uname
** FROM v_username
** WHERE bname = sy-uname.
**
*** Heading of the report
** WRITE : 55 text-005. "'Multi Plant MRP Report'(005).
*** Program Name
** WRITE :/ text-006, sy-repid.
*** Executed on (SY-datum) at (sy-uzeit)
** WRITE : 100 ldf_text.
*** User Name
** WRITE : / text-007, ldf_uname.
**
****************** To Discribe current page of total No of pages*********
**
*** calculate No of pages
** DESCRIBE TABLE gdt_output_list LINES ldf_lines.
** ldf_tot_pages = ldf_lines / lcf_lines_per_page.
**
** IF ldf_tot_pages LE 1.
** WRITE: 100 text-009.
** ELSE.
** CLEAR : ldf_text.
** WRITE: ldf_tot_pages TO ldf_text NO-ZERO.
** CONDENSE ldf_text.
** WRITE: sy-pagno TO ldf_pagno NO-ZERO.
**
** CONCATENATE text-008 " 'Page :'(038)
** ldf_pagno
** text-010 "'Of'(039)
** ldf_text
** INTO ldf_text SEPARATED BY space.
**
*** Display current page of total No of pages
** WRITE: 100 ldf_text.
** ENDIF.
** SKIP 1.
**
*** print input selection criteria
** PERFORM print_selections. " To get details of input selection
** "criteria
** LOOP AT gdt_list_comments INTO gds_list_comments.
** ldf_text = gds_list_comments-info.
** WRITE:/1 ldf_text.
** CLEAR gds_list_comments.
** ENDLOOP.
**
**
**ENDFORM. "TOP_OF_PAGE
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = gcf_prog_name
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
i_callback_top_of_page = lcf_top_of_page
lcf_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.
FORM top_of_page.
DATA: lcf_text LIKE gds_listheader-info VALUE 'Multi Plant MRP Report',
lcf_s TYPE c VALUE 'S',
lcf_h TYPE c VALUE 'H',
lcf_program(8) TYPE c VALUE 'Program:',
lcf_user(10) TYPE c VALUE 'User Name:',
lcf_execdat(12) TYPE c VALUE 'Executed On:',
lcf_pgno(5) TYPE c VALUE 'Page:',
lcf_material(9) TYPE c VALUE 'Material:',
lcf_mrpcontoller(15) TYPE c VALUE 'MRP Controller:',
lcf_mrpprofile(12) TYPE c VALUE 'MRP Profile:',
lcf_stockplant(12) TYPE c VALUE 'Stock Plant:',
lcf_supplyplant(16) TYPE c VALUE 'Supplying plant:',
lcf_to(2) TYPE c VALUE 'TO'.
DATA: ldf_matnr TYPE matnr,
ldf_matnr1 TYPE matnr,
ldf_dispo TYPE dispo,
ldf_dispo1 TYPE dispo,
ldf_dispr TYPE dispr,
ldf_dispr1 TYPE dispr,
ldf_werks TYPE werks,
ldf_werks1 TYPE werks.
MOVE: s_matnr-low TO ldf_matnr,
s_matnr-high TO ldf_matnr1,
s_dispo-low TO ldf_dispo,
s_dispo-high TO ldf_dispo1,
s_dispr-low TO ldf_dispr,
s_dispr-high TO ldf_dispr1,
s_werks-low TO ldf_werks,
s_werks-high TO ldf_werks1.
CLEAR: gds_listheader.
gds_listheader-typ = lcf_h.
gds_listheader-info = lcf_text.
APPEND gds_listheader TO gdt_listheader.
CLEAR gds_listheader.
gds_listheader-typ = lcf_s.
gds_listheader-key = lcf_program.
WRITE sy-cprog TO gds_listheader-info.
APPEND gds_listheader TO gdt_listheader.
CLEAR gds_listheader.
gds_listheader-typ = lcf_s.
gds_listheader-key = lcf_user.
WRITE gdf_name_text TO gds_listheader-info.
APPEND gds_listheader TO gdt_listheader.
CLEAR gds_listheader.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = gdt_listheader."it_listheader.
* I_LOGO = 'ENJOYSAP_LOGO'.
REFRESH gdt_listheader. "it_listheader.
ENDFORM. "TOP_OF_PAGE
******************************************************************
2) CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = gcf_prog_name
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* i_callback_top_of_page = lcf_top_of_page
i_callback_html_top_of_page = 'HTML_TOP_OF_PAGE1'
to display heading top left side and right side.
FORM html_top_of_page1 USING top TYPE REF TO cl_dd_document.
DATA: ldf_text(255) TYPE c.
DATA: ldf_date(10),
ldf_time(8),
ldf_name TYPE ad_namtext.
CREATE OBJECT top.
* heading of Report
ldf_text = text-005. "'Sales UoM Report'.
* Add gap
CALL METHOD top->add_gap
EXPORTING
width = 140.
*Dispaly heading
CALL METHOD top->add_text
EXPORTING
text = ldf_text
sap_fontsize = 'LARGE'
sap_emphasis = cl_dd_document=>strong.
*New line
CALL METHOD top->new_line.
CLEAR ldf_text.
* Program Name
CONCATENATE text-006 "'Program:'(006)
sy-repid
INTO ldf_text SEPARATED BY space.
CALL METHOD top->add_text
EXPORTING
text = ldf_text.
CALL METHOD top->add_gap
EXPORTING
width = 186.
* Execution Date and Time
WRITE sy-datum TO ldf_date DD/MM/YYYY.
WRITE sy-uzeit TO ldf_time ENVIRONMENT TIME FORMAT.
CONCATENATE text-003 "'Executed on'(003)
ldf_date
text-004 "'at'(004)
' '
ldf_time
INTO ldf_text SEPARATED BY space.
CALL METHOD top->add_text
EXPORTING
text = ldf_text.
CALL METHOD top->new_line.
* Display user and logon details on report
SELECT SINGLE name_text
INTO ldf_name
FROM v_username
WHERE bname = sy-uname.
CONCATENATE text-007 "'User Name:'(007)
ldf_name
INTO ldf_text SEPARATED BY space.
CALL METHOD top->add_text
EXPORTING
text = ldf_text.
CALL METHOD top->add_gap
EXPORTING
width = 180.
* Display page numbers
ldf_text = text-009. "'Page: 1 of 1'(009).
CALL METHOD top->add_text
EXPORTING
text = ldf_text.
CALL METHOD top->new_line.
Print input selection criteria
PERFORM print_selections.
LOOP AT gdt_list_comments INTO gds_list_comments.
*Adding Line
CALL METHOD top->new_line.
ldf_text = gds_list_comments-info.
CALL METHOD top->add_text
EXPORTING
text = ldf_text.
CLEAR gds_list_comments.
ENDLOOP.
ENDFORM. "top_of_page
********************************************************************
3)IN list top of page
* it_events = gdt_events
**FORM build_events .
**
** CLEAR gdt_events.
**
** gds_events-form = 'TOP_OF_PAGE'.
** gds_events-name = 'TOP_OF_PAGE1'.
** APPEND gds_events TO gdt_events.
** CLEAR gds_events.
**
**ENDFORM. " BUILD_EVENTS
*&---------------------------------------------------------------------*
*& Form TOP_OF_PAGE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
**FORM top_of_page1.
**
** DATA: ldt_headings TYPE slis_t_listheader,
** lds_headings LIKE LINE OF ldt_headings,
** ldf_text(255) TYPE c,
** ldf_uname(80) TYPE c,
** ldf_lines TYPE i,
** ldf_pagno TYPE cfcount,
** ldf_tot_pages TYPE cfcount,
** ldf_date(10),
** ldf_uzeit(8).
**
** CONSTANTS : lcf_lines_per_page TYPE i VALUE 30.
**
*** Date
** WRITE sy-datum TO ldf_date DD/MM/YYYY.
*** Time
** WRITE sy-uzeit TO ldf_uzeit ENVIRONMENT TIME FORMAT.
*** Executed on (SY-datum) at (sy-uzeit)
** CONCATENATE text-003 "'Executed on'(003)
** ldf_date
** text-004 "'at'(004)
** ' '
** ldf_uzeit
** INTO ldf_text SEPARATED BY space.
**
*** Select name of current user
** SELECT SINGLE name_text
** INTO ldf_uname
** FROM v_username
** WHERE bname = sy-uname.
**
*** Heading of the report
** WRITE : 55 text-005. "'Multi Plant MRP Report'(005).
*** Program Name
** WRITE :/ text-006, sy-repid.
*** Executed on (SY-datum) at (sy-uzeit)
** WRITE : 100 ldf_text.
*** User Name
** WRITE : / text-007, ldf_uname.
**
****************** To Discribe current page of total No of pages*********
**
*** calculate No of pages
** DESCRIBE TABLE gdt_output_list LINES ldf_lines.
** ldf_tot_pages = ldf_lines / lcf_lines_per_page.
**
** IF ldf_tot_pages LE 1.
** WRITE: 100 text-009.
** ELSE.
** CLEAR : ldf_text.
** WRITE: ldf_tot_pages TO ldf_text NO-ZERO.
** CONDENSE ldf_text.
** WRITE: sy-pagno TO ldf_pagno NO-ZERO.
**
** CONCATENATE text-008 " 'Page :'(038)
** ldf_pagno
** text-010 "'Of'(039)
** ldf_text
** INTO ldf_text SEPARATED BY space.
**
*** Display current page of total No of pages
** WRITE: 100 ldf_text.
** ENDIF.
** SKIP 1.
**
*** print input selection criteria
** PERFORM print_selections. " To get details of input selection
** "criteria
** LOOP AT gdt_list_comments INTO gds_list_comments.
** ldf_text = gds_list_comments-info.
** WRITE:/1 ldf_text.
** CLEAR gds_list_comments.
** ENDLOOP.
**
**
**ENDFORM. "TOP_OF_PAGE
Subscribe to:
Posts (Atom)