%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ page import="com.sap.mw.jco.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
%>
Rezultate SAP – ZEMID_CAUTARE_LC
Rezultate căutare – ZEMID_CAUTARE_LC
[debug info va apărea aici după selectare]
<%
String sap_client = "600";
String sap_user = "ZEMID";
String sap_passwd = "XeQSiY28d$JRfr";
String sap_lang = "RO";
String sap_ashost = "10.30.23.32";
String sap_sysnr = "00";
Map judetMap = new HashMap();
judetMap.put("ALBA", "1");
judetMap.put("ARAD", "2");
judetMap.put("ARGES", "3");
judetMap.put("BACAU", "4");
judetMap.put("BIHOR", "5");
judetMap.put("BISTRITA-NASAUD", "6");
judetMap.put("BOTOSANI", "7");
judetMap.put("BRASOV", "8");
judetMap.put("BRAILA", "9");
judetMap.put("BUZAU", "10");
judetMap.put("CARAS-SEVERIN", "11");
judetMap.put("CLUJ", "12");
judetMap.put("CONSTANTA", "13");
judetMap.put("COVASNA", "14");
judetMap.put("DAMBUVITA", "15");
judetMap.put("DOLJ", "16");
judetMap.put("GALATI", "17");
judetMap.put("GORJ", "18");
judetMap.put("HARGHITA", "19");
judetMap.put("HUNEDOARA", "20");
judetMap.put("IALOMITA", "21");
judetMap.put("IASI", "22");
judetMap.put("ILFOV", "23");
judetMap.put("MARAMURES", "24");
judetMap.put("MEHEDINTI", "25");
judetMap.put("MURES", "26");
judetMap.put("NEAMT", "27");
judetMap.put("OLT", "28");
judetMap.put("PRAHOVA", "29");
judetMap.put("SATU MARE", "30");
judetMap.put("SALA", "31");
judetMap.put("SIBIU", "32");
judetMap.put("SUCEAVA", "33");
judetMap.put("TELEORMAN", "34");
judetMap.put("TIMIS", "35");
judetMap.put("TULCEA", "36");
judetMap.put("VASLUI", "37");
judetMap.put("VALCEA", "38");
judetMap.put("VRANCEA", "39");
judetMap.put("BUCURESTI", "40");
Map judetNameMap = new HashMap();
for (Map.Entry entry : judetMap.entrySet()) {
judetNameMap.put(entry.getValue(), entry.getKey());
}
String Y_JUDET_RAW = (request.getParameter("judet") != null) ? request.getParameter("judet").trim().toUpperCase() : "";
String Y_JUDET = judetMap.containsKey(Y_JUDET_RAW) ? judetMap.get(Y_JUDET_RAW) : Y_JUDET_RAW;
String Y_LOCALITATE = (request.getParameter("loc") != null) ? request.getParameter("loc").trim().toUpperCase() : "";
String Y_STRADA = (request.getParameter("strada") != null) ? request.getParameter("strada").trim().toUpperCase() : "";
String Y_NRSTRADA = (request.getParameter("nr") != null) ? request.getParameter("nr").trim() : "";
String Y_BLOC = (request.getParameter("bloc") != null) ? request.getParameter("bloc").trim() : "";
String Y_SCARA = (request.getParameter("scara") != null) ? request.getParameter("scara").trim() : "";
String Y_APARTAMENT = (request.getParameter("ap") != null) ? request.getParameter("ap").trim() : "";
String Y_COD_LOCALITATE = (request.getParameter("codLoc2") != null) ? request.getParameter("codLoc2").trim() : "";
String Y_COD_STRADA = (request.getParameter("codStrada") != null) ? request.getParameter("codStrada").trim() : "";
String Y_TIP_STRADA = (request.getParameter("tipArtera") != null) ? request.getParameter("tipArtera").trim().toUpperCase() : "";
JCO.Client client = null;
try {
client = JCO.createClient(sap_client, sap_user, sap_passwd, sap_lang, sap_ashost, sap_sysnr);
client.connect();
JCO.Repository repo = new JCO.Repository("EMID_REPO", client);
IFunctionTemplate tmpl = repo.getFunctionTemplate("ZEMID_CAUTARE_LC");
if (tmpl == null) {
out.println("⚠ Funcția ZEMID_CAUTARE_LC nu există!
");
} else {
JCO.Function function = tmpl.getFunction();
JCO.ParameterList imports = function.getImportParameterList();
imports.setValue(Y_JUDET, "Y_JUDET");
imports.setValue(Y_LOCALITATE, "Y_LOCALITATE");
imports.setValue(Y_STRADA, "Y_STRADA");
imports.setValue(Y_NRSTRADA, "Y_NRSTRADA");
imports.setValue(Y_BLOC, "Y_BLOC");
imports.setValue(Y_SCARA, "Y_SCARA");
imports.setValue(Y_APARTAMENT, "Y_APARTAMENT");
imports.setValue(Y_COD_LOCALITATE, "Y_COD_LOCALITATE");
imports.setValue(Y_COD_STRADA, "Y_COD_STRADA");
imports.setValue(Y_TIP_STRADA, "Y_TIP_STRADA");
client.execute(function);
JCO.ParameterList exports = function.getExportParameterList();
JCO.Table result = exports.getTable("Y_RESULT");
if (result == null || result.getNumRows() == 0) {
out.println("⚠ SAP nu a returnat niciun rând.
");
} else {
out.println("");
out.println("");
out.println("Select ");
for (int f = 0; f < result.getMetaData().getFieldCount(); f++) {
String fieldName = result.getMetaData().getName(f);
if (!"PARTNER".equals(fieldName)) {
out.println("" + fieldName + " ");
}
}
out.println(" ");
for (int i = 0; i < result.getNumRows(); i++) {
result.setRow(i);
out.println("");
String nume1 = result.getString("NUME1");
String nume2 = result.getString("NUME2");
String pod = result.getString("POD");
String judetCode = result.getString("JUDET");
String judetName = judetNameMap.containsKey(judetCode) ? judetNameMap.get(judetCode) : judetCode;
String localitate = result.getString("LOCALITATE");
String comuna = result.getString("COMUNA");
String locConsum = result.getString("LOC_CONSUM");
String nlc = result.getString("NLC");
String bloc = result.getString("BLOC");
String scara = result.getString("SCARA");
String etaj = result.getString("ETAJ");
String ap = result.getString("APARTAMENT");
String stare = result.getString("STARE_INSTALATIE");
// 🆕 fallback pentru câmpul număr stradă
String nrStrada = "";
try {
if (result.getMetaData().hasField("NR")) nrStrada = result.getString("NR");
else if (result.getMetaData().hasField("NRSTRADA")) nrStrada = result.getString("NRSTRADA");
else if (result.getMetaData().hasField("NR_STRADA")) nrStrada = result.getString("NR_STRADA");
else if (result.getMetaData().hasField("HOUSE_NUM1")) nrStrada = result.getString("HOUSE_NUM1");
} catch (Exception e2) { nrStrada = ""; }
String numeClient = (nume1 != null ? nume1.trim() : "") +
(nume2 != null && !nume2.trim().isEmpty() ? " " + nume2.trim() : "");
out.println("Selectează ");
for (int f = 0; f < result.getMetaData().getFieldCount(); f++) {
String fieldName = result.getMetaData().getName(f);
if (!"PARTNER".equals(fieldName)) {
out.println("" + result.getString(f) + " ");
}
}
out.println(" ");
}
out.println("
");
}
}
} catch (Exception e) {
out.println("❌ Eroare Java: " + e.getMessage());
e.printStackTrace(new java.io.PrintWriter(out));
} finally {
if (client != null && client.isAlive()) client.disconnect();
}
%>