COMPILE ROUTINE FIX_PART(Dummy) ROWDEF(CHARSTR) DECLARE SUBROUTINE obj_Schedule,Send_Dyn,Send_Infom, obj_Order, obj_WO_Log, RList, RList, ErrMsg DECLARE SUBROUTIne Set_Status, Send_Info, Btree.Extract DECLARE FUNCTION Get_Status, Set_Printer, Collect.IXVals $INSERT ORDER_DET_EQU $INSERT PART_EQUATES $INSERT COMPANY_EQU $INSERT QUOTE_SPEC_EQU $INSERT PROD_SPEC_EQU OPEN 'PART' TO PartTable ELSE DEBUG GOTO Bail END OPEN 'CUST_PART' TO CustPartTable ELSE DEBUG GOTO BAil END OPEN 'PART_WORK' TO PartWorkTable ELSE DEBUG GOTO Bail END OPEN 'DICT.PART_WORK' TO DictVar ELSE DEBUG GOTO Bail END OPEN 'PROD_SPEC' TO ProdSpecTable ELSE DEBUG GOTO Bail END SELECT PartTable DEBUG RecCnt = 0 Done = 0 LOOP READNEXT PartNo ELSE Done = 1 UNTIL Done READ PartRec FROM PartTable,PartNo THEN RecCnt += 1 Send_Info(RecCnt) PSNs = PartRec PSCnt = COUNT(PSNs,@VM) + (PSNs NE '') FOR I = 1 TO PSCnt PSNo = PSNs<1,I> READ PSRec FROM ProdSpecTable,PSNo THEN LOCATE PartNo IN PSRec<134> BY 'AR' USING @VM SETTING Pos ELSE PSRec = INSERT(PSRec,134,Pos,0,PartNo) END WRITE PSRec ON ProdSpecTable,PSNo THEN Send_Dyn('PSN ':PSNo:' Updated ':PSRec<134>) END END ;* End of PSRec Read NEXT I END REPEAT GOTO Bail * * * * * * * * * * * * * * * * * * * * * * SELECT PartTable RecCnt = 0 Done = 0 LOOP READNEXT PartNo ELSE Done = 1 UNTIL Done READ PartRec FROM PartTable,PartNo THEN RecCnt += 1 Send_Info(RecCnt) PSNs = PartRec ShipPSN = PSNs[-1,'B':@VM] ProdSpecRec = XLATE('PROD_SPEC',ShipPSN,'','X') WriteFlag = 0 ShipReactType = ProdSpecRec IF ShipReactType NE '' THEN BEGIN CASE CASE ShipReactType = 'A' ; ReactType = 'ASM+' CASE ShipReactType = 'P' ; ReactType = 'EPP' CASE ShipReactType = 'E' ; ReactType = 'EPS' CASE ShipReactType = 'H' ; ReactType = 'HTR' CASE ShipReactType = 'C' ; ReactType = 'SIG' CASE 1 ; ReactType = '' END CASE PartRec = ReactType WriteFlag = 1 END IF PartRec = '' THEN PartRec = ProdSpecRec WriteFlag = 1 END L1 = ProdSpecRec L2 = ProdSpecRec L3 = ProdSpecRec PartRec = '' IF L1 NE '' THEN PartRec = L1 END IF L2 NE '' THEN PartRec = L2 END IF L3 NE '' THEN PartRec = L3 END IF PartRec NE '' THEN WriteFlag = 1 IF WriteFlag = 1 THEN WRITE PartRec ON PartTable,PartNo THEN Send_Dyn('Part ':PartNo:' - ':PartRec) END END END REPEAT GOTO Bail OPEN 'DICT.PART' TO PartDict ELSE DEBUG GOTO Bail END SELECT PartTable DEBUG RecCnt = 0 Done = 0 LOOP READNEXT PartNo ELSE Done = 1 UNTIL Done READ PartRec FROM PartTable,PartNo THEN RecCnt += 1 Send_Info(RecCnt) PSNStatus = XLATE('PART',PartNo,'PSN_STATUS','X') PartRec = PSNStatus * WRITE PartRec ON PartTable,PartNo THEN *Send_Dyn('Part ':PartNo:' - ':PSNStatus) * END END REPEAT */ * * * * * * * Bail: * * * * * * * END