Close Sidebar close
Sapignite
  • SAP
  • Coding Challenges
  • Download
  • SAP Ignite Products

Subscribe & Follow

All product names on this web site are trademarks of the companies that own them. Sapignite.com is not affiliated with SAP AG in any way. SAP AG is the registered trademark holder of SAP, SAP R/3, mySAP, ABAP, xApps, NetWeaver, and other proprietary terms. The technical information on this site is verified to the greatest extent possible, however, any information found on this site is used at the site visitor's own risk. Sapignite.com reserves the right to correct any errors or omissions in any portion of this site at any time without obligation.

  • SAP
  • Coding Challenges
  • Download
  • SAP Ignite Products
Sapignite
Sapignite
    ABAP

    Let’s remember our old friend : Classical Reports !

    August 7, 2017

    Remember your first program in ABAP?


    Life was never simple after that…Classical report holds its position intact though there are many strong fighters around it,Module pool programming, OOPs concept, Webdynpro for ABAP, ITS, BSP etc. etc.

    This article is dedicated to “Report programming “.We will be discussing about interesting stuff about report program today.

    Let me tell u one incident Few months back I was taking an interview of the girl I asked her that what are the events Are available in report programming and like Maglev (Fastest train 581km/h),

    in less than 6 seconds answer was completed.

    INITIALIZATION.

    AT SELECTION-SCREEN.

    START-OF-SELECTION.

    TOP-OF-PAGE.

    END-OF-PAGE.

    END-OF-SELECTION.

    AT LINE-SELECTION.

    AT USER-COMMAND.

    TOP-OF-PAGE DURING LINE-SELECTION.

    Ya…. I know Boss. she missed LOAD OF PROGRAM.This event keyword defines an event block whose event is triggered by the ABAP-runtime

    environment when an executable program, a module pool, a function group or a sub-routine pool is loaded in the internal session.

    When a program is called using SUBMIT or using a transaction code, then – at every call – a new internal session is opened and the event block is executed once at every call. You can initialize global data objects of the program here. The event block must be executed completely;otherwise, a run-time error will occur. Therefore, no statements are allowed to be executed

    that leave the event block without returning.At the first call of an external Procedure (sub-program or function module), the framework program

    of the called procedure is loaded into the internal session of the caller, thus triggering the event LOAD-OF-PROGRAM. The event block is executed before the called procedure. At any further call of a procedure of the same framework program by a caller of the same internal session, the event LOAD-OF-PROGRAM is triggered no longer.

    You can create report program with as many LOAD-OF-PROGRAM as you want, But if it Contains the statements like EXIT or STOP.


    Upppssss…

    This dump reminds me the dump when I tried to execute the report program in background with ALV output. So if your report contains anything which is related GUI it will go to dump. We used the class: cl_gui_alv_grid This does not work in background mode.You need to find another alternative for that so that you can write the output to the spool. You can use reuse_alv_grid_display function module for that too. When it comes to take your report to Web where use can access it from portal, you can take a help From ITS (internet transaction services). Check out our article ******************* to learn how you can achieve this.

    Let me give you some useful function module which can be very helpful when you are working With report programming:

    How to Display progress indicator : SAPGUI_PROGRESS_INDICATOR

    Sample Code:

    REPORT ZPROGIND.
    DATA: A LIKE SY-UCOMM.

    DO 100 TIMES.
    DO 900 TIMES.
    GET TIME.
    ENDDO.
    A(3) = SY-INDEX.A+3 = ‘%’.
    CALL FUNCTION ‘SAPGUI_PROGRESS_INDICATOR’
    EXPORTING
    PERCENTAGE = SY-INDEX
    TEXT       = A.
    ENDDO.

    Some of the useful Function Module :

    Function Module to execute unauthorized transactions

    TRANSACTION_CALL_VIA_RFC To execute some unauthorized transactions.

    Function Modules for creating programs (Useful when you are generating programs)

    RS_PROGRAM_CHECK_NAME To check program names if you are generating them.
    RS_CORR_INSERT To insert the correction request in the repository.
    REPS_OBJECT_ACTIVATE To activate repository objects, for example – to activate a newly generated program.
    RS_DELETE_PROGRAM To delete the program.
    RS_ACCESS_PERMISSION To lock or unlock a program.

    Function Modules related to Date and Time Calculations

    CALCULATE_DATE Calculates the future date based on the input .
    DATE_TO_DAY Returns the Day for the entered date. 
    DATE_COMPUTE_DAY Returns weekday for a date
    DATE_GET_WEEK Returns week for a date
    RP_CALC_DATE_IN_INTERVAL Add days / months to a date
    DAY_ATTRIBUTES_GET Returns attributes for a range of dates specified
    MONTHS_BETWEEN_TWO_DATES To get the number of months between the two dates.
    END_OF_MONTH_DETERMINE_2 Determines the End of a Month.
    HR_HK_DIFF_BT_2_DATES Find the difference between two dates in years, months and days.
    FIMA_DAYS_AND_MONTHS_AND_YEARS Find the difference between two dates in years, months and days.
    MONTH_NAMES_GET Get the names of the month
    WEEK_GET_FIRST_DAY Get the first day of the week
    HRGPBS_HESA_DATE_FORMAT Format the date in dd/mm/yyyy format
    SD_CALC_DURATION_FROM_DATETIME Find the difference between two date/time and report the difference in hours
    L_MC_TIME_DIFFERENCE Find the time difference between two date/time
    HR_99S_INTERVAL_BETWEEN_DATES Difference between two dates in days, weeks, months
    LAST_DAY_OF_MONTHS Returns the last day of the month
    DATE_CHECK_PLAUSIBILITY Check for the invalid date.
    DATE_2D_TO_4D_CONVERSION Year entry: 2-character to  4-character.
    DAY_IN_WEEK Input date and will give the name of the day 1-monday,2-Tuesday….
    SD_DATETIME_DIFFERENCE Give the difference in Days and Time for 2 dates

    Holidays and Factory Calendar

    HOLIDAY_GET Gives holidays for a country.It has two flags Freeday(for weekends)and Holiday(for public holidays).
    FACTORYDATE_CONVERT_TO_DATE returns the calendar date for the factory date and the factory calendar passed
    DATE_CONVERT_TO_FACTORYDATE returns the factory date for the date and factory calendar passed

    Popup for dates

    F4_DATE Displays a popup dialog to choose date
    POPUP_TO_SELECT_MONTH Display a pop-up to select a month

    Function Modules related to (ALV)   SAP LIST VIEWER

    REUSE_ALV_LIST_DISPLAY ABAP List viewer  (LIST DISPLAY)
    REUSE_ALV_GRID_DISPLAY ALV GridControl full screen
    REUSE_ALV_FIELDCATALOG_MERGE Create field catalog from dictionary structure or internal table

    Function Module related to Change Tracking

    CHANGEDOCUMENT_READ_HEADERS Read and format change documents
    CHANGEDOCUMENT_READ read change document headers and items to get the old and new values

    Function Modules Related To Formatting

    CLOI_PUT_SIGN_IN_FRONT Displays the negative sign in front of the numeral
    RKD_WORD_WRAP Wrap text into several lines
    CONVERSION_EXIT_ALPHA_INPUT Pad zeros to the number at the left
    CONVERSION_EXIT_ALPHA_OUTPUT Eliminate zeros to the number at the left
    READ_EXCHANGE_RATE Exchange Convertion
    SPELL_AMOUNT Transforms numeric values into text

    Function Modules Related To Dialog Prompts

    POPUP_TO_CONFIRM Displays a popup dialog with a user defined message for confirmation
    POPUP_TO_GET_VALUE Displays a popup dialog requesting a value for a particular table-fieldname
    SAPGUI_PROGRESS_INDICATOR Displays a progress bar with text to denote the percentage of completion and status
    FILENAME_GET Displays a popup dialog to get the presentation server filename
    F4_DATE Displays a popup dialog to choose date
    POPUP_TO_SELECT_MONTH Display a pop-up to select a month
    GET_PRINT_PARAMETERS Printer parameters
    F4IF_INT_TABLE_VALUE_REQUEST F4 help also returning the value to be displayed in internal table
    F4IF_FIELD_VALUE_REQUEST F4 help for fields that are only known at runtime

    Function modules related to RFC communication

    RFC_CONNECTION_CLOSE Close a RFC connection
    RFC_GET_SYSTEM_INFO Give system’s information of a remote system

    {+}Function modules related to reading/writing files on application server (named AS below) or Frontend +

    FILE_READ_AND_CONVERT_SAP_DATA Uploads the file from either presentation or application server into an internal table
    SUBST_GET_FILE_LIST To get the list of files from AS
    ALSM_EXCEL_TO_INTERNAL_TABLE Legacy Data Transfer w/ Excel
    WS_FILE_DELETE Delete files on AS server
    PFL_COPY_OS_FILE Copy AS files
    EPS_GET_DIRECTORY_LISTING Returns all files from an AS directory
    FILENAME_GET Displays a popup dialog to get an AS filename (FILE transaction)
    GUI_UPLOAD Upload a file from the presentation server
    GUI_DOWNLOAD Downloads an Internal Table to the PC

    Function Modules related to sending emails

    SO_NEW_DOCUMENT_ATT_SEND_API1 Sends emails with texts and attachments
    SO_NEW_DOCUMENT_SEND_API1 Sends emails with texts.

    Function Modules related to data maintenance

    VIEW_MAINTENANCE_CALL To maintain data from a table or view (SM30)

    Amount and Currency

    CURRENCY_AMOUNT_SAP_TO_IDOC Convert currency to IDOC format
    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.
    CONVERT_TO_FOREIGN_CURRENCY Convert local currency to foreign currency.
    CONVERT_TO_LOCAL_CURRENCY Convert from foreign currency to local currency
    CONVERT_AMOUNT_TO_CURRENCY Convert an amount from a currency to another (exchange rate taken from database tables)
    CONVERT_CURRENCY_BY_RATE Convert an amount from a currency to another, according to the passed exchange rate
    BAPI_CURRENCY_CONV_TO_EXTERNAL Conversion of Currency Amounts into External Data Format
    BAPI_CURRENCY_CONV_TO_INTERNAL Conversion of Currency Amounts into Internal Data Format
    CALCULATE_TAX_FROM_NET_AMOUNT  
    SPELL_AMOUNT to get Amount in words
    HR_IN_CHG_INR_WRDS Changes INR amount to words.

    Function Modules related to FI, CO and SD Modules

    FOR_ALL_SKC1A Account subtotal
    VC_I_GET_CONFIGURATION Sales Purchase details configuration
    SD_PRINT_TERMS_OF_PAYMENT Print terms for unique payment
    SD_PRINT_TERMS_OF_PAYMENT_SPLI Print terms for some parcels payment
    J_1B_NF_DOCUMENT_READ Read NF details
    J_1B_NF_VALUE_DETERMINATION Read values from NF returned combined with J_1B_NF_DOCUMENT_READ using.

    Function Module related to HR-ABAP

    HR_MAINTAIN_MASTERDATA This function module is used to maintain master data for employees and applicants.
    HR_READ_INFOTYPE This function module reads the data records of an HR infotype that exist for employees and applicants.
    HR_INFOTYPE_OPERATION This function module is used to maintain employees and applicants data.
    CU_READ_RGDIR This function module is used to read RGDIR of cluster CU.
    PYXX_READ_PAYROLL_RESULT This function module reads complete payroll result for all country versions, from file PCL2 cluster.
    HR_GET_PAYROLL_RESULTS This function module is used to fetch the payroll results for employees .
    HR_RELATION_MAINTAIN This function module is to maintain the relation between employee and position.
    BAPI_HRMASTER_SAVE_REPL_MULT This function module is to create position or organizaion unit ect.


    learning sap reportsprogramming tips and trickssap abap reportstutorial sap abap report programming
    raju borda
    Raju is working with Technical areas like SAP ABAP, PI , Web design, JAVA , PBT, robotics as architect also functional areas like SCM , QM, MM , insurance . When he is not Doing above geeky things you might find him travelling , Cooking , dancing or drinking with friends :-) .
    • SAP ABAP Debugging tips and tricks !

    • Change Pointers in SAP ABAP

    You Might Also Like

    SAP Tips and tricks

    July 6, 2017

    Enhancement in sap how to find work and implement

    July 17, 2017

    How to find BADI, Kernel BADIs or USER-EXIT for a particular Transaction code or Program

    August 14, 2017

    No Comments

    Leave a Reply Cancel Reply

Sign up for some exciting content

Recent Posts

  • How to prepare for SAP IBP Certification
  • What is SAP Leonardo ?
  • RoadMap UI Tutorial webdynpro for ABAP
  • Offline Adobe forms in WebDynPro for ABAP
  • MVC Architecture for Webdynpro for ABAP

Categories

  • ABAP
  • Android
  • Coding Challenges
  • Enhancement
  • featured
  • Interviews
  • Learning Hub
  • PI ( Process integration )
  • SAP
  • SAP HANA
  • Uncategorized
  • Webdynpro for ABAP
  • Webdynpro For ABAP