DECLARE L_CR_ID NUMBER; L_ATTRIBUTE_REC AR_RECEIPT_API_PUB.ATTRIBUTE_REC_TYPE; L_GLOBAL_ATT_REC AR_RECEIPT_API_PUB.global_attribute_rec_type; L_RETURN_STATUS VARCHAR2(100); L_MSG_COUNT NUMBER; L_MSG_DATA VARCHAR2(2000); I NUMBER; L_MESSAGE_LIST VARCHAR2(1000); L_MSG_INDEX_OUT NUMBER; BEGIN FND_GLOBAL.APPS_INITIALIZE(USER_ID => 1111, RESP_ID => 50737 , RESP_APPL_ID => 50737); mo_global.set_policy_context('S', 142); AR_RECEIPT_API_PUB.REVERSE( P_API_VERSION => 1.0, P_COMMIT => 'F', P_VALIDATION_LEVEL => 100, P_CASH_RECEIPT_ID => 1000, P_REVERSAL_DATE => fnd_conc_date.string_to_date('2017-03-31'), P_REVERSAL_GL_DATE => fnd_conc_date.string_to_date('2017-03-31'), P_REVERSAL_CATEGORY_CODE => 'REV', P_REVERSAL_REASON_CODE => 'PAYMENT REVERSAL', P_REVERSAL_COMMENTS => 'TEST', X_RETURN_STATUS => L_RETURN_STATUS, X_MSG_COUNT => L_MSG_COUNT, X_MSG_DATA => L_MSG_DATA); IF L_RETURN_STATUS <> FND_API.G_RET_STS_SUCCESS THEN FOR I IN 1..L_MSG_COUNT LOOP FND_MSG_PUB.GET(P_MSG_INDEX => I ,P_DATA => L_MESSAGE_LIST ,P_MSG_INDEX_OUT => L_MSG_INDEX_OUT); DBMS_OUTPUT.PUT_LINE(L_MESSAGE_LIST); END LOOP; ELSE DBMS_OUTPUT.PUT_LINE(L_CR_ID); DBMS_OUTPUT.PUT_LINE(L_RETURN_STATUS); DBMS_OUTPUT.PUT_LINE('L_MSG_DATA '||L_MSG_DATA); END IF; END;