Scope: To apply the adjustment in AR Invoice. (eg. To make AR Invoice amount roundoff).
- Before RoundOff adjustment API.
Applying Adjustment through API.
—++———————————-Code—————–++————————-
DECLARE
up_adj_rec ar_adjustments%rowtype;
up_api_name VARCHAR2(20);
up_api_version NUMBER;
up_called_from VARCHAR2(10);
up_check_amount VARCHAR2(1);
up_chk_approval_limits VARCHAR2(1);
up_commit_flag VARCHAR2(1);
up_init_msg_list VARCHAR2(1);
up_move_deferred_tax VARCHAR2(10);
up_msg_count NUMBER;
up_msg_data VARCHAR2(2000);
up_new_adjust_id ar_adjustments.adjustment_id%type;
up_new_adjust_number ar_adjustments.adjustment_number%type;
up_old_adjust_id ar_adjustments.adjustment_id%type;
up_return_status VARCHAR2(5);
up_validation_level NUMBER;
BEGIN
apps.mo_global.init (‘AR’);
apps.mo_global.set_policy_context (‘S’,204); –Pass valid Org_id
apps.fnd_global.apps_initialize(1318,50559,222); — Initiliaze the application with valid value.
up_adj_rec := NULL;
up_api_name := NULL;
up_api_version := 1.0;
up_called_from := NULL;
up_check_amount := NULL;
up_chk_approval_limits := NULL;
up_commit_flag := NULL;
up_init_msg_list := FND_API.G_TRUE;
up_move_deferred_tax := ‘Y’;
up_msg_count := 0;
up_msg_data := NULL;
up_new_adjust_id := NULL;
up_new_adjust_number := NULL;
up_old_adjust_id := NULL;
up_return_status := NULL;
up_validation_level := FND_API.G_VALID_LEVEL_FULL;
/* api- data adjustments mapping record – start */
up_adj_rec.ACCTD_AMOUNT := 0.09;
up_adj_rec.ADJUSTMENT_ID := NULL;
up_adj_rec.ADJUSTMENT_NUMBER := NULL;
up_adj_rec.ADJUSTMENT_TYPE := ‘M’;
up_adj_rec.AMOUNT := 0.09;
up_adj_rec.CREATED_BY := -1;
up_adj_rec.CREATED_FROM := ‘XXTEST_RCVRoundoff’;
up_adj_rec.CREATION_DATE := SYSDATE;
up_adj_rec.GL_DATE := SYSDATE;
up_adj_rec.LAST_UPDATE_DATE := SYSDATE;
up_adj_rec.LAST_UPDATED_BY := -1;
–up_adj_rec.POSTING_CONTROL_ID := -3;
up_adj_rec.SET_OF_BOOKS_ID := 1;
up_adj_rec.STATUS := ‘A’;
up_adj_rec.TYPE := ‘CHARGES’;
up_adj_rec.PAYMENT_SCHEDULE_ID := 561827;
up_adj_rec.APPLY_DATE := SYSDATE;
up_adj_rec.RECEIVABLES_TRX_ID := 13910; — this is rec activity
up_adj_rec.CUSTOMER_TRX_ID := 1263466; — Transaction for which adjustment is made
/* api- data adjustments mapping record – End */
AR_ADJUST_PUB.Create_Adjustment
(
p_api_name => up_api_name,
p_api_version => up_api_version,
p_init_msg_list => up_init_msg_list,
p_commit_flag => up_commit_flag,
p_validation_level => up_validation_level,
p_msg_count => up_msg_count,
p_msg_data => up_msg_data,
p_return_status => up_return_status,
p_adj_rec => up_adj_rec,
p_chk_approval_limits => up_chk_approval_limits,
p_check_amount => up_check_amount,
p_move_deferred_tax => up_move_deferred_tax,
p_new_adjust_number => up_new_adjust_number,
p_new_adjust_id => up_new_adjust_id,
p_called_from => up_called_from,
p_old_adjust_id => up_old_adjust_id
);
DBMS_OUTPUT.PUT_LINE(‘New Adjustment Number: ‘ || up_new_adjust_number);
DBMS_OUTPUT.PUT_LINE(‘New Adjustment ID: ‘ || up_new_adjust_id);
IF up_msg_count >=1 THEN
FOR I IN 1..up_msg_count LOOP
dbms_output.put_line(I||’. ‘||SUBSTR(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ), 1, 255));
END LOOP;
END IF;
END;
—–++—————————————————————————++———————–
Here the adjustment applied successfully and transaction amount has been rounded off.
Recent Posts