Estimados, recurro a uds pues me acaba de llegar un requerimiento que me tiene de cabeza y no logro dar con la solución, resulta que necesito agregar un botón en la pantalla de listado de los workitem que han sido lanzados para a través de dicho botón desplegar el listado con todos los usuarios que participan de la estrateguia de liberación.
Hasta ahora ya tengo un programa que pasándole un pedido de compra me muestra un popup con todos los usuarios que participan de la estrateguia y todo bien, el problema es que quieren que ese programa se pueda invocar desde el workplace por medio de un botón o una columna del alv, etc.
Cualquier idea o sugerencia les estare muy agradecido.
Hola @SidV, exactamente la idea es que al marcar un documento de listado y presionar el botón ejecute una TRX z QUE me muestra el listado de los usuarios que participan en el flujo de aprobación del documento.
La verdad desconozco si en el Wplace se puede modificar el layout como he visto en otros estándar.
Tan necesario es que les proveas eso a los usuarios?
pregunta ¿por qué no sirve entrar (doble click) y ver quien participa? lo pregunto porque en teoría no sería “critico” o “necesario” que el usuario vea dicha información, ya que si esta en su business workplace es por que la liberación esta en sus manos y no depende de otro. Ahora si quiere ver quien más participó o participará en la liberación bastaría con ver el documento.
Hola @squall192, efectivamente es muy cierto lo que indicas el tema es que el requerimiento lo ha solicitado el presidente de la compañía que es un personaje que como a muchos de uds les debe ocurrir es por decirlo de una manera “especial”, el no va a entrar a ver cada documento para ver la información que le interesa, pero bueno si no es posible de hacer tendrá que entender no mas!! jajaj salu2
Decile que va a tener que pedir un Zeta de todo el Workplace, le va a salir mil horas de ABAP, más perder la licencia de SAP por modificar esa parte, que le traerá más costos que beneficios y vas a ver que por más que sea el PAPA recapacita
Ya, fuera de broma… si realmente lo quiere, yo no soy abaper para decir que no se puede.
Pero… veamos qué dicen otros expertos: @abapers
bueno si es así, hay que meterle cuchilla con abap puro.
Otra opción seria habilitar el método del objeto de negocio BUS2012 Pedido
PurchaseOrder.GetReleaseInfo Información detallada de liberación para pedido
mira el asunto es que la obtención de los aprobadores asociados al documento lo tengo resuelto, mi problema es como hago para ya sea crear un botón en el layout del ALV o poner una columna dinámica (como dices tu) pero que le pueda programar un link a mi programa Z que muestra el listado el viejujo quiere ver todos los usuarios que participan en la liberación estoy ahora mirando esta BADI WF_BWP_DYN_COLUMN que tiene que ver con las columnas dinámicas, mi idea es intentar crear la columna en tiempo de ejecución como imagen y linkeado con el numero de documento a mi programa Z.
No por ser pesimista… pero NO SE PUEDE y tu jefe es un fumado (de los cuales hay muchos) y que creyo que SAP se podia modificar como cualquier programa echo en C#, visualfoxpro, vb, pascal y sabra que sera el loco XD.
Como comento @SidV esto es Standar de SAP lo puedes intentar modificar pero obtendras esto:
Explico donde podrias modificar si tuvieras eso.
SE80 o Se41 menu painter.
Programa SAPLSINWP o SAPMSSO0.
Grupo de Funciones - SINWP
Carpeta Status GUI. y aqui mejor pongo pantalla
De nuevo… espero no estar infringiendo reglas de imágenes y demás cosas, ya que estoy en el trabajo y no puedo usar aplicaciones o hosteadores de imágenes espero se comprenda mi situación
Espero este te de un norte y que el boss, no sea quisquilloso.
Vas a su maquina (si su maquina personal o de trabajo).
1.- Necesitas activar el GUIXT.
Se despliega un menú y das clic en Activar GUIXT.
si hay que hacer esto para que funcione
2.- Crear la carpeta “C:\guixt\scripts”
2.- Dentro crearas un TXT llamado “saplsinwp.1000”.
3.- Insertaras el código siguiente
Donde:
A) @3B es un icono.
B) \Qquickinfo es la informacion rápida del icono, poner el mouse arriba
C) @WFlow es la descripción a un lado del icono
D) /oZtuz es la invocación a tu programa.
E) separador bien cutre.
F) “34” combinacion de teclas o “f8” se ejecutara con el F8
Ahora… para que esto surta efecto tenemos 2 inconvenientes
1.- De donde saco los parámetros para ejecutar el programa.
2.- Que necesitas tener el GUIXT activo, y esto seria únicamente para quien tenga configurado esto (mode god hahaha), este se puede poner en modo Hidden en el Menu Edit/Profile y todo eso que marco en rojo (lo que parece borrado eso si no claro).
@Neto los jefes son unos pesados cabrones jajajaja eso que ni que, había pensado en la opción de hacer una ampliación en el estándar y activar una copia del status donde incluir el jodido botoncito, voy a intentar ver que tal este camino
Un inconveniente que me e topado aquí al tratar de buscar una solución es que mi esta des-habilitado el uso de Scriptin ya depende de tu ambiente, del basis o no se!
Código del scripting, sacado de Internet queriendo ver como implementarlo…
Set aw = session.ActiveWindow
Dim GRID1
Set GRID1 = aw.FindById("usr/cntlGRID1/shellcont/shell")
Dim oFS
Set oFS = CreateObject("Scripting.FileSystemObject")
Dim oTS
Set oTS = oFS.CreateTextFile("C:\GuiXT\script100.txt")
sel = Split(GRID1.selectedRows, ",")
for each interval in sel
lim = Split(interval, "-")
if UBound(lim) = 0 then
oTS.writeLine(GRID1.getCellValue(interval,"AUFNR"))
else
for i = lim(0) to lim(1)
oTS.writeLine(GRID1.getCellValue(i,"AUFNR"))
next
end if
next
oTS.Close
El código para implementar lo en donde quieras.
Generar el nombre del file guiXT de sap, yo lo meti en saplse16n.0200para probar.
Y su codigo correspondiente ApplyGuiScript "object_services_1.vbs"
@Neto, muchísimas gracias por tu notable ayuda, en mi caso no manejo mucho GUITX aunque si recuerdo haberlo usado hace unos años para hacer las pantallas de sap mas reducidas en programas de radiofrecuencia.
He optado por la opción de un ENHANCEMENT, lo que hice fue crear un punto de ampliación dentro del evento doble click del ALV, he definido una columna dinámica dentro del listado de workitems y he metido el siguiente código para lograr ejecutar mi TRX pasándole el tipo y numero de documento del cual quiero visualizar su flujo de aprobadores :
ENHANCEMENT 2 ZZ_ALV_DOUBLE_CLICK. "active version
data: lt_rows type lvc_t_row,
lt_read TYPE STANDARD TABLE OF swlwp1,
wa_read like LINE OF LT_READ.
check e_row is not initial.
ms_row = e_row.
IF e_column = 'DYNCOL_C4'.
if e_row-index <> 0 AND gs_config-preview = on.
ms_row_changed = 'X'.
call method alv_control->get_selected_rows
importing et_index_rows = lt_rows.
if LT_ROWS is initial.
clear ms_row.
ELSE.
call function 'SIN_READ_INTERN_ALL_WF'
exporting
fcode = 'READ'
owner = SY-UNAME
folrg = 'I'
subclass = 'ALL
class_data = ''
preview = 'X' "X
structure_must_be_changed = '' " 1
tables
et_wi = lt_read.
delete lt_read WHERE wi_type = 'D' OR wi_stat = 'ERROR'.
READ TABLE lt_read INDEX e_row INTO wa_read.
IF sy-subrc = 0.
SET PARAMETER ID 'TD' FIELD wa_read-DYNCOL_C1.
SET PARAMETER ID 'EB' FIELD wa_read-DYNCOL_C2.
CALL TRANSACTION 'ZWF_FLUJO_APROBADOR' AND SKIP FIRST SCREEN.
ENDIF.
if ms_row_changed = 'X' AND gs_config-preview = on.
CALL METHOD start_preview
EXPORTING
e_row = ms_row
e_column = MS_COL.
endif.
endif.
endif.
CLEAR e_row.
ENDIF.
ENDENHANCEMENT.
y voala, logro el objetivo principal solo que ahora debo explicar al presi que no le puedo poner un botón pero puede hacerle doble click al documento que quiera visualizar.
Aunque no es exactamente lo que hice este mensaje me dio la inspiración para encontrar la solución, muchas gracias @Neto por el interés mostrado a mi consulta.
Creo que la respuesta la encontraste tu mismo.
Así que esa seria la que deberías marcar.
Y lo mas sincero es que tu auto respuesta ayudara a mas de 1 en implementar algo que de plano se vera forzado a generar un ENHANCEMENT, esa es la respuesta a algo asi
Como solucionar una implementacion de código (cambio/mejora) a un SAP Standar = ENHANCEMENT.
Pero lo que mas me inquieta es: quedo satisfecho el pesado del jefe
bueno aún estoy realizando cambios y mejoras pero ya a nivel del listado de aprobadores que no lo quiere como popup, que no aparezcan muchos botones, que se tienen que ver en SAP screen personas y asi suma y sigue ahahahahahah dios mio dame paciencia
Bueno les cuento que ya me he encontrado con nuevos problemas que he ido resolviendo y espero hoy terminar para enviarlo a la aprobación final. Luego comentare el desenlace de este entuerto
Voy a editar la solución entonces aunque me resulta medio egocéntrico, jajajaja es como darle like a mis publicaciones en Facebook!!