Abap how to read a comma delimited data into internal table

1:23 AM


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
Read On 0 comments

Abap how to create an excel file sample

11:05 PM
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
Read On 0 comments

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

7:44 PM
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
Read On 0 comments

Sample ALV Grid program using the function module REUSE_ALV_GRID_DISPLAY

7:40 PM

Sample ALV Grid program using the function module REUSE_ALV_GRID_DISPLAY

By Vikram Chellappa, Mouri Tech Solutions

*&---------------------------------------------------------------------* *& Report  ZALV_REPORT_SFLIGHT *& *&---------------------------------------------------------------------* * Published at SAPTechnical.COM *&---------------------------------------------------------------------*
REPORT  ZALV_REPORT_SFLIGHT. TABLES : SFLIGHT. TYPE-POOLS : SLIS.
**INTERNAL TABLE DECLARTION DATA : WA_SFLIGHT TYPE SFLIGHT,        IT_SFLIGHT TYPE TABLE OF SFLIGHT.
**DATA DECLARTION DATA: FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,       GD_LAYOUT    TYPE SLIS_LAYOUT_ALV,       GD_REPID     LIKE SY-REPID,       G_SAVE TYPE C VALUE 'X',       G_VARIANT TYPE DISVARIANT,       GX_VARIANT TYPE DISVARIANT,       G_EXIT TYPE C,       ISPFLI TYPE TABLE OF SPFLI.
* To understand the importance of the following parameter, click here. **SELECTION SCREEN DETAILS SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-002 . PARAMETERS: VARIANT LIKE DISVARIANT-VARIANT. SELECTION-SCREEN END OF BLOCK B1. **GETTING DEFAULT VARIANT INITIALIZATION.   GX_VARIANT-REPORT = SY-REPID.   CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'     EXPORTING       I_SAVE     = G_SAVE     CHANGING       CS_VARIANT = GX_VARIANT     EXCEPTIONS       NOT_FOUND  = 2.   IF SY-SUBRC = 0.     VARIANT = GX_VARIANT-VARIANT.   ENDIF.
**PERFORM DECLARATIONS START-OF-SELECTION.   PERFORM DATA_RETRIVEL.   PERFORM BUILD_FIELDCATALOG.   PERFORM DISPLAY_ALV_REPORT. 
*&---------------------------------------------------------------------* *&      Form  BUILD_FIELDCATALOG *&---------------------------------------------------------------------* *       text *----------------------------------------------------------------------* *  -->  p1        text *  <--  p2        text *----------------------------------------------------------------------* FORM BUILD_FIELDCATALOG .
  FIELDCATALOG-FIELDNAME   = 'CARRID'.   FIELDCATALOG-SELTEXT_M   = 'Airline Code'.   FIELDCATALOG-COL_POS     = 0.   APPEND FIELDCATALOG TO FIELDCATALOG.   CLEAR  FIELDCATALOG. 
  FIELDCATALOG-FIELDNAME   = 'CONNID'.   FIELDCATALOG-SELTEXT_M   = 'Flight Connection Number'.   FIELDCATALOG-COL_POS     = 1.   APPEND FIELDCATALOG TO FIELDCATALOG.   CLEAR  FIELDCATALOG.
  FIELDCATALOG-FIELDNAME   = 'FLDATE'.   FIELDCATALOG-SELTEXT_M   = 'Flight date'.   FIELDCATALOG-COL_POS     = 2.   APPEND FIELDCATALOG TO FIELDCATALOG.   CLEAR  FIELDCATALOG.
  FIELDCATALOG-FIELDNAME   = 'PRICE'.   FIELDCATALOG-SELTEXT_M   = 'Airfare'.   FIELDCATALOG-COL_POS     = 3.   FIELDCATALOG-OUTPUTLEN   = 20.   APPEND FIELDCATALOG TO FIELDCATALOG.   CLEAR  FIELDCATALOG. ENDFORM.                    " BUILD_FIELDCATALOG   *&---------------------------------------------------------------------* *&      Form  DISPLAY_ALV_REPORT *&---------------------------------------------------------------------* *       text *----------------------------------------------------------------------* *  -->  p1        text *  <--  p2        text *----------------------------------------------------------------------* FORM DISPLAY_ALV_REPORT .   GD_REPID = SY-REPID.   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'     EXPORTING       I_CALLBACK_PROGRAM      = GD_REPID       I_CALLBACK_TOP_OF_PAGE  = 'TOP-OF-PAGE'  "see FORM       I_CALLBACK_USER_COMMAND = 'USER_COMMAND'       IT_FIELDCAT             = FIELDCATALOG[]       I_SAVE                  = 'X'       IS_VARIANT              = G_VARIANT     TABLES       T_OUTTAB                = IT_SFLIGHT     EXCEPTIONS       PROGRAM_ERROR           = 1       OTHERS                  = 2.   IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.   ENDIF. ENDFORM.                    "DISPLAY_ALV_REPORT
" DISPLAY_ALV_REPORT *&---------------------------------------------------------------------* *&      Form  DATA_RETRIVEL *&---------------------------------------------------------------------* *       text *----------------------------------------------------------------------* *  -->  p1        text *  <--  p2        text *----------------------------------------------------------------------* FORM DATA_RETRIVEL .   SELECT * FROM SFLIGHT INTO TABLE IT_SFLIGHT. ENDFORM.                    " DATA_RETRIVEL
*-------------------------------------------------------------------* * Form  TOP-OF-PAGE                                                 * *-------------------------------------------------------------------* * ALV Report Header                                                 * *-------------------------------------------------------------------* FORM TOP-OF-PAGE. *ALV Header declarations   DATA: T_HEADER TYPE SLIS_T_LISTHEADER,         WA_HEADER TYPE SLIS_LISTHEADER,         T_LINE LIKE WA_HEADER-INFO,         LD_LINES TYPE I,         LD_LINESC(10) TYPE C.
* Title   WA_HEADER-TYP  = 'H'.   WA_HEADER-INFO = 'SFLIGHT Table Report'.   APPEND WA_HEADER TO T_HEADER.   CLEAR WA_HEADER.
* Date   WA_HEADER-TYP  = 'S'.   WA_HEADER-KEY = 'Date: '.   CONCATENATE  SY-DATUM+6(2) '.'                SY-DATUM+4(2) '.'                SY-DATUM(4) INTO WA_HEADER-INFO.   "todays date   APPEND WA_HEADER TO T_HEADER.   CLEAR: WA_HEADER. 
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'     EXPORTING       IT_LIST_COMMENTARY = T_HEADER. ENDFORM.                    "top-of-page

SOURCE
http://www.saptechnical.com/Tutorials/ALV/SampleALVGridProgram.htm
Read On 0 comments

Abap: Country Grouping

7:38 PM
DATA P_MOLGA TYPE MOLGA.

CALL FUNCTION 'HR_COUNTRYGROUPING_GET'
EXPORTING
PERNR = WD_COMP_CONTROLLER->PERNR
* TCLAS = 'A'
* BEGDA = '18000101'
* ENDDA = '99991231'
* WERKS =
IMPORTING
MOLGA = P_MOLGA
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2

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

Read On 0 comments

SAP script

3:32 AM
OPEN_FORM - Open SAPscript form printing
- to only preview the form: options-tdpreview='X' (options-tdnoprint forbids print even from preview)
- to get OTF data instead of printing: options-tdgetotf='X'
- to output OTF data to memory buffer instead of printing: device='OTF_MEM'

Code:

REPORT z_sapscript_form.
data: w_options type itcpo,
w_result type itcpp,
w_otf like itcoo occurs 0 with header line,
w_ascii like tline occurs 0 with header line,
w_device(40) type c,
w_num like sy-tabix.

parameters: printer like tsp03-padest lower case default 'locl',
layoutst like rsscf-tdform default 'MEDRUCK'.
selection-screen: begin of line.
parameters p_prn radiobutton group rad0.
selection-screen: comment 4(60) cmt_prn for field p_prn,
end of line.
selection-screen: begin of line.
parameters p_pre radiobutton group rad0.
selection-screen: comment 4(60) cmt_pre for field p_pre,
end of line.
selection-screen: begin of line.
parameters p_mem radiobutton group rad0.
selection-screen: comment 4(60) cmt_mem for field p_mem,
end of line.
selection-screen: begin of line.
parameters p_otf radiobutton group rad0.
selection-screen: comment 4(60) cmt_otf for field p_otf,
end of line.

initialization.
cmt_prn = 'Print to spool'.
cmt_pre = 'Only create form and preview, no print'.
cmt_mem = 'Output OTF to memory buffer and convert to ASCII'.
cmt_otf = 'Only get OTF data'.

start-of-selection.
perform: form_open,
print_item,
form_close.
case 'X'.
when p_prn. write: / 'See Spool#', w_result-tdspoolid,
'(', w_result-tdpages, ' pages )'.
when p_pre.
when p_otf. loop at w_otf.
write / w_otf.
endloop.
when p_mem. perform get_ascii.
endcase.
*---------------------------------------------------------------------*
* FORM FORM_OPEN *
*---------------------------------------------------------------------*
* Start of printing the form *
*---------------------------------------------------------------------*
form form_open.
w_options-tddest = printer.
w_device = 'PRINTER'. "default
case 'X'.
when p_pre. w_options-tdpreview = 'X'.
w_options-tdnoprint = 'X'.
when p_prn.
when p_mem. w_device = 'OTF_MEM'.
when others. w_options-tdgetotf = 'X'.
endcase.
call function 'OPEN_FORM'
exporting
device = w_device
dialog = ' '
form = layoutst
options = w_options
exceptions
canceled = 1
device = 2
form = 3
options = 4
unclosed = 5
mail_options = 6
archive_error = 7
invalid_fax_number = 8
more_params_needed_in_batch = 9
spool_error = 10
others = 11.
write: / 'Form open. Return code =', sy-subrc.
if sy-subrc <> 0.
message id sy-msgid type 'I' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
endform.
*&---------------------------------------------------------------------*
*& Form PRINT_ITEM
*&---------------------------------------------------------------------*
* Print form item *
*----------------------------------------------------------------------*
form print_item.
call function 'WRITE_FORM'
exceptions
element = 1
function = 2
type = 3
unopened = 4
unstarted = 5
window = 6
bad_pageformat_for_print = 7
spool_error = 8
others = 9.
write: / 'Form print. Return code =', sy-subrc.
if sy-subrc <> 0.
message id sy-msgid type 'I' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
endform. " PRINT_ITEM
*---------------------------------------------------------------------*
* FORM FORM_CLOSE *
*---------------------------------------------------------------------*
* End of printing the form *
*---------------------------------------------------------------------*
form form_close.
call function 'CLOSE_FORM'
importing
result = w_result
tables
otfdata = w_otf
exceptions
unopened = 1
bad_pageformat_for_print = 2
send_error = 3
spool_error = 4
others = 5.
write: / 'Form close. Return code =', sy-subrc,
'Spool#', w_result-tdspoolid.
if sy-subrc <> 0.
message id sy-msgid type 'I' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
else.
describe table w_otf lines w_num.
write: / 'OTF has', w_num, 'lines.'.
endif.
endform.
*&---------------------------------------------------------------------*
*& Form get_ascii
*&---------------------------------------------------------------------*
* convert OTF from memory to ASCII text
*----------------------------------------------------------------------*
form get_ascii.
call function 'CONVERT_OTF_MEMORY'
tables
lines = w_ascii
exceptions
memory_empty = 1
err_max_linewidth = 2
err_format = 3
err_conv_not_possible = 4
others = 5.
write: / 'Convert OTF memory. Return code =', sy-subrc.
if sy-subrc <> 0.
message id sy-msgid type 'I' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
else.
describe table w_ascii lines w_num.
write: / 'OTF has', w_num, 'lines.'.
loop at w_ascii.
write: / w_ascii.
endloop.
endif.
endform. " get_ascii


CLOSE_FORM - End SAPscript layout set printing
- spool #: result-tdspoolid
- OTF data: otfdata (when options-tdgetotf='X' in OPEN_FORM)

WRITE_FORM - Output SAPscript text element in form window

CONTROL_FORM - Control SAPscript form output
- issue command to the form, e.g. exporting command = 'NEW-PAGE'

CONVERT_OTF_MEMORY - Convert SAPscript OTF from memory into text format
output: table of structure TLINE (OTF saved to memory buffer by OPEN_FORM)

SAVE_OTF_TO_MEMORY - Write OTF format to memory
export|import OTF internal table to|from memory id ...

READ_OTF_FROM_MEMORY - Read OTF from memory

PRINT_OTF - print OTF from internal table

DISPLAY_OTF - Display an OTF table on the screen

DISPLAY_POSTSCRIPT - Display a postscript table on the screen tables postscript structure itcps

CONVERT_OTF - Convert OTF format to various formats (TLINE table) ASCII or PDF
Code:
CALL FUNCTION "CONVERT_OTF"
EXPORTING FORMAT = "PDF"
IMPORTING BIN_FILESIZE = FILE_LEN
TABLES OTF = OTFDATA
LINES = PDFDATA
EXCEPTIONS ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV_NOT_POSSIBLE = 3
OTHERS = 4.


CONVERT_OTF_2_PDF - Convert OTF to PDF (TLINE table).
OTF can be filled used archivelink. Calls CONVERT_OTF.

CONVERT_OTF_2_PDF_ARCHIVELINK - Convert OTF to PDF (TLINE table).
Calls CONVERT_OTF. Looks like the function names for these two functions are mixed up J

CONVERT_OTF_AND_FAX

CONVERT_OTF_AND_MAIL

CONVERT_OTFSPOOLJOB_2_PDF
Input: spool # (SAPscript: tsp01-rqdoctype='OTF'); Output: PDF as internal table (TLINE)

CONVERT_ABAPSPOOLJOB_2_PDF
Input: spool # (ABAP listing: tsp01-rqdoctype='LIST'); Output: PDF as internal table (TLINE)

OTF_CONVERT - wraps several other function modules. Will convert OTF to ASCII or PDF

SX_OBJECT_CONVERT_OTF_PDF - Conversion From OTF to PDF (SAPScript conversion)

SX_OBJECT_CONVERT_OTF_PRT - Conversion From OTF to Printer Format (SAPScript conversion)

SX_OBJECT_CONVERT_OTF_RAW - Conversion From OTF to ASCII (SAPScript conversion)
Read On 0 comments

To assign enter button as execute in selection screen

5:20 PM
SELECTION-SCREEN: BEGIN OF LINE,
COMMENT 1(31) TEXT-002 FOR FIELD IN_YEAR MODIF ID A.
PARAMETERS: IN_YEAR(4) MODIF ID A. " a field
SELECTION-SCREEN PUSHBUTTON (20) execut USER-COMMAND execut MODIF ID A. "button!
SELECTION-SCREEN END OF LINE.
===========================================
AT SELECTION-SCREEN OUTPUT.
MOVE 'Execute' TO execut. "giving the button label
..
...
....
===========================================
AT SELECTION-SCREEN.

if sscrfields-ucomm eq 'EXECUT'.
sscrfields-ucomm = 'ONLI'. " this is the execute value passed!
endif.

..
...
....
Read On 0 comments

message

Labels

NuffNang

Search google

Blog Archive

My Blog List

Twitter

Message

Followers