06-10-2008 1:17 PM
Hi,
I need to test a scenario by changing the title of a position in table T528T. But even after I change the title through debugging mode, I neither find the results in the table T528T nor in the IT0001.
One more thing, If a position title is changed then is it reflected in table pa0001 for the concerned employee records ?
Please let me know.
Regards,
Binay.
06-10-2008 1:23 PM
Hi,
I have one BDC program which changes the Position title using PP02 transaction. See if it is useful to you.
Thanks
Program Description : Upload Employeeu2019s new position description
with the effective date
----
Authority Check Required
----
REPORT zhr_change_pos_desc
NO STANDARD PAGE HEADING LINE-SIZE 255.
Selection Screen
SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE text-001.
PARAMETERS: uplfile TYPE string DEFAULT 'C:\POS_DESC.txt' OBLIGATORY.
SELECTION-SCREEN END OF BLOCK a1.
Include
INCLUDE zhr_bdcrecx1.
Internal Table
DATA: BEGIN OF ipos OCCURS 0,
seark LIKE pm0d1-seark,
stext LIKE p1000-stext,
begda(10) TYPE c,
endda(10) TYPE c,
END OF ipos.
Selection Screen F4 Help for Filename
AT SELECTION-SCREEN ON VALUE-REQUEST FOR uplfile.
DATA: path LIKE ibipparms-path, "Filepath
v_file LIKE dynpread-fieldname. "Filename
CLEAR: path, v_file.
v_file = uplfile.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
field_name = v_file
IMPORTING
file_name = path.
uplfile = path.
Start of Selection
START-OF-SELECTION.
Upload Text File (Tab Delimited)
REFRESH: ipos. CLEAR: ipos.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = uplfile
filetype = 'DAT'
TABLES
data_tab = ipos
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17.
IF sy-subrc NE 0.
MESSAGE i000(zz)
WITH 'Error No - ' sy-subrc '. File Not Found or Upload Error.'.
EXIT.
ENDIF.
IF NOT ipos[] IS INITIAL.
PERFORM open_group.
PERFORM authority_check.
LOOP AT ipos.
PERFORM bdc_dynpro USING 'SAPMH5A0' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'PPHDR-PLVAR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'PPHDR-PLVAR'
'01'.
PERFORM bdc_field USING 'PPHDR-OTYPE'
'S'.
PERFORM bdc_field USING 'PM0D1-SEARK'
ipos-seark.
PERFORM bdc_field USING 'PPHDR-ISTAT'
'1'.
PERFORM bdc_field USING 'PPHDR-BEGDA'
ipos-begda.
PERFORM bdc_field USING 'PPHDR-ENDDA'
ipos-endda.
PERFORM bdc_dynpro USING 'SAPMH5A0' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'PPHDR-OTYPE'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'PPHDR-PLVAR'
'01'.
PERFORM bdc_field USING 'PPHDR-OTYPE'
's'.
PERFORM bdc_field USING 'PM0D1-SEARK'
ipos-seark.
PERFORM bdc_field USING 'PPHDR-ISTAT'
'1'.
PERFORM bdc_field USING 'PPHDR-BEGDA'
ipos-begda.
PERFORM bdc_field USING 'PPHDR-ENDDA'
ipos-endda.
PERFORM bdc_dynpro USING 'SAPMH5A0' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'PM0D1-SEARK'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'PPHDR-PLVAR'
'01'.
PERFORM bdc_field USING 'PPHDR-OTYPE'
'S'.
PERFORM bdc_field USING 'PM0D1-SEARK'
ipos-seark.
PERFORM bdc_field USING 'PPHDR-ISTAT'
'1'.
PERFORM bdc_field USING 'PPHDR-BEGDA'
ipos-begda.
PERFORM bdc_field USING 'PPHDR-ENDDA'
ipos-endda.
PERFORM bdc_dynpro USING 'SAPMH5A0' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'PPHDR-INFTY'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'PPHDR-PLVAR'
'01'.
PERFORM bdc_field USING 'PPHDR-OTYPE'
'S'.
PERFORM bdc_field USING 'PM0D1-SEARK'
ipos-seark.
PERFORM bdc_field USING 'PPHDR-INFTY'
'1000'.
PERFORM bdc_field USING 'PPHDR-ISTAT'
'1'.
PERFORM bdc_field USING 'PPHDR-BEGDA'
ipos-begda.
PERFORM bdc_field USING 'PPHDR-ENDDA'
ipos-endda.
PERFORM bdc_dynpro USING 'SAPMH5A0' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'PPHDR-ISTAT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'PPHDR-PLVAR'
'01'.
PERFORM bdc_field USING 'PPHDR-OTYPE'
'S'.
PERFORM bdc_field USING 'PM0D1-SEARK'
ipos-seark.
PERFORM bdc_field USING 'PPHDR-INFTY'
'1000'.
PERFORM bdc_field USING 'PPHDR-ISTAT'
'1'.
PERFORM bdc_field USING 'PPHDR-BEGDA'
ipos-begda.
PERFORM bdc_field USING 'PPHDR-ENDDA'
ipos-endda.
PERFORM bdc_dynpro USING 'SAPMH5A0' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'PPHDR-BEGDA'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'PPHDR-PLVAR'
'01'.
PERFORM bdc_field USING 'PPHDR-OTYPE'
'S'.
PERFORM bdc_field USING 'PM0D1-SEARK'
ipos-seark.
PERFORM bdc_field USING 'PPHDR-INFTY'
'1000'.
PERFORM bdc_field USING 'PPHDR-ISTAT'
'1'.
PERFORM bdc_field USING 'PPHDR-BEGDA'
ipos-begda.
PERFORM bdc_field USING 'PPHDR-ENDDA'
ipos-endda.
PERFORM bdc_dynpro USING 'SAPMH5A0' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'PPHDR-ENDDA'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'PPHDR-PLVAR'
'01'.
PERFORM bdc_field USING 'PPHDR-OTYPE'
'S'.
PERFORM bdc_field USING 'PM0D1-SEARK'
ipos-seark.
PERFORM bdc_field USING 'PPHDR-INFTY'
'1000'.
PERFORM bdc_field USING 'PPHDR-ISTAT'
'1'.
PERFORM bdc_field USING 'PPHDR-BEGDA'
ipos-begda.
PERFORM bdc_field USING 'PPHDR-ENDDA'
ipos-endda.
PERFORM bdc_dynpro USING 'SAPMH5A0' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'PPHDR-PLVAR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=COP'.
PERFORM bdc_field USING 'PPHDR-PLVAR'
'01'.
PERFORM bdc_field USING 'PPHDR-OTYPE'
'S'.
PERFORM bdc_field USING 'PM0D1-SEARK'
ipos-seark.
PERFORM bdc_field USING 'PPHDR-INFTY'
'1000'.
PERFORM bdc_field USING 'PPHDR-ISTAT'
'1'.
PERFORM bdc_field USING 'PPHDR-BEGDA'
ipos-begda.
PERFORM bdc_field USING 'PPHDR-ENDDA'
ipos-endda.
PERFORM bdc_dynpro USING 'MP100000' '2000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'P1000-BEGDA'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'P1000-BEGDA'
ipos-begda.
PERFORM bdc_field USING 'P1000-ENDDA'
ipos-endda.
PERFORM bdc_field USING 'P1000-SHORT'
'Manag.Plan.'.
PERFORM bdc_field USING 'P1000-STEXT'
'Manager, Strategic Planning'.
PERFORM bdc_field USING 'P1000-LANGU'
'EN'.
PERFORM bdc_dynpro USING 'MP100000' '2000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'P1000-STEXT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'P1000-BEGDA'
ipos-begda.
PERFORM bdc_field USING 'P1000-ENDDA'
ipos-endda.
PERFORM bdc_field USING 'P1000-SHORT'
'Manag.Plan.'.
PERFORM bdc_field USING 'P1000-STEXT'
ipos-stext.
PERFORM bdc_field USING 'P1000-LANGU'
'EN'.
PERFORM bdc_dynpro USING 'MP100000' '2000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'P1000-BEGDA'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=UPD'.
PERFORM bdc_field USING 'P1000-BEGDA'
ipos-begda.
PERFORM bdc_field USING 'P1000-ENDDA'
ipos-endda.
PERFORM bdc_field USING 'P1000-SHORT'
'Manag.Plan.'.
PERFORM bdc_field USING 'P1000-STEXT'
ipos-stext.
PERFORM bdc_field USING 'P1000-LANGU'
'EN'.
PERFORM bdc_dynpro USING 'SAPMH5A0' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'PPHDR-PLVAR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BACK'.
PERFORM bdc_field USING 'PPHDR-PLVAR'
'01'.
PERFORM bdc_field USING 'PPHDR-OTYPE'
'S'.
PERFORM bdc_field USING 'PM0D1-SEARK'
ipos-seark.
PERFORM bdc_field USING 'PPHDR-INFTY'
'1000'.
PERFORM bdc_field USING 'PPHDR-ISTAT'
'1'.
PERFORM bdc_field USING 'PPHDR-BEGDA'
ipos-begda.
PERFORM bdc_field USING 'PPHDR-ENDDA'
ipos-endda.
PERFORM bdc_transaction USING 'PP02'.
ENDLOOP.
PERFORM close_group.
ENDIF.
&----
*& Form authority_check
&----
text
----
--> p1 text
<-- p2 text
----
FORM authority_check .
DATA : c_plvar LIKE hrp1000-plvar. "DEFAULT '01'.
DATA : c_obj LIKE hrp1000-otype. "DEFAULT 'S'.
AUTHORITY-CHECK OBJECT 'PLOG'
ID 'PLVAR' FIELD '01'
ID 'OTYPE' FIELD 'S'
ID 'INFOTYP' FIELD '1000'
ID 'SUBTYP' DUMMY
ID 'ISTAT' FIELD '1'
ID 'PPFCODE' FIELD 'COP'.
IF sy-subrc NE 0.
MESSAGE e000(zz) WITH 'NO AUTHORIZATION'.
ENDIF.
ENDFORM. " authority_check