Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

update Applicant Details

Former Member
0 Kudos

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.

5 REPLIES 5

Former Member
0 Kudos

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

0 Kudos

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

0 Kudos

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

0 Kudos

HI vikas,

Ya i am in bit urgent so it will be better if you suggest any alternative through bdc.

regards,

sukanta

0 Kudos

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