Vous êtes sur la page 1sur 6

arp_trx_complete_chk.

do_completion_checking
arxtwmai_folder7.complete_flag( event )
arp_trx_complete_chk.do_completion_checking

ARP_PROCESS_LINE.make_incomplete( p_customer_trx_id IN
ra_customer_trx.customer_trx_id%type )
make_incomplete( p_customer_trx_id IN
ra_customer_trx.customer_trx_id%type )

make_incomplete( p_customer_trx_id IN
ra_customer_trx.customer_trx_id%type )

ARP_TRX_COMPLETE_CHK.do_completion_checking(
p_customer_trx_id IN
ra_customer_trx.customer_trx_id%type,
p_so_source_code IN varchar2,
p_so_installed_flag IN varchar2,
p_error_count OUT NOCOPY number
);

arxtwmai_folder.complete_flag( event IN varchar2 ) IS


BEGIN
-- debug('complete_flag()+ ' || event );
arxtwmai_folder7.complete_flag( event );
-- debug('complete_flag()- ' || event );
END;

arxtwmai_folder_db.lock_header('COMPLETE');
arp_trx_complete_chk.do_completion_checking(
art_context.pg_customer_trx_id,
oe_profile.value('OE_SOURCE_CODE'),
Name_In('ar_world.so_installed_flag'),
'STANDARD',
l_error_count,
'N' );

********************************************************************************
****

PROCEDURE complete_flag( event IN varchar2 ) IS


l_error_count number;
l_response number;
l_line_number number;
l_gl_tax_code varchar2(50) := NULL;
l_tax_enforce_flag BOOLEAN := TRUE;
l_validation_status BOOLEAN := TRUE;
/* bug 2874057-4024598 */
l_cust_trx_id ra_customer_trx.customer_trx_id%TYPE;
l_doc_sequence_id ra_customer_trx.doc_sequence_id%TYPE;
l_doc_sequence_value ra_customer_trx.doc_sequence_value%TYPE;
BEGIN
ar_common.debug('arxtwmai_folder7.complete_flag('||event||')+');
IF ( event IN ( 'WHEN-CHECKBOX-CHANGED', 'WHEN-BUTTON-PRESSED') )
THEN
copy('N','tgw_header.recalc_tax_flag');
IF (
Name_In('tgw_header.complete_flag') = 'Y'
OR event = 'WHEN-BUTTON-PRESSED'
)
THEN
/*-------------------------------------------------+
| Determine if the transaction can be completed |
+-------------------------------------------------*/
BEGIN
/*---------------------------------------+
| Make sure that nothing has changed |
| since the last post. |
+---------------------------------------*/
BEGIN
arxtwmai_folder_db.lock_header('COMPLETE');
EXCEPTION
WHEN OTHERS THEN
fnd_message.Set_Name('AR', 'AR_POST_BEFORE_COMPLETE');
fnd_message.error;
RAISE FORM_TRIGGER_FAILURE;
END;
/* PAYMENT_UPTAKE */
IF NAME_IN('tgw_header.receipt_method_id') IS NOT NULL AND
NAME_IN('tgw_header.payment_trxn_extension_id') IS NULL
THEN
fnd_message.Set_Name('AR', 'AR_INSTR_INFO_MANDATORY');
fnd_message.error;
RAISE form_trigger_failure;
END IF;

/* 5488023 - Do not check tax here. It is performed in


arxtwmai_folder_block.tgw_header(ON-UPDATE) */
arp_trx_complete_chk.do_completion_checking(
art_context.pg_customer_trx_id,
oe_profile.value('OE_SOURCE_CODE'),
Name_In('ar_world.so_installed_flag'),
'STANDARD',
l_error_count,
'N' );
IF ( l_error_count > 0 ) THEN
fnd_message.Set_Name('AR', 'AR_TW_CANT_COMPLETE');
fnd_message.set_token( 'NUMBER_OF_ERRORS', TO_CHAR(l_error_count));
fnd_message.error;
RAISE FORM_TRIGGER_FAILURE;
ELSE
arxtwmai_form.set_save_pending_flag(TRUE);
END IF;

EXCEPTION
WHEN OTHERS THEN
RAISE;
END;
END IF;

/* Bug 2874057-4024598
We can complete a trx without saving it. We need to
generate a doc seq and update the table.
After that, if the "copy document to transaction number" flag is
checked
in batch source, then we need to query up this doc seq and then u
pdate
tgw_header.OLD_TRX_NUMBER and tgw_header.TRX_NUMBER. */
IF NAME_IN('AR_WORLD.ar_unique_seq_numbers') IN ('A','P')
AND NAME_IN('TGW_HEADER.DOC_SEQUENCE_VALUE') IS NULL
THEN
ar_common.debug('about to generate doc seq and update trx number.
...');
l_cust_trx_id := TO_NUMBER(NAME_IN('tgw_header.customer_trx_id'))
;
arxtwmai_db_insert.gt_doc_seq_table(l_cust_trx_id).cust_trx_id :=
l_cust_trx_id;
arxtwmai_docseq.generate_doc_number( l_cust_trx_id,
NAME_IN('tgw_header.ctt_type_nam
e'),
app_date.field_to_date('tgw_head
er.trx_date'),
l_doc_sequence_id ,
l_doc_sequence_value);
IF l_doc_sequence_value IS NOT NULL THEN
arxtwmai_docseq.pg_doc_seq_upd := 'Y';
COPY(l_doc_sequence_id, 'tgw_header.doc_sequence_id');
COPY(l_doc_sequence_value, 'tgw_header.doc_sequence_value');
arxtwmai_docseq.pg_doc_seq_upd := 'N';
ELSIF arxtwmai_docseq.pg_seq_num_profile = 'A' THEN
FND_MESSAGE.SET_NAME ('FND', 'UNIQUE-ALWAYS USED');
FND_MESSAGE.ERROR;
RAISE form_trigger_failure;
END IF;
arxtwmai_db_insert.gt_doc_seq_table.DELETE(l_cust_trx_id);
END IF;
/*shifted below document sequence generation code for bug 7031997*/
/* For globalization functionality */
app_globe.event('UPDATE-INV-BEFORE-COMP');
/* Document sequencing changes: copy document number to transaction
number if "copy document to transaction number" flag is checked
in batch source */
IF NVL(Name_In('TGW_HEADER.BS_COPY_DOC_NUMBER_FLAG'), 'N') = 'Y' AND
(Name_In('TGW_HEADER.DOC_SEQUENCE_VALUE') IS NOT NULL) AND
/* Bug-4162777 Commented the below condition
(Name_In('TGW_HEADER.OLD_TRX_NUMBER') IS NULL) THEN */
Name_In('TGW_HEADER.DOC_SEQUENCE_VALUE') <> Name_In('TGW_HEADER.T
RX_NUMBER') THEN
Copy( Name_In('TGW_HEADER.TRX_NUMBER'),
'TGW_HEADER.OLD_TRX_NUMBER');
Copy( Name_In('TGW_HEADER.DOC_SEQUENCE_VALUE'),
'TGW_HEADER.TRX_NUMBER');
SET_ITEM_PROPERTY( 'TGW_HEADER.TRX_NUMBER', ITEM_IS_VALID, PROP
ERTY_TRUE );
SET_ITEM_PROPERTY( 'TGW_HEADER.TRX_NUMBER_MIR', ITEM_IS_VALID,
PROPERTY_TRUE );
END IF;

/* Adding line to put 'Y' in tgw_header.complete_flag, this was


moved from the procedure ARXTWMAI_FOLDER_BUTTON_SUMMARY.summary_complete
so that it is done after completion checking -- BUG 606662
to prevent forms from freezing if completion chekcing fails
and user tries to navigate to a different record in the trx summary form */
copy('Y','tgw_header.complete_flag');
arxtwmai_folder.ps_dispute_amount_dsp('INIT');
arxtwmai_folder_buttons.header_balances('INIT');
arxtwmai_folder_buttons.header_bpa( 'INIT' );
arxtwmai_folder_button_summary.summary_overview('INIT');
arxtwmai_folder_button_summary.summary_history('INIT');
arxtwmai_folder_block_utils.cache_block_properties( event );
IF ( NAME_IN('tgw_header.update_allowed_flag') = 'TRUE' )
THEN
SET_BLOCK_PROPERTY( 'TGW_HEADER', UPDATE_ALLOWED, PROPERTY_TRUE )
;
ELSE
SET_BLOCK_PROPERTY( 'TGW_HEADER', UPDATE_ALLOWED, PROPERTY_FALSE
);
END IF;
IF ( NAME_IN('tgw_header.delete_allowed_flag') = 'TRUE' )
THEN
SET_BLOCK_PROPERTY( 'TGW_HEADER', DELETE_ALLOWED, PROPERTY_TRUE )
;
ELSE
SET_BLOCK_PROPERTY( 'TGW_HEADER', DELETE_ALLOWED, PROPERTY_FALSE
);
END IF;
app_standard.event('WHEN-NEW-RECORD-INSTANCE');
/* For globalization functionality */
app_globe.event('UPDATE-INV-AFTER-COMP');
ELSIF (event = 'PRE-RECORD' )
THEN
NULL;
-- Bug 570992: Complete checkbox is no longer enterable
/*
IF (Name_In('system.record_status') NOT IN ('NEW', 'INSERT'))
THEN
app_item_property.set_property('tgw_header.complete_flag',
ENTERABLE,
PROPERTY_ON);
app_item_property.set_property('tgw_header.complete_flag_mir',
ENTERABLE,
PROPERTY_ON);
ELSE
app_item_property.set_property('tgw_header.complete_flag',
ENTERABLE,
PROPERTY_OFF);
app_item_property.set_property('tgw_header.complete_flag_mir',
ENTERABLE,
PROPERTY_OFF);
END IF;

IF ( art_context.pg_customer_trx_id IS NOT NULL )


THEN
IF ( NAME_IN('tgw_header.created_from') IN ('ARXREV', 'REL9_AR
XREV')
OR art_context.pg_class = 'CB'
OR ar_permission.pg_complete = 'N'
OR art_context.pg_posted_flag = 'Y'
OR art_context.pg_activity_flag = 'Y'
)
THEN
app_item_property.set_property('tgw_header.complete_flag',
UPDATEABLE,
PROPERTY_OFF);
app_item_property.set_property('tgw_header.complete_flag_mir',
UPDATEABLE,
PROPERTY_OFF);
ELSE
app_item_property.set_property('tgw_header.complete_flag',
UPDATEABLE,
PROPERTY_ON);
app_item_property.set_property('tgw_header.complete_flag_mir',
UPDATEABLE,
PROPERTY_ON);
END IF;
END IF;
*/
ELSIF (event = 'MARK-AS-VALID')
THEN
Set_Item_Property('tgw_header.complete_flag',
ITEM_IS_VALID, PROPERTY_TRUE);
Set_Item_Property('tgw_header.complete_flag_mir',
ITEM_IS_VALID, PROPERTY_TRUE);
ELSE
app_exception.invalid_argument('tgw_header.complete_flag',
'EVENT', event);
END IF;
ar_common.debug('arxtwmai_folder7.complete_flag('||event||')-');
END complete_flag;

********************************************************************************
*

Vous aimerez peut-être aussi