⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmgetdb.pc

📁 李刚 请赶快放开我的权限 我上载的源码都是很精湛的,请查阅,qing请加我 li_xue_ming@msn.com必要的话可以和我在线沟通
💻 PC
📖 第 1 页 / 共 5 页
字号:
		v_LAPDbiepcm=tDropPcm[0].m_RelBiePcm;		
		v_LAPDticts=tRDropCom[0].m_BieTsOut;
		v_LAPDbiesubts=tRDropCom[0].m_BieSubTsOut;
	  }
	}while(v_LAPDphysiteid!=tRBieCom[0].m_DestPSiteId);
   
    PrintMsg((PCHAR)"LINKTYPE=%d\n",linktype3);
	str.Format((PCHAR)"LINKTYPE=%d\n",linktype3);
	pfFile->Write(str, str.GetLength());
        linktype3 = 0;
   }
    
    EXEC SQL CLOSE cur3;
 	return  sqlca.sqlcode;

notfoundLAPD:
    PrintMsg((PCHAR)"LINKTYPE=%d\n",linktype3);
	str.Format((PCHAR)"LINKTYPE=%d\n",linktype3);
	pfFile->Write(str, str.GetLength());
	linktype3 = 0;
	EXEC SQL CLOSE cur3;
	return sqlca.sqlcode;

}

/********************************************************************
*函数名称:  ReadLapdFromDataBase1() 
*函数功能:  显示LAPD接续关系(包括带级链情况)
*输入参数:  BSCID
*输出参数:  
*实现算法:  
*作者/日期:  /2001-02-20
*修改记录: 
********************************************************************/


CReadCircuit::ReadLapdFromDataBase1( WORD16 m_BscId)
{
        int count;

    	PrintMsg((PCHAR)"[COMM]\n");
        str.Format((PCHAR)"[COMM]\n");
        pfFile->Write(str, str.GetLength());


        PrintMsg((PCHAR)"TYPE=LAPD,");
        str.Format((PCHAR)"TYPE=LAPD,");
        pfFile->Write(str, str.GetLength());

        PrintMsg((PCHAR)"BSCID=%d\n",m_BscId);
        str.Format((PCHAR)"BSCID=%d\n",m_BscId);
        pfFile->Write(str, str.GetLength());

	EXEC SQL BEGIN DECLARE SECTION;
		char * RR_Lapd1 ="SELECT SITEID,BTSID,TRXID,INSTANCEID,CSLOTNO,BCH,TEI FROM R_LAPD WHERE BSCID=:para0 ";
		int linktype1;
		int m_Temp1;
	EXEC SQL END DECLARE SECTION;

	EXEC SQL WHENEVER SQLERROR DO SqlError();

	memset(m_InPut1,0,sizeof(m_InPut1));

	m_InPut1[0] = m_BscId;
	count=0;
	linktype1=0;


	EXEC SQL WHENEVER NOT FOUND GOTO notfoundLAPD;
	EXEC SQL PREPARE S FROM :RR_Lapd1;
	EXEC SQL DECLARE cur1 CURSOR FOR S; 
	EXEC SQL EXECUTE S USING :m_InPut1[0];
	EXEC SQL OPEN cur1;
	
	
	//第1重循环

	EXEC SQL WHENEVER NOT FOUND DO break;
	for(; ;)
	{
	   //1
		EXEC SQL FETCH cur1 INTO :tRR_Lapd1;	 
		PrintMsg((PCHAR)"\n[LAPD_%d]\nsiteid = %d,btsid = %d, trxid= %d, \nLAPDBOARD:CSlotNo = %d,BCH=%d,TEI=%d,",(++count),tRR_Lapd1.m_SiteId,tRR_Lapd1.m_btsid,tRR_Lapd1.m_trxid,tRR_Lapd1.m_CSlot,tRR_Lapd1.m_Bch,tRR_Lapd1.m_Tei);
		str.Format((PCHAR)"\n[LAPD_%d]\nsiteid = %d,btsid = %d, trxid= %d, \nLAPDBOARD:CSlotNo = %d,BCH=%d,TEI=%d,",(count),tRR_Lapd1.m_SiteId,tRR_Lapd1.m_btsid,tRR_Lapd1.m_trxid,tRR_Lapd1.m_CSlot,tRR_Lapd1.m_Bch,tRR_Lapd1.m_Tei);
		pfFile->Write(str, str.GetLength());

		//2
		//EXEC SQL WHENEVER NOT FOUND GOTO notfoundLAPD;
		EXEC SQL SELECT PARENTINSTANCEID 
			INTO :m_Temp1		   
			FROM MOINFO   
			WHERE INSTANCEID = :tRR_Lapd1.m_Instanceid;
		/*PrintMsg((PCHAR)"InstanceId = %d\n",m_Temp1);
		str.Format((PCHAR)"InstanceId = %d\n",m_Temp1);
		pfFile->Write(str, str.GetLength());*/
		//3
		//EXEC SQL WHENEVER NOT FOUND GOTO notfoundLAPD;
		EXEC SQL SELECT RACKNO,SHELFNO 
			INTO :tRR_Board
			FROM R_CBOARD	 
			WHERE INSTANCEID = :m_Temp1;
		PrintMsg((PCHAR)"RackNo = %d,ShelfNo=%d\n",tRR_Board.m_RackNo,tRR_Board.m_ShelfNo);
		str.Format((PCHAR)"RackNo = %d,ShelfNo=%d\n",tRR_Board.m_RackNo,tRR_Board.m_ShelfNo);
		pfFile->Write(str, str.GetLength());

		//4
		//EXEC SQL WHENEVER NOT FOUND GOTO notfoundLAPD;
		EXEC SQL SELECT BIPPMUNIT,BIPPUNIT,BIPPHW,BIPPTS,FARHW,FARTS,TICUNIT,TICPCM,TICTS
			INTO :tRR_BsCom_Lapd
			FROM R_BSCOM_LAPD	  
			WHERE BSCID=:m_InPut1[0] AND RACKNO =:tRR_Board.m_RackNo AND SHELFNO = :tRR_Board.m_ShelfNo AND CSLOTNO = :tRR_Lapd1.m_CSlot AND BCH = :tRR_Lapd1.m_Bch;
		PrintMsg((PCHAR)"BIPPBORAD:BIPPMUNIT=%d,BIPPUNIT=%d,BIPPHW=%d,BIPPTS=%d,\nConeection between BIPP and TIC:FARHW=%d,FARTS=%d,\nTIC:TICUNIT=%d,TICPCM=%d,TICTS=%d\n",tRR_BsCom_Lapd.m_BippMUnit,tRR_BsCom_Lapd.m_BippUnit,tRR_BsCom_Lapd.m_BippHw,tRR_BsCom_Lapd.m_BippTs,tRR_BsCom_Lapd.m_FarHw,tRR_BsCom_Lapd.m_FarTs,tRR_BsCom_Lapd.m_TicUnit,tRR_BsCom_Lapd.m_TicPcm,tRR_BsCom_Lapd.m_TicTs);
		str.Format((PCHAR)"BIPPBOARD:BIPPMUNIT=%d,BIPPUNIT=%d,BIPPHW=%d,BIPPTS=%d,\nConeection between BIPP and TIC:FARHW=%d,FARTS=%d,\nTIC:TICUNIT=%d,TICPCM=%d,TICTS=%d\n",tRR_BsCom_Lapd.m_BippMUnit,tRR_BsCom_Lapd.m_BippUnit,tRR_BsCom_Lapd.m_BippHw,tRR_BsCom_Lapd.m_BippTs,tRR_BsCom_Lapd.m_FarHw,tRR_BsCom_Lapd.m_FarTs,tRR_BsCom_Lapd.m_TicUnit,tRR_BsCom_Lapd.m_TicPcm,tRR_BsCom_Lapd.m_TicTs);
		pfFile->Write(str, str.GetLength());

		//5
		//EXEC SQL WHENEVER NOT FOUND GOTO notfoundLAPD;
		EXEC SQL SELECT PHYSITENO,RACKNO,BIEPCM
			INTO :tR_BPcm
			FROM R_BPCM		   
			WHERE BSCID=:m_InPut1[0] AND MUNIT =: tRR_BsCom_Lapd.m_BippMUnit AND UNIT =: tRR_BsCom_Lapd.m_TicUnit AND PCM =: tRR_BsCom_Lapd.m_TicPcm;
		PrintMsg((PCHAR)"BTS:PHYSITENO=%d,RACK=%d,BIEPCM=%d\n",tR_BPcm.m_PhySiteId,tR_BPcm.m_BieRack,tR_BPcm.m_BiePcm);
		str.Format((PCHAR)"BTS:PHYSITENO=%d,RACK=%d,BIEPCM=%d\n",tR_BPcm.m_PhySiteId,tR_BPcm.m_BieRack,tR_BPcm.m_BiePcm);
		pfFile->Write(str, str.GetLength());


		v_LAPDphysiteid=tR_BPcm.m_PhySiteId;
		v_LAPDbierack=tR_BPcm.m_BieRack;
		v_LAPDbiepcm=tR_BPcm.m_BiePcm;
		v_LAPDticts=tRR_BsCom_Lapd.m_TicTs;
		v_LAPDbiesubts=(255-tRR_Lapd1.m_Tei);

	EXEC SQL WHENEVER NOT FOUND DO break;
	do{
	     //6
		if(tRBieCom[0].m_DestPSiteId!=v_LAPDphysiteid )
		{
		    if(tRR_Lapd1.m_btsid == 0 && tRR_Lapd1.m_trxid == 0 )
			{
		    //EXEC SQL WHENEVER NOT FOUND GOTO notfoundLAPD;
			EXEC SQL SELECT BIEPCMOUT,BIETSOUT,BIESUBTSOUT
				INTO :tRDropCom[0]
				FROM T_DROPCOM		 
				WHERE BSCID =:m_InPut2[0] AND PSITEID =:v_LAPDphysiteid AND RACKNO =:v_LAPDbierack AND BIEPCMIN =:v_LAPDbiepcm AND BIETSIN =:v_LAPDticts AND BIESUBTSIN =:v_LAPDbiesubts;
			PrintMsg((PCHAR)"BIEPCMOUT_%d=%d,BIETSOUT_%d=%d,BIESUBTSOUT_%d=%d\n",(++linktype1),tRDropCom[0].m_BiePcmOut,(++linktype1),tRDropCom[0].m_BieTsOut,(++linktype1),tRDropCom[0].m_BieSubTsOut);	
			str.Format((PCHAR)"BIEPCMOUT_%d=%d,BIETSOUT_%d=%d,BIESUBTSOUT_%d=%d\n",(++linktype1),tRDropCom[0].m_BiePcmOut,(++linktype1),tRDropCom[0].m_BieTsOut,(++linktype1),tRDropCom[0].m_BieSubTsOut);	
			pfFile->Write(str, str.GetLength());
			
			//7
			v_LAPDbiepcm = tRDropCom[0].m_BiePcmOut;
			//EXEC SQL WHENEVER NOT FOUND GOTO notfoundLAPD;			
			EXEC SQL SELECT RELPSITEID,RELRACKNO,RELBIEPCM
				INTO :tDropPcm[0]
				FROM T_BIEDROPPCM	  
				WHERE BSCID = :m_InPut2[0] AND PSITEID =:v_LAPDphysiteid AND RACKNO =:v_LAPDbierack AND BIEPCM =:v_LAPDbiepcm;
			PrintMsg((PCHAR)"RELPSITEID_%d=%d,RELRACKNO_%d=%d,RELBIEPCM_%d=%d\n",(++linktype1),tDropPcm[0].m_RelPSiteid,(++linktype1),tDropPcm[0].m_RelRackNo,(++linktype1),tDropPcm[0].m_RelBiePcm);	
			str.Format((PCHAR)"RELPSITEID_%d=%d,RELRACKNO_%d=%d,RELBIEPCM_%d=%d\n",(++linktype1),tDropPcm[0].m_RelPSiteid,(++linktype1),tDropPcm[0].m_RelRackNo,(++linktype1),tDropPcm[0].m_RelBiePcm);	
			pfFile->Write(str, str.GetLength());
			}

			else
			{
			EXEC SQL SELECT RELPSITEID,RELRACKNO,RELBIEPCM
				INTO :tDropPcm[0]
				FROM T_BIEDROPPCM	  
				WHERE BSCID = :m_InPut2[0] AND PSITEID =:v_LAPDphysiteid AND RACKNO =:v_LAPDbierack AND BIEPCM =:v_LAPDbiepcm;
			PrintMsg((PCHAR)"RELPSITEID_%d=%d,RELRACKNO_%d=%d,RELBIEPCM_%d=%d\n",(++linktype1),tDropPcm[0].m_RelPSiteid,(++linktype1),tDropPcm[0].m_RelRackNo,(++linktype1),tDropPcm[0].m_RelBiePcm);	
			str.Format((PCHAR)"RELPSITEID_%d=%d,RELRACKNO_%d=%d,RELBIEPCM_%d=%d\n",(++linktype1),tDropPcm[0].m_RelPSiteid,(++linktype1),tDropPcm[0].m_RelRackNo,(++linktype1),tDropPcm[0].m_RelBiePcm);	
			pfFile->Write(str, str.GetLength());
			}


		v_LAPDphysiteid=tDropPcm[0].m_RelPSiteid;
		v_LAPDbierack=tDropPcm[0].m_RelRackNo;
		v_LAPDbiepcm=tDropPcm[0].m_RelBiePcm;		
		v_LAPDticts=tRDropCom[0].m_BieTsOut;
		v_LAPDbiesubts=tRDropCom[0].m_BieSubTsOut;
	   }
	}while(v_LAPDphysiteid!=tRBieCom[0].m_DestPSiteId);
   	
	PrintMsg((PCHAR)"LINKTYPE=%d\n",linktype1);
	str.Format((PCHAR)"LINKTYPE=%d\n",linktype1);
	pfFile->Write(str, str.GetLength());
        linktype1 = 0;
   }
    
    EXEC SQL CLOSE cur1;
 	return  sqlca.sqlcode;

notfoundLAPD:
    PrintMsg((PCHAR)"LINKTYPE=%d\n",linktype1);
	str.Format((PCHAR)"LINKTYPE=%d\n",linktype1);
	pfFile->Write(str, str.GetLength());
	linktype1 = 0;
	EXEC SQL CLOSE cur1;
	return sqlca.sqlcode;
 
}

/********************************************************************
*函数名称:  ReadAFromDataBase6() 
*函数功能:  显示A口接续关系(包括带远端模块)
*输入参数:  TIC板所在的:BSCID、RACKNO、SHELFNO、SLOTNO、PCMNO、TS
*输出参数:  
*实现算法:  
*作者/日期:  /2001-02-20
*修改记录: 
********************************************************************/


CReadCircuit::ReadAFromDataBase6(WORD16 byBscId,WORD16 byRackNo,WORD16 byShelfNo,WORD16 bySlotNo,WORD16 byPcmNo,WORD16 byTs)
{
        int count;

    	PrintMsg((PCHAR)"[COMM]\n");
        str.Format((PCHAR)"[COMM]\n");
        pfFile->Write(str, str.GetLength());


        PrintMsg((PCHAR)"TYPE=A,");
        str.Format((PCHAR)"TYPE=A,");
        pfFile->Write(str, str.GetLength());

        PrintMsg((PCHAR)"BSCID=%d\n",byBscId);
        str.Format((PCHAR)"BSCID=%d\n",byBscId);
        pfFile->Write(str, str.GetLength());

	EXEC SQL BEGIN DECLARE SECTION;	
		int m_BscId;
		int m_RackNo;
		int m_ShelfNo;
		int m_SlotNo;
		int m_PcmNo;
		int m_TsNo;
	EXEC SQL END DECLARE SECTION;
	
	m_BscId = byBscId;
	m_RackNo = byRackNo;
	m_ShelfNo = byShelfNo;
	m_SlotNo = bySlotNo;
	m_PcmNo = byPcmNo;
	m_TsNo = byTs;
	count=0;

	EXEC SQL WHENEVER NOT FOUND GOTO notfounda;

	EXEC SQL SELECT MUNIT,UNIT 
		INTO :tBscBoard 
		FROM  R_Board 
		WHERE BSCID =:m_BscId AND RACKNO =:m_RackNo AND SHELFNO =:m_ShelfNo AND SLOTNO =:m_SlotNo;

	
	

	EXEC SQL SELECT AIPPHW,AIPPTS,TNETHW,TNETTS,TNETSUBTS,KIND
		INTO :tATrunk
		FROM R_ATRUNK
		WHERE BSCID =:m_BscId AND MUNIT =:tBscBoard.m_Munit AND UNIT=:tBscBoard.m_Unit AND PCM =:m_PcmNo AND TS =: m_TsNo; 

	PrintMsg((PCHAR)"\n[A_%d]\nTIC:RACKNO = %d,SHELFNO = %d, SLOTNO= %d, PCMNO=%d,TS=%d,MUNIT=%d,UNIT=%d\n",(++count),m_RackNo,m_ShelfNo,m_SlotNo,m_PcmNo,m_TsNo,tBscBoard.m_Munit,tBscBoard.m_Unit);
	str.Format((PCHAR)"\n[A_%d]\nTIC:RACKNO = %d,SHELFNO = %d, SLOTNO= %d, PCMNO=%d,TS=%d,MUNIT=%d,UNIT=%d\n",(count),m_RackNo,m_ShelfNo,m_SlotNo,m_PcmNo,m_TsNo,tBscBoard.m_Munit,tBscBoard.m_Unit);	
	pfFile->Write(str, str.GetLength());

	PrintMsg((PCHAR)"Connection between AIPP and TIC: AIPPHW=%d,AIPPTS=%d,\nConnection between TCPP and Tnet:TNETHW=%d,TNETTS=%d,TNETSUTBS=%d,KIND=%d\n",tATrunk.m_AippHw,tATrunk.m_AippTs,tATrunk.m_TNetHw,tATrunk.m_TNetTs,tATrunk.m_TNetSubTs,tATrunk.m_Kind);
	str.Format((PCHAR)"Connection between AIPP and TIC: AIPPHW=%d,AIPPTS=%d,\nConnection between TCPP and Tnet:TNETHW=%d,TNETTS=%d,TNETSUTBS=%d,KIND=%d\n",tATrunk.m_AippHw,tATrunk.m_AippTs,tATrunk.m_TNetHw,tATrunk.m_TNetTs,tATrunk.m_TNetSubTs,tATrunk.m_Kind);
	pfFile->Write(str, str.GetLength());

	EXEC SQL SELECT TCPPMUNIT,TCPPUNIT,TCPPHW,TCPPTS
		INTO :tATsCom
		FROM R_ATSCOM
		WHERE BSCID =:m_BscId AND AIPPMUNIT =:tBscBoard.m_Munit AND AIPPUNIT= 0 AND AIPPHW =:tATrunk.m_AippHw AND AIPPTS =: tATrunk.m_AippTs; 
	PrintMsg((PCHAR)"TCPP:TCPPMUNIT=%d,TCPPUNIT=%d,TCPPHW=%d,TCPPTS=%d\n",tATsCom.m_TcppMUnit,tATsCom.m_TcppUnit,tATsCom.m_TcppHw,tATsCom.m_TcppTs);
	str.Format((PCHAR)"TCPP:TCPPMUNIT=%d,TCPPUNIT=%d,TCPPHW=%d,TCPPTS=%d\n",tATsCom.m_TcppMUnit,tATsCom.m_TcppUnit,tATsCom.m_TcppHw,tATsCom.m_TcppTs);
	pfFile->Write(str, str.GetLength());
	//4
	EXEC SQL SELECT UNIT,DSP
	     INTO :tATCCOM
		 FROM R_TCPOOL
		 WHERE TCPPMUNIT=:tATsCom.m_TcppMUnit AND TCPPUNIT=:tATsCom.m_TcppUnit AND TCPPHW=:tATsCom.m_TcppHw AND TCPPTS=:tATsCom.m_TcppTs;
	PrintMsg((PCHAR)"DRT: DRTUNIT=%d,DSP=%d\n",tATCCOM.m_Unit,tATCCOM.m_DSP);
	str.Format((PCHAR)"DRT: DRTUNIT=%d,DSP=%d\n",tATCCOM.m_Unit,tATCCOM.m_DSP);
	pfFile->Write(str, str.GetLength());

	if(tATrunk.m_Kind==2)
	{
		EXEC SQL SELECT CSLOTNO,BCH,COMMTNETHW,COMMTNETTS
			INTO :tTsCom
			FROM R_TSCOM
			WHERE BSCID =:m_BscId AND TNETHW =:tATrunk.m_TNetHw AND TNETTS =:tATrunk.m_TNetTs;
		PrintMsg((PCHAR)"MTPBOARD: CSLOTNO=%d,BCH=%d,COMMTNETHW=%d,COMMTNETTS=%d\n",tTsCom.m_CSlotNo,tTsCom.m_Bch,tTsCom.m_CommTNetHw,tTsCom.m_CommTNetTs);
		str.Format((PCHAR)"MTPBOARD:CSLOTNO=%d,BCH=%d,COMMTNETHW=%d,COMMTNETTS=%d\n",tTsCom.m_CSlotNo,tTsCom.m_Bch,tTsCom.m_CommTNetHw,tTsCom.m_CommTNetTs);
		pfFile->Write(str, str.GetLength());

	} 

	//6
	EXEC SQL WHENEVER NOT FOUND GOTO AStep1;
	EXEC SQL SELECT FARSMPPMUNIT,FARSMPPUNIT,FARSMPPPCM,FARSMPPTS,FARSMPPSUBTS,FSPPHW1,FSPPTS1,FSPPHW2,FSPPTS2
	     INTO :tFSOM
		 FROM R_FSCOM
	     WHERE BSCID =:m_BscId AND TNETHW =:tATrunk.m_TNetHw AND TNETTS=:tATrunk.m_TNetTs AND TNETSUBTS=:tATrunk.m_TNetSubTs;
	PrintMsg((PCHAR)"FARSMPPMUNIT=%d,FARSMPPUNIT=%d,FARSMPPPCM=%d,FARSMPPTS=%d,FARSMPPSUBTS=%d,FSPPHW1=%d,FSPPTS1=%d,FSPPHW2=%d,m_FSPPTS2=%d,\n",tFSOM.m_FARSMPPMUNIT,tFSOM.m_FARSMPPUNIT,tFSOM.m_FARSMPPPCM,tFSOM.m_FARSMPPTS,tFSOM.m_FARSMPPSUBTS,tFSOM.m_FSPPHW1,tFSOM.m_FSPPTS1,tFSOM.m_FSPPHW2,tFSOM.m_FSPPTS2);
	str.Format((PCHAR)"FARSMPPMUNIT=%d,FARSMPPUNIT=%d,FARSMPPPCM=%d,FARSMPPTS=%d,FARSMPPSUBTS=%d,FSPPHW1=%d,FSPPTS1=%d,FSPPHW2=%d,m_FSPPTS2=%d,\n",tFSOM.m_FARSMPPMUNIT,tFSOM.m_FARSMPPUNIT,tFSOM.m_FARSMPPPCM,tFSOM.m_FARSMPPTS,tFSOM.m_FARSMPPSUBTS,tFSOM.m_FSPPHW1,tFSOM.m_FSPPTS1,tFSOM.m_FSPPHW2,tFSOM.m_FSPPTS2);
	pfFile->Write(str, str.GetLength());
	//7
	EXEC SQL SELECT NEARSMPPMUNIT,NEARSMPPUNIT,NSPPHW,NSPPTS
		 INTO :tNSOM
		 FROM R_NSCOM
		 WHERE BSCID=:m_BscId AND TNETHW=:tATrunk.m_TNetHw AND TNETTS=:tATrunk.m_TNetTs;
	PrintMsg((PCHAR)"NEARSMPPMUNIT=%d,NEARSMPPUNIT=%d,m_NSPPHW=%d,m_NSPPTS=%d\n",tNSOM.m_NEARSMPPMUNIT,tNSOM.m_NEARSMPPUNIT,tNSOM.m_NSPPHW,tNSOM.m_NSPPTS);
	str.Format((PCHAR)"NEARSMPPMUNIT=%d,NEARSMPPUNIT=%d,m_NSPPHW=%d,m_NSPPTS=%d\n",tNSOM.m_NEARSMPPMUNIT,tNSOM.m_NEARSMPPUNIT,tNSOM.m_NSPPHW,tNSOM.m_NSPPTS);
	pfFile->Write(str, str.GetLength());



AStep1:
	return sqlca.sqlcode;
notfounda:
	return sqlca.sqlcode;
}
/********************************************************************
*函数名称:  ReadAFromDataBase1() 
*函数功能:  显示A口接续关系(包括带远端模块)
*输入参数:  TIC板所在的:BSCID
*输出参数:  
*实现算法:  
*作者/日期:  /2001-02-20
*修改记录: 
********************************************************************/


CReadCircuit::ReadAFromDataBase1(WORD16 byBscId)
{
        int count;
        count=0;
    	PrintMsg((PCHAR)"[COMM]\n");
        str.Format((PCHAR)"[COMM]\n");
        pfFile->Write(str, str.GetLength());


        PrintMsg((PCHAR)"TYPE=A,");
        str.Format((PCHAR)"TYPE=A,");
        pfFile->Write(str, str.GetLength());

        PrintMsg((PCHAR)"BSCID=%d\n",byBscId);
        str.Format((PCHAR)"BSCID=%d\n",byBscId);
        pfFile->Write(str, str.GetLength());


 	EXEC SQL BEGIN DECLARE SECTION;	
		int m_BscId;
		int TICType;
		int ShelfType;
		char * R_A1 ="SELECT RACKNO FROM R_Board WHERE BSCID=:para0 AND BOARDTYPE=:para1";
    	char * R_A12="SELECT SLOTNO,MUNIT,UNIT FROM R_Board WHERE BSCID=:para0 AND RACKNO=:para1 AND SHELFNO=:para2  AND BOARDTYPE=:para3";
		char * R_A13="SELECT PCM, TS, AIPPHW,AIPPTS,TNETHW,TNETTS,TNETSUBTS,KIND FROM R_ATRUNK WHERE BSCID =:para0 AND MUNIT =:para1 AND UNIT=:para2"; 
 		char * R_A14="SELECT SHELFNO FROM R_SHELF WHERE BSCID=:para0 AND RACKNO=:para1 AND SHELFTYPE=:para2"; 
   
	EXEC SQL END DECLARE SECTION;
	
	m_BscId = (int)byBscId;
	TICType = 28;
	ShelfType = 6;

	
	
	EXEC SQL WHENEVER NOT FOUND GOTO notfounda;
	EXEC SQL PREPARE A1 FROM :R_A1;
	EXEC SQL DECLARE acur1 CURSOR FOR A1; 
	EXEC SQL EXECUTE A1 USING :m_BscId,:TICType;
	EXEC SQL OPEN acur1;

	EXEC SQL WHENEVER NOT FOUND DO break;	 //共四重循环
	for(; ;)
	{
	   
	   //1	  //这里有可能查出的是ABIS口的数据,导致2找不到而跳出!多条
		EXEC SQL FETCH acur1 INTO :tAKBscBoard1;
	    //PrintMsg((PCHAR)"RackNo=%d, ",tAKBscBoard1.m_RackNo);
	

	   //补充1-1 得出shelfno	   多条
	   EXEC SQL PREPARE A14 FROM :R_A14;
	   EXEC SQL DECLARE acur14 CURSOR FOR A14; 
	   EXEC SQL EXECUTE A14 USING :m_BscId,:tAKBscBoard1.m_RackNo,:ShelfType;
	   EXEC SQL OPEN acur14;
	   EXEC SQL WHENEVER NOT FOUND DO break;
	   for(; ;)
	   {
		EXEC SQL FETCH acur14 INTO :tSHELF1;				 
	   //PrintMsg((PCHAR)"ShelfNo=%d,  ",tSHELF1.m_ShelfNo);
		

	  //补充1-2 多条 得出slotno
	  EXEC SQL PREPARE A12 FROM :R_A12;
   	  EXEC SQL DECLARE acur12 CURSOR FOR A12; 
	  EXEC SQL EXECUTE A12 USING :m_BscId,:tAKBscBoard1.m_RackNo,:tSHELF1.m_ShelfNo,:TICType;
	  EXEC SQL OPEN acur12;
      EXEC SQL WHENEVER NOT FOUND DO break;
      for(; ;)
	      {
	   EXEC SQL FETCH acur12 INTO :tABscBoard1;
	   //PrintMsg((PCHAR)"SLOTNO=%d,MUNIT=%d,UNIT=%d\n",tABscBoard1.m_SlotNo,tABscBoard1.m_Munit,tABscBoard1.m_Unit);



	//2
	  EXEC SQL PREPARE A13 FROM :R_A13;
   	  EXEC SQL DECLARE acur13 CURSOR FOR A13; 
	  EXEC SQL EXECUTE A13 USING :m_BscId,:tABscBoard1.m_Munit,:tABscBoard1.m_Unit;
	  EXEC SQL OPEN acu

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -