public void LoadPalletADatabaseData(string id)
        {
            logger.Debug("LoadPalletADatabaseData begin id="+id);

            string[] idSplit = id.Split(@"/".ToCharArray());
            string internalID = idSplit[0];
            string palletID = idSplit[1];

            //fill packID table
            PALLETS palletList = new PALLETS();

            //string whereMainClause = "WHERE InternalID='" + internalID + "' AND PALLET_ID='" + palletID + "'";
            /*
            string whereMainClause = "'" + internalID.Substring(0, 16) + "','" + palletID + "'";
            List<string> fields = new List<string>();
            fields.Add("*");
            DataTable palletTable = DBFactory.PopulateTempTable_BySp("[op_Shipment_PAKPalletTypeALineItem]", whereMainClause);
            */

            logger.Debug("LoadPalletADatabaseData [op_Shipment_PAKPalletTypeALineItem] begin");
            DataTable palletTable = EditsSqlProc.sp__op_Shipment_PAKPalletTypeALineItem(internalID.Substring(0, 16), palletID);
            logger.Debug("LoadPalletADatabaseData [op_Shipment_PAKPalletTypeALineItem] end");

//logger.Debug("xxx [op_Shipment_PAKPalletTypeALineItem] begin");
            //DataTable palletTable = DBFactory.PopulateTempTable("[op_Shipment_PAKPalletTypeALineItem]", whereMainClause, fields);
//logger.Debug("xxx [op_Shipment_PAKPalletTypeALineItem] end");

            PALLETS.PALLETDataTable newTable = palletList.PALLET;
            int index = 0;
            foreach (DataRow readRow in palletTable.Rows)
            {
                PALLETS.PALLETRow newRow = newTable.NewPALLETRow();
                newRow.PALLET_Id_0 = index;
               // index++;

                foreach (DataColumn column in newTable.Columns)
                {
                    if (palletTable.Columns.Contains(column.ColumnName))
                    {
                        //PACK_ID_UNIT_QTY_PER_PALLET
                        if (column.ColumnName == "PACK_ID_UNIT_QTY_PER_PALLET")
                        {
                           /* List<string> fieldsUNITPALLET = new List<string>();
                            fieldsUNITPALLET.Add("Sum(convert(int,PACK_ID_UNIT_QTY_PER_PALLET)) as PACK_ID_UNIT_QTY_PER_PALLET");
                            string whereUNITPALLET = "where PALLET_ID = '" + palletID + "' and Left(InternalID,10) = '" + internalID.Substring(0, 10) + "'";*/
                            /*
                            string whereUNITPALLET = "'" + internalID.Substring(0, 16) + "','" + palletID + "'";
                            DataTable BOXUNITPALLET = DBFactory.PopulateTempTable_BySp("[op_Shipment_PAKPalletTypeALineItem]", whereUNITPALLET);
                            */

                            logger.Debug("LoadPalletADatabaseData [op_Shipment_PAKPalletTypeALineItem] begin");
                            DataTable BOXUNITPALLET = EditsSqlProc.sp__op_Shipment_PAKPalletTypeALineItem(internalID.Substring(0, 16), palletID);
                            logger.Debug("LoadPalletADatabaseData [op_Shipment_PAKPalletTypeALineItem] end");

                            ChkRowNotNull("PalletAShipmentXmlCreator id=" + id + ", op_Shipment_PAKPalletTypeALineItem internalID=" + internalID.Substring(0, 16) + ", palletID=" + palletID, BOXUNITPALLET);
                            newRow[column] = BOXUNITPALLET.Rows[0]["PACK_ID_UNIT_QTY_PER_PALLET"];
                            continue;
                        }
                        //PACK_ID_BOX_QTY_PER_PALLET
                        if (column.ColumnName == "PACK_ID_BOX_QTY_PER_PALLET")
                        {
                            /*List<string> fieldsBOXPALLET = new List<string>();
                            fieldsBOXPALLET.Add("Sum(convert(int,PACK_ID_BOX_QTY_PER_PALLET)) as PACK_ID_BOX_QTY_PER_PALLET");
                            string whereBOXPALLET = "where PALLET_ID = '" + palletID + "' and Left(InternalID,10) = '" + internalID.Substring(0, 10) + "'";
                            DataTable BOXPERPALLET = DBFactory.PopulateTempTable("[v_Shipment_PAKPalletTypeALineItem]", whereBOXPALLET, fieldsBOXPALLET);*/
                            /*
                            string whereBOXPALLET = "'" + internalID.Substring(0, 16) + "','" + palletID + "'";
                            DataTable BOXPERPALLET = DBFactory.PopulateTempTable_BySp("[op_Shipment_PAKPalletTypeALineItem]", whereBOXPALLET);
                            */

                            logger.Debug("LoadPalletADatabaseData [op_Shipment_PAKPalletTypeALineItem] begin");
                            DataTable BOXPERPALLET = EditsSqlProc.sp__op_Shipment_PAKPalletTypeALineItem(internalID.Substring(0, 16), palletID);
                            logger.Debug("LoadPalletADatabaseData [op_Shipment_PAKPalletTypeALineItem] end");

                            ChkRowNotNull("PalletAShipmentXmlCreator id=" + id + ", op_Shipment_PAKPalletTypeALineItem internalID=" + internalID.Substring(0, 16) + ", palletID=" + palletID, BOXPERPALLET);
                            newRow[column] = BOXPERPALLET.Rows[0]["PACK_ID_BOX_QTY_PER_PALLET"];
                            continue;
                        }
                        if (column.ColumnName == "PALLET_ID")
                        {
                            /*
                            List<string> fieldsplts = new List<string>();
                            fieldsplts.Add("*");
                            string wherePLTS = "where PALLET_ID = '" + palletID + "' and Left(InternalID,10) = '" + internalID.Substring(0, 10) + "'";
                            DataTable PLTUCC = DBFactory.PopulateTempTable("[v_Shipment_PAKPalletTypeB]", wherePLTS, fieldsplts);
                            */

                            logger.Debug("LoadPalletADatabaseData [v_Shipment_PAKPalletTypeB] begin");
                            DataTable PLTUCC = EditsSqlProc.v_Shipment_PAKPalletTypeB__by__PALLET_ID__InternalID10(palletID, internalID.Substring(0, 10));
                            logger.Debug("LoadPalletADatabaseData [v_Shipment_PAKPalletTypeB] end");

                            ChkRowNotNull("PalletAShipmentXmlCreator id=" + id + ", v_Shipment_PAKPalletTypeB internalID=" + internalID.Substring(0, 10) + ", palletID=" + palletID, PLTUCC);
                            if (PLTUCC.Rows[0]["UCC"].ToString().Trim().Length == 20)
                            {
                                newRow[column] = PLTUCC.Rows[0]["UCC"].ToString().Trim();

                            }
                            else
                            {
                                newRow[column] = palletTable.Rows[0][column.ColumnName].ToString();
                            }
                            continue;
                        }
                        //if table contains name, then populate

                        newRow[column] = readRow[column.ColumnName];
                    }
                    else
                    {
                        if (column.DataType == typeof(string))
                            newRow[column] = string.Empty;
                        else if (column.DataType == typeof(Double))
                            newRow[column] = 0;
                        else if (column.DataType == typeof(DateTime))
                            newRow[column] = string.Empty;
                    }
                }
                //get the order item
                /*
                string whereOrderClause = "WHERE InternalID='" + internalID + "'";
                DataTable orderTable = DBFactory.PopulateTempTable("[v_Shipment_PAKComn]", whereOrderClause, fields);
                */

                logger.Debug("LoadPalletADatabaseData [v_Shipment_PAKComn] begin");
                DataTable orderTable = EditsSqlProc.v_Shipment_PAKComn__by__InternalID(internalID);
                logger.Debug("LoadPalletADatabaseData [v_Shipment_PAKComn] end");
                ChkRowNotNull("PalletAShipmentXmlCreator id=" + id + ", v_Shipment_PAKComn internalID=" + internalID, orderTable);

                foreach (DataColumn column in newTable.Columns)
                {
                    if (orderTable.Columns.Contains(column.ColumnName))
                    {
                        //HP_PN
                        if (column.ColumnName == "HP_PN")
                        {
                            /*
                            List<string> fieldsPN = new List<string>();
                            fieldsPN.Add("distinct HP_PN");
                            string whereHP_PN = "where PALLET_ID = '" + palletID + "' and Left(InternalID,10) = '" + internalID.Substring(0, 10) + "'";
                            DataTable HP_PNTable = DBFactory.PopulateTempTable("[v_Shipment_PAKPalletTypeA]", whereHP_PN, fieldsPN);
                            */

                            logger.Debug("LoadPalletADatabaseData [v_Shipment_PAKPalletTypeA] begin");
                            DataTable HP_PNTable = EditsSqlProc.HP_PN__from__v_Shipment_PAKPalletTypeA__by__PALLET_ID__InternalID10(palletID, internalID.Substring(0, 10));
                            logger.Debug("LoadPalletADatabaseData [v_Shipment_PAKPalletTypeA] end");

                            if (HP_PNTable.Rows.Count > 1)
                            {
                                newRow[column] = "MIXED";
                            }
                            else
                            {
                                //ChkRowNotNull("PalletAShipmentXmlCreator id=" + id + ", v_Shipment_PAKComn", orderTable);
                                newRow[column] = orderTable.Rows[0][column.ColumnName].ToString();//.Split('/')[1];
                            }
                            continue;
                        }
                        if (column.ColumnName == "PALLET_ID")
                        {
                            /*
                            List<string> fieldsPLT = new List<string>();
                            fieldsPLT.Add("* ");
                            string wherePallet_ID = "where PALLET_ID = '" + palletID + "' and Left(InternalID,10) = '" + internalID.Substring(0, 10) + "'";
                            DataTable Pallet_IDTable = DBFactory.PopulateTempTable("[v_Shipment_PAKPalletTypeB]", wherePallet_ID, fieldsPLT);
                            */

                            logger.Debug("LoadPalletADatabaseData [v_Shipment_PAKPalletTypeB] begin");
                            DataTable Pallet_IDTable = EditsSqlProc.v_Shipment_PAKPalletTypeB__by__PALLET_ID__InternalID10(palletID, internalID.Substring(0, 10));
                            logger.Debug("LoadPalletADatabaseData [v_Shipment_PAKPalletTypeB] end");

                            if (Pallet_IDTable.Rows.Count > 1)
                            {
                                newRow[column] = "MIXED";
                            }
                            else
                            {
                                if ((Pallet_IDTable.Rows.Count == 1) && Pallet_IDTable.Rows[0]["UCC"].ToString().Trim().Length == 20)
                                {
                                    newRow[column] = Pallet_IDTable.Rows[0]["UCC"].ToString().Trim();

                                }
                                else
                                {
                                    //ChkRowNotNull("PalletAShipmentXmlCreator id=" + id + ", v_Shipment_PAKComn", orderTable);
                                    newRow[column] = orderTable.Rows[0][column.ColumnName].ToString();
                                }
                                //  newRow[column] = orderTable.Rows[0][column.ColumnName].ToString();//.Split('/')[1];
                            }
                            continue;
                        }
                        if (column.ColumnName == "PALLET_BOX_QTY")
                        {
                            /*
                            List<string> fieldsBOXQTY = new List<string>();
                            fieldsBOXQTY.Add("Sum(PALLET_BOX_QTY) as PALLET_BOX_QTY");
                            string whereBOXQTY = "where PALLET_ID = '" + palletID + "' and Left(InternalID,10) = '" + internalID.Substring(0, 10) + "'";
                            DataTable BOXQTYTable = DBFactory.PopulateTempTable("[v_Shipment_PAKPalletTypeA]", whereBOXQTY, fieldsBOXQTY);
                            */

                            logger.Debug("LoadPalletADatabaseData [v_Shipment_PAKPalletTypeA] begin");
                            DataTable BOXQTYTable = EditsSqlProc.sum_PALLET_BOX_QTY__from__v_Shipment_PAKPalletTypeA__by__PALLET_ID__InternalID10(palletID, internalID.Substring(0, 10));
                            logger.Debug("LoadPalletADatabaseData [v_Shipment_PAKPalletTypeA] end");

                            ChkRowNotNull("PalletAShipmentXmlCreator id=" + id + ", v_Shipment_PAKPalletTypeA internalID=" + internalID.Substring(0, 10) + ", palletID=" + palletID, BOXQTYTable);
                            newRow[column] = BOXQTYTable.Rows[0]["PALLET_BOX_QTY"];
                            continue;
                        }
                        if (column.ColumnName == "PALLET_UNIT_QTY")
                        {
                            /*
                            List<string> fieldsUNITQTY = new List<string>();
                            fieldsUNITQTY.Add("Sum(PALLET_UNIT_QTY) as PALLET_UNIT_QTY");
                            string whereUNITQTY = "where PALLET_ID = '" + palletID + "' and Left(InternalID,10) = '" + internalID.Substring(0, 10) + "'";
                            DataTable UNITQTYTable = DBFactory.PopulateTempTable("[v_Shipment_PAKPalletTypeA]", whereUNITQTY, fieldsUNITQTY);
                            */

                            logger.Debug("LoadPalletADatabaseData [v_Shipment_PAKPalletTypeA] begin");
                            DataTable UNITQTYTable = EditsSqlProc.sum_PALLET_UNIT_QTY__from__v_Shipment_PAKPalletTypeA__by__PALLET_ID__InternalID10(palletID, internalID.Substring(0, 10));
                            logger.Debug("LoadPalletADatabaseData [v_Shipment_PAKPalletTypeA] end");

                            ChkRowNotNull("PalletAShipmentXmlCreator id=" + id + ", v_Shipment_PAKPalletTypeA internalID=" + internalID.Substring(0, 10) + ", palletID=" + palletID, UNITQTYTable);
                            newRow[column] = UNITQTYTable.Rows[0]["PALLET_UNIT_QTY"];
                            continue;
                        }
                        //if table contains name, then populate
                        newRow[column] = orderTable.Rows[0][column.ColumnName];
                    }

                }
                //newRow.SHIP_FROM_STREET_2 = "Caohejing EPZ";
                //newRow.SHIP_FROM_STREET_2 = "Shapingba district";
                newTable.Rows.Add(newRow);

                //get LABEL_INSTR_HEADER
                /*
                string whereLneItemClause_LABEL = "WHERE PO_NUM='" + orderTable.Rows[0]["PO_NUM"].ToString().Trim() + "' and FIELDS = 'LABEL_INSTR_HEAD'";
                DataTable lineItemTable_LABEL = DBFactory.PopulateTempTable("[PAKEDI_INSTR]", whereLneItemClause_LABEL, fields);
                */

                logger.Debug("LoadPalletADatabaseData [PAKEDI_INSTR] begin");
                DataTable lineItemTable_LABEL = EditsSqlProc.PAKEDI_INSTR__by__PO_NUM__FIELDS(orderTable.Rows[0]["PO_NUM"].ToString().Trim());
                logger.Debug("LoadPalletADatabaseData [PAKEDI_INSTR] end");

                foreach (DataRow readRow4 in lineItemTable_LABEL.Rows)
                {
                    LoadINSTRPairs(palletList.LABEL_INSTR_HEAD,
                        readRow4,
                        "VALUE",
                        "PALLET_Id_0",
                        newRow.PALLET_Id_0);
                }

                //get line item
                /*
                string whereLneItemClause = "WHERE SERIAL_NUM='" + palletID + "'";
                DataTable lineTable = DBFactory.PopulateTempTable("[PAKODMSESSION]", whereLneItemClause, fields);
                */

                logger.Debug("LoadPalletADatabaseData [PAKODMSESSION] begin");
                DataTable lineTable = EditsSqlProc.PAKODMSESSION__by__SERIAL_NUM(palletID);
                logger.Debug("LoadPalletADatabaseData [PAKODMSESSION] end");

                foreach (DataRow readRow2 in lineTable.Rows)
                {
                    LoadKeyValuePairs(palletList.UDF_HEADER,
                        readRow2,
                        "UDF_KEY_HEADER",
                        "UDF_VALUE_HEADER",
                        "PALLET_Id_0",
                        newRow.PALLET_Id_0);
                    LoadKeyValuePairs(palletList.UDF_DETAIL,
                        readRow2,
                        "UDF_KEY_DETAIL",
                        "UDF_VALUE_DETAIL",
                        "PALLET_Id_0",
                        newRow.PALLET_Id_0);
                }
                // DataSet ds = LoadTwoD(internalID);------------------------encoding---------------------
                /*
                string whereTwoD = "'" + internalID + "', '" + palletID + "'";
                DataTable TwoDTable = DBFactory.PopulateTempTable_BySp("[op_TwoDCode_Solution]", whereTwoD);
                */

                logger.Debug("LoadPalletADatabaseData [op_TwoDCode_Solution] begin");
                DataTable TwoDTable = EditsSqlProc.sp__op_TwoDCode_Solution(internalID, palletID);
                logger.Debug("LoadPalletADatabaseData [op_TwoDCode_Solution] end");

                ChkRowNotNull("PalletAShipmentXmlCreator id=" + id + ", op_TwoDCode_Solution internalID=" + internalID + ", palletID=" + palletID, TwoDTable);
                string EnCoding = TwoDTable.Rows[0]["EnCoding"].ToString(); // Y/N
                string EnCoder = TwoDTable.Rows[0]["EnCoder"].ToString(); //PDF417/MaxICode
                string StringIDValue = "";
                if (EnCoding == "Y")
                {
                    //encoder
                    if (EnCoder.Substring(0,6) == "PDF417")
                   {
                       //20130314
                        /*
                        //PDF417 generator
                        //StringIDValue = TransferCode.Encoder(TwoDTable.Rows[0]["StringIDValue"].ToString());
                        foreach (DataRow readRowtd in TwoDTable.Rows)
                        {
                            PALLETS.UDF_PALLETRow newRowtwod = palletList.UDF_PALLET.NewUDF_PALLETRow();
                            StringIDValue = TransferCode.Encoder(readRowtd["StringIDValue"].ToString().Trim());
                            newRowtwod.KEY = readRowtd["StringIDKey"].ToString().Trim();
                            newRowtwod.VALUE = StringIDValue.ToString().Trim();
                            newRowtwod.PALLET_Id_0 = index;
                            palletList.UDF_PALLET.Rows.Add(newRowtwod);
                        }
                        */
                    }
                    else //MaxICode
                  {
                        //MaxICode generator
                    }
                }
                else
                {

                    foreach (DataRow readRowtd in TwoDTable.Rows)
                    {
                        PALLETS.UDF_PALLETRow newRowtwod = palletList.UDF_PALLET.NewUDF_PALLETRow();
                        newRowtwod.KEY = readRowtd["StringIDKey"].ToString();
                        newRowtwod.VALUE = readRowtd["StringIDValue"].ToString();
                        newRowtwod.PALLET_Id_0 = index;
                        palletList.UDF_PALLET.Rows.Add(newRowtwod);
                    }

                }
                //----------------------- end -------------------------------------------------------------- 

                index++;
                


            }
            //populate mini tables
            //set this dataset to packinglist so we can outputXML
            this.m_DataSet = palletList;

            logger.Debug("LoadPalletADatabaseData end");
        }
Beispiel #2
0
        public void LoadPalletADatabaseData(string id)
        {
            string[] idSplit = id.Split(@"/".ToCharArray());
            string internalID = idSplit[0];
            string palletID = idSplit[1];

            //fill packID table
            PALLETS palletList = new PALLETS();

            string whereMainClause = "WHERE InternalID='" + internalID + "' AND PALLET_ID='" + palletID + "'";
            List<string> fields = new List<string>();
            fields.Add("*");
            DataTable palletTable = DBFactory.PopulateTempTable("[v_PAKPalletTypeALineItem]", whereMainClause, fields);

            PALLETS.PALLETDataTable newTable = palletList.PALLET;
            int index = 0;
            foreach (DataRow readRow in palletTable.Rows)
            {
                PALLETS.PALLETRow newRow = newTable.NewPALLETRow();
                newRow.PALLET_Id_0 = index;
                //index++;

                foreach (DataColumn column in newTable.Columns)
                {
                    if (palletTable.Columns.Contains(column.ColumnName))
                    {
                        //PACK_ID_UNIT_QTY_PER_PALLET
                        if (column.ColumnName == "PACK_ID_UNIT_QTY_PER_PALLET")
                        {
                            List<string> fieldsUNITPALLET = new List<string>();
                            fieldsUNITPALLET.Add("Sum(convert(int,PACK_ID_UNIT_QTY_PER_PALLET)) as PACK_ID_UNIT_QTY_PER_PALLET");
                            string whereUNITPALLET = "where PALLET_ID = '" + palletID + "' and Left(InternalID,10) = '" + internalID.Substring(0, 10) + "'";
                            DataTable BOXUNITPALLET = DBFactory.PopulateTempTable("[v_PAKPalletTypeALineItem]", whereUNITPALLET, fieldsUNITPALLET);
                            newRow[column] = BOXUNITPALLET.Rows[0]["PACK_ID_UNIT_QTY_PER_PALLET"];
                            continue;
                        }
                        //PACK_ID_BOX_QTY_PER_PALLET
                        if (column.ColumnName == "PACK_ID_BOX_QTY_PER_PALLET")
                        {
                            List<string> fieldsBOXPALLET = new List<string>();
                            fieldsBOXPALLET.Add("Sum(convert(int,PACK_ID_BOX_QTY_PER_PALLET)) as PACK_ID_BOX_QTY_PER_PALLET");
                            string whereBOXPALLET = "where PALLET_ID = '" + palletID + "' and Left(InternalID,10) = '" + internalID.Substring(0, 10) + "'";
                            DataTable BOXPERPALLET = DBFactory.PopulateTempTable("[v_PAKPalletTypeALineItem]", whereBOXPALLET, fieldsBOXPALLET);
                            newRow[column] = BOXPERPALLET.Rows[0]["PACK_ID_BOX_QTY_PER_PALLET"];
                            continue;
                        }
                        //if table contains name, then populate
                        newRow[column] = readRow[column.ColumnName];
                    }
                    else
                    {
                        if (column.DataType == typeof(string))
                            newRow[column] = string.Empty;
                        else if (column.DataType == typeof(Double))
                            newRow[column] = 0;
                        else if (column.DataType == typeof(DateTime))
                            newRow[column] = string.Empty;
                    }
                }
                //get the order item
                string whereOrderClause = "WHERE InternalID='" + internalID + "'";
                DataTable orderTable = DBFactory.PopulateTempTable("[v_PAKComn]", whereOrderClause, fields);
                foreach (DataColumn column in newTable.Columns)
                {
                    if (orderTable.Columns.Contains(column.ColumnName))
                    {
                        //HP_PN
                        if (column.ColumnName == "HP_PN")
                        {
                            List<string> fieldsPN = new List<string>();
                            fieldsPN.Add("distinct HP_PN");
                            string whereHP_PN = "where PALLET_ID = '" + palletID + "' and Left(InternalID,10) = '" + internalID.Substring(0, 10) + "'";
                            DataTable HP_PNTable = DBFactory.PopulateTempTable("[v_PAKPalletTypeA]", whereHP_PN, fieldsPN);
                            if (HP_PNTable.Rows.Count > 1)
                            {
                                newRow[column] = "MIXED";
                            }
                            else
                            {
                                newRow[column] = orderTable.Rows[0][column.ColumnName].ToString();//.Split('/')[1];
                            }
                            continue;
                        }
                        if (column.ColumnName == "PALLET_BOX_QTY")
                        {
                            List<string> fieldsBOXQTY = new List<string>();
                            fieldsBOXQTY.Add("Sum(PALLET_BOX_QTY) as PALLET_BOX_QTY");
                            string whereBOXQTY = "where PALLET_ID = '" + palletID + "' and Left(InternalID,10) = '" + internalID.Substring(0, 10) + "'";
                            DataTable BOXQTYTable = DBFactory.PopulateTempTable("[v_PAKPalletTypeA]", whereBOXQTY, fieldsBOXQTY);
                            newRow[column] = BOXQTYTable.Rows[0]["PALLET_BOX_QTY"];
                            continue;
                        }
                        if (column.ColumnName == "PALLET_UNIT_QTY")
                        {
                            List<string> fieldsUNITQTY = new List<string>();
                            fieldsUNITQTY.Add("Sum(PALLET_UNIT_QTY) as PALLET_UNIT_QTY");
                            string whereUNITQTY = "where PALLET_ID = '" + palletID + "' and Left(InternalID,10) = '" + internalID.Substring(0, 10) + "'";
                            DataTable UNITQTYTable = DBFactory.PopulateTempTable("[v_PAKPalletTypeA]", whereUNITQTY, fieldsUNITQTY);
                            newRow[column] = UNITQTYTable.Rows[0]["PALLET_UNIT_QTY"];
                            continue;
                        }
                        //if table contains name, then populate
                        newRow[column] = orderTable.Rows[0][column.ColumnName];
                    }

                }
                newTable.Rows.Add(newRow);

                //get LABEL_INSTR_HEADER
                string whereLneItemClause_LABEL = "WHERE PO_NUM='" + orderTable.Rows[0]["PO_NUM"].ToString().Trim() + "' and FIELDS = 'LABEL_INSTR_HEAD'";
                DataTable lineItemTable_LABEL = DBFactory.PopulateTempTable("[PAKEDI_INSTR]", whereLneItemClause_LABEL, fields);
                foreach (DataRow readRow4 in lineItemTable_LABEL.Rows)
                {
                    LoadINSTRPairs(palletList.LABEL_INSTR_HEAD,
                        readRow4,
                        "VALUE",
                        "PALLET_Id_0",
                        newRow.PALLET_Id_0);
                }

                //get line item
                string whereLneItemClause = "WHERE SERIAL_NUM='" + palletID + "'";

                DataTable lineTable = DBFactory.PopulateTempTable("[PAKODMSESSION]", whereLneItemClause, fields);
                foreach (DataRow readRow2 in lineTable.Rows)
                {
                    LoadKeyValuePairs(palletList.UDF_HEADER,
                        readRow2,
                        "UDF_KEY_HEADER",
                        "UDF_VALUE_HEADER",
                        "PALLET_Id_0",
                        newRow.PALLET_Id_0);
                    LoadKeyValuePairs(palletList.UDF_DETAIL,
                        readRow2,
                        "UDF_KEY_DETAIL",
                        "UDF_VALUE_DETAIL",
                        "PALLET_Id_0",
                        newRow.PALLET_Id_0);
                }

                // DataSet ds = LoadTwoD(internalID);
                // DataSet ds = LoadTwoD(internalID);------------------------encoding---------------------

                string whereTwoD = "'" + internalID + "', '" + palletID + "'";
                DataTable TwoDTable = DBFactory.PopulateTempTable_BySp("[op_TwoDCode_Solution]", whereTwoD);
                string EnCoding = TwoDTable.Rows[0]["EnCoding"].ToString(); // Y/N
                string EnCoder = TwoDTable.Rows[0]["EnCoder"].ToString(); //PDF417/MaxICode
                string StringIDValue = "";
                if (EnCoding == "Y")
                {
                    //encoder
                    if (EnCoder == "PDF417")
                    {
                        //PDF417 generator
                        //StringIDValue = TransferCode.Encoder(TwoDTable.Rows[0]["StringIDValue"].ToString());
                        foreach (DataRow readRowtd in TwoDTable.Rows)
                        {
                            PALLETS.UDF_PALLETRow newRowtwod = palletList.UDF_PALLET.NewUDF_PALLETRow();
                            StringIDValue = TransferCode.Encoder(readRowtd["StringIDValue"].ToString().Trim());
                            newRowtwod.KEY = readRowtd["StringIDKey"].ToString().Trim();
                            newRowtwod.VALUE = StringIDValue.ToString();
                            newRowtwod.PALLET_Id_0 = index;
                            palletList.UDF_PALLET.Rows.Add(newRowtwod);
                        }
                    }
                    else //MaxICode
                    {
                        //MaxICode generator
                    }
                }
                else
                {

                    foreach (DataRow readRowtd in TwoDTable.Rows)
                    {
                        PALLETS.UDF_PALLETRow newRowtwod = palletList.UDF_PALLET.NewUDF_PALLETRow();
                        newRowtwod.KEY = readRowtd["StringIDKey"].ToString();
                        newRowtwod.VALUE = readRowtd["StringIDValue"].ToString();
                        newRowtwod.PALLET_Id_0 = index;
                        palletList.UDF_PALLET.Rows.Add(newRowtwod);
                    }

                }
                //----------------------- end -------------------------------------------------------------- 
                index++;


            }
            //populate mini tables
            //set this dataset to packinglist so we can outputXML

            this.m_DataSet = palletList;

        }