SAP MII - Transaction Hello World!!!

MII´rs esses dias estava navegando em um link que ensinava a escrever Hello World em diversas linguagens, veja abaixo:

http://helloworldsite.he.funpic.de/

Fiquei muito triste em não ver o tão famoso "Hello World!" escrito em SAP MII! Existem concursos na WEB para ver quem escreve o tão famoso Hello World! de maneira mais complicada e pensando nisto resolvi criar uma transaction complicando um pouco, segue imagem e fonte para download abaixo:


Para abaixar o arquivo segue link: http://www.danilosantos.eti.br/TrxHelloWorld.zip

Fica a dica para descontrair e o aprendizado de Transaction para aprimorar os conhecimentos técnicos, fiquem a vontade para contribuirem, caso alguém possua alguma versão mais complicada por favor enviem que eu irei postar.

Abraços e até a próxima!!!!

Trabalhando com a variável do tipo lista

No post de hoje vou mostrar como trabalhar com uma variável do tipo "list". Este e outros tipos de variáveis foram adicionados na versão 12.1 do SAP MII.

Primeiro criamos uma variável local chamada "Modulo" do tipo "list":


Em seguida vamos popular a variável com os seguintes elementos:

  • SAP CO
  • SAP FI
  • SAP MM
  • SAP PM
  • SAP PP
Sendo todos os elementos desta lista do tipo "string". É possível criar elementos de outros tipos, tais como, dateTime, float, integer, xml, entre outros. Também é permitido inserir elementos de tipos diferentes em uma mesma variável lista:

Portanto a nossa variável Modulo está com os seguintes elementos:


[0:SAP CO] [1:SAP MM] [2:SAP PM] [3:SAP PP]

Assim como a inclusão de novos tipos de variável, na versão SAP MII 12.1 foram agregadas mais funções ao Link Editor para trabalhar com esses tipos. Abaixo vamos listar as funções que tratam o tipo "list", o qual estamos usando:

append [ append(list, value1,...) ]

Acrescenta novos elementos ao fim da lista.
Ex.:
Comando: append(Local.Modulo,"SAP MII", "SAP BO")

Resultado: [0:SAP CO] [1:SAP MM] [2:SAP PM] [3:SAP PP] [4:SAP BO]

emptylist [ emptylist ]

Remove todos os elementos da lista.

find [ find(list, value) ]

Verifica se existe o elemento na lista. Retorna a posição em que o elemento se encontra.
Ex.:
Comando: find(Local.Modulo,"SAP PM")

Resultado: 2

first [ first(list) ]

Retorna o primeiro elemento da lista.
Ex.:
Comando: first(Local.Modulo)

Resultado: SAP CO

insert [ insert(list,location,value) ]

Insere um elemento na lista e na posição informada deslocando os demais posteriores.
Ex.:
Comando: insert(Local.Modulo, 3, "SAP QM")

Resultado: [0:SAP CO] [1:SAP MM] [2:SAP PM] [3:SAP QM] [4:SAP PP]

last [ last(list) ]

Retorna o último elemento da lista.
Ex.:
Comando: last(Local.Modulo)

Resultado: SAP PP

list [ list(value1, ...) ]

Cria uma lista com os elementos informados.

liststomap [ liststomap(namelist, valuelist) ]

Transforma uma lista em uma variável do tipo "map".

remove [ remove(collection, value) ]

Remove o elemento na posição informada.
Ex.:
Comando: remove(Local.Modulo, 1)

Resultado: [0:SAP CO] [1:SAP MM] [1:SAP PM] [2:SAP PP]

set [ set(list, index, value) ]

Altera o elemento da posição informada pelo novo valor.
Ex.:
Comando: set(Local.Modulo, 0, "SAP MII")

Resultado: [0:SAP MII] [1:SAP MM] [2:SAP PM] [3:SAP PP]

size [ size(collection) ]

Retorna o número de elementos da lista.
Ex.:
Comando: size(Local.Modulo)

Resultado: 4

sort [ sort(list) ]

Ordena (ASC) os elementos da lista.


Com estas funções você poderá trabalhar com suas variáveis do tipo "list".



DICA

É possível saber o valor de um determinado elemento da lista usando o seguinte comando:


List{index}


Ou seja, se quisermos saber o valor do segundo elemento da nossa variável do tipo lista "Modulo" bastaria informar o seguinte comando:



Local.Modulo{1}


Usamos o número 1 para buscar o segundo valor porque a lista sempre é iniciada pelo índice 0.

Origem da variável lista: http://download.oracle.com/javase/1.4.2/docs/api/java/util/List.html

Diferenças entre "list" e "map" é que na variável "list" é possivel ter registros duplicados enquanto na variável "map" não.