Hi Experts,
My aim is to update employee data using RFCs. To achieve this, I'm trying to test BAPI_PERSDATA_CHANGE on an SAP ECC 6.0 IDES instance (running on a remote Windows host). Unfortunately, this is leading to an exception.
I am successfully able to READ an employee's data using the BAPI: BAPI_EMPLOYEE_GETDATA.
The output of BAPI_EMPLOYEE_GETDATA is:
- {'ARCHIVELINK': [],
- 'COMMUNICATION': [{'CHANGED_BY': 'BONIN',
- 'CH_ON': '20031126',
- 'CNFRM_FLAG': '',
- 'FLAG1': '',
- 'FLAG2': '',
- 'FLAG3': '',
- 'FLAG4': '',
- 'FROM_DATE': '20000101',
- 'HIST_FLAG': '',
- 'INFOTYPE': '0105',
- 'LOCK_IND': '',
- 'OBJECT_ID': '',
- 'PERNO': '00000072',
- 'REASON': '',
- 'REF_FLAG': '',
- 'RESERVED1': '',
- 'RESERVED2': '',
- 'SCREENCTRL': '',
- 'SEQNO': '000',
- 'SUBTYPE': '0010',
- 'TEXTFLAG': '',
- 'TO_DATE': '99991231',
- 'USERID': 'BROUGHTONB',
- 'USERTYPE': '0010',
- 'USRID_LONG': 'Freda.Fish@ides
- 'INTERNAL_CONTROL': [],
- 'ORG_ASSIGNMENT': [{'ADMINGROUP': '200',
- 'BUS_AREA': '',
- 'CHANGED_BY': 'C5115457',
- 'CH_ON': '20111114',
- 'CNFRM_FLAG': '',
- 'COMP_CODE': '2000',
- 'CONTRACT': '',
- 'COSTCENTER': '',
- 'CO_AREA': '1000',
- 'EGROUP': '1',
- 'ESUBGROUP': 'GC',
- 'FKBER': '',
- 'FLAG1': '',
- 'FLAG2': '',
- 'FLAG3': '',
- 'FLAG4': '',
- 'FROM_DATE': '20030101',
- 'FUND': '',
- 'FUNDS_CTR': '',
- 'GRANT_NBR': '',
- 'HIST_FLAG': '',
- 'INFOTYPE': '0001',
- 'JOB': '50012557',
- 'JOBTXT': 'Consultant',
- 'LEG_PERSON': '',
- 'LOCK_IND': '',
- 'NAME': 'Mrs Freda Fish',
- 'OBJECTTYPE': 'S',
- 'OBJECT_ID': '',
- 'ORGTXT': 'Project Team',
- 'ORG_KEY': '200',
- 'ORG_UNIT': '50002213',
- 'PAYAREA': 'G1',
- 'PAYR_ADMIN': '',
- 'PERNO': '00000072',
- 'PERS_ADMIN': '003',
- 'PERS_AREA': '200',
- 'POSITION': '50005677',
- 'POSTXT': 'Proj Team Ed',
- 'P_SUBAREA': '0002',
- 'REASON': '',
- 'REF_FLAG': '',
- 'RESERVED1': '',
- 'RESERVED2': '',
- 'SCREENCTRL': '',
- 'SEQNO': '000',
- 'SORT_NAME': 'FISH FREDA',
- 'SUBTYPE': '',
- 'SUPERVISOR': '',
- 'TEXTFLAG': '',
- 'TIME_ADMIN': '',
- 'TO_DATE': '99991231'}],
- 'PERSONAL_DATA': [{'ARI_TITLE': '',
- 'BIRTHCTRY': '',
- 'BIRTHDATE': '19650908',
- 'BIRTHDAY': '08',
- 'BIRTHDTPP': None,
- 'BIRTHMONTH': '09',
- 'BIRTHNME_K': '',
- 'BIRTHNME_R': '',
- 'BIRTHPLACE': '',
- 'BIRTHSTATE': '',
- 'BIRTHYEAR': '1965',
- 'CHANGED_BY': 'HOLDERM',
- 'CH_ON': '20030930',
- 'CNFRM_FLAG': '',
- 'FIRSTNAME': 'Freda',
- 'FLAG1': '',
- 'FLAG2': '',
- 'FLAG3': '',
- 'FLAG4': '',
- 'FORMOFADR': '2',
- 'FROM_DATE': '19650908',
- 'FSTNAME_M': 'FREDA',
- 'FST_NAME_K': '',
- 'FST_NAME_R': '',
- 'GENDER': '2',
- 'HIST_FLAG': '',
- 'INFOTYPE': '0002',
- 'INITIALS': '',
- 'KNOWN_AS': '',
- 'LANGU': 'E',
- 'LASTNAME_M': 'FISH',
- 'LAST_NAME': 'Fish',
- 'LAST_NAME2': '',
- 'LOCK_IND': '',
- 'LST_NAME_K': '',
- 'LST_NAME_R': '',
- 'MAR_DATE': None,
- 'MAR_STATUS': '',
- 'NAMEAFFIX': '',
- 'NAMEPREFIX': '',
- 'NAME_CON': '',
- 'NAME_FORM': '00',
- 'NATIONAL': 'MR',
- 'NATIONAL_2': '',
- 'NATIONAL_3': '',
- 'NICKNAME_K': '',
- 'NICKNAME_R': '',
- 'NO_O_CHLDR': Decimal('0'),
- 'OBJECT_ID': '',
- 'PERID': 'NA566669A',
- 'PERMO': '08',
- 'PERNO': '00000072',
- 'REASON': '',
- 'REF_FLAG': '',
- 'RELIGION': '',
- 'RESERVED1': '',
- 'RESERVED2': '',
- 'SCREENCTRL': '',
- 'SEQNO': '000',
- 'SUBTYPE': '',
- 'TEXTFLAG': '',
- 'TITLE': '',
- 'TITLE_2': '',
- 'TO_DATE': '99991231'}],
- 'RETURN': {'CODE': '',
- 'LOG_MSG_NO': '000000',
- 'LOG_NO': '',
- 'MESSAGE': '',
- 'MESSAGE_V1': '',
- 'MESSAGE_V2': '',
- 'MESSAGE_V3': '',
- 'MESSAGE_V4': '',
- 'TYPE': ''}}
.
I know that I must call the following three BAPI's in order:
BAPI_EMPLOYEE_ENQUEUE
BAPI_PERSDATA_CHANGE
BAPI_EMPLOYEE_DEQUEUE
But running BAPI_PERSDATA_CHANGE using transaction SE37 with the following IMPORT parameters:
EMPLOYEENUMBER='72',
NOCOMMIT='X',
LOCKINDICATOR='<space character>',
OBJECTID='<space character>',
RECORDNUMBER='0',
VALIDITYBEGIN='19650908',
VALIDITYEND='99991231',
SUBTYPE='<space character>',
LASTNAME='Foosh'
Leads to this error:
Exception:
Error Analysis:
Source Code Trigger:
Please help me resolve this issue.