Dump at RFC Call - CALL_FUNCTION_SIGNON_INCOMPL
Hello Guru's,
after a system copy we have the following issue.
At every RFC connection in SM95 we get a dump with error CALL_FUNCTION_SIGNON_INCOMPL.
The error in dev_wXX are
N RSEC: The entry with identifier /HMAC_INDEP/RFC_EXTERNAL_TICKET_4_TRUSTED_SYSTEM
N was encrypted by a system
N with different SID and cannot be decrypted here.
M *** ERROR => LocFunc_ReadKeyFromDB(): Error in function: 'RSecDReadItem()' (errorcode=-2) [sntxxhmac.c 1298]
A *** ERROR => RFC Signon> Failure in ab_MakeTicketSndExternal calling SntHMAC_SetHMACKey (rc: 53) [abrfcsgn.c 1019]
A TH VERBOSE LEVEL FULL
A ** RABAX: end RX_GET_MESSAGE
we tried to change the PSE tickets in STRUST but there the error, too.
We have checked SAP notes 171805, 684788, 901256, SDN, SAP xSearch, Bing etc. but nothing. Need help!
Have anyone a suggestion?!
regards
chris
Hi,
we have the same problem.
Systemcopy --> OK
Post works --> OK
run sgen --> OK
After sgen system dumps all the time where an ABAP RFC will be used (for example sm59-Connection Test, sgen, ...)
We tried to clear the abap loads, but problem still exists.
Checked all notes, google, sdn, sap search... nothing found.
SAP 7.01 on AS400, Kernel 111
Regards
Thomas
PS: note 1523313 does not help
Edited by: Thomas Mühl on Nov 25, 2010 11:23 PM
Similar Messages
-
Short Dump in rfc call in background
Hi All,
I am getting an RFC error short dump in a background program the short dump message says "RFC_ERROR_SYSTEM_FAILURE: no system found in another group for import queue", the same RFC works fine in foreground and in another background program. I looked into the target system, there is no dump generated.
I tested it in one system it works fine but in another it generates a short dump. I am trying to understand why this is happening any inputs are welcome.
Thanks in advance,
BarjinderIt has been resolved the called FM was raising an exception and it was not captured in the calling FM.
Thanks to all. -
[RFC][Authorization] Prevent Dump on RFC Call
Hi,
I would like to have a tool to check consistencies throughout different SAP systems for a given user.
For this, I call the Bapi called 'BAPI_USER_GET_DETAIL'. The problem is that, depending RFC user defined in SM59, it may end by a DUMP.
Thus, is there a way to test the RFC user rights in order to prevent the Dump ?
The problem is that calling another RFC function module may also result in a Dump, isn't it...
Thanks for your replies!You may have to try for authorization before hand. You have tried doing authority checks on one of the following authorization objects?
S_RFC Authorization check for RFC access
S_RFCACL Authorization Check for RFC User (e.g. Trusted System)
authority-check object 'S_RFC'
id 'RFC_TYPE' field '__________'
id 'RFC_NAME' field '__________'
id 'ACTVT' field '__________'.
if sy-subrc = 0.
* Then do the BAPI
Endif.
authority-check object 'S_RFCACL'
id 'RFC_SYSID' field '__________'
id 'RFC_CLIENT' field '__________'
id 'RFC_USER' field '__________'
id 'RFC_EQUSER' field '__________'
id 'RFC_TCODE' field '__________'
id 'RFC_INFO' field '__________'
id 'ACTVT' field '__________'.
if sy-subrc = 0.
* Then do the BAPI
Endif.
Regards,
Rich Heilman -
Prevent a dump after a RFC call
Hello.
I created a function group wich is used in a program through a RFC call.
I'm trying to prevent a dump of the program, in case the RFC can't reach his destination for example.
How can i do that ? Is it in the exception of the function or do you have other solutions ?
Thanks for the help.Hi helder,
1. we have to manually add the code/lines
for exceptions, almost in all RFC calls.
<b>(THEN IT WON'T GIVE RUN TIME ERROR)</b>
2.
EXCEPTIONS
SYSTEM_FAILURE = 1
COMMUNICATION_FAILURE = 2
3 just copy paste
report abc.
CALL FUNCTION 'GUI_RUN' DESTINATION 'ABC'
EXPORTING
COMMAND = 'XYZ'
PARAMETER =
CD =
IMPORTING
RETURNCODE =
EXCEPTIONS
SYSTEM_FAILURE = 1
COMMUNICATION_FAILURE = 2
regards,
amit m. -
Hallo,
My scenario is as follows: when sending a RFC to XI via the RFC adapter, I get a short dump with the following error: "the error occurred in an RFC call to another system (XI).The termination occurred in the function "RfcExtendedReceive" of the SAP
Basis System, specifically in line 392 of the module
"//bas/640_REL/src/krn/rfc/abrfcrcv.c#2".
The internal operation just processed is "FUNC".
The internal session was started at 20060125163632".
The RFC adapter has been configured as the Sender and all the parameters populated with the system details.
Has someone seen this eror before?
Please assist.
Thanks,
CatherineMaybe you're invoking RFC synchrounously from ABAP code and your receiving scenario is on Asynchrounous interfaces? What are you doing then in XI with data sent by the RFC?
Message was edited by: Alessandro Guarneri -
RFC call results in StORAGE_PARAM_WRONG_SET
I'm in trouble with a RFC call, the process is as following: SAP system A calls a report. This report selects FI documents via LDB SDF. After user selects one or more documents from the list I call a RFC to read the payroll posting results from system B. The call of the RFC takes place for each FI document separatly what means user selects e.g. 10 FI documents, so I have 10 RFC calls with one result list. After each RFC call I add the result table of the RFC to the output table within the report. Before calling the RFC I of course clear all relevant tables again and additionaly I also use the 'FREE' statement within the RFC to set free all the memory, so there is no data stored in internal tables. But when the user selects a great no. of FI documents to read the payroll postings sometimes the RFC cancels in system B telling me that the storage parameters were set wrong. Calling the RFC step by step by selecting the FI document in single mode from the list I don't receive this dump. Do you have an idea what to do to avoid the dump? One problem: I don't have access to system B to test there, I only can do testing in system A and therefore I have no possibility to debugg this.
This is the code of the RFC module:
FUNCTION y_rfc_read_payroll_postings.
*"*"Local interface:
*" IMPORTING
*" VALUE(I_AWKEY) TYPE AWKEY
*" VALUE(I_CHECKNO) TYPE XFELD
*" VALUE(I_TAX) TYPE XFELD
*" EXPORTING
*" VALUE(E_PPDHD) TYPE PPDHD
*" TABLES
*" T_PPDIT STRUCTURE PPDIT
*" T_PPOIX STRUCTURE PPOIX
*" T_PPDIX STRUCTURE PPDIX
*" T_PAYR STRUCTURE PAYR OPTIONAL
*" T_HRPAY STRUCTURE PC209 OPTIONAL
*" T_REGUTA STRUCTURE REGUTA OPTIONAL
*" T_VALUES STRUCTURE YSHR_RFC_PAYROLL_POSTING OPTIONAL
*" T_CSKA STRUCTURE CSKA
*" RETURN STRUCTURE BAPIRET2
* local data
TYPE-POOLS: pptgs.
TYPES: BEGIN OF type_helpval,
pernr TYPE p_pernr,
lgart TYPE lgart,
rel TYPE xfeld,
END OF type_helpval.
TYPES: BEGIN OF type_cluster,
pernr TYPE p_pernr,
seqno TYPE cdseq,
abrj TYPE pnppabrj,
abrp TYPE pnppabrp,
actual TYPE srtza,
betrg TYPE ppoix-betrg,
waers TYPE ppoix-waers,
END OF type_cluster.
DATA: BEGIN OF lt_ppoix_key OCCURS 0,
pernr LIKE ppoix-pernr,
seqno LIKE ppoix-seqno,
actsign LIKE ppoix-actsign,
runid LIKE ppoix-runid,
postnum LIKE ppoix-postnum,
END OF lt_ppoix_key.
FIELD-SYMBOLS: <payroll> TYPE yshr_rfc_payroll_posting.
DATA ht_ppoix TYPE TABLE OF ppoix.
DATA productive_runs LIKE hrpp_pernr_runtab OCCURS 0 WITH HEADER LINE.
DATA t_rgdir TYPE TABLE OF pc261.
DATA wa_rgdir TYPE pc261.
DATA t_helpval TYPE TABLE OF type_helpval.
DATA t_cluster TYPE TABLE OF type_cluster.
DATA wa_helpval TYPE type_helpval.
DATA wa_cluster TYPE type_cluster.
DATA h_molga TYPE molga.
DATA h_ltext TYPE t5utz-ltext.
DATA wa_t512w TYPE t512w.
DATA wa_return TYPE bapiret2.
DATA par1 TYPE syst-msgv1.
DATA par2 TYPE syst-msgv2.
DATA par3 TYPE syst-msgv3.
DATA wa_ppoix TYPE ppoix.
FIELD-SYMBOLS: <wa_ppdit> TYPE ppdit.
DATA wa_ppdix TYPE ppdix.
DATA result_tab_us TYPE payus_result.
DATA result_tab_in TYPE payin_result.
DATA t_bt TYPE hrpay99_bt.
DATA t_rt TYPE hrpay99_rt.
DATA wa_bt TYPE pc209.
DATA wa_rt TYPE pc207.
DATA h_time(6) TYPE c.
DATA t_inter TYPE TABLE OF pay99_international WITH HEADER LINE.
DATA t_tax TYPE hrpayus_tax.
DATA wa_tax TYPE pc22t.
DATA wa_payr TYPE payr.
DATA wa_reguta TYPE reguta.
DATA wa_payroll TYPE yshr_rfc_payroll_posting.
DATA t_ppopx TYPE TABLE OF ppopx.
DATA wa_ppopx TYPE ppopx.
DATA wa_t001 TYPE t001.
FREE: t_ppdit, t_ppoix, t_ppdix, t_payr, t_hrpay, t_reguta,
t_values, t_helpval, t_cluster, t_ppopx.
* read general information
SELECT SINGLE * FROM ppdhd INTO e_ppdhd WHERE
docnum EQ i_awkey.
CASE syst-subrc.
* everthing ok, continue
WHEN 0.
* get the company code and assign US flag
SELECT SINGLE * FROM t001 INTO wa_t001 WHERE
bukrs EQ e_ppdhd-bukrs.
* exit and set err. mess.
WHEN OTHERS.
CALL FUNCTION 'BALW_BAPIRETURN_GET2'
EXPORTING
type = 'E'
cl = 'HR3PRNA'
number = '704'
* PAR1 = ' '
* PAR2 = ' '
* PAR3 = ' '
* PAR4 = ' '
* LOG_NO = ' '
* LOG_MSG_NO = ' '
* PARAMETER = ' '
* ROW = 0
* FIELD = ' '
IMPORTING
return = wa_return
wa_return-field = 'PPDHD'.
APPEND wa_return TO return.
EXIT.
ENDCASE.
* read table PPDIT
SELECT * FROM ppdit INTO TABLE t_ppdit
FOR ALL ENTRIES IN t_cska
WHERE docnum = i_awkey AND
hkont = t_cska-kstar.
CASE syst-subrc.
* everthing ok, continue
WHEN 0.
* exit and set err. mess.
WHEN OTHERS.
par1 = 'PPDIT'.
par2 = 'document'.
par3 = i_awkey.
CALL FUNCTION 'BALW_BAPIRETURN_GET2'
EXPORTING
type = 'E'
cl = '5G'
number = '58'
par1 = par1
par2 = par2
par3 = par3
* PAR4 = ' '
* LOG_NO = ' '
* LOG_MSG_NO = ' '
* PARAMETER = ' '
* ROW = 0
* FIELD = ' '
IMPORTING
return = wa_return
wa_return-field = 'PPDIT'.
APPEND wa_return TO return.
EXIT.
ENDCASE.
* read table PPDIX
SELECT * FROM ppdix INTO TABLE t_ppdix
FOR ALL ENTRIES IN t_ppdit
WHERE evtyp EQ e_ppdhd-evtyp AND
runid EQ e_ppdhd-runid AND
docnum EQ e_ppdhd-docnum AND
doclin = t_ppdit-doclin.
CASE syst-subrc.
* everthing ok, continue
WHEN 0.
* exit and set err. mess.
WHEN OTHERS.
par1 = 'PPDIX'.
par2 = 'runid'.
par3 = e_ppdhd-runid.
CALL FUNCTION 'BALW_BAPIRETURN_GET2'
EXPORTING
type = 'E'
cl = '5G'
number = '58'
par1 = par1
par2 = par2
par3 = par3
* PAR4 = ' '
* LOG_NO = ' '
* LOG_MSG_NO = ' '
* PARAMETER = ' '
* ROW = 0
* FIELD = ' '
IMPORTING
return = wa_return
wa_return-field = 'PPDIX'.
APPEND wa_return TO return.
EXIT.
ENDCASE.
* read detail values on accounting level
SELECT * FROM ppoix INTO TABLE t_ppoix
FOR ALL ENTRIES IN t_ppdix WHERE
runid EQ t_ppdix-runid AND
tslin EQ t_ppdix-linum.
* read reposted documents from ppopx
SELECT * FROM ppopx INTO TABLE t_ppopx
FOR ALL ENTRIES IN t_ppdix WHERE
runid EQ t_ppdix-runid AND
tslin EQ t_ppdix-linum.
IF syst-subrc EQ 0.
* append corresponding lines to T_ppoix
LOOP AT t_ppopx INTO wa_ppopx.
MOVE-CORRESPONDING wa_ppopx TO productive_runs.
CLEAR productive_runs-runid.
COLLECT productive_runs.
ENDLOOP.
* get run table
CALL FUNCTION 'HR_EVAL_PROD_A_RUN_GET_TABLE'
TABLES
result_table = productive_runs.
LOOP AT productive_runs.
IF productive_runs-runid IS INITIAL.
DELETE productive_runs.
ENDIF.
ENDLOOP.
* fill ppoix-keys for needed ppoix
LOOP AT productive_runs.
LOOP AT t_ppopx INTO wa_ppopx.
IF wa_ppopx-pernr EQ productive_runs-pernr AND
wa_ppopx-seqno EQ productive_runs-seqno.
* built key
CLEAR lt_ppoix_key.
MOVE-CORRESPONDING productive_runs TO lt_ppoix_key.
lt_ppoix_key-postnum = wa_ppopx-postnum.
lt_ppoix_key-actsign = 'A'.
COLLECT lt_ppoix_key.
ENDIF.
ENDLOOP.
ENDLOOP.
* any values to append?
READ TABLE lt_ppoix_key INDEX 1.
IF syst-subrc EQ 0.
SELECT * FROM ppoix INTO TABLE ht_ppoix
FOR ALL ENTRIES IN lt_ppoix_key
WHERE pernr = lt_ppoix_key-pernr
AND seqno = lt_ppoix_key-seqno
AND actsign = 'A'
AND runid = lt_ppoix_key-runid
AND postnum = lt_ppoix_key-postnum.
IF syst-subrc EQ 0.
LOOP AT t_ppopx INTO wa_ppopx.
LOOP AT ht_ppoix INTO wa_ppoix WHERE
pernr EQ wa_ppopx-pernr AND
seqno EQ wa_ppopx-seqno AND
postnum EQ wa_ppopx-postnum.
MOVE-CORRESPONDING wa_ppopx TO wa_ppoix.
IF wa_ppoix-actsign <> 'A'.
wa_ppoix-betrg = - wa_ppoix-betrg.
wa_ppoix-anzhl = - wa_ppoix-anzhl.
ENDIF.
APPEND wa_ppoix TO t_ppoix.
DELETE ht_ppoix.
ENDLOOP.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
* check for any entries in table T_PPOIX
READ TABLE t_ppoix INTO wa_ppoix INDEX 1.
CASE syst-subrc.
* everthing ok, continue
WHEN 0.
* exit and set err. mess.
WHEN OTHERS.
par1 = 'PPOIX'.
par2 = 'runid'.
par3 = e_ppdhd-runid.
CALL FUNCTION 'BALW_BAPIRETURN_GET2'
EXPORTING
type = 'E'
cl = '5G'
number = '58'
par1 = par1
par2 = par2
par3 = par3
* PAR4 = ' '
* LOG_NO = ' '
* LOG_MSG_NO = ' '
* PARAMETER = ' '
* ROW = 0
* FIELD = ' '
IMPORTING
return = wa_return
wa_return-field = 'PPOIX'.
APPEND wa_return TO return.
EXIT.
ENDCASE.
CHECK i_checkno EQ 'X' OR
i_tax EQ 'X'.
CLEAR t_values.
* read payroll results, determine values
LOOP AT t_ppdit ASSIGNING <wa_ppdit>.
LOOP AT t_ppdix INTO wa_ppdix WHERE
evtyp = e_ppdhd-evtyp AND
runid = e_ppdhd-runid AND
doclin = <wa_ppdit>-doclin.
LOOP AT t_ppoix INTO wa_ppoix WHERE
runid EQ e_ppdhd-runid AND
tslin EQ wa_ppdix-linum.
* append anywhere for checkno
IF i_checkno EQ 'X'.
wa_cluster-pernr = wa_ppoix-pernr.
wa_cluster-seqno = wa_ppoix-seqno.
wa_cluster-abrj = <wa_ppdit>-abper+0(4).
wa_cluster-abrp = <wa_ppdit>-abper+4(2).
wa_cluster-actual = wa_ppoix-actsign.
wa_cluster-betrg = wa_ppoix-betrg.
wa_cluster-waers = wa_ppoix-waers.
IF <wa_ppdit>-abper IS INITIAL.
* write BONDT into field ZUONR
CALL FUNCTION 'CU_READ_RGDIR'
EXPORTING
persnr = wa_ppoix-pernr
TABLES
in_rgdir = t_rgdir.
READ TABLE t_rgdir INTO wa_rgdir WITH KEY
seqnr = wa_ppoix-seqno.
IF syst-subrc EQ 0.
<wa_ppdit>-zuonr+0(10) = wa_rgdir-bondt.
ENDIF.
ENDIF.
APPEND wa_cluster TO t_cluster.
ENDIF.
IF i_tax EQ 'X'.
* check if LGART is relevant
READ TABLE t_helpval INTO wa_helpval WITH KEY
pernr = wa_ppoix-pernr
lgart = wa_ppoix-lgart.
CASE syst-subrc.
WHEN 0.
* relevant or not
CASE wa_helpval-rel.
WHEN 'X'.
wa_cluster-pernr = wa_ppoix-pernr.
wa_cluster-seqno = wa_ppoix-seqno.
wa_cluster-abrj = <wa_ppdit>-abper+0(4).
wa_cluster-abrp = <wa_ppdit>-abper+4(2).
wa_cluster-actual = wa_ppoix-actsign.
wa_cluster-betrg = wa_ppoix-betrg.
wa_cluster-waers = wa_ppoix-waers.
IF <wa_ppdit>-abper IS INITIAL.
CALL FUNCTION 'CU_READ_RGDIR'
EXPORTING
persnr = wa_ppoix-pernr
TABLES
in_rgdir = t_rgdir.
READ TABLE t_rgdir INTO wa_rgdir WITH KEY
seqnr = wa_ppoix-seqno.
IF syst-subrc EQ 0.
<wa_ppdit>-zuonr+0(10) = wa_rgdir-bondt.
ENDIF.
ENDIF.
APPEND wa_cluster TO t_cluster.
* save values
MOVE-CORRESPONDING wa_ppoix TO wa_payroll.
wa_payroll-betrg = ABS( wa_payroll-betrg ).
APPEND wa_payroll TO t_values.
WHEN ' '.
CONTINUE.
ENDCASE.
WHEN OTHERS.
* determine values
CALL FUNCTION 'HR_COUNTRYGROUPING_GET'
EXPORTING
pernr = wa_ppoix-pernr
* TCLAS = 'A'
begda = e_ppdhd-bldat
endda = e_ppdhd-bldat
* WERKS =
IMPORTING
molga = h_molga
EXCEPTIONS
not_found = 1
OTHERS = 2
IF sy-subrc NE 0.
WRITE wa_ppoix-pernr TO par1.
CALL FUNCTION 'BALW_BAPIRETURN_GET2'
EXPORTING
type = 'E'
cl = 'HRPAYBR94'
number = '278'
par1 = par1
IMPORTING
return = wa_return.
wa_return-field = wa_ppoix-pernr.
APPEND wa_return TO return.
CONTINUE.
ENDIF.
SELECT * FROM t512w INTO wa_t512w
WHERE molga = h_molga
AND lgart = wa_ppoix-lgart
AND endda GE e_ppdhd-bldat
AND begda LE e_ppdhd-bldat.
EXIT.
ENDSELECT.
IF syst-subrc EQ 0.
IF wa_t512w-vklas+77(1) = '2'.
wa_helpval-pernr = wa_ppoix-pernr.
wa_helpval-lgart = wa_ppoix-lgart.
wa_helpval-rel = 'X'.
APPEND wa_helpval TO t_helpval.
wa_cluster-pernr = wa_ppoix-pernr.
wa_cluster-seqno = wa_ppoix-seqno.
wa_cluster-abrj = <wa_ppdit>-abper+0(4).
wa_cluster-abrp = <wa_ppdit>-abper+4(2).
wa_cluster-actual = wa_ppoix-actsign.
wa_cluster-betrg = wa_ppoix-betrg.
wa_cluster-waers = wa_ppoix-waers.
IF <wa_ppdit>-abper IS INITIAL.
CALL FUNCTION 'CU_READ_RGDIR'
EXPORTING
persnr = wa_ppoix-pernr
TABLES
in_rgdir = t_rgdir.
READ TABLE t_rgdir INTO wa_rgdir WITH KEY
seqnr = wa_ppoix-seqno.
IF syst-subrc EQ 0.
<wa_ppdit>-zuonr+0(10) = wa_rgdir-bondt.
ENDIF.
ENDIF.
APPEND wa_cluster TO t_cluster.
MOVE-CORRESPONDING wa_ppoix TO wa_payroll.
wa_payroll-betrg = ABS( wa_payroll-betrg ).
APPEND wa_payroll TO t_values.
ELSE.
wa_helpval-pernr = wa_ppoix-pernr.
wa_helpval-lgart = wa_ppoix-lgart.
wa_helpval-rel = ''.
APPEND wa_helpval TO t_helpval.
ENDIF.
ENDIF.
ENDCASE.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDLOOP.
SORT t_cluster.
DELETE ADJACENT DUPLICATES FROM t_cluster.
LOOP AT t_cluster INTO wa_cluster.
CLEAR: result_tab_us, result_tab_in.
CASE wa_t001-land1.
WHEN 'US'.
CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
EXPORTING
* CLUSTERID = 'RU'
employeenumber = wa_cluster-pernr
sequencenumber = wa_cluster-seqno
* READ_ONLY_BUFFER = ' '
* READ_ONLY_INTERNATIONAL = ' '
* ARC_GROUP = ' '
check_read_authority = ''
filter_cumulations = ''
* CLIENT =
* IMPORTING
* VERSION_NUMBER_PAYVN =
* VERSION_NUMBER_PCL2 =
CHANGING
payroll_result = result_tab_us
EXCEPTIONS
illegal_isocode_or_clusterid = 1
error_generating_import = 2
import_mismatch_error = 3
subpool_dir_full = 4
no_read_authority = 5
no_record_found = 6
versions_do_not_match = 7
error_reading_archive = 8
error_reading_relid = 9
OTHERS = 10
WHEN OTHERS.
CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
EXPORTING
* CLUSTERID = 'RU'
employeenumber = wa_cluster-pernr
sequencenumber = wa_cluster-seqno
* READ_ONLY_BUFFER = ' '
* READ_ONLY_INTERNATIONAL = ' '
* ARC_GROUP = ' '
check_read_authority = ''
filter_cumulations = ''
* CLIENT =
* IMPORTING
* VERSION_NUMBER_PAYVN =
* VERSION_NUMBER_PCL2 =
CHANGING
payroll_result = result_tab_in
EXCEPTIONS
illegal_isocode_or_clusterid = 1
error_generating_import = 2
import_mismatch_error = 3
subpool_dir_full = 4
no_read_authority = 5
no_record_found = 6
versions_do_not_match = 7
error_reading_archive = 8
error_reading_relid = 9
OTHERS = 10
ENDCASE.
IF sy-subrc NE 0.
CLEAR wa_return.
wa_return-field = wa_ppoix-pernr.
CASE syst-subrc.
WHEN '1'.
wa_return-message = 'ILLEGAL_ISOCODE_OR_CLUSTERID'.
WHEN '2'.
wa_return-message = 'ERROR_GENERATING_IMPORT'.
WHEN '3'.
wa_return-message = 'IMPORT_MISMATCH_ERROR'.
WHEN '4'.
wa_return-message = 'SUBPOOL_DIR_FULL'.
WHEN '5'.
wa_return-message = 'NO_READ_AUTHORITY'.
WHEN '6'.
wa_return-message = 'NO_RECORD_FOUND'.
WHEN '7'.
wa_return-message = 'VERSIONS_DO_NOT_MATCH'.
WHEN '8'.
wa_return-message = 'ERROR_READING_ARCHIVE'.
WHEN '9'.
wa_return-message = 'ERROR_READING_RELID'.
WHEN OTHERS.
wa_return-message = 'OTHERS'.
ENDCASE.
APPEND wa_return TO return.
CONTINUE.
ELSE.
CASE wa_t001-land1.
WHEN 'US'.
t_inter = result_tab_us-inter.
WHEN OTHERS.
t_inter = result_tab_in-inter.
ENDCASE.
APPEND t_inter.
t_tax = result_tab_us-nat-tax.
LOOP AT t_inter.
t_bt = t_inter-bt.
t_rt = t_inter-rt.
ENDLOOP.
LOOP AT t_values ASSIGNING <payroll> WHERE
pernr EQ wa_cluster-pernr.
CLEAR wa_rt.
LOOP AT t_rt INTO wa_rt WHERE
lgart EQ <payroll>-lgart.
wa_rt-betrg = ABS( wa_rt-betrg ).
IF wa_rt-betrg EQ <payroll>-betrg AND NOT
wa_rt-cntr1 IS INITIAL.
IF wa_t001-land1 EQ 'US'.
LOOP AT t_tax INTO wa_tax WHERE
cntr1 EQ wa_rt-cntr1.
EXIT.
ENDLOOP.
IF syst-subrc EQ 0.
<payroll>-cntr1 = wa_tax-cntr1.
<payroll>-taxau = wa_tax-taxau.
* determine long text
SELECT SINGLE ltext FROM t5utz INTO h_ltext
WHERE taxau = wa_tax-taxau.
IF syst-subrc EQ 0.
<payroll>-ltext = h_ltext.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDLOOP.
* check table BT abd determine check no.
IF i_checkno EQ 'X'.
LOOP AT t_bt INTO wa_bt.
APPEND wa_bt TO t_hrpay.
CASE wa_bt-zlsch.
* check
WHEN 'C'.
SELECT * FROM payr INTO wa_payr WHERE
rzawe = 'C' AND
laufd = wa_bt-dtadt AND
pernr = wa_cluster-pernr AND
seqnr = wa_cluster-seqno AND
btznr = wa_bt-btznr.
EXIT.
ENDSELECT.
IF syst-subrc EQ 0.
* store period in a field to find correlation later
wa_payr-znme4+0(4) = wa_cluster-abrj.
wa_payr-znme4+4(2) = wa_cluster-abrp.
ELSE.
CLEAR wa_payr.
wa_payr-pernr = wa_cluster-pernr.
wa_payr-rwbtr = wa_cluster-betrg.
wa_payr-waers = wa_cluster-waers.
APPEND wa_payr TO t_payr.
ENDIF.
APPEND wa_payr TO t_payr.
* bank transfer
WHEN OTHERS.
h_time = wa_bt-dtati+0(5).
h_time+5(1) = 'P'.
SELECT * FROM reguta INTO wa_reguta WHERE
laufd = wa_bt-dtadt AND
laufi = h_time.
EXIT.
ENDSELECT.
IF syst-subrc EQ 0.
APPEND wa_reguta TO t_reguta.
ENDIF.
ENDCASE.
ENDLOOP.
ENDIF.
ENDIF.
ENDLOOP.
ENDFUNCTION.Hi Sudhir,
These settings need to be done by basis people. Anyhow, you can go to the tcode RZ11 and put in these parameters mentioned in the error message. There will be documentation available for these parameters. Try to see if the defaults are not met for any of these parameters. If you find something strange, report it to the basis. The documentations in this are very helpful. Hope this helps.
Thanks and Regards
Subray Hegde -
Dear Sirs,
during loading of master data from a 4.6C SAP system to BI 7.0 SP9 I get the following error during processing (data packet).
<i>"An RFC call-up triggered the exception (ID: RSAR NO: 503) "</i>
The strange thing with this error is that it emerged today, after successfully loading master data and a subset of transaction data yesterday from same source system.
Has anyone else come across this error, and can tell us where we should look for a possible solution? (or a better error explaination).
The RFC connections works fine when testing in SM59, and was functioning yesterday. No relevant dumps in either system.Hi folks,
I am also interested in this error.
Thanks. -
CALL_FUNCTION_NOT_FOUND dump on RFC eventhough it exists and is active.
Hi,
From SRM system in a BAdi, I am calling a custom function module (RFC) which exists in remote ECC system to make certain checks.
The problem is that when the system calls the customer function module, it gives dump in ST22 as :
Runtime Errors : CALL_FUNCTION_NOT_FOUND
details as below :
What happened?
The function module "YLN_TAXCODE_SELECTION_IN" is called,
but cannot be found in the library.
Error in the ABAP Application Program
The current ABAP program "YCL_IM_LEN_TAXCODEDET_IN======CP" had to be
terminated because it has
come across a statement that unfortunately cannot be executed.
What can you do?
Note down which actions and inputs caused the error.
To process the problem further, contact you SAP system
administrator.
Using Transaction ST22 for ABAP Dump Analysis, you can look
at and manage termination messages, and you can also
keep them for a long time.
I have checked that the above Custom Function module exists and is active in ECC system.
Please give inputs and suggest.
Thanks.I tried around a little bit:
1) valid function name and valid destination: works fine
2) valid function name and destination 'NONE':
- dumps CALL_FUNCTION_REMOTE_ERROR and CALL_FUNCTION_NOT_FOUND in calling system
3) valid function name and invalid destination:
- dump CALL_FUNCTION_NO_DEST in calling system
4) invalid function name and valid destination:
- dumps CALL_FUNCTION_REMOTE_ERROR in calling system and CALL_FUNCTION_NOT_FOUND in remote system
5) valid function name and empty destination:
- dump CALL_FUNCTION_NOT_FOUND in calling system
Are you sure you don't have a typo in your function name, as in 4), and that you are calling the correct destination (not sure how many you have in your landscape)?
Thomas -
RFC calls keep old buffer tables PS and PSINFO
Hello!
I have written a BSP application for an R/3 system which is release 4.6c. For that reason, we have a stand-alone WebAS which must make RFC's to the core R/3 system to retrieve and update HR data.
Originally the RFC destination to connect to the core R/3 system from WebAS was not a trusted connection, but we ran into problems with structural authorizations where the RFC was not returning all of the data for the actual user. We found that the problem was related to the fact that the RFC destination was using a hard-coded user ID to make the connection to the R/3 HR system. That particular user ID was being used as SY-UNAME in a routine used by structural authorizations, and it wasn't finding the correct data for the User ID that was entered as the RFC user. Therefore, we made the change on the RFC destination in WebAS so that now we have the "Current User" checkbox checked, the hard-coded user ID and password has been removed, and now the "Trusted System" radio button is selected. Those changes resolved our issue with structural authorizations because now the routine has the actual user ID as SY-UNAME instead of the generic RFC user ID.
I'm not sure if the RFC trusted connection is part of this issue or not, but I wanted to provide that information.
Here is the actual issue... Several of the RFC's update different HR infotypes, and most of these use function module HR_INFOTYPE_OPERATION to insert new HR infotype records or modify existing ones, etc. We started receiving short dumps and getting strange results, and I was able to track it down to the fact that the PS and PSINFO buffer tables are not being refreshed. I was expecting that these tables would be "clean" everytime I make a new RFC call. However, this is not the case. I watched this in debugger, and I see that the PS and PSINFO tables are still filled from the last RFC whenever I make a subsequent RFC! When it finally gets to the point that dialog HR_MAINTAIN_MASTER_DATA is called, it still has the old data in these tables, so it tries to process the infotypes AGAIN. This is very bad! For one thing, the previous RFC which used HR_INFOTYPE_OPERATION might have been for an applicant number (TCLAS = 'B') and the current RFC might be for an employee number (TCLAS = 'A'). We have seen this happen, and it resulted in a short dump (it's a long story - just trust me when I say that it is causing a lot of problems!).
I was able to resolve the issue in one of my function modules by adding a call to function module HR_PSBUFFER_INITIALIZE at the beginning of the function module. However, I don't want to have to add this to the beginning of every function module that I write. Also, I think that this is a problem which needs to actually be solved instead of using a band-aid like this.
This is what I want to know - Why are these buffer tables still filled from the last RFC whenever I make the next RFC? Is this because it is set up as a "trusted" connection? Is this related to the fact that my BSP application is stateful instead of stateless? Does something need to be changed on my RFC destination configuration so that each RFC starts out with "clean" buffer tables?
Thanks in advance for whatever advice you can offer me!
ShannonI don't think this has anything to do with the trusted connection. It is because your application is stateful. If you watch in the process overview in your system you will see that with a stateful application, no only does your BSP session state remain between calls, but also you should see a thread per user for the RFC connection.
That means that the Session state is also still alive on your R/3 4.6C system for a period of time as well (RFC keep alive time). We have used this to our advantage before when building BSP applications (caching of data in Global Data of a Function Group).
However you have the opposite problem. It sounds like you would want to call the HR_PSBUFFER_INIT at the start of each transaction. If you writting this as a Classic Dynpro Transaction would you not do the same?
You might try calling RFC_CONNECTION_CLOSE as well. This should close the connection and end the state on the R/3 side. However you will have the performance overhead of reestablishing a new connection on the next call. But RFC connections seem to be very efficient. I doubt you would notice any performance difference. -
Problem passing a table parameter in rfc call using the function control
I try to pass a Table as parameter to a Function Module using the SAP.Functions library (part of SAP frontend controls) from a Visual Basic (VBA) program.
The function module has been verified to work when invoked from SAP FrontEnd Function Builder.
The SAP RFC Control is created with
Set sapFunctions=CreateObject("SAP.Functions")
Following code snippet shows how I attempt to set exports and add a table row before calling the function module:
sapFunctions.Connection = sapConnection
Set sapMaterialUpd = sapFunctions.Add("Z_SD_BAPI_SALES_DATA_UPD")
With sapMaterialUpd
<i>'set exports</i>
.Exports("PA_GLPUPDLEVEL") = "S"
.Exports("PA_VKORG") = "FI14"
<i>'append table row</i>
.Tables("IT_SALES_DATA_UPD").AppendRow
.Tables("IT_SALES_DATA_UPD")(1, "VKORG") = "FI14"
.Tables("IT_SALES_DATA_UPD")(1, "MATNR") = "W_3100"
.Tables("IT_SALES_DATA_UPD")(1, "DATBI") = "99991231"
.Tables("IT_SALES_DATA_UPD")(1, "DATAB") = "20041231"
.Tables("IT_SALES_DATA_UPD")(1, "KBETR") = "2222"
.Tables("IT_SALES_DATA_UPD")(1, "KONWA") = "EUR"
End With
<i>'call the function module</i>
If sapMaterialUpd.Call() = True Then
<i>'do something with the return tables here...</i>Else
Debug.Print sapMaterialUpd.Exception
End If
The Call() returns <b>FALSE</b> and the exception is <b>"SYSTEM_FAILURE"</b>. The connection also resets.
The local logfile that the control generates shows that an exception occurs at the point of the call:
<i>10.02.2005 17:54:20.766 Packing Parameters for Z_SD_BAPI_SALES_DATA_UPD
Packing Parameter PA_GLPUPDLEVEL.
Packing Parameter PA_VKORG.
Packing Table 0.
Packing Table 1.
10.02.2005 17:54:20.766 *** Calling RFC Function 'Z_SD_BAPI_SALES_DATA_UPD'
10.02.2005 17:54:20.986 RFC CALL status = RFC_SYS_EXCEPTION
10.02.2005 17:54:20.986 RFC Error: RFC_IO27
-Status:CODE=CM_DEALLOCATED_NORMAL STATUS=CM_NO_STATUS_RECEIVED DATA=CM_COMPLETE_DATA_RECEIVED ID=69415076
-Message:connection closed
-Internal Status:IO HANDLE=23 DRV=EXT LINE=1420 CODE=27 : GET ID=ffff LINE=861 CODE=7
10.02.2005 17:54:20.986 Function call finished.</i>
Seen next code snippet. If the Table object is not touched, the function call goes through without any problems:
sapFunctions.Connection = sapConnection
Set sapMaterialUpd = sapFunctions.Add("Z_SD_BAPI_SALES_DATA_UPD")
With sapMaterialUpd
'set exports
.Exports("PA_GLPUPDLEVEL") = "S"
.Exports("PA_VKORG") = "FI14"
'do <b>not</b> append a table row, for testing only ;-)</b>
End With
<i>'call the function module</i>
If sapMaterialUpd.Call() = True Then
<i> 'do something with the return tables here...</i>
Else
Debug.Print sapMaterialUpd.Exception
End If
This code works perfectly when calling the function. It returns TRUE and behaves normally. The function module returns descriptive response text in a table telling that the table was empty, according to the BAPI implementation.
So is there something special needed here <i>after</i> appending the table row and <i>before</i> making the Call to properly attach the table as a parameter for the function module?
Can this be a bug in the SAP RFC Control? The version of the wdtfuncs.ocx is 6206.6.45.54.
Any hints are welcome!hi All partner,
who solved this problem , I meet it too and
can't clear it.
SAPfunc := sapfunctions1.Add('z_get_sfcs_dn_mo');
SAPitab := sapfunc.tables.item ('I_DNMO');
SAPitab.appendrow; SAPitab.value(1,'MANDT') := '220';
SAPitab.Value(1,'VBELN') := '2150000001';
SAPitab.Value(1,'POSNR') := '50';
SAPitab.value(1,'MATNR') := '19-99999-00';
SAPitab.value(1,'AUFNR') := '921241512001';
SAPitab.value(1,'DEDAT') := '2005/09/09';
SAPitab.value(1,'LFIMG') := '100';
IF SAPfunc.call = true then
begin
end
else
begin
showmessage('call fail!!') ;
end;
end;
RFC source code as below
FUNCTION z_get_sfcs_dn_mo.
""Local interface:
*" TABLES
*" I_DNMO STRUCTURE ZDN_MO
data: wa type zdn_mo.
LOOP AT i_dnmo.
wa-mandt = i_dnmo-mandt.
wa-vbeln = i_dnmo-vbeln.
wa-posnr = i_dnmo-posnr.
wa-matnr = i_dnmo-matnr.
wa-aufnr = i_dnmo-aufnr.
wa-dedat = i_dnmo-dedat.
wa-lfimg = i_dnmo-lfimg.
modify zdn_mo from wa.
insert into zdn_mo values wa. --dump at here
commit work.
ENDLOOP.
T/C: ST22 error message say at
insert into zdn_mo values wa. ---dump at here
the sapfunc.call returns fail.
Message was edited by: jorry wang -
Question on service userid - for RFC call
Hi
In XI 3.0 SP18 , we are making a RFC call from XI mapping runtime - to XI's ABAP stack - RFC function module . In the RFC receiver communication channel , I tried using service user XIISUSER , XIAPPLUSER for this RFC call - I got short dumps on XI ABAP stack mentioning that these two service users do not have authorization to make RFC calls -
Does anybody out there know what service user on XI has RFC call authorization that can used to make RFC calls onto XI ABAP stack from its mapping runtime ?
Correct answers will be rewarded rightaway. Thanks for your time in advance.Hi,
u have to make entry in sld...
Hi,,
2 Introduction
Configuring IDoc adapter in Exchange Infrastructure 3.0 requires some configuration on the SAP
systems, for both XI and the backend system where the IDoc message is to be sent. These steps, although
simple, are many times missed or mis-configured, causing the delivery of messages to fail.
Since IDoc adapter uses the ABAP stack, instead of J2EE, the configuration requirements are mainly in
ABAP.
Setting up IDoc adapters requires the XI integration server to be able to communicate with the backend
SAP system, and also to make sure that the Logical System Name used when posting IDoc exists on the
backend SAP system.
3 The Step By Step Solution
The basic steps for the IDoc configuration are outline below:
1. Configure SM59 on XI to communicate to SAP backend system.
2. Configure port on XI for IDoc communication.
3. Create or verify the Logical System Name on the SAP backend system.
4. Create or verify business system in XIs System Landscape Directory.
5. Verify the Logical System Name of the business system.
6. Verify or add the Logical System Name for the sender business system.
7. Create/configure the Communication Channel for the IDoc receiver adapter
3.1 Configure SM59 on XI to communicate to SAP backend system.
1. Using transaction SM59, create an RFC destination with Connection Type = 3.
In this example, the RFC destination name is NDVCLNT510.
2. Enter the logon information:
3. Test the connection by clicking on Testing connection and Remote logon.
Both must be successful.
3.2 Configure port on XI for IDoc communication.
4. Go to transaction IDX1 on XI, and create a port. In this example, the Port name is SAPNDV.
The Port name must be in the form of SAPxxx, where xxx is the system ID of the backend SAP
system.
The Client must be the client number of the backend SAP system.
Select the RFC Destination which was created in the previous step.
3.3 Create or verify the Logical System Name on the SAP backend system.
5. Enter transaction SALE on the SAP backend system.
6. Create or verify the Logical System Name. In our example, NDVCLNT510 is verified.
3.4 Create or verify business system in XIs System Landscape Directory.
The business system name for the SAP backend system must contain a valid Logical System Name. This Logical System Name is the one verified or created in the previous step.
7. In the System Landscape Directory, select the SAP backend business system. If one does not exist, then create the business system. Verify the Logical System Name.
3.5 Verify the Logical System Name of the business system.
8. In the Integration Directory, doubleclick on the business system (in our example, it is NDVCLNT510).
Navigate the menu:
Service Adapter Specific Identifiers.
If information is empty or incorrect, then it will have to be synchronized with the content of the System Landscape Directory. Follow the steps below for synchronization.
9. (Optional) Synchronization of the business system in Integration Directory to the business system in System
Landscape Directory.
Double-click on the business system in the Integration Directory.
Switch to Edit mode.
Select menu: Service Adapter-Specific Identifiers
10. (Optional) Within the dialog box, click on the button as indicated below to resynchronize.
11. (Optional) If the expected data from the System Landscape Directory is not updated, then the SLD cache may need to be cleared first.
3.7 Create/configure the Communication Channel for the IDoc receiver adapter.
15. In the Integration Directory, create an IDoc receiver communication channel.
The RFC Destination is from step 3.1.
The Port is from step 3.2.
NOTE:
There is no need to create an IDoc sender Communication Channel for XI. Instead, the backend SAP system must be configure to send the IDoc to XI.
4 Appendix
Transaction: IDX2
There are a couple of situation where IDX2 can be useful on the XI system.
1. When we want to test connection between the XI and SAP backend system.
2. When an IDoc has changed, and the meta data stored in XI needs to be update. When an IDoc is sent from the SAP backend system to XI, XI will first check to see if the meta data for the IDoc is already in its persistent cache. If not, then XI will use the configuration in IDX1 to retrieve the IDoc meta data from the backend system. If the
meta is already in cache, then it will NOT do so. Therefore, when an IDoc has changed, it is necessary to manually update the new meta data on XI, or delete it from the cache, so that the latest version can be retrieved. IDX2 is used for this purpose.
Go to transaction IDX2 and click on Create.
Enter the IDoc Type and the Source Port as defined in step #2. Click Continue.If successful, the following will show up. If error occurs, then the IDX1 configurations will need to be re-checked.
Reward points if find useful. -
RFC call do not return any value
Hi All,
I have an RFC written in one R/3 system(call center R/3) and i am calling this RFC in the ERP system.
If i try to run the RFC locally in the call center system ,it runs correctly and returns me proper values.
But when i try to call it from other R/3 system(ERP) the RFC does not return value.(both cases i am passing same parameters).
Also , RFC parameters are defined with pass by value option.
I am not able to trace why this behaviour,can anyone pin point what could be the possible cause of error.
Thanks in advance,
SwatiNo ,there i snot RFC connection problem ,i have checked it from SM59.
Neither do i get any dump or error of no authorization.In fact the sy-subrc after the RFC call is 0.
St22 do not have any trace for the same.
my RCC call is something like this,
IF dest <> ' '.
CALL FUNCTION 'Z_GET_CIC061' DESTINATION dest
EXPORTING
p_comp = itab_cic-company
p_asc_code = itab_cic-customer
p_wbill_no = itab_cic-bill_no
IMPORTING
e_tr_no = tr_no
e_model_code = model_code
e_data_origin = data_origin
EXCEPTIONS
communication_failure = 1
system_failure = 2.
ELSE.
MESSAGE i000 WITH 'RFC Destination is empty!'.
EXIT.
ENDIF.
Can anyone please suggest whats wrong in the above code.
Also what is transaction RFC call?is it related to what i am using in the above code of mine.
Thanks in advance,
Swati -
We are having a unique problem in upgrade BW system. We have several RFC function calls in start routine and abap programs to R/3 and APO systems. After the upgrade these calls are not working in background. When we run the program online/dialog the RFC calls are fine and we get the data back. But when run in background we get CALL_FUNCTION_REMOTE_ERROR with "Name or password is incorrect. Please re-enter" message in the dump.
We have checked the RFC destination password for ALEREMOTE and they are okay. We have even tried all upper case or all lower case password options but still does not work. It seems like RFC call in background from BI 70 to non-70 (APO 3.0), the system is not passing the password in right format or something related to encryption problem.
We came across following links but not sure if it applies. Any input on this topic is appreciated.
Note: 792850
http://help.sap.com/saphelp_nw04s/helpdata/en/52/6717ed439b11d1896f0000e8322d00/frameset.htm
Regards
-BalaMichael,
It is not the problem with the user. All or any user - works fine when run online and fails in the background.
Regards
-Bala -
Finding caller program in a RFC call
Hi experts,
We are having lots of CALL_FUNCTION_NOT_FOUND short dumps in one of our systems. The errors are caused because other systems call a function that does not exist, so the dumps are created.
What we would like to know is what program is doing these calls, since all we can see in the short dump is the caller system and the function it is trying to access, but not the exact program where the call is performed so we can fix the code.
Thanks in advance for your support.Sorry if this is too much of a wall of text, I can't find an "attach file" type feature.
ABAP runtime errors CALL_FUNCTION_NOT_FOUND
Occurred on 11.12.2006 at 10:04:34
Function module "Y_EF_DETERMINE_PICTURE" not found.
What happened?
The function module "Y_EF_DETERMINE_PICTURE" was called, but cannot be
found in the Function Library.
The current ABAP/4 program "SAPMSSY1 " had to be terminated because
one of the statements could not be executed.
This is probably due to an error in the ABAP/4 program.
What can you do?
Note the actions and input that caused the error.
Inform your SAP system administrator.
You can print out this message by choosing "Print". Transaction ST22
allows you to display and manage termination messages, including keeping
them beyond their normal deletion date.
Error analysis
The program "SAPMSSY1 " contains a CALL FUNCTION statement. The name
of the function module to be called is "Y_EF_DETERMINE_PICTURE".
No function module exists with the name "Y_EF_DETERMINE_PICTURE".
All function modules are stored in the Function Builder (SE37).
Possible reasons:
a) Wrong name specified. Particular attention should be paid
to upper/lower case and underscores ("_").
or
b) Transport error
c) In the case of an enqueue/dequeue module, the lock object
may not have been activated (ABAP Dictionary).
How to correct the error
Check the last transports to the R/3 System.
Is the program "SAPMSSY1 " currently being changed?
If an enqueue/dequeue module is involved, is the activation
of the lock object missing in the ABAP/4 Dictionary?
If the error occurred in a non-modified SAP program, you may be
able to find a solution in the SAP note system.
If you have access to the note system yourself, use the following
search criteria:
"CALL_FUNCTION_NOT_FOUND"
"SAPMSSY1 " or "SAPMSSY1 "
"REMOTE_FUNCTION_CALL"
Function modules with names similar to "Y_EF_DETERMINE_PICTURE":
Y_EF_USEX_DETERMINE_TAX
Y_GF1_DETERMINE_RECTYPE
Y_GK_DETERMINE_PRCTR
Y_EF_USEX_PICTURE_SUBMIT
Y_EF_USEX_SHOW_PICTURE
Y_EF_RFC_PICTURE_POST
Y_GF1_DETERMINE_SBU
Y_GF_DETERMINE_VERSION
Y_GF_DETERMINE_DATE_PREVMON
Y_GF1_DETERMINE_CURRENT_PERIOD
If you cannot solve the problem yourself, please send the
following documents to SAP:
1. A hard copy print describing the problem.
To obtain this, select the "Print" function on the current screen.
2. A suitable hardcopy prinout of the system log.
To obtain this, call the system log with Transaction SM21
and select the "Print" function to print out the relevant
part.
3. If the programs are your own programs or modified SAP programs,
supply the source code.
To do this, you can either use the "PRINT" command in the editor or
print the programs using the report RSINCL00.
4. Details regarding the conditions under which the error occurred
or which actions and input led to the error.
System environment
SAP Release.............. "46C"
Application server....... "sapgp1s"
Network address.......... "52.99.71.21"
Operating system......... "AIX"
Release.................. "5.3"
Hardware type............ "00C4449E4C00"
Database server.......... "sapgp1s"
Database type............ "DB6"
Database name............ "GP1"
Database owner........... "SAPR3"
Character set............ "en_US.ISO8859-1"
SAP kernel............... "46D"
Created on............... "Aug 26 2005 22:40:31"
Created in............... "AIX 1 5 0056AA8A4C00"
Database version......... "DB6_71 "
Patch level.............. "2113"
Patch text............... " "
Supported environment....
Database................. "DB6 06., DB6 07., DB6 08.*"
SAP database version..... "46D"
Operating system......... "AIX 1 4, AIX 2 4, AIX 3 4, AIX 1 5, AIX 2 5, AIX 3
5, , System build information:, -
, LCHN :
User, transaction...
Client.............. 000
User................ "SAPSYS"
Language............ "E"
Transaction......... " "
Program. ........... "SAPMSSY1 "
Screen. ............ "SAPMSSY1 3004"
Line of screen...... 2
Information about Remote Function Call (RFC) Caller:
System.............. "WP1 "
Database release.... "46C "
Kernel release. .... "46D "
Connection type. ... "3 " (2 = R/2, 3 = R/3, E = Extern, R = Reg.
Call type........... "S-" (S = synch., a/A = asynch., T = transactional
Client.............. 510
User................ "PC1706 "
Transaction......... "/COCKPIT/1 "
Function module..... "Y_EF_DETERMINE_PICTURE"
Call destination.... "GP1590"
Source server....... "wsdux44_WP1_10"
Source IP address... "52.99.71.124"
Additional information about RFC logon:
Trusted relationship " "
Logon return code... " "
Trusted return code. " "
Note: In Releases earlier than 4.0, some of the above information about
RFC calls may not be available.
Information on where termination occurred
The termination occurred in the ABAP/4 program "SAPMSSY1 " in
"REMOTE_FUNCTION_CALL".
The main program was "SAPMSSY1 ".
The termination occurred in line 67
of the source code of program "SAPMSSY1 " (when calling the editor 670).
Source code extract
000370 ENDMODULE.
000380
000390 MODULE %_RFCDIA_CALL OUTPUT.
000400 "Do not display screen !
000410 CALL 'DY_INVISIBLE_SCREEN'.
000420 PERFORM REMOTE_FUNCTION_DIACALL.
000430 ENDMODULE.
000440
000450 MODULE %_CPIC_START.
000460 IF SY-XPROG(4) = '%RFC'.
000470 PERFORM REMOTE_FUNCTION_CALL USING RFCTYPE_EXTERNAL_CPIC.
000480 ELSE.
000490 CALL 'APPC_HD' ID 'HEADER' FIELD HEADER ID 'CONVID' FIELD CONVID.
000500 PERFORM CPIC_CALL USING CONVID.
000510 ENDIF.
000520 ENDMODULE.
000530
000540
000550 FORM CPIC_CALL USING CONVID.
000560 COMMUNICATION SEND ID CONVID BUFFER HEADER.
000570 IF SY-SUBRC EQ 0.
000580 PERFORM (SY-XFORM) IN PROGRAM (SY-XPROG).
000590 ELSE.
000600 MESSAGE A800.
000610 ENDIF.
000620 ENDFORM.
000630
000640
000650 FORM REMOTE_FUNCTION_CALL USING VALUE(TYPE).
000660 DO.
CALL 'RfcImport' ID 'Type' FIELD TYPE.
000680 PERFORM (SY-XFORM) IN PROGRAM (SY-XPROG).
000690 RSYN >SCONT SYSC 00011111 0.
000700 ENDDO.
000710 ENDFORM.
000720
000730 FORM REMOTE_FUNCTION_DIASTART.
000740 DO.
000750 CALL 'RfcImport' ID 'Type' FIELD RFCTYPE_RFCDIA.
000760 PERFORM (SY-XFORM) IN PROGRAM (SY-XPROG).
000770 "Parking position for next request
000780 RSYN >SCONT SYSC 00011111 10.
000790 "ALternativ : Free mode
000800 "COMMIT WORK.
000810 "SYSTEM-CALL FREE MODE 0.
000820 ENDDO.
000830 ENDFORM.
000840
000850 FORM REMOTE_FUNCTION_DIACALL.
000860 SY-XCODE = '%_@no@'.
Contents of system fields
SY field contents..................... SY field contents.....................
SY-SUBRC 0 SY-INDEX 1
SY-TABIX 0 SY-DBCNT 0
SY-FDPOS 0 SY-LSIND 0
SY-PAGNO 0 SY-LINNO 1
SY-COLNO 1
Chosen variables
Name.......................... Contents.1........2........3....+....4
SY-XPROG
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
SY-XFORM Y_EF_DETERMINE_PICTURE
554454454544445544555422222222
9F56F45452D9E5F093452500000000
%_SPACE
0
0
SY-MSGID
22222222222222222222
00000000000000000000
EBC_TO_ASC-X05 P&QéRêSëTèUíVîWïXìY~ZÜ[$*])^;_^
525E5E5E5E5E5E5E5E575D5252525355
06192A3B485D6E7F8C9EACB4CAD9EBFE
RFCTYPE_QUEUE 6
0000
0006
%_PRINT 000
2222333222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 40
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 80 0 ########
2222222222320000000022222222222222222222
0000000000000000000000000000000000000000
... + 120
22222222
0000000
SY-MSGNO 000
333
000
EBC_TO_ASC-X04 @ A BâC{DàEáFãGåHçIñJÄK.L<M(N+O!
424A4E474E4E4E4E4E4F4C4243424242
0010223B405163758791A4BECCD8EBF1
SY-MSGV1
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 40
2222222222
0000000000
SY-MSGV2
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 40
2222222222
0000000000
SY-MSGV3
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 40
2222222222
0000000000
SY-MSGV4
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 40
2222222222
0000000000
%_?NOT_ASSIGNED?
2222
0000
SPACE
2
0
SY-REPID SAPMSSY1
5454555322222222222222222222222222222222
310D339100000000000000000000000000000000
TYPE 3
0000
0003
SYST ########################################
0000000000000000000000000000000000000000
0001000000000000000000000000000000000000
... + 40 ########################################
0000000000000000000000000000000000000000
0000000000010000000100000000000000000000
... + 80 ########################################
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
... + 120 #######################################T
00000000
0000000
Active calls / events
No.... Type........ Name..........................
Programm
Include Line
1 FORM REMOTE_FUNCTION_CALL
SAPMSSY1
SAPMSSY1 67
2 MODULE (PBO) %_RFC_START
SAPMSSY1
SAPMSSY1 31
Internal notes
The termination occurred in the function "link_rfdir" of the SAP
Basis System, specifically in line 165 of the module
"//bas/46D/src/krn/runt/ablink.c#3".
The internal operation just processed is "CALY".
The internal session was started at 20061211100434.
Active calls in SAP kernel
=> 64 bit R/3 Kernel
=> 64 bit AIX Kernel
=> Heap limit = unlimited
=> Stack limit = unlimited
=> Core limit = 51200000
=> File size limit = unlimited
=> Heap address = 0x118dba360
=> Stack address = 0xfffffffffff5d50
=> Stack low = 0xfffffffffff5d50
=> Stack high = 0xffffffffffff600
=> Stack Trace:
AixStack() at 0x100059364
CTrcStack2() at 0x10005945c
rabax_CStackSave() at 0x10003959c
ab_rabax() at 0x1000425b4
link_rfdir() at 0x100540418
ab_link() at 0x100540a18
ab_rfcimport() at 0x1005f49f0
ab_jcaly() at 0x100024560
ab_extri() at 0x100487474
ab_xevent() at 0x10059c804
ab_dstep() at 0x10043bd98
dynpmcal() at 0x100942f94
dynppbo0() at 0x100941320
dynprctl() at 0x100948f40
dynpen00() at 0x1008f7818
Thdynpen00() at 0x1001429f4
TskhLoop() at 0x100146368
tskhstart() at 0x1001576ac
DpMain() at 0x100e06e38
main() at 0x100de72f4
List of ABAP programs affected
Type
Program
Gen. date time
LoadSize
Prg
SAPMSSY1
04.01.2000 19:06:59
20480
List of internal tables
No dump information available
Directory of application tables (contents)
Program
Name.......... Contents.1........2........3....+....
Directory of data areas (administration information)
Program
No.. Name.......... Lgth Ofsg Type Next Gen date Gen time
SYST
L not assigned -15 0 IN
M /%_LISTTABLE -14 1 CO 0
T global stack -13 1 2 GL 0
SAPMSSY1
A global data 0 3 DA
L constant dat 1 4 LI .0 .0216
L constant dat 2 5 LI SSY .0 .018B
L not assigned 3 6 IN
L SYST 4 7 TA 0
L SY 5 8 TA
L RSJOBINFO 6 9 TA
M /%_SYS%% 7 0 CO
M field symbol 8 1 FS
L TCPIC 9 2 TA
M field symbol 10 3 FS
L text pool 11 4 TP
Directory of data areas (contents)
Program
No.. Name.......... Contents..1........2........3....+....
SYST
L not assigned 0
L text pool 102 |SAPMSSY1
ABAP control blocks CONT
Include Line source code
Index Name F1 Co Par01 Par2. Par3. Par4. Tabl
SAPMSSY1 60 MESSAGE A800.
215 CLEA 00 84
216 CLEA 00 85
217 MESS 00 27
SAPMSSY1 62 ENDFORM.
218 ENDF 00
219 -
223 -
SAPMSSY1 65 FORM REMOTE_FUNCTION_CALL USIN
227 PERP 00 1
228 PERP 02
SAPMSSY1 66 DO.
229 WHIL 00 2
233 WHIL 00 3
237 BRAN 05 Branch to 251
SAPMSSY1 67 CALL 'RfcImport' ID 'Type' FIE
238 CALY 00 3 86 70 71 71
>>>>> CALY 02 87 P0
SAPMSSY1 68 PERFORM (SY-XFORM) IN PROGRAM
246 xper 02 12 13
248 PERP 80
SAPMSSY1 69 RSYN >SCONT SYSC 00011111 0.
249 SYSC 1F
SAPMSSY1 70 ENDDO.
250 BRAX 00 Branch to 233
251 WHIL 00 4
SAPMSSY1 71 ENDFORM.
255 ENDF 00
256 -
End of runtime analysis -
Program making a RFC call to Function Module not working in background
Hi All,
I have an ABAP Program which is used to do a reconciliation check between the R/3 and BI system for Invoice Data. Please find below the details of the program flow:
1. Program counts the number of records in the DSO table and aggregates the Net_Value based on the date range (passed as parameters)
2. Program calls a Function Module (RFC Call) which counts the number of records in the R/3 table and aggregates the Net_Value for the same date range
3. Function Module Passes back the count values and aggregated Net_Value to the program
4. Program compares the count and aggregated Net_Value from EDWH and MSP systems and sends an email mentioning whether the counts match or not
However we are facing an issue.
Whenever, we execute the program in dialog mode, it works fine and fetches results within 5-6 minutes. However if we schedule the program to run in background (parameters through a variant), it gives no results even after running for over 3-4 hours. We tried figuring it out yesterday but could not come to any conclusion. Since there is a RFC call being to the function module, we were wondering if we need to specify some other parameter as well.
Thanks & Regards
DharmendraRFC Call is a procedure for executing remote enables function modules. It is done via the 'Remote Enabled' radio button on the function module's attribute screen.
Maybe you are looking for
-
Changes are not reflecting in other users
HI all it's urgent One user abcd who had made some changes is not reflecting to other users after transport, we have 2 clients 100 and 200 ,changes are reflecting in own user id ,we transported with scc1 transaction with regards vinod
-
Not able to scroll thru text longer than text field in Safari
Though long press and drag seems to work in other apps, in Safari, I am not able to scroll within a text field (when there is more text that the field can show at a time) . E.g on google Search box (web page). Any tips?
-
Export Sounds Completely Different Than What Is Heard Before Mixdown
Hey everyone, So I've been recording a band as of recent and been starting to understand the in's and out's of GarageBand. However, I can't seem to figure out why this is happening. I've been working on one song (all tracks except the drums are real
-
Suppressing IE Address Bar (Location Bar) - Weird event
Hi. We use the following code to call other stand-alone web forms from a single, main application. Each application has it's own web.show_document code. In the example below a call to a form name 'dropper_em' is called. It also passes the username an
-
USB 8451: Is the timeout controllable when doing a I2CREAD I2CWRITE?
Sorry if this isn't in the correct board. I am using the NI USB-8451 to do I2C communication to talk to multiple devices. I would like to put some functionality into my program to build up a list of devices that are connected on the bus. It will at