среда, 4 марта 2015 г.

How to search checked out record in SAP MDM via MDM JAVA API

You can search, find or retrieve checked out record with MDM JAVA API in SAP MDM using property "setCheckoutSearchType()" of "Search" object. Here code example:

Code example:
    Search search = new Search;
    search.setCheckoutSearchType(Search.CheckOutSearchType.STANDARD);
    RetrieveLimitedRecordsCommand cmd = new RetrieveLimitedRecordsCommand(
    cmd.setSearch(search);
    cmd.execute();

You set search type. It can be one of the three:

Search.CheckOutSearchType.STANDARD - you will find record which was checked out as new, and you will find record which existed in MDM and which has protected version and checked out version. You will find checked out version.

Search.CheckOutSearchType.ORIGINAL - you will find original record which is not checked out. If you are searching record which checked out as new, you will not find anything, but if you are searching record which existed in MDM and it checked out, and it has protected version and checked out version, you will find protected version - it is original record.

Search.CheckOutSearchType.ALL - if you are searching record which checked out as new, then you will find it. If you are searching record which existed in MDM and it checked out and it has two versions - protected(original) and checked out version (user can change it), you will find protected version (original).

вторник, 3 марта 2015 г.

MDM Record - Checkout Status

MDM Record can be in that checkout Statuses:

Record.CheckoutStatus.UNDEFINED: -1

Record.CheckoutStatus.NONE: 0 - record is not checked out

Record.CheckoutStatus.ORIGINAL: 1 - you found original record, that means record is checked out and you found protected version of record.

Record.CheckoutStatus.MEMBER: 2 - record is checked out and you joined to checkout and you found record which is checked out, not protected version.

Record.CheckoutStatus.OWNER: 3 - record is checked out and you owner of the chekced out version, and you found checked out version, not protected version.

Record.CheckoutStatus.NON_MEMBER: 4 - record is checked out and you did not join, and you found checked out version, not protected version.

суббота, 17 января 2015 г.

Работа с JScrollPane

Для инициализации необходимы скрипты:

<script type="text/javascript" src="jquery.jscrollpane.min.js"></script>
<script type="text/javascript" src="jquery.mousewheel.js"></script>

и стили:

<link href="jquery.jscrollpane.css" rel="stylesheet"/>

Вы создаете div, указываете ему класс, задаете данному классу или div ширину и высоту и потом вызываете:

$('.myTestClass').jScrollPane();

Скроллы появятся в указанном объекте. Данный плагин ни как не влияет на высоту и ширину объекта помещаемого в него, если хотите что бы div со скроллами стал больше или меньше, изменяете с помощью скриптов ширину и высоту и вызываете снова инициализацию плагина.

среда, 14 января 2015 г.

Вызов веб сервиса с десктопа

1. Из ws навигатора вытаскиваем xml для вызова

2. Формируем xml вида:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header />
<SOAP-ENV:Body>
<ns1:<"имя функции"> xmlns:ns1="нэймспэйс">
<сюда вставляем xml из ws navigator>
</ns1:start>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

3. Либо вставляем нужные параметры в файле xml, либо вписываем метки, что бы потом считать в строку данную xml и вставить данные вместо меток, либо зашиваем в код данныю xml и уже не нужно ее читать.

4. В коде получаем xml в виде строки как указано в пункте 3
5. Вставляем нужные параметры вместо меток, если нужно.
6. Формируем SOAP Message:

MessageFactory mf = MessageFactory.newInstance();
SOAPMessage msg = mf.createMessage();

SOAPPart soappart = msg.getSOAPPart();

//создаем сообщение из string переменной xml
StreamSource preppedMsg = new StreamSource(new ByteArrayInputStream(xml.getBytes()));
soappart.setContent(preppedMsg);

// Аутентификация сообщения.
MimeHeaders headers = msg.getMimeHeaders();
String upas = _user + ":" + _pass;
String auth = "Basic " + new String(javax.xml.bind.DatatypeConverter.printBase64Binary(upas.getBytes()));
headers.addHeader("Authorization", new String(auth.getBytes()));
msg.saveChanges();



пятница, 26 декабря 2014 г.

Использование параметров в веб-приложениях SAP / Parameters in Java SAP Apps


В приложениях EAR или Web Dynpro Java можно использовать файл параметров. Необходимо:
  • В вашем EAR или Web Dynpro Java приложении найти папку «META-INF» и в ней создать файл с имененм: «sap.application.global.properties».
  • Внутри файла написать параметры вида:
·         # SAP application properties


·         #? onlinemodifiable = true
·         #% type = STRING
·         User=

·         #? onlinemodifiable = true; secure = true
·         #% type = STRING
·         Password=

  • Данный настройки появляются в nwaJava System Properties – вкладка Applications – ищем свое приложение, выбираем его и видим наши property.
  • Для получения значений параметров из Java кода пишем следующее:
·         InitialContext context = new InitialContext();
·         Object lookup = context.lookup("ApplicationConfiguration");
·         Properties properties = ((ApplicationPropertiesAccess) lookup).getApplicationProperties();              

·         String url = properties.getProperty("User");

четверг, 27 ноября 2014 г.

Create Pop-up window in Web Dynpro Java

Create Pop-up window in Web Dynpro Java.

IWDWindowInfo winInfo =
(IWDWindowInfo) wdComponentAPI.getComponentInfo().findInWindows("Window");
IWDWindow window = wdComponentAPI.getWindowManager().createModalWindow(winInfo);
window.setTitle("Title");
window.show();

среда, 26 ноября 2014 г.

Error: The generator table >>TMP_SEQUENCE<< does not exist

Problem:
The generator table >>TMP_SEQUENCE<< does not exist.

Situation:
I have had this error on SAP Enterprise Portal 7.3 when I tried to create entity for table.

Solutin:
You should create table TMP_SEQUENCE with fields:
GEN_KEY (VARCHAR(128), primary key)
GEN_VALUE (BIGINT or INTEGER)

четверг, 30 октября 2014 г.

Url to SAP Portal Application Module

Hello.

If you have portal application "test.app", vendor "com.blog" and portal module with name "MyApp".

Your URL to portal module will be:
/irj/servlet/prt/portal/prtroot/com~blog~test~app.MyApp.

пятница, 8 августа 2014 г.

How to get Request object and Response object in Web Dynpro Java

You can get Request and Response object in Web Dynpro Java using this:

IWDProtocolAdapter adapter = WDProtocolAdapter.getProtocolAdapter();

HttpServletRequest request =
                                    (HttpServletRequest) adapter.getRequestObject().getProtocolRequest();

HttpServletResponse response =
                                    (HttpServletResponse) adapter.getResponseObject().getProtocolResponse();