08-30-2007 1:42 PM
Hi
I have a requirement to update applicant details where personal details to be changed in <b> PB10</b> and skill and qualification and experience should change from <b>PB30</b>. I need the <b>standard BAPI</b> that are used for updating in these respective field. Any help will be appreciate.
08-31-2007 7:48 AM
Hi Sukanta,
Hope this BAPI function module helps:
BAPI_PERSDATA_CHANGE
otherwise you can search for it in transaction BAPI itself.
Revert for more clarifications if any.
<b>Always reward points for useful suggestions.</b>
regards,
Vikas
09-03-2007 5:35 AM
Hi Vikas,
Apart from the BAPI what you gave i have a little bit more requirement where i also want to update applicant skills, educational qualification and experience.
Regards,
sukanta
09-03-2007 6:06 AM
Hi Sukanta,
I am not able to find any BAPI for the desited purpose, however can suggest an alternative way where in you can create a bdc program and pass the desired parameters and upload the data.
Even the standard program transaction PA30 isn't calling any BAPI for the purpose and using update statements.
Incase I will get one will surely reply back however if its urgent you can use the alternative approach.
regards,
Vikas
09-03-2007 11:49 AM
HI vikas,
Ya i am in bit urgent so it will be better if you suggest any alternative through bdc.
regards,
sukanta
09-03-2007 12:58 PM
Hi Sukanta,
I give you the BDC code which i made to upload the educational details on 4.6c sometime back. Though the same will not work in your system as it is as the screen field and number might have changed.
You will have to change the internal table format to the order in which you want to upload your data fields and then change the screen and field names in the code and also the ok code.
<b>The other and easy way for this is to do the recoding of the PA30 transaction through transaction SHDB and record the whole process for one transaction data and then transfer the recording to program.</b>
Hope this helps.
Here's the code though i would strongly recommend you to record and do it yourself as by copying the code it would be quite complex.
Here's the code:
&----
*& Report ZVKT_TESTPROG
*&
&----
*&
*&
&----
REPORT zvkt_testprog1 MESSAGE-ID zzz.
INCLUDE BDCRECX1.
PARAMETERS: PA_INFTY LIKE T591A-INFTY OBLIGATORY.
*Variables for Table names
DATA : V_TABNAME(15),
V_ITNAME(15).
DATA : IT_PA0022 LIKE PA0022 OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF IT_TAB_22 OCCURS 0,
PERNR LIKE PA0000-PERNR,
BEGDA(8),
ENDDA(8),
SUBTY LIKE PA0022-SUBTY, "subtype
SLART LIKE PA0022-SLART, " educational est.
AUSBI LIKE PA0022-AUSBI, " education /training
INSTI LIKE PA0022-INSTI, " institute/location
SLABS LIKE PA0022-SLABS, " certificate
EMARK LIKE PA0022-EMARK, " final mark
SPEC LIKE PA0022-SPEC, " specialisation
DURATION LIKE PA0022-DURATION, " duration
PLACE LIKE PA0022-PLACE, " place
DIVISION LIKE PA0022-DIVISION, " division
METHOD LIKE PA0022-METHOD, " method of education
YEAR LIKE PA0022-YEAR, " year of degree completion
UNIV LIKE PA0022-UNIV, " university
END OF IT_TAB_22.
START-OF-SELECTION.
CONCATENATE: 'PA' PA_INFTY INTO V_TABNAME,
'IT_PA' PA_INFTY INTO V_ITNAME.
CASE V_TABNAME.
WHEN 'PA0022'.
PERFORM UP_DATA TABLES IT_TAB_22.
PERFORM OPEN_GROUP.
LOOP AT IT_TAB_22.
PERFORM BDC_DYNPRO USING 'SAPMP50A' '1000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=INS'.
PERFORM BDC_FIELD USING 'RP50G-PERNR'
IT_TAB_22-PERNR.
PERFORM BDC_FIELD USING 'RP50G-BEGDA'
IT_TAB_22-BEGDA.
PERFORM BDC_FIELD USING 'RP50G-ENDDA'
IT_TAB_22-ENDDA.
PERFORM BDC_FIELD USING 'RP50G-CHOIC'
'0022'.
*INSTEAD OF DOWNLOADED SUBTYPE WHICH IS 0 SLART IS PLACED IN SUBTYPE
PERFORM BDC_FIELD USING 'RP50G-SUBTY'
IT_TAB_22-SLART.
PERFORM BDC_DYNPRO USING 'MP002200' '2000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=UPD'.
PERFORM BDC_FIELD USING 'P0022-SLART'
IT_TAB_22-SLART.
PERFORM BDC_FIELD USING 'P0022-AUSBI'
IT_TAB_22-AUSBI.
PERFORM BDC_FIELD USING 'P0022-INSTI'
IT_TAB_22-INSTI.
PERFORM BDC_FIELD USING 'P0022-SLABS'
IT_TAB_22-SLABS.
PERFORM BDC_FIELD USING 'P0022-EMARK'
IT_TAB_22-EMARK.
PERFORM BDC_FIELD USING 'P0022-SPEC'
IT_TAB_22-SPEC.
PERFORM BDC_FIELD USING 'P0022-DURATION'
IT_TAB_22-DURATION.
PERFORM BDC_FIELD USING 'P0022-PLACE'
IT_TAB_22-PLACE.
PERFORM BDC_FIELD USING 'P0022-DIVISION'
IT_TAB_22-DIVISION.
PERFORM BDC_FIELD USING 'P0022-METHOD'
IT_TAB_22-METHOD.
PERFORM BDC_FIELD USING 'P0022-YEAR'
IT_TAB_22-YEAR.
PERFORM BDC_FIELD USING 'P0022-UNIV'
IT_TAB_22-UNIV.
PERFORM BDC_TRANSACTION USING 'PA30'.
ENDLOOP.
PERFORM CLOSE_GROUP.
WHEN OTHERS.
ENDCASE.
&----
*& Form UPLOAD_DATA
&----
text
----
-->P_IT_TAB_23 text
----
FORM UP_DATA TABLES XUP_DATA.
CALL FUNCTION 'UPLOAD'
EXPORTING
CODEPAGE = ' '
FILENAME = 'C:\'
FILETYPE = 'DAT'
TABLES
DATA_TAB = XUP_DATA
EXCEPTIONS
CONVERSION_ERROR = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
GUI_REFUSE_FILETRANSFER = 6
OTHERS = 7
.
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. " UPLOAD_DATA
&----
*& Form dwn_data
&----
text
----
-->P_0263 text
----
FORM DWN_DATA TABLES XDWN_DATA .
CALL FUNCTION 'DOWNLOAD'
EXPORTING
BIN_FILESIZE = ' '
CODEPAGE = ' '
FILENAME = 'C:\SAP-HR\HR-ABAP\Client 150 text files\'
FILETYPE = 'DAT'
ITEM = ' '
MODE = ' '
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
FILEMASK_MASK = ' '
FILEMASK_TEXT = ' '
FILETYPE_NO_CHANGE = ' '
FILEMASK_ALL = ' '
FILETYPE_NO_SHOW = ' '
SILENT = 'S'
COL_SELECT = ' '
COL_SELECTMASK = ' '
NO_AUTH_CHECK = ' '
IMPORTING
ACT_FILENAME =
ACT_FILETYPE =
FILESIZE =
CANCEL =
TABLES
DATA_TAB = XDWN_DATA
FIELDNAMES =
EXCEPTIONS
INVALID_FILESIZE = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
GUI_REFUSE_FILETRANSFER = 6
CUSTOMER_ERROR = 7
OTHERS = 8
.
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. " dwn_data
<b>Always rewrad points for other's efforts if useful.</b>
Regards,
Vikas