Application Development and Automation 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: 
Read only

Error while sending the mail( Database error for <ADDR_PERS_COMP_COMM_GE)

Former Member
0 Likes
490

Hello guys,

I am facing the error " Database error for <ADDR_PERS_COMP_COMM_GET> <0> " as a pop-up message.

below is my program.

types: BEGIN OF t_p0002,

pernr type PERSNO, "Personnel number

nachn TYPE PAD_NACHN, "Last Name

VORNA TYPE PAD_VORNA, "First Name

gbdat TYPE gbdat, "Date of Birth

END OF t_p0002.

*******************Data of an object which can be changed**************************************

data S_maildata type SODOCCHGI1.

*******************Text field length 255: texts***********************************************

data : IT_MAILTXT1 type table of SOLISTI1 , "Internal table will contain texts of mail header

WA_MAILTXT1 TYPE SOLISTI1,

IT_MAILTXT2 type table of SOLISTI1 , "Internal table will contain texts of contents in the mail

WA_MAILTXT2 TYPE SOLISTI1.

*******************Structure of the API Recipient List*****************************************

data : IT_MAILREC type table of SOMLRECI1,

WA_MAILREC TYPE SOMLRECI1.

DATA : it_pa0002 TYPE TABLE OF t_p0002,

wa_pa0002 type t_p0002.

data Header_text type c LENGTH 15.

CONSTANTS content_text type c LENGTH 35 VALUE 'Tomorrow is the birthday of'.

*******************Event start of selection***************************************************

start-of-selection.

PERFORM get_birthdate. " will give birthday details

PERFORM document_details. " will give text and mail details

&----


*& Form get_birthdate

&----


  • text : subroutine to get employee birthdate details

----


form get_birthdate.

data : l_date like sy-datum.

refresh it_pa0002.

l_date = sy-datum + 1.

SELECT pernr nachn vorna gbdat

from pa0002

INTO TABLE it_pa0002

where gbdat = '19650302'.

ENDFORM. "get_birthdate

&----


*& Form document_details

&----


  • text : subroutine to get texts and mail details.

----


FORM document_details.

CLEAR: Header_text,

wa_MAILREC.

REFRESH IT_MAILREC.

S_maildata-obj_name = 'Birthday Reminder'.

s_maildata-obj_descr = 'Birthday Reminder'.

s_maildata-obj_langu = sy-langu.

READ TABLE IT_MAILTXT1 INTO WA_MAILTXT1

WITH KEY WA_MAILTXT1-line .

WA_MAILTXT1-line = 'Birthday Reminder'.

append WA_MAILTXT1 TO IT_MAILTXT1.

CLEAR WA_MAILTXT1.

LOOP at it_pa0002 INTO wa_pa0002.

READ TABLE IT_MAILTXT2 INTO WA_MAILTXT2

WITH KEY WA_MAILTXT2-line .

CONCATENATE content_text ' ( ' wa_pa0002-pernr ' ) ' wa_pa0002-nachn wa_pa0002-vorna

INTO WA_MAILTXT2 SEPARATED BY ' '.

append WA_MAILTXT2 TO IT_MAILTXT2.

CLEAR WA_MAILTXT2.

CLEAR wa_pa0002.

ENDLOOP.

  • LOOP AT IT_MAILREC INTO WA_MAILREC.

WA_MAILREC-RECEIVER = 'Any mail id'.

WA_MAILREC-rec_type = 'U'.

append WA_MAILREC TO IT_MAILREC.

  • ENDLOOP.

********************Function Mofule:To Send new Document*****************************************

CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'

EXPORTING

document_data = S_maildata

DOCUMENT_TYPE = 'RAW'

PUT_IN_OUTBOX = ' '

COMMIT_WORK = 'X'

  • IMPORTING

  • SENT_TO_ALL =

  • NEW_OBJECT_ID =

tables

OBJECT_HEADER = IT_MAILTXT1

OBJECT_CONTENT = IT_MAILTXT2

  • CONTENTS_HEX =

  • OBJECT_PARA =

  • OBJECT_PARB =

receivers = IT_MAILREC

EXCEPTIONS

TOO_MANY_RECEIVERS = 1

DOCUMENT_NOT_SENT = 2

DOCUMENT_TYPE_NOT_EXIST = 3

OPERATION_NO_AUTHORIZATION = 4

PARAMETER_ERROR = 5

X_ERROR = 6

ENQUEUE_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. "document_details

*********************************************************************************************************************************************

After I pressed the exit button the program is getting terminated but still this mail is comming to sost transaction code.

If I will comment the message code which is after sy-subrc the popup will not come and program will work without any interruption.

Can anybody please solve this problem?

Hello guys,

I am facing the error " Database error for <ADDR_PERS_COMP_COMM_GET> <0> " as a pop-up message.

below is my program.

types: BEGIN OF t_p0002,

pernr type PERSNO, "Personnel number

nachn TYPE PAD_NACHN, "Last Name

VORNA TYPE PAD_VORNA, "First Name

gbdat TYPE gbdat, "Date of Birth

END OF t_p0002.

*******************Data of an object which can be changed**************************************

data S_maildata type SODOCCHGI1.

*******************Text field length 255: texts***********************************************

data : IT_MAILTXT1 type table of SOLISTI1 , "Internal table will contain texts of mail header

WA_MAILTXT1 TYPE SOLISTI1,

IT_MAILTXT2 type table of SOLISTI1 , "Internal table will contain texts of contents in the mail

WA_MAILTXT2 TYPE SOLISTI1.

*******************Structure of the API Recipient List*****************************************

data : IT_MAILREC type table of SOMLRECI1,

WA_MAILREC TYPE SOMLRECI1.

DATA : it_pa0002 TYPE TABLE OF t_p0002,

wa_pa0002 type t_p0002.

data Header_text type c LENGTH 15.

CONSTANTS content_text type c LENGTH 35 VALUE 'Tomorrow is the birthday of'.

*******************Event start of selection***************************************************

start-of-selection.

PERFORM get_birthdate. " will give birthday details

PERFORM document_details. " will give text and mail details

&----


*& Form get_birthdate

&----


  • text : subroutine to get employee birthdate details

----


form get_birthdate.

data : l_date like sy-datum.

refresh it_pa0002.

l_date = sy-datum + 1.

SELECT pernr nachn vorna gbdat

from pa0002

INTO TABLE it_pa0002

where gbdat = '19650302'.

ENDFORM. "get_birthdate

&----


*& Form document_details

&----


  • text : subroutine to get texts and mail details.

----


FORM document_details.

CLEAR: Header_text,

wa_MAILREC.

REFRESH IT_MAILREC.

S_maildata-obj_name = 'Birthday Reminder'.

s_maildata-obj_descr = 'Birthday Reminder'.

s_maildata-obj_langu = sy-langu.

READ TABLE IT_MAILTXT1 INTO WA_MAILTXT1

WITH KEY WA_MAILTXT1-line .

WA_MAILTXT1-line = 'Birthday Reminder'.

append WA_MAILTXT1 TO IT_MAILTXT1.

CLEAR WA_MAILTXT1.

LOOP at it_pa0002 INTO wa_pa0002.

READ TABLE IT_MAILTXT2 INTO WA_MAILTXT2

WITH KEY WA_MAILTXT2-line .

CONCATENATE content_text ' ( ' wa_pa0002-pernr ' ) ' wa_pa0002-nachn wa_pa0002-vorna

INTO WA_MAILTXT2 SEPARATED BY ' '.

append WA_MAILTXT2 TO IT_MAILTXT2.

CLEAR WA_MAILTXT2.

CLEAR wa_pa0002.

ENDLOOP.

  • LOOP AT IT_MAILREC INTO WA_MAILREC.

WA_MAILREC-RECEIVER = 'Any mail id'.

WA_MAILREC-rec_type = 'U'.

append WA_MAILREC TO IT_MAILREC.

  • ENDLOOP.

********************Function Mofule:To Send new Document*****************************************

CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'

EXPORTING

document_data = S_maildata

DOCUMENT_TYPE = 'RAW'

PUT_IN_OUTBOX = ' '

COMMIT_WORK = 'X'

  • IMPORTING

  • SENT_TO_ALL =

  • NEW_OBJECT_ID =

tables

OBJECT_HEADER = IT_MAILTXT1

OBJECT_CONTENT = IT_MAILTXT2

  • CONTENTS_HEX =

  • OBJECT_PARA =

  • OBJECT_PARB =

receivers = IT_MAILREC

EXCEPTIONS

TOO_MANY_RECEIVERS = 1

DOCUMENT_NOT_SENT = 2

DOCUMENT_TYPE_NOT_EXIST = 3

OPERATION_NO_AUTHORIZATION = 4

PARAMETER_ERROR = 5

X_ERROR = 6

ENQUEUE_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. "document_details

*********************************************************************************************************************************************

After I pressed the exit button the program is getting terminated but still this mail is comming to sost transaction code.

If I will comment the message code which is after sy-subrc the popup will not come and program will work without any interruption.

Can anybody please solve this problem?

1 REPLY 1
Read only

Former Member
0 Likes
420

Resolved