Error when opening an RFC connection (CPIC-CALL: 'ThCPICArgs' Illegal CONVID )

Symptom

RFC Destination (normally, involved RFC is CALLTP_<OS>) fails; this can be checked by making a Connection Test on transaction SM59:
RFC.jpg

Work process trace file (dev_w<nr>) contains the following information:

   *** ERROR => ThCPICArgs: NiAddrToHost failed [thxxcpic.c   7402]
  A  RFC xxxx  CONVID xxxxxxxx
  A   * CMRC=0 DATA=0 STATUS=0 SAPRC=0 ThCPICArgs Illegal CONVID
  A  RFC> ABAP Programm: xxxxxx (Transaction: SM59)
  A  RFC> User: <user name>   (Client: <cln>)
  A  RFC> Destination: <RFC Name> (handle: 2, DtConId:     
 5550D4F5B2C906E0E10080000AC0A823, DtConCnt: 0, ConvId: ,)
  A  *** ERROR => RFC Error RFCIO_ERROR_SYSERROR in abrfcpic.c : 1792
  CPIC-CALL: 'ThCPICArgs'
  Illegal CONVID
  [abrfcio.c    9193]
 
Error shown can also be:

 Connection Error
 Error when opening an RFC connection (CPIC-CALL: 'ThCPICArgs' Illegal CONVID ).
 ERROR: hostname ‘hostname’  unknown
 LOCATION: SAP-Server <server_name>_<SID>_<nr> on host < server_name> (wp <nr>)
 DETAIL: NiPGetHostByAddr: ‘hostname’ not found
 Error Details CALL: getnameinfo
 

Environment

RFC is defined as Type T (TCP/IP connections), and "Technical Settings" on "Activation type" tab is configured  as  "Start on Application Server"  or “Start on Explicit Host”:

RFC2.jpg

Cause

This error is related to hostname resolution problems. It’s caused by the fact that SAP system is unable to get the hostname related to the IP address of the server, IP is not recognized.

Hostname resolution can be checked by executing a NIPING test at OS level on affected server <server_name>, by using command:
      >> niping -v

Hostname/Nodeaddr verification:
===============================
Hostname of local computer: <server_name>               (NiMyHostName)
Lookup of hostname: <server_name>                          (NiHostToAddr)
      > IP-Addr.: <server_IP_address>              
Lookup of IP-Addr.: <server_IP_Address>                    (NiAddrToHost)
      > **** FAILED ****
        (rc=-2)
Lookup of hostname: localhost                                    (NiHostToAddr)
      > IP-Addr.: 127.0.0.1
Lookup of IP-Addr.: 127.0.0.1                                     (NiAddrToHost)
      > Hostname: localhost

You can also check if an specific hostname/IP address can be resolved by executing command:
      >>  niping –v –H <hostname>

Hostname/Nodeaddr verification:
===============================
Hostname of local computer: <localhost>                           (NiMyHostName)
Lookup of hostname: <hostname>                                    (NiHostToAddr)
      > IP-Addr.: xxx.xxx.xxx.xxx
Lookup of IP-Addr.: xxx.xxx.xxx.xxx                                 (NiAddrToHost)
      > **** FAILED ****

Resolution

You need to ensure that hostname resolution (Reverse Name Lookup) is correctly working, by checking if:

  • DNS configuration is working, or 
  • etc/hosts file is correctly maintained for that ‘hostname’.

Then, clear the hostname cache from the SAP system: access the transaction SM51, Menu Goto > Host Name Buffer > Reset > Entire System.
Also clear Gateway cache by transaction SMGW, Menu Goto > Experts Functions > Host Name Buffer and click on trash button.

Incorrect text for this error has been solved in the patch level specified in Note
1890901 - Incorrect error text if RFC connection error

posted @ 2021-11-26 16:43  明大叔  阅读(1603)  评论(0编辑  收藏  举报