FORM FRM_GET_KURSK USING PV_KURST "M PV_FCURR PV_TCURR PV_PRSDT CHANGING PV_KURSK. DATA: LV_RATE LIKE BAPI1093_0, LV_RETURN LIKE BAPIRET1. CALL FUNCTION 'BAPI_EXCHANGERATE_GETDETAIL' EXPORTING RATE_TYPE = PV_KURST FROM_CURR = PV_FCURR TO_CURRNCY = PV_TCURR DATE = PV_PRSDT IMPORTING EXCH_RATE = LV_RATE RETURN = LV_RETURN. IF LV_RETURN-TYPE = 'E'. MESSAGE E000 WITH LV_RETURN-TYPE LV_RETURN-NUMBER LV_RETURN-MESSAGE. ELSEIF LV_RETURN-TYPE <> ''. PV_KURSK = LV_RATE-EXCH_RATE. MESSAGE S000 WITH LV_RETURN-TYPE LV_RETURN-NUMBER LV_RETURN-MESSAGE. ELSE. PV_KURSK = LV_RATE-EXCH_RATE. ENDIF. " 如果取不到正向汇率, 再取一次反向汇率. IF LV_RETURN-NUMBER = '024'. CALL FUNCTION 'BAPI_EXCHANGERATE_GETDETAIL' EXPORTING RATE_TYPE = PV_KURST FROM_CURR = PV_TCURR TO_CURRNCY = PV_FCURR DATE = PV_PRSDT IMPORTING EXCH_RATE = LV_RATE RETURN = LV_RETURN. IF LV_RETURN-TYPE = 'E'. MESSAGE E000 WITH LV_RETURN-TYPE LV_RETURN-NUMBER LV_RETURN-MESSAGE. ELSEIF LV_RETURN-TYPE <> ''. PV_KURSK = LV_RATE-EXCH_RATE. MESSAGE S000 WITH LV_RETURN-TYPE LV_RETURN-NUMBER LV_RETURN-MESSAGE. ELSE. PV_KURSK = LV_RATE-EXCH_RATE * -1. ENDIF. ENDIF. ENDFORM.
浙公网安备 33010602011771号