Pages

Friday, 16 December 2016

HA100 - Introduction 1.6 Time to Rebuild the Platform

SAP HANA is a platform built on modern software.

This platform provides 4 key components :-
- Application Services -  Provide full development environment(design time and run time) with productivity tools. 2-tiers model application is possible as SAP HANA can process business logic and database together, no application server is needed.

- Processing Services - Able to process new types of data like text, spatial, graph. SAP HANA provides native processing engine for these new data types that can process them in real-time.

- Integration Services - Able to analyze continual streaming data, read data remotely(any data source), read Big Data(eg Hadoop with DB & devices - IoT),   ETL

- Database services - Column and Row stored databases that support OLAP & OLTP application, store data optimally with automatic compression, different storage tiers to support data ageing strategies, High Availability and Disaster Recovery functions .

Above is the summarized of my study and understanding for C_HANAIMP_12 certification preparation.
For more info, please refer to course material HA100 from SAP.

HA100 - Introduction 1.5 Managing the New Bottleneck

With multi-leveled CPU caches, data can be fetched to processor for processing faster.
eg
L1 Cache - 0.5 Nanoseconds
L2 Cache - 7.0 Nanoseconds
L3 Cache - 15.0 Nanoseconds

Comparing to the speed of 
Main memory - 100 Nanoseconds
Disk - SSD 150K Nanoseconds / HD 10M Nanoseconds

Traditional disk will be used as backups / logging  purposes and could eventually replaced by SSD.

Above is the summarized of my study and understanding for C_HANAIMP_12 certification preparation.
For more info, please refer to course material HA100 from SAP.

HA100 - Introduction 1.4 Advances in Technology

With advances in technology, 
- large and cheaper memory is available
- multi-core processors
- on-board cache (keep most useful data)
- modern blade server enable high scalability

SAP HANA fully utilizes advantages above and deliver a high processing power and real-time platform by redesign of business software.

Above is the summarized of my study and understanding for C_HANAIMP_12 certification preparation.
For more info, please refer to course material HA100 from SAP.

HA100 - Introduction 1.3 One platform for all applications


To solve IT complexity issue and to adapt today fast growing of digital world, SAP HANA provides
a platform to store single copy of data available to all application, regardless of type and architecture and there will be no data management is needed. SAP HANA is also supporting OLAP and OLTP applications and can be implemented on-premise or in the cloud.

In summary now
- Unified application workloads brings holistic / complete business view
- Unified / single copy of data enable ability to react in real-time
- Real-time processes enable ability to innovate

Above is the summarized of my study and understanding for C_HANAIMP_12 certification preparation.
For more info, please refer to course material HA100 from SAP.

Sunday, 27 November 2016

HA300 2.5 Currency Conversion

SAP HANA provided currency conversion tools as it is very often that user might to convert the currencies in report. Considering transactions might be made using different currency and currency conversion is needed to consolidate report from different region or to use global reporting currency in corporate reporting.

We can achieve this by creating a measure attribute with semantic type Amount with Currency in calculation view.

This can be done in graphical interface as well as script based views.
Graphical interface for currency conversion is preferable method to use because script based calculation views is using CONVERT_CURRENCY from SQL Script function, which is based on deprecated Column Engine Plan Operators / CE function.

There are 4 steps to create and enable currency conversion in graphical calculation view  :
1) Create a measure with semantic type Amount with Currency
2) Tick to enable for conversion
3) Define Target currency (fixed / refer to another column / input by user)
    Define Source currency fixed / refer to another column )
For input by user, define a input parameter with VARCHAR length 5 and assign as target currency.

4) Define conversion date (fixed / refer to another column / input by user)
Due to fluctuation of currency rate, date is important to be taking into consideration while performing currency conversion. Date can be defined by referring to another column ; or to be input by user.

One important thing to check is we must make sure TCUR schema is available and replicated for currency conversion use. The purposes of these TCUR* table is to define currency, rate type, rate. TCURX will be used for decimal shift places purposes.

Upon any currency conversion error , we can default the value to failed / NULL / ignore.

Sunday, 13 November 2016

HA100 - Introduction 1.2 IT Complexity is Stifling Growth


 Typical IT landscape over years can be complicated due to
- Multiple application developed / purchased / acquired under different platform
- Different development languages / hardware / databases / server & OS from multiple vendor

To adapt new technology and adding complexity in IT landscape causing
- Huge effort from IT team to integrate among application / system
- Move data, harmonizing, cleaning, resulting duplicate of data
- Huge demand on system a lot processing power to do data consolidation, can be slow
- Not useful and fragmented views of data due to duplicate copies of data
- High maintenance cost due to multiple skills needed
- Lack of innovation and agility to adapt today growth of digital world 

In summary
- Data in different application silos is causing no holistic view / partial business view
- Multiple copies of data is causing no real time insight to user
- Batch processing lead to limited ability to innovative

Above is the summarized of my study and understanding for C_HANAIMP_12 certification preparation.
For more info, please refer to course material HA100 from SAP.

Saturday, 12 November 2016

HA100 - Introduction 1.1 The World is Changing

SAP introduced a new platform SAP HANA.to adapt with new digital world and growing a company business, considering

- More devices moving online and valuable data generated
- User demands for real-time, new and innovative application enable deep insight information
- Adding complexity to existing IT landscape to keep pace with the trends not a good solution
- Process new types of data such as spatial data
- Faster data processing power, acquire real time data enable real-time decision making

Above is the summarized of my study and understanding for C_HANAIMP_12 certification preparation.
For more info, please refer to course material HA100 from SAP.

Wednesday, 13 November 2013

Query Monitor in BW

We can use Query Monitor in BI to analyze BI Query. 
The transaction code to Query Monitor is RSRT / RSRT1 / RSRT2 .
If you open these transaction codes, you will find they look pretty much the same.

What is the key differences between these 3 transaction code?

This is the answer by Jasprit in one of the SCN post:
"As SAP BW Evolved , the RSRT Tcode has been improved on...
 
In BW 2.1 C we just had the RSRT T-code where we could just do some basic analysis, required for the functionalities available in 2.1C
 
RSRT1 and RSRT2 were later developed in the more recent versions, and one can do tests for the Web reports etc etc.
 
Regards,
Jasprit"

Wednesday, 18 September 2013

Hiring from SAP E-Recruitment portal (3)

What if we have additional information to be passed from SAP E-Recruiting to SAP ERP HCM System(ECC)?

We can achieve this by implementing the BAdI to add additional data / fields for inbound or outbound processing.

First you have to implement the BAdI for the outbound processing, which is with postfix "CreateConfirmation_Out".
Implement the method IF_PERSONNEL_HIRING_ADTNL_FLDS~HANDLE_ADDITIONAL_FIELDS

You can achieve two things here,
1. To add additional field by giving name and value.
2. Change any standard XI fields value

Sample code to change gender code value
  FIELD-SYMBOLS: <fs> TYPE LINE OF ty_namevalueasstring.

  DATA ls_fields TYPE LINE OF ty_namevalueasstring.

  READ TABLE ct_xi_shadow_fields ASSIGNING <fs> WITH KEY name = 'GENDER_CODE'.

  IF SY-SUBRC = 0 .
    move 1 to <FS>-VALUE   .
  ENDIF.

To add new field 'ZNAME' into XI fields table, you can use this sample code

  ls_fields-name = 'ZNAME'.
  move 'ZVALUE' to ls_fields-value  .
  INSERT ls_fields INTO TABLE ct_xi_shadow_fields.


Hiring from SAP E-Recruiting portal (2)

Under XI Integration setting in SPRO, you can check what are the standard fields available in SAP E-recruiting to be filled up and can be passed to hiring process in SAP ERP HCM System(ECC).

Generally, the list of fields can be classified into few area:
Address(Infotype 0006), Personnel information(Infotype 0002), Education(Infotype 0022), Qualification(Infotype 0024) and Organization Assignment(Infotype 0001).





Hiring from SAP E-Recruiting portal (1)

To implement hiring from SAP E-Recruiting portal, one of the pre-requisites is to setup the XI integration setting.

The purpose of this is to setup environment to pass candidate / requisition information from SAP E-Recruiting to SAP ERP HCM System(ECC). In ECC, hiring process will be triggered subsequently and create new employee .

To configure XI integration in SAP E-Recruiting, access to following path:
SPRO > Personnel Management > HR Administrative Services > Configuration of Forms/Processes > XI Integration.

To test the interface, go to SAP E-Recruiting server, access to ABAP Proxy object using transaction code SPROXY > look for Enterprise Services Repository(ESR) > ERECRUIT 606 (for SAP Enhancement Package 6 for SAP ERP 6.0) > http://sap.com/xi/ERECRUIT/Global2 >

PersonnelHiringERPCreateConfirmation_In - for inbound processing
PersonnelHiringERPCreateRequest_Out - for outbound processing






Thursday, 5 September 2013

How to test your HCM processes and forms without Adobe Form.

There is a standard program RPASR_TEST_PROCESS_EXECUTION for developer to test solely on process without involving adobe form.

Or you can use transaction code HRASR_TEST_PROCESS to access to this program.

Example you want to raise a special payment for an employee, and you would like to test the functionality of the process
- Firstly, open HRASR_TEST_PROCESS transaction code.
- Secondly, fill in
Application, for this case we will be using SAP_PA
Process as HR_PA_XX_SPECIAL_PAYMENT_1
Employee number as 27831, and
Role of initiator, you can use any of the role below to trigger this process.
HRASRA HR Administrator
HRASRB Manager
HRASRC XI Inbound
HRASRD Employee
HRASRE Expert for Error Handling

Execute it and system will simulate what are the fields value exactly the same as value to be passed to adobe form, if you test this in portal.
You can utilize the "Initialize" and "Check" button to trigger initialize / do_operation event in your generic service. You can also send this request to test if your workflow.



What is scenario step and how to use it

Consider this scenario when a employee leave the company
- When employee raise a leaver request, you might want to show date of leaving and reason of leaving as mandatory fields on form
- When this leaver request work flowed to manager, you want both date of leaving and reason of leaving to be displayed as ready only; and to show another text box to allow manager to enter some comments.
- Lastly, when HR Admin received this leaver request, HR Admin all fields on form should be displayed only.

If you have multiple scenarios as above within a form scenario, you might want to use scenario step to divide them into few steps, and to work as stage of the form is with who and how the form should be behaved.

To implement the above scenario, others than making use of scenario step(s), you will need to do a few things.

- Firstly, scenario step value will be stored in a field called 'FORM_SCENARIO_STAGE'. Thus you will need to append this field into special field table under IF_HRASR00GEN_SERVICE~GET_SPECIAL_FIELDS method of your generic service.
- Secondly, add FORM_SCENARIO_STAGE field into your fields table

- Now during you can read this field from special fields table in your INITIALIZE / DO_OPERATION method whenever your forms first loaded and refreshed.
- Also, you can do some form scripting to control on the form behavior based on the scenario step's value. For example below, if your form being open during step HRS, you want to make this fields as a visible and mandatory field.

if ( ($record.FORM_SCENARIO_STAGE.DATA.FIELD == "HRS"   &
      $record.MASSG.DATA.FIELD == "09" ) |
then
      this.presence = "visible"
      this.access = "open"
      this.mandatory = "error"
else    
      this.presence = "hidden"
endif


Wednesday, 4 September 2013

Implement input helps from the ABAP Dictionary (DDIC) in Adobe form

As we know, normally we will fix the drop down value serve as search help.
Or we can trigger ABAP WDP application to display search help.

Here this is another method that you can implement the old method of HR form which using ISRSCENARIO to populate input helps from ABAP Dictionary(DDIC) in Adobe form.

Here how we achieve this :
1. First add a button onto form which will be used to pop up search help
2. In the click* event of the button, add this JavaScript code
xfa.record.CONTROL_PARAM.ISR_EVENT.value = "USER_EVENT_CHECK";
xfa.record.GENERAL_DATA.HEADER.EXT_REF_NUMBER.value = "VALUE_HELP";
3. In the exit* event of the button, replace the wording REPLACE_THIS with the field name which has bound to a data element contains search help.
var fieldName = "REPLACE_THIS";
as var fieldName = "PLANS";

Example, update button will call up position search help.


How to create ABAP Webdynpro type of search help

In HCM Processes and forms, we can use ABAP wdp search help.

To do this,
1. Assume we would like to trigger the search help using button, add a new button
2. Put the client code below in correspond event
mouseDown* event
$record.CONTROL_PARAM.ISR_EVENT = "USER_EVENT_POPUP"
$record.HRASR_FORM_WINDOW.DATA[*].FIELD.value = "HRRCF_C_POSITION"

click* event
ContainerFoundation_JS.SendMessageToContainer(event.target, "submit", "", "", "", "");

This will be the screen using HRRCF_C_POSITION ABAP WDP search help.


If you want to enhance this ABAP WDP component, use transaction code SE80 to open HRRCF_C_POSITION under "Web Dynpro Comp. / Intf." dropdown, and implement pre / post exit on this ABAP WDP.

Tuesday, 3 September 2013

How to fix inconsistency of employee data

You might get employee inconsistency error message when you are trying to edit an employee in system using HCM processes and forms.

To fix this, open transaction code SE38 and run program RPUFIXDS, key in the employee number and SAP will fix any inconsistency data for you as below.

How to configure Back & Save Draft button in standard task TS17900101 work item

You can switch to turn on/off for "Back" and "Save Draft" buttons available in this step by passing the flag 'X' to the workflow step task as above.



When you use this task, just pass 'X' to both variable if you wan to set them to be visible in the approval work item.

Standard Task TS17900101: Approve Form

To create a approval work item, go to PFTC (Task: Maintain), copy Standard Task 17900101 as customized task.





Edit work item text on how you would like the work item to be display in work list. You can utilize STEP_OBJECT object to display various info for the work item. Example, OBJECT_KEY as employee number, OBJECT_NAME as employee name), PROC_DESCR as process description, SCEN_DESCR as form scenenario description etc.

How to change the change the title in your approval work item?

You might want to change the work item header as below.

For Process Name - Go to Design Time(HRASR_DT), open the process, double click on the process, you can edit Process Name at the content area.

For scenario step name - Under form scenario, double click on the scenario step, you will see scenario step name for each step appear in table.






Monday, 2 September 2013

Interactive vs. non-interactive form

When we work on adobe form, certain scenario we wanted the form or specific element to be interactive and non-interactive.

A good example is text element with multiple line allowed, if your form set to be interactive, you will get scroll bar if you content is overloaded.

If your form being generated as non-interactive, the text element will be flowed and printed according to the length of the content.


To turn specific element on form as print layout version only or non-interactive, add this formcalc coding in the initialize* event.
$.access = "nonInteractive"

To turn form into interactive, set parameter FILLABLE to 'X'; or empty if you want the form to behave print layout / non-interactive.
sfpdocparams-fillable = 'X'. " interactive

sfpdocparams-fillable = ' '. " non-interactive