Interoduction

This Post is about to Create AR Transaction/Invoice adjustment(API)

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;

—–++—————————————————————————++———————–

After  Round Off Apply. The Transaction possibly looks like this below.

Here the adjustment applied successfully and transaction amount has been rounded off.

Summary

This Post described about to Create AR Transaction/Invoice adjustment(API) in Oracle EBS R12.

 

Got any queries?

Do drop a note by writing us at doyen.ebiz@gmail.com or use the comment section below to ask your questions.

 

Recent Posts

Start typing and press Enter to search