2007 Feb 12 7:58 AM
And I have 2 problem the first is that I have error that I dont now how to solve like
.In Unicode programs, the "-" character cannot appear in names, as it1
does here in the name "PNP-SW-IGNORELOCKEDRECORDS".
2.In Unicode programs, the "-" character cannot appear in names, as it does here in the name "PNP-SW-ENQUEUEPERNR".
In Unicode programs, the "-" character cannot appear in names, as it3.
does here in the name "PNP-SW-AUTH-SKIPPED-RECORD".
In my program I do
START-OF-SELECTION.
GET peras.
END-OF-SELECTION.
Data
TABLES: pernr.
NODES: peras.
INFOTYPES: 0000 NAME t_0000,
0002 NAME t_0002.
What im doing wrong
The second problem in my program I call to function before I use the pnpce I use
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
SELECT-OPTIONS so_date FOR sy-datum OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.
CALL FUNCTION 'YHR_GET_EMP_COURSE_SINGLE'
EXPORTING
begda = so_date-low
endda = so_date-high
uname = uname
z_course_table = z_course_table
switch_history = switch_history
TABLES
itab_final = itab_final
it_final = it_final.
And for that I call the function with so_date-low and high what I have to write begda and endda if I use pnpce
Thanke for your time
And I have 2 problem the first is that I have error that I dont now how to solve like
.In Unicode programs, the "-" character cannot appear in names, as it1
does here in the name "PNP-SW-IGNORELOCKEDRECORDS".
2.In Unicode programs, the "-" character cannot appear in names, as it does here in the name "PNP-SW-ENQUEUEPERNR".
In Unicode programs, the "-" character cannot appear in names, as it3.
does here in the name "PNP-SW-AUTH-SKIPPED-RECORD".
In my program I do
START-OF-SELECTION.
GET peras.
END-OF-SELECTION.
Data
TABLES: pernr.
NODES: peras.
INFOTYPES: 0000 NAME t_0000,
0002 NAME t_0002.
What im doing wrong
The second problem in my program I call to function before I use the pnpce I use
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
SELECT-OPTIONS so_date FOR sy-datum OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.
CALL FUNCTION 'YHR_GET_EMP_COURSE_SINGLE'
EXPORTING
begda = so_date-low
endda = so_date-high
uname = uname
z_course_table = z_course_table
switch_history = switch_history
TABLES
itab_final = itab_final
it_final = it_final.
And for that I call the function with so_date-low and high what I have to write begda and endda if I use pnpce
Thanke for your time
2007 Feb 12 8:07 AM
Refer my demo code for PNP database.
also pls ensure u have provided LDB name in the attributes of the program say PNP.
REPORT ZPPL_PREVEMPLOYERS message-id rp
line-size 250
line-count 65.
*Program logic :- This Report is used to Download all the Previous
* Employer (IT0023) records of the employees
*eject
*&---------------------------------------------------------------------*
*& Tables and Infotypes *
*& *
*&---------------------------------------------------------------------*
tables: pernr.
infotypes: 0000,
0001,
0002,
0023.
*eject
*&---------------------------------------------------------------------*
*& Constants *
*& *
*&---------------------------------------------------------------------*
constants: c_1(1) type c value '1' ,
c_3(1) type c value '3' ,
c_i(1) type c value 'I' ,
c_x(1) type c value 'X' ,
c_eq(2) type c value 'EQ' ,
c_pl03 like p0001-werks value 'PL03'.
*eject
*&---------------------------------------------------------------------*
*& Selection-Screen *
*& *
*&---------------------------------------------------------------------*
parameters: p_file like rlgrap-filename default 'C:TempABC.xls',
p_test as checkbox default c_x .
*eject
*&---------------------------------------------------------------------*
*& Internal tables *
*& *
*&---------------------------------------------------------------------*
* Internal Table for Output
data: begin of t_output occurs 0 ,
pernr like pernr-pernr ,
nachn like p0002-nachn ,
vorna like p0002-vorna ,
orgeh_stext like p1000-stext ,
plans_stext like p1000-stext ,
begda like p0023-begda ,
endda like p0023-endda ,
land1 like p0023-land1 ,
arbgb like p0023-arbgb ,
ort01 like p0023-ort01 .
data: end of t_output .
*eject
*&---------------------------------------------------------------------*
*& Variables *
*& *
*&---------------------------------------------------------------------*
data: o_stext like p1000-stext,
p_stext like p1000-stext.
*eject
*&---------------------------------------------------------------------*
*& Initialization *
*& *
*&---------------------------------------------------------------------*
Initialization.
* Initialize Selection-Screen values
perform init_selction_screen.
*eject
*&---------------------------------------------------------------------*
*& AT Selection-screen *
*& *
*&---------------------------------------------------------------------*
at selection-screen .
* Check if Test run selected, download file name should be entered
if p_test is initial. "
if p_file is initial.
message e016 with 'Please enter file name'
'specifying complete path'.
endif.
endif.
*eject
*&---------------------------------------------------------------------*
*& Start-of Selection *
*& *
*&---------------------------------------------------------------------*
Start-of-selection.
get pernr.
clear t_output.
* Read Infotype 0
rp-provide-from-last p0000 space pn-begda pn-endda.
check pnp-sw-found eq c_1.
* Check if employee is active
check p0000-stat2 in pnpstat2. "pernr Active
* Read Infotype 1
rp-provide-from-last p0001 space pn-begda pn-endda.
check pnp-sw-found eq c_1.
* check if employee belongs to PL03
check p0001-werks in pnpwerks. "belongs to PL03
* Check if emp belongs to Active Group
check p0001-persg in pnppersg.
* Read Infotype 2
rp-provide-from-last p0002 space pn-begda pn-endda.
check pnp-sw-found eq c_1.
* Read Org Unit Text.
CALL FUNCTION 'HR_READ_FOREIGN_OBJECT_TEXT'
EXPORTING
OTYPE = 'O'
objid = p0001-orgeh
begda = p0001-begda
endda = p0001-endda
reference_date = p0001-begda
IMPORTING
object_text = o_stext
EXCEPTIONS
nothing_found = 1
wrong_objecttype = 2
missing_costcenter_data = 3
missing_object_id = 4
OTHERS = 5.
*Read Position Text.
CALL FUNCTION 'HR_READ_FOREIGN_OBJECT_TEXT'
EXPORTING
OTYPE = 'S'
objid = p0001-plans
begda = p0001-begda
endda = p0001-endda
reference_date = p0001-begda
IMPORTING
object_text = p_stext
EXCEPTIONS
nothing_found = 1
wrong_objecttype = 2
missing_costcenter_data = 3
missing_object_id = 4
OTHERS = 5.
* Gather all the required information related to the emp
move: pernr-pernr to t_output-pernr,
o_stext to t_output-orgeh_stext,
p_stext to t_output-plans_stext,
p0002-nachn to t_output-nachn,
p0002-vorna to t_output-vorna.
* Gather previous Employee details
loop at p0023.
move-corresponding p0023 to t_output.
append t_output.
endloop.
*eject
*&---------------------------------------------------------------------*
*& End-of Selection *
*& *
*&---------------------------------------------------------------------*
end-of-selection.
perform print_report.
* Downlaod the file
if not t_output[] is initial.
if p_test eq space.
perform download_file.
endif.
else.
write: 'No records selected' color col_negative.
endif.
*eject
*&---------------------------------------------------------------------*
*& Top-of-page *
*& *
*&---------------------------------------------------------------------*
Top-of-page.
* Print Header
perform print_header.
*eject
*&---------------------------------------------------------------------*
*& Form download_file
*&---------------------------------------------------------------------*
* Description :
*----------------------------------------------------------------------*
FORM download_file .
DATA: full_file_name TYPE string,
z_akt_filesize TYPE i .
full_file_name = p_file.
* download table into file on presentation server
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
filename = full_file_name
filetype = 'DAT'
NO_AUTH_CHECK = c_x
codepage = '1160'
IMPORTING
FILELENGTH = z_akt_filesize
CHANGING
data_tab = t_output[]
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
not_supported_by_gui = 22
error_no_gui = 23
OTHERS = 24.
*
IF sy-subrc NE 0.
MESSAGE e016 WITH 'Download-Error; RC:' sy-subrc.
ENDIF.
ENDFORM. " download_file
*eject
*&---------------------------------------------------------------------*
*& Form print_report
*&---------------------------------------------------------------------*
*Description:
*----------------------------------------------------------------------*
FORM print_report .
data: i type i,
w_count type i.
sort t_output.
* Print the report
loop at t_output.
i = sy-tabix mod 2.
if i eq 0.
format color col_normal intensified on.
else.
format color col_normal intensified off.
endif.
write:/1 t_output-pernr ,
10 t_output-vorna(25) ,
35 t_output-nachn(25) ,
61 t_output-orgeh_stext ,
102 t_output-plans_stext ,
143 t_output-begda ,
154 t_output-endda ,
168 t_output-land1 ,
178 t_output-arbgb(40) ,
219 t_output-ort01 ,
249 space .
endloop.
uline.
Describe table t_output lines w_count.
Skip 2.
Write:/ 'Total No of Records Downloaded: ' color col_total,
w_count.
ENDFORM. " print_report
*eject
*&---------------------------------------------------------------------*
*& Form print_header
*&---------------------------------------------------------------------*
*Description:
*----------------------------------------------------------------------*
FORM print_header .
skip 1.
Uline.
format Intensified on color col_heading.
write:/1 'Pers. #' ,
10 'Last Name' ,
35 'First Name' ,
61 'Org Unit' ,
102 'Position' ,
143 'Beg Date' ,
154 'End Date' ,
168 'Cntry Key' ,
178 'Prev Employer' ,
219 'City' ,
249 space .
format intensified off color off.
uline.
ENDFORM. " print_header
*eject
*&---------------------------------------------------------------------*
*& Form init_selction_screen
*&---------------------------------------------------------------------*
*Description:
*----------------------------------------------------------------------*
FORM init_selction_screen .
refresh: pnpwerks,
pnppersg,
pnpstat2.
clear: pnpwerks,
pnppersg,
pnpstat2.
pnpwerks-sign = c_i.
pnpwerks-option = c_EQ.
pnpwerks-low = c_pl03.
append pnpwerks.
pnppersg-sign = c_i.
pnppersg-option = c_EQ.
pnppersg-low = c_1.
append pnppersg.
pnpstat2-sign = c_i.
pnpstat2-option = c_EQ.
pnpstat2-low = c_3.
append pnpstat2.
ENDFORM. " init_selction_screen
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |