Wednesday, January 11, 2012

WebDynPro how to read value from a table with button.

Recent task was given by Chin Yc. which to add a button to on of the column in all the rows.
Which supposed to show notes.
How does the button proceed to read from the table? below are the sample coding
"get exercise informations
DATA lo_nd_ess_profile TYPE REF TO if_wd_context_node. "READING NODES
DATA lo_el_ess_profile TYPE REF TO if_wd_context_element"READING NODES
DATA ls_ess_profile TYPE wd_this->Element_ess_profile."READING NODES
"The nodes referred named ess_profile
" Set Lead Selection on user selected row
" (the row where user clicked the Exercise button on)
"Getting the current node valuelo_nd_ess_profile = wd_context->get_child_node( name = wd_this->wdctx_ess_profile ).
lo_el_ess_profile = wdevent->get_context_element( name = 'CONTEXT_ELEMENT' ).
lo_nd_ess_profile->set_lead_selection( element = lo_el_ess_profile ).
lo_el_ess_profile->get_static_attributes(
IMPORTING
static_attributes = ls_ess_profile ).
DATA: whatevervalue type char255, whatevervalue1 type char255.
whatevervalue = ls_ess_profile-endda.
whatevervalue2 = ls_ess_profile-begda


Tuesday, December 20, 2011

Note: Changing payslip in portal

source : http://forums.sdn.sap.com/thread.jspa?threadID=1909760&tstart=15#10075902
You need to make a new form using smartforms and put it in EDPDF .

1. HRFOR - This feature decides whether to use HRFORMS or CEDT forms
(configured in PE51) for the payslip. If HRFORMS, the name of HRFORM has
to be mentioned here. If PE51 needs to be used then $CEDT$ should be
specified.

2. EDTIN - This should hold the value of the variant to be executed in
the CEDT program (payslip program). The variant should be proper with
the with the correct CEDT (payslip) form name and other parameters.

3. EDPDF - The name of the smartform (standard smartform
HR_ESS_PAYSLIP_TO_PDF or customer specific form) used to show the output
in the ESS.

Abap Creating a workable button on the selection screen

*&---------------------------------------------------------------------*
*& Report Y_MARK_TEST_BUTTON
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT Y_MARK_TEST_BUTTON.
TABLES sscrfields.
DATA: ld_filename TYPE string,
ld_path TYPE string,
ld_fullpath TYPE string,
ld_result TYPE i,
gd_file TYPE c.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.


PARAMETERS : P_FILE LIKE RLGRAP-FILENAME default 'C:\EMAIL_RESULT.XLS'.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN PUSHBUTTON (20) dl_excel USER-COMMAND dl_excel. "button!
SELECTION-SCREEN END OF LINE.


SELECTION-SCREEN END OF BLOCK B1.


* At selection screen
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
* Display save dialog window
CALL METHOD cl_gui_frontend_services=>file_save_dialog
EXPORTING
* window_title = ' '
default_extension = 'XLS'
default_file_name = 'EMAIL_RESULT'
initial_directory = 'C:\'
CHANGING
filename = ld_filename
path = ld_path
fullpath = ld_fullpath
user_action = ld_result.
p_file = ld_fullpath.


AT SELECTION-SCREEN OUTPUT.
MOVE 'Download' TO dl_excel. "giving the button label

AT SELECTION-SCREEN.
case sy-ucomm.
when 'DL_EXCEL'.
"DO WHAT EVER YOU LIKE
endcase.

abap : How to save a file using a dialog box

*Selecting a file to save too, plus inserting default file extension .xls
tables rlgrap.

DATA: ld_filename TYPE string,
ld_path TYPE string,
ld_fullpath TYPE string,
ld_result TYPE i,
gd_file TYPE c.

selection-screen begin of block m with frame.
PARAMETERS: p_file TYPE rlgrap-filename.
selection-screen end of block m.

* At selection screen
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

* Display save dialog window
CALL METHOD cl_gui_frontend_services=>file_save_dialog
EXPORTING
* window_title = ' '
default_extension = 'XLS'
default_file_name = 'accountsdata'
initial_directory = 'c:\temp\'
CHANGING
filename = ld_filename
path = ld_path
fullpath = ld_fullpath
user_action = ld_result.
p_file = ld_fullpath.


source :
http://www.sapdev.co.uk/file/file_objsave.htm

Abap how to read a comma delimited data into internal table


COMMA DELIMITED file to INTERNAL TABLE


don't know about gui_upload, the way we do it is:

declare an internal table like:
data: begin of i_rec occurs 0,
filler(200),
end of i_rec.
data: begin of itab occurs 0,
field1,
field2,
...
end of itab.
Itab is the table you want to fill, i_rec is just a temporary intermediary table.

data: sep_field(1) value ','.
that's your separator (comma or something else).

First call the function GUI_UPLOAD and fill table i_rec with the data in your file.
then:

loop at i_rec.
split i_rec-filler at sep_field into itab-field1 itab-field2 ...
append itab.
clear itab.
endloop.

this should do the trick for as far as I know.


good luck,

ioana

source
http://sap.ittoolbox.com/groups/technical-functional/sap-dev/comma-delimited-file-to-internal-table-151418

Monday, December 19, 2011

Abap how to create an excel file sample

REPORT ZEX_DATATOEXCEL .

Parameters: P_file like RLGRAP-FILENAME.

data : begin of int_head occurs 0,
Filed1(20) type c, " Header Data
end of int_head.

data : begin of int_data occurs 0,
Field1(20) type c, " Data
Field2(20) type c,
Field3(20) type c,
Field4(20) type c,
end of int_data.


int_head-Filed1 = 'Sales Ord'.
APPEND int_head.
CLEAR int_head.

int_head-Filed1 = 'Sold-to-Party'.
APPEND int_head.
CLEAR int_head.

int_head-Filed1 = 'Purchase Ord'.
APPEND int_head.
CLEAR int_head.

int_head-Filed1 = 'Ship-to-Party'.
APPEND int_head.
CLEAR int_head.

int_data-field1 = '1JOHN'.
int_data-field2 = '2TOM'.
int_data-field3 = '3BRAD'.
int_data-field4 = '4PETER'.
Append int_data.
Clear int_data.


CALL FUNCTION 'MS_EXCEL_OLE_STANDARD_DAT'
EXPORTING
file_name = p_file " path offile where u need to download
* CREATE_PIVOT = 0
* DATA_SHEET_NAME = ' '
* PIVOT_SHEET_NAME = ' '
* PASSWORD = ' '
* PASSWORD_OPTION = 0
TABLES
* PIVOT_FIELD_TAB =
data_tab = int_data "internal table with data
fieldnames = int_head "internal table with header
EXCEPTIONS
file_not_exist = 1
filename_expected = 2
communication_error = 3
ole_object_method_error = 4
ole_object_property_error = 5
invalid_filename = 6
invalid_pivot_fields = 7
download_problem = 8
OTHERS = 9
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.


source
http://abaplovers.blogspot.com/2008/05/abap-internal-table-to-excel-sheet.html

How to debug universal worklist, approval pending list, approval program.

Knowledge sharing by Mohd Khairil Bin Markom my colleague :)

Recent workflow debugging for supervisor
How do we debug a program which has been configured in swfvisu?

Applicant we can easily debugged from the
Transaction code = SE80

But as the work flow comes into the picture the data/application is routed to the supervisor

STEP 1
Still using the transaction code SE80.

Put a debugmode under
- Component Controller -> Method -> wdoinit (place any break point there tips: best at the first line)
- Test run first! Let it stay in the debug mode and then proceed to STEP 2

STEP 2
Log into the portal
1.CLICK on the work ( universal worklist - the place where you can see the approval's pending list)
2.CLICK on the document that is pending

STEP 3
Once step 1 and step 2 is achieved.
You can start you exploration to debug which ever error you can find in the approval webdynpro