Hi Gita,
I have modified your code and I think in the check for parameter P_INSTNO you have missed a space. could you try below code and see if it works:
TABLES: EWOSS.
DATA: L_EV_RFC_OPTIONS LIKE RFCDES-RFCOPTIONS.
DATA:
d_gateway1ip LIKE rfcopt-rfchost ,
d_gateway1instanz LIKE rfcopt-rfcservice ,
d_gateway2ip LIKE rfcopt-rfchost ,
d_gateway2instanz LIKE rfcopt-rfcservice ,
d_sapservxip LIKE rfcopt-rfchost ,
d_sapservxinstanz LIKE rfcopt-rfcservice ,
d_oss_servname LIKE rfcopt-rfchost ,
d_oss_servinstanz LIKE rfcopt-rfcservice .
SELECTION-SCREEN BEGIN OF BLOCK Router WITH FRAME TITLE Router.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(15) Destin FOR FIELD p_dest.
PARAMETERS: p_dest TYPE EWOSS-SR1NAME.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(15) Ipadd FOR FIELD p_ipaddr.
PARAMETERS: p_ipaddr TYPE EWOSS-SR1IP.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(15) Instno FOR FIELD p_instno.
PARAMETERS: p_instno TYPE EWOSS-SR1INST.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK Router.
INITIALIZATION.
Router = 'SAPルータ'.
Destin = '名称'.
Ipadd = 'IP アドレス'.
Instno = 'Instance no.'.
AT SELECTION-SCREEN OUTPUT.
SELECT SINGLE * FROM ewoss WHERE dummykey = space.
IF sy-subrc = 0.
IF p_dest = space.
SET CURSOR FIELD 'P_DEST'.
MESSAGE 'サーバ名を指定してください' TYPE 'S' DISPLAY LIKE 'E'.
* LEAVE LIST-PROCESSING.
ELSE.
EWOSS-SR1NAME = p_dest.
ENDIF.
IF ( p_ipaddr CN '0123456789. ' ) OR ( p_ipaddr = space ).
SET CURSOR FIELD 'P_IPADDR'.
MESSAGE 'IPアドレスを指定してください' TYPE 'S' DISPLAY LIKE 'E'.
* LEAVE LIST-PROCESSING.
ELSE.
EWOSS-SR1IP = p_ipaddr.
ENDIF.
IF ( p_instno CN '0123456789 ' ).
SET CURSOR FIELD 'P_INSTNO'.
MESSAGE 'インスタンス番号を指定してください' TYPE 'S' DISPLAY LIKE 'E'.
* LEAVE LIST-PROCESSING.
ELSE.
EWOSS-SR1INST = p_instno.
ENDIF.
ENDIF.
IF EWOSS IS NOT INITIAL.
MODIFY ewoss.
IF SY-SUBRC <> 0.
WRITE: 'NG'.
ELSE.
d_gateway1ip = EWOSS-SR1IP.
d_gateway1instanz = EWOSS-SR1INST.
d_gateway2ip = EWOSS-SR2IP .
d_gateway2instanz = EWOSS-SR2INST.
d_sapservxip = EWOSS-SAPXIP.
d_sapservxinstanz = EWOSS-SAPXINST.
d_oss_servname = EWOSS-OSSNAME.
d_oss_servinstanz = EWOSS-OSSINST.
* Function module to update the RFC destination
CALL FUNCTION 'EPS_UPDATE_RFC_DESTINATION'
EXPORTING
IV_ROUTER_1 = d_gateway1ip
IV_SERVICE_1 = d_gateway1instanz
IV_ROUTER_2 = d_gateway2ip
IV_SERVICE_2 = d_gateway2instanz
IV_ROUTER_SAP = d_sapservxip
IV_SERVICE_SAP = d_sapservxinstanz
IV_HOST_OSS = d_oss_servname
IV_SERVICE_OSS = d_oss_servinstanz
IMPORTING
EV_RFC_OPTIONS = L_EV_RFC_OPTIONS
EXCEPTIONS
ROUTER_PATH_TOO_LONG = 1
INVALID_ARGUMENTS = 2
UPDATE_FAILED = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
WRITE: 'NG'.
ELSE.
WRITE: 'OK'.
ENDIF.
ENDIF.
ELSE.
WRITE: 'NG'.
ENDIF.
END-OF-SELECTION.
Thanks,
Naveen