[Home] [Help]
823: application_short_name => 'MSC',
824: statement_type => AD_DDL.CREATE_INDEX,
825: statement =>
826: 'create index MSC_ST_ROUTING_OPER_N1_'||v_instance_code
827: ||' on MSC_ST_ROUTING_OPERATIONS '
828: ||'( sr_instance_code, assembly_name, operation_seq_code, organization_code, company_name, routing_name, alternate_routing_designator) '
829: ||' STORAGE (INITIAL 100K NEXT 1M PCTINCREASE 0) ',
830: object_name =>'MSC_ST_ROUTING_OPER_N1_'||v_instance_code);
831:
875: END;
876:
877: msc_analyse_tables_pk.analyse_table( 'MSC_ST_ROUTINGS', v_instance_id, -1);
878: msc_analyse_tables_pk.analyse_table( 'MSC_ST_OPERATION_RESOURCES', v_instance_id, -1);
879: msc_analyse_tables_pk.analyse_table( 'MSC_ST_ROUTING_OPERATIONS', v_instance_id, -1);
880: msc_analyse_tables_pk.analyse_table( 'MSC_ST_OPERATION_NETWORKS', v_instance_id, -1);
881:
882:
883: END IF;
38709: AND deleted_flag = SYS_NO;
38710:
38711: CURSOR c4(p_batch_id NUMBER) IS
38712: SELECT rowid
38713: FROM msc_st_routing_operations
38714: WHERE process_flag IN (G_IN_PROCESS,G_ERROR_FLG)
38715: AND sr_instance_code = v_instance_code
38716: AND batch_id = p_batch_id;
38717:
38716: AND batch_id = p_batch_id;
38717:
38718: CURSOR c5(p_batch_id NUMBER) IS
38719: SELECT rowid
38720: FROM msc_st_routing_operations
38721: WHERE process_flag = G_IN_PROCESS
38722: AND sr_instance_code = v_instance_code
38723: AND batch_id = p_batch_id
38724: AND NVL(operation_sequence_id,NULL_VALUE) = NULL_VALUE
38769: -- For bug 3549086
38770:
38771: CURSOR c10(p_batch_id NUMBER) IS
38772: SELECT max(rowid)
38773: FROM msc_st_routing_operations
38774: WHERE process_flag IN (G_IN_PROCESS)
38775: AND sr_instance_code = v_instance_code
38776: AND batch_id = p_batch_id
38777: AND NVL(department_id,NULL_VALUE) = NULL_VALUE
39635: END LOOP;
39636:
39637:
39638:
39639: -- Validation for MSC_ST_ROUTING_OPERATIONS
39640:
39641:
39642: --Duplicate records check for the records whose source is XML
39643:
39653:
39654: v_sql_stmt := 18;
39655:
39656: lv_sql_stmt :=
39657: 'UPDATE msc_st_routing_operations msro1 '
39658: ||' SET process_flag = '||G_ERROR_FLG||','
39659: ||' error_text = '||''''||lv_message_text||''''
39660: ||' WHERE message_id < ( SELECT max(message_id) '
39661: ||' FROM msc_st_routing_operations msro2'
39657: 'UPDATE msc_st_routing_operations msro1 '
39658: ||' SET process_flag = '||G_ERROR_FLG||','
39659: ||' error_text = '||''''||lv_message_text||''''
39660: ||' WHERE message_id < ( SELECT max(message_id) '
39661: ||' FROM msc_st_routing_operations msro2'
39662: ||' WHERE msro2.sr_instance_code = msro1.sr_instance_code'
39663: ||' AND msro2.organization_code = msro1.organization_code'
39664: ||' AND msro2.effectivity_date = msro1.effectivity_date'
39665: ||' AND NVL(msro2.routing_name,'||''''||NULL_CHAR||''''||') '
39694: END IF;
39695:
39696: v_sql_stmt := 19;
39697: lv_sql_stmt :=
39698: 'UPDATE msc_st_routing_operations msro1'
39699: ||' SET process_flag = '||G_ERROR_FLG||','
39700: ||' error_text = '||''''||lv_message_text||''''
39701: ||' WHERE EXISTS ( SELECT 1 '
39702: ||' FROM msc_st_routing_operations msro2'
39698: 'UPDATE msc_st_routing_operations msro1'
39699: ||' SET process_flag = '||G_ERROR_FLG||','
39700: ||' error_text = '||''''||lv_message_text||''''
39701: ||' WHERE EXISTS ( SELECT 1 '
39702: ||' FROM msc_st_routing_operations msro2'
39703: ||' WHERE msro2.sr_instance_code = msro1.sr_instance_code'
39704: ||' AND msro2.organization_code = msro1.organization_code'
39705: ||' AND msro2.effectivity_date = msro1.effectivity_date'
39706: ||' AND NVL(msro2.routing_name,'||''''||NULL_CHAR||''''||') '
39772: FROM dual;
39773:
39774: v_sql_stmt := 21;
39775: lv_sql_stmt :=
39776: ' UPDATE msc_st_routing_operations '
39777: ||' SET batch_id = :lv_batch_id'
39778: ||' WHERE process_flag IN ('||G_IN_PROCESS||','||G_ERROR_FLG||')'
39779: ||' AND sr_instance_code = :v_instance_code'
39780: ||' AND NVL(batch_id,'||NULL_VALUE||') = '||NULL_VALUE
39793: CLOSE c4;
39794:
39795: v_sql_stmt := 22;
39796: FORALL j IN lb_rowid.FIRST..lb_rowid.LAST
39797: UPDATE msc_st_routing_operations
39798: SET st_transaction_id = msc_st_routing_operations_s.NEXTVAL,
39799: refresh_id = v_refresh_id,
39800: last_update_date = v_current_date,
39801: last_updated_by = v_current_user,
39794:
39795: v_sql_stmt := 22;
39796: FORALL j IN lb_rowid.FIRST..lb_rowid.LAST
39797: UPDATE msc_st_routing_operations
39798: SET st_transaction_id = msc_st_routing_operations_s.NEXTVAL,
39799: refresh_id = v_refresh_id,
39800: last_update_date = v_current_date,
39801: last_updated_by = v_current_user,
39802: creation_date = v_current_date,
39824: lv_where_str :=
39825: ' AND NVL(deleted_flag,'||NULL_VALUE||') <>'||SYS_NO;
39826:
39827: lv_return := MSC_ST_UTIL.LOG_ERROR
39828: (p_table_name => 'MSC_ST_ROUTING_OPERATIONS',
39829: p_instance_code => v_instance_code,
39830: p_row => lv_column_names,
39831: p_severity => G_SEV_WARNING,
39832: p_message_text => lv_message_text,
39856: END IF;
39857:
39858: -- derive organization id ,
39859: lv_return :=
39860: MSC_ST_UTIL.DERIVE_PARTNER_ORG_ID(p_table_name => 'MSC_ST_ROUTING_OPERATIONS',
39861: p_org_partner_name =>'ORGANIZATION_CODE',
39862: p_org_partner_id =>'ORGANIZATION_ID',
39863: p_instance_code => v_instance_code,
39864: p_partner_type => G_ORGANIZATION,
39876: -- ASSEMBLY NAME in ROUTING_NAME column for all such records
39877: v_sql_stmt := 23;
39878:
39879: lv_sql_stmt :=
39880: 'UPDATE msc_st_routing_operations '
39881: ||' SET routing_name = assembly_name'
39882: ||' WHERE sr_instance_code = :v_instance_code'
39883: ||' AND process_flag = '||G_IN_PROCESS
39884: ||' AND NVL(routing_name,'||''''||NULL_CHAR||''''||') '
39901: ||'ORGANIZATION_CODE,ROUTING_NAME',
39902: p_token2 => 'MASTER_TABLE',
39903: p_token_value2 => 'MSC_ST_ROUTINGS',
39904: p_token3 => 'CHILD_TABLE' ,
39905: p_token_value3 => 'MSC_ST_ROUTING_OPERATIONS' );
39906:
39907: IF lv_return <> 0 THEN
39908: RAISE ex_logging_err;
39909: END IF;
39911: -- Derive the ROUTING_SEQUENCE_ID from LOCAL ID table
39912:
39913: lv_return :=
39914: MSC_ST_UTIL.DERIVE_ROUTING_SEQUENCE_ID
39915: (p_table_name => 'MSC_ST_ROUTING_OPERATIONS',
39916: p_rtg_col_name => 'ROUTING_NAME',
39917: p_rtg_col_id => 'ROUTING_SEQUENCE_ID',
39918: p_instance_code => v_instance_code,
39919: p_severity => G_SEV_ERROR,
39946: lv_where_str :=
39947: ' AND NVL(effectivity_date,SYSDATE-36500 ) = SYSDATE-36500 ' ;
39948:
39949: lv_return := MSC_ST_UTIL.LOG_ERROR
39950: (p_table_name => 'MSC_ST_ROUTING_OPERATIONS',
39951: p_instance_code => v_instance_code,
39952: p_row => lv_column_names,
39953: p_severity => G_SEV_WARNING,
39954: p_message_text => lv_message_text,
39983: ' AND NVL(operation_seq_code,'||''''||NULL_CHAR||''''||') '
39984: ||' = '||''''||NULL_CHAR||'''' ;
39985:
39986: lv_return := MSC_ST_UTIL.LOG_ERROR
39987: (p_table_name => 'MSC_ST_ROUTING_OPERATIONS',
39988: p_instance_code => v_instance_code,
39989: p_row => lv_column_names,
39990: p_severity => G_SEV_WARNING,
39991: p_message_text => lv_message_text,
40003: -- Derive operation_sequence id
40004:
40005: v_sql_stmt := 24;
40006: lv_sql_Stmt :=
40007: 'UPDATE msc_st_routing_operations msro'
40008: ||' SET operation_sequence_id= (SELECT local_id'
40009: ||' FROM msc_local_id_setup mlis'
40010: ||' WHERE mlis.char1 = msro.sr_instance_code'
40011: ||' AND NVL(mlis.char2,'||''''||NULL_CHAR||''''||') '
40032:
40033: v_sql_stmt := 25;
40034:
40035: lv_sql_stmt :=
40036: 'UPDATE msc_st_routing_operations msro'
40037: ||' SET operation_seq_num = ( SELECT number1'
40038: ||' FROM msc_local_id_setup mlis'
40039: ||' WHERE local_id = msro.operation_sequence_id'
40040: ||' AND mlis.entity_name = ''OPERATION_SEQUENCE_ID'' '
40063: -- Error out if DELETED_FLAG = SYS_YES but operation_sequence_id is NULL
40064:
40065: v_sql_stmt := 26;
40066: lv_sql_stmt :=
40067: 'UPDATE msc_st_routing_operations'
40068: ||' SET process_flag ='||G_ERROR_FLG||','
40069: ||' error_text = '||''''||lv_message_text||''''
40070: ||' WHERE NVL(operation_sequence_id,'||NULL_VALUE||') ='||NULL_VALUE
40071: ||' AND deleted_flag ='||SYS_YES
40095: -- Error out record if department_code is null/resource_code is NULL and line_flag=2
40096:
40097: v_sql_stmt := 26.1;
40098: lv_sql_stmt :=
40099: ' UPDATE msc_st_routing_operations '
40100: ||' SET process_flag = '||G_ERROR_FLG||','
40101: ||' error_text = '||''''||lv_message_text||''''
40102: ||' WHERE NVL(department_code,'||''''||NULL_CHAR||''''||')'
40103: ||' = '||''''||NULL_CHAR||''''
40113:
40114: -- Derive department id
40115: v_sql_stmt := 27;
40116: lv_sql_stmt :=
40117: 'UPDATE msc_st_routing_operations msro'
40118: ||' SET department_id= (SELECT local_id'
40119: ||' FROM msc_local_id_setup mlis'
40120: ||' WHERE mlis.char1 = msro.sr_instance_code'
40121: ||' AND NVL(mlis.char2,'||''''||NULL_CHAR||''''||') '
40145: IF c10%ROWCOUNT > 0 THEN
40146:
40147: FORALL j IN lb_rowid.FIRST..lb_rowid.LAST
40148:
40149: UPDATE msc_st_routing_operations
40150: SET department_id = msc_st_department_id_s.NEXTVAL
40151: WHERE rowid = lb_rowid(j);
40152:
40153:
40188: v_current_date,
40189: v_current_user,
40190: v_current_date,
40191: v_current_user
40192: FROM msc_st_routing_operations
40193: WHERE rowid = lb_rowid(j);
40194:
40195: END IF;
40196: CLOSE c10;
40198: -- Now derive department id
40199: v_sql_stmt:= 15;
40200:
40201: lv_sql_stmt :=
40202: 'UPDATE msc_st_routing_operations msdr'
40203: ||' SET department_id= (SELECT local_id'
40204: ||' FROM msc_local_id_setup mlis'
40205: ||' WHERE mlis.char1 = msdr.sr_instance_code'
40206: ||' AND NVL(mlis.char2,'||''''||NULL_CHAR||''''||') '
40232: ||'ORGANIZATION_CODE,DEPARTMENT_CODE',
40233: p_token2 => 'MASTER_TABLE',
40234: p_token_value2 => 'MSC_ST_DEPARTMENT_RESOURCES',
40235: p_token3 => 'CHILD_TABLE' ,
40236: p_token_value3 => 'MSC_ST_ROUTING_OPERATIONS' );
40237:
40238: IF lv_return <> 0 THEN
40239: RAISE ex_logging_err;
40240: END IF;
40242: -- Log an error if unable to derive department id
40243:
40244: v_sql_stmt := 28;
40245: lv_sql_stmt :=
40246: 'UPDATE msc_st_routing_operations '
40247: ||' SET process_flag ='||G_ERROR_FLG||','
40248: ||' error_text = '||''''||lv_message_text||''''
40249: ||' WHERE NVL(department_id,'||NULL_VALUE||') ='||NULL_VALUE
40250: ||' AND sr_instance_code = :v_instance_code'
40278: lv_where_str := ' AND NVL(option_dependent_flag,'||NULL_VALUE||')'
40279: ||' NOT IN (1,2) AND deleted_flag = '||SYS_NO ;
40280:
40281: lv_return := MSC_ST_UTIL.LOG_ERROR
40282: (p_table_name => 'MSC_ST_ROUTING_OPERATIONS',
40283: p_instance_code => v_instance_code,
40284: p_row => lv_column_names,
40285: p_severity => G_SEV_WARNING,
40286: p_message_text => lv_message_text,
40301: (ERRBUF => lv_error_text,
40302: RETCODE => lv_return,
40303: pBatchID => lv_batch_id,
40304: pInstanceCode => v_instance_code,
40305: pEntityName => 'MSC_ST_ROUTING_OPERATIONS',
40306: pInstanceID => v_instance_id);
40307:
40308: IF NVL(lv_return,0) <> 0 THEN
40309: RAISE ex_logging_err;
40322: IF c5%ROWCOUNT > 0 THEN
40323:
40324: FORALL j IN lb_rowid.FIRST..lb_rowid.LAST
40325:
40326: UPDATE msc_st_routing_operations
40327: SET operation_sequence_id = msc_st_operation_sequence_id_s.NEXTVAL ,
40328: operation_seq_num =
40329: to_number(decode(length(rtrim(operation_seq_code,'0123456789')),
40330: NULL,operation_seq_code,'1'))
40380: v_current_date,
40381: v_current_user,
40382: v_current_date,
40383: v_current_user
40384: FROM msc_st_routing_operations
40385: WHERE rowid = lb_rowid(j) ;
40386:
40387: END IF;
40388: CLOSE c5;
40415: ||' msro.last_updated_by,'
40416: ||' msro.creation_date,'
40417: ||' msro.created_by,'
40418: ||' msro.REFRESH_ID'
40419: ||' FROM msc_st_routing_operations msro,'
40420: ||' msc_st_bom_components msbc,'
40421: ||' msc_local_id_setup mlis'
40422: ||' WHERE msbc.bill_sequence_id = mlis.number1'
40423: ||' AND mlis.entity_name = ''ROUTING_SEQUENCE_ID'' '
40441: ||' msro.last_updated_by,'
40442: ||' msro.creation_date,'
40443: ||' msro.created_by,'
40444: ||' msro.REFRESH_ID'
40445: ||' FROM msc_st_routing_operations msro,'
40446: ||' msc_bom_components mbc,'
40447: ||' msc_local_id_setup mlis,'
40448: ||' msc_local_id_setup mlis1'
40449: ||' WHERE mbc.component_sequence_id = mlis1.local_id '
40467: v_instance_id,v_instance_id,v_instance_code,v_instance_id,lv_batch_id;
40468:
40469: -- Set the process flag as Valid and derive sr_instance_id
40470: lv_return :=
40471: MSC_ST_UTIL.SET_PROCESS_FLAG(p_table_name => 'MSC_ST_ROUTING_OPERATIONS',
40472: p_instance_id => v_instance_id,
40473: p_instance_code => v_instance_code,
40474: p_process_flag => G_VALID,
40475: p_error_text => lv_error_text,
40483:
40484: -- At the end calling the LOG_ERROR for logging all errored out records
40485:
40486: lv_return :=
40487: MSC_ST_UTIL.LOG_ERROR(p_table_name => 'MSC_ST_ROUTING_OPERATIONS',
40488: p_instance_code => v_instance_code,
40489: p_row => lv_column_names,
40490: p_severity => G_SEV_ERROR,
40491: p_message_text => NULL,
40883: ||'ORGANIZATION_CODE,ROUTING_NAME,'
40884: ||' OPERATION_SEQ_CODE,EFFECTIVITY_DATE,'
40885: ||' ALTERNATE_ROUTING_DESIGNATOR' ,
40886: p_token2 => 'MASTER_TABLE',
40887: p_token_value2 => 'MSC_ST_ROUTING_OPERATIONS',
40888: p_token3 => 'CHILD_TABLE' ,
40889: p_token_value3 => 'MSC_ST_OPERATION_RESOURCES' );
40890:
40891: IF lv_return <> 0 THEN
41947: ||'ORGANIZATION_CODE,ROUTING_NAME,'
41948: ||' FROM_OPERATION_SEQ_CODE,FROM_OP_EFFECTIVITY_DATE,'
41949: ||' ALTERNATE_ROUTING_DESIGNATOR' ,
41950: p_token2 => 'MASTER_TABLE',
41951: p_token_value2 => 'MSC_ST_ROUTING_OPERATIONS',
41952: p_token3 => 'CHILD_TABLE' ,
41953: p_token_value3 => 'MSC_ST_OPERATION_NETWORKS' );
41954:
41955: -- Error out the records whose from_op_seq_id is NULL
42009: ||'ORGANIZATION_CODE,ROUTING_NAME,'
42010: ||' TO_OPERATION_SEQ_CODE,TO_OP_EFFECTIVITY_DATE,'
42011: ||' ALTERNATE_ROUTING_DESIGNATOR' ,
42012: p_token2 => 'MASTER_TABLE',
42013: p_token_value2 => 'MSC_ST_ROUTING_OPERATIONS',
42014: p_token3 => 'CHILD_TABLE' ,
42015: p_token_value3 => 'MSC_ST_OPERATION_NETWORKS' );
42016:
42017: IF lv_return <> 0 THEN
50946: lv_count:= SET_IN_PROCESS (p_table_name => 'MSC_ST_OPERATION_RESOURCES');
50947: IF lv_count > 0 Then
50948: prec.bom_flag:= SYS_YES;
50949: End IF;
50950: lv_count:= SET_IN_PROCESS (p_table_name => 'MSC_ST_ROUTING_OPERATIONS');
50951: IF lv_count > 0 Then
50952: prec.bom_flag:= SYS_YES;
50953: End IF;
50954: lv_count:= SET_IN_PROCESS (p_table_name => 'MSC_ST_ROUTINGS');