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

 

Surprising Insights from Behavioral Economics That Can Help You Win Over Your Customers

Changing Customer Behavior

Acumen Presents: Dan Ariely on Changing Customer Behavior

You’ve probably heard of Dan either through his NY Times bestseller, Predictably Irrational, or through one of his many Ted Talks on behavioral economics. He’s an expert on what motivates behavior, and the psychology behind motivation and decision.

And now he wants you to use his knowledge to help your business succeed in his new course on Udemy!

As an entrepreneur, studying and understanding the behavior of your customers is incredibly valuable – don’t just assume you know what they’re thinking. As Dan will tell you in his course, we’re very often wrong about what we think will motivate people.

Here are just 3 of his astonishing tips from understanding people that you can apply to your business:

 

Information Is Not The Answer

Sounds kind of weird, right? As Dan explains, it’s a common misconception, and smoking is the best example of this.

As soon as the information came out about cigarettes being bad for us (like, literally giving us cancer and killing us), a huge public information campaign started to try and get people to quit: commercials, PSAs, even the Surgeon’s General Warning on the pack of cigarettes saying how bad they are.

As you might have guessed, it didn’t convince anyone.

Giving customer’s information doesn’t actually have that much of an effect on their behavior. They might listen to you, they might remember it, and they might even think of you while they do what you told them not to do. But they are very unlikely to change just because you told them a better way of doing things.

There are other things you need to do besides just tell them why your idea will help them – it’s not enough to make them change.

 

Even If It’s Really Easy, They Still Won’t Do It

Entrepreneurs have an amazing idea, and they think: “all the customer needs to do is fill out this extra form/mail back this letter/shop here instead – that’s easy!”

That’s wrong.

Well, it may be true, but that is not how your customer thinks. People don’t like bumps, they don’t like extra work (even a little bit!), and they don’t like change.

Take Dan’s example:

People had a current prescription for a brand-name medication. They were mailed a form and told that all they had to do was return it with a confirmation that they would like to switch to the generic prescription, and save money in the process. What do you think happened?

Well, of course you know where this is going. It converted exactly no one.

They even went a step further and offered to pay for their medications for a period of time, if they would just switch to the generic brand! Even then, almost no one switched.

What got them to switch?

Forcing the issue. They had to take away the customer’s choice of doing nothing – the customer had to mail back the letter saying they wanted to continue with the brand-name medication, or mail it back saying they would switch to generic – but they didn’t have an option to not mail it back. Lo and behold, almost 90% of customers switched to the generic brand.

 

We Still Care A Lot About Fitting In

It sounds like high school stuff that we should have outgrown by now, but believe it or not, the belief that we’re doing what everyone else is doing – social proof – is one of the most powerful motivators for behavior change.

Dan explains this with an experiment done on how to convince people to use less energy, and attempting to convince them with one of three arguments: it helps the environment, it saves them money, or everyone else is doing it.

The most interesting thing about this is that people don’t think it works. When polled on which technique they thought would be most effective, people said that they personally would be affected by it saving the environment, but other people would be influenced by the money-saving aspect of it. No one thought that telling people everyone else was doing it would work.

Of course, it did. In fact, it was the only thing that worked.

 

Tell Me More!

Of course, there’s so much more that you can apply from psychology and behavioral economics to your business. Dan wants to help you hack your customers’ behaviors to make your methods more successful and your business more impactful – or as he would say, everyone else is taking it, don’t you want to join?

You’ll learn how to influence your customers’ behavior, how to get them to want to use your product, how to design a valuable and desirable product in the first place, and even how to run experiments to see how effective your behavior-change methods are.

So what are you waiting for? ENROLL NOW!

 

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

ios development

The Complete iOS Developer Course: A review of Rob Percival’s course

Learn ios developmentAs you may or may not have heard SAP and Apple have partner to in their words “Revolutionize work on iPhone”. An  SDK for iOS is now available for the SAP HANA cloud platform that will enable SAP developers to quickly creat their own native iOS apps  using swift, which is Apple’s modern programming language. These native apps for iPhone and also iPad will be able to take advantage of all the built in  iOS technologies.

 

Where do is start learning to develop iOS apps?

Well there are many ways you can start this process but the method I choose was to purchase a relatively cheap course iOS course from udemy. But which one to choose that’s another thing, the fact that there are so many to choose from is in some ways a good thing but you need to make sure you choose the right one.

 

 

How to choose a course on udemy?

With udemy you get a lot of help with the decision process as each course shows how many students are currently enrolled along with reviews from many of these existing students. You also get a 30 days money back guarantee in case you purchase a course that doesn’t live up to your expectations. I spent a bit of time looking at the different courses available and Rob’s course called “The Complete iOS 10 Developer Course – Build 21 Apps” stood out to me quite early on. When a course gets 3200 reviews and 68% of them are 5 out of 5 and 92% are 4 or above you know it’s a excellent course with lots of happy student enrolled. Currently 24000 as i write this review.

Maybe i got a bit lucky as but as long as you read the details of each course and check out the reviews you should get a good idea about the course and if it is what you are looking for.

 

 

What sets Rob’s course apart from the others?

Since purchasing the course I have realised more and more what a good iOS course it is. The best feature about it is that it is constantly updated to include the latest features of iOS development. For example when i purchased the course it was called “The complete iOS 9 Developer Course – Build 18 Apps”. Then when iOS 10 was released he didn’t release a new course he updated this one and re-named it “The complete iOS 10 Developer Course – Build 21 Apps”.

….So not only does it include the latest techniques and functionality there are also 2 new apps to build to help you learn how to develop your own iOS apps.

 

 

Lets take a Peek Inside Rob’s Course:

Sorry i have not got around to doing this yet but will do it asap. In the mean time feel free to email me if you have any questions or would like more info.

 

 

Is Rob’s Course Worth Signing up for?

If you are looking to learn how to create iOS apps then I would almost say yes to everyone as just seeing the basics of the course would be worth the money alone let alone the ability to build the example apps that actually work.

 

 

Are there any negatives of this course?

I’m not sure there is, especially as it is always being updated so any gaps get filled. There will always be people who want a bit less or a more info in specific topics or would like the pace to be a little quicker or slower but generally I think it is very good.

I guess it actually depends on how much you pay for this course. The price of the course if you go straight to the udemy website is $200, which is actually good value but will be prohibitive for many… But I have a solution to this… see below!!!

How Do You Get the Course?

As mentioned the Complete iOS 10 Developer Course including how to Build 21 Apps is available on udemy for $200… But the good news is that I have worked out a deal for my online audience and for a short period of time you can get a 90% discount bringing the price down to $19…

So if you purchase the course using my affiliate link below, you will get the 90% discount and receive the course for just $19….

…and remember you still get a 30 days money back guarantee and lifetime access, which includes any future updates….

 

Take this course for just $19

 

 

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

1 2 3 7