PDA

Ver la Versión Completa : obtener superior e inferior a partir de una posición


ClaudioC
21/09/09, 01:09:45
Hola a todos!

Les hago una consulta: necesito crear 2 funciones en ABAP para lograr lo siguiente:

1) A partir de una posición obtener el superior
2) A partir de una posición obtener los inferiores

Esto seria por ej, elijo un desarrollador, y la funcion deberia devolverme el lider de proyecto (estoy dando un ejemplo inventado pero es para que se den una idea de lo que tengo que codificar)

Alguien sabria decirme cual es la logica que deberia hacer y que tablas debo relacionar para crear dicha funcion?

Muchas gracias!!

braschilester
21/09/09, 06:11:11
Ok,. pero tienes mas datos

1) A partir de una posición obtener el superior
2) A partir de una posición obtener los inferiores

que transacciones utilizas.- para realizar esto en forma manual.-

o algo mas.---

ClaudioC
21/09/09, 13:37:03
Ok,. pero tienes mas datos

1) A partir de una posición obtener el superior
2) A partir de una posición obtener los inferiores

que transacciones utilizas.- para realizar esto en forma manual.-

o algo mas.---

Hola braschilester, gracias por contestar.
Te cuento que desconozco que transacciones utilizan, de hecho me estan pidiendo la funcion para poder realizarlo (yo estoy en reemplazo de otra persona por 2 semanas por ello desconozco varias cosas).
Los unicos datos que pude obtener fueron que se debe consultar si o si a la HRP1001 y con esos datos deberia encontrar mis respuestas en la PA0001.
Algunos campos que veo aqui son VARYF, RSIGH (valor A), RELAT (valor 012), SCLAS.
Alguna idea?

maru_az
21/09/09, 15:21:00
Hola!

La tabla HRP1001 te muestra los distintos enlaces entre objetos. El objeto S es Posición. Según lo que dices, necesitas encontrar tanto al superior como a los subordinados (si es que existen).
Lo primero que tendrías que hacer es lo siguiente:

Con el número de legajo (por ej: 2032) de la persona buscar en la tabla PA0001 (te muestra el infotipo de asignación organizativa, que es donde figura a qué posición pertenece esa persona) el campo PLANS. Aquí tendrías identificada la posición (por ej: 50003333). Ahora, con ese número de posición tendrías que chequear en la tabla HRP1001 con qué otras posiciones (S) se relaciona, o sea, qué enlace tiene. Ej de enlace: B 002 Es superior directo. Esto significa que si la posición 50003333 tiene ese enlace con otra posición XXXXXX, va a ser el superior de esta última.

Pueden existir varios enlaces por lo que tendrías que averiguar bien con el usuario a cuál se refiere con “superior” e “inferior”

Podría ser cualquiera de estos:

A 002 Informa (L) a
B 002 Es superior directo
A 004 Depende disciplinar
B 004 es superior jerárqu
A 005 depende técnicament
B 005 es superior técnico

Una vez que sepas el enlace vas a poder identificar las posiciones que buscas.

Espero haberte podido ayudar.

Saludos,

jacmono
21/09/09, 15:53:52
La tabla es la HRP1001, para buscar supervisores de una posición usas lo siguiente:
Otype = 'S' <== Posicion
Objid = Numero de posición que estas revisando
Rsign = 'A'
Relat = '002' <== RSign + Relat = "Informa a"
Obvio con el rango de fechas deseado (begda, endda)

Todos los registros que obtengas son supervisores de la posición.

Para buscar los inferiores haces lo mismo, pero cambias Rsign = 'B'
(RSign + Relat = "Es supervisor de") y los registros que obtengas son los inferiores de la posición.