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: 

longtext in custom infotype

Former Member
0 Kudos

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

1 ACCEPTED SOLUTION

Former Member
0 Kudos

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>

5 REPLIES 5

Former Member
0 Kudos

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

Former Member
0 Kudos

Former Member
0 Kudos

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>

0 Kudos

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

Former Member
0 Kudos

You can not create PERNR dependent infotype text..

You have to use same infotype text for all PERNRs..

use view V_T582S

Regards

Pradeep