• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] UND Abfrage

bonfires

New member
Hallo Profis,
ich habe folgendes Script und erhalte bei der Ausführung
die Fehlermeldung das eine geschlossene Klammer fehlt, denke aber das Scrit ist OK
Code:
						case 'identifier_exists':
							if (sEAN == "ja") {
								if (rsExportData("EAN") == "" [COLOR="#FF0000"]AND[/COLOR] rsExportData("ManufactName") == ""){
									sTargetFieldValue = "FALSE";
								}else{
									sTargetFieldValue = "TRUE";
								};
							}else{
								sTargetFieldValue = "";
							};
							break;
Habe es auch schon mit && versucht, gleiche Fehlermeldung

Besten Dank im voraus
Gruss André
 
AND ist definitiv falsch. Das muss && sein.

Zeig' mal das komplette Script bzw. wenigstens das komplette switch.
 
Hallo Paul Schmitz,
in der Zeile wo das If steht.

Komplette Switch
Den Bereich um den es geht habe ich Rot markiert.
Code:
				switch(sSourceFieldName.toLowerCase()){

						case 'displayprice':
							if (sTargetFieldValue != "") sTargetFieldValue = formatNum(sTargetFieldValue);
							else sTargetFieldValue = formatNum(sTargetFieldValue);
							break;


						case 'outputfilefullpath':
								if (bComplex) sTargetFieldValue = '' + checkurl(sWebUrl) + rsExportData("OutputFileFullPath") + GetComplexVariants(rsExportData("PKID"));
								else sTargetFieldValue = '' + checkurl(sWebUrl) + rsExportData("OutputFileFullPath");
								weiterleitung = sTargetFieldValue;
							break;


						case 'thumbfullpath':
							rsTemp = Api.Mediamanager.GetMediaElement(rsExportData("ThumbMRef"));
							if (sTargetFieldValue != ""){
								if (rsExportData("HasVariants") == 1) {
									if (sTargetFieldValue.substring(0, 7) != "http://") sTargetFieldValue = sMediaUrl + rsTemp("Src");
								} else {
									if (sTargetFieldValue.substring(0, 7) != "http://") sTargetFieldValue = sWebUrl + sTargetFieldValue;
								};
							};
							break;


						case 'picturefullpath':
							rsTemp = Api.Mediamanager.GetMediaElement(rsExportData("PictureMRef"));
							if (sTargetFieldValue != ""){
								if (rsExportData("HasVariants") == 1) {
									if (sTargetFieldValue.substring(0, 7) != "http://") sTargetFieldValue = sMediaUrl + rsTemp("Src");
								} else {
									if (sTargetFieldValue.substring(0, 7) != "http://") sTargetFieldValue = sWebUrl + sTargetFieldValue;
								};
							};
							break;

						case 'zubild':
						if (arrAddImages[9] > ""){
								sTargetFieldValue = sMediaUrl+arrAddImages[0]+","+sMediaUrl+arrAddImages[1]+","+sMediaUrl+arrAddImages[2]+","+sMediaUrl+arrAddImages[3]+","+sMediaUrl+arrAddImages[4]+","+sMediaUrl+arrAddImages[5]+","+sMediaUrl+arrAddImages[6]+","+sMediaUrl+arrAddImages[7]+","+sMediaUrl+arrAddImages[8]+","+sMediaUrl+arrAddImages[9];
						} else if (arrAddImages[8] > ""){
								sTargetFieldValue = sMediaUrl+arrAddImages[0]+","+sMediaUrl+arrAddImages[1]+","+sMediaUrl+arrAddImages[2]+","+sMediaUrl+arrAddImages[3]+","+sMediaUrl+arrAddImages[4]+","+sMediaUrl+arrAddImages[5]+","+sMediaUrl+arrAddImages[6]+","+sMediaUrl+arrAddImages[7]+","+sMediaUrl+arrAddImages[8];
						} else if (arrAddImages[7] > ""){
								sTargetFieldValue = sMediaUrl+arrAddImages[0]+","+sMediaUrl+arrAddImages[1]+","+sMediaUrl+arrAddImages[2]+","+sMediaUrl+arrAddImages[3]+","+sMediaUrl+arrAddImages[4]+","+sMediaUrl+arrAddImages[5]+","+sMediaUrl+arrAddImages[6]+","+sMediaUrl+arrAddImages[7];
						} else if (arrAddImages[6] > ""){
								sTargetFieldValue = sMediaUrl+arrAddImages[0]+","+sMediaUrl+arrAddImages[1]+","+sMediaUrl+arrAddImages[2]+","+sMediaUrl+arrAddImages[3]+","+sMediaUrl+arrAddImages[4]+","+sMediaUrl+arrAddImages[5]+","+sMediaUrl+arrAddImages[6];
						} else if (arrAddImages[5] > ""){
								sTargetFieldValue = sMediaUrl+arrAddImages[0]+","+sMediaUrl+arrAddImages[1]+","+sMediaUrl+arrAddImages[2]+","+sMediaUrl+arrAddImages[3]+","+sMediaUrl+arrAddImages[4]+","+sMediaUrl+arrAddImages[5];
						} else if (arrAddImages[4] > ""){
								sTargetFieldValue = sMediaUrl+arrAddImages[0]+","+sMediaUrl+arrAddImages[1]+","+sMediaUrl+arrAddImages[2]+","+sMediaUrl+arrAddImages[3]+","+sMediaUrl+arrAddImages[4];
						} else if (arrAddImages[3] > ""){
								sTargetFieldValue = sMediaUrl+arrAddImages[0]+","+sMediaUrl+arrAddImages[1]+","+sMediaUrl+arrAddImages[2]+","+sMediaUrl+arrAddImages[3];
						} else if (arrAddImages[2] > ""){
								sTargetFieldValue = sMediaUrl+arrAddImages[0]+","+sMediaUrl+arrAddImages[1]+","+sMediaUrl+arrAddImages[2];
						} else if (arrAddImages[1] > ""){
								sTargetFieldValue = sMediaUrl + arrAddImages[0] + ","+ sMediaUrl + arrAddImages[1];
						} else if (arrAddImages[0] > ""){
								sTargetFieldValue = sMediaUrl + arrAddImages[0];

								};
							break;


						case 'description':
							 if (sUmlaut == 'ja') {
								switch(sDesc){
									case "short":
										if (sTargetFieldValue == "") sTargetFieldValue = sDescriptionText;
										else sTargetFieldValue = strTidy(sShort);
									break;
									case "long":
	                                	if (sLang != "") sTargetFieldValue = strTidy(sLang);
	                                 	else sTargetFieldValue = sDescriptionText;
	                                 break;
	                   			}
							} else if (sUmlaut == 'nein'){
							  switch(sDesc){
								case "short":
										if (sTargetFieldValue == "") sTargetFieldValue = transformSpecialChar(sDescriptionText);
										else sTargetFieldValue = transformSpecialChar(strTidy(sShort));
								break;
								case "long":
										if (sLang != "") sTargetFieldValue = transformSpecialChar(strTidy(sLang));
										else sTargetFieldValue = transformSpecialChar(sDescriptionText);
								break;
									}
							};
							break;


						case 'zustand':
							if (getZustand(rsExportData("PKID")) == ""){

							if (sCondition == "neu"){
																				sTargetFieldValue = "neu";
													}
							else if (sCondition == "gebraucht"){
																				sTargetFieldValue = "gebraucht";
													}
							else if (sCondition == "erneuert"){
																				sTargetFieldValue = "erneuert";
								};
							}else{
							sTargetFieldValue = getZustand(rsExportData("PKID"));
							};
							break;


						case 'verfuegbarkeit':
							sn = rsExportData("DeliveryTimePriority");
										
										if (sn == "1"){
											sTargetFieldValue = "Auf Lager";
										} else if (sn == "2"){
											sTargetFieldValue = "Vorbestellt";
										} else if (sn == "3"){
											sTargetFieldValue = "Nicht auf Lager";
										} else if (sn > "4"){
											sTargetFieldValue = "Nicht auf Lager";
										} else if (rsExportData("DeliveryTimeFKID") == "0"){
											sTargetFieldValue = "Auf Lager";
										}
							break;


						case 'versand':
							if (sVersandk == 'ja'){
								if (svsdymamisch == 'festpreis') {
									sTargetFieldValue = "@script:sLand@"+"::"+"@script:sPaket@"+":"+toStr(sPreis).replace(",",".");
								} else {
									var sVersand = formatNum((rsExportData("DisplayPrice") * 0.00) + toStr(sPreis).replace(",","."));
                                   		if (rsExportData("DisplayPrice") >= toStr(sABPreis).replace(",",".")) {
                                    		var sVersand = formatNum(0) };
											sTargetFieldValue = "@script:sLand@" + "::" + "@script:sPaket@" + ":" + sVersand;
								};

							} else if (sVersandk == 'nein'){
								sTargetFieldValue = "";
							};
							break;


						case 'weight':
							sTargetFieldValue = formatNum(sTargetFieldValue) + " " + "kg";
						break;


						case 'google_product_category':
								sTargetFieldValue = (getGoogleKat(rsExportData("PKID")) == '') ? "@script:sGoogleKat@" : getGoogleKat(rsExportData("PKID"));
							break;


						case 'online_only':
							if (sOnline == "eins"){
								sTargetFieldValue = "y";
							}
							else if (sOnline == "zwei"){
								sTargetFieldValue = "n";

							};
							break;


						case 'marke':
							if (getMarke(rsExportData("PKID")) == ""){
										sTargetFieldValue = (rsExportData("ManufacturerFKID") == "0") ? "@script:sHerstellerselbst@" : rsExportData("ManufactName");
							}else{
										sTargetFieldValue = getMarke(rsExportData("PKID"));
							}
							break;


                        case 'mpn':
								sTargetFieldValue = (getManufacturerProductID(rsExportData("PKID")) == '') ? rsExportData("ProductID") : getManufacturerProductID(rsExportData("PKID"));
  							break;

						case 'basecategorypath':
							sTargetFieldValue = strTidy(sBasecat);
							break;


						case 'adwords_grouping':
							sTargetFieldValue = getAdwordsGruppe(rsExportData("PKID"));
							break;


						case 'adwords_labels':
							sTargetFieldValue = getAdwordsLabels(rsExportData("PKID"));
							break;


						case 'adwords_redirect':
							if(getAdwordsweiter(rsExportData("PKID")) == ""){
								sTargetFieldValue = weiterleitung;
							}else{
								sTargetFieldValue = getAdwordsweiter(rsExportData("PKID"));
							};
							break;


						case 'item_group_id':
							sTargetFieldValue = getVariant(rsExportData("PKID"),1);
							snVariant = sTargetFieldValue;
							break;


						case 'material':
							snZubehoer = "erh"+a+"ltlich in";
							if (getVariant(rsExportData("PKID"),1) != ""){
								getZubehoer();
							};
						snZubehoer = "Erh"+a+"ltlich in";
							if (getVariant(rsExportData("PKID"),1) != ""){
								getZubehoer();
							};
							snZubehoer = "bitte w"+a+"hlen Sie";
							if (getVariant(rsExportData("PKID"),1) != ""){
								getZubehoer();
							};
							snZubehoer = "lieferbar in";
							if (getVariant(rsExportData("PKID"),1) != ""){
								getZubehoer();
							};
							snZubehoer = "wir liefern";
							if (getVariant(rsExportData("PKID"),1) != ""){
								getZubehoer();
							};
							snZubehoer = "bitte w"+a+"hlen Sie ";
							if (getVariant(rsExportData("PKID"),1) != ""){
								getZubehoer();
						};

							break;


						case 'muster':
							snZubehoer = "Muster";
							if (getVariant(rsExportData("PKID"),1) != ""){
								getZubehoer();
							};
							break;

						case 'farbe':
							snZubehoer = "Farbe";
							if (getVariant(rsExportData("PKID"),1) != ""){
								getZubehoer();
							};
							break;


						case 'groesse':
							snZubehoer = "Gr"+oe+ss+"e";
							if (getVariant(rsExportData("PKID"),1) != ""){
								getZubehoer();
							};
							break;


						case 'gender':
							if (getGeschlecht(rsExportData("PKID")) == ""){
							   sTargetFieldValue = "Unisex";
							}else{
								sTargetFieldValue = getGeschlecht(rsExportData("PKID"));
							};
							break;


						case 'age_group':
							if (getAltersgruppe(rsExportData("PKID")) == ""){
							   sTargetFieldValue = "Erwachsene";
							}else{
								sTargetFieldValue = getAltersgruppe(rsExportData("PKID"));
							};
							break;


						case 'name':
							snGeschlecht = " - f"+u+"r " + getGeschlecht(rsExportData("PKID")) + ",";
							if (getGeschlecht(rsExportData("PKID"))== ""){
									sDaten = " - " + Datengruppen;
							}else{
									sDaten = snGeschlecht + Datengruppen;
							};
							if (sUmlaut == 'ja') {
								if (sVariant == "ja") {
									if (getVariant(rsExportData("PKID"),1) != ""){
										sTargetFieldValue = strTidyGoogle(sName,66) + sDaten;
									}else{
										sTargetFieldValue = strTidyGoogle(sName,66);
									};
								}else{
										sTargetFieldValue = strTidyGoogle(sName,66);
								};
							} else {
								if (sVariant == "ja") {
									if (getVariant(rsExportData("PKID"),1) != ""){
										sTargetFieldValue = strTidyGoogle(transformSpecialChar(sName),66) + sDaten;
									}else{
										sTargetFieldValue = strTidyGoogle(transformSpecialChar(sName),66);
									};
								}else{
									sTargetFieldValue = strTidyGoogle(transformSpecialChar(sName),66);
								};
							};
							break;


[COLOR="#FF0000"]						case 'identifier_exists':
							if (sEAN == "ja") {
								if (rsExportData("EAN") == "" AND rsExportData("ManufactName") == ""){
									sTargetFieldValue = "FALSE";
								}else{
									sTargetFieldValue = "TRUE";
								};
							}else{
								sTargetFieldValue = "";
							};
							break;

[/COLOR]
						case 'unit_pricing_measure':
                            sTargetFieldValue = '';
                                if ( rsExportData("MUAmount")!=1||rsExportData("MUBase")!=1){
                                    if(toBool(rsExportData("DisplayBasePrice"))) {
										if (cComplex) sTargetFieldValue += formatNum(FindeVariantenMenge(rsValues.fields("pkid").value)) + ' ' + rsExportData("MeasureUnit") ;
										else sTargetFieldValue += formatNum(rsExportData("MUAmount")) + ' ' + rsExportData("MeasureUnit");
                                    }
                                }
							break;

						case 'unit_pricing_base_measure':
							sTargetFieldValue = '';
                                if ( rsExportData("MUAmount")!=1||rsExportData("MUBase")!=1){
                                    if(toBool(rsExportData("DisplayBasePrice"))) {
										if (cComplex) sTargetFieldValue += rsExportData("MUBase") + ' ' + rsExportData("MeasureUnit") ;
										else sTargetFieldValue += rsExportData("MUBase") + ' ' + rsExportData("MeasureUnit");
                                    }
                                }
							break;

						case 'testroutine':
							   sTargetFieldValue = rsExportData("PKID");
							break;


						};
Besten Dank im voraus
 
Zuletzt bearbeitet:
von dem code wird man ja ganz kirre, schaut aus wie ein Strickmuster. @mik, wo beliebt die Codehervorhebung. An mo kann es nicht liegen, der war in letzter zeit on.

Für solche immensen switch Anweisungen nehme ich meistens ein else if Statement. Einzeilige if else'es sind auch gruslig. Mal ein einzelnes if in einer ist ziele ok.

Code:
if (sSourceFieldName.toLowerCase() === "displayprice") {
        if (sTargetFieldValue != ""){
                 sTargetFieldValue = formatNum(sTargetFieldValue)
            }else{
                sTargetFieldValue = formatNum(sTargetFieldValue);
            }
    }else if (sSourceFieldName.toLowerCase() === "outputfilefullpath") {
        	if (bComplex) sTargetFieldValue = '' + checkurl(sWebUrl) + rsExportData("OutputFileFullPath") + GetComplexVariants(rsExportData("PKID"));
		else sTargetFieldValue = '' + checkurl(sWebUrl) + rsExportData("OutputFileFullPath");
	        weiterleitung = sTargetFieldValue;
    }else if(){
        //usw 
        
    }
    //....

Was steht in der Fehlerkonsole?
http://forum.jswelt.de/javascript-faq/48897-finde-fehlerkonsole.html

Ich weiß nicht ob das default unbedingt gebraucht wird aber kannst ja mal folgendes einbauen:
Code:
case 'testroutine':
	 sTargetFieldValue = rsExportData("PKID");
	break;
default : null;

Mir ist da noch was aufgefallen. Warum speicherst du ein Boolean als String?
sTargetFieldValue = "FALSE";
Das ist vom Speicherverbrauch her gesehen total uneloquent.
 
Zuletzt bearbeitet:
Ich sehe jetzt auch keinen Syntaxfehler. Welcher Browser beschwert sich denn?

PS: Der Code ist echt nicht leicht zu lesen und zu warten. Du solltest dringend an deinem Codestil arbeiten.
 
Zurück
Oben