Category Archives for "SAP Help & Information"

ABAP Glossary

Each entry in the glossary contains a reference to the application component to which it belongs. You can use this path in the R/3 Library to find further information. For example, for more information about ABAP Dictionary. look under ABAP Workbench (application component BC-DWB)

ABAP Dictionary

ABAP Workbench (BC-DWB)Central and redundancy-free storage facility for all data used in the R/3 System. The ABAP Dictionary describes the logical structure of application development objects and their representation in the structures of the underlying relational database. All runtime environment components such as application programs or the database interface get information about these objects from the ABAP Dictionary. The ABAP Dictionary is an active data dictionary and is fully integrated into the ABAP Workbench.

ABAP Native SQL

ABAP Workbench (BC-DWB)

ABAP Native SQL allows you to include database-specific SQL statements in an ABAP program. Most ABAP programs containing database-specific SQL statements do not run with different databases. If different databases are involved, use Open SQL. To execute ABAP Native SQL in an ABAP program, use the statement EXEC.

ABAP Open SQL

ABAP Workbench (BC-DWB)
Subset of standard SQL statements. To avoid conflicts between database tables and to keep ABAP programs independent from the database system used, SAP has generated its own set of SQL statements known as Open SQL. Using Open SQL allows you to access all database tables available in the R/3 System, regardless of the manufacturer.

ABAP Program

ABAP Workbench (BC-DWB)
Programs written in the ABAP programming language. n ABAP program consists of a collection of processing locks, which are processed sequentially as soon as they are called by the runtime system. There are two main kinds of ABAP program: Report programs (ABAP reports) Dialog programs

ABAP Query

Basis Services/Communication Interfaces (BC-SRV)ABAP Workbench tool that allows users without knowledge of the ABAP programming language, or table or field names, to define and execute their own reports To determine the structure of reports in ABAP Query, users only have to enter texts, and select fields and options. Fields are selected from functional areas and can be assigned a sequence by numbering There are three types of report available

Create dynamic SAP Web dynpro screen

Simply create a new Web dynpo application and add this code to the WDDOMODIFYVIEW method of your main view.

method WDDOMODIFYVIEW .
  data : lr_textview type ref to cl_wd_text_view.
  Data: lr_uicontainer type ref to cl_wd_uielement_container,
        lr_rowhead type ref to cl_wd_row_head_data,
        lr_button type ref to cl_wd_button,
        lr_inputfield type ref to cl_wd_input_field,
        lr_flowdata type ref to cl_wd_flow_data,
        ld_childid type string.

*if first_time = 'X'. "Uncomment when parameter created in method
  lr_button = cl_wd_button=>new_button( view = view
  text = 'My Button'
  on_action = 'PRESSBUTTON' ).

  lr_rowhead = cl_wd_row_head_data=>new_row_head_data( element = lr_button ).
  lr_button->set_layout_data( lr_rowhead ).
  lr_button->set_tooltip( value = 'Tooltip' ).
  lr_flowdata = cl_wd_flow_data=>new_flow_data( element = lr_button ).
  lr_uicontainer ?= view->get_element( 'ROOTUIELEMENTCONTAINER' ).
  lr_uicontainer->add_child( lr_button ).
  lr_textview = cl_wd_text_view=>new_text_view( view = view
  text = 'Create Dynamic UI Elements' ).
  lr_rowhead = cl_wd_row_head_data=>new_row_head_data( element = lr_textview ). 
  lr_textview->set_layout_data( lr_rowhead ).
  lr_flowdata = cl_wd_flow_data=>new_flow_data( element = lr_textview ).
  lr_uicontainer ?= view->get_element( 'ROOTUIELEMENTCONTAINER' ).
  lr_uicontainer->add_child( lr_textview ).
*endif.
endmethod.

Cookiechoices cookie only set for specific page not whole website

When i first downloaded the the cookiechoices.js file from the link suggested by google and then installed it onto my site it didn’t really work correctly. It would display the message but when the user clicked on the ok button it only seemed to set the cookie for that specific page, so when a second page was visited the cookie message would be displayed a second time.

Cause of the Error

The reason for this was that the cookiechoices code was not setting the path correctly. You can see the Path that the cookie sets by going to “More tools->Developer tools” within Chrome and then selecting the Application tab and expanding Cookies within the Storage tree structure. As you can see in this example the path /abap has been included as part of the cookie properties. This is not what you want, it should just be a ‘/’ like all the others. In this case the cookie will only be set for all pages within the /abap directory rather than the whole website.

CookieChoices Path Error

CookieChoices Path Error

Solution

The solution is actually quite simple but took me a lot of messing around to find. You basically just need to hard code the path property to be the route  of your website. To do that within the cookie choices code recommended by google simply find the following section of code

document.cookie = cookieName + ‘=y; expires=’ + expiryDate.toGMTString();
Now simply add “path=/” after =y;

i.e.  Resultant JavaScript code will now look like this:
document.cookie = cookieName + ‘=y; path=/; expires=’ + expiryDate.toGMTString();

 

Test

Once you have implemented the above fix and uploaded the new file to you website try a page where the cookie choices message is displayed  and click the OK button again. The result should be that the cookie is set for the route of the website.

cookiechoices fix

cookiechoices fix

Unix commends via putty

Create directory 

mkdir page-backup

create directory called page-backup

 

Copy all files and sub-directories from one directory to another

cp -r page/* page-backup

copies all files from page into page-backup

 

html image url contains http://1.1.1.3/bmi/ or something with bmi

I noticed the other week that some of the image SRC links within my website HTML code was being transformed. Basically a spurious http://1.1.1.2/bmi/ (or a version of this such as 1.1.1.2/bmi/, 1.1.1.4/bmi/ etc) was being injected into my HTML code when my website was being viewed. At first I thought it was my web host implementing some kind of image caching so i ignored it for a while. I then started notice that the images were not always been displayed so I contact them to discus the issue and to find out what was going on.

To cut a long story short it turned out to be my internet service provider(ISP) Three.co.uk. Because it is a 4G mobile based provider they and most of the others seem to use a service call ByteMobile, which tries to reduce the amount of data being transferred. I’m not sure they use this all the time but just in busy areas or at peak times.

 

The fix

After a bit of trial an error the final solution was quite a simple one, just enter the following code into your .htaccess file.

<IfModule mod_headers.c>
Header set Cache-Control “no-transform”
</IfModule>

this then tells the service provider that pages from this website should not be transformed and to display them as they are.

 

Fix with HTTPS
I believe an alternate fix would be to implement HTTPS on your web site, this way your code is secure and the service provided is unable view or transform it even if they wanted too

ABAP report of pernrs and email output as PDF ABAP

Useful ABAP code example to demonstrate how to display an SAP ALV report and then email the output as a PDF document. The code covers the following SAP ABAP report functionality:

  • Email address input selection screen fields
  • Display ALV report using Objects cl_salv_table
  • Add custom ALV column header
  • Change colour of ALV rows based on user start year
  • Get ALV Spool from background execution
  • Convert Spool to PDF and send as Email
  • Submit an ABAP report in background
  • ABAP report submits itself in background to create spool
  • Pass parameter and select option to report submit
  • Delete SAP spool request

REPORT ZREP_EMAIL_ALV_SPOOL….

Click here for ABAP code and more info

View SAP Query ABAP program created

When working with SAP queries it is often useful to have a look at the ABAP code it generates. This could be to either use it as a basis for a new report or just to see what is going on. You can also use this information to assign a transaction code to your infoset query. Once you have the ABAP program associated you can assign a t-code in the same way you would assign any transaction code to an ABAP report.

I always used to do this by searching for an ABAP program/report containing the name of your query. This is done by simply adding an asterisk either side of your query name (i.e. *MYQUERY*), entering this into transaction SE38 or SE80 and using the F4 value help option. The name of your query will then appear in the hit list, it will be something like AQL4*======MYQUERY===.

A much better way would be to  view the name via SQ01 using menu option   Query->More functions->Display report name. You can also create the report using menu option Query->More functions->Generate program.

query-program-name

SAP Fiori Introduction Step 4 – Other links and community pages

Here are a number of other SAP Fiori/Hana/SAPUI5 links that will help you get started in this area

SAP Fiori Introduction Step 3 – Development tool-kit for SAPUI5

SAPUI5 is the development platform that is used to create the new bread of SAP Fiori apps. The tool-kit includes many sections that help you get top grips with the development platform and take you step by step through the process of using it and creating compatibility Fiori apps. There are many sections to the tool-kit which including a developers guide, controls examples, demo apps and the explored tab which provides information on components such as buttons, links, menus etc as well as example code used to create them. Anyway check out the SAPUI5 development tool-kit for more information!!

sapui5

SAP Fiori Introduction Step 2 – SAP Fiori Design Guidelines

The next step is to check out the SAP Fiori design guidelines which can be found on the SAP website using the following link http://experience.sap.com/fiori-guidelines/. These guidelines will help you understand what the Fiori design philosophy means and how you can create your own apps based on it. This includes everything including the design Principles, UI Overview, Grid Layout, Navigation, Animation, Typography, Colours, Icons, Theming etc. There is also a Prototyping Kit which allows you to design your app within a PDF document before you do any coding.

There is also an online theme designer provided by SAP which allows you to actually design your own themes which can be download and presumably used in your own system. You will need to register for this but it is free for anyone to do!

fiori-design-guidelines

 

 

1 2 3 5