08-01-2007 12:25 PM
Hi ,
I am trying to upload long-text for a particular pernr in a custom infotype.
But the text is not coming in PA30.
Below is the code.
********************************************************************************
DATA: wa_record_gdocs TYPE p9004,
pskey type pskey.
ptext-line = This is text note'.
append ptext.
p_pernr = '10000014'.
MOVE: 'X' to wa_record_gdocs-itxex,
p_pernr to wa_record_gdocs-pernr, * custom infotype 9002
'9002' to wa_record_gdocs-infty, * subtype 0002
'0002' to wa_record_gdocs-subty,
'07122007' to wa_record_gdocs-endda,
'01011999' to wa_record_gdocs-begda.
MOVE-CORRESPONDING wa_record_gdocs TO PSKEY.
pcl1-histo = 'X'.
pcl1-uname = SY-UNAME.
pcl1-aedtm = SY-DATUM.
export ptext to database pcl1(TX) id pskey.
commit work.
Please guide me in this. Where could I have gone wrong.
Thanks a lot in advance.
Regards
Ananya
08-01-2007 2:19 PM
hi Ananya
please refer to this . will solve ur problem
<b>Description:
A simple code that will insert infotype data and Maintain Text data.
For the sample I use infotype 2002 (Attendances).</b>
Type and Data declaration:
TYPES BEGIN OF text_version.
TYPES nummer TYPE x.
TYPES END OF text_version.
DATA: PERSONALDATAKEY LIKE BAPIPAKEY.
DATA: RETURN LIKE BAPIRETURN1.
DATA: P2002 LIKE P2002.
DATA: PSKEY TYPE PSKEY.
DATA: IT_TEXT TYPE HRPAD_TEXT_TAB .
DATA: LINE TYPE HRPAD_TEXT.
DATA: version TYPE text_version.
DATA: pcl1 TYPE pcl1.
Input Parameters:
PARAMETERS: PERNR LIKE PA2002-PERNR DEFAULT '1004511',
AWART LIKE PA2002-AWART DEFAULT 'LW',
BEGDA LIKE PA2002-BEGDA DEFAULT SY-DATUM,
ENDDA LIKE PA2002-ENDDA DEFAULT SY-DATUM,
BEGUZ LIKE PA2002-BEGUZ,
ENDUZ LIKE PA2002-ENDUZ.
Lock Personnel Number:
START-OF-SELECTION.
CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'
EXPORTING
number = PERNR
IMPORTING
RETURN = RETURN.
IF RETURN-NUMBER IS NOT INITIAL.
EXIT.
ENDIF.
Insert infotype data:
* ADD DATA
CLEAR: P2002.
P2002-PERNR = PERNR.
P2002-SUBTY = AWART.
P2002-ENDDA = BEGDA.
P2002-BEGDA = BEGDA.
P2002-BEGUZ = BEGUZ.
P2002-ENDUZ = ENDUZ.
P2002-AWART = AWART.
P2002-ITXEX = 'X'.
* WRITE DATA
CLEAR: RETURN, PERSONALDATAKEY.
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
INFTY = '2002'
NUMBER = PERNR
SUBTYPE = AWART
VALIDITYEND = BEGDA
VALIDITYBEGIN = BEGDA
RECORD = P2002
OPERATION = 'INS'
NOCOMMIT = ''
TCLAS = 'A'
IMPORTING
RETURN = RETURN
KEY = PERSONALDATAKEY
EXCEPTIONS
OTHERS = 0.
IF RETURN-NUMBER IS INITIAL.
COMMIT WORK AND WAIT.
ELSE.
ROLLBACK WORK.
EXIT.
ENDIF.
Insert Maintain Text data:
* ADD DATA
CLEAR: PSKEY, IT_TEXT[].
pskey-pernr = PERNR.
pskey-infty = '2002'.
pskey-subty = AWART.
pskey-endda = BEGDA.
pskey-begda = ENDDA.
pskey-seqnr = PERSONALDATAKEY-RECORDNR.
version-nummer = '02'.
pcl1-histo = 'X'.
pcl1-uname = SY-UNAME.
pcl1-aedtm = SY-DATUM.
* ADD IT_TEXT DATA
CLEAR: LINE.
LINE = 'Sample text:'.
APPEND LINE TO IT_TEXT.
CLEAR: LINE.
LINE = 'Here you can store your information.'.
APPEND LINE TO IT_TEXT.
EXPORT
text-version FROM version
ptext FROM IT_TEXT
TO DATABASE pcl1(TX) ID pskey
FROM pcl1.
Unlock Personnel Number:
CALL FUNCTION 'HR_EMPLOYEE_DEQUEUE'
EXPORTING
number = PERNR
IMPORTING
RETURN = RETURN.
regards
ravish
<b>plz dont forget to reward points if useful</b>
08-01-2007 12:38 PM
Maintain VIEW : <b>V_T582S</b> for Infotype text.
You can update text in this view without writing to cluster on ur own..
Reward if useful
Regards
Prax
08-01-2007 2:17 PM
08-01-2007 2:19 PM
hi Ananya
please refer to this . will solve ur problem
<b>Description:
A simple code that will insert infotype data and Maintain Text data.
For the sample I use infotype 2002 (Attendances).</b>
Type and Data declaration:
TYPES BEGIN OF text_version.
TYPES nummer TYPE x.
TYPES END OF text_version.
DATA: PERSONALDATAKEY LIKE BAPIPAKEY.
DATA: RETURN LIKE BAPIRETURN1.
DATA: P2002 LIKE P2002.
DATA: PSKEY TYPE PSKEY.
DATA: IT_TEXT TYPE HRPAD_TEXT_TAB .
DATA: LINE TYPE HRPAD_TEXT.
DATA: version TYPE text_version.
DATA: pcl1 TYPE pcl1.
Input Parameters:
PARAMETERS: PERNR LIKE PA2002-PERNR DEFAULT '1004511',
AWART LIKE PA2002-AWART DEFAULT 'LW',
BEGDA LIKE PA2002-BEGDA DEFAULT SY-DATUM,
ENDDA LIKE PA2002-ENDDA DEFAULT SY-DATUM,
BEGUZ LIKE PA2002-BEGUZ,
ENDUZ LIKE PA2002-ENDUZ.
Lock Personnel Number:
START-OF-SELECTION.
CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'
EXPORTING
number = PERNR
IMPORTING
RETURN = RETURN.
IF RETURN-NUMBER IS NOT INITIAL.
EXIT.
ENDIF.
Insert infotype data:
* ADD DATA
CLEAR: P2002.
P2002-PERNR = PERNR.
P2002-SUBTY = AWART.
P2002-ENDDA = BEGDA.
P2002-BEGDA = BEGDA.
P2002-BEGUZ = BEGUZ.
P2002-ENDUZ = ENDUZ.
P2002-AWART = AWART.
P2002-ITXEX = 'X'.
* WRITE DATA
CLEAR: RETURN, PERSONALDATAKEY.
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
INFTY = '2002'
NUMBER = PERNR
SUBTYPE = AWART
VALIDITYEND = BEGDA
VALIDITYBEGIN = BEGDA
RECORD = P2002
OPERATION = 'INS'
NOCOMMIT = ''
TCLAS = 'A'
IMPORTING
RETURN = RETURN
KEY = PERSONALDATAKEY
EXCEPTIONS
OTHERS = 0.
IF RETURN-NUMBER IS INITIAL.
COMMIT WORK AND WAIT.
ELSE.
ROLLBACK WORK.
EXIT.
ENDIF.
Insert Maintain Text data:
* ADD DATA
CLEAR: PSKEY, IT_TEXT[].
pskey-pernr = PERNR.
pskey-infty = '2002'.
pskey-subty = AWART.
pskey-endda = BEGDA.
pskey-begda = ENDDA.
pskey-seqnr = PERSONALDATAKEY-RECORDNR.
version-nummer = '02'.
pcl1-histo = 'X'.
pcl1-uname = SY-UNAME.
pcl1-aedtm = SY-DATUM.
* ADD IT_TEXT DATA
CLEAR: LINE.
LINE = 'Sample text:'.
APPEND LINE TO IT_TEXT.
CLEAR: LINE.
LINE = 'Here you can store your information.'.
APPEND LINE TO IT_TEXT.
EXPORT
text-version FROM version
ptext FROM IT_TEXT
TO DATABASE pcl1(TX) ID pskey
FROM pcl1.
Unlock Personnel Number:
CALL FUNCTION 'HR_EMPLOYEE_DEQUEUE'
EXPORTING
number = PERNR
IMPORTING
RETURN = RETURN.
regards
ravish
<b>plz dont forget to reward points if useful</b>
08-02-2007 4:51 AM
Hi Ravish,
Thanks a lot for the sample code.
I am now having the icon for long-text in PA30. But,the text is not coming in the editor.
Can you tell me,the significance of
*******************************************************************
pskey-seqnr = PERSONALDATAKEY-RECORDNR.
version-nummer = '02'.
What is version number and why is it needed.
I am trying to create long-text for an already existing record.
Regards
Ananya
08-01-2007 2:37 PM
You can not create PERNR dependent infotype text..
You have to use same infotype text for all PERNRs..
use view V_T582S
Regards
Pradeep