Computer Science and I – where it all started
This is a little reminiscent – these are the guys who were there when I walked down the halls of UofT.
Brought to you by ByteClub.
Online ABAP community
Get involved, get started!
ABAP cancelling an SD Billing Document
If you have access to a billing document number try executing the following function:
DATA: l_rtrn TYPE bapireturn1 OCCURS 0.
DATA: l_succ TYPE bapivbrksuccess OCCURS 0.
CALL FUNCTION 'BAPI_BILLINGDOC_CANCEL1'
EXPORTING
billingdocument =
* testrun =
* no_commit =
billingdate = sy-datum
TABLES
return = l_rtrn
success = l_succ.
This should create a cancellation document.
A scam or not a scam [phone tracking]
Just got a phone call from a Police Association asking for a donation. Obviously the first thought that crossed my mind is ‘another scam’. But I did some checking and it looks like these guys are legid – though it seems that only a small percentage of the funds goes to the actual charity.
To check if you got a scam phone check with Phonebusters [applies to Canada only].
ABAP: execute OS level command
There are many things that one can do to execute a command in an Operating System from an ABAP report. I’ll explain one method that one can take to accomplish this.
- Using transactions SM49 and SM69 set up and test a new OS command that you wish to execute. For the purposes of this post I’ve set up an executable command ZSAPCAR32.
- When I was setting up the new command I’ve selected the option to add additional parameters to the command.
- Once tested and satisfied you can add a new function module [SXPG_COMMAND_EXECUTE] to your report that will call preset executable command.
data: g_rlog TYPE btcxpm OCCURS 0.
CALL FUNCTION 'SXPG_COMMAND_EXECUTE'
EXPORTING
commandname = 'ZSAPCAR32'
additional_parameters = <additional parameters>
operatingsystem = <system you specified in SM69>
TABLES
exec_protocol = g_rlog
EXCEPTIONS
no_permission = 1
command_not_found = 2
parameters_too_long = 3
security_risk = 4
wrong_check_call_interface = 5
program_start_error = 6
program_termination_error = 7
x_error = 8
parameter_expected = 9
too_many_parameters = 10
illegal_command = 11
wrong_asynchronous_parameters = 12
cant_enq_tbtco_entry = 13
jobcount_generation_error = 14
OTHERS = 15.
if sy-subrc eq 0.
LOOP AT g_rlog INTO g_warlog.
* display command output
write g_warlog.
ENDLOOP.
endif.
The above code will execute your OS command and display the results.
ABAP: load file using pop-up window
When writing a program the simplest way to load a file from your client PC in to the server SAP syste is through a use of a regular text box. But if you want to get a little fancier try using the following function:
data: l_select TYPE sapb-sappfad.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_filename = l_select
def_path = ' '
mask = ',*.*,*.*.'
mode = 'O'
title = 'Select filename to OPEN'(f05)
IMPORTING
filename = l_select
EXCEPTIONS
selection_cancel = 1
selection_error = 2
OTHERS = 3.
This function will open up a pop-up window [standard to windows] allowing the user to select a file somewhere on their local comptuer.
UltraEdit Backup Files
I love workign with UltraEdit though there is one thing that always annoys me. Every time I update the contents of a file the program creates a backup file in the same directory. Well for those of you who run in to the same problem here’s how you go about fixing this issue:
Go to:
Advanced -> Configuration ->File Handling -> Backup

By default the configurations are set up to create a .BAK file in the same directory. Although the functionality is annoying I still think it’s quite useful. So the best thign to do [in my oppinion] is to populate the default directory field with the a directory somewhere on your local computer.
SAPGUI_PROGRESS_INDICATOR
A usefull little function that will allow you to display a status update on the bottom left corner of the screen when running your reports.
call function 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = 0
text = STATUS_TEXT.
Note: anything lower then 0 will be rounded up to 0 and anything greater then 100 will be rounded down to 100.
Online textures
A collection of free textures can be found at the Texture King. Anything from the concrete images to wooden and liquet samples.
When was the last System Refresh done in an SAP system?
To quickly check when your DEV/QA system was refreshed from a production box perform the following steps:
- Execute the transaction SCCL
- Fill in the Source Clinet filed [ie: 001]
- Select <Goto> <Log display> from the main menu
You should see a screen with a list of dates of when the system was last refreshed.
Other useful transactions:
SCC9: client copy – copy a client
SCC8: client export
SCC7: client import
SCC1: copy as per transport request