Ayuda SAP

Modificar worklist en el business workplace

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.

No entiendo, qué haría el botón? Llamar a un zeta?

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? :neutral_face:

hola,

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.

Saludos.

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 :wink:


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


Me hiciste acordar a este artículo:
http://www.consultoria-sap.com/2016/03/como-contradecir-jefe-sin-quedar-mal.html

1 me gusta

dale veamos que ocurre en una de esas algo se puede hacer!!!

salu2

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

el que te devuelve la estrategia de liberación.

con esta info + codigo abap traer el usuario sap de la tabla T16FW, vista V_T16FW con el grupo de liberación configurado para los pedidos.

esta info podrias ponerla como una columna más acá

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 :unamused: 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

Mas igual no se donde mas se pueda tratar de menear pero estoy seguro te saldrá la ventana de Clave Acceso, permiso solo de alto nivel SAP.

2 Me gusta

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 :disappointed:

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

//
// Start script
//
pushbutton (toolbar) "@3B\Qquickinfo@WFlow" "/oZtuz" -separator 

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

Lista de variables para combinaciones de teclas
Shift+F1 /13 Ctrlt+F1 /25 Shift+Ctrl+F1 /37
Shift+F2 /14 Ctrlt+F2 /26 Shift+Ctrl+F2 /38
Shift+F3 /15 Ctrlt+F3 /27 Shift+Ctrl+F3 /39
Shift+F4 /16 Ctrlt+F4 /28 Shift+Ctrl+F4 /40
Shift+F5 /17 Ctrlt+F5 /29 Shift+Ctrl+F5 /41
Shift+F6 /18 Ctrlt+F6 /30 Shift+Ctrl+F6 /42
Shift+F7 /19 Ctrlt+F7 /31 Shift+Ctrl+F7 /43
Shift+F8 /20 Ctrlt+F8 /32 Shift+Ctrl+F8 /44
Shift+F9 /21 Ctrlt+F9 /33 Shift+Ctrl+F9 /45
Shift+F10 /22 Ctrlt+F10 /34 Shift+Ctrl+F10 /46
Shift+F11 /23 Ctrlt+F11 /35 Shift+Ctrl+F11 /47
Shift+F12 /24 Ctrlt+F12 /36 Shift+Ctrl+F12 /48

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).

PD: le sigo mañana tengo que salir, pero si puedes ir buscando en el tema.
SALUDOS.

3 Me gusta

@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 :triumph: ya depende de tu ambiente, del basis o no se!

Que es eso, pues nada mas que:

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"

Se vería así

Lo amarillo es lo explicado.
Lo rojo es de donde quería extraer descifrar la lectura de la tabla… mas de ahí ya no puedo hacer por bloqueo del sistema :weary:

Corre ese código si tienes la misma ventana que yo, mejor ni le inviertas mas tiempo :sob:

Saludos.

Exactamente, el scripting puede ser deshabilitado por un admin basis para todos los usuarios de SAP. :slight_smile:

@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.

Espero sepa comprender y acepte la solución.

4 Me gusta

Excelente tema eh… digno de ir a parar a la #trucoteca :thumbsup: :clap: :clap: :clap: :clap:

PD: @Ricardo_Lira, recuerda marcar el mensaje que más te haya ayudado como solución, si es que esto está concluido :slight_smile:

1 me gusta

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.

2 Me gusta

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 :joy:

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 :weary: dios mio dame paciencia :joy:

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!!

Salu2

5 Me gusta